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.

Monday 9 February 2009

Where do I get my Facebook Public URL

Well to get your Facebook public URL that you can put on your web sites etc..., click on Settings on the main Facebook menu. Click the Manage link next to Privacy. Click on the Search link. At the bottom of the page, there is a Public Search Listing heading. At the end of the check box in that section, you will see a preview link. Click on that and you should get a link like this: Michael Williams Sun Micro Facebook Entry


I got the initial info from this blog post. See the last comment.

A Complete History of Java (Sort Of)


Well I thought I had posted on the history of Java before, but I just checked and I didn't. The subject has just come up again at work so I'm writing this post for my future reference. Hopefully it will be useful to you as well.



The Java Project and Language


Here are some good links on how it all got started and the languages initial success.



The early history is focused on the Java language and its use as a key component of Web browsers. But that is only part of the story.



Server Side Java: Tomcat and Servlets


Java's biggest success has been on the server side of Internet applications. The first part of that story, is the development of servlets and Apache Tomcat.




Server Side Java: App Servers


The second part of the server side story is the application servers. At Sun, a number of products were merged together, rewritten, etc..., until we eventually got to the open source Glassfish Server. I found two good pages on the subject.




I know I didn't cover J2ME and I'm sure there is a lot of other Java topics I left out too. But what I did find is very interesting stuff. I wish more of it was written down.

Wednesday 4 February 2009

Portable USB Drive for Your Mac OSX Virtual Machines

I purchased one of these Western Digital My Passport drives last week for storing virtual machines.


A year or two back, I tried to put my VMWare images on portable Firewire drive I got from the Mac store. For whatever reason, these drives would work for a session or two and then corrupt the VM image. Since getting the My Passport USB drive, it has worked flawlessly. Fast, quiet, and small, a very nice combination of features. So I have posted the above link for anyone interested in doing the same thing. By the way, the drive is roughly the size of an iPhone (just a little bigger). I'm using VMWare Fusion 1.1.3, OS X Leopard 10.5.6, and Windows XP Pro SP3. I plan to put Ubuntu 8.10 on today. And I also plan to start experimenting with VirtualBox. It would be nice to not have to update my VMWare licenses. I think 1.1.3 cost me $100 for 2 licenses, it looks like with version 2, I would need to buy 3 licenses for $250 and I can't seem to find any upgrade discount.

Work on Stuff that Matters

I stumbled across a few posts that are a little old, but definitely worth linking to. First I found this post by Jeremy Zawodny, on his new job at Craigslist. He talks about his new job after 6 months and refers to this post by Tim O'Reilly. Both posts are focused on three key points.
  • Work on something that matters to you more than money.
  • Create more value than you capture.
  • Take the long view.
All three points are sage advice. I was fortunate enough to work as a CPA after graduating from college. The hours were long, the work was dull and I wasn't very good at it, but you could make a lot of money. Well, l learned from the experience, that being happy is much more important than making money. If you do something that interests you and helps people, success will follow and the money takes care of itself.


Tuesday 3 February 2009

VirtualBox 2.1


I'm hoping to start experimenting with Virtual Box 2.1 in the coming weeks and months. Virtual Box is an open source virtual machine product made by my employer Sun Microsystems. It has versions for Windows, Mac, Linux, and Solaris.

For a recent review of the Mac OS X version, check out this story on Ars Technica. I'll try to post on it well if I have time. You can download virtual box from: http://www.virtualbox.org/wiki/Downloads

HTML 5 Application Cache and Database

I ran across this post on Ajaxian about an HTML 5 application cache and database being built into Safari in the iPhone 2.1 update. The Apple documentation page on this subject can be found at this link. Basically, in Safari 3.1 and iPhone 2.0 or later, an SQLite database is built into the browser. The Apple article shows you how to use use the database.

Really cool stuff! I think Google Gears does the same thing, but this is built in.

Text Button Maker

I wanted to add some text buttons, logos, and such to some of the posts on this blog. So I looked around a bit and really the only thing out there are Photoshop like products. I thought about getting Photoshop Elements, but it didn't list this sort of thing as a feature. Of course I could always use the Gimp or Seashore. But I don't really understand photoshop concepts (I think I need to take a class or something).

Anyway, I found Art Text for the Mac. Gonna give that a try and see how it works.