Java Timezone Information 2011g … The community release is here :)

Egypt has recently stopped working with DST time, so we need to update our timezone information with the latest updates, as a normal user for java, I used to download the TZUpdater tool which was always available for free from SUN …

But not anymore, as Oracle started to show its ugly face, if you go to http://www.oracle.com/technetwork/java/javase/tzdata-versions-138805.html you’ll see the following notice

TZUT v1.3.39 now available containing the Olson 2011g update. Please contact your local Oracle Support Office to obtain this version. For questions, please contact Oracle Support.

Go ahead and try to call Oracle local support office, and they’ll let you know that the update is only available to paying customers, could you imagine the impact of this on thousands and thousands of companies and users ???

I mean what the hell Oracle was thinking !!!

So, for those who know me well, they know that I cannot accept to feel hand-coughed, I need to fix the problems with java timezone as soon as possible, so I decided to build the entire timezone information from scratch … and Yes, I really did it, and I called it tzupdater-1_3_39-2011g-community.zip … 🙂

Continue reading

Brain Dump…

Today, a friend of mine and I had some wonderful time…

Not skiing, not playing a game, not chasing beautiful women, but rather chasing awesome thoughts, reverse engineering, and cracking into some software, and here’re some ideas…

In fact the idea of having a page containing such content (as this one) and calling it “Brain Dump” is his idea…

Continue reading

Amazon Kindle, Working around regional restrictions…

Few weeks back, a friend of mine was visiting the US for some business of his own, and I couldn’t help to ask him to bring back an Amazon Kindle for me…

I choose the cheapest model, the one with the WIFI only, with 6" screen, it seemed satisfactory to my needs, I won’t need to 3G thing as I don’t want to pay data transfer fees for downloading the ebooks to my kindle, and the 3G won’t add much value to me…

Anyway, I was thrilled to put my hands on it, and I started to ease myself into reading books on that lovely device, I went ahead and set my regional settings to the US, and started browsing the free ebooks available on Amazon’s Kindle Store, I downloaded over 6 ebooks in less than 1 hour, and downloaded samples for 4 more…

Continue reading

Privacy becomes more precious everyday, and so does Open Source…

Yesterday I was visiting my friends in ITWorx, and they were totally bugged by the new gateway that the IS has installed to monitor and control users’ access to the internet…

That new gateway is called “Thread Management Gateway” from Microsoft, and guess what? it SUCKS, BIG TIME…

Their 1st impression that it made things terribly slower, all the browsing, all the downloads, and even google suggestions, as soon as google tries to make suggestions to your browser will just redirect you to the google home page again erasing out everything you have written in the google search box…

And of course google suggestions everywhere else just failed to do their jobs…

Continue reading

More Steps ahead…

Well, as most of my friends know; I’ve moved from ITWorx to TEData, but this didn’t cause my personal plans and agenda to shift or drift, however, it imposed some delays on it a bit…

Anyway, two months ago, a friend of mine has put my hands on one of a kind board, that holds a microcontroller along with 4 other chips, triple-axis accelerometer, triple-axis magnetometer, dual-axis gyroscope, and a single-axis gyroscope…

Continue reading

Yet another post about OpenVPN…

What is OpenVPN ?

OpenVPN is a SSL/TLS based user-space VPN server/client, it’s capable of

  • Creating point-to-point or server-to-multiclient encrypted tunnels between host computers.
  • Establishing direct links between computers across network address translators (NATs) and firewalls.

Continue reading

Going low level, very low level…

So, I started with qemu to simulate an ARM board, connect to qemu with GNU Debugger, load some code into the qemu v-board…

So far, so good, I used to run this

qemu-system-arm -M versatilepb -m 256 -kernel /dev/null -s -nographic

This allowed me to skip qemu complaint about no kernel exists, and redirect to the output to the console, and the –s is to allow GDB to connect to it via port 1234…

The problem with this, when I leave it too long, the CPU automatically keeps incrementing the program counter (PC) and keeps looking through out the entire memory space looking for some code to execute, until it runs out of valid addresses, and an exception is raised, and qemu terminates with this error:

qemu: fatal: Trying to execute code outside RAM or ROM at 0x10000000 R00=00000000 R01=00000183 R02=00000100 R03=00000000
R04=00000000 R05=00000000 R06=00000000 R07=00000000
R08=00000000 R09=00000000 R10=00000000 R11=00000000
R12=00000000 R13=00000000 R14=00000000 R15=10000000
PSR=400001d3 -Z– A svc32
Aborted

If I’m fast enough to connect GDB to qemu, then I’m OK, if not, qemu will terminate before I’m able to connect to it…

So I had that crazy thought while having a shower…

Continue reading

Another step ahead… RTOS…

Yesterday I finished a training course that was about RTOS, the instructor was Amr Ali, and Wasiem Hashim, the course covered some topics about RTOS, concepts, scheduling, threading, synchronization, and best of all, concepts of porting…

It turned out that I know much already to get me started, and already have the foundations I need to do good work, Cross-Compiling, solid C/C++ programming skills (threading, synchronization, TCP/IP), good OOP knowledge (thanks to Mostafa Hashem), what I really need now is build my skills in device driver development, that shouldn’t be too hard, right??

Yesterday night, I had a sleepless night, dreaming about RTOS, uC-OS II, Velos, and the best of all; ARM assembly code 😀 …

As I used to collect and try all kind of UNIX OSs, (Linux “all the flavors I could get my hands on”, FreeBSD, Solaris, HP-UX, Mac OSX), I’ believe I’ll start collecting RTOSs to my library of software, and try them out -mainly- on QEMU, and any hardware I could put my hands on, like the Linksys WRT-160N, and La-Fonera 2200, or even boot it with grub on a VM (why not?!); that would be my next step…

Wish me luck…

A quick glance about filesystems…

Cluster vs. Distributed Filesystems

Cluster filesystems and distributed filesystems are two different things, but sometimes they’re mixed together, so it’s time to shed some light on that…

Continue reading

Anaconda boot time options…

In a previous post, a friend replied that I didn’t really need to modify initrd.img to embed ks.cfg just because I can’t use eth0 …

He was totally right, I’ve gone through much without looking for the easiest and obvious…

http://fedoraproject.org/wiki/Anaconda/Options, this page has all the options that anaconda (the installer for CentOS/RHEL/rPath and more) supports…

One of the options I could have used and avoid the hassle of the choosing which interface to be used for the installation is ksdevice .

It also happens to have several interesting switches; (according the page linked above) takes one of 4 types of argument which tells install what network device to use for kickstart from network:

  • An argument like ‘eth0’ naming a specific interface
  • An argument like 00:12:34:56:78:9a indicating the MAC address of a specific interface
  • The keyword ‘link’ indicating that the first interface with link up
  • The keyword ‘bootif’ indicating that the MAC address indicated by the BOOTIF command line option will be used to locate the boot interface.

See, sometimes the easy way is just staring us in the face, but yet we can’t see it, or too lazy to look for it …