Skip to main content


Showing posts from December, 2012


I have one of those modern, expensive, and easy to use bottle openers. Sadly the foil cutting tool broke rendering it useless. Nothing beats old school except my Swiss Army knife.

Moving to Blogger? yea

I'm moving from WordPress to Blogger. Don't get me wrong. WP has been good to me. The price has been right and the product works as expected. I'm bummed about the WP iPhone app because I know it could be better. Recently I have been using Blogger as sort of a tweet and Google+ gateway and it has been working nicely. I even like their website for creating content. In the next couple of days I'll be moving my content and see how that works.

Have a great New Year.

Social networks

Crossover between personal, professional and work social networks is a challenge unto itself. Should former coworkers or mere acquaintances put my birthday in their calendar or read access to possible family drama.

javascript and long strings

I have not been a fan of NodeJS but recently I have been writing a lot of JavaScript. As a result of this bias I found myself passing on perl, python and ruby in order to "template" a SQL script in favor of NodeJS. (I suppose if I had to use a single callback I would have a different opinion but I did like the utility nature of the experience.)
Installing node and the necessary dependencies was pretty simple:
# install NVM (nodejs version manager) curl | sh
# install nodejs nvm install 0.8.16
# I'm not certaint if this is required but I USE and set this version of nodejs as default. nvm use 0.8.16 nvm alias default 0.8.16
# install the mustache template library  npm install mustache
# install the sprintf library because it's simple npm install sprintf
That's it. The rest of the project was my code. Initially I was looking for some "javascript long string" help in google and I did find some useful examples, howe…

Fiscal cliff...

Is about being right or being the winner and not the people.

It's also about blaming the system instead of one party or the other... Because failure to come to any agreement resets the clock to pre-Obama time. It also increases federal revenue and decreases expenses.

It's like offsetting penalties.

Language Design

When properly distilled programming languages are about communication and not syntax, lambda functions, DSL-ness, functional, procedural, object oriented etc...

Does it effectively communicate ideas from the architect to the computer?

Does it effectively communicate with other programs?

Does it effectively communicate with resources like databases?

Now go back and evaluate your favorite language, platform, framework. You'll be surprised. I was.

Conventional nonsense

"Conventional wisdom says that JSON is a subset of JavaScript." -- DANIEL F PUPIUSTo say that JSON is a subset of JavaScript is like saying that apple seeds are a subset of the apple. At least when apple seeds are put in the ground there is a chance they it will grow into a tree. In this case there is no chance at all that JSON is going to grow, morph or otherwise become anything that even remotely resembles JavaScript.


I have a new perspective on benchmarks. If you have two things that are supposed to be the same thing or provide the same function... if the benchmark is not the same then they are not the same.

If they are really supposed to be nearly identical... say (a) implemented in python and (b) implemented in Ruby, then if you want to compare the benchmarks then you are also comparing their individual JITs, libraries, miscellaneous cruft, and coding style.

As I read an article on MBassador and Gauva... It's impossible for them to provide the exact same functionality or reliability... so what's missing may be as important as the benchmark when making the selection.

distributed version control

The only reason for not using GitHub, BitBucket or Kiln is because you have cruft in your source that you know should not be there. Whether it's passwords, personal information, some VERY serious intellectual property or just some very poorly written or designed code.

Otherwise you are not giving up much except friction.

Ack instead of grep?

Um... no! Grep is the textfile search workhorse. Ack seems to use a unfamiliar syntax that unless I was going to replace regex for every search then maybe.

That said. I like the license and the perl implementation, but the perl on windows thing is a bit nonstandard and weird.


If you're going to show me how to construct monads using Python or some other language where it might not be ideally suited then you really should spend a few paragraphs describing the thing you are going to describe in the simplest terms possible!

Gator Boys at holiday park!!!

Good show. Better people.

Mosh is still a bit of a pit

Some months ago I reviewed Mosh (mobile shell). At the time I wrote the article I was looking at the project as a user with a secure view of the world. Now, with the help of a troll, I have rediscovered Mosh, however, it is still "a bit of a pit". This time I have some new complaints.

There is a presentation on the Mosh site. The speaker knows the project and is probably the project owner or lead developer. I'm not certain. He tells the audience about what is wrong with standard terminal sessions and how they developed this mobile communication protocol that rides somewhere between the various layers of SSH and so on. Since the website touts that they are more secure... by inheritance they are as strong as the weakest link but this was an earlier argument.

Then he talks about predictive local echo. The idea here is that in a normal terminal session your keystrokes are not actually echoed on the terminal (unless you have local echo turned on) but represent the output of the…

Chromebook offline

Why? For those of us who have embraced an always on lifestyle in the good cloud then it's perfect. Use cases that include offline access are silly. Buy an ultra book and suffer like you did before.