Communication Islands – why isn’t this stuff easier?

A few years ago I had dinner with someone in senior management of Globe Telecom. It was one of those strange meetings where I was asked along as someone in London who was future technology focused and in the Telco industry. I guess someone at the table valued my opinion but I ended up getting a lot more out of the dinner than just food and a pleasant conversation.

The topic was generally around getting the local calling card companies to get a dedicated VoIP link into Globes main network switch.  The idea being that the costs of terminating calls to the network would cut out the middle arbitrage men that you traditionally would use to deliver the calls to the network.  So the conversation was generally hovering around VoIP.  I asked the fairly innocuous question: “what do you see happening to call pricing over the next few years?”.  The answer I got stunned me.  “We don’t see international call charging as being our core business, we are all about value add” or something to that effect (It was a few years ago now, so don’t quote me on that).

It’s now five years later and I don’t think I’ve paid for a phone call for the past five years. I Skype, Viber, iMessage, Voxer, Heytell and What’s App.  In the case of email I do the majority of my communicating via Facebook. I have a gmail account that I use to transfer files between people who insist on using traditional email (I currently have 1700 unread emails in my gmail inbox). For all intents and purposes I don’t use traditional email anymore. My communication is instant, live and direct to the person I am communicating with.

I could make this post about: where is the value add?  This may be interesting, however I have another question I would like to pose: “how come it has become more difficult to communicate when all this technology should have made it easier?”.

We have to open apps.  We receive push notifications and they all going to specific apps. There is no joining of this information into one nice feed.  We have islands of communications. With the streams of consciousness trapped on individual islands.

I find this frustrating.

We were promised convergence. Instead we have islands that operate oceans apart. I spend a lot of my day switching between twitter, voxer, facebook messanger, facebook and skype. All in the name of keeping in touch with people.

There is also another issue: you have tribes of people who only use one messaging platform. I for one haven’t made the leap to the google+ platform yet. I have an account, I open it from time to time but I don’t really use it. I have their apps installed on my various mobile devices but I just don’t ‘get it’.

So the friends I have that only use Google+ don’t get to speak with me any longer. They are marooned on a desert island lost to me.

Solutions?

The operating system manufacturers should force apps to use a common messaging repository that the OS can use to handle notifications, viewing, deleting, answering and read notification.

Watch this space, I think this is going to be the next major thing.  An actually unified messaging platform lead by the OS manufacturers.

Posted in Opinion, Uncategorized | 1 Comment

WString.h Documentation

For the past few months I have been working with the Teensy3 chips from PJRC.COM. I love them like I would a member of my family. They are fast and moving to them has made my life much simpler. However, most of the time I like to do string manipulations and I have chosen the WString.h library.  However, every time I want to use it I have to go and look at the header file to work out what functions it has. So I thought I would write a quick blog post on the topic here rather than on StackOverflow.com as I have no specific question to answer.

So, when programming the Teensy3 using the Arduino.cc Wiring/C++ (ish) language  you should do the following:

BASIC USE

#include <WString.h>

void setup() {

  int anInteger = 20;

  String aString = String(“Some text”) + String(“, Some other text: “) + String(anInteger, DEC);

  Serial.println(aString);

}

void loop() {

}

Will output the following:

Some text, Some other text: 20

NUMBER FORMATTING

You can convert numbers into strings using some of their inbuilt functions.  As you can see above I have printed an integer into it’s decimal representation. You are also able to place any base where I have the DEC which is a #define 10 somewhere else in the compile chain. HEX is also another one you can use… or you can just replace those tokens with the actual numbers 10 and 16. Or perhaps you want Octal, you can use 8.

If you want to look at the WString.h file at google code you can see these constructors at the beginning of the header file.

STRING METHODS

String aString = String(“0123456789”);

String a = aString.substring(0, 4);  // produces 0123

String b = aString.substring(3);  // produces 3456789

String c = aString.charAt(2); // produces 2

SEARCHING STRINGS

if( aString.indexOf(F(“4”)) >= 0) {

Serial.println(“True”);

}

STRING MANIPULATION

String uString = String(“This is a Test”);
Serial.println(uString.toLowerCase());  // produces this is a test

Serial.println(uString.toUpperCase() ); // produces THIS IS A TEST

Serial.println(uString.trim() ) ; // removes leading and trailing white space

Serial.println(uString.setCharAt(2, ‘T’)); // produces: ThTs is a Test

That should be enough to get people started. The only other function I use often is the toCharArray() function. Some functions such as sscanf.  Here is an example of how to convert a String into it’s integer components.  Handy when passing data in from a file or some device.

String s = String(“Tuple: 1, 2, 3, 4, 5, 6”);
char str[80];
s.toCharArray(str, s.length() + 1, 0);
int a, b, c, d, e, f;
sscanf(str, “Tuple: %d, %d, %d, %d, %d, %d”, &a, &b, &c, &d, &e, &f);
Serial.println(a, DEC);

Posted in Uncategorized | Leave a comment

UART Dyslexia (SparkFun RS232 Level Shifter)

I like to share my opinions and my blog posts are not usually of a technical nature.  However, I am forced to blog on a specific piece of equipment that plagues me every time I attempt to use it.

The bit in question is the SparkFun.com RS232 Level Shifter.  It allows you to use 12V RS232 serial equipment with 5V, 3.3V and 2.8V TTL logic that modern microcontrollers like to talk (as of November 2012).

SparkFun Rs323 Level Shifter

SparkFun Rs323 Level Shifter

This is a hobbiest bit of kit, I am using it whilst prototyping some hardware.  It’s always good to plug in my 20 year old serial terminal to see what’s coming out of whatever modem etc I am dealing with.  My main problem is that every time I pick the level shifter up, I can never remember which way around the pins go. This may sounds silly, but it takes me about half a day each time I pick one up to use it.. so, here we go, documenting it.

From the microcontroller: RX (pin 9 on the Teensy3), TX (pin 10 on the teensy3).  This relates to Serial2 if you are programming using Arduino.

From the spark fun box:

VCC -> 3.3V.

GND -> GND (3.3v GND rail on the Teensy3).

TX-O -> pin 9 on the Teensy3

RX-I -> pin 10 on the Teensy3.

For the DB9 connector (looking at it with the 3.3v side away from you on the top right).

You can see two rows of pins where the DB9 plugs in. The top row has five holes, the bottom four holes.  Connect top left to signal GND for the RS232.  Next one is blank.  Next one goes to pin 2 RS232. The next one goes to pin 3 RS232.  All others are blank.

When data moves between the interfaces RX will be red when the Teensy3 is transmitting and the TX line will light up green when the RS232 device is transmitting.

 

I hope this helps someone. You can find out more about the SparkFun RS232 Level Shifter following this link.

Posted in Uncategorized | Leave a comment

Arduino Maker Craze

Over the past few months I have been working with Arduino boards and various other sensor chips.  I haven’t done any electronics or firmware development for about ten years and it has been an eye opener to see the massive improvements in tech. that is now available to the hobbiest.

Nowhere is the compounding advancement of technology more visible than in this space.  If I think back to when I was a child, the electronic projects I would make would be something like making a crystal set or perhaps a low wattage radio station with the odd bit of playing with and OpAmp and an NP555 timer IC.

Today, thirty years later, things are quite a bit different.  I can setup a mesh network of wireless transceivers in a wide area network in about the time it takes to soldier up a transmitter and a receiver to one of these Arduino prototype boards (about 20 minutes).

I can setup a weather station in what would be a good half days play.  Things that were simply unheard of when I was a whipper snapper.

This coupled with the Maker phenomenon, CNC machines and all of it being open source/hardware, I cannot but sit back and stare in awe at what the next decade has to offer us.

I remember sitting in my office about fifteen years ago, musing with my business partner John Curtis on how the next generation are not going to know how to make firmware because they don’t know assembly language.  Who is going to make the device drivers for the next generations of technology?  Who are going to be the toolsmiths?  How can you make precision tools if you don’t have anyone being trained to operate lathes properly?

Then what we had mused upon was answered, CNC.  Unbelievable, just look at this machine:

Yeah, sure, that’ s simple right?  But now check out this:

 

The new thing that has happened, besides the increasing rate of robotics development and the incredible level of detail these machines are able to achieve is that we are truly standing on the shoulders of giants.  Children can now program micro controllers and associated clever hardware.  This is the most amazing advancement I think has happened in the past ten years.  And ANYONE is free to copy it and make their own things.

The rallying point for all this is LadyAda and Make Magazine.  Both of these resources (in my opinion) owe their success to the chaps at Arduino.  They have developed this wonderful open platform for the home DIY enthusiast, school kids or the professional (like me).

The Arduino Hardware

This Arduino open hardware platform has been made by some chaps in Europe.  There is a good TED Talk from Massimo Banzi (one of the creators) he goes into some detail about some of the amazing projects that can be achieved now with this open sourced model.

 

The Arduino Software

The hardware is pretty cool.  It’s useful, it has analog I/O inputs so you can add sensors and it also has serial connectors so you can interface with other devices.  All these things make your life very easy.  But the jewel in the Arduino crown is choosing Wiring/C++ as the development language.

You can have a look at The Wiring Language at their site and you can type in C++ into Google and you will see that there is a large (very large) set of libraries and tutorials on how to use it.  C++ is based on C which is about as close as you can get to assembly language without actually programming in assembly language.  Apple choose a subset of C++ call Objective-C (or is that a superset) as their development language for their iOS devices for this very reason.  Now, with the advent of the Arduino platform, this technology has become accessible to anyone with a spare ten minutes.

Scouring the online forums at Arduino.cc you see that there are a lot of kids using this stuff.  A lot of them can’t program and are not really clear on how the language works, but that will change.  It’s awesome.  Something that was once the domain of clever dicks (PhD Required), is now available to school kids.  Who can learn from others online.  AND BUILD STUFF to boot.

I have more to say on this topic.  But I think I will leave this blog post here for now.  The world is becoming an incredible place.

Posted in Uncategorized | Leave a comment

Do we have Hitler to thank for the iPhone 4S?

Today I was doing my usual trolling on Facebook.  It’s sort of a hobby of mine.  I have a close circle of friends who also ‘rib’ off each other, and some of the stuff is really quite creative.

Today I decided to post that magical quote from Wall Street, where Gordo Gekko does the whole “Greed, for want of a better word is good” speech.

Greed, for lack of a better word, is good. Greed is right, greed works. Greed clarifies, cuts through, and captures the essence of the evolutionary spirit. Greed, in all of its forms; greed for life, for money, for love, knowledge has marked the upward surge of mankind.

I posted it up, with the hope that some of my friends would start quoting Wall Street for the next few hours, we would all pat ourselves on the back for being so ‘hipster’ because we know where the quote comes from.  However, this isn’t what happened.

I have a friend who is quite left wing.  He thinks he is right wing, but really, he is as left as it goes.  His response to the quote:

think you will find competition and cooperation have more to do with upward surge of mankind…but there are arguments against that…go watch Age of stupid..lol

So, I decided to instigate Godwins Law by going straight to Hitler, in one punch.  I retorted with the following quip:

Hitlers greed for supremacy gave us the iPhone.

Quite clever I thought considering it’s still morning here in London.  He was writing from New Zealand in the late evening.  And has probably now gone to bed.

Anyway, to cut a long story short, I was surprised that people don’t share my views.

WWII started the second largest industrial revolution that mankind has ever seen (the largest being the last dot com boom).  WWII (hence the Hitler reference) pushed our technology ahead at least twenty years.

Massive investments went into Radio (radar, antenna, power supplies), Computers (Alan Turing et al) and rushed in the age of the transistor only a few years later.

So, even though I was not being serious, I started thinking about how the greed of one man who killed and murdered many many people also gave me my nice shiny iPhone 4S (a leap-frog technological marvel).

Yesterday I was rummaging thru my old phones wondering if I should send them to the recycling or hold onto them as a piece of history (as I tend to do).  In one hand I had a Motorola Razor and in the other a copy of a book on programming them.

In my spare time, for fun, I write apps for iOS (iPhone/iPad/iTouch).  Ten years ago I had a small app development company writing software for the older generation of handsets, which we have now come to call ‘feature phones’.  Programming them was painful. The operating systems and libraries were full of bugs.  One phone didn’t work the same as the other phone (yes NOKIA I am talking about your handsets).  Today we use iOS from Apple/Next.  iOS itself is a technological marvel.  Beautiful in its design and simplicity.

I hated the past when phones didn’t work.  iPhones rock.

But as technological advancement hits critical mass and we speed towards the singularity I could not but stop and stare at the Motorola Razor and then feel for the iPhone 4S in my pocket and think, wow, I wouldn’t have had a chance to experience this technology if it wasn’t for World War II.  I would have missed it by twenty years.

Thanks Hitler.  You nut job.

Posted in Uncategorized | Leave a comment

Home Phone Calls via Skype – The Freetalk 1220

Today I got a delivery from the nice folks at FreeTalk.me.  They are the dudes that make the Skype ATA box call FreeTalk Connect Me.  ATA you ask?  Yes, ATA, its phone-speak for Analogue Terminal Adapter.

Remember in the old days when you used to have a phone and it plugged into a phone line. You picked up the receiver and THEN started dialing.  I can only just remember it too, but what this tricky box does is allow you to plug your old phone into the ATA and then the ATA plugs into your phone line.  The cunning bit is that it ‘also’ plugs into your broadband connection.  You can then make International/Long Distance calls using Skype’s low cost call rates.

You can see them here on the skype store: http://www.skype.com/intl/en-us/get-skype/home-phone/phone-adapter/ they cost ‘from’ USD 39.99.

Great!

I’m currently in New Zealand (I normally live in England) but had the unit shipped here.  I got them to send me a UK version so I can take it back to England with me when I head back home after my holiday.

DELIVERY

I ordered the unit on the 9th of January 2012 and it arrived on the 19th of Jan 2012.  Ten days from order to delivery internationally. The package seems to have come from Barcelona, Spain, then to China, Hong Kong, Auckland (New Zealand) via UPS.  UPS then sent it to a company called Flyway Couriers.  That got it as far as Napier.  Napier is a 20 minute drive from my house.  It got there about five days ago.  So I guess if I was living in Napier I would have got it around the 14th instead of the 19th.

At the Napier end UPS said, delivered on their track and trace system and that some strange number had signed for it.  I sighed and though, oh no, not going to see my international delivery ever again.  I contacted the FreeTalk people via http://freetalk.me/contact/ which is a stock standard form.  I got a response same day from a lovely girl called Sue.  She said to call up the local UPS branch and ask what had happened.  I did and was told that it had been shipped to another company called Peter Baker Transport, who handled deliveries that were ‘out-of-town’.  I would like to note at this point that where I am staying, is 3 miles south of the center of town.  But I guess, since there are no other houses around me, I’m in the ‘country’.  So, I rang up Peter Baker Transport and was informed that it had been shipped to ANOTHER organisation the ‘rural delivery’ van and that it should arrive tomorrow.

So, today, is, tomorrow.  And sure enough, the package arrived at my door.  It’s tiny, and EXTREMELY eco-friendly.  I liked the packaging so much, I have taken a few photos of the opening process.

The first thing you should note is how small the packing is.  It’s brown recycled cardboard, yet its extremely sturdy.  I had a quick attempt at crushing it after I had taken the stuff out, its surprisingly strong.  Next, it has soy based inks.. fully recyclable and good for the environment. There is a minimum of writing on the outside of the box and some small artwork on the inside of the box.

I have one small complaint. The rip-here tab wouldn’t rip.  It’s quite tough, and I ended up taking off the glued in bit.  Not a biggie, but just something that wasn’t quite flawless.

Once you have the package open you are faced with the little red warning piece of paper. They REALLY want you to put the cables in the right holes, I guess you can damage the electronics if you get it wrong… I didn’t bother experimenting… I want this thing to work.

You are given one landline cable with the little mimi-jacks on each end and an ethernet cable (blue).  Under these cables were two packages, one was the ATA unit itself and the other was the power adapter for it.  I pulled them both out and slipped the power adapter into the ATA unit.  A small click and it was done.  I didn’t have to use much force at all.

Next thing I did was unplug the phone from the wall and plug it into the ATA box. You can’t go wrong here, its got an icon of a phone.  I then used the supplied cable to connect to the wall socket.  Ethernet cable plugs into the blue (LAN) socket and the other end into my WiFi Internet router.  I then plugged it in.

Easy.

I then opened up the instructions for what I though might be the tricky part and skipped to the end.  I have a Mac so I fired up the Mac Web Browser called Safari.  I then went to the show all bookmarks as shown in this image.

Safari Web Browser - All Bookmarks

The next bit was easy, although it took about 20 seconds for the Freetalk ATA to respond.  So click once on the Freetalk setup link and then wait.  You stat by clicking on the Bonjour link on the left.  It then goes and finds the Freetalk Box and puts the link in the bottom window.  Click it once and wait.  It will come up with some simple to do setup things.

The next few setup pages were very simple.  It asked you for your area code (probably for the emergency dialing stuff), I put in 0208 as my prefix – which is for where I live in London, England.  I then proceeded to type in my skype handle and password.

It all worked as it was supposed to.

Once you complete the setup (some of the screens take a few seconds to come back when you hit continue/save) you can pick up your phone and hit *0  (that’s star zero) and it will call the skype test number.

If you have set it up ok then you will hear the voice of the skype system saying: “Welcome to Skype call testing service”.  You can say something, then stay silent and it will play it back to you so you can hear the quality of the call.

So, some scores:

Packaging: 9/10

Installation: 10/10

Documentation: 10/10

So far I’m giving it a 10/10 as a product.  It does what it is supposed to and the installation was simple.

However, I should also give a disclaimer, I am friends with the guy that owns the company and he sent the product to me to do a review. However, that aside, it was exactly what I was expecting. AND it works.

Posted in Freetalk, Skype | Tagged , , , , , | 3 Comments

Another Great Dies – This time John McCarthy

I guess it’s that time of the century, where all the greats start to topple off this mortal coil.   For those of you reading this who are oblivious to the history of technology a chap called John McCarthy died a few days ago.  He was 84.

The popular media have been hailing him as the guy who coined the term Artificial Intelligence.  Sure, that’s pretty cool, but do you know what’s cooler?  He is the guy that designed the LISP language (List Processor).  He took a job at IBM in 1958 where he was hired to create a set of requirements for doing symbolic computation.  In those days there weren’t really any computer programming languages.  It was really early days.

What is phenomenal is that the language he designed then is still extremely popular today.  He worked on it thru-out his career and it wasn’t until 1992 that the final definition of the language was agreed and a standard published.  The first draft was in 1965.  That’s how much work has gone into it.  Lots.

Only pretty nerdy people know what LISP is.  It looks extremely complex (and is) but as you can see in this XKCD cartoon every few generations another group of uber-nerds discover it and start to use it (out of choice).

It’s beauty is that it’s very fast.  The horror of it is that it uses these things ‘()’ like they are going out of fashion.  It does have practical use outside of AI academia, Yahoo’s shopping cart was originally written in LISP. There is quite an interesting article on the topic here.

So, thank you John McCarthy, without your work I don’t expect I would have Siri on my iPhone 4S and frankly, I find Siri extremely useful.

Posted in Uncategorized | Leave a comment