Ika's Weblog XML
Architecting the Thought.

After a very painful data-migration process

The blog has moved to a new location: www.freshblurbs.com

Please, kindly update your RSS Reader with the new URL:
http://www.freshblurbs.com/rss.xml

I apologize for the temporary inconvenience but in the long run the new server is going to be much more featue-rich and comfortable, benefiting both me and my kind readers.

01/21/07

Thank you, Motime!

We have enjoyed our time with Motime and thank its owners for their nice, free service but this blog has graduated from the standard services and has been moved to a more feature-rich environment. Visit us at the new location: www.freshblurbs.com

posted by irakli, 19:18 | link | comments

01/20/07

Disabling MySQL and FTP in XAMPP on Linux

XAMPP is one of the greatest (i.e most useful) bundled open-source packages that gives an easy, rich LAMP installation in seconds.

If you have tried it, you know that installing many different PHP extensions is neither easy nor fun on Linux. Well, except, maybe on Debian/Ubuntu where you can easily add components with apt-get. Alas, a lot of corporate production systems run RedHat and there XAMPP comes as real life-saver.

One thing about XAMPP though - it installs a whole bunch of stuff like Apache, PHP, MySQL, Proftpd, Webmin etc. I never use or enable FTP because I think it is insecure, legacy protocol that should never be used. Use SSH instead. As for MySQL, I like to install it myself from official MySQL binary distribution. It's a database server, hence - tricky and needs more attention than a vanilla installation. At least - that is my taste.

So, how do we disable FTP, MySQL and WebMin in XAMPP installation and use it only for Apache/PHP/Perl (we could install Python add-on, too) ?

It is actually, very easy. This is what you need to do:

  1. Edit /opt/lampp/lampp script. In start,stop and reload options comment-out everything except apache-related calls.
  2. Copy /opt/lampp/lampp script to /etc/init.d/httpd to make sure it start during operating system startup. Do not forget to put symlinks in default runlevels.
  3. Default XAMPP PHP installation will try to use default MySQL installation's socket and since we want to use "our" MySQL and do not even start XAMPP MySQL, will be unable to connect. To fix this, edit /opt/lamp/etc/php.ini and change the appropriate line to read:
    mysql.default_socket = /var/lib/mysql/mysql.sock
    whereas /var/lib/mysql/mysql.sock is the location of socket file for your custom MySQL installation.
Enjoy

Special note for all Drupal users out there: Drupal is known to have sesion problems on PHP5 in some configurations. Due to the problem, Drupal will keep logging you out at every page request. It has been reported for XAMPP/PHP5 (default config), too. If you intend to use XAMPP for Drupal, at least for the time being, we recommend to switch to PHP4. To do so just run once:

/opt/lampp/lampp php4

posted by irakli, 15:15 | link | comments

01/19/07

Language Wars Contd.

Bjarne Stroustrup: "The purpose of a programming language is to help build good systems, where "good" can be defined in many ways. My brief definition is, correct, maintainable, and adequately fast."

Let's see...

We will skip the "adequately fast" part since I have no idea what adequate would be for Mr. Stroustrup and besides fast/slow is determined by language compiler/interpreter implementation not by language syntax. We will assume Bjarne is just trying to off-handedly dismiss scripting and VM languages,

Moving on...

What does "correct" mean? In line with all those patterns and "best-practices" they try to teach you in all the "right" books? And, of course, maintainable goes hand-in-hand with that, too?

Well, I will have to disagree here. First of all, contrary to the popular misconception it is not "maintenance" that modern businesses care about. Thirty years ago, maybe, they wanted systems that last forever in the original version but not anymore. We live in a fast-phase business environment where demand changes all the time and so should the software that supports it.

It is not "maintenance" that you should care about but ease of future modifications! And these two are by far not the same thing.

People who think the "maintenance" way usually spend a lot of time finding "ideal" architecture that, in their minds, will serve all future needs (alas, the exact same ones they have no idea about right now) and end up with half-baked, useless monster, way late than originally planned .

People who think "ease of modifications" way employ agile methodology, write unit-tests and continuously refactor the code.

Big difference.

In my personal opinion, "good" code is way more about the personality of the developer than underlying programming language or technology. Some people are tidy, some people are mess. Period.

Have a nice weekend!

P.S. I give all the respect to Mr. Stroustrup for his success but other than that, let's just say - he is not my hero and C++ is not my favorite language :)

posted by irakli, 18:33 | link | comments

01/18/07

"Managing" Innovation

"Innovation is "a meta-stable entity". Nothing will kill it faster than trying to manage it, predict it, and put it on a timeline."

Vishva Dixit, vice president for research of Genentech

posted by irakli, 04:10 | link | comments

Legal Definition of the Copyright

"The primary objective of copyright is not to reward the labor of authors, but [t]o promote the Progress of Science and useful Arts." "To this end, copyright assures authors the right to their original expression, but encourages others to build freely upon the ideas and information conveyed by a work. This result is neither unfair nor unfortunate. It is the means by which copyright advances the progress of science and art."

-- US Supreme Court Justice Sandra Day O'Connor

posted by irakli, 02:42 | link | comments

01/16/07

Drupal 5 Released!

Today is the day!

After much waiting Drupal 5 is released. This is smoking hot release of a great open-source portal system and I have no doubt it will make Drupal even more popular.

posted by irakli, 14:18 | link | comments

01/15/07

Drupal and Eclipse PDT

Drupal files have .module and .install extensions. Eclipse PHP Development Toolkit (PDT) does not recognize those extensions as PHP files so you have to tweak couple of settings to make PDT be more helpful when you develop with Drupal.

  1. In Preferences - General - Editors- File Associations, associate *.module and *.install with PHP Editor.
  2. In Preferences - General - Content Types, add *.module and *.install to Text -> PHP Content Type
And, of course, make a habit of using PHP Explorer, it's much better than Navigator, for PHP projects!

cheers.

posted by irakli, 05:41 | link | comments

Practical Common Lisp

Even though I have some Assembly language under my belt and have worked with, what I like to see as, wide variety of programming languges, I am still from the spoiled generation that learnt object-oriented programming before calculus and got on Java bandwagon early on.

I was fortunate to have had privilege to work with a wonderful group of programmers. In my earlier days, one of them was kind enough to spend some time (and I imagine patience) to argue with me that Java is not panacea and '"hard facts" that "best-practice" literature tries to feed us is just one side of the truth. An often-used example was dynamic vs static and strict vs lose typing. Lisp would come up in the discussions habitually.

Lisp is one of those languages that may be regarded as a dinosaur one but people with more insight know it is too important to simply disregard or ignore.

There is a wonderful review of Common Lisp by Peter Seibel, given at Google, that gives some insight in Lisp, but more importantly - in software architecture generally and how patterns in different programming languages relate.

I think it is a great video. Highly recommended.

 

posted by irakli, 01:48 | link | comments

01/12/07

No Fight - Just a Slice [of the Cake]

So, apparently the main intention of Cisco, in regard with the controversy surrounding Apple's use of Cisco brand - iPhone, is not cash.

According to Chandler, the SVP of Cisco they want interoperability in exchange. Interoperability in exchange of brand sharing? Wow. Have you ever even heard something like that?

I think it says a lot about the potential of [Apple] iPhone and the recognition/respect everybody in the industry has for it.

Again - wow!

posted by irakli, 12:08 | link | comments

01/09/07

A Little Bit of Pre-MacWorld Spirit :)

posted by irakli, 07:38 | link | comments

01/07/07

Sony LF-B20

Sony's new LocationFree Wireless Base Station looks like the sexiest gadget of the new year.

Finally, something original and nice in the mobile home entertainment :) Well done, Sony!

posted by irakli, 23:56 | link | comments

01/01/07

Boss

"A boss isn't paid more than a subordinate because he or she is better. A boss is paid more than a subordinate because the boss has greater responsibilities. One of those responsibilities is to stand up for people when it's necessary and to shield them from things they shouldn't have to deal with."

Fiorina, Carley, Tough Choices: A Memoir, New York: Portfolio, 2006, p 54.

posted by irakli, 23:10 | link | comments


Copyright (C). Irakli Nadareishvili. Picktek Ltd.