My pretty face [ László Monda's Blog ]
Exploring the cyberspace, one quadrant at a time!
 
Main Page | Blog | Projects

Archive for November, 2008

Programmer vs. Developer vs. Architect

Friday, November 21st, 2008

I think it's important to express ourselves clearly when speaking about various IT professions because they represent dramatically different skillsets and mental models. This post have born out of my frustration to hear clueless people misnaming various professionals and it can be an eye opener for some. The descriptions below are not standardized by any means. I personally use these namings in the way I do and don't wanna enforce anyone to use them this way.

  • Programmer: I consider programming a pretty primitive transformational process. The related problems are rather easy to solve, like creating a simple Unix utility, think about cat or wc. Programmers are not necessarily clueless, but they often type before they think and many times dont' have any ideas about how resource intensive their code is. Most newbies are happy when succeeding at solving a simple problem and don't think about optimizing their code or cleaning it up. They think in terms of code. (I admire beautiful code, but it's all they can see.)
  • Software Developer: I see developers as knowledgable people who have clear mental models in their head about the systems they're working on. They usually know design patterns, can create well-designed class hierarchies, understand the algorithmical complexity behind their code and the framework they use and can develop solid applications. They think in terms of the structure, solidity and elegance of the solution.
  • {Software or System} Architect: I think of architecting as assembling complex components into a whole that works in an extremely realible and scalable manner. The various components are usually scattered across hosts which may form clusters in a network. It's not really about implementing low-level algorithms, but rather knowing service interfaces and the high-level mechanics of the services themselves. By services I mean SOA components, and various server applications, like webservers, application servers, message queing systems and so on. Architects are very critical thinkers who mostly think in terms of services, architecture, interfaces and bottlenecks.

Standardizing the command line interface

Friday, November 21st, 2008

Few days ago I've tried to do some scripting with the s3cmd.rb utility and I couldn't find a way to carry out the task because of the interactive nature of s3cmd.rb. I've made some search on the s3sync forum and finally found the solution:

yes | s3cmd.rb list mybucket | grep -v 'More? Y/n:'

I was surprised to find out that the "yes" utility is part of GNU Coreutils and I didn't know about it. I also find funny the hacky nature of the solution. It's not bulletproof because if your bucketname / keyname contains the "More? Y/n:" string then you're screwed, but that's a highly unlikely case and I admit that the above script should work in practice.

I was thinking on how command line applications could be standardized so they'd become more usable, less of a pain. Here are my suggestions:

  • If the default interactive mode makes sense, then provide a -y, –yes option to make scripting easy.
  • If recursion makes sense, provide the -r, –recursive option. Please don't use -R with capital "r", like chown does! I don't wanna look up the manual every time in such trivial cases.
  • Make your utility accept – as the ending of your arguments so filenames starting with a dash won't be misinterpreted.
  • Don't add the scripting language related extension, like .py, .rb, .pl to your utility, please! I want to type it as fast as it's possible and I don't care what language you use unless I have to hack your crappy script which shouldn't be the case.

I could probably come up with dozens like the above, but these are my initial thoughts.

Great videos!

Friday, November 21st, 2008

I've watched some great videos on Google Video in the last few days:

DohanyzoBuszsoforok.hu

Friday, November 14th, 2008

DohanyzoBuszsoforok.hu - Már régóta össze akartam hozni ezt a szájtot, de id?hiány miatt eddig húzódott.

Kí­váncsi vagyok, hogy milyen hatása lesz, hány ember küld a segí­tségével leveleket. Folytattam egy kisebb PR tevékenységet, megkerestem a releváns szájtokat, hogy emlí­tést tehetnének róla. Ha ismersz egy témábavágó oldalt, akit érdemes lenne tájékoztatni, ne habozz szólni!

Első poszt

Friday, November 14th, 2008

Végre idáig is eljutottam: felhíºztam a magyar blogomat.

így visszanézve 2004 októbere óta bloggolok f?leg technikai témákról, de regionális ügyekr?l is egyre inkább í­rni akartam és már régóta járt a fejemben egy magyar blog.

Monda.hu site improvements

Friday, November 14th, 2008

I've made loads of improvements to monda.hu recently and I'm very excited about them!

  • Added a completely new, shiny main page which is composed of two paragraphs, one for English and one for Hungarian. It's maybe a bit dense, but it's certainly very informative.
  • Integrated my Google Reader shared items under the title "News" which you can see on the top navigation bar. I've previously blogged about the news I found interesting and I'm a bit reluctant to store my shared items in the cloud, but it's extremely productive to comment and share the news with Google Reader. I hope I'll be able to save my shared items in the future.
  • Installed a parallel Wordpress for my new Hungarian blog which you can also find through the above mentioned navigation bar. It was quite a challenge as Wordpress is not designed to host parallel blogs and I didn't want to use Wordpress MU, because it seemed to me that it lags behind Wordpress. I've succeeded to solve the problem by setting up a symlink farm and reusing the wordpress and wp-includes directores and hacking the Beeblebrox theme file to include some language translations.

Man page of the day

Tuesday, November 4th, 2008

I'm just reading `man 8 syslogd`.

Here it goes under the SECURITY THREATS section:

4. Disabling inet domain sockets will limit risk to the local machine.

5. Use step 4 and if the problem persists and is not secondary to a rogue program/daemon get a 3.5 ft (approx. 1 meter) length of sucker rod* and have a chat with the user in question.

Sucker rod def. — 3/4, 7/8 or 1in. hardened steel rod, male threaded on each end. Primary use in the oil industry in Western North Dakota and other locations to pump ’suck’ oil from oil wells. Secondary uses are for the construction of cattle feed lots and for dealing with the occasional recalcitrant or belligerent individual.