Skip to main content

Posts

Showing posts from February, 2012

Giving Privacy a Pass

As I've written recently written I am in the process of moving my backups to TimeMachine, SuperDuper and BackBlaze. One of the things that I was thinking about was the amount of time that it was going to take for the initial upload to BackBlaze. When I was looking at other solutions the initial upload was going to be on the order of months. BackBlaze, on the other hand, is said to auto-throttle.

I'm assuming that auto-throttle means that they watch the system load and then throttle the amount of bandwidth that it takes on the single system. Since I'm backing up 2 systems with individual accounts (one master account) to BackBlaze both machines seem to be humming alone nicely.

Back to my thought... in what order are the files backed up during the initial upload and thereafter. I'm certain that there have been studies on the average user's average file size and the number of edits over it's lifetime. And this information would be key.

During the initial upload I'…

The ultimate backup strategy

[Update 2012.03.01] BackBlaze is reporting uploading about 6GB per day. Not bad but based on network performance. It's pretty good and it's still going to take 10 days. Still better than 9 months.

When it comes to backing up servers in a business environment MBAs usually calculate the cost of remote data centers and the cost of replicating the data and the bandwidth needed between centers versus local tape machines and offsite storage and the cost of recovery.

When it comes to individual computers traditionally businesses usually do nothing and let the users fend for themselves. Recently, however, companies have been taking steps to protect their property by encrypting the entire hard drive for laptop users and backing up the equivalent of "My Documents" and leaving the rest of the computer as-is. One other corporate solution has been virtual computers running on computers in the datacenter.

In either the enduser or server case the business has a lot to lose and so a p…

iPhone battery life with iCloud

I do not have any proof, however, over the last two days I have had a serious drop in battery life and the only thing I have done is turn on iCloud. Granted I expected that when I first initiated PhotoStream because all of the images that needed to be passed around.

However last night I left the house with 80% battery and while I was sitting in the waiting room of a local hospital (with free wifi that requires a T&C agreement) The battery dropped to 40% within the first hour. The battery was at 20% by the second hour and the iPhone turned itself in the 3rd hour.

Seems to me that iCloud+wifi is just draining the battery but I have no proof.  I've turned off iCloud and now let's see what happens.

GMail wins over Apple Mail : 1 - ziparoony

It does not matter how I got here but it's enough to say that I have several custom domains and I serve their email using gmail. Given that I have multiple desktops and mobile devices keeping my email clients in sync has been a challenge using Apple Mail. So I stopped. Mailplaneapp.com filled part of the void because it supported multiple active accounts. But as I discovered today the killer app was missing.

I was starting to retry Apple's iCloud again... as I mentioned (sort of). Anyway I started tweaking my email settings again and that's when I started to reconsider Apple Mail. It had been running for the better part of the day when I was about to cut the cord to my browser based email client. If I closed my gmail window I was going to look my google voice client.

Sure I use Skype, Google Voice and my cell phone but there is no one device that I use regularly. And in this case if I abandoned gmail in the browser then I lose my voice. Simple as that. Winner Google.

Why the hiring bubble is bad for everyone!

Every once in a while a company like Rackspace manages to garner some social or media prominence for having all sorts of open positions. Recently, here in south Florida, there were several large employers (Saveology and one of the casino chains) made the news with hundred of open positions.

But here is the probably outcome... short term lower unemployment.

The reality is that when an employer says they have some number of open positions and it makes the news they tend to get exponentially larger number of candidates. So right off the bat it's going to cost them more to connect with the candidate pool.

Since there are a plethora of candidates the salary pool will be "managed" meaning that they are not likely to be hiring the company's chief scientist, economist, etc... it's going to be a middle to entry level position. Face it; it's a cattle call.

So here is some advice for both the candidate and the employer.

Employer. When you are hiring via a cattle call. Either…

PhotoStream is not DropBox

It's fine and dandy that "we" tend to press the AGREE button for every update to the EULA changes that Microsoft, Apple or just about every vendor produces or makes. We have become accustomed to the notion that someone is reading this crap and if it's too radical or restrictive someone else is going to complain when there is a genuine conflict.

I'm still having trouble making an offsite backup of my family photo albums. My wife has taken over 20K pictures since we first started dating and I introduced her to digital photography. Add the video and we have almost 300GB and according to CrashPlan and Bitcasa my upload is going to take months even at full throttle.

Since PhotoStream storage is not counted as part of the disk usage I thought it would be a great place to store our pictures. I'd have to find an alternative for the video but for the moment this was the plan.

But when you launch iPhoto for the first time and select the PhotoStream view, the splash screen…

Scrum - always better to go first

I remember in (elementary, middle, high, college, university) school that I hated to go first. It did not matter what it was I just hated it. Think of it as the leadoff hitter in baseball. (which turns out to be a good place to be)

What I just realized, after being on a scrum call with my client and their entire development team, is that I want to go first. By going first there is a psychological edge that you are the one that everyone else if following. If someone says that they implemented 'X' and you also implemented 'X' it's better to be #1 instead of +1.

In today's call it appears that the code is forking and efforts are being duplicated. #1 might be tasked to continue as-is where +1 will likely be seen in a me too position and that person is likely to be reassigned.

So unless you do not like your work... be #1.

The same can be said for bad news but that's a story for another day.

Apps need to ask permission to use the address book

In a recent techcrunch article the author suggests that OSX should prompt the user when an app wants to access your address book. I initially thought that this was a good idea... but that did not last long. If you've used a recent version of Windows you've been prompted a hundred times a second for one permission or another.

There is no doubt that we need to have our apps sanboxed but the price is going to be a lot of user friction and could ultimately cripple OSX. I think I'd prefer something like little snitch.

Scala + Clojure

I just wrote an email to a friend that started out as a note and turned into a speech.

I spent some time on both. There is nothing unusual about either of them. (a) they still depend on the JVM (b) for whatever functional goodness they profess to have they depend on the JVM and more importantly they are still inheriting from libraries that use the standard JDK. So unless they and your app use PURE scala or clojure libraries (see that Lift uses Jetty) it's just a non-event for now.

PS: for all the benefits of "private" and "protected" was once thought... it's a waste of time. (a) people have access tot he source. (b) people want to see the implementation details as part of "full stack awareness" (c) people need to profile and build everything from scratch (re PCI).

JITs are making their way into most languages and they are really fast. I like the performance of tcl, Lua, Python, perl and Ruby... (I think I've decided that I like Rails but I do not…

Getters and setters are STILL evil!

I'm a 3rd party reading the source code of another 3rd party for a project I'm working on and I find my head spinning because the Class that I'm currently reading is 90% getters and setters. Of course I did a little googling in order to see what the current state of accessors was and that's when I found this evil article. Looking at the byline I think it was written in 2003 and of course not much has changed since then.

What troubles me about the article is that it nor any of the OO gurus ever discuss anything but the simplest OO objects like point, line, square, circle. Sure, when you have essentially 3 or 5 input values it's simple to accept them in the constructor. But when you have 100 instance values of varying types then what? In the evil case getters and setters are used so that the data is validated during the set based not he rules of the class declaration. Using a single get/set does not give you that functionality and validating in the constructor makes t…

VOIP reporting and reconciliation

About 6 years ago a friend of mine asked me to help him out. He has a VOIP arbitrage business where he buys and sells VOIP minutes. At the time; in the course of a day he might complete 100K calls. Upon the completion of a call the "system" would generate a CDR (call data record) representing the date/time, duration, disposition, route, call source and destination. At the time he was using some legacy switches and when he compared his invoices to his suppliers and clients; he could not reconcile the transactions. As a result he was losing a lot of money.

The first program I wrote for him reconciled the data from the various switches.... like a forensic accountant I found the money. The issues were several fold. (a) there was a time shift in the reporting from the 3 systems. (b) there was a bug in the client's system where they failed to record the data in the correct DB shard at midnight. (the call originated yesterday but completed today) and (c) a bug in the vendor'…

Payments are pretty simple

I'm amazed that a company like Stripe is making such a big splash and looking at the headshots I'm further amazed that a company this young and median employee age is still expanding. And finally if you've ever been a merchant or a merchant processor then you know that there is always a line in the sand and Stripe is not even talking about it. They have done everything they can to remove the friction from your payment process.

I have been soliciting my friends and connections in order to build an open source issuer or acquirer system. One of the reasons is because it's just outright simple. Moving a transaction from a merchant-based API to ISO8583 is pretty simple and parsing an 8583 message and processing a debit or credit transaction is even easier. The hardest part of the issuing side is the HSM which is also the most expensive component next to the software delivery. With the PCI audit, colocation, networking, and network minimums a close 3rd or 4th.

At the end of th…

I feel marketed to by Google

I guess this is why Google is getting the big bucks or at least why they got the big bucks. It certainly does not explain why their stock (a) has not changed much since late 2007, (b) why they have not split. But this is off target.

I spent a few minutes today trying to make some new business cards. I was on a few different sites. I finally made a selection and input all of my information. When it came time to pay they wanted 2x what I thought I was supposed to be paying (according to the advert). So I cancelled the order.

Now I'm doing to reading when an advert popped inside the story I was reading. It was an advert for that same card company. This time there was a coupon code. BIZ500. So I'm going to try again and see how much money they want this time.

I hate wires

There was a time earn I had a small 8 node cluster in my home. I had a bunch of monitors, keyboards and mice. Eventually I was able to cut the I/O down to two monitors, two keyboards, and two mice. But I still had so many wires running around my desk. At first everything was nicely aligned and channeled. Then after the harsh hardware upgrade (a new drive) the wiring started to unravel. In the end I moved the hardware to storage and converted my lifestyle to laptops and wifi.

I've had many years of success with a single laptop. And then there was a single failure that nearly cost me dearly. In the end I gave my wife my refurbished computer (damaged MacBook battery), bought a MacBook Unibody and then 6 months later bought a MacBook Air.

My workstation is a outboard 25" monitor with Apple's wireless bluetooth keyboard and trackpad. Both are connected to my MB-Uni. I use the MB-Air for Pandora, Twitter, Skype, some email and other ancillary apps.

But now my desk is getting clutt…

why_not_lua

In response to Why_Lua.

To say that Lua embraces the do-it-yourself approach is silly. Every programming language started this way. That includes ruby... long before Rails. But while Lua has some nice attributes it lacks one thing. A killer app or a killer tool. Just because WoW uses it as a script language is not enough. Of course if we knew what the median age of most WoW script kiddies then we might be able to estimate the approximate time until Lua is a leader simply due to attrition.

For my money, I have read web site after site and I have yet to see any concise direction. Sure the language is "consistent" but the implementations are all over the place and semi-forked.Just look at Lua and LuaJIT. While the version numbers are not required to align but it would be helpful.

LuaRocks has some potential as a package manager site, however, just from the outside it does not measure up to pip or gems. Some day possibly.

About the only real hope I have for Lua, in the near term, is…

Where is all the shell love?

Some devs(developers) out there are showing some biased interest in zsh. I definitely do not know enough about all the different shells in order to get into a shell skipping debate but I can feel the love-loss. I have a fresh Ubuntu 11.10 installation and in the /etc/shells file you'll see:
# /etc/shells: valid login shells
/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/esh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/screen
I do not know why screen is in there but, ok, it is. Personally I have been using bash for as long as I can remember. I started with sh, csh and ksh but it depended on the unix I was using and what the default was. And since it was so far back people just left well enough alone. When I discovered bash it was strictly because of color, some autocompletion, but mostly command history.

Now that zsh seems to be getting somewhat of a revival it's not hard to take a look. And so I did. And I don't like it at all.

Part of the key su…