Thursday, May 28, 2009

Mac is 0 for 2 today, not a good day

Serious setbacks today as I hit 2 major obstacles to what I thought I could do with my new Mac setup.

1) I have half a dozen different ways to play videos of various sorts on my Mac, which you’ll recall is hooked up to my television.  Maybe for the kids to watch a show, maybe for me to have something on in the background besides Scrubs reruns.  But if I want to also get work done on the machine in a graphic way, how can I do that?  I’m told that if I had two physical monitors attached to the Mac it is easy to set up a video playing application full screen in one of them, and work in the other.  But in VNC/screen sharing world it appears that whatever the television connected screen is doing, I am also stuck doing in my VNC window.  So that means that while I’m working on the Mac, I don’t get to watch any of my cool videos.

2) Found out that Rhodes requires an ObjectiveC application called RhoRunner to work.  Only makes sense, it’s basically an interpreted environment.  I can live with that.  But the interpreter provides a browser-like toolbar that I don’t like, and if I want to change that… I have to learn XCode and Objective C.  :(  I might as well just write my apps in that anyway, then, no?   Problem – working the Interface Builder in Objective C apparently *requires* you to perform a “control mouse drag” event and you know what?  My VNC windows don’t want to generate that.  Not quite sure what the deal is with that, but it’s pretty well confirmed – I can go direct to keyboard on Mac and it works fine, but on none of my VNC clients can I get it to send a control drag sequence.


I can live without #1, although it is disappointing.  But living with #2 would pretty much mean that I can’t sit at the laptop and work on ObjectiveC code.  That would be a serious damper on my plans.

Anybody got any suggestions?  Know a way I can get around the control limitation?

Friday, May 22, 2009

Language Juggling. Fun!

I’m being deeply geeky today. If I were to add up all of the projects being juggled at the moment it’d look a little something like this:

* listening to (and keeping an eye on visually) podcasts about Objective C.

* trying to bring up an application in Rhodes, better known as “Rails for iPhone”.

* familiarizing myself with fallback plan PhoneGap, which is basically HTML/Javascript for iPhone

* building a new feature for the day job in Rails

* porting an existing feature in PHP

* mapping said feature to a content management system that, as most do, has its own XML based layout language

* properly skinning that PHP using CSS, again as dictated by how the CMS wants it organized

Naturally, some of them are coming up a little short :).

Wednesday, May 20, 2009

Mac Update : Building Apps

On the “family media center” front I invested $15 in an app called SofaCouch that puts the little mini remote on steroids, allowing it to control whatever applications you wish.  Now instead of dealing with the limitations of Front Row I can just have it launch iTunes for music, DVD Player for movies, and so on.  Perfect.

As my time frees up I can spend more of it working on app development.  I got the Rhodes kit running, which is basically Rails for iPhone development.  While I was able to get the code installed and the simulator running, I cannot seem to get a Hello World app running.  Not quite sure what I’m doing wrong, but if that is a roadblock for too long I will shift over to Phonegap, which is more of an HTML/Javascript solution (that has been called “Adobe AIR for iPhone”).  I just want to get something on the device of my own creation, that’s my primary goal right now.  Doesn’t have to be app-store worthy, I just want my own software on the device.

Friday, May 15, 2009

Mac Update : Setback

So last night while waiting for Grey’s Anatomy to start, I tried to show how nonchalantly I could now just flip to our video jukebox, and in this case play an episode of Fawlty Towers, which I just discovered my wife loves. 

My whole iTunes directory was gone.  That’s not cool.

Thinking back, I had cold rebooted the thing earlier that morning because it hung on me for something, and this was the first time using it since then.  I’d also moved my iTunes directory onto my external drive.  Obviously something was amiss.

All my files still existed, luckily.  But for some reason iTunes had failed to remember that I’d moved the directory, instead apparently choosing to recreate itself an empty directory in the usual spot.  Worse, no amount of saying “It’s over HERE, darnit!” could make it work.  So I ended up importing all my stuff over again, a process that took way more time than it would have taken to watch the show. 

Spent the rest of the night flipping through iPhoto directories and deleting everything that got swept up in the tidal wave, like all the ancient Thumbnail directories, icons from various software installs, etc…  how annoying.  One of these days I’ll get to do some coding.

On that note, I did actually sign up for the developer program, so I’m committing myself to making something happen.  Note – Apple seems to offer a deal where for $99 you can either register as yourself (an individual), or a company name.  Who would not choose company name?  Sounds much more professional.  But then the next page says “Yes, we will expect you to provide documentation that you have the official right to this name” like incorporation papers, etc…  Which I of course did not have, so I stuck with little old individual me.

Challenge : Simulating Split

As programming languages and libraries become more complex, you don’t find the same sort of puzzling little challenges you used to in the old days.  One of my favorite questions to ask interviewees a long time ago was “Write the round() function when all you have is the floor function.”  (One of many answers:  Add 0.5 to your number, and then execute floor() on it. Blah blah blah excepting for negative numbers and any other nitpicks, this is not the point of my post….)

Here’s the challenge I found today.  I’ve got a file pathname stored in a database string.  They come from a variety of sources so there’s no inherent pattern in them other than the usual http:// to start, separated by / delimiters.  Turns out that for a report I need a quick way to get just the file portion – so, just the last bit.

With a split() function I’d be fine.  This is one of those things that’s easy to do in something like awk where you just ask for the last field.

But I’m in MySQL, and unless I missed something, MySQL doesn’t have a split.  I found several examples of how to simulate it using a fixed number of nested substr() and locate(delim, string) calls.  That works – if you know ahead of time which bit you need, i.e. “I need the 4th field.”

Well, here I don’t know.  All I know is that I need the last one.

I spotted the quick and simple answer as soon as I saw it.  Anybody know what answer I saw?

Wednesday, May 13, 2009

Mac Journal : Storage

I’ve had an external Terabyte drive kicking around for awhile, but could never get the hang of using it with the work laptop – the constant unplugging made it useless for things like iTunes storage.  But with a dedicated machine now, it only makes sense.

Almost immediately upon plugging it in to the Mini, Time Machine popped up and said “Oh, cool, I’ll use this then, shall I?”  Yeah – but it has to reformat it first.  This does not make me happy about the 75gig of stuff I’ve already got on there.

So I actually prune that down to about 40Gig, copy that to the Mini’s local drive, then format the Terabyte, just so I can now put it back :).

While I’m in there I move my iTunes library – a good 50Gig as well – to be served directly off the box.  I notice that Time Machine renamed the drive “Time Machine Backups”, I’m hoping that it doesn’t think I just devoted an entire Terabyte just for backups.  I want to use that for actual storage of videos and things, too.

Since I’d dusted off the Archive drive, I also told iPhoto to go to town on the thing.  Had fun looking at pictures of my first daughter’s birth, that I haven’t seen in 6 years.  I wish iPhoto had let me just say “Point my photo library to this other volume”, I could not find that option.  Oooo…..maybe I can softlink it?

Tuesday, May 12, 2009

Mac Journal : New Purchase

So I got myself a Mac Mini this weekend.  Couple of factors led up to it:

  • We really have no central machine in the house.  I have my work laptop (Windows), my wife has a Linux netbook for email and such, and then at any given time I’ve got a couple of cobbled machines in various states of usefulness, ranging from the old Dell laptop next to the TV that the kids sometimes play on, to the desktop machine down in the basement that sounds like it’s on its last legs.
  • Our pictures and videos are scattered all over the place.  With no central machine, I tend to use the most powerful machine available to me, which ends up being my current work laptop.  Over the years and the jobs, pictures tend to get scattered.  Plus, the simple act of going out for Mother’s Day and my wife saying, “Can we see the pictures?” ends up being half a dozen operations as I shuffle around cables and AV ports and things to bring them up in a way that people don’t have to huddle around the laptop.
  • The kids don’t have any meaningful computer time, be it for games or educational.  That troubles me.
  • I am getting tired of reading magazine articles about people with no programming experience whipping up the next 99cent utility and pulling down $100k in 6 months. :)

All those things together make a Mac Mini sound like a good investment.  I can hook it up to the HD tv in the family room and use it like a video/photo/music jukebox, first and foremost.  With a wireless keyboard and mouse the kids can get some play out of it simply by turning to HDMI2, something they already know how to do, and not have to worry about booting up a machine and hanging around for a few minutes just to get a game started.  Plus, I can VNC into it from my laptop and develop to my heart’s content.

I will keep notes here as I learn.  Interestingly I’m finding that running a VNC window from inside my Linux virtual actually seems faster than doing it natively from Windows.  I even pulled one up on the iPhone, just to see if I could do it :).  The performance seems acceptable (I got the base, $600 model), I was ripping DVDs and FTPing over my iTunes collection from the work laptop, all while setting up a Rails environment for myself. 

Having fun so far!

Wednesday, May 06, 2009

Announcing “Phoenix Freeze”

Disclaimer : This is talking about a product release from the company I work for.  I didn’t work on this particular project, it’s a big company.  So if you think that constitutes being spammy, here’s your chance to bail out…

Attached is the press release for my company’s latest product, something called “Phoenix Freeze.”  It’s actually a pretty cool idea. You know what Bluetooth is, right?  The key bit of the technology being that once you get two paired devices into proximity with each other, they can recognize that fact and start working together?

Well, Phoenix Freeze takes the opposite approach – how about if your computer recognizes when you walk away from it?  When you’re sitting at your desk, you pair your computer and your cell phone (for example).  Now you get up and leave, and oh shoot, you forgot to lock your screen.  No worries!  Your computer knows you’ve left it, and it’ll go ahead and lock for you.  Even better – when it detects that you’ve come back, it’ll unlock and be all ready waiting for you.  Seems like just the thing for security-conscious companies (I’m looking at you, financial institutions…)

[ If I didn’t work on this project, what do I do?  Well, I work on the web side of things.  So if you go ahead and buy it, you’ll probably trip over some code that I wrote somewhere along the line… ]


Phoenix Technologies(R) Puts the 'Freeze' on Unwanted Access to Laptops With New Bluetooth Proximity Lock System

--Combining the power of Bluetooth technology with embedded security, Phoenix Freeze(TM) gives laptop and netbook users a proximity-based system for remote control locking and unlocking data access

MILPITAS, Calif., May 6, 2009 /PRNewswire-FirstCall via COMTEX News Network/ -- Phoenix Technologies Ltd. (Nasdaq: PTEC), the leader in PC 3.0(TM) products, services and embedded technologies, today announced the availability of Phoenix Freeze(TM), a patent-pending solution for laptops and netbooks, that provides users with a convenient, always-on Bluetooth proximity system that automatically locks down a laptop whenever the user walks away from it.

Freeze pairs a Bluetooth(R) mobile phone with the user's laptop so that the laptop immediately locks whenever the user walks away with their phone. When the user returns within a certain proximity (pre-defined by the user) of their mobile computer, it automatically unlocks. This combination offers safety, security, and peace of mind without the annoying effort required to constantly lock and unlock the PC with passwords or finger swipes.

For those who are particularly cautious or those with a critical need to secure data, the Freeze laptop proximity lock can be made a part of a multifaceted authentication process that reduces the time and effort required to achieve a highly secure yet convenient PC experience.

Freeze is available immediately to consumers via download as well as to PC OEMs for incorporating into new laptops. Consumers may download this Bluetooth proximity lock at, or from Phoenix's PC upgrade, tools and diagnostics site .

Freeze complements and adds a second level of laptop security to FailSafe(TM), a true embedded and innovative theft deterrence and data loss protection technology. In the event of loss or theft, FailSafe enables laptop and netbook users to lock down their hard drive, erase data, and completely disable and trace the location of their laptop. With FailSafe and Freeze combined, users have a comprehensive security ecosystem on their laptops that safeguards their digital lives.

"Security and ease-of-use are the cornerstones of our PC 3.0 strategy of building products and services that deliver new levels of protection as well as performance, simplicity and efficiency, to make mobile PCs as fun and easy to use as mobile phones," said Woody Hobbs, President and CEO of Phoenix Technologies. "Phoenix Freeze raises the bar for mobile PC anti-theft technology, adding an additional layer of security for those who view their data as even more precious than their laptops and want it protected from unwanted exploration in their absence, however brief. Now, with Freeze, locking down access to your laptop is as simple as walking away with your cell phone in your pocket."


User Configurable

    --  The registration/installation and user interface screens are configured
to enable ease-of-use so that the Freeze laptop proximity lock works
-- Intuitive GUI allows customization by user. For instance, the proximity
zone and power savings settings can be defined by the user

-- One phone with Bluetooth technology can control multiple laptops


    --  The Windows XP, Vista password lock is activated when the paired
Bluetooth enabled phone moves outside the security proximity zone and
automatically unlocked when inside

-- Bluetooth proximity locking adds to a multifaceted authentication
process for enhanced laptop security

Green (Power Savings) Modes

    --  Built-in intelligence detects when a Bluetooth device is out of
proximity range. If the power savings mode is selected, the laptop
screen powers off. The screen is automatically turned on again when the
user with the Bluetooth phone is within the configured proximity lock

-- For maximum power settings, the laptop can be configured to enter sleep
mode as the user exits the proximity lock range. To wake the system, the
user will need to press the resume button

About Phoenix Technologies Ltd.

Phoenix Technologies Ltd. (Nasdaq: PTEC) is the global market leader in system firmware that provides the most secure foundation for today's computing environments. The PC industry's top system builders and specifiers trust Phoenix to pioneer open standards and deliver innovative solutions that will help them differentiate their systems, reduce time-to-market and increase their revenues. The Company's flagship products and services -- Phoenix SecureCore, MicroCore, Embedded BIOS, FailSafe, Freeze, HyperSpace and -- are revolutionizing the PC user experience by delivering unprecedented performance, security, reliability, continuity, and ease-of-use. The Company established industry leadership and created the PC clone industry with its original BIOS product in 1983. Phoenix has 159 technology patents and 136 pending applications, and has shipped in over one billion systems. Phoenix is headquartered in Milpitas, California with offices worldwide. For more information, visit

Phoenix, Phoenix Technologies, Phoenix SecureCore, Embedded BIOS, Phoenix Freeze, FailSafe, HyperSpace, PC 3.0, and the Phoenix Technologies logo are trademarks and/or registered trademarks of Phoenix Technologies Ltd. All other marks are the trademarks of their respective owners.

Phoenix Technologies Ltd.
Global Press Office
Tel.: +1 408 570 1060

SOURCE Phoenix Technologies Ltd.

Copyright (C) 2009 PR Newswire. All rights reserved