Thursday, June 01, 2006

How I work

I think it was Brian Aker who got this "How I work" series started and it's a pleasure for me to join in and tell you something about how I work.

Actually, it's only half a month since I've been working for the web development team of MySQL, so some things might still be subject to change. But most things are very likely fixed, so here they are ...

My working PC is an Athlon AMD64 3200+ with 2 GBs RAM and two 250 GB hard drives. Currently it's running SuSE Linux 10.0, preferably with KDE and I'm using the ext3 file system. However, I consider switching over to Fedora not too far from now (maybe in early October, when Fedora Core 6 is released).

Formerly I worked most of the time with Windows, but delegated some server tasks (file server, print server, web server, database server, ...) to Linux - which always used to be SuSE, so I'm still most familiar with this distribution. I used to do a lot with YaST (SuSE's configuration tool), but since I started my job with MySQL and with it started to extensively use Linux, I'm doing much more on the command line and therefore become more independant of GUI tools. More about that later.

My email client is currently "Kontakt", one of KDE's standard email, contact and scheduling applications. I'm not yet sure if I hold on to this, since there are some issues that don't work like I'd like it to (however, I didn't spend much time with this application - so maybe it's because of me ;-)).

For development, I currently use kvim, but though I often used the vi editor to make modifications on files, I'm not very sure if I'll like it for more complicated development tasks. Maybe I'll look around if I find a good PHP plugin for Eclipse (which I preferably used for Java development so far - one of the best IDEs, I guess). If you can recommand something like this, please let me know!

My preferred web browser is Opera. The big advantage compared to Firefox is (in my opinion) that I don't need to install plugins to get everything I need. It's very comfortable to work with!

But of course, I also need different browsers, and some browsers require different operating systems - therefore I use VMWare Server. Unfortunately, I don't have a Mac available yet, but this might also change ;-).

As I already mentioned - I do a lot at the command line now. One of my favourites is
find -name '*' -exec -q [regexp] {} \; -print

which allows me to find all files in the current directory (including subdirectories) where a certain regex pattern occurs. This is extremely helpful mostly now at the beginning of my web developer job to find the code sections that I'm looking for.

Another useful thing I've learned recently is to use the tar compression command not only for decompressing (I actually used that for a while), but also for compressing files and whole directory structures.

And finally, I learned a lot about Subversion. Actually, I have used CVS (and for a short time also Subversion) before, but on quite a low level - so this is also an important improvement.

And of course - I'm learning more and more every day, which is one of the most pleasant aspects of my job.

My working hours are mostly in the evening and during the night, which provides several advantages. First of all, my colleagues live in different parts of the world, so it's easiest to catch them at these times and second, I'm a night person. I used to sleep in the morning (so, right now is an exception - it's currently 10:20 a.m., that's when I'm usually deeply asleep) and can do some other things during the afternoon (and do little job tasks in-between) - to dedicate myself to the job starting from the late afternoon or early evening, mostly until 3 or 4 o'clock in the morning. Another big advantage is that during the evening and night, it's very calm and there's no danger of being disturbed by anyone ;-).

Did I forget something important?


Anonymous said...

Actually, using grep -r for recursive grepping is much more convenient than using it in combination with find...

What is the main reason for moving from SUSE to Fedora? You don't need to use YaST in GUI mode to configure your system - it provides a Text-mode frontend and you can of course still edit configuration files directly :)

Markus Popp said...

The main reason is that the directory structure is not standard compliant in several respects. For example, the configuration files for Apache are in /etc/apache2 in SuSE, while the default location is /etc/httpd and there are several issues like that.

By the way - I wrote that my CPU was an AMD64 2200+, but in fact it's an AMD64 3200+ - I corrected that ;-).

Anonymous said...

There is a new project for php and eclipse being supported by zend. ( Still seems a bit premature for full use and can't fully comment on it since I have had a lot of issues getting it running on my intel mac. Though I'm hoping that these issues get resolved with some of the new releases. It still depends on Eclipse 3.1 (which only runs on the intel macs using a bit of a hack and is causing some issues) but once they get it ready for 3.2 I'll probably be using that exclusively for php editing. The Subclipse plugin for eclipse is really nice and one of the reasons I am still using it for php editing even though i don't have a fully functional PHP perspective. Though I have always been a big fan of Zend's PHP IDE, I've never really wanted to shell out the $200+ for the enterprise edition with all of the subversion and mysql support I want which eclipse easily gives me through plugins.