Tim Keller

Web, IT, Telecoms, Development, Networks, Photography, Life.

Archive for 2008

Kuala Lumpur City

without comments

Written by Tim Keller

September 21st, 2008 at 7:55 am

Posted in Uncategorized

The (poor) state of Twitter

without comments

This morning (or evening, depending on where you are) Twitter launched its brand new UI. I was one of the few people who got to have a look at this new UI back in July few literally a few minutes and its rather nice.

The UI improvements are notable, but altogether uninspirational when you consider how much else went wrong with Twitter’s backend infrastructure. So, I present a letter to Twitter.

Dear Twitter.

Thanks for the new UI. Why didn’t you bother including your recently purchased Summize Search Engine? I’m getting tired of going to a different URl when I search you. And why did your new UI bring such massive backend problems?

Let’s have a quick look at your status page at Status.Twitter.com:

During tonight’s update users may have encountered a strange bug where their background image dissapeared.

Right, this was not just a ‘strange bug’. Let’s be honest, when we webapp designers do something stupid we call it a ‘strange bug’. You simply didn’t test what would happen if you installed the new UI over people’s profiles that had existing custom backgrounds on a particular asset (Amazon s3) sever. Fail for not thinking.

This has been fixed. If you are still experiencing the problem send an update to @twitter with the words “no background image” in the tweet and we’ll fix it for you.

This report further goes to prove that you were to blame. Okay, shame, we can survive messed up backgrounds.

Then later you said.

The site has been slow and many users have been getting errors. We are working through the issues now and will be deploying fixes as quickly as we can.

Well, we’re so glad to know you’re “working through the issues” guys, but may I venture a guess that you actually don’t have a cooking clue what is wrong?

Update (4p): We’re still working through these issues. As we deploy potential fixes (emphasis mine – TK) for the underlying problems, some additional instability may be introduced. A number of whale pages are being thrown right now. We are working on it.

Thanks for the news that after a full day you’re still “working through these issues”. Good job. So, you actually don’t know what you’re doing and instead are just trying random things.

You clearly don’t have a staging server where you test builds before taking them live else these wouldn’t be “potential fixes” but rather “actual tested fixes”. And while we’re on it – stop with the Whale Pages, they’re lame and uninformative. Again, stop telling us you’re “working on it” – tell us when you’ve fixed it.

We are currently in the process of re-balancing our timeline cache. You may see missing Tweets in your timeline. This should be entirely cleared up by tomorrow afternoon.

You’re re-balancing your timeline cache? What the hell does that mean? Using big words impresses no one dudes. Just say, we’re having to reindex our whole database because our architecture and infrastructure sucks.

Enough is enough. You’ve had plenty of time over the last 4 months to rewrite the whole app. While you’ve been piddling around with your little Ruby on Rails Fails app, Laconica has implemented an opensource, distributed, PHP5 version of your product which is stable works extremely well.

Get it right, or go home, because we’re getting tired of the flakeyness.

Written by Tim Keller

September 20th, 2008 at 10:03 am

Posted in Uncategorized

SNL Sarah Palin

without comments

NBC’s Saturday Night Live was just awesome this past week as Tiny Fey (former Head Writer at SNL and creator of 30 Rock) inpersonated Sarah Palin in the sort of flawless detail that has not been seen on SNL for many years. Here’s is NBC’s official embed of the clip:

Written by Tim Keller

September 18th, 2008 at 5:47 pm

Posted in Uncategorized

Using PHP PECL to solve your problems

without comments

So, okay, perhaps that’s too general a post title – let me explain.

Over the weekend we got ready to push out a major update to ChirpSchool and ChirpBusiness. Amongst the new features (like our new DB layer, Social Chirp, Infobase upgrades, and a pretty major application server restructuring) was the new module called Intouch which delivers SMS’s to staff and parents.

Chirp uses JSON to transport information between the backend and UI of the SMS system. Problem is PHP-JSON ships with PHP 5.2.0+, and we still have Ubuntu Server 6.06LTS on a few servers which only has PHP 5.1.x available.

We could have upgraded 6.06 to 8.04 (also an LTS release) but that brings its own set of challenges, risks, and annoyances. Equally, we could have compiled PHP 5.2.x from source and replaced the running 5.1.x with it. This was tempting but since 5.1 was an Apt-Get install we were hesitant to remove it when this server was very much a live production box.

Our final idea and eventual solution was to add the JSON library as a PECL Extention to our existing PHP 5.1. Here’s (simply) how we did it:

  1. Make sure your Ubuntu Server has the neccesary packages:

    apt-get install php-pear php5-devel

  2. You may need to update PEAR so that it grabs PECL:

    pear update

  3. Use the PECL installer:

    pecl install json

  4. Add the extension to php.ini

    add extension=json.so to /etc/php/apache2.ini and /etc/php/cli.ini or wherever you have your PHP configuration files stored.
  5. Restart or Reload Apache HTTPd to see changes take effect

Finding this solution saved us potential headaches, data loss and related undesirable things. I’d highly recommend you take a look at http://pecl.php.net and see if the extesion you require is available before upgrading your PHP version or even distro!

Written by Tim Keller

September 15th, 2008 at 6:12 pm

Posted in Uncategorized

Microsoft Seinfeld 2008

without comments

I’m still not entirely sure what my opinion on these adverts is. I like how Bill Gates’ silly-side is expressed and exploited. Its funny seeing one of the richest men alive do the robot, but will it sell me Windows? Who knows.

Advert 2

Advert 1

Notes on the Gates-Seinfeld cancellation

On September 17, rumours spread that future “episodes” of Gates-Seinfeld had been cancelled for various reasons including “consumer confusion” and because they portrayed Microsoft as just “totally out of touch”. These rumours were later squashed on September 18 when a trusted source of Gizmodo informed them that the ads were very certainly not cancelled but rather that Microsoft had asked them to prioritize development of the “Anti-mac ads”.

I for one, at the time of writing, am glad they will live on. I think its the most fun Microsoft have made of themselves in years!

Written by Tim Keller

September 12th, 2008 at 5:29 pm

Posted in Uncategorized

My moments of Deviant Fame

without comments

When I was in High School I was quite the DeviantArt addict. I posted daily and received lots of accolades for my early photographic work, long before I got around to purchasing an awesome camera. Towards the end of the addiction to DA I posted two photographs of two surfers down at Kommetjie beach. They were my friends Chris B and Matt E, local Kommetjie guys.

The photos have become an absolute hit with 50+ favourites each and many positive comments over the years. I thought it perhaps worthwhile to post them here.

Feel free to comment here or on DA if you’re a member!

Written by Tim Keller

August 31st, 2008 at 5:07 pm

Posted in Uncategorized

London 2012 Stadiums

without comments

The proposed designs for the London 2012 Olympic stadia:

The Olympic village will be placed in the Lower Lea area of London.

Looks the architecture of the stadia are set to continue the recent history of truly awesome olympic designs. Now if only the would drop their awful logo!

Written by Tim Keller

August 31st, 2008 at 7:56 am

Posted in Uncategorized

Setting up LAMP within a small network

without comments

My friend Alain K is deploying the first version of his soon-to-be-released desktop application, WealthWorks. It is designed for Personal Financial Advisors and Investors that need to track client information, risk profiles, investments and returns. He has a MySQL backend with which the C# client application connects.

Due to the latency on South African DSL connections and the fact that the application is quite chatty, he is installing database servers within company intranets. This tutorial goes through the basics of making this work on a network where there are no static public IP Addresses available.

Decisions

Start with a piece of paper. Draw the network including any cables, routers, computers or switches that you think are important. This will give you a broad understanding of where your server fits into the picture.

The computers on the network will access the server you are setting up via its IP Address. Ask the network administrator for an open address which you can use.

Configure the computer to use this address as a Static IP.

Tutorial: Setting up a Static IP on Windows (Read)
Tutorial: Setting a Static IP on OSX (Read)

MySQL Installation

Start by installing MySQL. If all you want is the database server then head over to the download page on MySQL.com and grab it. If you need a full Apache+MySQL+PHP stack then take a look at WampServer (Windows only) or XAMPP (MacOSX, Windows, Linux, or Solaris). Both packages include very cool GUIs for installing and controlling the server.

MySQL Management

You’ll no doubt want to change the root user password and upload your database scheme to your newly installed server. I personally use Navicat – a great GUI for MySQL which comes in both a paid and free version. Give it the IP address you chose earlier, and the username and password of ‘root’ and blank (nothing, empty string, etc) respectively. In no time at all you’ll be browsing your database.

At this stage, all the other computers on the local network should be able to reach MySQL on the IP address you specified (remember, it serves connections on Port 3306).

Accessing it from the outside

The next step is to make your database accessible from outside of the local network. If you’re a consultant working from home or a different office, you’ll undoubtedly want this sort of access. Similarly, you may want clients to be able to connect in via the internet.

You need to tell your router to accept all incoming mysql traffic and push it to that server. We call this Port Forwarding. We are going to forward all traffic (on mysql port 3306) to our mysql server on our local network (also port 3306).

Follow the instructions on PortForward.com to configure your router.You want to forward all incoming traffic on port 3306 to 10.x.x.x (or 192.x.x.x) on port 3306.

Likewise, if you’ve got an Apache, MySQL, PHP setup on the server, you’ll want to access the website/webapplication by going to a URL from a web browser. The trick is to sign-up for a free DynamicDNS account at www.dyndns.com and add that to your router’s configuration.

I trust this helps! Suggestions and thoughts, please :)

Written by Tim Keller

August 28th, 2008 at 3:56 pm

One of my favourite moments in Scrubs Season 7 :)

without comments

Written by Tim Keller

August 28th, 2008 at 10:53 am

Posted in Uncategorized

Refreshing Podcasts

without comments

From time to time I have a problem getting the podcasts I’m subscribed to, to update. For example, a new MacBreakWeekly (www.twit.tv/mbw) was released last night yet my iTunes refused to notice it’s existance all day… and this is not the first time I’ve experienced this issue.

After a little messing around I located the XML file which describes the podcast’s RSS feed. It was on Leo Laporte’s server at leoville.tv/podcasts/mbw.xml. I opened it in Firefox and noticed that the feed didn’t have the new podcast in it either.

I decided to try and clear my browser cache for the page with a Cmd+Shift+R (something like Ctrl+F5 on Doze) and lo! and behold, iTunes started downloading the new podcast!

So, today’s iTunes Podcasting tip is: “Clear you’re damn Firefox cache!” :)

Written by Tim Keller

August 27th, 2008 at 11:31 am

Posted in Uncategorized

Tagged with , , , , , , , ,