Computer Programming

Last night, I attended the Gala celebrating DC ACM‘s 50th Anniversary.  It
was a well-run affair, seemingly effective in its aim to pull together
visibility, awareness and support for the re-emerging ACM chapter.

The keynote speaker was Bjarne
Stroustrup
, best known as the designer of the C++ programming
language.  He gave a very interesting talk, unveiling the history
of C++ and some of the thinking behind its evolution, as well as
pointing to the key updates in the now-finalized C++0x (likely
to be C++09).    I think some of the power of his
presentation came from the fact that he was articulate in sharing the
backing story, instead of just pummelling the audience with sample
code, feature lists, or other gee whiz factoids  about C++ or
other programming languages.  The slides (and a video of the
presentation) will be available on the DC ACM website, shortly.

Of course, this tickled a few neurons in my own brain, and left me
thinking wistfully of programming days.  While I always liked it,
it’s been a long, long time since I did any programming of note in any
language.  Long enough ago that object oriented programming was
just becoming mainstream, and I never got seriously into
it.   The world of programming, and the tools to support it,
have changed entirely.  It’s hard to tell which new practices are
actually de rigueur, and
which ones are simply stylistic.  

However, I have no particular need for programming in my current line
of work, and certainly don’t have so much spare time that I want to
fill  it by climbing up the learning curve again.  There
aren’t any simple things that need programming in my life — and
writing a full-on knitting design program, say,  using KnitML,  is hardly a
simple thing πŸ™‚ 

NaNoWriMo

Today marks the start of National Novel Writing Month — check it out
at the NaNoWriMo site.

Although I don’t aspire to write a novel this particular month, I have
long admired the approach to breaking down self-imposed impediments to
writing:

“Valuing enthusiasm and perseverance
over painstaking craft, NaNoWriMo is a novel-writing program for
everyone who has thought fleetingly about writing a novel but has been
scared away by the time and effort involved.

Because of the limited writing window, the ONLY thing that matters in
NaNoWriMo is output. It’s all about quantity, not quality. The kamikaze
approach forces you to lower your expectations, take risks, and write
on the fly.”

This November, I intend to borrow a page from NaNoWriMo for this
blog.  If it works — expect to see a lot more content this month,
all over the map.  If the “writer’s block breaking” effect works,
perhaps there will be more content going forward.  Or —
not.  πŸ™‚

Apple iCal: FAIL

Even before there was an Internet that emphasized the value and
powerful reach of inter-machine resource sharing and interoperability,
there was
a basic concept that any given program ought to be able to use data
files generated by any other instance of the same program, run on
similar hardware. All the user had to do was get the data
from one computer to the other.

Apple’s calendaring “solution” breaks this most basic of understandings.

I am an Apple fan — I heartily enjoy using
my computers to get stuff done, not having to continuously work
on the computers themselves. Apple is a leader in
delivering seamless computing environments. There are so many
things that Apple has gotten
right with the hardware and the user environment. But, sometimes
the apparent drive to “own” the “user experience”, gets in the way of
the actual user. One such area is calendaring: it takes
nothing away from iCal to say that I need it to play with others, and
yet the impediments to doing just that render it virtually
unusable. Message to Apple: making Mobile.me the only
way to sync my iCal across machines is NOT going to get me to subscribe
to Mobile.me, it’s more likely going to get me to stop using iCal.

A common calendar situation

I have a situation that I suspect is not all that unusual in the
world:

I have

  • a personal Apple MacOSX box;
  • an Apple MacOSX box for work; and
  • a personal Apple iPhone.

I need

  • to be able to keep track of, and update, my meetings
    wherever I am (calendar) and
  • to share some versions of my calendar with a shared work calendar
    server

FAIL

Is this an unusual situation? I can’t believe it is. And
yet, I have no solution to doing the above seamlessly, with iCal.
The fact that iCal has no inherent ability to share data with another
machine, or even publish and subscribe to the same calendar on a remote
server, makes it impossible to do the above without the intervention of
a 3rd party service or purchased software.

And even those are not so obvious, if you happen to share a few of the
principles I have:

  • I won’t store quantities of personal data on my work machine, and
    I certainly won’t make my work machine the primary for a personal
    application. The machine belongs to my employer, and they have to
    be able to pull it back at any time. I don’t care to be left high
    and dry.
  • I won’t store any employer data (i.e., work information) on
    my personal machines. (I don’t think I need to explain this)
  • I won’t store quantities of my personal data on some 3rd party
    remote server
  • I won’t store any employer data on some 3rd party remote server
  • I don’t have time to manually enter/update the same data in 2
    different places

So — I’m not reflecting my calendars of Mobile.me or even Google
Calendars. I won’t put all my calendar info on my work notebook
(only) and then have to sync my iPhone there.

Trying to route around damage

I have set up my own webdav server that both machines can access — but
the fact that an iCal cannot both subscribe to a calendar and publish
it somehere means that having my own server doesn’t provide me
with an authoritative server that both Macs can access.

I tried keeping the 2 machines’ calendar files in sync (using rsync),
and that works for the calendar data files. However, apparently
the calendars (particularly, those to which you subscribe) are stored
separately in preferences, so that they are not properly sync’ed, and
you get wierdness. That last point is particularly
irritating: even if Apple doesn’t care to provide the
functionality of sync’ing across Macs, by internalizing the data, they
are making impossible for me to find an alternative solution (rsync)
without getting into Apple-specific software development (digging
through preferences). This is where they turn their backs on that
age-old premise of reasonably open computing: that you can move
data files from
machine to machine, as long as you have reasonably similar instances of
the software to work on them.

I used to get away with using a 3rd device to be the “calendar of
record” — now my iPhone, previously a PalmOS PDA, and prior to that an
Apple Newton (!). That way, I could keep one calendar in sync
with one machine AND have it everywhere wth me, even when away from my
computer. Easy-peasy! But, now I need to have a calendar
that can sync (several times a day) to a shared work calendar, and the
iPhone can’t do that.

Where next?

So, I’m looking at spending $25/machine to achieve something iCal
should just be able to do. Or, I can use another calendar program
(e.g., Sunbird), and lose all ability to integrate calendar items with
other applications. Neither is an appealing prospect.

Really, Apple — I think this is an instance where you need to Lead
(build the best calendaring app for your platform), Follow (make it
easy for other calendaring programs to be integrated applications) or
Get out of the
way (let me route around your damage).

Bike to Work Day 2007

The 50-year-old
League of American Bicyclists
have declared May as “Bike
Month”.  In particular, for most parts of the country, “National
Bike to Work Day” is tomorrow, Friday May 18:  you have been
alerted & can participate!

Apparently, though, the folks in the SF Bay area like to be a litte
ahead of everyone else, and recognized today, Thursday May 17, as Bike
to Work Day… with a ripple effect out to those of us working for SF
Bay Area HQ’ed companies in far-flung parts of the country.

BikeAtWork

This is my bike.  This is my
cube.  Any questions? πŸ˜‰

Certainly, the lobby ambassador had none as I slithered up to her to
check in!

Really, it was a lovely day for it — no rain, nice temperatures. 
And I’m fortunate that 2/3 of the route follows a recreational
trail.  So, the ride in was all deer and rabbit and turtle and
ground hog, except for the last few miles of negotiating along the edge
of various concrete seas.  Though the backback was a bit much —
it just about overset me on a few occasions.  (I rather suspect
that I looked like this
from behind πŸ˜‰ ).

The ride home was perhaps more of a slog and a little less charming —
the recreational trail was populated by more dog-walkers and other
random folk, who were random obstacles to be navigated around. 
And then there were the flocks of shiny-clad cycle clubs who swooped by
(for whom I was a random obstacle to be navigated around).  
I don’t think it was *just* because they were on road bikes (not a
mountain bike), didn’t have a 20lb backback to slew their center of
gravity, and hadn’t already done this once already today that they had
the tour de force advantage!

Heh.  I am not an athlete (this is not news!).  But I did up
and decide to pump up the tires on the bike I hadn’t ridden in 18
months, ride (just over 19mi) to work, and then rode (just over 19mi)
home, so I think I’m doing okay.

And, if you’ll pardon me, I’m going to hike over to  a soft and
cushy chair for a bit…!

For those of you living outside the SF Bay Area, in the States — your
turn, tomorrow! πŸ˜‰

Movin’ in…

Welcome to the new instantiation of the KnitBot blog! Importing content from the old blog ran afoul of some formatting issues, so I’ve simply saved it as an HTML page, here. The blog-specific links may not work, but the content should remain accessible.

Here, I’ll be working on window dressings and other ornaments (aka, look and feel) for a while yet, but I will try to post some actual *content* soon πŸ™‚

P.S., Thanks to Pete, who helped me with the original installation here (umm, 2 years ago. Yeah, I move *slowly*, but I do move πŸ˜‰ ).