Archive for December, 2009


I am an Amazon fanboy

I think this is the final instalment in my story “The Amazon Saga”. Ok, perhaps 10 paragraphs don’t a saga make and I guess the story line, in the end, isn’t all that interesting, since it’s basically all good. What makes the story though, in my humble (but learned!) opinion, is how ridiculously good Amazon is.

To recap: My Kindle kicked the metaphorical bucket on the 25th. I phone Amazon on the 28th to tell them. They shipped a replacement on the, wait for it, 28th.

I received the replacement today, the 31st. Not only did Amazon not give me any shit when I told them my Kindle was busted, they shipped me a brand new one, to the other side of the planet (literally) in less than three days, in between christmas and new years, for free and are paying for me to send back the old one. I, shit, you, not.

To say that the Kindle is a great product is an understatement. To say that the whole Kindle eBook distribution system is great is an understatement and to say that Amazon customer service is excellent, is an understatement.

I would challenge anybody to show me service like that anywhere else, but especially in this country and especially this time of year.

In the emails from Amazon, their tagline is: “We’re Building Earth’s Most Customer-Centric Company”. They are not, in fact, kidding.

As I said before, buy lots of Amazon stuff, I do. I am officially an Amazon fanboy.

I spent some time recently looking at replicating a live, busy Postgres database to another box as part of a disaster recovery plan. From the outset I thought it was either going to be pretty simple or pretty complicated. It ended up being neither.

A bit of background. I’ve spent nigh on 11 years working with MySQL and have never really *needed* to work with another database system (except for SQL Server but that is another story entirely). I basically grew up (professionally) using MySQL for practically everything on every platform.

A couple of years ago I was forced to look at Postgres as part of a billing system I was working on and the experience wasn’t… very agreeable. It’s not a reflection on any attribute of Postgres mind you, just that is was different (read: possibly more complicated to work with) from MySQL.

Recently, the projects I have been working on use Postgres and I have been forced to have another very good look at it for which I am grateful. This last bout has changed my mind about Postgres completely. Once you get over the differences and get used to the tools, Postgres is very, very cool. But I digress, that train of thought I will finish in a fan-boy post some other time.

Replicating a live, big, busy Postgres database. Where to next?

There are a bunch of options actually and you can check them out here:
http://wiki.postgresql.org/wiki/Replication,_Clustering,_and_Connection_Pooling

Researching the options basically came down to this:

1. If I were setting up both database servers from scratch, I would probably give DRDB a try (http://www.drbd.org/). It’s basically mirrors an entire block device via a network. I didn’t have the stomach to set this up on two existing servers with different disks and OS versions.

2. For an existing system, I decided to give Londiste which is part of Skytools a try. Why? ‘Cos it looked pretty simple. And it was made by the dudes at Skype and if it’s good enough for Skype it’s got to be good enough for me, right? Right. And also, it’s in Python and I now like Python, a lot.

I would write a ‘how to set up Postgres replication on Ubuntu with Londiste and Skytools’ but that would be pointless. There is already a pretty good one right here:
http://wiki.postgresql.org/wiki/Londiste_Tutorial

With some extra stuff, like monitoring with Munin here:
http://wiki.postgresql.org/wiki/Skytools

The abridged version:
– Back your shit up.
– Download Skytools from: http://pgfoundry.org/projects/skytools
– Configure, make, install (will need Postgres development libraries) on both the master/provider and slave/subscriber.
– Create ticker.ini configuration file on the master/provider
– Install and run the ticker daemon on the master/provider
– Create the replication daemon configuration file on the slave/subscriber
– Install Londiste on the provider (from the subscriber)
– Install Londiste on the subscriber (from the subscriber)
– At some point, dump the master/prover database to the subscriber/slave (dead simple example: http://stackoverflow.com/questions/1237725/how-to-copy-postgres-database-to-another-server)
– Have you backed your shit up?
– Launch the replication daemon
– Add the tables you want to replicate to the provider queue
– Add the sequences you want to replicate to the provider queue
– Add all the provider tables to the subscriber
– Add the sequences to the subscriber
– Watch the log file and see all the replication goodness
– Check that the two databases have synced properly

Simple no?

Obviously there are some other things to consider like altering tables, monitoring performance and the like, but so far, it’s going exceedingly well.

A camel is cool, an elephant is cooler, but a Llama is the shit.

W0rd up?

Check it out, a post for the sake of posting (I hear the gasps, the exclamations of “No!”).

Amazon, as it turns out, have possibly the best customer service I have ever experienced. I phoned them up, told them that my Kindle had died. The “customer service associate”, while not the friendliest lady I’ve ever spoken with, was very professional. Long story short, Amazon are sending me a new Kindle, it has already shipped. I shit you not.

The whole story took about 10 minutes, I got the confirmation emails within the next five minutes and not a day later I got the shipping email. They also sent me detailed instructions on how to send back the dead kindle. And they will pay for it. I shit, you, not.

At the risk of celebrating too early and praising Amazon for something they haven’t completed yet, I award them a Purple Llama. It’s like a Michelin Star only for General Awesomeness. Completely biased and very lax inspection standards. I also award RedBull a couple of Purple Llama’s.

Buy stuff from Amazon and also drink RedBull.

I'm watching you ass-eyes

Major Payne: “Let me tell you something ass-eyes, let me tell you ALL something: war has made me very PARANOID and when you get to eye-balling me, makes my Agent Orange act up, makes me want to KILL!”
The Llama is watching you.

Oh, the humanity!

I have, sadly, been forced to read an actual book. I know, I know, I can hear you thinking: “Sweet merciful crap, how could things have gone so very wrong”.

Well, it’s true.

My beautiful, much loved Kindle, has sadly passed on. I wish I could say more about the place that Kindle has gone but I can’t. It is dead and no amount of resetting, charging and wailing has revived it. And the place it has gone cannot possibly be better than under my nose where it used to live.

Ok, fair enough, I have not actually, physically spoken to Amazon about the sad sad situation but I seriously doubt there is anything even their best tech support people can do.

The poor bastard Kindle 2 didn’t even make it into it’s third month. It had a lovely leather cover, it was treated like the beautiful holy object that it was. Never ’twas it dropped, bumped, scratched or a dirty finger place upon it. And now it is dead. I should be furious. I am crushed. In mourning even.

No, I have no idea why. The wireless hadn’t connected in almost two weeks. It didn’t bug me much, I had plenty to read. Then, not a day after Isaac Newton’s 366th birthday, I try to switch it on and holy haleakala (HT Phil Plait – My second favourite guy I’ve never met, spoken with or communicated with at all(TM)), the screen is all messed up. Lines and shit all over and a bit of the screen saver picture stuck in the corner. Many, many hard resets later, you can see a vague flickering on the screen when turning it on but that’s it.

I have read 50 blogs and tried, basically, every single thing with no effect.

A long, descriptive email to Amazon support got me an email back saying that they were sorry that my Kindle died prematurely but that I should phone them so they could talk me through some more things to try. I will phone but I am, frankly, a little skeptical if they will replace it when that procedure turns out to be for naught. Perhaps Amazon surprise me and restore my faith in humanity. Ok, possibly Amazon will surprise me.

Assembling IBM Hardware

“All parts should go together without forcing. You must remember that the parts you are reassembling were disassembled by you. Therefore, if you can’t get them together again, there must be a reason. By all means, do not use a hammer.”
– IBM Manual, 1925

And *that* is all I have to say about that.

There are things that make me furious.I just can’t think of any right now because I’ve been playing Quake Live for 10 straight hours. Bit of a blast from the past that. The hours and hours I used to spend playing Quake 3 Arena LAN games is scary. How terribly shit I am now compared to the guys I played against today, that is also scary. My cat like reflexes have become dull with age… or something something… drool.

Anyway, it’s pretty cool, the plug-in runs in the browser, takes a bit to download but check it out:

http://www.quakelive.com

You need not phear the Llama on Quake Live, it is not his kung-fu and it is not strong.

PS. Use Firefox, they don’t support Chrome yet, and those are the only two browsers.

A nice quote from the beginning of the world:

Members of the earth’s earliest known civilization, the Sumerians, looked on in shock and confusion some 6,000 years ago as God, the Lord Almighty, created Heaven and Earth.

According to recently excavated clay tablets inscribed with cuneiform script, thousands of Sumerians—the first humans to establish systems of writing, agriculture, and government—were working on their sophisticated irrigation systems when the Father of All Creation reached down from the ether and blew the divine spirit of life into their thriving civilization.

“I do not understand,” reads an ancient line of pictographs depicting the sun, the moon, water, and a Sumerian who appears to be scratching his head. “A booming voice is saying, ‘Let there be light,’ but there is already light. It is saying, ‘Let the earth bring forth grass,’ but I am already standing on grass.”

Read the entire story here: http://www.theonion.com/content/news/sumerians_look_on_in_confusion_as

The llama knows.

Worth

“If you think you are worth what you know, you are very wrong. Your knowledge today does not have much value beyond a couple of years. Your value is what you can learn and how easily you can adapt to the changes this profession brings so often.”
– Jose M. Aguilar

And that is all I have to say about that.

Major Payne

Major Payne: “From now on, you will not eat, sleep, blow your nose or dig in your butts without my say so! Killin’is my business, ladies, and business is good!”

Respect the llama. The llama was trained by Payne.

Follow

Get every new post delivered to your Inbox.

Join 125 other followers

%d bloggers like this: