The best way to lose is to not change.

Abandoned house behind Rockland Lake
Abandoned house behind Rockland Lake (Photo credit: Elephi Pelephi)

Last year, I read in Harvard Business Review that the most difficult position for a business to be is at the top of it’s sector. You are making lots of money and doing well, but you are also the target of all of the competing organizations and, to make matters worse, you generally require the world to stay the same as long as possible to stay up there. Otherwise, you need significant capital investment in innovation because you can’t just copy your competitors as they try to imitate you.

Everyone is watching your every move to find mistakes or little ways they can crack your castle. Case in point, look at Apple. It’s surprising how much everyone enjoys taking the top guy down a notch whenever they can.

Ironically, the article mentioned that being number two is actually pretty sweet though. Tou have the most money of the non-top players, you can copy the good innovations that the top guy has and build on them yourself. You usually have enough capital to invest in solid R&D, and since you aren’t at the top, your shareholders are not as adamant about “not wasting money on R&D.” Samsung has done a great job copying Apple and then doing minor innovations to make their products just a touch better for short periods of time.

For many years, I believe Apple got around this issue by having a genuine salesman, Steve Jobs , convince the shareholders to allow for some pretty heavy investment in design and development. That it would pay off in the long run. It really did, the stock took off, the iPad, iPhone and App Store really have changed how we all interact with the world, and are the best selling products in their sector.

However, with the new CEO, who is not a saleman, but more of a technocrat, they are slowly sliding. The investors are demanding dividends instead of value creation. They don’t see that iPhone is still outselling everyone else. No one is pointing out to them the fact that the profits last year by Apple dwarfs the entire revenues of Google. They don’t have a CEO who is able to show them that investment in good R&D generally implies higher yields down the road in exchange for lower yields right now like another iPhone or iPad. They don’t have a CEO who knows how to rile the troops and make them uncomfortable with where they are at. The iPhone 5 was the most boring update I’ve ever seen.

Why do you think Apple is sitting on such a stockpile of money? Why do you think every update they are doing is incremental or price based?

Steve Jobs understood the cardinal rule about the universe – Always expect change. You don’t ride a wave by swimming behind it.

Unfortunately, many businessmen, technocrats, politicians, and general elite hate this rule. It’s so much easier to work and plan if everything stays the same. Over the past decade I’ve read article after article with this common mistake. Many assume, or hope, things will always stay as they are and if they don’t stay as they are, they assume that we need to work 100% to maintain the status quo.

This is the birth of the Capitalism is the best system of economy, democracy (or our variant of it) is the best system of government, the current layout of federal and state powers are the best way to do it. This is why we hear “Don’t ever question the status quo.”

This is not due to maliciousness though, it’s due to the fact that the status quo, a stable system, is the easiest system to control. Technocrats, politicians, and elites are already in power. They want the system to stay the way it is so their plans (some of which are utopian) can be enacted as they see fit.

This is the key to why they will all eventually fail.

You cannot stay in power indefinitely by forcing a status quo. While, in theory, if you maintain the status quo as long as possible, you will be on top the heap as long as possible. if you control the change, encourage it, and guide it, you will survive the fact that the world changes and we must all change with it.

But, simply put, the best way to lose is to stand still. The game is always changing, the world is always changing, and even if you control everything, general complexity theory will eventually kick in and all of your models and theories will be for naught.

Absolutely nothing is permanent. Once you realize that, it’s a whole lot easier to move on to better things.

Sometimes it sucks, but that’s what faith in the future is for.

Enhanced by Zemanta

immix planned hardware platform support list

Goal for platforms for immix Release -1.0 to support.

Big powerful fun servers!
  • Windows 2008R2 Server and up (WAMP and possibly WIMP) Already requests for this. We are definitely willing to do it with AMP, but nervous about doing it IMP and most definitely can’t do a fully .NET version without some more funding.
  • Ubuntu LAMP (current dev version works 100% including a deb package)
  • CentOS LAMP (Will build RPM for this) This should be as easy as Ubuntu, really.
  • Not sure if I’m going to bother trying to get other Linux Distros. Any suggestions on this front?
  • Mac OS X server , Not sure how hard this will be, but I can see having the ability to install it locally to work with to be wise. As well as use it as a “node” immix to send information to a central server.
  • IBMi Server (Will build SAVF for this) As well as create a new IBMi useful documentation repository I think. There is a lot of missing or diverse docs online that this could be immensely helpful on. Especially as I learn more about it. Personally, I like this since this gives an enterprise way to get immix right onto accounting and major operational machines without too big of an issue. Biggest problem we have right now on this is mongodb is used for some advanced features. Debating having it not available on IBMi, but looking at CouchDB and other alternatives to make this work better. If we get this running, there will be automatically a major accounting package that will be incorporated into immix, so that’s pretty spiffy.
  • Raspberry PI (This one is obvious, especially with the secure channels between immices working so well. This makes it easy to network a ton of separate devices without having to go the hub and spoke method.) When this is done, I hope to have basic modules in place so you can use it control heating, track baby movements, etc. The usual.

When Release-1.0 is out, this should be a solid list of supported hardware. Improvements will be impressive as we push 1.1 out, since it includes a fully operational live chat environment.

Future goals for immix clients (not server end)

Raspberry Pi
Raspberry Pi (Photo credit: tkramm)
  • Full Android, iPhone / iPad web support for back end. This is already in place in in the dev path, and we simply need to push it live after Release-1.0
  • iPhone native app, this will allow you to connect to all of your immix servers and collate them in a general stream, as well as push items from your phone back to the servers, if you want to.
  • Possibility of having immix clients have same functionality as servers with the ability to interact with each other without the need for a central server.

Should be interesting in the next few months. Especially as Steve Godin gets the formal documentation and knowledge base in place. I really am hoping to be able to get a few more external developers playing around with this and interacting with the API. As well, the code base should get documented enough to open up the possibility of having 2.0 built on a different structural code base (not PHP). We’ll see though.

Plus, there’s the whole opening it up eventually for other people to log into the central immix and play around. However, that’s more of a for fun internet of things idea than anything else.

Lots going on, lots to report.

Kelly John Rose.

Enhanced by Zemanta

From the 24 Hours of mad hacking, here’s the two repositories for the Badgeduino-Modem + iPhone controller:

https://github.com/kjrose/Arduino-Badge-Driver—iPhone

https://github.com/kjrose/Badgeduino-Modem

These are both really hacky and primitive code, but they work and they get you started on having a simple audio modem between an iPhone and badgeduino. Pretty fun stuff to work with actually.

KJR

It’s not pretty, but here’s the code for the badgeduino Modem

Nuit Blanche badge recap

So, the code will come. I promise that.

I had a fun 24 hours just before Nuit Blanche. I had this crazy idea of taking the SoonCon badge which we  (@saeruaisu, @jjstautt & me) built and programmed in 2011 and seeing if I could up the ante a bit on it. Find a couple of analog inputs, and have my iPhone send data to it in order to allow me to send tweets and other live data to the badge.

@jjstautt did a great job soldering the heads onto the end of a repurposed pair of headphones (sans headphones) and I bought a splitter so I could listen to the data as I sent it to the badge to make sure the computer was transmitting correctly.

Badge connected to laptop for testing with splitter and earphones to hear signal. (dit dit dit dit)

Now, the theory behind how I would send signals was to use the right ear as a clock pulse of sorts and the left ear as the data line. When the right ear had a signal, it meant that the arduino should listen to the left until the right ears signal goes down, if the left goes on for a set period of time (is up and not just noise), then the signal is a 1 and reflect that in whatever code that exists in the arduino software.

This alone was a bit of a pain in the butt. Took me a while to find a sound that the arduino would recognize reliably, as well as get it to not hear noise as the right or left ear turning on. My code is awful, but when I github it you’ll see the generla methodology I used for it. Having a variable I could fiddle to determine the best time to wait for the signal to be marked as on for both ears.

Once I had this in place, I simply made it so the clock pulse would iterate through the screen turning on or off the lights as per the signal. Since the fastest pulse I could reliable send to the arduino and have it receive it was around 0.15s, I could really only get about 8 bits per second to the arduino. When painting the screen, this lead to a refresh rate of approximately 15 seconds. Nowhere near fast enough to simply drive the badge with the iPhone.

Regardless, I trudged forward and programmed in xcode (I will also post this on github) a simple application that would let me draw “HI :)” and “< 3” on the phone as well as a few simple test patterns. Once I was confident that the data channel was solid and, in general, fault free. I went to sleep Friday night. Leaving a wonderful video for everyone showing I had the basic proof of concept working. Yes in this video that is xCode’s iPhone simulator running the badgeduino.


iPhone / Arduino sound modem project “Hello World!”

The next day I decided to continue on with this project, but to get it so I can send tweets effectively to the arduino badge, I would need to be able to send letters to it and not simply draw on the screen one bit at a time.

So, I added a special command where the left ear would send sole signals without the right ear at all to tell the arduino to go into “COMMAND_MODE”. This meant that the next 4 bits would be a command to do something or switch to some other mode of receiving. 1111 meant go back to the start, and 1000 went to what I refer fondly as “TEXT_MODE”. Now, there was intended to be the possibility of sending more commands, but I hit a pain in the butt hiccup which meant my code was too big for the badgeduino.

TEXT_MODE worked as follows. Each letter was 6 bits. This allowed me to have every letter of the alphabet and ! , . @ # . I forgot about the numbers, but by the time I hardcoded all the letters into the arduino code I ran out of usable space on the badgeduino and couldn’t have added them if I wanted.

When 111111 was received by the badge, that meant the message was complete, and that it should start scrolling it across the screen. I programmed a text box + button into the xcode and it worked wonderfully. I could type a long message and it would send it, slowly, to the arduino and it would scroll nicely across the screen.

However, it was at this point that I started seeing bugs appear since I was actually using more space on the arduino for the badge than there was space to store, so the code didn’t quite respond correctly and it would simply crash. I’m betting with some work I could optimize the code and get more onto that board, but at this point it was 6:30 and I still wanted to get tweets working in the xCode.

For the next 1 1/2 hours, I realized how pitiful the documentation was for the newest version of xCode around Tweets. I thought I had something working, but by the time I uploaded it to the phone, it would crash everytime I tried to get tweets.

So I came up with a plan so we could all get going. I would copy and paste any tweets sent to @kjrose so they would scroll across the screen. I got a few people asking me to put things that scrolled across, but it wasn’t as spiffy as having it run live.

I think I’m going to play with it some more for next year. Maybe turn it into a distance detector for @saeruaisu’s and @jjstautt’s phones pointing in the direction they are in from my iPhone making sure we don’t get lost now that I have the communication working.

Perhaps next year we can get some more of these badgeduinos (or build a better one that can handle a bluetooth adaptor so I don’t have to use my fancy, but somewhat noisy channel over the speakers) and get a larger crowd with these plugged into their phones.

Regardless. It was good fun, and I will get the code up hopefully this week. I just want to add some comments so it’s not all entirely badly written in a rush code. (remember I only had 24 hours from when I first got started on the idea to NB.)

Have fun everyone. Oh, and if anyone knows where to get the badge design for the SoonCon 2011 badge, let me know. I’ve very tempted to upgrade it for next year.

KJR

Enhanced by Zemanta