Mr Blog... Mr Blog... Log on to Mr Blog... Blogging website.

"The blog is named in honor of a TV ad jingle for a certain Chinese fast-food chain here in the San Francisco Bay area, particularly well-known in the Silicon Valley."
RSS Subscribe to RSS

With iPad, computers demoted to “Syncing stations”

ipad-usb-chargingPerhaps Apple has made their hand-held products too good, too soon. At some point, the only reason we need a computer anymore is to sync our iPad.

One could say this is a problem for the future, but I know people personally that are ready for the computerless, iPad-only world today – they can do everything they want to do on their iPad.  In fact, that’s exactly what they do. The laptop or desktop gathers dust, until they need to sync something or perform an update to the iPad.  In practice, these folks usually also have an iPhone or iPod for which they also must use the “real computer” to sync.

The only app they run on the computer is iTunes. Yet they still must suffer all the babysitting and housekeeping that goes with keeping a full Mac or PC functioning: patches, drivers, viruses, malware, system updates etc. – all just to run iTunes. Their $1,000 PC has become nothing more than a “syncing station.”

This is also a show-stopper for recommending the iPad as a replacement for a wearing-out PC – even for someone who is  a perfect candidate for it.  If they have to buy a new PC , and “maintain” it, with all the support and admin hassles that go with that, even if only in order to setup, sync, and update the iPad, then iPad is essentially a non starter as a “replacement” option.

Perhaps the most important thing to consider when buying an iPad is the USB cable. It must be connected to a PC to get iPad going and to sync/update. In the name of truth in advertising, Apple’s marketing should show the iPad connected by wire to a PC because that’s the reality a buyer is faced with.

Apple, this is not a problem for some distant future. That future is here already. Please tell me when I can suggest the iPad to these users so they can get off the Windows/Mac Admin treadmill.


Posted on : Jul 11 2010
Tags: ,
Posted under iPad, iphone, mac |

Windows can try, but it will never be Mac OS X

Microsoft keeps striving to make their interface look more and more similar to its rival Mac OS X.

windows-7-rc-transformed-into-mac-os-x-leopard

Leopard OS X Theme for Windows 7

But regardless of how similar the UI becomes, it can never offer what Mac OS X can in one respect: real UNIX underneath.

Even if you clone all the UNIX command-line tools (which is something I was doing way back in the 1980’s), you still don’t have OS-level compatibility. For instance, here’s some UNIX bliss:

if((sockfd = socket(AF_INET,SOCK_DGRAM,0)) == -1)
 {
     perror("sockfd");
     exit(1);
 }

 if((setsockopt(sockfd,SOL_SOCKET,SO_BROADCAST,
 &broadcast,sizeof broadcast)) == -1)
 {
     perror("setsockopt - SO_SOCKET ");
     exit(1);
 }

 sendaddr.sin_family = AF_INET;
 sendaddr.sin_port = htons(port);
 sendaddr.sin_addr.s_addr = htonl(INADDR_ANY);
 memset(sendaddr.sin_zero,'\0',sizeof sendaddr.sin_zero);

 if(bind(sockfd, (struct sockaddr*) &sendaddr, sizeof sendaddr) == -1)
 {
     perror("bind");
     exit(1);
 }

 recvaddr.sin_family = AF_INET;
 recvaddr.sin_port = htons(port);
 recvaddr.sin_addr.s_addr = inet_addr(DEST_ADDR);
 memset(recvaddr.sin_zero,'\0',sizeof recvaddr.sin_zero);

Isn’t it pretty?

Due to compatibility libraries, the above code actually does work on Windows. But the ugliness creeps in with stuff like the following:

#ifdef WINSOCK
        send(svr_sock, Osvr, strlen((char *)Osvr), 0);
#else
        write(svr_sock, Osvr, strlen((char *)Osvr));
#endif

#ifdef WINSOCK
                closesocket(svr_sock);
#else
                close(svr_sock);
#endif

Yep, the fact that it’s not really UNIX underneath creeps in. Microsoft can only fix that by doing what Apple did in 2001, starting over with a UNIX-derived core. This was painful in many ways, but in the end, look at the turnaround of Apple prior to 2001 and since, where Apple’s brand awareness today has never been higher and market penetration is up ten-fold.

Microsoft is never going to do this. Of course they don’t have to. They still hold a huge market share – Steve Ballmer calls Mac’s growth a “rounding error” – but when people ask me why I use a Mac, it’s not really because it’s more reliable, has fewer viruses, or has a better GUI. You can crash a Mac too, if you want to and I really don’t care about those GUI arguments. The GUI is exactly “fine” – for my tastes, the overall design seems so much more polished, clean, and nicely integrated than Windows (or Linux GUIs for that matter too) – but for me, it’s “good enough” and that’s all that matters (the most important must-have for me is virtual desktops, which Windows still doesn’t have native yet). The GUI is just one part of the experience of the machine. I use a Mac because of the whole picture. It gives me:

  1. The apps I need, store-bought like PhotoShop and tons of freeware apps
  2. Compatibility apps like Word, Excel, and Powerpoint so I can easily work with the rest of the world without hassles or even telling them I’m on a Mac
  3. Terrific development tools (oh yeah, and the development tools are free with the OS btw, not $300 extra)
  4. and… usable UNIX underneath.  You can argue whether it’s “real UNIX” or not, but it’s UNIX-enough such that most anything will work, including (again, free) seamless support for X11 apps.

On a more minor note, Apple includes a lot more apps – yeah one can (usually) go find equivalent apps for Windows, download and install them – but it’s nice that Apple includes so many common apps with the machine, both GUI apps like iMovie and hundreds of UNIX command-line tools.


Posted on : Dec 08 2009
Posted under mac |

iSpykee – Open-source Spykee for iPhone

I finally finished making my previously mentioned iPhone hack for Spykee into a form I could release for public consumption.  It’s still not perfect, but at least I’ve removed external dependencies so it can be installed without too much difficulty.

Spykee wifi rbot interaface for iPhone and iPod Touch

Spykee wifi robot interface for iPhone and iPod Touch

Basically you run the “controller” software on your LAN (the same LAN as the Spykee robot) and then use your iPhone to control and interact with your Spykee robot from anywhere.

The “controller” software is available as open-source and can be used on Mac OS X, Windows XP/Vista, or Linux/UNIX systems. As far as I know, this is the first release of an open-source implementation of the (binary) Spykee protocol. This software is provided in “C” under the BSD license, so it could be used as a basis for other home-grown Spykee applications, including motion detection, stealthy audio snooping etc.

iSpykee currently supports moving the robot, by touching areas of the video image: left, right, forward, and back; changing the robot motor speed (”Turbo mode”); turning the headlight on and off; taking a snapshot of what Spykee is seeing; turning “Video surveillance” (motion detector) mode on and off. It also supports a “low bandwidth” mode that can be useful when using iSpykee from a slow network connection (such as Edge).

Please check it out and join the iSpykee Google Group.

Updated to note that the “controller” software now works on Windows too.


Posted on : Mar 15 2009
Tags:
Posted under iphone, mac, mobile, software development, telepresence |

Spykee iPhone Hack

At left you’ll see my first cut at a rudimentary Spykee mini-console for iPhone.  If you’re familiar with the standard PC or Mac Spykee console app, you’ll recognize many of the functions.

This app only implements a sub-set of the full PC and Mac consoles.  I basically wanted to get some minimal functionality working before going too crazy with the UI and more esoteric features.  Here’s what it will do:

(1) Move the robot, using the left, right, forward, and back buttons.  Each press of the button moves a fixed amount.

(2) Turn the camera LED light on and off.

(3) Tell Spykee to take a snapshot.

(4) Turn ‘Video surveillance’ mode on and off.

Most importantly, the app shows you on the iPhone what the Spykee is seeing. It does not stream video in this version. It updates the “viewport” image periodically when the scene changes (or on demand with the ‘Update’ button). This keeps bandwidth usage down and still gives you a view of what the robot is seeing — and it even works on slow Edge connections.

It’s got another feature to help when controlling Spykee from a slow iPhone connection, where using the ‘Resolution’ button, you can flip between a lower resolution (but much less data) image and the normal full resolution Spykee view. This, and other features of the app, are demonstrated in the video below.

I made a video to show that, while this is still a hack, and is not ready to distribute by any means, it does actually work in real life, with a live robot. If I just provided the above screenshot, there’s no way to tell if it’s just a mock-up.

The video shows some of the basic functions as well as limitations. Even with those limitations, it is pretty cool (if I do say so myself), to be able to sign in and view what Spykee is seeing from anywhere, with just the iPhone without lugging around a PC or Mac, and even on a slow Edge connection.

UPDATE: Finally released. See: http://mrblog.org/2009/03/15/ispykee-open-source-spykee-for-iphone/


Posted on : Nov 20 2008
Tags:
Posted under iphone, mac, mobile, software development, telepresence |

Spykee wi-fi robot – first looks

I saw the Spykee robot at Costco and so I went home and researched what it was all about.

Then I decided to run back to Costco and pick one up before the US supply runs out. It was $229.99

Spykee was created by a French company, Meccano and is being distributed in the USA under the Erector brand.  The robot has been available in the UK and Europe for some time – it was at one time called Spyke, but probably as a result of some trademark issues, now is called Spykee.

The basic idea is that the robot connects via wifi and therefore can be controlled either locally on the same wi-fi network, or remotely from any IP address.  It’s sort of a remote-controlled webcam that you can drive around.

It’s supposedly a kid’s toy, but I’m not sure it’s going to be all that fun for kids, frankly. It’s very cool, and I hope to do some fun (and perhaps even interesting) stuff with it, but here are a few of my gripes:

  1. The building process is overall poor. The instructions are terrible.  The fasteners that Meccano provide with it are really junk and awful for load bearing – I substituted my own nylon screws with nuts to end the thing falling apart at the slightest touch/bump.
  2. Meccano support sucks. Well actually, it just doesn’t exist at all. The toy doesn’t come with a CD or printed manuals. You have to download them.  But the catch is that Meccano doesn’t seem to know how to operate either a web server or a mail server. Their web server takes users to the UK site with no links back to the US site, for reference, you can get to the US site by manually entering this address in your browser: http://www.spykeeworld.com/US/
  3. As I note, they can’t run a mail server either, apparently, because mail to the address they list for support bounces (and it has been this way for a long time, according to forums around the net).
  4. The robot looks like it has arms that move, but the entire body of the robot is just a frame to hold the webcam. It serves no function and doesn’t do anything (cannot be moved via remote control). The “active” parts of the robot are the base with the tracks and CPU etc. and the webcam “module” which also houses the LED light and microphone.  The rest of it is inanimate, just for show.
  5. The Spykee is not very autonomous. It only does things while one is connected to it from the “console” software. You can’t activate a function, then log out, and expect it to do anything (like act as a surveillance camera).
  6. There is no web interface – the only way to connect to the robot and interact with it is to use a specific binary application (Mac and Windows supported). So that app has to be installed on any computer you want to use to interact with Spykee and those computers have to be a Mac or Windows PC (i.e. no iPhone or othe such).
  7. The name has the word “Spy” in it, but Spykee is not very stealthy. It’s not going to sneak up on anybody (It’s LOUD).
  8. You can theoretically talk beween the remote PC and somebody near the robot, but it doesn’t work very well, at least not on the Mac version. It has horrible delay and no echo handling, so is near useless.  If you mute the mic on the PC side, you can use this feature to listen to sounds near the robot, but it’s hard to interact.
  9. The manual says the software is “open source” but it is nowhere to be found (people keep saying it will be released, but there’s no dates anywhere that I’ve found).

There’s a good YouTube video out there listing some of the above and a few other criticisms here.

I got Spykee because it supports the Mac. The other wifi robot, Rovio, only works with Windows.

I haven’t done anything with the Spykee yet except the “officially supported” things, which are actually pretty cool, but limiting.  I want to connect to the device directly with my own software, with web services etc. Unfortunately, the protocols are not released, nor is the supposed “open source software”, so this will require hardcore reverse engineering.  I haven’t spent any time on that yet, so I can’t provide any details yet.

In getting the remote control mode to work, you setup a name/password for your robot on SpykeeWorld.com and then connect from a remote place using that name. One thing I found out is that this name/password must be simple letters with no spaces or other punctuation. It will let you set a name with these characters, but when you try to connect, it won’t work (and the diagnostic “recipient not available” is not helpful).  I have been able to use the remote access (from outside on the Internet to the robot behind a NAT/firewall) with the robot sitting behind many different makes and models of firewalls and routers, and I even tried two layers of firewalls and that worked too, which surprised me.  I’m not sure yet how it gets through the NAT/firewall.

Like I said, I rushed out and bought it because I didn’t want to miss this wave of US shipments, but before you do the same thing, you might want to be aware of the above caveats.


Posted on : Nov 17 2008
Posted under mac, telepresence, video |

Going green with a Mac Mini

There have been rumors flying about for a long time that the Mac Mini was going to be discontinued by Apple. Now it’s looking like it might be here for at least a while longer, according to AppleInsider, who report that a new version is in the works.

I have been working on an elaborate post about my uses of the Mac Mini for a while, but now I’m deciding to just go ahead and blurt it out, in short and sweet form.

I have a “lab” of sorts where I test a lot of things on different OS platforms. Years ago, it consisted of several basic “tower” PCs running various versions of Linux and Windows. Those took up a lot of space, consumed a lot of power, and made a lot of heat. A few years ago I downsized to Mini-ITX platforms to save space and heat/energy.

Well a few months ago, I took this even further and configured a Mac Mini for the role:


Headless Mac Mini VMWARE Fusion server

I expected this to take quite a fair bit of work and time. It turns out I got all the OSs installed in virtual machines and all the software running in the VMs in just a few hours. I was impressed with both Mac OS X 10.5 and VMWARE. Now I’ve gone from five Mini ITX PC boxes, to one Mac Mini running several virtual machines under VMWARE Fusion. And that still leaves the Mac Mini itself available for whatever I wish. The box is running Mac OS X 10.5 Leopard, which now has better support for headless operation. The Mac Mini has no keyboard, mouse, or monitor attached, and lives happily tucked away in a closet.

The Mac Mini may not be all that green on paper, but it is far greener than the five systems it’s replacing. There is way less heat, and MUCH less power being consumed and it’s actually more convenient and more usable too.

In terms of space savings, it’s tremendous. Even with the smallish Mini ITX machines, we were still talking about something the size of a trash compactor or a small fridge. Whereas the Mac Mini would easily fit inside a single one of the Mini ITX boxes, with room to spare.

The VMWARE virtual machines are running some rather treacherous apps too and OS variants, and it all works. Apple has created more than a nifty desktop OS with Mac OS X. It turns out to be a pretty darned capable headless server virtualization platform too. Here’s a quick rundown of some of the tricks involved:

  • You’ll need to attach the Mac Mini to a keyboard, mouse, and display to get it set up the first time. Be sure to uncheck the “Open Bluetooth Setup Assistant at startup when no input device is present” option in the Bluetooth System Preferences, or every time your headless Mac boots it’s going to complain that it doesn’t have a keyboard or mouse.
  • Because this machine is a 24/7 server, I turn off Sleep in the Energy Saver control panel.
  • Add any VMWARE virtual machines that you want to start automatically when the Mac boots to the “System Preferences > Accounts > username > Login Items” for the account and set that account to “Automatically log in” at boot (under “System Preferences > Accounts > Login Options > Automatically log in as:”).
  • I run the Vine Server VNC server on the Mac Mini to enable any VNC client to remotely view or control the machine. This must also be added to the “Login Items” so it starts automatically when the machine boots.
  • I use Chicken of the VNC (and ssh) to remotely control the Mac Mini from other Macs. Linux or Windows VNC clients can also be used to remotely control the Mac Mini and that works fine too (it’s weird to see a Mac OS GUI on Windows).

While I was at it, in the native OS X system of the Mac Mini, I activated the Apache 2 install that comes with Mac OS X 10.5 along with MySQL server and a Wordpress install for good measure.

This all works very well. The only issue so far has been that some major OS updates kill the “headless” operation here because they pop up a dialog during the boot, BEFORE the user is logged in and therefore BEFORE the Vine VNC server is started, meaning no remote access. This sucks because in those cases I have to hook up a monitor/keyboard/mouse just to click ‘ok’ to let the update finish and let the machine reboot. This has only happened with one update so far, so it is an annoyance I can live with, but it would be nice if the mac update process eventually just timed out and completed the update unattended.


Comments Off
Posted on : Mar 25 2008
Tags: , ,
Posted under mac |
PhoneGnome
FREE calling
VoIP for the rest of us!