Wednesday, September 3, 2014

Moving Day!!

I'm not sure why I hadn't tried before...

On the old service - the name 'gregor42' was taken by some inconsiderate person who camped on it & did nothing - forcing me to change the name of my thread.

I just noticed that they didn't transfer over to the new service.

So, from now on - Drop the 'y':

Friday, August 29, 2014

The Mobile Device Membrane

Back when the iPhone was first released there were no Apps.  The Steve told us that all of the apps would be web-apps & that the Safari browsing experience on iOS would be the same as on a computer.

But, as we all know, people wanted apps.  So rather than watch people jailbreak their phones to mod them & run their own applications Apple decided to cash in on the phenomenon.

So now if you want to develop those apps then you have to have a mac.  And then you have to distribute your app through the iTunes AppStore.  So they are going to get some serious money out of you one way or another before you ever sell one app.

That aside - what was initially interesting about apps in the Walled Garden was that unless you were jailbreaking your phone - there was zero software piracy.  To offset this the price of apps came way down.  An image editing or productivity app was now $10.  I saw that as a good thing.

But... Nowadays - there has been a sea change.  It would seem that every website has their own app.  And they really want you to use it.  If you don't then you get to use the "mobile version" of their website.  You would normally think that would simply change the page layout to be optimized for a smaller screen.  But wait, no - functionality is falling off of the page too!

This is where the model starts to change and introduce what I am calling the Mobile Device Membrane.  It is faster to change a web site than it is to change an app.  You need user-consent to update an app therefore it is easier to change a web site than an app.

Unless - you have multiple versions of the web site.  (i.e. the nerfed/hobbled 'mobile version') In that case you update the main website first - then maybe the mobile version & then you release the feature in the app.  Maybe you even wait for the results of micro-testing prior to including that feature at all.

The result is that mobile devices never have the cutting-edge functionality anymore.  If you require or desire that then you need a laptop, not a tablet.

I recently broke my iPad screen & considered buying a replacement/upgrade.  After thinking about it for a long time I realized that I didn't want one and that a laptop would be a far better choice overall.  I ended up getting the screen replaced at Radio Shack (nice job & very reasonable) and I'm still laptop shopping.

While I very much enjoy the iPad I have found that I use it less as a technical tool & more as either a productivity tool or as an entertainment platform.  I do not find it useful for writing software for example.  But watching videos, playing games, or reading PDF files are the main reasons for which I use it.

I also find it awkward for working with graphics.  The issue of using a stylus vs. having a screen protector is an added complication but either way, the inductive touch interface lacks the sort of precision response that I would get from using a Wacom tablet.  If I were serious about doing graphics work - I can't imagine not going that way. 

The alternative is to always draw things zoomed in like you are fingerpainting in the small.  While a useful metaphor for a workaround - it gets on my nerves.

In the end tablets are not computers & the companies that make them do not want them to be.  A computer is an anarchy-box where the user can get in there & do anything that they want.  Tablets are walled gardens that Thou Shalt Not Use in-any-way-the-manufacturer-finds-objectionable.

Therefore tablets are merely consumer electronics.  Very Useful ones, but that's it.

The one killer application that I recommend highly is TeamViewer.  Remote access to actual computers is the most useful & underrated application of this technology that there is. 

You know all of those computers in the cloud?  Using your tablet to drive one is a serious force multiplier.  It is somewhat clunky, but ultimately very powerful.

Thursday, August 28, 2014

What do we want? Security! When do we want it? 30 years ago

There was one message that stuck to me like a barnacle at HOPEX:

"It has been 30 years & Johnny still can't encrypt"

This is to say that encryption - which we all know to be a Good Thing - is far too hard to do.

As evidence to back up this assertion I offer the simple question: How many IT professionals do you know that regularly uses PGP (or GPG) to encrypt their email?  Do you have a keyring with their public keys?

If you are an IT professional - how often do you encrypt data?  Have you ever set up an SSL certificate?  Exchanged SSH keys?

There you have it - even the experts don't encrypt and when they do it is painful.

I was having a conversation yesterday where we compared the average person's attitude about encryption to that of Big Business & Climate Change: "Oh Wow.  That's a Big Problem.  You mean I have to Think about that and maybe actually Do Something?  Well that sounds like a lot of work & expense that I don't want to be bothered doing.  Let's just ignore this & see if it goes away."

In fact, in terms of Big Business - security is an expense also. Have you ever noticed that SSN's and Credit Card numbers get encrypted now, but little else, if anything is?

This is the ugly face of "compliance" where you have IT departments going out of their way to do as little as possible to comply with the law - as opposed to embracing the idea & making changes across the board.

But, of course, neither of those problems are going away of their own volition.

What am I doing about it besides complaining?

I have started an OpenSource project on GitHub called "johnny".  (As in the quote above)

I will be adding tools here to allow people to perform different encryption-related functions.

We should be encrypting everything.

So I am going to try to make the tools available & simple to use in the hopes that I can encourage others to do likewise & start using them.

Remember:  It is one thing to find a needle in a haystack.  It is another thing entirely
to find a particular needle in a stack of needles.

Wednesday, August 20, 2014

BitBucket to the Rescue .. oh wait

Based mostly on the sort of work that I have been doing in my career I got away from Open Source development for a while.  As I pointed out in my last post talking about GitHub I had to blow the dust off of my SourceForge account and start to do a comparison of the two.

It seemed like I had found a home for my code and it would be neither of them.**

I was aware of BitBucket much in the same way that I was aware of GitHub.  In my mind they were yet-another-online-source-code-repository.  Maybe this was true in the beginning and maybe I just never bothered to look at the differences between them because I was stuck in my own perspective.

They all let you store versioned documents.  They all have issue-tracking.  (SF calls them Tickets)

Both GitHub and BitBucket pick up your image from Gravatar. (Which I actually found a little off-putting as I had forgotten that I set it up for use with my long-broken PS3)

However, they all have successfully distinguished themselves from one-another. 

SourceForge is the old school regime.  They have projects-of-the-week and send you piles of email if you let them.  They have co-branded/sponsored "solutions centers" geared around specific types of development to foster communities.  They have job-searching services. 

GitHub comes on like a social media site with charts & graphs reinforcing a model of continual posting and @yournamehere message/pestering so that you interact with people talking about your code.  They also force Git & Open Source down your throat.

And then there is BitBucket.  They come off as Git-centric out of the gate, but offer Mercurial as an option.  So they play to the popularity of course, but provide for choice. 

For the sake of comparison I went through the same process that I did yesterday on GitHub, creating a hello-world project.

When I created the repository I was given a choice of Git or Mercurial.  Score Point #1.
I was then asked if I wanted the repository to be public or private, with private the default.  Score Point #2.  (GitHub charges  ~$85/year for that)
Digging into this further I see that I can have a workgroup up to 5 on this account for free.  Score Point #3. (That is specifically what GH charges ~$85/year for)

Where BitBucket shows it's dot-org-ness is when it comes to using the site directly from the web site - you cannot.  You must use either the command line tool or else the SourceTree tool.  While it is a handy tool - if only because it transparently works the same way with Mercurial as with Git, I resist dictating tools to people.

Also - GitHub shines even more with the ability to edit files in place on the web-site.

** When I went back & repeated the experiment with SourceForge - I discovered that they have been keeping up with the Joneses: Wiki, blog, git, svn, cvs, mercurial, & bug-tracking, oh my!

So this is not as clear-cut as I once thought it was.

What I will point out is that there is no integration between repositories on SourceForge.  Your svn repo has nothing to do with your mercurial repo has nothing to do with your published files, etc..  So if you support multiple source-control tools - then you have to support them.

So in the end I think that it might just come down to a question of who are you working with?  That is, if you are looking to contribute to an existing project, then you are stuck with the decisions that the project founders made before you - unless you have the audacity to fork.

However if you are looking to start a project & are looking for a home - you need to ask yourself a few questions:
  • What license am I using?  If it isn't Open Source - rule out GitHub
  • How large is my team? If it is less than five, consider BitBucket
  • How important is collaboration and what form should it take? Wiki, Blog, direct messaging? If you want twitter-style messaging, use GitHub - if you want blog or wiki SourceForge wins out.  (Of course if you just use IM and email then any of them work fine.)
  • Are you encouraging crowd-sourced participation?  Both SourceForge and GitHub are focused on pulling other people in.  SourceForge appeals to the civic-minded where GitHub uses the peer pressure tactics and rewards mechanisms of Social Media.  Know your audience. 
  • Do I need closed-source?  You might be working under contract & not have a choice.  SourceForge or BitBucket are better starting points.
  • What tools am I using? CVS or SVN look no further than SourceForge.  Git users rejoice in choice.  Mercurial users ignore GitHub.  If you are looking for web-page-based-contributors then GitHub is the slickest interface.
  • Do I need to edit files in a web browser? GitHub is your only choice. 
  • Am I just making something available for download?  If you just want a page for people to download your stable releases then SourceForge gives the most professional looking download page experience.
So what am I going to end up using?  In fact - for now - all of them.

What is more - if I find myself pioneering projects rather than simply participating in them - I will mostly likely create cross-linked & cross-synced repositories on all three.  Why would I do such a thing?  To maximize participation & reach.  These are all communities.  It would be worthwhile to reach out to anyone who would listen, no?

Tuesday, August 19, 2014

Getting up to speed with GitHub

I write open source software from time to time.  But it has been a while since I was an active contributor to projects.

As such I am familiar with SourceForge and GitHub is new to me culturally.  There are differences.

I don't use Git.  I do use Mercurial - which makes me something of a pariah when talking to git-heads.  That's sad IMHO since we're both firmly in the distributed version control camp.  I just find Mercurial easier to use than Git and can't be bothered to relearn the syntax again... (I've done rcs, cvs, pcvs, MKS, svn and finally hg - WhyTF would I want to learn Git now?)

Since I'm not a regular git-user I didn't see the point in using Github.  But after having to go there to get just about everything that Adafruit publishes software-wise I gained exposure and started the tire-kicking.

I have an account - gregor42 - so hit me up if you think you want me involved in your code for some reason.  I might even log in regularly enough to see it.

I have to say that I find the pay-to-be-private approach very peer-pressure oriented.  You will make your code Open Source, won't you!?!?!

While I think that Open Source is a great approach - it is not the only approach, nor necessarily the best approach all the time.  But if you are going to be proprietary then everyone wants a piece of that gold nugget that you are mining - starting with GitHub.

I'm also feeling a bit moody today so I'm finding that the push to Share reminds me of Plex from Yo Gabba Gabba and his pushy Fun to Share song that even my young son sees through as slightly disingenuous...

OK - time for a cookie - I'm getting moody.

Monday, August 18, 2014

Fun with Gemma!

Over the weekend I built a sound activated 1 meter long RGB light strip.  (I included a nickel in the photo for scale)

I used parts from Adafruit & followed their helpful instructions.

It was by far one of the easier builds that I have done lately.

It it based on the Gemma - a stripped down version of the FLORA - itself a stripped down version of Arduino.

That is to say that it is controlled by a micro-processor that I can program through a microUSB connector on the board.

At 5k there's not a lot of memory for me to write code into - but given that all that I am doing is reacting to changes in sound & turning on/off lights & setting their color - that's plenty of space.

Connecting to the Gemma with my Mac wasn't immediately successful until I plugged the USB cable into a powered hub instead of the keyboard - be warned.  Otherwise I had no trouble at all, especially since I downloaded Adafruit's Arduino Bundle which comes with all of the required libraries for Gemma, FLORA & Trinket.

Once I programmed the Gemma with the Blink sketch & felt comfortable with that I went ahead & uploaded the Color Organ sketch.  (I will post subsequent modifications later.)

I will warn you - I did not have any luck testing with alligator clips.  This might be due to testing with a battery pack that was not fully charged or it might be due to the very very small connection points...  That being said - I checked all of my connections & they seemed to be correct, so I threw caution to the wind & soldered it up anyway. 

And it worked perfectly the first time.  (That almost never happens for me, so I am still stoked about it.)

Halo Effect vs. the Reverse-Midas Effect

Business School-Minded folks will point at Apple and the success of the iPod & iPhone and will remark on how it drove sales of their other products as a result.  This is called "The Halo Effect".

It occurred to me while having multiple conversations recently about Google Glass than the general consensus amongst the tech crowd is that just about everyone would be far more comfortable using something like Google Glass if it didn't come from Google.

That doesn't exactly say much for the 4 color brand that has dominated internet commerce in the last decade.

Between bullying everyone into creating a Google+ account and being featured prominently in the Edward Snowden revelations, Google has a lot of public relations issues to live down.

The "Reverse-Midas Effect" is the logical converse of the Halo Effect.  It references the fable of King Midas who was gifted/cursed with the ability to turn anything that he touched into gold.  By doing the reverse, we refer to the idea of everything that you touch turning into shit.

Google still provides decent products (like this free blog for example, which they have in fact made worse) - but I'm not going to accuse them in the same way that I would hurl rocks at Microsoft.

But I am going to point out that something stinks and the "image" of Google could use some incense & potpurri.

BBBrevC Up Close & Personal [& Google sucks]

[Wow.. OK I guess I am stuck with reusing images that I uploaded from the computer since Google needs to bully me into using their app to upload an image from my iOS device. What ever happened to the web acting the same everywhere? Not according to Google it seems.  I am not able to upload images right from the the we page anymore.  Way to break the website.  First YouTube & now this - is there anything that Google can't Ruin?]

Well enough of that ^ crap because I am still extremely excited about acquiring my new BeagleBone Black rev C!  It came with Debian GNU Linux 7 pre-installed.  I looked for & found perl, python, ruby & C++.

Since you can access all of the GPIO's directly through the file system - it is actually very exciting to start fiddling around with this thing because of how easy that will be.  Aside from just having another computer around (with no monthly hosting fee attached) this thing shows tremendous promise in terms of being put to work to do something around here.  Maybe even something ::gasp:: practical.

What I see as the hidden feature of the BeagleBone, as well as the other devices in the attached graphic (Raspberry Pi & Arduino) is the standardization of the footprint for building peripherals.

It works like this:

I have the BBBrevC and I plug in my breadboard to it & start building away.

When I have something that works that I like then I want to make a more permanent copy.

I can then do a point to point prototype or a hand-built PCB and attach connectors on my board so that it plugs into the pin-out strips on both sides of the BBB.  (These are often referred to as 'headers'.)

The next logical step is to etch your own board that stacks on top of the BBB.  This is referred to as a "cape" for BeagleBones or a "shield" for Arduinos. (I don't know if "plate" is settled jargon for RaspBerry Pi or not..)

The standard builds itself around the interface - the headers define the compatibility standard.

[Incidentally, I ended up finishing this entry using a desktop.  Google seems to have intentionally broken their own product so that it requires more of their products to function.  I thought that was only something that Microsoft & Oracle did but I guess Google is now firmly in the "Got Evil?" camp.]

Here is the photo of my setup complete with a plastic case, USB to miniUSB cable, HDMI-HDMImini adapter, 5v 2amp DC power supply, mini SD card with adapter, usb to serial pin adapter for bypassing the bootloader, and a nickl & a sharpie for scale.  As you can see it is small.

"Credit Card sized" in terms of two dimensional shape is spot-on.  Even in the plastic box that I bought for it it is roughly the same size as my wallet.

Tuesday, August 5, 2014

In Your Face Technology

The consumer world is finally getting a taste of the technological design goals of my youth and with it gets two steps closer to living in a William Gibson novel.
I am referring, of course, to both Google Glass and the Occulus Rift - two devices meant to get up close & personal with your eyeballs.

Google Glass seems to be aimed at the augmented reality crowd - with the emphasis on their Explorer marketing being on how much it can help you go places & do things.

The Occulus Rift contrasts this by providing a fully-immersive virtual reality display that replaces your view of the world with anything of which you would rather be living inside.

There is a huge price difference for these items & that in many ways reflects their immediate utility & their customer demographic.

By this I mean that despite the immense potential of the Occulus Rift, it is easier to immediately put Google Glass to work as a tool to get things done.  Does that justify a price tag of almost five times more that the Occulus Rift?  I have a hard time swallowing that.

It seems to me more like that price point is intended to make Google Glass a status symbol, much like the first iPhone release.  Unfortunately I think that this is backfiring.  The combination of know-it-all and camera-in-your-face experience of interacting with someone whom is Glass-enabled has led to the immediate adoption of the term "glasshole", applicable to users in public.

I have to say that the term is somewhat well-earned.  By jumping onto the Google platform you almost guarantee a serious degradation of your personal privacy as well as that of everyone immediately surrounding you.  This alone is disturbing but when you combine the price-tag with the inevitability that it will most certainly be riddled with advertising - one really has to question the judgment of anyone buying into this.

Still - I reconsider it every 2 days or so.

The Occulus Rift on the other hand is still largely a toy for developers.  Being a developer - I am cool with this, but still it would be nice to know that if I buy one that I won't be shelling out for something that I will only be able to use if I custom-build my own content for it.

That being said - they have put a lot of work into minimizing latency.  I hear very good things about minimizing simulator sickness - which I think is really important since I suffer from it.  If you are not sure if you too suffer from this then sit down in a room with all of the lights off and watch the Blair Witch Project.  If you get nauseous from the lack of orientation then you might also be susceptible.

Monday, August 4, 2014

DIY ARM laptop for <$200

I know that we keep hearing about Chromebooks and all kinds of very inexpensive computer systems intended for students or people in the developing 3rd world, etc..

You might think that it is impossible to build any kind of computer that you might want to actually use for very little money.  

You would be dead wrong about that!  
Let's have a look at what 5 minutes of Google searches turned up:

Case                   10
Kybd                   35
LCD                    65
Subtotal             $110

Then either: 


BOTH boards for a Grand Total of $200.  (Yes I said "less than" - so choose one board)

This is not a pretty design by any means but it will work 
Both boards run Debian by default – and you have many options to choose from there.


You could forget what I just told you & spend $300 on just a board that can run Windows:

But obviously, that doesn't make any sense at all.

Wednesday, July 30, 2014

Look! Up in the Sky!

There are all sorts of things that you might want to build nowadays and I have been spending a lot of time lately learning all about them.

One rather imaginative use of very small computer systems is in flight applications for UAV's.  Following that thread leads to an entire world of development going on with multi-rotor helicopters.

I simply had no idea just how far this has come as a technology and how cheaply and readily available such things are.

The level of sophistication is such that for the financial investment equivalent to that of a laptop and a good deal of time to mountaineer a learning curve you can own and operate your very own camera drone.  Mind you, like a desktop tower system - you can spend as much money as you want when you get fancy.

The level of sophistication that had been achieved is astounding and it offers the siren's call of technolust.  GPS systems that allow a unit to auto-hover in place even with a prevailing wind, GoPro cameras mounted on gimbal systems sending a 1.3gHz video signal and having their record function controlled remotely, HD panels on a tripod offering First Person View(FPV) and/or Head Mounted Displays (HMD) for the pilot.

Some people even mount paintball guns to them...

I don't need a crystal ball to see some of this going on in my future.

Monday, July 28, 2014

Brains Brains Brains!

Ever since HOPEX I have been cramming about electronics design.  I have been positively obsessing over development kits of all kinds.

Three wonderful objects of technolust are the Arduino, the Raspberry Pi & the BeagleBone Black.

That list is in chronological order, order of complexity as well as increasing price order.

They are all roughly the footprint of a credit card & they are all extremely inexpensive.

The Arduino is essentially an embedded processor on a breakout board.  You connect to it from an external computer & upload software to it - referred to as "sketches" instead of 'programs' for some reason I still don't understand.  As a development kit it is very forgiving and flexible.  This has been the darling of the Maker/Hacker community for embedding logic in all kinds of things.

The Raspberry Pi is a full-blown computer that runs Linux, has USB ports, Ethernet, and video output.  It boots from an SD card.  You can actually use a Raspberry Pi to program an Arduino - and many people combine the two - though to be honest I'm not sure that I understand the advantage to this beyond having an inexpensive computer dedicated to the function.  Embedding both into a device seems unnecessary...  The Raspberry Pi was invented to fill the need of providing students with a low-level understanding of how computers work.  My generation had Apple //e computers to fill that niche.

The BeagleBone is similar to the Raspberry Pi in that it is a standalone computer.  The BeagleBoard and BeagleBoard XE were predecessors that cost >$140 and managed to generate very little interest.  The newer, stripped down BeagleBone Black is much closer to the price point of a Raspberry Pi.  The BeagleBone Black however has far superior specifications than the Raspberry Pi and the design is completely open source, right down to the core hardware.

For under $200 you can easily own the latest & greatest versions of all 3 devcies & still have money left over for accessories.  If you look at the picture you will notice lots of pins on the sides of the boards - these are designed for tinkering!  Have at it.

Friday, July 25, 2014

One Degree of Emotional Separation

I had an interesting conversation with a friend today about how simple it is for the average person to suspend all critical thinking faculties and disengage your conscience through simple delegation.

The idea is that by letting someone else make the hard decisions you can wash your hands of any situation by deferring to "the experts".

For example, if you hire an accountant to do your taxes then you have deferred to their judgment just how far you can bend the tax codes to apply for 'deductions'.  This is something that had it been left up to you, likely you would have made different choices and the amount of money that they "find" in the process is motivated by the need to offset their own cost of services otherwise you might not come back next year...

Another example is investing - by having a financial manager oversee a fund that you invest in you have abdicated all effort of vetting those investments for not only just financial potential but also for moral issues like a track-record of pollution or child-labor.

Conversely if you have a situation where the CEO of a company is a populist and treats their employees well, providing a decent living wage & benefits - that company might be offhandedly penalized for 'under-performing' compared to the rest of the industry.  You might actually agree ethically & philosophically with this policy - but that agreement would never factor into the criteria by which your financial advisor chooses to manage the fund containing your money.

Either way you have a complete disconnect between your personal ethics and how your money is voting for you.

It is interesting to note that while Hobby-Lobby recently went all the way to the Supreme Court to gain the right not to pay for medical procedures that they found religiously objectionable while at the same time they were only too happy to invest in companies providing those same services.  This caused some embarrassment when it came out publicly but the easy-out was to blame it on the middle-man.

To be sure, there exists an entire niche-industry of white-washing middlemen companies that provide culpable deniability for corporations balancing cost-effectiveness with corporate ethics.

But the interesting question is "How often do we do this on a personal level in our daily lives?"

Out of sight is out of mind - but out of mind is Out of Control.

Monday, July 21, 2014

How to Hack a Hacker Conference (or Important Things I Learned at HOPEX)

About Me: (or enough about me, let's talk about you - what do you think of me?)

I have been using computers for a long time.  For as long as I have been using computers I have also been a hacker.  What is important to understand when I make this claim is that when I started using computers hackers and programmers and users were one and the same thing - at least in the culture in which I grew-up.

My father was an electronics engineer who worked at Grumman - one of a number of military contractors that vastly contributed to the local economy.  Growing up on Long Island nearby those facilities I knew many other children whose fathers were left scratching their heads when the postwar layoffs kicked in and they found themselves competing with other engineers over jobs making sandwiches in the early 1970's.

What this amounted to was being surrounded on all sides by people with unused skill-sets that they then inevitably applied to their daily lives in all sorts of creative ways.  The can-do attitude was a recurring theme in the fathers of many of my friends and it was something that they were all to willing to share.  From hi-fi systems built from Heathkit projects to insane custom speaker rigs to CB radios to radar detectors, etc. - there was always an undercurrent of techno-worship - but it would never have been viewed in that way from within.  It was all about the triumph of ingenuity.

Commodore PET computers with hard metal cases, chiclet-tab-sized keys on the keyboard and *gasp* a built in Cassette 'drive'; The Apple][ had a 1/8" mono TS jack so you could plug in any cassette player; The Apple //e had external 5.25" floppy disk drives bigger than Mac minis that had awkward ribbon cables running to a connector with raw pins on the interface board (that had to be installed in slot 6 a la PR#6) ...  And this was profound luxury.

OK so that's where it all started.  At that point - the idea of taking a soldering iron to your computer was not entirely far-fetched.  That idea has deep implications.

HOPEX: (Hackers on Planet Earth 10 - a hacker conference that took place in NYC in July of 2014)

The HOPE conference happens every 2 years and thus far has consistently been hosted at the Hotel Pennsylvania.  This is conveniently located across the street from Penn Station.

This is a conference where many kinds of self-proclaimed hackers come together to exchange information, make connections, give/see presentations, attend workshops & do all of those convention-y things.

What I learned:

It would take a very long post indeed (and we are already too close to that) to list everything that I came across at the conference, so rather than let this devolve into a page full of links to shiny things I will instead what I learned about attending HOPE itself so that you don't repeat my mistakes:
  1. Day one I wore suit-pants & a vest with a paisley shirt.  People were openly hostile to me.  Unshaven & shoulder-length hair worn down made zero difference.  I was the enemy and haven't been treated with such petty whispering, bumping into me or my table without apologies and glaring - literally since I was in high school.  Clearly nerds can be bullies too in spite of their high-sounding values to the contrary.  But this is completely fair because I knew what I was doing - I was trying to stand out in a crowd and Do My Own Thing.  There are limits to what is to be tolerated even amongst those who are treated as outcasts.
  2. On Day 2 & 3 I just opened my closet & saw nothing but black T-shirts & jeans - which is all that you see at HOPE.  It is the unofficial uniform and once I donned it I instantly started receiving compliments on my clever saying printed across my chest and open acceptance from everyone else there.  What was funny to me was that this in my default mode at home.
  3. When I was younger I had little to no social skills.  In that way my history was reflected back at me by people-watching as I saw so many people making all of the same mistakes that I used to make.  After my little clothing-based-social experiment I started to understand the inherent advantage that those skills granted me.  I started conversations rather than avoiding them and got other people talking by sounding off about interesting topics that they were excited enough about to overcome their own anxiety and join the conversation.
  4. When I was interested in a topic where there was a presentation I took note of who was giving that talk and I hunted them down one by one to actually talk to them.  This approach actually helped a lot with the problem of not being able to attend simultaneous sessions and I could steer the conversation towards what was relevant to me, rather than just a General sort of topical overview.
  5. Get a room!  The most interesting parts of the convention happen at night - the later the better.  It would also be very helpful to have a place to retreat to & rest instead of having to hump a backpack around all day.
  6. Walk the vendor floor early & often - the "good stuff" goes fast
  7. Bring a Posse!  By coming with your own hacker group - you can claim an area with tables & set up shop.  Instead of retreating to your hotel room or the Irish pubs across the street, you can sit down & relax in the middle of everything.
  8. Explore!  The WiFi network required a username & password, but it accepted anything as input.  If you didn't try to hack in and someone didn't clue you in then you missed out on free WiFi with a 10Gb backbone!  People put up all kinds of fun things in the hopes that you will find them.
  9. My social-snubbing aside, attendees of this conference were the most polite & well behaved densely packed crowd that I have ever experienced in my life.  So if you are the sort of person who sees a crowd & runs the other way - reconsider.
  10. Get lots of sleep before & after the conference as you will be getting very little during.
Only 728 days to go until HOPE11...

Wednesday, May 14, 2014

Know Java & Still don't want to learn ObjectiveC but want to make iOS apps?

Then you want to have a look at this:

This will not just magically port all of your code from Java into an iOS application - in terms of the UI anyway - however, the majority of your internal code is going to do exactly that.

Of particular note is the JUnit support which strikes me as extremely useful & civilized.

Tuesday, May 6, 2014

Kill Access With Fire

I want to be very careful how I phrase this.  We can't have any Redmond-funded lawyers circling around me like hungry sharks because my hyperbole is mistaken for meat swim-trunks.

So let's keep it personal - I Hate Microsoft AccessTM (C) LMNOP.

It is a blight on civilized companies everywhere.  By being included in the Office Bundle/Suite/Tollset [spelling intentional] MS-Access is available to entirely too many aspiring tech-savvy "business" people.

It happens slowly over time - first some good intentioned person needs to manage a lot of data.  By a lot we mean more than the spreadsheets that they would ordinarily (ab)use to store them.

And so they make a rudimentary table and load a lot of data into it.  This works so well that they start doing it all over the place.  Quickly however the relationships between the tables become convoluted.

This is where someone who truly understands database design should be brought in to fix things before proceeding.  This is never the case however and so slowly does a swamp start to grow that will need to be drained later.

I have worked on projects in the past where we have tried to leverage automation tools to convert the database structure of Access files to another format - for example Oracle APEX.

Another example of such a tool that I recently discovered would be :

But the problem of course is that there is so much inherent functionality* in Access that it is neigh-impossible to capture it all in another tool on another platform.  Just the integrated ability to send email through Outlook alone represents a huge functional gap for any other system.

You would at first think that the sorts of things that would be made would be simple and thus easy to reverse engineer, but as it happens there is an inherent dogged spirit of innovation in the people who are using these tools and trying to get everything that they can out of them and thus Yes, people send email from Access and many other things like making forms with buttons to run import scripts, etc.

Moreover those people will live with such a solution for a very long time before being compelled to change.

The challenge for IT is that they must provide not only a new replacement toolset that can accommodate all of the preexisting functionality but also do so in an enterprise-scaled solution.

The problems are always that such a replacement is very expensive & almost always inflexible whereas Access is extremely cheap by comparison & can be modified on the fly.

The big problems of course with MS-Access are that it does not scale well nor is is compatible with anything else or even with itself across version numbers.

There are severe limitations to the amount of data that can be stored in a single file and also with the number of simultaneous users that can access the database simultaneously.

MS-Access is not even compatible with MS-SQL Server for direct import.  The syntax varies wildly  between the two.

So in short - MS-Access databases start off sweet but if you are successful then they will end in bitter tears.

* - You might think "too much functionality is a problem?" But it is more of a question of the types of functionality since Enterprise databases do not generally include for example email functionality.

Monday, May 5, 2014

What is Microsoft Smoking to make their Cloud?

"With cloud, infrastructure homogeneity enables scale economies."

On What Planet does cloud = homogeneity ?  Maybe on Planet Microsoft, but for the rest of us who don't live is a 1950's comic book it just aint so.

[20140505: This is a retro-post that just never went live - likely because I never really got started, nevermind finishing it.  But why didn't I just post the above Tweet-like entry?  I don't have a Good Reason, so I just hit post now.  See how that works?] 

Tuesday, April 22, 2014

BYOD vs. CYOD vs. Buy Gear for your Employees

I have always been an early adopter.  While my tastes have become refined over the years & I don't actually buy every release of a tech line anymore - this is only because I am too busy using the hell out of said tool/toy/gadget.
 When I do go buy new gear - I buy on a generational scale.  I assume that I will use the thing long past the average curve & that it will see a heavy workload for the duration.

I buy the best version that I can get my hands on & if it comes with any free slots or expansion ports I try to fill them up when I buy it.  There's no sense paying for an expansion port that isn't doing anything for you & almost any system will perform better with more RAM, so why hold back?

That being said - you can expect me to use these tools of the trade to the greatest personal advantage.  That is what drives the purchasing decision in the first place.  "Cool" is only about how much power it gives me to easily do awesome things without wanting to break the thing out of frustration.
This is why the notion of BYOD worked perfectly for me.  Give me clearly defined rules like "no proprietary corporate data stored on the device" and I can work with that.  No outlook for my iPhone, I will just use the web-based interface.  Simple.  Everything is on my terms & kept reasonable.  I am free to go find the best tools for the job.

Choose-Your-Own-Device is quite another thing. The notion that there is a limited subset of devices out there & that your internal IT department has to research them & understand them before you are allowed to use them stifles innovation outright.  

It would apparently also set what I see as an unfair burden on the shoulders of employees who are willing to shell out for their own kit by forcing them to keep to a standard for which the company is not itself willing to pay.

The age-old policy of issuing devices to employees solves that issue.  If the company wants everything to work a certain way then they need to foot the bill for it.  This doesn't help with the innovation either but it offers some relief to the wallets of employees and limits the technological options to a manageable subset.

There is no one-size-fits-all policy for corporations, but the answers seems to directly come from those willing to shell out for the gear.  If you own it you control it and the law backs you up on that most of the time.