Thursday, 26 February 2009

Trying out CodeIgniter PHP Framework

Gonna try out the CodeIgniter PHP framework for some small at home projects. Originally, I was gonna go with the Zend framework, but searching around a bit this seems like a better option. Its fast and it supports PHP4 and PHP5 and has a BSD/Apache type license. Also, you get all the standard MVC stuff in a simple easy to use package. Hopefully there will be some more posts about this.


Currently I am planning on using the following book to get up to speed.


UI Updates, Favorites, and Blogger Performance

You may have noticed, I have made a few UI tweaks this week to the site. You may have see a few more before I'm done.


One thing I did notice, my page was loading a little slow. I took a look at the Net tab output from Firebug (the tab shows the load time of each page component). You know how you can show all those cool icons for your favorite blogs and sites? Well it turns out that Blogger doesn't cache those, instead it sends you to the site to grab the favicon.ico file! Turning off that option (as I just did) saved me 10 HTTP requests.

Wednesday, 25 February 2009

Freakish Linux Desktop UIs


Why do hardware manufacturers continue to slap these freakish Linux desktop UIs on NetBooks? I just got a Dell Mini 12 with Ubuntu 8.04 (more to come on the NetBook). The main reason I got the NetBook was I wanted a bigger screen and a REAL Linux distro. Not some bizarre 3rd party Debian distro with a UI designed by drug crazed gnomes.


The default Ubuntu UI is very similar to Windows. The start menu is called "Applications" and appears at the top of the screen instead of the bottom. But it is very easy to figure out and works great.


The Dell came configured with a special "Dell" desktop mode. So instead of the nice easy to understand text at the top of the menubar, there are just icons. And in the middle of the screen is this bizarre, giant launch bar thingy. Why?????? How is this an improvement over the default?


You can make the same complaint about the Asus eee 1000 UI and its hideous tab interface. You have to do a fairly serious configuration change just to get a Start menu. I just don't understand it. If you are trying to appeal to Windows users, the closer the thing looks and acts to Windows, the easier it will be to use for 90% of the users out there. And if you take the default Ubuntu UI, you need to make 0 changes for an average Windows user to get off and running.


Fortunately, Dell did include a "Switch Desktop Mode" menu option off the main Application menu. This allows you to switch to the default Ubuntu desktop. Yay!!!! So I'm back to normal.

Monday, 23 February 2009

tar: write error: unexpected EOF

I got this error trying to tar up a file on Solaris 10: tar: write error: unexpected EOF. So what does it mean?


Well, the most likely cause is the Unix file system you are trying to write too is full. Since the operating system can not add any more files to the tar, you get this error.


On Solaris, to see how much space you have on a file system, just type: df -k. This gives you a list of filesystems and shows by percentage how full they are.


To fix the problem, either free up space on the file system you are trying to write to, or write to a filesystem that has the free space you require.


Decided to write this post because the explanations on Google for this were mostly really lame. Back in the day, doing tech support, the most important lesson I learned was, check the most obvious cause first. About 90% of the time, the most obvious cause for the problem, is the cause of the problem.

Thursday, 19 February 2009

Wednesday, 18 February 2009

Simple Self Referencing PHP Form


Just added this self referencing PHP form example to the site. Most of the examples I have run into seem messy. Hopefully, this is a cleaner version.

Tuesday, 17 February 2009

High Scalability

I ran across a link to this site today at work:
http://highscalability.com/
. A site dedicated to tracking architectures of very high traffic sites on the Net. Lots of good information if you are curious about how these sites work. The only thing that seems to be missing is pictures.


Some key points I have noticed.



  • Lots of horizontal scaling. Eventually, having once uber database server always breaks. So lots of little cheap machines instead of 1 big machine.

  • Lots of caching. You will see lots of references to memcached and similar software.

  • Language is not your limiting factor. You see sites that run on Perl, PHP, Java, Ruby, C++, C, etc... If done right, any of these languages should work.