Author Archives: Oren

RedHat/CentOS 5 on Intel G33 based MotherBoard

Update: read this post first. Issue was fixed on CentOS 5.1.

This week I had to install CentOS5 on PCs with a new MoBo, having the Intel G33 Express chipset, and encountered two problems:

  • Kernel freezes on boot: after a quick search I found out that I should've added pci=nommconf to the kernel boot arguments. (I couldn't yet realise what this mmconfig means exactly)
  • e1000 ethernet driver:
    • Default kernel's driver is too old: a newer version of the e1000 driver is needed.
    • CentOS 5 installation doesn't recognize the pci Ethernet device as e1000: we should add the new pci id to the list

For those who don't need network at installation, the Ethernet driver may not matter much (they can install it afterwards). Instructions for enabling network (kickstart) are explained below.

Continue reading

Yala 0.35a – 5 years anniversary…

Yala 0.35a is out (ChangeLog); That's what I wrote in SourceForge:

Yala is 5 years old, but not much got changed last two years.
There's a lot to catch up, I hope to re-start a quicker development.

Rapid development also means breaking stuff; I myself cannot test yala on every LDAP server (RedHat/Fedora DS, OpenLDAP, Sun, MS AD, Oracle, probably more), thus your bug reports are cruicial.

Thanks for using Yala, I hope you enjoy 🙂

update: 0.35b is out (single bugfix release).

Browsing Oracle ASM disks

ASM is Oracle's volume manager technology.

First it felt like a real voodoo: I created volumes but the OS cannot really access them (i.e. how the hell do I list the files, check out free space, etc).

Then a quick search revealed the very useful (RAC-builtin) command asmcmd which reminds of a crippled Unix shell, supporting ls, cd, du commands, and some more.

(Maybe someone wants to write a FUSE plugin to ASM, so we could actually mount it? 🙂 )

People of the world: migrate to UTF-8!

The Unicode issue is usually irrelevant in countries which use Latin letters only, but is very relevant to the rest of the world.

Every time when I saw 'Unicode support added' in OS/software changelogs I've been thinking "I couldn't care less", but that was stupid. Because when 100% of the software would speak Unicode (or more correct: UTF-8, which is the most popular Unicode implementation), the world would be a happier place to live in (but would still burn because of the global warming). Here's how I migrated:

Continue reading

Time zones – how to do it right

After some struggling with how the Daylight Saving Time change affected my code, I realized that one shouldn't mess with the time zone offsets on his own (i.e. Add or Subtract hours manually from the UTC time), because underlying libs already implement it - and probably better (yes, including DST changes, works flawlessly!). Here are the new simple rules I set to myself:

  • Absolute time: Store dates only relative to UTC (usually [milli]seconds since Unix epoch or another reference date. The familiar Timestamps are measured as UTC and not as Local Time!
  • Absolute-to-Local: When local date matters, convert UTC-to-local (and vice versa) using the already-existing methods:
  • Absolute-to-somewhere-on-the-globe: instead of the OS-defined local time zone settings, PHP seems to have a way, but for JavaScript I haven't found anything unfortunately.

Bottom line: stick to UTC as much as you can, it's good for you.

Trivia line: Morocco is GMT+0 and has no Daylight Saving Time (so it's identical to UTC). Good for them, eh?