tzlee.com/blog

Recycled garbage is useful material…

The Beauty of CLI

without comments

While Apple has successfully proven to the world that a well designed Graphical User Interface (GUI) can indeed provide better user experience, the beauty of a good Command Line Interface (CLI) shouldn’t be forgotten either.

A GUI works well in consumer environments (e.g. SOHO routers), but enterprises and service providers work a little differently.

I work in a service provider environment and have seen quite a fair bit of “high end” technology products. (These are usually appliance or black box hardware, like firewalls, routers, load balancers, DPIs, etc.) My observation is that while a lot of them have a great solution to an engineering problem, they actually create a management problem. Why? Because of the lack of a proper CLI or a proper management tool.

There’s only so much a GUI can do to manage something as complicated as, say, a firewall. Check out the screenshots below taken from Mac OS X and Windows XP. They’re surprisingly complicated and not exactly useful. FYI, clicking on the [+] button on the Mac brings you to a file browser; I was expecting a form with IP address, port numbers and protocols.

Windows XP Firewall Configuration

Mac OS X Firewall Configuration

So, how do I add a rule to allow my custom app running on UDP port 15,233? How do I tell the firewall to stop processing further rules if I see a certain TOS marked packet? These aren’t use cases for consumer firewalls, but in enterprises, rules like these are very common.

Firewalls are actually simple examples of GUI gone wrong. However, there are way more complicated devices than firewalls around, such as load balancers, DPIs and all sorts of routing gear. The problem gets multiplied many folds when there are tens, hundreds or even thousands of these configurations to manage on multiple machines.

While a fancy GUI gets you through a sales pitch with the higher management folks, it’s really a PITA for the guys (like me) running the show. There’s a certain beauty in CLIs that GUIs cannot emulate. One if them is duplication. It is extremely difficult to duplicate mouse clicks and menu navigation, not to mention getting around errors. Imagine you have 1,000 Windows XP machines. You need to add a new firewall rule to allow your users to access a new mail server. Without Active Directory, you’d have one hell of a time… clicking.

The other pain of working in enterprise datacenters is the lack of remote access (thanks to NAT and VPN crap) or an actual monitor console. Many engineers run around with a laptop and a RS232 serial cable. That’s all that’s needed to manage a device on the run.

So if you’re going to build something for the enterprise, particularly appliances/black box devices, please focus some effort on building a proper CLI or centralized management. Learn from the experts – there’s a reason why guys like Cisco, Juniper and Extreme are industry leaders.

Written by Justin Lee

February 8th, 2010 at 4:59 pm

Building a CF Card Based Home Server

with 4 comments

Thought I would recycle some old systems in my house, so I dug up an ancient Book PC (Micro ATX?) running Celeron 1GHz with 128MB RAM and decided to do away with the risky hard drive that was generating lots of heat and rebuilt it with a CF card drive.

Celeron 1GHz, 128MB RAM

I got myself several IDE to CF adapters off eBay and also two unbranded 4GB CF cards. Flash disks are getting quite affordable recently and this is a good way to repurpose an ancient machine without having to spend a bomb on SSDs (and maybe a SATA controller).

IDE (PATA) to CF

Installed CentOS and I’m off for several hours of Yum update. I’ll turn this into a home development box and print server. No X11 (GUI) on this thing. 128MB is no longer enough to do these fancy stuff on modern distros.

Good old Socket 7

One thing though, I’m looking for a more efficient and low profile heat sink/fan combo for Socket 7/370. I can’t find anywhere that sells these stuff now… at least not for a decent price.

P.S. Due to an ordering error I have two four extra IDE (PATA) to CF adapters. If you’d love to have them, please drop me a message and I’ll happily pass them to you. The wife while (true) { nags(); } at my historical archive of  computer hardware, such as the CPU Hall of Fame below.

My CPU Hall of Fame

Written by Justin Lee

February 8th, 2010 at 11:28 am

Posted in Technology

Tagged with , ,

No Real Use for Google Wave?

with 3 comments

I can’t seem to think of a very practical use for Google Wave. IMHO it’s a technology that’s neither here nor there. It’s not a very effective replacement for e-mail either as it’s not a scalable model. It’s not exactly a great collaborative tool as well though I agree maybe it has good use for taking meeting minutes and random notes. It’s certainly not a good file sharing or document editing tool.

I’ve been thinking quite a bit on what I can really do with Wave. It’s frustrating actually :P

On a side note, it’s surprising how the ancient DNS and SMTP protocols we take for granted scaled so well. IETF and IEEE are a bunch of geniuses.

Written by Justin Lee

February 8th, 2010 at 3:00 am

Posted in CS3216, Technology

Tagged with , , ,

World Class Troubleshooting

with 2 comments

I’m sitting in a client’s office and just two cubicles away, this guy is on the phone with another guy trying to troubleshoot something.

“Hello? Yah, yah? What is wrong?”

Few seconds later…

“Oh, can you go inside? Erm… edit the file?”

Few seconds later…

“Yah, use pico open the file.”

One or two seconds later…

“Pico don’t have? What you use? Nano? Don’t use nano. You try pico?”

Few seconds later…

“No pico? Install pico and try?”

Few seconds later…

“OK, you call back. Yah. OK, thanks, bye.”

So he concluded the guy used the wrong editor? :P Few minutes later, he makes a call to someone else.

“Hi, yah, er, ask you ah, how you see the Linux is 386 or 686 or x64?”

Two seconds later..

“Oh like that ah. Use you-name lah. OK. Then, then… like that I cannot install the 386 on 64bit lah?”

Wahlaueh, it drives me nuts just listening to the conversation :P Heng I don’t have to work with these people.

Written by Justin Lee

February 4th, 2010 at 4:31 pm

Posted in Technology, Work

Qualifications Speak for Nuts?

without comments

http://roomfordebate.blogs.nytimes.com/2009/08/03/what-do-school-tests-measure/#comment-127279

Busy at the moment. Will blog later. Link for your reading pleasure.

Written by Justin Lee

February 4th, 2010 at 11:47 am

Posted in Life, Work

Causes App Critique

with 4 comments

Before I joined the CS3216 class, I promised Prof. Ben I will do his homework, so I decided I should really do it. Here’s my critique. To save him the agony, I have decided not to write a thesis and keep it short. :P

Anyway…

So what is Causes?

Technical description. It’s an application in Facebook that allows a user to make a difference by donating to a cause.

Non-technical description. It’s something in Facebook that allows people to make a difference by donating to a cause.

Hokay, enough of rubbish. So Causes aims to solve some problems, and in my opinion it is well positioned to solve what is known as the Social & Economic Injustice.

Socially and economically, we have created great disparities of wealth. A minority of the world’s population (17%) consume most of the world’s resources (80%), leaving almost 5 billion people to live on the remaining 20%. As a result, billions of people are living without the very basic necessities of life – food, water, housing and sanitation.

If the top 20% of the world’s population is 1.2 billion, then I am quite confident that Facebook users are amongst the top 5% (~300 million).

The problem with traditional forms of donation

The problem with traditional forms of donation are that they lack public visibility and transparency on a global scale. NPOs depend highly on volunteers to do all sorts of things like donation drives to keep them alive. There aren’t many self-sustainable foundations like Bill and Melinda Gates around. And if you haven’t forgotten the NKF saga where the infamous quote on peanuts came about, it’s obvious that we don’t really know where the money goes.

Basic Concepts

  • The Power to Make a Difference as a Social Media. This app basically demonstrates the power of social media and that it should not be underestimated. As of this writing, the Hope for Haiti Now cause has raised US$42,930 (S$60,617).
  • The Power to Make a Difference as an Individual. Unlike traditional donations (I’m referring to the tin-can school boys and girls at MRT stations), this app allows you ample time to search for a cause that you think really matters (than somebody preaching some unknown cause to you), read all about it before you donate. The best part is that it shows you the total amount (transparency) and others who have donated (confidence).
  • Transparency. This app seems to have done a good job by naming the beneficary organization (usually registered in the US) and by reflecting the total amount donated. However, the same old problem still exists – we don’t know where the money goes.

Technical Concepts

  • Main Navigation. Simplicity is the key. The adaptation of the Facebook UI is great, making it look clean. If you haven’t realized, clicking on Best Of brings you out of Facebook to www.causes.com which completely copied Facebook’s top bar.
  • Front Page. It seems like the front page of the Causes app has a similar concept to BOOMZcart. It recommends you potential causes and also shows the causes that your friends are participating in, but there’s some issues I observed.
    • The recommendations don’t seem to match any of my profile interests. Is it a targeted recommendation, or a random recommendation?
    • I see four causes, but they’re all the same person. It should show four unique friends instead.
  • Individual Cause Page. In my opinion this has been very well executed by mimicking Facebook’s user profile page. It provides user interaction (via Home tab), sufficient details (via About and Impact tabs), network information (via Members tab).
  • Browse Causes. Under the Find Causes navigation menu. It’s broken (returns empty page).

Food for Thought

  • Show me the money. Beneficiary organizations should provide detailed breakdown of where the donation money went. I’m not sure if this information is easy to obtain as I’m not a US citizen.
  • Real People, Real Responses. What if somebody from the Haiti earthquake came in and said, “Thank you for your donations. My family survived the ordeal.” I would hope this to happen.

P.S. Sorry I wrote this post in a rush and it looks abit random with broken sentences and such. Hope you can understand what I’m writing :P

Written by Justin Lee

February 4th, 2010 at 9:56 am

Wow, US is in Deeper Shit

with one comment

Two news stories on Straits Times caught my attention. You should check them out too.

US debt to hit ceiling

WASHINGTON – THE US debt is on track to hit a congressionally proposed debt ceiling of 14.3 trillion (S$60.6 trillion) by the end of February, the Treasury said on Wednesday, a day ahead of a key vote to raise it to that level.

AIG to pay US$100m in bonus

NEW YORK – BAILED out US insurance giant AIG, now 80 per cent government owned, will distribute about US$100 million (S$141 million) of bonuses to employees on Wednesday, a person close to the matter said.

Wow, maybe the US should be charged credit-card rates for the money they owe and the Treasury folks should contact our National Council on Problem Gambling.

And whatever the rest of the story is about justifying the $100m in bonuses is just pure BS.

US is going downhill. Some other country will take over the world soon. They are in shit. Deep, deep shit.

Written by Justin Lee

February 4th, 2010 at 8:35 am

Posted in Politics

Tagged with , ,

Not Being a Good Student

with 2 comments

I’m not really graded, so this means I can be a bit pai kia and not blog on a specific app that was presented. Unfortunately, I’m not 14 years old.

To be honest, I didn’t do anything for the Facebook Application Seminar project, that’s why I decided to do some community service and take photos instead. The project discussions were done over the weekend and I was packed with all the random things to do, like visiting the in-laws, visiting my parents, attending KHCO’s 35th Anniversary dinner and of course spending time with my wife who’s almost about to twist my ears off for reaching home past midnight this morning. What’s with women and being alone at home? :P

Dr. Ben Leong wrapping up the class.

I’m very impressed by all the presentations yesterday. To be honest, they are way better than about 90% of the business presentations I’ve seen. BTW, what’s that tool that some teams were using? It’s like a huge template that’s sliding around. It’s not PowerPoint – it looks web based. Somebody please enlighten me.

Basically as many have observed, the most popular apps might not be the prettiest or the easiest. There’s many factors around which an app can be successful. It is important that CS3216 students see beyond their academic scope and realize that the world is not so simple. Jonathan’s presentation made this point even more obvious.

Jonathan Low on scams.

Unfortunately for the most of us who believe in doing good, doing business is not really the same. It’s quite a tough balance of being God and Satan. Why? I think because humans are selfish in one way or another – it’s our natural survival instinct!

Just to cite an example. Google is well known for it’s motto “Don’t be Evil“. However AdWords survived quite a while with click fraud until they got sued. It’s not entirely their fault – they didn’t do it deliberately – but they knew it was happening and was making them money, so they didn’t really stop the fraudsters; not at least until they got their ass under fire.

Cedric on prediction markets.

The second part that got me thinking was the presentation on Prediction Markets. Facebook has over 300 million users. Although this is not larger than the population of China or India, it is certainly a substantial population where a good sampling of information can be obtained. If there’s a great app to build, it would be one that analyzes social behavior for market intelligence. Food for thought.

Written by Justin Lee

February 2nd, 2010 at 9:34 am

Posted in CS3216, Technology

New glibc in CentOS 5.4 breaks VMware Server 2.x

without comments

I’ve been puzzled for quite a while now why the web UI keeps crashing on one of my VMware servers here, and I finally decided to kick my lazy ass and get down to work.

I found out that it was the vmware-hostd process that hosts the web UI ports (HTTP on TCP/8222 and HTTPS on TCP/8333). A quick search on Google gave me just what I was looking for.

So it seems the new glibc version in CentOS 5.4 breaks VMware Server 2. If you’ve already upgraded your server, here’s how you can downgrade glibc:

  • Go to /etc/yum.repos.d
  • Make a copy of CentOS-Base.repo to CentOS-5.3-Base.repo
  • Edit CentOS-5.3-Base.repo and rename all the headings in the [brackets], e.g. [base] -> [base53]
  • Do a search and replace all $releasever with 5.3
  • Save the file
  • Run yum clean all then run yum downgrade glibc glibc-common
  • You’ll also need to re-run vmware-config.pl
  • After the downgrade is done, edit /etc/yum.conf and add exclude=glibc glibc-common glibc-devel glibc-headers glibc-utils nscd on a new line to avoid future update issues, at least until VMware decides to fix it.

Written by Justin Lee

February 1st, 2010 at 4:31 pm

Posted in Technology, Work

Tagged with , ,

Second Thoughts on the Apple iPad

with 2 comments

Before I slept last night, I thought, “Apple ain’t stupid.” They wouldn’t do something like not install OS X, so I went to bed, tossed and turned a bit, woke up this morning and saw some light.

The iPad (urgh, I just feel wrong typing this name) is essentially a full screen touch device. Actually, they aren’t the first to build such devices. Tablets have been around for a while, and they weren’t very successful in selling. What was the problem?

Windows. When Microsoft designed Vista, they had touch devices in mind, that’s why the sideways expanding Start Menu disappeared and was replaced with a scrolling design with larger icons. The user interface also had larger scrollbars and minimize/maximize/close buttons.

But that was not the point. PC software was not built for touch devices in mind. Not that Microsoft designed Windows badly, but developers will naturally build apps for the larger majority – the regular PCs driven by a mouse and keyboard.

So I think you get the idea now. Apple have had great success with the iPhone/iPod Touch’s software model and created the new multi-touch interface paradigm. They’re bringing this wisdom to the new iPad. If they had put OS X on this thing, people would go around installing regular OS X software and the user experience would be completely messed up – imagine hideous titlebars in the Aqua UI just so you can touch the minimize/maximize buttons.

I’m going to bet my hard earned money on this one and buy an iPad when it’s launched.

BTW if you read this post on Gizmodo, I’d agree no multitasking sucks, but the comment on the ugly bezel is irrelevant – you need a place to hold the iPad without interfering with the touch sensitive areas of the screen.

Written by Justin Lee

January 29th, 2010 at 11:37 am

Posted in Technology

Tagged with ,