Monday, June 30, 2014

Everything new again

Over the last couple of months the tech news has been trending with reports of new products and services relative to the building blocks of modern application and microservice development.

There has been increased competition for a new programming languages, new databases, and new frameworks. Some of these tools seem to have some proper and true momentum while others appear to be a waste of time just trying to gather social appeal.

Friday, June 27, 2014

Google: Hadoop is dead


Data is stratifying into at least three areas. (a) one size fits all adhoc  (b) data warehouse - compute a day’s data in less than a day (c) just the facts - a day’s worth of data cannot be computed in a day.

Thursday, June 26, 2014

Technical Debt is real

OMG - this morning I was getting ready to test a build by copying a microservice to a MUT (machine under test) but then I remembered that the MUT (a) was not exclusively a MUT but was actually in the build pipeline (b) it had been a while since the system had it's own microservice updated(same service as the one under test).

I started to panic.

Now the question is whether or not the technical debt (terrible name) can be erased with a little pipeline extension and a few more integration test cases. It's a lot less rainbows and unicorns and more ditch digging.

Wednesday, June 25, 2014

iOS or Android - it's a Swift choice

[UPDATE] udacity was offering free online android training... but the class is at capacity.

While Apple has spent the last several years implementing the Swift programming language and related tools; Google has been working on it's infrastructure, APIs, tools and features. And it shows. No matter what kind of lipstick you put on it it's still Objective-C and it's still a pig. Android and Chrome have since, leapfrogged Apple, with many new and significant features.

Unlimited business storage is yet to be explained, however, as out of place as it was in the keynote it feels like an attempt to ward off a pending announcement from Apple and their iPhoto Cloud storage rumors.

The device sync seemed a bit buggy but with the local networking not withstanding it could be a key feature for app developers.

Polymer and Material Design was interesting but not a game changer. It looked a lot like Microsoft's Metro and UIFlat all in one.

What caught my attention was the unification of the Chrome brand. Between the responsive design of phone first and the install everywhere and once with sync too... It just seems like a better strategy than "swift". Clearly the decision to use the JVM (as much as I have come to loath java) the run anywhere thing works at google. (ChromeOS, Android, Intel, Arm, 32bit, 64bit, etc and so on.)

** I just cracked open the first 10 pages of Apple Swift programming language and while there is a different book that is supposed to describe the Swift+Objective-c, this one spent the first 10 pages on the same topic. There was no hint of a functioning hello world so that I'd have an idea what makes up a basic app. UPDATE: I just realized that I opened the 2nd book first and I have started reading the Swift language book now. The first 22 pages are clearly a description of the basic language features... assignments, declaration, types, conditionals, loops, functions, Objects, Classes and closures(which have a tricky syntax). But my opinion is unchanged.

** the XCode beta requires developer membership, an hour to download, 30 minutes to install, 5 minutes to launch the first time, 5 more minutes to create the first project, and 15 seconds to realize that Swift is a meaningless distraction and actually preventing me from writing my first app of any kind.

Tuesday, June 24, 2014

Logging always on

If logging is an always on proposition then why have attributes like Error, Warning, Info and so on? Shouldn't something that is actionable standout in some grander way? Either it's an actionable alert or not!

Wednesday, June 18, 2014

Music music music

One of my fondest memories of my daughters first year was the number of times that we would watch Elmo use Abbycadaby's magic wand to make people sing. The sad thing is not all music services are like.

Apple's iTunes which costs $35 a year you get access to a matching service and a radio application.

Spotify costs $10 a month and while there are a plethora of features and functions the radio play is not very random.

Pandora costs $35 a year and get their random play appears to be the best however they don't provide a desktop app or a minimized app. 

Amazon's prime music  effectively costs $10 a month however it does not have the music library that the others have and it does not have a radio feature. The curated playlists are not very good.

Google's Music service offers a random play however it's not very random.

With the exception of Pandora all of these services were meant to the music stores and not radio stations. The subscription fees are simply meant to subsidize the cost of the music.

serialization protocols

This is an interesting read but I’m not sure I like the idea that there is varying language support.  I would think that more language support would be better specially if you're building micro services on some sort of MQ acting as a SOA Buss.

Amazon phone

The best part about the Amazon phone is the price war that is about to begin. The 64 GB model is priced at $299. By comparison the same iPhone costs $399.

However, for your $299 you will receive unlimited storage of your pictures and a one year subscription to Amazon prime. While the former is meant to generate vendor lock-in the latter reduces the effective price to $199.

The price tag for this phone creates any number of lines of questioning.

Why don't the other phone manufacturers charge the same?

Just what exactly is the cost of manufacturing a phone?

Where are the other subsidies coming from?

Will Amazon be selling any personal information or anonymize personal information?

Will this become a platform for advertising?

Since Amazon sells just about everything or act as a proxy for people who sell just about everything will Amazon be the defective store for everything?

What it be cost-effective to buy the phone simply to be able to make one's purchases? Instead of using a standard browser.

So many questions…

Saturday, June 14, 2014

erlang/otp or go?

That's a really tough question. erlang/otp will always have a soft spot because it's what I envisioned as a framework for a 100% uptime and after nearly 5 years of production I have achieved exactly that. In the interim development moved the system to python and the profile has changed a little but nothing significant. And development is swinging again; this time to Google's Go [golang]; with numbers in between.

The operating environments are vastly different, the languages are different, the overarching concerns are also different. In the end the decision may not have anything to do with the language at all but the environment or framework and the number of cost effective developers out there.

erlang is at a premium, even today
python is fairly cheap, but the numbers are dropping
Go is still new and attracting an odd bunch

On the operational side there are also a number of concerns:

erlang has a number of crufty bits that makes upgrades costly.
python has version manager tools but it can get out of control when there are so many versions
go is the simplest to deploy

CD/CI and container deploys on docker make some things better. Specially if the dev team constructs effective containers for development.

Conditions of success

When building an agile story and you're producing the what and why having or producing elaborate conditions of success is a fail.

If you're what and why are constructed properly and completely than the user knows exactly what the expectation is.

"I need a widget X which perform some task Y. "

If the conditions of success are the same as the requirements then what would be the point? And they always are!

Conditions of success that suggest 'don't break anything else'are obvious and redundant.

However

If the story is meant to be formatted and framed in the form of some sort of BBD or spec so that it might possibly be consumed by a test framework then the requirements should be formatted thusly.

Thursday, June 12, 2014

Prime Music - Amazon's new music service

Make no mistake about it... Prime Music is about being a music store not a real music delivery service. I liken Prime to iTunes. There are just too many buttons telling me how much a thing costs when clearly the Prime brand is a subscription rental company just as the iTunes Radio. For the money Spotify is still the best radio station even though it's more expensive than Pandora it's application is a lot better.

All I want for Father's Day...

All I want for Father's Day is a Nexus 7. I just want a simple unified experience. Apple is good with many solid features but I think they can be better with a chance that Google is already there. The challenge will eventually be determining which product set means the most to me.

Wednesday, June 11, 2014

Better programmer?

Does knowing every idiomatic edge case make you a programmer or a brogrammer?

Sunday, June 8, 2014

Google Compute Engine without a proper PC?

My laptop crashed recently and while I was trying to repair it I also needed to get some work done. Trying to manipulate GCE without a real command line is a bit of a challenge. It certainly means I cannot audit anything, retry a command that might have failed, and so on. Creating a docker command line container with the necessary tools seems to be the only way... along with a terminal program for the browser.

I'll write this up later.

what are they all up to?

The WWDC keynote played last week and the one thing that was absent was any serious discussion about hardware. The WWDC is where Apple would normally make all or most of it hardware announcements and yet it was pretty bare.

As I watch the landscape move past my window "we" seem to be in a time of flux, waiting, and brinksmanship.
  • Apple's app store requires sandboxed apps
  • Apple did not announce any real hardware changes despite all of the extraordinary rumors
  • Apple buying beats cannot be the end game... wireless headphones are not that complicated; why not buy Logitech
  • Samsung is building a nice collection of appliances without having any real services other than reusing Google Apps.
  • Google's Apps and 3rd party apps are gaining momentum but still lacks clarity on privacy
  • While integration between Google apps and other vendors is a browser away it's not flawless (duplicate contact entries still drive me batty)
  • Chrome is still a CPU pig on my MacBook Air and Windows PC which leads me to believe that it's also a pig on ChromeBook/Box/Base.
  • I recently purchased a 3rd ChromeBox because each of my daughters has a ChromeBox and I needed one to replace my MacBook Air which was on the fritz. I had to buy a new keyboard because the keyboard and mouse I had were not responsive... or maybe it was chrome.
  • Now it looks like Barns-N-Nobel is re-entering the fray with an android tablet.
  • And the spoiler is award is going to go to Amazon. The Kindle brand is pretty well covered even though they stop at the TV and media tablet.
  • Comcast's apps, services, and position on net neutrality is a mystery.
  • The cell carriers are a complete mystery too. They have the hardware to capture the last mile and yet they don't. Their pricing is terrible. What ever happened to the razor/razor-blade model... not that it's any better.
We have hardware companies dabbling in software and media.
We have media companies dabbling in hardware.
We have have services companies dabbling in hardware and media.

The problem is that at some point we are being asked to make a real commitment to the platform or brand as a whole. And once there all others are essentially blocked out. For example; buy $1000 worth of music on iTunes and then cancel your subscription. Now what? Will you be able to load the music into Spotify? Go ahead and format your resume on Google App. Cancel your subscription to Google Drive... will you be able to load the document into MS Word without a converter?

All of these vendors are trying for lock-in without addressed the issues of lock-out and there is no neutral territory or safe place.

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 ...