I’ve been working on simplifying my life and improving on my mental state over the last year or so. I’m now at the stage where I think I’ve gotten into a decent routine with diet and excercise. My next step [now that the rigors of buying the house and planning the wedding are over] is to broaden my programming horizons by learning a radically different programming language from my comfort zone, Python and C# respectively, while not harming my personal life or work habits.

It turns out that I can add an hour or two to my day by (i) leaving home earlier and thus avoiding traffic (ii) reading blogs less (iii) unsubscribing from most of the Microsoft internal mailing lists I was on and (iv) scheduling meetings so they are clumped together instead of having three meetings with 30 minutes in between each one thus burning up an hour of my time mentally twiddling my thumbs and checking email. 

So far I’ve installed IronPython and python-mode. I’ve also started reading Dive into Python and have gotten as far as Chapter 3. I’d just like to thank folks like Mark Pilgrim, Jim Hugunin and Barry Warsaw who are gifting programmers with such wonderful resources. Right now I’m still trying to wrap my mind around Everything is An Object

Everything in Python is an object, and almost everything has attributes and methods.

This is so important that I'm going to repeat it in case you missed it the first few times: everything in Python is an object. Strings are objects. Lists are objects. Functions are objects. Even modules are objects.

All functions have a built-in attribute __doc__, which returns the doc string defined in the function's source code. The sys module is an object which has (among other things) an attribute called path. And so forth.

So far this is already an enjoyable experience for someone who has mostly been programming in Javascript (not object oriented, dynamic but weakly typed) and C# (statically typed, no REPL) for the past few years.

Once I’m done reading Dive into Python, my plan is to integrate Sam Ruby’s MeMeme 2.0 into RSS Bandit. That way even though I’ve stopped reading blogs regularly, I don’t end up finding out days later that Visual Studio 2008 and .NET Framework 3.5 were released because it wasn’t on TechMeme or programming.reddit.  

Optimizing your life by writing code is fun. I guess this is what they call life hacking. Wink

Now playing: The Clash - Rock The Casbah


 

Wednesday, November 21, 2007 4:35:13 AM (GMT Standard Time, UTC+00:00)
JavaScript *is* object oriented: http://www.google.com/search?q=Javascript+object+oriented
Wednesday, November 21, 2007 6:13:09 AM (GMT Standard Time, UTC+00:00)
Welcome to Python, you're going to love it.
Friday, November 23, 2007 12:47:27 AM (GMT Standard Time, UTC+00:00)
Yawn, is there anything out there that isn't an 'object'..

Typical, yet another impendance mismatch for what makes all those service come alive:

Infrastructure and not glue (ie. not Py*, XML like WSDL or AtomPub, and certainly not 'everything is a URL/object/resource' no matter how x-grained and certainly not '4 methods RPC' interface that is REST and HTTP).

Once you have infrastructure, glue is just a model transformation for productivity hotcakes. The more powerful the infrastructure more playground you have to provide services faster, integration and security these days is telling a clear pattern for many attempts: failure!

Kids are going to rule this land how slow the services guys are at realising most media and service infrastructure traffic isn't, once again, is not:

HTTP or REST.

So clearly the focus on this is just waste of time, but hey it has been fun watching it for the past x years. And if it isn't a wake up call for IBM (atom, web-romboids, services offerings failing), MSFT (ws/.net dumbing down), Sun (Java applet failure), Oracle (money laundering configuration and Java mess), I don't know what is.

Google, YouTube, Facebook, they avoided all these protocols before exposing one single endpoint, and made, guess what: a killing! So what value does REST or WS give me?

Poor Web.. focusing nn technology for the sake of technology, while infrastructure people keep getting their ad money in the pocket.. Great stuff gotta admit, but ads work on TV and newspapers and outdoors too, not just Web.

Come on lets concentrate on another useless flop, building protocols and encoding insufficient for a competent let alone newcomer to software engineering and not solving:

a) security
b) mind-numbing roundtrips of SSL and HTTP
c) efficient media distribution (so ISP make even less money on bandwidth than customers paying for the bandwidth to get to it)
d) reliability (oh wow, someone has a slide stating stateless, reliable etc for that point.. lol)
e) URI templating to a scheme that resembles RFC ambiguity mess and invites another stack no human let alone machine parses well. Yeah it works for simple things, but boy does it fall apart on where it ought to help the most.

There's more.. but hey why bother..
ABC
Saturday, November 24, 2007 7:11:40 AM (GMT Standard Time, UTC+00:00)
Python is cool.
About the "everything is an object" approach... why don't you also take a look at PowerShell ?
Monday, November 26, 2007 3:08:54 PM (GMT Standard Time, UTC+00:00)
Look forward to when you start learning Ruby!
Comments are closed.