Iraq isn't as far away as you think

My oldest friend is currently deployed overseas as an MP. Having been recently promoted Captain, he’s in charge of a fairly large amount of men for such a young guy ( he’s also in his mid 20’s ). They have internet access, so I get emails from him and we get to chat via IM & web cams. I have already lost a cousin to the war ( he was a sniper ), so the idea that my friend has been over there for 2+ years, and will continue to be over there for at least 1 more, is more than a bit depressing. He recently told me he was getting married to his long time girlfriend and asked me to stand up in the wedding, which I agreed to.

I recently sent him a care package, filled with mudane things like socks, candy, beef jerky, as well as cd’s & DVD’s to help pass the time. I was excited to see what he thought of the package, so I emailed him asking if he got it yet.

This is the emailed that I received in response:

Griff,

Your package arrived today. Thanks for everything in the package. The jolly ranchers did not last long. I completely restocked my sock collection. Hope all is well

It has been hard these past 24 hours, I lost a friend the other day, another CPT, (XXXXX), a friend my girlfriend and I went out with his wife, was killed by a rocket hitting his truck. He was killed instantly. If you could please say a prayer for his wife, (XXXX). They just celebrated their one year anniversary while he was on leave. He just got back 3 days ago. Talk to you soon

(XXXXX)

v/r
(XXXXX)
CPT, MP
1/501st MP Co “REGULATORS”
“IRON MP”

I can only count down until September, when he comes home for 17 days. After that, I pray that I will be standing up at his wedding in March 2007.

Sitting here typing this, I realized that I, and many others, would like a package delivered to us from Iraq….

More free wi-fi

One of the benefits of working virtual is getting to work from many different places. Basically anywhere with an internet connection. Now that so many wi fi spots are starting to pop up, this makes for a very big list.

Check out this website for just that.

My old fall back has been Panera Bread, since they have had free wifi for a long time. However, as of July 12th, Cosi has made the wi fi at all of their locations free.

This is huge, because there are many, many more Cosi locations in Chicago than Panera’s.

Sweet.

Domain Specific Languages = The Long Tail of Programming Languages? ( Part 2 )

*UPDATED* Check out Part 1 or this may not make much sense.

I know I just wrote about this, but I felt compelled to add something. One of the most startling revelations, for me, in The Long Tail was the connection between labels artists are on and the types of music they make. Not that this is new. There have always been labels that have been all rap / r&b, country, or rock.

No, what was different was how Mr. Anderson ( heh heh heh ) brings up the fact that the same artist is signed to different labels, and releases different music on each label. Now, as someone who actively listens to The Long Tail of music, I was surprised that I never made this connection before. I can think of no fewer than 10 artists & groups that release music under pseudonyms and/or musical collaborations:

1. Madlib: Madlib, Beat Konducta, Quasimoto
2. MF Doom: MF Doom, Victor Vaughn, Venomous Villain
3. Diplo: Diplo, Hollertronix
4. Prefuse 73: Prefuse 73, Piano Overlord, Savath & Savalas, LA Correcion
5. Slipknot: Slipknot, Stone Sour
6. RZA: RZA, Bobby Digital, Wu-Tang Clan
7. Tupac: 2pac, Makaveli
8. Faithless: Faithless, Dusted
9. Imogen Heap: Imogen Heap & Frou Frou
10. Old Dirty B**tard: Old Dirty B**tard, ODB, Dirt McGirt, Big Baby Jesus

And these are just the ones I can think of off the top of my head. Artists release different music under different names so that they can have alter egos and experiment with different sounds. Madlib, for example, releases pure hip hop beats under the name Madlib, smooth jazz under Beat Konducta, and some strange synth based vocals under Quasimoto. These pseudonyms are ‘filters’ for content. I know that if I don’t like hip hop, i should stay clear of anything by Madlib. Same goes for syth based vocals and Quasimoto. Filters are very big in The Long Tail. They give us the ability to wade through the large about of content that is being generated and tell us what applies to what we are looking for.

So, again, what does this have to do with DSL’s and programming languages?

Well, my dear reader, I am thinking that we are witnessing something happening to programming languages. Something that has happened to utilities and small tools before: specialization.

I am seeing a future where different languages have different strengths and weaknesses, and they’re used to the best of their abilities. Now, this already exists. SQL for RDBM’s, HTML for text markup, regular expressions for text manipulation. We already filter a solution through these ‘filters’. If I’m interacting with a database, I’m using SQL. If I’m parsing a lot of text, I’m using regular expressions. These filters are all well and good at the Micro-development level, what what about the Macro-development level? At the micro-level, these languages are a subset of a larger language / platform, i.e. java or .net.

But what about taking the concept of ‘filters’ and applying them to the Macro level of development platforms? Applications will be built in what ever language / environment suits them the best. I will know what platform to use based on the type of problem I am trying to solve. No longer will you be a “XXX Developer” where XXX was previously Java, C++, .NET, PHP, Cold Fusion, etc…

No, you’ll be a true “Software Developer”, able to attack any application, using a suite of available tools:

Simple CRUD based web site? Ruby on Rails to the rescue!
Have to interact with a lot of heterogeneous systems? Here comes Java!
Need to build graphical or smart clients? Did someone say .NET?

Now, this is already happening in a lot of enterprises. Many, many companies tried to pick one or the other ( Java or .NET/MS ) “enterprise platforms”, only to end up with a hybrid environment. Java does a lot of the back end integration, especially with mainframes, and .NET does mostly front end ( thin & thick ), and they share the middle tier. The problems were filtered through the available options, and the most suitable option was picked.

But what about expanding that to include the little brothers? Ruby, Perl and Javascript ( AJAX ) are just some of the languages making inroads into the enterprise. Perl has always been the dirty, dirty tool of many a hacker, AJAX is cornering the market on rich & thin UI’s, and there is already a ton of information on why Ruby on Rails rocks for certain web applications. Filters, filters everywhere.

DSL’s will come along for these, and other, languages that encapsulate a lot of the commonality and low level details, just like Ruby on Rails did for CRUD based web apps, and allow you to the freedom to focus on the real guts of the application. That will make the learning curve that much smaller for new and unfamiliar languages.

However, DSL’s are not just for encapsulating vertical languages. Where DSL’s truly come into play is the fact that we can now build custom languages and begin to experiment on our own. Want to release a language that makes it easier to interact with a particularly fickle backend system in your company? How about encapsulating common team specific patterns? or enforcing them? Well, now you can. The freedom and build your own DSL gives you the freedom to experiment. The cost of producing a DSL and distributing it are now very small, with the help of the major IDE vendors out there. That previous roadblock is now gone. You’ll not have the not only the tools to build your DSL, but also to USE your DSL in your existing IDE. Visual Studio, Eclipse and IntelliJ are just some of the vendors planning DSL workbenches for their respective IDE’s.

No, the problem won’t be lack of available or capable tools.

The real problem will be convincing your manager that a language isn’t the “new sexy thing”, but that it can bring real and tangible benefits to the team / organization as a whole.

That, my friends, is another post.

Domain Specific Langauges = The Long Tail of Programming Languages? ( Part 1 )

In Chris Anderson’s book The Long Tail ( book review coming soon ) he describes what the long tail is and how it applies to different forms of business and economics. Music, movies, and books are just some of the areas that the long tail is radically changing the way we think about selling. Companies such as iTunes and Amazon are now noticing that if you add up all the money from the few sales of a large about of items, it’s actually more money that the large amount of sales of a few “hits”. This is because of what Chris coins as the “rise of the niches”.

With more and more choices, consumers aren’t confined to what the producers of content think is popular. More and more content means the ability to have more and more choice. Music is no longer just “Electornic”, but “Drum & Bass”, “House”, “Acid Jazz”, etc…

The result is more specialized niches that fill customers needs.

What does this have to do with programming languages?

Well, with the recent rise in popularity of DSL’s, or Domain Specific Languages, more and more specialized langauges are being produced that meet and smaller and narrower need. This follows Chris’s pattern of the long tail, becuse it’s getting easier to not only produce these languages ( with DSL workbenches ) but distribute them as well ( IDE integration ). This harkens back to my days as a unix admin, where all the tools I had ( sed, awk, grep, find, etc… ) did one thing, and did it well.

I find this interesting, because it flies in the face of previous cycle of defining a programming language to be as general as we possibly could, in the hopes that one language will solve all our problems. Then, getting frustrated when a new problem comes along that can’t be solved by it, we throw the previous language away and grumble that we have wasted our time on a “junk” language, before turning to next “hot” language. I’ve seen it several times in my short programming career, from C to C++ to VB to Java to .NET.

This is now changing. The poster child for the rise of DSL’s is Ruby on Rails. DHH recently attended RubyConf, where Dave Thomas of the pragmatic programmers presented a list of things that needed to be added to Rails to make it more “enterprise friendly”. DHH responded with a stern ‘no’. His rationale was that if you wanted to do something that RoR didn’t do, use something else. RoR is a particular programming environment, for a particular type of application. If you’re not doing that type of application, tough. Don’t use RoR.

I find this refreshing. Hopefully other people will start to embrace learning different types of languages for different functions. Yes, the number of languages you will need to learn will increase, but the overall depth and scope of what you need to learn in each language will be significantly smaller.

Therefore, when the time comes to learn a new language, you won’t be throwing the old language out because it doesn’t do something in particular. You can simply pick up the new language, churn out some simple apps, and presto, problem solved. You’re smarter and have a much more maintainable solution because you didn’t try and shoehorn the problem into an already existing solution space.

If all you have is a hammer, everything looks like a nail. Similarly, if all you have is Java, every application looks like a heterogeneous, massively scalable, distributed enterprise application.

Your mother doesn't want you 'Free Running'

From those crazy french comes the next X-Games inspired craze, Free Running.

If you’re in a hurry to see it in movie form, there’s a French movie called District B13 that features several Free Running stunts. Check out the trailer here. Actually, it looks more like something that would be starring Jackie Chan.

Grant Park Movies

For anyone who’s interested, I put together a calendar of the movies that the City of Chicago is showing in grant park this year. Find it here:

Grant Park Movies

For those of you who don’t live in Chicago, the movies are shown in Grant Park, which is a large park right off the lake. It’s like a drive in, but with out cars. You can bring blankets, food, drinks, etc…

And the movies are free.

I think not

Wired magazine has an interesting interview this month with billionaire mogual Rupert Murdoch. The interview basically revolves around his purchase of MySpace. It’s an interesting article and certainly refreshing to hear some of the things he talks about , espcially since he is the poster boy for what could be called the “media elite”

What isn’t so interesting is this quote from the interviewer:

“That’s where the Internet comes in, specifically MySpace, and the millions of young trendsetters who make it the most disruptive force to hit pop culture since MTV.”

wow. Personally, I think that between MTV’s debut ( 1980 I think ) and now there have been some things that were distruptive forces. To name a few:

  • Cell Phones
  • The Internet it self
  • Instant Messaging
  • SMS Texting
  • Video Game consoles

Anyone of these can be seen as a HUGE force in the relm of not only pop culture, but also in mainstream culture itself. MySpace certainly wasn’t the first to hit it big and change the way the youth, or the “trendsetters” as the interviewer calls them, function.

Zinedine Zidane's last header was really his last

That headbutt by Zinedine Zidane had to be one of the strangest plays I have ever seen, in any sport.

Not only did he take a player away from his team, not only was he the captain, not only were their other best players, Henry and that other Zhana guy, out, not only was it becoming more and more obvious that this was coming down to penalty kicks and he’s by far their best at pk’s, but this was his last game on the biggest stage.

WTF was he thinking? Seriously, what could that italian have said to provoke that response?

And then he gets the ‘Golden Ball’ award for best player. Can anyone name anyone else who went from an all time great career to international punch line as quickly? I mean, American athletes have messed up, and the Pacers / Pistons fight was horrible for the NBA, but this was a all time great player on the biggest stage in the biggest game. I can’t even come up with a proper comparison…..

All I know is that that moment will be my World Cup 2006 memory, and it kinda sucks because I was really getting into this world cup. I was kinda soured by the play and I started to root for Italy at that point.

Ari Gold – Chicago boy

Those in the know have loved Jeremy Piven since the grand heyday of 80’s movies like One Crazy Summer and Lucus, or when he really came into his own as Droz in PCU ( Seriously, go rent it. Not only Piven, but about half of the swingers rat pack is in it )

Well, Mr. Piven is more well know for his role as Ari Gold on Entourage. Thankfully, someone put up a ‘best of’ montage of his work:

I really think Ari wouldn’t be as funny without his wife and lloyd to play off of.

Also, anyone else notice that Ari’s wife and Piven were both in Old School? Strange….