Monday, August 18, 2014

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: 

Or 

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


OR...

You could forget what I just told you & spend $300 on just a board that can run Windows: http://www.pcworld.com/article/2459200/meet-microsofts-sharks-cove-a-raspberry-pi-style-mini-pc-running-windows-8-1.html

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:  https://code.google.com/p/j2objc/

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 : http://www.bullzip.com/products/a2m/info.php

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?]