You have reached the blog of Keith Elder. Thank you for visiting! Feel free to click the twitter icon to the right and follow me on twitter.

Back in Mac, I typed in Bash

Posted by Keith Elder | Posted in Apple | Posted on 15-02-2014



I was trying to think of a title for this post and the first lines to “Back in Black” by AC/DC kept popping in my head. I was going to try to write a witty pun or play on words on the lyrics to “Back in Black” but I couldn’t think of a word to rhyme with *ash for the second verse. However, the lyrics are somewhat fitting.

Back in black I hit the sack

I been too long I’m glad to be back

Yes I am

Let loose from the noose

That’s kept me hanging about

I keep looking at the sky cause it’s gettin’ me high

Forget the hearse cause I’ll never die

I got nine lives cat’s eyes

Using every one of them and runnin’ wild

Cause I’m back

What am I trying to say you wonder? Well, last week I switched back to using the forbidden fruit, a half-eaten fruit if you will, Apple. The sky isn’t falling for those that only know me as a long time Windows user and Microsoft MVP because I’ve owned a Mac since 2002. I’m not going to suddenly start writing IOS apps and get all hipster so don’t worry. I’m still going to be heavily involved in the .NET community so this isn’t a “I’m leaving .NET for {insert technology} post” because the last time I checked there are still millions and millions of Windows PCs that need software. It is just that I firmly believe a Mac (being Unix based) opens the polyglot programming language door more so than running a Windows PC. Let’s face it, most of the technologies being developed aren’t being built on Windows. They are mostly being built on Mac or Linux and run very consistent on both of those platforms with just a recompile. If you’ve ever tried to run PHP, Python, Ruby, Node etc on Windows you know what I’m talking about. These technologies aren’t native and while Microsoft has made some great strides (especially with Node in Azure recently) they don’t feel or act *native* and that’s important.

2014 is about a different journey for our team. It is a journey that I have been pondering since last fall and that is how to build fault tolerant highly distributable concurrent high availability systems. While .NET, Node, Java, PHP, Python, Ruby are all great I have a burning necessity to build a highly concurrent highly available distributable system (system being the keyword). After a lot of research, thought, discussions, reading, and playing all roads led us to look at Erlang. It isn’t a flashily super hot technology like Node but it is a super powerful platform to build robust systems with as other companies like Huffington Post, WhatsApp, Facebook, Heroku, and Zynga have figured out. 

I work with some amazing team members. Their open mindset and willingness to learn new things to solve our challenging problems in new and unique ways is what really makes this shift possible. As a matter of fact the whole team got Macs this week. While our team has always considered ourselves polyglots and prided ourselves on solving the right problem with the right tool we’re ramping up our polyglotness to DefCon 1 this year. 

Where this new journey leads I don’t know but I have a vision and a plan. It could be a bust or a genius move, time will tell. We’ll figure out the how as we go and I’ll gladly share the ups and downs with those that read this blog in the coming days, weeks, months. I hope to blog about what led us to this decision over time to look at Erlang in a very serious manner but in the mean time I challenge you to get uncomfortable and crazy with us and Learn You Some Erlang for Great Good

AT&T iPhone/Mobile Tethered Users Beware: One Gigabyte of Wireless Bandwidth: $503.00

Posted by Keith Elder | Posted in Apple, Mobile Devices | Posted on 16-11-2008


imageAT&T recently announced they were going to support tethering for the iPhone.  I am sure a lot of users are happy about this move, I know I am as that has been the one thing that has stopped me from not getting an iPhone and to this day is why I continue to use my Blackjack II.  This announcement, coupled with a reader commenting on a previous article about whether I would recommend tethering the Blackjack II if someone traveled 70% of the time, got my curiosity up.  Thus I started to dig in. 

To answer the comment from the reader, in my opinion, that much travel would warrant more of a dedicated device.  Curious I went over to the AT&T web site to check out the AT&T USBConnect Mercury device they’ve been advertising for months now.  You know the one, the one that Bill Kurtis finds the Internet with?

Right now the device is free after mail-in rebate. Here is a screen shot for posterity sakes.


If you walk through the shopping cart the next thing you have to do is add a data plan.  Currently only one plan is available and the monthly cost today is $60 / month which gives you 5GB of data. 

Currently AT&T offers a tethering option for phones like the Blackjack II and others.  Both the tethering data plan and the USBConnect Mercury use the same calculations, 5GB to start with and then so much for additional data.

Pay Attention!

Ok, here is the kicker to this that a lot of people probably won’t pay attention to.  The additional data cost is:


Here’s a snapshot of the value from AT&T’s web site (for posterity):


Someone may read this and go, cool, that sounds really cheap.  There are a lot of zeros in there.  But don’t be fooled!

The key here is they measure cost in terms of KB (kilobytes).  For those that don’t know how this works, there are 1,024 bytes in a Kilobyte.  To put this into perspective, if you visit the home page of http://www.amazon.com, you will download roughly 300KB to load the page.  As you can see, this is a really low level of measurement, really we can only go one step lower and that is to just measure bytes.  

There are 1024KB in a Megabyte and 1024MB in a Gigabyte.  Thus our formula for calculating how much it would cost a consumer that downloaded an extra GB (gigabyte) of data during the month by either tethering an iPhone or using the USBConnect Mercury is as follows:

1024(KB) = 1MB
1024(MB) = 1GB
Cost per KB:  $0.00048

1024 * 1024 * .00048 = $503.31


$12/GB for First 5GB, and then $503/GB After That

Can you just say wow?  I couldn’t believe this when I added this up.  I was in so much disbelief I had a few programmer buddies calculate this as well. 

It would make more sense logically speaking for AT&T to say they gave you 5GB at $60.00, and then if you use another GB, then it is going to be $11.99.  But that would be too easy to calculate.  For some reason AT&T thinks they can justify charging $503 for one GB of wireless data, yet sell you others at $12 a GB. 

For those that are thinking they can use their iPhone any and everywhere as much as they want, seriously, be careful!  These words of wisdom aren’t just for iPhone users, but for anyone tethering a device to AT&T’s network like the USBConnect Mercury or other mobile phones that is a heavy user and traveler. 

What You Should Know About the 3G iPhone Before You Sync It With Your Exchange Server

Posted by Keith Elder | Posted in Apple | Posted on 11-07-2008


Today Apple launched their new iPhone.  Countless users are upgrading everywhere looking forward to playing with the new features of the 3G iPhone.  Before you connect your new iPhone toy to your enterprise exchange server there are a few things you need to be aware of.  For some of you these may be complete show stoppers.

I would have entertained the idea of getting an iPhone until I read this, thus I thought I’d pass it along.

Only Sync With One Computer

When you enable Exchange syncing on your iPhone to get emails from work, the phone will no longer sync contacts and calendars with another desktop computer using iTunes.  Windows Mobile allows users to sync with exchange and with another computer pretty seamlessly.  For example, I am able to sync my calendar and contacts with my work via Exchange but I’m also able to open up my home computer and add a new contacts and have it synced with my phone.  Updating the phone, updates Exchange.  The iPhone only gives you one option.  It makes me wonder what setting up the iPhone does with the new MobileMe service.  I guess we’ll find out.  If you know, comment below.

Lose Existing Contacts / Calendar

If you have an existing iPhone and you upgrade it to the new software be careful. When you setup Exchange support on the phone your old personal contacts and calendar items will be deleted from your iPhone and overwritten with your information.

Unsupported Exchange Features Heavy Email Users Need

For those that have Blackberries and or Windows Mobile apps there are some things the new iPhone will not do (at least at the last time this was tested which may have changed with the release today).

Not supported features of Exchange:

  • Folder management
  • Syncing tasks
  • Setting an “out-of-office” auto reply message
  • Create meeting invitations
  • Flagging messages for follow-up (of course this is an unsupported feature for any email on the iPhone)
  • Setting or seeing ‘high importance” emails (you don’t see the red in the inbox), of course this is an unsupported feature for any email on the iPhone

Are any of these major show stoppers?  For those of us that organize lots of email the folder management is a big one.  Especially if you are monitoring different email folders for system alerts and things.  Syncing tasks is not huge but something I use a lot myself.  The biggest one to me is creating meeting invitations.  To me, this one is a show stopper.

Additional Costs

On top of the existing fees you will have to pay an extra $15 for the “Enterprise Day Plan for iPhone” which puts the monthly cost at $45.00.  It makes sense with the amount of data going back and forth for email but that is still very pricey considering.  Information is here:



Let me say up that I have not tested these myself.  These were some of the things that were discovered during testing a pre-release of the iPhone at work.  Thus, some of these *may* have changed since then.  If you find some discrepancies in anything here, don’t get bent out of shape, just politely leave a comment with a correction.

My Very Short Job at Apple Computer

Posted by Keith Elder | Posted in Apple | Posted on 01-04-2008


UPDATE: This post was posted on April 1st and thusly is an April Fool’s.  It was posted about 5.5 hours after another post that was also an April Fool’s that started the whole thing.  Maybe now the emails and phone calls will stop.  🙂

I spent weeks writing up the previous article I posted to this blog this morning about how I had joined the silver card carrying members club at Apple.  Congratulations poured in from the community congratulating me on my accomplishment.  My Macbook Pro and iPhone were already on order as well as my wife and I were shopping for houses in California.  For once I thought, I might be able to make her happy.  A few moments ago my world came crumbling to an end.  I received an email from legal at corporate.

Mr. Elder,

…… (legal blah blah)

…. as you are aware each employee at Apple must sign an employment contract.  Any violation of that contract may result in immediate termination.  Due to the article you published this morning on your blog about your new job at Apple, we regretfully must inform you that your position at the company has been terminated, effective immediately.

…… (more legal blah blah)

……our legal counselors will be contacting you soon.

I spared you the legal jargon in the body of the letter but the main reason my tenure at Apple was short lived is because I used certain words that hadn’t been approved by marketing in my previous post such as:   iPrize, iTalk, and iNet.  Ultimately the word that drove the nail in my coffin was iWeb. 

To those of you who wished me farewell in numerous emails, Twitters, personal phone calls and more, I say thank you.  All of your warm wishes and congratulations make this blow seem easier to swallow.

I received an order cancellation moments after my termination email.  My dreams of owning a shinny new silver Macbook Pro and an iPhone are all but faded memories now.    The hardest part was telling the real estate agent in California the bad news.

My words of wisdom for anyone getting a job at Apple.  Just don’t blog about anything. 

For those in the Microsoft community I only hope that you can forgive my transgression of wanting to work on really cool technology that could have changed world.  Please let me back into your circle.



Elder, The

I’m Joining Apple, I Swallowed The Silver Pill

Posted by Keith Elder | Posted in Apple | Posted on 01-04-2008


UPDATE:  This post was posted on April 1st, and thusly is an April Fools post as is the follow up post.  Maybe the phone calls and emails will stop now. 🙂

Today publicly, I am announcing for the first time that I will be going to work for Apple Computer.  It is no doubt monumental news that I’ve been holding back until the final contracts and NDAs were signed.  This evening everything was finally settled.

You are probably wondering what in the Wide Wide World of Sports is going on!  What would Apple want with someone who refers to himself in the third person as The Elder?  It turns out a lot. 

Apple for years has been trying to break into the Enterprise, slowly and secretly.  Sure they are known for building end-user devices but the company has realized they can only convince about 5-7% of the population to switch to Apple products.  There are countless rogue Apple computers throughout corporate America that are breaking through silos and mindless thinking but it isn’t enough.  A top down approach must be taken.  If Apple is going to fully embrace the enterprise they are going to need someone who has not only used their products, but someone that also knows the competition as well as how corporate America thinks. 

As a result I will be heading up their iPrise division at Apple.  This division will be solely responsible for getting Apple products into the enterprise and fulfilling the destiny of the underlying BSD operating system. 

In my new role, I will be working with the XCode product teams to fully port Mono to Mac OS X to make sure the majority of existing .Net applications run flawlessly on the Apple platform.  Apple realizes just like Novell there is a large investment in .Net technologies and this move is imperative to make sure existing applications can be used on Apple products.  This is going to be very tough so please be patient as I breakthrough new ground between Steve Jobs and businesses throughout America.  Apple has always been secretive about products and SDKs so it is going to be a very tough, long, and rigorous process.  Please be patient.

New products will also be released to help enterprises everywhere.  A few of the first things planned is to replace some existing technologies with Apple specific ones.  Here are a few items on the list.

  1. iTalk – This will replace BizTalk Server, services and message platforms. 
  2. iHibernate – An easy to use ORM mapping platform.
  3. iNet – The Mono .Net replacement for Mac OS X.
  4. iWeb – An Asp.Net MVC framework built using Mono.
  5. iLight – A WPF / Silverlight implementation for Mac OS X.
  6. i* – Anything else that is missing.

In the end I have no doubt we’ll prevail.