Search This Blog

Friday, June 26, 2009

The big red blob

After a bout of flu and some hectic schedule, it's good to get a short break - intentional or unintentional...

It was an interesting junction of events today - My flight was hopelessly delayed due to weather and I was getting restless, and I was reading Getting things Done by David Allen, reading about productivity and in some sense, time management. In the middle of it all, I looked out the window and saw nature in its usual glory and a poem popped out of my head.

As I look out the plane's window,
I see The Big Red Blob...
Bathing the ground in its amber glow,
Reflecting off the rivers that flow,
Oh, how I wish that time would go slow.

I believe that a good poem is not one that has flowery words or sophisticated rhyme, but one that is a reflection of true feeling - and in the midst of all the 'wasted' time, I did wish that time would slow down for me to take in the scenery a little longer.

As I think a bit more (not a good thing for a poem), it feels better as a Haiku...

Plane on the runway
Waiting to depart
"Getting things done" in my hand
Waiting to be read
Sunset outside the window.

Tuesday, June 09, 2009

A week into using Ubuntu Desktop

As I had mentioned in my earlier blog, I switched to Ubuntu a few days back and thought I'd give a quick follow-up.
So far, the server seems to be working just fine. However, some 'not-so-great' user experiences are slowly showing up. Here's a quick list.
  1. Remote Desktop: Most times, I connect to my server from my laptop. With Windows, this was done using Terminal Services, which gave a fairly seamless experience. Ubuntu has an in-built remote server that can be enabled just as easily as Windows, but I find that the remote experience is far from optimal. I have tried three programs now - Real VNC, Ultra VNC, and Tight VNC - and all of them give a choppy experience, especially at full resolution. Tight VNC is by far the best and that's not saying much. Given that I am connecting within my local network, this is very surprising.
  2. Fonts: The desktop fonts are awesome, much crisper and better to read than Windows. However, the fonts within programs, especially Firefox, seems to be a little off. The anti-aliasing doesn't seem to be working properly.
  3. Mouse scrolling: The scrolling within Firefox also seems to be a bit choppy and not as smooth as Windows.
  4. FTP Server: This was surprising for me. Being a UNIX system, I was expecting great support off the bat for an FTP server. True, Ubuntu comes with a number of FTP server options, but none of them were exactly user-friendly, especially for a newbie like me. Compared to this, FileZilla server in Windows was a breeze to work with. I started with the basic FTPd, switched over to Pure FTP, then to Pro FTP, and finally landed up with vsftpd. Pro FTP is recommended in many forums. It even has a nice GUI, but for some reason, it would not list directories once connected I am assuming some permission issue. Anyway, I found vsftpd to be more easy to configure and was finally up and running with it after 30 minutes of configuration.
  5. Mail Server: This was another surprise. I was hoping that there'll be a cool mail server built right into the system, but it was not (at least not for a newbie again). The most popular one seems to be Postfix. There's a great how-to for Postfix (combined with 4 other packages for firewall, antivirus, and spamming) from someone in the net. I tried to religiously go through the post, but gave up after the 3rd package. It was just a little too complicated to setup a mail server that was optional for me anyway. I wish there was a server with a more easy to use GUI.
That said, I should also say that I am quite happy with the installation so far. Compared to my earlier attempts where I was forced to uninstall Ubuntu (or Fedora) a couple of days later because of some major function not working, I was able to get almost all my needs taken care of right away. I was even able to get my Scanner (Brother MFC3360C) to work with Ubuntu quickly. So, I think Ubuntu 9.04 is a great step in the right direction to convince users that UNIX can be user-friendly.

Friday, June 05, 2009

The great switcheroo - from Windows to Ubuntu

I've been meaning to do this for ages now, and finally made a successful switch from Windows Vista to Ubuntu Desktop 9.04 on my main server. The two main factors that contributed to the switch was the increasing frustration with Windows Vista (especially Windows Explorer) and the advancements made in Ubuntu over the last few years. So, here's a quick rundown of my experience.

Background

Before I start, a quick description of my server - it's a home-built Intel Quad Core system with 4 GB RAM and 1TB disk space. I host two public websites (http://www.cssathya.com and http://www.scmadbook.com), an FTP server, and a Subversion repository. Other than that, it has the standard set of applications.
I myself am in IT and know my way (I built my system). I have a good knowledge of various flavors of Unix (enough to get my programming and deployment done and logs monitored), however never bothered to use it as a primary system. So, my experience can be considered as that of a tech-savvy beginner to Ubuntu.

Installation
It's not exactly a committed switch because I decided to do a dual-boot, with Ubuntu on a completely different hard disk. To me, this is the least risky option, as you can set the boot order in the BIOS fairly easily and it keeps everything separate.
I setup three partitions, 80GB for root, 40GB for /home and another 8GB for swap space. I tried to create another FAT32 partition for the remaining space, but the partition software that was in the installer had some issues so left it unallocated. After that, the installation went smoothly - in all, around 30 minutes tops. Very impressive.
All my devices worked perfectly - sound, video, etc. - a great improvement from past versions. In fact, one good thing with Ubuntu is the LiveCD option where you can pop in the CD and run Ubuntu right from the CD without making any changes to your system to check if all drivers will work perfectly.
The other great improvement is that the latest version recognizes all the Windows drives right away. No need to run commands to mount. This used to be a deal-breaker for me earlier. You can read and write to your Windows disks without any issues.

Applications

Ubuntu, like any other Linux system, has a software package manager (called Synaptics) and you can get a wide range of software just by a few clicks. In fact, it has so many that it'll probably take me another week to go through and pick the ones I need. But I'll be quick to point out that most obvious software (browser, word processor, etc.) are available right away.
That is, with one exception - an MP3 Player. Yes. Ubuntu does not come with an MP3 Player out of the box, because the MP3 codec is proprietary. However, this is fairly easy to fix. I did a little bit of Googling and found that my favorite player in Windows - VLC - can be obtained using a single line (apt-get install vlc).
I also did some more search and got a few more, such as VNC for remote desktop connection to my server, and Amarok, a supposedly better music player.

Server Software

Next is the most important part for me - migrating the servers. I have three software powering the two sites - TikiWiki, Confluence, and MediaWiki, all run using Apache HTTP Server and Apache Tomcat.
Setting up Apache was a little tricky, mainly because Ubuntu splits the httpd.conf file into multiple files. However, a little bit of Googling and I was able to set it up fairly quickly.
Setting up MySQL was easier. A few clicks on the Synaptic and I was done, including the GUI tools. After I restored the database for Tikiwiki and Mediawiki, both of them ran without any issues.
The one that took the most time was Confluence. This was also mainly not because of Confluence but rather because of Tomcat in Ubuntu. In Ubuntu, Tomcat is set to run under high security by default and was preventing Confluence from doing most of its operations. After some more Googling, I was able to disable the heightened security (TOMCAT6_SECURITY = no in the policy file) and Confluence started up fine.
The other final glitch I faced was with the mod_jk connector that connects the two servers. By default, Ubuntu ignores the httpd.conf file and uses apache2.conf file and the sites-enabled and modules-enabled directories. However, for mod_jk to work, you need to place the directives in the httpd.conf file instead of jk.conf or jk.load files. This will probably sound Greek if you are not familiar with any of these terms, but I wanted to mention it here since this step took me around 2 hours to figure out.
Finally, I was able to get all my servers up and running. The whole process took probably 8 - 10 hours to get everything working.

Final impressions

At this point, I have my servers back up and running and all the basic software I need. The only problem I have right now is that my printer, a Brother MFC printer, does not have a 64-bit Ubuntu driver (although a 32-bit is available). I need to figure out how to get one or at least a generic driver to get my printer to work. This can potentially make me go at least partially to Windows, which I really don't want to do at this point (alternately, I guess I can get a supported printer - maybe after the ink is done!)
Update: After a little more digging, I found out an easy way to force Ubuntu 64-bit to use the 32-bit drivers - and the suggestions were from the Brother website. Tried it out, and it works perfectly. So, no real reason to switch back to Windows now!

So, at the end of the day, I think it's worth checking out Ubuntu, especially version 9.04 if you are curious. It's very stable and is extremely friendly. There are tons of documentation available in the net, which is a great thing. I was able to get over most of my issues fairly quickly thanks mainly to the community support.

PS: For those wondering about the title, you should read Roald Dahl's story of the same name (The Great Switcheroo) - a little adultish in nature, but a very interesting read.

Wednesday, June 03, 2009

How people respond to content online

I came across a great article called 9 ways people respond to your content online by Rajesh Shetty today, thanks to Guy Kawasaki's tweet that I am following. After reading, I can't help feel that Guy himself is ignoring the article, as sometimes I feel he just posts way too many tweets for me to keep up, resulting in me doing Spam, Skip, or Scan! However, he can be excused because of sharing some great articles like this.

In short, Rajesh says that people perceive content in one of the following 9 ways (quoted directly from the article):



Negative Return of Investment on Interaction
  1. Spam: If your content does not provide a reasonable ROII (return-on-investment for an interaction) for the reader or is self-serving or simply useless, the reader will mark it as spam. Posting something that may be assessed, as “spam” is the fastest way to losing credibility.
  2. Skip: The reader makes an assessment that he or she won’t lose much by reading it. In this case, the reader has not written you off yet but if you consistently create content that is worth “skipping,” the reader might write you off.
  3. Scan: The reader thinks there are only a few parts that are of relevance and wants to get right to the core of the content and skip the rest.
Transform
  1. Stop: The reader is touched by the article and stops to think about the article, it’s relevance and what it means to him or her personally and professionally.
  2. Save: The content is so good that the reader might want to re-visit this multiple times.
  3. Shift: The article is transformational. The reader is so deeply affected (in a positive way) by the article that it shifts some of their values and beliefs. In other words, this piece of writing will transform the reader and make him or her grow.
Leverage and Engage
  1. Send: The content is not only useful to the reader but also to one or more people in the reader’s network. The reader simply emails the article or a link to it to people that he or she cares.
  2. Spread: The reader finds the article fascinating enough to spread it to anyone and everyone via a blog, twitter or the social networks that he or she belongs.
  3. Subscribe: This is the ultimate expression of engagement and a vote of confidence that you will continue to provide great content. When the reader wants to continue listening to your thoughts, he or she will subscribe.
He goes on to suggest some things to consider to re-think the way you write online content. I think this is a great way to look at how you create online content. In addition to his thoughts, I feel that you can still improve things more than just the content.
  • Make it easy for readers to ignore (1-3) if you can't avoid having some content in that category. An example would be to mark it in the title with a specific type or prefix that your readers will know to ignore better. Thus, you can remove the prefix for content where you want your readers' attention. This would be great for Twitter, for example.
  • Make it easy for readers to read (4-6) by proper spacing and lot of visuals to enhance their pondering capabilities. Visual cues are always great to help improve your thought process as people tend to think visually. If you have a transforming point, better to add a bunch of visuals to strengthen that point. For example, your blog content can be improved by adding some visuals.
  • Provide unobtrusive tools to facilitate readers to perform (7-9) without having to search for it. Lot of systems do this already by providing links to share, send, or social bookmark and it's a great use of unobtrusive technology.
Kudos to Rajesh for a nice article.

Java Store - Good concept but late arrival

Sun unveiled Java Store yesterday at the JavaOne conference - yet another example of playing catch-up. As Java user for more than 10 years now, I think it's a great concept, but can't help but feel that this would've been a great hit probably circa 2004.
It was a time when the Java brand was getting beaten up by almost everyone as being slow and cumbersome compared to native applications. A Java Store with some really good applications would have gone a long way in establishing trust and keeping the web insanity that happened at that time (almost everyone wanted a web app at that time - whether it fit the scenario or not).
Now, it just seems like Java is copying Apple's idea and desparately trying to hold some ground on their own. Given the popularity of iPhone applications and their foray more and more into non-trival application space, they probably are. Sun missed this exact boat a few years back when they introduced J2ME. While half the blame should be shared by the telephone companies that wanted to monopolize the mobile application arena, Sun could've come out with an 'app store' that would've lent a lot of credibility to mobile applications. But they didn't and it was up to Apple to come up with the concept.
I wonder if Sun will get any mileage out of this. I have always felt that Java WebStart was a great concept and probably a very under-appreciated concept within the Java stack and am very happy to see that brought to fore with this initiative. But the question is, "Is it too little, too late?"

Tuesday, June 02, 2009

Choosing the right laptop

This is a follow-up to the earlier post on selecting the right Intel chip with a broader scope - how do you select the right laptop?
To answer this, the first and foremost question is to understand what your needs are. Normally, you fall under one of these personas (sometimes a mix of two).

Regular 'Joe': You do the normal stuff such as all Internet activities, working with Microsoft Office products (Word, PowerPoint, Excel), watching movies, listening to music.
Artist: You work on the creative side - including graphic and video editing, design, etc.
Gamer: You are a heavy-duty gamer and play 3D games a lot.
Traveler: You are one of the above, but also travel a lot.
Mr. Cool: You want to be cool kid on the block, with fancy gadgets.

Once you've identified who you are, you can now find the right laptop. Here's the match.

Regular 'Joe': Get a Pentium Dual Core or low-end Core 2 Duo (T6400 or equivalent series) laptop, with 2GB - 4GB memory (if 4GB, you need Windows 64-bit edition. 32-bit supports only up to 3GB).
Additions would be a built-in web cam/microphone, 15.6" - 16" screen, 6-cell battery, 250GB - 320GB hard disk, DVD drive (with LightScribe, although not necessary).
This is typically priced at around $500.
Artist: Get either a Mac or a Pentium Core 2 Duo higher end (T9xxx or P series). Mac is normally the preferred option here, given its in-built support for creative applications. Moreover, most artists tend to use Macs and you would be in sync with them.
If going for a Windows system, get a laptop with good L2 Cache (2MB or more) and preferably a dedicated video memory (especially if doing a lot of video editing).
Macs normally cost around $1,200 - $2,000, while the Windows system costs around $800 - $1,000.
Gamer: Get a Pentium Core 2 Duo high-end, with a dedicated video card and at least 3GB RAM. Most low to middle end laptops have a shared video memory that does not suit well for gaming. Also look for the L2 cache capability. You want a laptop with a good L2 Cache (2MB or more) for good performance.
Gaming systems usually cost around $1,000 to $1,400.
Traveler: This is essentially an add-on profile. The key consideration is the weight of the laptop and the battery life. It's better to get a 14.1" or 15.4" screen with a 9-cell battery. 6-cell battery - the default for most laptops, lasts for around 2 to 2.5 hours, while the 9-cell can go up to 3-4 hours. Also 15.4" or less screens weigh at around 5lbs - 6lbs, while the 16" and above laptops weigh at around 6.5lb - 7.5lbs and can be a burden on your back. If you work mainly with Microsoft Office and Internet, you might also want to consider a Netbook.
15.4" and less systems cost anywhere between $400 and $600. Netbooks are roughly priced between $200 - $400.
Mr. Cool: You'd probably want either a Mac or a Netbook.

That said, all the logical reasoning above is typically trumped by your emotional reasoning, which a number of psychologists say, is what determines your final purchasing behavior. If you've made up your mind to get a Mac even if you are not an artist, no matter how much I convince you otherwise, you'll end up buying a Mac. In that case, ignore this post and go and buy a Mac.

The core wars - Pentium dual core or Core 2 Duo

I've been getting some queries from my friends on what I consider to be a good middle-of-the-road laptop purchase. I did some research and came to the following conclusions. Hope this helps you in your next purchase.
Intel hasn't made anyone's life easier by providing a range of processors to choose from (I keep getting reminded of Barry Schwartz's Paradox of Choice). If you are in the market for a decent laptop, you are faced with a number of options. For my scenario, I am limiting my choice to just Intel processors. Within Intel, there are two popular camps - Pentium Dual Core and Pentium Core 2 Duo.
You can read an excellent technical article on the difference between Pentium Dual Core and Core 2 Duo. I have attempted to give a gist of the article along with my impressions here.

Pentium Dual Core: This is a 65nm based chip that is considered as slightly 'old' school, or more accurately 'current' school. This is a very competent chip that has two processors and performs quite well. Being a 65nm chip, it generates a decent amount of heat, but not as much as the previous models.
Pentium Core 2 Duo: This comes in two flavors - 65nm and 45nm (and that's the catch!). The 45nm is considered 'future' generation and generates much less heat and is more powerful with a different architecture.

What the marketing fluff does not tell you is that the 65nm Core 2 Duo chips (T4200/T6400) are 95% similar in performance/architecture as the Pentium Dual Core and hence don't really buy you anything (except for an additional 1MB cache). The 45nm Core 2 Duo chips are T9xxx series or P series chips.
The price is where you'll notice the main difference. Pentium Dual Core systems sell for around $500, Pentium Core 2 Duo 65nm for around $550 - $600, and Pentium Core 2 Duo 45nm for around $800 - $900.
So, now comes the main question - what to choose? I normally answer this by asking for the buyer's need. At the end of the day, that's what determines the selection.
If you are planning to use the laptop for standard use, such as for checking email, using Microsoft Office, browsing the net, and even for some low-medium weight programming, I'd suggest going with a Pentium Dual Core (or the low end Core 2 Duo if the price is same).
On the other hand, if you are a hard-core 3D gamer, work a lot with video editing software, or do a lot of graphic manipulation, then Core 2 Duo higher end would be a better option with its increase cache and lower power consumption.