So summer is about gone and here I am wondering where the first half of the year has gone. Autumn is my favorite season though and I’m looking forward to the next few months. Work is busy and not particularly too interesting. I’m developing some scheduling software at the very bottom of the MAC layer to interface with the PHY in a next-generation wireless communications system based on WiMAX technology. The technology will enter trials in Q2 2009 in Japan and we’ll see if it can deliver the data rates we’re hoping for. Sadly, I suspect this technology will stay here in Japan. I doubt that Taiwan, Thailand or China will implement this new mobile network with LTE just around the corner as well. They do have the existing PHS infrastructures though, so I won’t bet on anything just yet.
This is my first time to work on MAC layer software. Until now I’ve worked mainly around the PHY layer. The MAC layer is not an interesting subject in itself–just a lot of packet formatting and error checking and redundancy. To all you software people out there, never let the hardware people talk down to you. Their hardware systems are useless without software in our modern digital communication era. Don’t get a big head either though, without their hardware improving data rates, we’d still be writing dialers and dealing with TDD access schemes in a wireless medium.
Change of subject, here is a picture of my workstation setup at home. Please remember I’m in Tokyo and have little space in my tiny apartment for a nicer work area. C’est la vie. I dream of a big oak desk with enough room for a desktop workstation and plenty of room to write on paper!
My primary computer is the MacBook on the right. I use it for e-mail, web browsing, pictures and normal life things. I also use it to play around with programming stuff related too C++ or Obj-C. I have some ideas for OS X software, I just have to make the time for them!
On the left is a Sun Blade 100 system, a 64-bit Ultrasparc IIe system I have been using to get a better grasp on the Solaris OS. Last year I was kind of burnt-out with regard to writing software. I was thinking of following a SysAdmin track, so I bought the Blade 100 used and studied Solaris. While I’m not going to become a SysAdmin and I’m going to stick with software, I’m glad I took the time to study Solaris. The services administration system, svcs, is a wonderful improvement to the UNIX world and I think I would be grumpy if I had to work on Solaris 9 or other UNIX systems that still require scripting to manage services. I wouldn’t be grumpy actually, I’d just be telling myself how I missed Solaris 10 service administration. Solaris Zones and ZFS are also really impressive, but I only have a 20 GB disk in the machine and that doesn’t leave me a lot of room to play around. Currently, I primarily use the machine to fool around with C++ or Erlang these days. Though Solaris isn’t such a rather poor choice for desktop use, I would happily put it on servers and let it run my software.
I was first introduced to Solaris when I was in college. The computer engineering department did everything on Windows because we did a lot of FPGA and embedded systems work and the academic versions of the tools only ran on Windows. I doubt the grad students running the lab had the ability to administer a Linux network either! I digress. Our software engineering courses were offered by the computer science department, and all of our assignments had to run on UNIX for grading. Some people could not stand UNX, but I became attracted to it just because the UNIX lab was always empty and quiet. Most people would go to the Windows lab, code and test in Visual C++, and then do final testing and submission via via telnet to the UNIX lab machines. The Windows lab was noisy due to people cranking up their portable CD players (this was before the iPod, folks!) or talking to each other or running large print jobs. The UNIX lab was always silent and I was able to really focus on my work. Since then I guess I have developed a soft spot for Solaris and UNIX in general. It feels the most natural to run g++ and which up some makefiles. Maybe this is why I like Windows driver development? When I entered the professional world, getting used to configuring IDEs was a bit of an annoyance. But that went away fast and now I don’t really care–either way as long as I can build my system and not fight the tools all of the time. OK, enough nostalgia!
It seems, however, that Solaris is finally good enough for generic x86 systems, so when I move back to the US or move to Taiwan (just a dream!), I’ll retire the Blade 100 workstation and buy an AMD or Intel workstation so I can run multiple operating systems. I know Solaris isn’t the zippiest OS, but it has earned my trust over the years and I think that if I had an AMD system with enough memory I probably wouldn’t notice. After all, anything is an improvement over the Blade 100!