Wednesday, January 28, 2009

Telco. in Israel and dirty tricks

I've been thinking about this post for quite some time, and it just keeps expanding in my mind, so it's time to write it down. Warning: this one is off-topic, and has nothing to do with technology, so some readers might want to stop reading now.

In the last year I was tricked by at least three media and telco. providers in Israel. In our little market, no one wants to be the "fra'yer", and it's a matter of principle. This is why I'm disposing my experience here, so some of you might avoid it. I know that using this blog would bring me more audience then I could reach otherwise.

This is still the largest phone company in Israel, and it used to be considered a monopoly until not many years ago. Seems like they have a habit of forcing users to upgrade their Internet connection speed, unwillingly, or the user would have to face a huge bureaucracy blockade. I know this trick was pulled on some friends as well, so it has to be systematic. Here's how it goes:
  1. Happy user gets a phone call from a Bezeq's sales representative, offering him to upgrade his Internet connection speed at price of 10 NIS. Cheap, right?
  2. User agrees, and as directed, calls to the ISP in order to upgrade the speed it provides. Such upgrades usually require 12-18 months commitments, otherwise, higher (unreasonable) price will be charged.
  3. User is doing a speed test and discovers the speed remains as it was before - no upgrade was done. 2 phone calls are required (first to ISP, second to Bezeq) just to discover that Bezeq hadn't upgrade the speed. Support guy (or girl) says (quote): "It's impossible we offered you such price, as we don't have such offering at the moment. I can upgrade your speed at X NIS, though" (X >> 10).
  4. Case a: user agrees, and now he has upgraded Internet connection at a price higher then he was willing to pay in the first place. -> Bezeq wins.
    Case b: user disagrees. The support guy interprets the "disagree" to "agree" and starts charging the user with the higher price, without any user conformation (such as 4 last digits of credit card, or ID number). This the user will discover only at the next month's bill. Canceling that will cost the user a lot of time and phone calls. -> Bezeq wins.
    Case c: user argues with support guy, and gets a new price, Y NIS(Y < X, Y >> 10). -> Bezeq wins.
In my own private case, I managed to confront the Bezeq dude with the ISP dude, which convinced my nice ISP that Bezeq was pulling dirty tricks on me, and my ISP price remained as the old one. No extra charge. Nice. Also, I left Bezeq. Bezeq lose.
If you get such upgrade call from Bezeq, beware. It's gonna cost you alot more then you think.
Also, this proves another lesson: always record support phone calls. This might prove useful.

Last year I moved to Orange as part of a consolidation of my cell phones providers (had too many). With my private bill I am very satisfied, and all is OK. But with my parents' bill (which moved to Orange along with me), I'm very upset.

When signing with Orange, we asked them to block all paid content (3G Internet, international calls, etc.), since my parents don't want those, and never intend to use those. Just for the record, my parents barely know how to dial a number, and doesn't even know how to send SMS.
On the first bill they got, we had our first surprise - 2 SMS were sent to Denmark. The support guy (or girl...) insisted these SMS were indeed sent, and only after quite a while they convinced there's no way my parents would send such messages, and gave the money back.

One month later, a new bill came, this time we found out my parents were watching 20 minutes of streaming TV in their cell phones (these costs more than a few NIS). Again a call to support, which insisted the media was indeed watched. It took me over 30 minutes of arguing and insisting some technician who has access to antenna logs, would check those - just to prove my point: the antenna which allegedly sent the streaming media, never hosted my parent's phones.

Few months ago, another extra charge - this time, some ringtones were downloaded.
If you read carefully, you would know that such services were completely blocked in the service agreement. Again, 20 minutes phone call, and the charge is cancelled.

The most annoying thing in Israel is the fact that "the competition is no better". The Hot incident is not as complicated as those above, but yet very annoying.

I admit it, I download TV serieses which doesn't show in Israel, or shows in a long delay (what's the point in the delay, when all of the Internet is filled with spoilers, right?). When I heard Hot will broadcast the new Lost season in a 3 day delay I said to myself (and to some of my friends) I will pay for the cable company, and watch it on TV, instead of downloading it.
The Hot web site mentioned that if I missed the chapter, I will be able to watch it on VOD. Since I'm paying 10 NIS for the VOD service, I was happy with the thought I'll be able to watch it whenever I want, right on my TV.

Wrong. I started watching the first chapter 30 minutes late, so I used the cool Start-Over trick they provide. Half-way through the chapter, I got a message saying "Too many people are trying to watch the chapter, please try again later.". Later? I cannot Start-Over a chapter which already ended? What kind of service is that?

So I opted for the VOD option later that night, and to my surprise I found out that I will have to pay 5 NIS for each chapter. WTF? Why didn't you say that in the first place? Did you drop my Start-Over session just so you could extra-charge me for the VOD? Grrr...
Good thing they provide fast Internet (if you know what I mean)...

Monday, January 26, 2009

The illusion of being protected

Yesterday I published another blog post at my work place.
This incident is quite problematic, as it represents our inability to really trust 3rd party sources. Usually, when browsing the web using Firefox, one could think "hey, this one is Open Source, so I'm safe while browsing the Internet", but this is not the case. The fact some of Firefox security relies on some other service, which we have no control over, makes it partially-closed. This is why such engines cannot be trusted as the only line of defense.

Sunday, January 18, 2009

Commercial fail

Recently some of my friends discovered the FAIL Blog. Ever since, I'm waiting to see the items they'll share via Google Reader, as most of the times those things are so funny that I have to laugh out loud.
Today I saw this "commercial fail" for Microsoft Songsmith. Such a long promo, so much effort in finding this little girl and the father, writing them some lyrics, and one couldn't find a PC laptop which looks good enough to be in a commercial? You gotta be joking.
I guess the next commercial will feature a Windows application running under Wine or something...

Wednesday, January 14, 2009

Deploying to Production

I was reading today this interesting post about what happened when someone realized he forgot to put production code on a production machine. As you could have guessed, a small scale catastrophe happened as the service went down.
You all know this situation: you're developing or installing something, testing it, giving its URL (or other method of access) to other developers, and all of a sudden - it's production.
Normally, this is the time the product would be installed on a production-worthy server, with DRP procedures and the rest of the things that are must-have for production. But from time to time such things are missed. I know this, because I was in this situation before, and because I'm in this situation right now. I'm maintaining production code on my workstation, and I cannot turn it off for a few days because of that. Moreover, in order to avoid the need of changing the scheduled task's password (when my password expires) which is involved with this code, I used this scheduling trick. At least I have everything under source control, so when a disaster happens, I'm only half-screwed.
So it might be a good thing that such things happen, as long as they happen to someone else, to it reminds us to put our production stuff on production.

Tuesday, January 13, 2009

How many options is enough?

Ways to see a divx movie on your TV:
  • run cables from the computer to the TV.
  • buy a divx-capable dvd player, and burn the movie.
  • ... or buy one with a USB slot.
  • use a laptop connected to the TV.
  • buy/build HTPC.
  • buy a steamer.
  • use a gaming console (playstation, xbox, etc.).
  • buy a TV which is capable of playing divx movies which are loaded on SD cards or some USB device.
  • buy a divx-capable protable dvd player.
  • IPod?
  • use multimedia-enable mobile phone, such as Nokia's N95.
  • convert to movie to another format and play with appropriate device (e.g old-fashioned dvd player).
I guess I might have forgotten some options, but you got the point.
Maybe next time: how to play your MP3 files everywhere.

Saturday, January 10, 2009

Source control ang bug tracking

Ever since I was shown my first source control and bug tracking systems (ClearCase and ClearQuest they were), I grew really fond of their ideas. Since then I got to use many of the other tools, such as CVS, Subversion, Bazaar and Source(-not-)Safe in the source-code side, and LaunchPad and Bugzilla in the bug-tracking side.

I was planning for some time now to write my thought about those tools, and perhaps provide some recommendations which are based on my personal experience.
In the meanwhile, as I was doing some research about the topic, I found a really nice book about SCM, which I want to quote:

Our universities often don't teach people how to do source control. We graduate with Computer Science degrees. We know more than we'll ever need to know about discrete math, artificial intelligence and the design of virtual memory systems. But many of us enter the workforce with no knowledge of how to use any of the basic tools of software development, including bug-tracking, unit testing, code coverage, source control, or even IDEs.

Our employers don't teach people how to do source control. In fact, many employers provide their developers with no training at all.

SCM tool vendors don't teach people how to do source control. We provide documentation on our products, but the help and the manuals usually amount to simple explanations of the program's menus and dialogs. We sort of assume that our customers come to us with a basic background.

I think this says it all about the lack of human knowledge about source-control and the importance of it. I recall how once a graduate of a popular programming course told me that the experience given in that course, when it comes to source-control, is worth much more than the knowledge provided in the entire CS degree.

And for those who think that bug-tracking systems are meant for bugs only - here's a correction: I was using such systems even when I was an Oracle Applications DBA, in order to manage the workflow required to get a patch installed, tested and moved-to-production.

Possibilities are endless, and the long term benefits of having such systems in place are priceless.

Not managing your code (sources, scripts, documentation, configuration) and bugs yet? Go and start doing so now.

Friday, January 9, 2009

Beta (RC1) testing

This time I'm not going to talk about beta testing of Windows 7, as I wasn't much impressed by it. Anyway, starting from tomorrow, with the release of the public beta, the web is going to be flooded with beta-testers notes. Instead, I decided to get back to the one desktop environment I test every time a new major release arrives: KDE.

When KDE 4.0 came out, I gave it a try, but I didn't like it, so I removed it altogether. Now, with KDE 4.2 coming up, and me developing a taste in UI, I thought I should go for another round.

Thanks to this and this, I got the ultimate test environment - a chroot-ed KDE, which even supports the desktop special effects. No virtualization and without messing the host.

So what do I think so far? Overall, the OS looks great, and is very functional. The effects are smooth and nice, Hebrew works perfectly, and applications seems ready for the public. Didn't find anything yet to report a bug on, but that might take some time.
Two disappointing things:
  1. Couldn't make Kopete connect to Google Talk.
  2. Konqueror.
Actually, the second is so problematic, I had to write this post using Firefox.

Bottom line, the kde4daily over chroot is highly recommended for all of you out there who aren't afraid of technology. While KDE 4.2 is not ready as a complete desktop environment, I think that with the right additions (OpenOffice, Firefox) it would be good enough to set the higher standards for all of the rest of the desktops (regardless the OS).

Tuesday, January 6, 2009

Information Explosion OR RSS Hell

Last week I was blogging about the importance of producing information. I urge everyone I know to blog about their thoughts, findings, ideas or just nonsense. But like every other coin, this too has two sides.

This morning I got sick and tired from the RSS reader I used at work - Outlook 2007. Quite frankly, this is the worst RSS reader I've ever used. The straw that broke the camel's back was when Outlook stopped syncing feeds, and lost my stuff. So I moved to another RSS reader, and used my exported OPML file in order to keep my entire reading list. After the import completed successfully I realized I have too much stuff to read; my reading list is composed from way over 50 blogs, most of which are important to read. So sorting them and reading them consumes a considerable amount of time (before I even start with mailing lists...).

When I come home, I have a different reading list, which in turn is composed from about 50 blogs or so. It has been quite a while since I last added a blog to that list, as I don't think I can spare the time to read more. I prefer to stay productive and do other stuff.

As a result, I read blogs like I used to read newspapers when I read them: browse swiftly through the headlines, and read deeply only stuff that other people recommend (like when people share posts in Google Reader). There's a small (2-5) list of blogs which I read no matter what.

If anyone has a better idea to keep consuming huge amounts of information and stay productive, I'll be happy to hear.

Saturday, January 3, 2009

Bug opening dilemma

Not long ago I had a discussion with Leon regarding bug reporting to Oracle. Leon had solved some nasty bug that Oracle had (and still has, as far as I know) in one of its products, all by himself.
I suggested he should report to Oracle about the bug and about the fix, not only because it's a nice thing to do, but also because having a patch with your name on it has some value of honor.

Personally, when I stumble upon bugs in the open-source products I use, I report a bug (if possible). If it's something I have knowledge in or interest in, I'll even try to fix the bug.

As I already wrote, I decided to install Windows 7 and see what the future holds. This raises two dilemmas for me:
  • Should I report MS about the bugs I find (such as IE 8 beta crashing when browsing to Google Analytics)? There is really nothing for me in it. I really don't care if some of these products gets fixed or not, I'll probably won't get any gratitude, nor paid (hey, they're making money from this, so why don't I get my share?).
  • Should I open bug/feature-request to my favorite desktop environments to mimic features I like in Windows 7 (like the ability to reorganize tasks in the taskbar)? I think innovation is much more important than copying from the competition, and since I hate GUI programming, I know I won't be the one imlpementing those features, so it's just creating work for other people.

What do you think?

Friday, January 2, 2009

Another day another OS

I just love messing around with different OSes and distributions. After settling down with my Linux distribution, I found some time, and the desire, to test something different - Windows 7.

The latest version of Windows beta is very much blogged about these days, so I'll try not to give "yet another review". Instead, my insights and though would be given.

Until 2001, I've been installing MS's OSes while they were in beta stages. This includes XP. About the same time I discovered Slackware, and ever since I found something much more exciting to play with. But the passion remains, and in the last few years I've been installing on VMs other OSes such as OS X 10.4 and 10.5 (which gave me very hard time on the VM) and Vista.

Installing Windows 7 on VirtualBox, my favorite virtualization product, is quite easy actually. Configure it for Windows Vista, don't forget to turn on ACPI, and you're good to go. After the installation, install the guest additions. Guess you'll get some error messages here, so set the guest additions executable to work in Vista compatibility mode, and all should be fine.
I still hadn't managed to get the sound to work, though I don't understand why. Hope to overcome that soon.
UPDATE: installing AC97 audio drivers (such as RealTek's) solves this issue as well - sound is working!

One of the things one will notice is the extremely reduced memory consumption of the OS. While writing this post I have few Firefox windows with few tabs each, and some other applications, and about 400MB of memory is in use. Quite similar to XP SP3. I suspect turning on all of the effects would consume some RAM as well, but over all the reduced resources consumption results in a very responsive UI.
Since Windows 7 is basically a better Vista, the only thing that comes in mind is that this is the first time I see a product in the scale of an OS which starts as a bloatware (and slowware) and upgrades to something more reasonable.

Since there isn't much to say about the underlying OS (don't know which features will be included in the final version, and Vista's experience teaches it's good not to make any promises), the only thing that can be judged is the UI.
It is very clearly shown that MS's engineers have been using OS X and Linux (both gnome and KDE) for quite a while. The new taskbar really does look like a merge between AWN, OS X dock and the previous Windows taskbar. No more annoying huge buttons with text labels. No more overly crowded quick launch area. Instead, nice icons which represents both "launchable" applications and running applications. If it works for the other guys for quite some years, it could work for MS as well.
Some new features added to the taskbar are Aero Peek and Color Hovering. One of the features allows the user to preview the tabs of open windows in the taskbar thumbnails previews. This sounds very promising, but turned out to be a bit of disappointment, as the tabs of the Firefox windows I'm using right now aren't previewed. Only MS's products does that in the mean while.

Last, but not least, some applications such as paint and wordpad, got a face lift, and now carry the Office 2007 interface. As this is really a matter of taste, I cannot really judge whether it was a good idea or not. e.g, people are using OpenOffice just to have the old Office interface back.

Bottom line: I think MS looked at the competition and got back to the right track. Don't know what Apple has in its sleeve, but I truly hope KDE 4.2 or 4.3 would set higher standards again, so all of us would benefit from a better desktop.

Producing information

In our industry, the leaders are those who produce most of the information, while the followers are struggling to keep up when consuming that same information.
Not long ago, my team leader mentioned to me how important this is for us to stay ahead on the producers side, and not to fall back to the "consumers" status. In my previous team I did the same myself, as I (almost-) forced teammates to generate masses of information in many forms: documents, wiki notes, blog posts, frontal lectures, presentations and the likes. This is what keeps us as leaders.
I came to think about it this week, as I realized I've been posting a blog post virtually in each day of the week. I wish I had more time so I could write longer posts, but blitz-posts are better than nothing. Also, using information created by other people in order to create more information, is better than not creating information at all.

As I wrote in this year's blog day, one of my favorite blogs in my reading list is StackOverflow. This week's post reminded me of two topics I wanted to write about:
  • Joel writes about how important this is to test your RAID failover scenarios before going on-line. I'm really all into it. This is one of the most important things you can do before going production. Moreover, the thing they didn't talk about, is how often do you put your DRP to test? Do you exercise disasters at all?
    This is more important than most people can imagine, and still few are the people who really care about this or can handle real time catastrophe. Recent disasters in banks, voting systems and sites which were taken down (due to the war situation in Israel) only proves that even the largest organizations aren't prepared, or have only a semi-complete DRP. Go now, and write one. If Jeff and Joel can do this in their spare time, so could everybody else.
  • Jeff and Joel say about themselves they are broad generalists. Only after reading their definition for it, I realize that I'm such as well.
    Lately I hear many people worried about their future in our industry. Some think they'll become obsolete, so think it'll be impossible to find a good job in a good workplace. What's common to all of them is the fact they don't realize they are (or could be) generalists as well. If you love software, and think you're meant to do it for the rest of your life - finding a job would be (relatively) easy for you, regardless any crisis. But if you don't like what you're doing, or every day you wish this day to end so you could go home - go find another field, you really won't survive for an entire career.
    FYI, software companies are still looking for people. Especially those who master many fields - DBs, OOP, Security, etc. I know this because some HR recruiters still ask me if I have friends for specific roles. So if you're talented, and fear about your future in the industry - don't.
Only rarely I get to write long posts. Guess the fact today is Friday helps.
Good weekend you all.

When professional meets personal

Another blog post for my work place. What really bothered my this time was the fact that a site I might actually visit, was infected. It felt like the attack became personal to me.

Unfortunately, the malicious code was online for far too long, and possibly many users were infected.

Thursday, January 1, 2009

Organize your notes

In the software industry (don't know about the others), people generate quite a lot of information. Following are the places this information can usually be found:
  • In a notebook.
  • On a whiteboard.
  • Sticky-Notes (PostIt)
  • Text files and other documents.
  • Wikis.
  • Blogs.
  • E-mail.
  • guess the list could go on...
Each of the methods has it's own advantages and disadvantages:
  • Ability to search.
  • Long-Term archiving.
  • Ease of use.
  • Backups.
  • Accessibility.
  • Ability to share.
  • Organization vs. Chaos.
  • Privacy.
  • again, the list could go on...
I guess most of you use at least a notebook, and probably a whiteboard as well. Both instruments are hard-copies, non-digital, thus, for the digital needs another tool is required.

Until not long ago, my preferred tool was MS's OneNote. It is capable for quite about everything, and I was very happy with it. But my needs has changed. Now I need something which doesn't cost money, able to work on many platforms, works via a web interface and then some.

Today I found out TiddlyWiki. Although I have very little experience with it, I can tell I'm going to love it. Basically, this is a private wiki, which runs locally from a browser. No server required, no further installations required. It is fast, and manages information in a non-linear manner (stuff can be interlinked). Notebook solutions (such as Google Notebook) are considered linear when compared to TiddlyWiki.

Their concept is great - a single HTML file that does everything. Easy to backup, easy to edit, easy. Can't wait to see how will it face the time-trial.