Strange Loops

No Matter Where You Go, There You Are

Poker as a Metaphor for Life

| Comments

You might be good. You might do all the right things. You might think something better is out there. You’re probably right. You have to play the hand to figure that out.

Sometimes you win. Sometimes you lose. Sometimes it’s not about winning or losing. Sometimes it’s just about the people you play with.

2nd and 8

| Comments

It’s 2nd and 8. For some reason, my confidence levels seem to be on the uptick. Or maybe it’s just desperation. I have lots of work that needs to get done but more than ever I seem to have a good handle on the material. Perhaps I might have a good idea or two.

I had a cup of coffee with my good friend RL today and I bounced a number of idea off him. I’ve had these ideas mulling in my  head for months now and it was finally good to tell someone about it.

What Sound Does a Snake Make? Sssssssss

| Comments

Python is my first scripting language. In 1999, I picked up the 1st edition of “Programming Python” and learnt the language during my summer vacation. Of course, since I haven’t used it in the last six years (Java, C++ and Perl have filled my work life) I’ve forgotten most of the details. I’m getting back into it and I’m remembering what I enjoyed about it. There are more online resources for learning Python than there used to be. I want to give a shout out to http://diveintopython.org. It’s an excellent python resource and a well written book at that. Another useful tool I’ve discovered is ipython. When I started Python in 1999, having a REPL rocked my world. ipython is a Python REPL on crack!

Interesting Language

| Comments

I think there is a lot to like about REBOL. The native datatypes are interesting. Lots of things like email@adddress.com or http://www.slashdot.org that would be represented as strings in other programming languages appear to be their own types in REBOL. Combined with REBOL blocks this makes creating a domain specific language much simpler.
It’s a pity that REBOL is a proprietary language. The free core software doesn’t have access to shell commands or databases. This makes it a little harder to compare with Perl,Python or Ruby which is what REBOL is stacked up against for competition.
See more progress on: Learn REBOL

Some Nice Features

| Comments

Just got done with the “Getting Started With Erlang” tutorial. Erlangs language level support for message passing appears fairly straightforward to use (!, receive, after). My main concern is whether it can be hooked in with other communication protocols (e.g. xml, hessian, burlap) or are you bound to what erlang gives you.

Simple but Illuminating

| Comments

Continuations sound scary but at a basic level they are a simple construct. I’ve been thinking of them as closures that contain your entire execution context. I found the Ruby examples to be the most illuminating for me.

 def bar 3.times do |i|  callcc { |cont| return cont }  print "#{i}\n"  endend> a = foo> a.call0> a.call1> a.call2> a3

Everytime I invoked call on the returned continuation, it continued from where I had left off within the method bar. Continuations are a useful idea and it would be nice to see in more languages. Interestingly enough, the Java world seems to be warming up to the idea of continuations; Two I’ve read about recently Jetty and RIFECNT.

After understanding this concept, it’s easy to see how something like Continuation Passing Style would work.

See more progress on: understand continuations

1 More for the Road!

| Comments

The last two nights I’ve been playing around with Erlang. I kinda of like it. The standard documentation supplied with erlang seems incredibly well written for a technical subject. The “Getting Started” guide got me picking up the language fairly quickly. I’m almost through the sequential programming chapter. Next is concurrent programming and I’m looking forward to that (I’ve cheated and looked ahead).I must have reached some tipping point with functional programming languages. It’s getting easier and easier for me to pick them up. I keep seeing the same concepts repeated over and over again, albeit with dissimilar syntax and semantics.