Skaag’s Blogodump

You live once, Live well!

Alliance of Civilizations

December13

I have been following the release of a document by the UN Secretary General last year (Press release here) which initiates an effort to bring more balance to our planet. This initiative is called “Alliance of civilizations” or UNAOC.
I am a romantic, and such efforts do appeal to my inner child, who has an idealistic image of how a planet should be run and how civilizations should co-exist. This is in part why as a child I loved the TV series “Star Trek”. When I was 7 years old, my dream was to be a Swiss citizen. We all want peace, freedom and prosperity. Or so I believed for a while.

If we go back to the document in question (You can download it here) we see a certain view of the Secretary General, which tells us that there is a problem, the nature of the problem, and that something can be done to fix it. It also proposes ways to fix the imbalance.

However one thing bothers me: This document and the entire initiative seem like a futile effort, which does not have roots in the real world. It is an idealistic approach, which will not hold water in the real world. I almost feel like these guys have been so detached from the public, that they have lost touch with reality. I am talking about the leaders who proposed the initiative.

The initiative presents the problem as being primarily between Muslims and the Western world (America vs. Arabs, etc). It offers regulations, and centralization of power into one global body — the U.N. who will authorize and regulate education and socio-political propaganda in various countries that are members of the initiative.

They seem to forget one thing: The arab countries will not agree to regulations. An arab school who teaches kids to hate will not suddenly cease to exist. How does the UN plan to reach such arabs?

How does the UN plan to stop a culture that humiliates women, spits on them and treats them like cattle, dresses them in Burkas and beats them to death if they even dare to look at another man? And let’s not forget that for those arabs, that is considered normal life, and the women do not always know better. Most of them do not know what Toilet Paper is and how to use it! (That is NOT the joke).
How does the UN plan to stop a culture that is programmed to assimilate the rest of the world into one religion?

The Alliance of Civilizations may work if we had civilizations, but there is nothing civil about most Arabs. There is Barbarism. And last I checked, these two are not the same.

I grew up in an Arab country, among Arabs. I have learned to love them, and respect them, but even the smarter Arabs who are my friends will agree with me that it is impossible to control the simpler classes. The higher class of Arabs are cultured, civil, and great great people, but they are detached from the commoners. And that’s because the commoners live such miserable lives that the moment you take one such family and pull it out of its misery, they are already detached from their previous state, and can never go back! It’s like once you have tasted heaven, you know what hell is (or was). Let’s face it, the majority of the Arab population are living in Hell!

So how do we fix this?

posted under Uncategorized | No Comments »

MacOS X and the latest Airport Update

October19

In a nutshell: Apple’s latest Airport update limits the MacBook’s ability to scan for wireless networks who’s base channel is higher than 11. The fix: Change your wireless router’s base channel to 11 or lower.

The Long Story:

I have recently stumbled upon a horrible problem – my iBook G4 could no longer see our wireless access point!

By instinct I blamed the hardware (Cisco have their occasional weirdness factor) but then remembered that it used to work, and that nothing has changed with our hardware.

The problem was difficult to trace because of the following:

  1. My iBook could see other networks just fine! It did not list mine among the available networks, even though mine is the closest.
  2. I could enter it manually, and attempt to connect, but instead of telling me the network does not exist, the iBook said there was an error connecting.
  3. It was not clear at first if the other networks were WAP / WEP, or standard open networks. I assumed at first that the problem was related to WPA2, which is what the latest Airport update intends to fix. But then, I tried it at home on my WPA network and it connected just fine!
  4. I used MacStumbler at first, which does not give you enough information about the networks it lists. It indicated that some of the networks are WEP, but it seemed like MacStumbler never heard about WPA or WPA2!

The tool that helped me get the job done, eventually, was KisMac. It really is an amazing tool, and it seems like it really knows how to deal with the Airport on a low level. KisMac immediately found my network, and I was then able to analyze why my iBook can not list it or connect to it. A few minutes of poking around, and I found a possible discrepancy. My Cisco hotspot’s base channel was 13. I remembered that some older wireless hardware could not go above channel 11, but my iBook did connect to this hotspot before. Nevertheless I call my ISP (who control our network equipment) and ask them to change the base channel to 7.

So they make the change, call me to notify me it was done, I tell my iBook to connect, and IT WORKS!

The conclusion is that the latest Airport update breaks the ability to connect to channels above 13, so beware!

posted under Uncategorized | No Comments »

BBS List from 1992

September11

Thanks to GeekCon 2006 I discovered this old list of BBS’s in Israel from 1992. My BBS is listed there, and it got me thinking about how old I really am. It really puts things in perspective. To think that 14 years ago I ran a BBS, against all odds. Makes me kinda proud.

posted under Uncategorized | 2 Comments »

Migration to Ubuntu

July30

We have been running Windows XP Professional in the office, until not long ago. Things were generally working in Windows, and most of the time there were no complaints, but I have decided it was time to leave the Windows world, and what better timing than to do it with Windows Genuine Advantage is spreading like spyware, running in the background, and god knows what it could prompt the local BSA representative and his secretary to do to us poor fellas!

My own personal box had hardware problems, so I took it to the shop where the power supply was replaced, and the ATI Radeon was replaced with the nVidia 7300GS card. I came back to the office only to discover the driver of the nVidia card can NOT be installed! no matter what I tried, I got an error in the final stage of the installation, stating that the driver returned an invalid error code. I tried mailing the support staff that produced the card, a process which took 2 days to produce a result, and in the end I got no better answers than I have already found myself on Google. So that was that, I decided to drop Windows once and for all!

So it started with our server, which we installed with Debian Sarge, and that is running a “test” suite of our product, and is also serving as our file repository.

It then continued with the dev stations, which we installed with Ubuntu Dapper 6.06, and I must say I am impressed with how easy things went! It just works out of the box. I wanted to take the time and list the things that really surprised or amazed me with this process:

  • We are using Gnome + Compiz + XGL, the desktop is usable and looks AMAZING. I never thought I would see a desktop that looks and works even better than my dream system; MacOS X! — It’s smooth, it’s fast, it’s beautiful, and whoever walks into my office and sees me working, is absolutely amazed and leaves my office heart broken.
  • Thanks to “Automatix” we can play MP3 files, view videos, flash, etc. even quicktime embedded within web pages (great for viewing the movie trailers on apple.com). It even installed Beagle, which mimics “Sherlock” on MacOS X.
  • Applications, applications! We are using Firefox, Thunderbird and Eclipse. Needless to say, they work great, at least as good as their Windows counterparts, so not much fanfare there. It just works, we love it.
  • LAMP – Our product uses the LAMP platform, so it was a lot of fun installing one on our local boxes, so we can have a local debug version which we can play with, without having to go through the release cycle in order to see changes on the test suite.
  • Karma – We feel great, as if cured from some rare disease. The demon that is Microsoft no longer posesses our establishment, and I must say it feels amazing! No more DLL conflicts, no more blue screens of death, no more USB or Bluetooth issues, no more complicated driver installations – everything just works out of the box!
  • Office? Open! Thanks to OpenOffice we are free of the need to run Microsoft Office. Sure, I am used to Microsoft Office, after using it for YEARS. I mean, i’m using MS Office for the last 12 years, It makes sense that there would be some resistance to moving away from it but I must say the OpenOffice team have done an amazing job and it really was not an issue to move to OO. There are small differences here and there, but I am getting used to those changes every day of using the OpenOffice suite.
  • Ekiga is our softphone now, and I was impressed again when it found my Logitech QuickCam 4000 Professional. Last time I tried this in Debian, I failed miserably, and only managed the lower resolution captures, which were not reliable even. No more! This time it just works out of the box, I am making calls with Ekiga using my Logitech USB Headset (also detected out of the box), and video conferences with the QuickCam 4000. What a pleasure!
  • Winamp? I love Winamp, and on linux the alternative is XMMS or Beep, but they are not really as good as Winamp. Thankfully there are great alternatives. I am now using Amarok, and it’s really amazing. It brings lyrics for the songs I hear, it automatically rates them for me, brings information about the artist, brings album images, etc!
posted under Uncategorized | No Comments »

Top 12 Rules of Thumb for Project Management

July7

I found this inspiring and “so-true” post by fprog of slashdot. The reason I loved it is that it’s so painfuly true, and exactly the kind of list I would prepare for myself or for anyone else before a new project / customer. Read, Learn and pass on!

Top 12 – Rules of thumb for project management

  1. Triple the estimated time + 10%.
  2. Add 2 weeks to that amount for a complete code review.
  3. Any changes by the customer means “adding 2 weeks to the schedule”, even if it’s one line of code… why? because, it must pass documentation, Q.A., validation and be reviewed by the entire department, without accounting for “double bug”, bug induced by another bug and stuff like that or bugs that are in the core library and means retesting “everything”, “every module”, etc.
  4. Any changes must be approved, reviewed and means adding delay (normally a big NO-NO) and therefore, 99% of the case thoses changes are left for future phases or abandonned by the client when they realise the implication. If not, it’s your objective to discourage them or force them to reconsider by any means. =P
  5. Don’t give any feedback to the customer unless you must! If you do, downgrade any progress to minimum to reduce expectation and refrain the customer from adding new stuff to the TODO list.
  6. Which means, each phase must be clear, consise, humble, realistic, feasible, with lots of buffer time for fixes, reviews and testing. Exagerating how complicated it is to a customer is always a good idea, because in the end, everything that seems easy is actually very difficult.
  7. Do minimum documentation, UML to get started… They’ll get rewritten at least 30 times, before everyone in the group agrees after what 40 meetings?
  8. Once the phase somehow works and the thing is somehow settle, start documenting it, so you don’t forget. It’s actually a very good way to detect logical mistakes, misbehaviors, bad coupling, bad cohesion, missing corner cases, bad design choices, usability problems, etc.
  9. Best teamwork is small team of 3-5 senior people working toghether hand-in-hand, sometime helped by 1-2 junior, which can do much better than 120 junior who are completely clueless and never deliver on time…
  10. For big projects split things up in component and/or phases that a small team of 3-5 people can do, keeping in mind of the big picture so its scales up, but ignoring any meaningless future details that don’t matter “right now”.
  11. Rush the people to do it in “the simple 1/2 time delay”, keeping in pocket the “double time” remaining for any arising issue and reworking the core libraries, overhaulin the code, reviews, fixing bugs, etc. This means that if you are really late, you are actually late on your “buffer time”. If things goes well, then the project will be done before it’s expected, which will impress any client.
  12. Finally, but not the least, there’s no such thing as a bug, it’s just a “small improvement”, a “new feature”, “code overhaulin”, “mispelled requirement” or a “security enhancement”. It keeps customer smiling, it’s less depressing for everyone and overall keeps the mood up on everyone face with a laugh or two!
Furthermore, no ones want to hear that the code is “full of bugs”, but saying that a group of people are always “enhancing, overhauling and improving the code base” also means a bigger bonus! =)

And one more good one by chaboud:

I think that the most important thing to do when a project is on an insane schedule is realize that you aren’t super-human and pace yourself. If you don’t, and crunch hard nights or extra-long 50-hour sessions, you’ll spend the next few days with a fried brain and a complete inability to make use of your time.

If you’re normally a 9-5 guy, pull 10 hour days. If you’re normally longer, possibly consider working longer, but notice when you’ve started lagging because of fatigue.

Other things:

  • Take walks. Get out, get blood flowing, and rest your eyes. Don’t stop to talk to people on your walks, because you’ll smoke hours talking about nothing (like postings on slashdot).
  • If you’re angry, or burned out, take a day. You can spend entire weeks in a funk if you can’t get yourself out of it. It doesn’t help you, and it doesn’t help your team. If your boss can’t make sense of needing to pull away so you can be more effective, try and find another job.
  • Be reasonable about moving targets. There’s no benefit to throwing a fit when your boss changes dates/requirements on you, but let him/her know what it’s going to cost in time or other features. Be quick about this. Don’t stew about it and let the feature-spec gel before you’re quick to pull the “we have to cut…” card.
  • Big design up front: Don’t do something three times because you weren’t sure how you were going to do it in the first place.
  • Less design up front: Don’t overdesign something because you’re so hung up on not doing it twice. You might have to code it twice, or three times. Get dirty in the code long before you’ve started sweating details that don’t matter. If you’re solid, this stuff will just flow out naturally.
  • Learn to use copy and paste, along with other tricks to save yourself grunt-work time. It amazes me to no end how much time I see some programmers spend on writing code. On the same note, learn to type quickly. I’ve known some great programmers who were hunt-and-peck two-finger typists, and those are the same ones who generally pulled super all-nighters typing at 20 wpm.
posted under Uncategorized | No Comments »
« Older Entries