Monday, December 31, 2012

Moving from Wordpress.

I hope the convert utility works nicely.


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.

Google+ comments

Once you comment on a post you get emailed with when any new comment arrives. While you might read the first few... Ultimately it gets muted. So why bother?

Lua needs a version manager

Something like gvm or rvm.

Documentation is useless unless...

It can be found
Is is well written
Is current and relevant
And is in context.

Wikis are novel but useless unless constructed from code. Not to mention CI/CD make documentation impossible to maintain.

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.

The hardest task in software development and project management

Is doing the complete job. No amount of scrum, Kanban or agile project management is going to do it for you.

Giving thanks to alpha shading

Without it the modern graphic desktop would still look high contrast pixelated.

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.

MacBook Air kernel panic!!!

I am so fed up with these kernel panics. Apple already replaced the mobo or so they said.

Sunday, December 30, 2012

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, however, some did not work with NodeJS. Like

  1. var string = (<r><![CDATA[ 
  3.    The text string goes here.  Since this is a XML CDATA section, 
  4.    stuff like <> work fine too, even if definitely invalid XML.  
  6. ]]></r>).toString();
(snipped from here)

This example might work in a browser but it does not seem to work in NodeJS. As an aside there was a  CoffeeScript version that I liked but I was not going to install CoffeeScript as a dependency for this little trinket.

Ultimately I implemented this:

function hereDoc(f) {
return f.toString().
(/^[^\/]+\/\*!?/, '').
(/\*\/[^\/]+$/, '');
You can have here-documents like this:
var tennysonQuote = hereDoc(function() {/*!
Theirs not to make reply,
Theirs not to reason why,
Theirs but to do and die

and it worked great. I put the rest of the bits together and I'm generating SQL like I had hoped. By the time I have to run this script again I hope to clean it up and automate it so I never have to run it again.

Testing blogger to google+

How much bigdata

How much of the world's public data is duplicated and how many times?

Think bing, google, yahoo, Facebook, duckduckgo.

FreeBSD 9.1 released

Best dashboard I ever wrote was hosted on FreeBSD. At the time it was the easiest unix system to install and configure.

It has a warm place in my heart.

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.

Smartphone cost

The phone subsidy includes the cost of ram versus bandwidth. See the chromebox versus traditional desktop argument.

Saturday, December 29, 2012

Sell more nexus devices?

I want to see one in action. A sim would be better. I'm hating my iPhone and feeling the need to sell my stock.

Sparkleshare fizzed out

There are a number of cool use-cases for sparkleshare but the tough reality is that you really cannot use them for misc. files as sparkleshare is designed.

Blogger for iPhone stop asking

Stop asking me to tell my circles when I post. If they are following me they will see it.

Actually. Seems I can now cross post to google+. +1

Startup compensation

Founders who construct multiple layers of ownership are cheating. They are harboring the liability in both directions.

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.

Friday, December 28, 2012

Conventional nonsense

"Conventional wisdom says that JSON is a subset of JavaScript." -- DANIEL F PUPIUS
To 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.

Thursday, December 27, 2012


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.

Wednesday, December 26, 2012

web framework expectations

Meteor is pretty cool. The "live" development model is even cooler. My only concern is that it creates some unreal expectations for big data -type applications such that if their model for sync'ing the clients would breakdown at the 10K level.

Tuesday, December 25, 2012

iCloud for documents

Interesting for automatically syncing a document between macs but it is useless for a developer. Google drive and dropbox are better.

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.

"find and open files like a pro" - say what?

Why would I want to open files "like" a pro when I want to be a pro who opens files? The statement certainly lowers the bar.

Why do kids destroy every pop up book they receive?

Cloud storage is still too expensive...

When considering making backups of your pictures and home movies. Specially when vendors are apt to change prices, policy and service with little notice.

Why would best buy have a sponsored link in their catalog?

Monday, December 24, 2012

What? Netflix down?

I guess their testing strategy is not that effective after all.

Quora or StackExchange?

Don't ask me to login if I just want to linger or leech.

How to build an rpm that depends on @developer-tools?

That is the question.

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.

Information privacy and the public cloud

If the information you maintain for your clients is otherwise private then the public cloud is not for you.


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!

Coral Springs Honda you suck...

For making me drive 30 minutes to your service department only to discover the tech that perform the repair is off and I'd have to wait until after the holidays to repair my DVD player.

Saturday, December 22, 2012


Both apple maps and google maps got me lost tonight.

Recent apple store revelations

Convince me that chromebook is the future.

Pay for google apps?

Not if they are going to advertise to me or analyze my traffic.

Nexus 7 needs to be shareable

Just like nexus 10. I have an iPad that is now assigned to my kids. I'll never use it again. I'm not going to buy a new one for me. I want one of each if I can share them.

Thursday, December 13, 2012

Wednesday, December 12, 2012

SQL to mongo query

A minor victory as long as connectivity is consistent with the many generic tools. Even without referential integrity, transactions and acid.

Zach Holman says blogging is fun

Who is he kidding. Blogging done right is harder than programming poorly. Syntax, grammar, and content - while analogous don't benefit from equivalent tool chains or process.

Tuesday, December 11, 2012

Messages are fun and cool

I just hate when they are mentioned in the same breath as SOA.

A message queue is not the sort of thing you should outsource(SaaS). Just build or buy.

Friday, December 7, 2012

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 server application whether it is a command shell, editor, curses app, or something else. Predictive local echo will echo the character to the local console with the expectation that 70% of the text is echoed by the server anyway... and then the PEL will clean things up.

Well, there are a number of problems with this. The first is that PEL really only works in the shell itself. Once you are in vi and changing modes it is impossible to echo properly... and that is why most terminal emulators default to local echo off. Many old-school applications screen scrape terminal sessions and would not be capable of dealing with PEL as it does not effect the byte stream so much as it does the representation in the terminal window. The demo that was presented was a command shell which is the easiest use-case but is by no means proof or substantive.

Next the presenter tweaks Google for doing an adequate job with mobile applications in that Gmail echos to the console. This argument also misrepresents the domain of webapps, network capable apps, and probably MIT's position on computing all in one statement. SSP is not going to help Gmail be a better app. SSP is not going to make my mobile browser better as I leave my home's hotspot and head into the wilds of 3G/4G. Re-establishing my mobile session is no different than any network disaster recovery plan within the enterprise.

The only thing that might be interesting about SSP is that the important bits about the connection are being moved from one layer of the OSI to another. (I do not know which is which anymore).

**I went back to the Mosh site to get some more details. Sure Mosh is all about the shell but what about the app? They state that the Mosh server is actually a terminal emulator of sorts and that's how they get the delta of screen changes to the local console. It's not until version 1.3 that they implement larger screen buffers... meaning that you're back to tmux or screen for that.

The big issue for me is the firewall issue plus UDP plus roaming connections. This makes hijacking or sniffing more likely once you break the encryption. And if you can get past all that... it only solves one use-case.


Tuesday, December 4, 2012


Why is it that other people tell me my iPhone signal/sound quality sucks every time apple launches a new phone?

Saturday, December 1, 2012

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.

another bad day for open source

One of the hallmarks of a good open source project is just how complicated it is to install, configure and maintain. Happily gitlab and the ...