Moving

In other news of the day … we are going to be moving in the next few weeks to Bangalore. Avanade, is sending me on a posting/secondment to Bangalore for 18 months to help out with a few things. Of course, the family will be moving as well. After my tenure, the plan is to come back to London.

So, over the next few days/weeks there is going to be a flurry of activity with us trying to rent our flat, sell the car, packing, moving things into storage, figuring out what to feed and drink the muscle (a.k.a friends and family – suckers!) who we managed to rope in to help with the stuff, etc., etc.

I have been to Bangalore only twice before – each time for a few days on work. Needless to say, it is going to be an interesting experience. There are a few excited people in Bangalore waiting for this – I just hope I can live up the the hype. 🙂

And yes, the tickets have been booked and confirmed!

Selling my Car (Left Hand Drive – BMW 330i)

Update 2: Car already sold – thanks for all the interest.

Update: Dropping the price we we need to sell the car soon! I am wanting to sell my car and thought I would put it up on my blog first before trying other places.

It is a Left Hand Drive BMW 330i Automatic (2001 model) with 89K miles in Excellent condition and has both the Sports and Premium packages factory installed.

We bought it brand new and are the only owners; and have all the paperwork since we bought it originally. This is a personal import (to the UK) and is fully legal in UK, Europe and US (it also meets California emission controls). It has 12 months MOT.

Here are the specifications:

  • Left Hand Drive BMW 330i (E46), 4 door Saloon
  • 3 Litre Engine (Petrol), producing 231 PS (170 kW; 228 bhp) and 214 ft lbf (290 N·m)
  • Automatic Transmission (Steptronic Gears with a Manual, Sports and Fully Auto mode)
  • Black Colour
  • Automatic Climate Control Air Conditioning
  • CD player with Premier Harman Kardon 8-way speakers
  • Heated Door Mirrors
  • Xenon Headlights
  • All Leather Seats
  • ABS and Anti-Skid Traction Control (a.k.a Dynamic Stability Control – DSC)
  • Driver and Passenger Side Air Bags
  • Multifunctional steering wheel
  • Central Locking
  • Cruise Control
  • Isofix child seat anchor points
  • On board computer with trip details, Mileage, Service Indicator, Air Temperature, etc.
  • Full Size spare
  • Premium Package which includes:
    • A multifunction steering wheel
    • Wood grain interior trim
    • Rain-sensing windshield wipers
    • Auto-dimming rear-view mirror
    • Full adjustable Power seats for both Driver and Passenger
    • Driver Seat memory
    • Power Lumbar Support for both Driver and Passenger
    • Moonroof
  • Sports Package which includes:
    • Three spoke sports leather steering wheel – provides had improved grip over the standard “square” steering wheel.
    • Sport seats – provide better bolstering and support than the stock seats. They also include adjustable thigh supports.
    • 17 inch wheels with staggered lower profile tires.
    • Sport suspension which offered improved handling by way of firmer springs, a lower ride height, and tighter dampers.

Here are a few photos of the car – click on each thumbnail to see a larger version of the picture.

New Parenting Blog

New Parenting blog up and running (finally) – by popular demand. The intention is to keep that completely different from this one. I and the wife will be starting to post there so watch that space. Happy to get other new (geeky) parents (or soon to be parents) contributing if they want to.

[qrcodetag]http://www.geekyparents.com/[/qrcodetag]

Twitter Trends

I was excited to find that Twitter had a JSON (Javascript Object Notation) endpoint for the current trending topics and decided to write a simple consumer which can read this and then spit it out in a simple console. And JSON being so simple and more or less “universal” meant that there are multiple implementations for .NET. Of course if you got lots of bandwidth you can roll out your own parser.

I ended up using Json.NET, which in addition to being OpenSource is also one of the most robust utilities which makes working with JSON formatted data dead simple.

The code for the console app is quite straightforward. The static function ReadTrends() retrieves the JSON string from twitter which is then consumed and extracted. The only tricky part was using a constant key; the easiest way I could think of doing this was to replace the date-time stamp with a literal and then use that literal.

Of course this will fail if you the function ReadTrends() is called at (or just before midnight) on Dec 31st and the code returns to the main() function in the new year. I don’t think this is something I am going to put in production and am not going to be too worried about this behaviour.

At the time of writing this, the twitter trends (in JSON) are:

{“trends”:{“2011-03-04 17:18:01”:[{“name”:”#coisasderetiro”,”events”:null,”query”:”#coisasderetiro”,”promoted_content”:null},
{“name”:”#tigerblood”,”events”:null,”query”:”#tigerblood”,”promoted_content”:null},
{“name”:”#blackpeoplemovies”,”events”:null,”query”:”#blackpeoplemovies”,”promoted_content”:null},
{“name”:”Frying Nemo”,”events”:null,”query”:”Frying Nemo”,”promoted_content”:null},
{“name”:”Acoustic Aftermath”,”events”:null,”query”:”Acoustic Aftermath”,”promoted_content”:null},
{“name”:”Blade Runner”,”events”:null,”query”:”Blade Runner”,”promoted_content”:null},
{“name”:”Fun Race”,”events”:null,”query”:”Fun Race”,”promoted_content”:null},
{“name”:”Bandra”,”events”:null,”query”:”Bandra”,”promoted_content”:null},
{“name”:”Mike Huckabee”,”events”:null,”query”:”Mike Huckabee”,”promoted_content”:null},
{“name”:”Arctic Monkeys”,”events”:null,”query”:”Arctic Monkeys”,”promoted_content”:null}]},”as_of”:1299259081}

And here is the output in the console. I can see Charlie Sheen’s #tigerblood is still trending; and wonder what Artic Monkeys are upto – is there new album out or something?


#coisasderetiro
#tigerblood
#blackpeoplemovies
Frying Nemo
Acoustic Aftermath
Blade Runner
Fun Race
Bandra
Mike Huckabee
Arctic Monkeys
All done. Press any key to continue…

And finally here is the code.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Newtonsoft.Json.Linq;
using System.Net;
using System.IO;

namespace TwitterTrends
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                //get the trends
                string temp = ReadTrends();

                //as the key is a datetime stamp (which is constantly moving), need something constant to interrogate.
                //simplest way is to find out the year and then take 19 characters from that which is the datetime stamp
                //replace that with a literal (DESIGEEK.COM in my case) and then use the literal. I don't think I will
                //be trending on Twitter; but if you are worried then you can use something like a GUID.
                //
                // For example at the time of writing this the datetime stamp was: "2011-03-02 14:20:00"
                string theDate = temp.Substring(temp.IndexOf(DateTime.Now.Year.ToString()), 19);
                temp = temp.Replace(theDate, "DESIGEEK.COM");

                //parse the string for the literal
                JObject trends = JObject.Parse(temp);
                var twitterTrends = from t in trends["trends"]["DESIGEEK.COM"]
                                    select t.Value<string>("name");

                //iterate through
                foreach (var item in twitterTrends)
                {
                    Console.WriteLine(item);
                }

            }
            catch (Exception ex)
            {
                Console.WriteLine("Following error occured:\n" + ex.ToString());
            }
            Console.WriteLine("\nAll done. Press any key to continue...");
            Console.ReadKey();
        }

        private static string ReadTrends()
        {
            //talk to twitter
            WebRequest theRequest = HttpWebRequest.Create("http://search.twitter.com/trends/current.json");
            HttpWebResponse theResponse = (HttpWebResponse)theRequest.GetResponse();

            //extract the data
            Stream stream = theResponse.GetResponseStream();
            StreamReader reader = new StreamReader(stream);
            string temp = reader.ReadToEnd();

            //clean up
            reader.Close();
            stream.Close();
            theResponse.Close();

            return temp;
        }
    }
}

[qrcodetag/]

Is technology making us less human?

Guardian story Social networking under fresh attack as tide of cyber-scepticism sweeps US where a number of academics have done studies which conclude that Twitter and Facebook don’t connect people, but on the contrary they isolate them from reality got me thinking about this and wonder if Technology is making us less human!

MIT professor Sherry Turkle’s new book Alone Together (which seems interesting and is something I have not had the bandwidth to check out), is leading an attack on the information age. It does seem to agree with the recent articles like Is Google making us Stupid? I don’t quite understand Facebook (even though I have been more on it recently); my views on Facebook are quite well known, especially in the context of privacy and security. If I talk to a friend who could be in Delhi or San Francisco, I don’t feel as connected having a dialogue with him or her over Facebook as I do when talking on the phone, IM or even email. Often people thing just because they have posted something on Facebook, that is the end of it – it almost seems at times, I am too lazy and can’t be bothered, so will post a message and get it over with – or as they say in Punjabi – “syapa mukao”. 🙂

In a related note, but a little different context I do think the vast information available to us is making us more stupid and we are forgetting the ability to learn, grasp, understand and appreciate the basics and fundamentals. When something is a quick Bing or Google away it makes us all very complacent. It also means that for us sitting down and reading something which is more than a few paragraphs is getting very difficult. I know I can also see this happening first hand. And I notice it every day at work – especially as the newer and younger generation joins the workforce; things that I would take for granted or appreciate does not seem to be the same. Of course and sites like LMBTFY and LMGTFY don’t help.

I was quite stuck by this paragraph from the article Is Google Making Us Stupid?

The process of adapting to new intellectual technologies is reflected in the changing metaphors we use to explain ourselves to ourselves. When the mechanical clock arrived, people began thinking of their brains as operating “like clockwork.” Today, in the age of software, we have come to think of them as operating “like computers.” But the changes, neuroscience tells us, go much deeper than metaphor. Thanks to our brain’s plasticity, the adaptation occurs also at a biological level.

I think it would be good for me to get a copy of Alone Together and then maybe post something back (feel free to comment below if you have read the book and got any feedback). Of course I do see the irony in the fact a geek like me talking about possibly to using less Technology.