6502 Was The Second Assembly Language I Learned

Saw this link today and it took me back 20 years.


The first assembly language I learned was for the Motorola 68000 as part of a college class (circa 1992).   Motorola 68000 assembly is a beauty of clarity to behold and quite easy to learn.  I came home for the Christmas break and saw my old Commodore 64 sitting on my desk.  Thinking, “Dang, now this thing makes sense!” I ordered a $15 C compiler and assembler for it.  I wrote a few small programs in 6502 assembly and then never used it again, but had tons fun over Christmas break basking in my new computer enlightenment.

I had written Basic programs on the C64 that “PEEKed” and “POKEd” values into memory, but I never quite understood those machine language programs and how they related to assembly language.  Even after reading tons of computer magazines as a high schooler, the relationship between machine language and assembly language never really “clicked” in my head.  What was lacking in my reading was a nice tutorial like the one above in book form.  Of course, there were no computer classes of that level available to me in rural Western North Carolina and I was hacking in a vacuum.

The 6502 has an X and Y general register, an accumulator (A), a stack pointer (SP) and a program counter (PC).  That’s it!  It doesn’t get more simple than that.  8-bits of glory!

Apple Mac, Google, How To

An Easier Way to View All Your Google Calendars on Your iPhone

So Google now provides a tool to allow you to pick the calendars that sync to your iPhone.  It is:


Once you’ve added your main Exchange gmail account, use this link to pick which calendars sync.  I just saw this link today via lifehacker.com and have not yet tried it, but it looks a lot easier than my previous post.


Chipping Away

I’m a lucky individual.  I grew up in a stable household with two parents that loved me.  I never doubted that love or that security.  I have two loving sisters with whom I still place great trust and hold great admiration.  My family continues to be amongst the most favorite people I’ve ever known.

I’m a blessed individual.  My parents example helped me pick a perfect mate and the love they parented deep into me now keeps me focused to work to be a caring spouse and loving parent to my children.  Note that I said “work” as in a “work in progress.”  My parents example proved to me that it was worthwhile and rewarding work.

Bouncing on Papa J's knee.

Bouncing on Papa J’s knee.

The picture I have posted here is of my father with my firstborn son in 2008.  Dad had already been living with cancer since 2004.  It was because of experimental treatment funded by efforts at the Preston Robert Tisch Brain Center at Duke that he was able to live with an incredibly agressive cancer for almost five years.   18 months of that time he was in remission.  The treatment he received gave him time. It gave us more precious time with him.

Cancer took my father from this world far earlier than he should have gone.  Dad passed away on June 19th, 2009.  He fought to the end, until he knew it was time to turn and go home.  I’m so grateful for the time we had.  I’m so blessed to have been given that time.  But, I confess, I wanted more.  I miss my father, especially those times when I need advice that I know only he could have given.

We’re lucky individuals.  We live in a time when the prospect of finding a cure for cancer is real.  And we can be a part of making it happen.  Once again this year I’m raising money for the Angels Among Us 5K and Family Fun Walk.  The money raised goes directly for finding a cure for brain cancer.  All donations chip away at the wall that keeps us from the knowledge of the cure.  Finding a cure means providing more time with our loved ones, it means more life and more living. That’s worth fighting for.  Won’t you join me?

To donate to the Angels Among Us 5K and Family Fun Walk simply follow the links in this post.  Thank you for your help.

Apple Mac, Opinion


Lion Upgrade

I upgraded to OS X 10.7 Lion a few weeks back and have been “enjoying” its new characteristics.  I have a few complaints, but overall I am generally happy.  I used to suggest to most folks considering an Apple OS upgrade to wait for the first OS update from Apple (10.7.0 to 10.7.1) before upgrading so that the “paint can dry.”  The same holds true with Lion.  That update has since been released and the next is on the way.  However, this time I would also suggest that unless there is some specific feature that Lion offers that you need, wait an update or two more.  Here are the problems/quirks I’ve encountered so far.

Numero Uno… Complainto?

I tried very hard to get used to the “natural scrolling”.  This new feature basically makes the touchpad scroll like the iOS devices do (which is backward than the way it used to work.)  This actually makes a lot of sense and I found that only after an hour or my mind got the hang of it.  I think it really is better.  I thought, “This will really work because I don’t use my trackpad on my Windows laptop at work so my brain won’t have to adjust.”  Except….

For some unknown ergonomically-challenged reason Apple chose to also apply “natural scrolling” to the mouse wheel.  Reversing the mouse scrolling is not intuitive at all!  While it might make sense for the multi-touch magic mouse it doesn’t not make mental sense for a standard scroll wheel.  Add on to that the fact the I use my scroll wheel on my work laptop all the time.  There was no way my brain could switch back and forth between them.  As of now there is not a way to independently leave natural scrolling on for the trackpad and turn it off for the mouse.  Although, the system preferences imply you can because there are two independent checkboxes in the trackpad settings and the mouse settings.  However, these separate checkboxes affect the same setting (and don’t update the other checkbox to reflect the change–bad UI design Apple!!)  I haven’t found a online hack to allow this other than having to buy a third party mouse utility like USB Overdrive.

I was pretty bummed by this limitation and had to switch natural scrolling off.  Boo, Apple!

Second Gripe

The second issue I had was merely a default setting that needed to be corrected.  The default setting for: System Preferences->Trackpad->More Gestures->Swipe Between Pages is “Swipe left or right with two fingers”.  This seems to disable multitouch swiping in all other applications except Safari.  Thus I noticed swiping to navigate was no longer working in iPhoto.  I needed only change it to “Swipe with two or three fingers” and things were back to normal.  My complaint is that it took me doing a Google search regarding iPhoto before I figured it out.  It seems counterintuitive to me that Apple would enable this setting such that it affected so many other applications.  I’m sure newer Apple applications will make use of the new gesture.

On the positive note, Preview now has a nifty set of screenshot options in the “File” menu with which I made the screenshot above.

Third Gripe

My last issue is with iCal.  I’m not a fan of the new look.  I realize Apple is trying to help transition customers to the whole new iPad and touch ethos (and new customers coming in from that world.)  However, making iCal look like a real leather desktop calendar is, well, cheesy.  I’m using one of the worlds most advanced laptops.  Same complaint goes for the Address Book app.  Why the heck would I want my calendar app to look like a leather desktop calendar which I haven’t used since…ever.

I find the delay imposed by transitioning between months (in month view) a needless delay.  I did find that once I adjusted the scroll setting listed above that I can transition between months without the animation by using a three finger swipe instead of a two finger swipe.  I do like the new day view, however.

My last issue with iCal is not new and that is the event editor needs popup calendars when choosing dates.  Also, a quicker method for choosing the time for the event could be handy.  I did go to Apple and give them feedback about the iCal issues.  I should do the same for the mouse and trackpad issues rather than just complaining to the intergooglewebs.

Last One

Lion won’t allow backing up via Time Machine to a networked Samba share.  Only AFP (Apple Filing Protocol) shares will work.  While this may seem like a niche geeky requirement (OK, it is) the fact that I used-to-could do this in Snow Leopard and can’t now has forced me to go out and buy an Apple Airport Extreme primarily to serve as my network attached storage.  Of course, this was probably Apple’s intent.

Granted, there were still other options like me setting up a Linux box to serve this function.  But, my intent was to backup to my media computer (the kid’s computer) which is acting as my always-on iTunes server for my Apple TV.  Since it is a Windows computer (unfortunately) I can’t just setup a share from it to which to backup my laptop.  And, I didn’t want to have to run yet-another-power-hungery-computer all the time.  So, my compromised was a refurbished (purchased from OWC) not-so-power-hungry Apple Airport Extreme which will have two laptop hard drives hanging off of it via a USB hub.

As an aside, Apple updated their version of AFP (the Apple Filing Protocol) in Lion and NAS providers that used the open-source version of AFP (netatalk) were scrambling for awhile awaiting the open source version to be updated.  There was a bit of a saga about this hiccup.  Though a temporary glitch, it was a glitch nonetheless.


Though those are several fairly significant (in my little universe) complaints, I do like many of the new Lion features.  Mission Control is cool.  Versions is sweet.  Time Machine backup from an encrypted home folder while logged in is much needed.  The list goes on.

P.S. Here are honorable mentions in the complaint contest:

  1. The “clickable area” around most of Apple’s controls is too small.  I’ve noticed that Windows is much more forgiving about clicks in that it give you the whole button area on which to click.  OS X tends to require you to click dead-center on things.  Combine that with the very small editing area in things like iCal’s event editor and it’s darn right frustrating.
  2. Safari 5.1 eats memory like a hungry elephant.  Their “enhancements” must mean “enhanced eating of memory usage”.  5.1 seems worse in Snow Leopard.  I switched my wife to using Chrome until they’ve resolved it.  I bumped both our machines to 8G and that’s helped.  I’m hopeful Apple will rectify this in an update soon.
Apple Mac

unDock Is Quite Handy

So you are like many who have one or more hard drives attached to your MacBook via Firewire or USB?  And, like most folks in that situation you inevitably forget to eject those hard drives before you leave and thus you see the annoying error message after closing your MacBook and yanking out all the cables the next time you open it up.  In walks “unDock”.  A very handy and inexpensive tool available at the App store:

Follow this link to unDock at the Mac App Store

Apple Mac, Google, How To

Alarm/Reminder Quirks with iCal and Google Calendars

Journey to iCal Land

iCal iconI’m a big fan of Google Calendar and the flexibility it provides.  In particular, I like the ease in which I can create new calendars for each of my family members to help us to track our appointments.  As mentioned in a previous post, I like to be able to view my personal calendars in conjunction with my professional work calendar, but keep them separate.  When I existed in the Windows OS world I would use a purchased add-on by CompanionLink that allowed me to sync all my myriad of shared Google calendars as items on my Outlook in different categories.  Once I transitioned to a Mac I was elated to learn how easy it was to add my primary and shared Google calendars to iCal via simply adding my Google account.  Equally giddiness-inducing was that when moving to Snow Leopard I could also interface to my work’s Exchange server in both Mail and iCal.


However, I learned a hard lesson after not receiving an alarm reminder on my iPhone for one of my synced Google Calendars for which I knew I had set to remind me.  it seems that there is a quirk when using iCal to view your Google calendars that you need to remember to avoid when setting alarms.

Why!? Tell Me, Why!

It seems that, if you want to set an alarm (to fire-off an alert on your iPhone and make a reminder noise) you have to set the calendar event alarm to only “Message.”  If you set it to “Message with Sound” it won’t add a reminder to the even that is created on the iPhone.  Now, it’s possible this has since been fixed, but I have since changed my preferences in iCal to not set a default alarm, and thus I’ve gotten into the habit of manually setting a “Message” reminder.

It’s not ideal, but it works.

Note, in this scenario the iPhone is pulling down the Google calendar events from the cloud.

Apple Mac, Google, How To

Adding Google Calendars Other Than Your Main One to an iPhone

Calendars Schmalenders

For those living in internet time, and wanting to get to the payoff, skip to the “Convoluted” section below for the how-to.

The scheduling of my life is managed almost entirely by Google Calendars.  It is a huge plus in terms of keeping tabs on my personal schedule, my wife’s personal schedule, and the schedule of our children.  It took awhile to convince my wife that it would make our lives easier, but a few years back I was able to move her away from a paper calendar as her primary calendar and now totally away from any paper calendar once I bought her an iPhone.

Both my wife and I have Google/Gmail accounts and my wife has created separate calendars for my children which she shares with me.  I’ve created a few extra calendars including one to keep as a reminder of all the anniversaries and birthdays of friends.  So, the “secondary” Google calendars are vital information.  While Google calendars is very sharing-friendly by allowing the use of the CalDAV protocol for syncing to any shared calendar, other calendar software is not so friendly.  In particular, Outlook.  As it is not in their financial interest to provide syncing to any other calendar system other than Exchange servers, they provide no help.  Several free tools now exist as add-ons to Exchange, but all cost extra.

Before moving almost exclusively to doing both my personal and work related computing on a Mac, in when using Outlook as my main mail client in Windows I began using a tool from CompanionLink called “CompanionLink Google Sync” (or something like that.) It has morphed a bit since then and many other tools have come about to make synching multiple calendars to multiple Outlook categories possible.  I used these tools in conjunction with an older Palm Treo to handle calendar syncing quite well.

iCal on the Mac syncs quite effortlessly to Google Calendars and requires only adding your main Google account to pull in all shared calendars (viewable under “Delegation” in the “Accounts” tab in iCal’s preferences.)  Unfortunately, the iPhone does not integrate nearly as easily to Google Calendars as does an Android phone (not unsurprising.)


My work, like most modern offices, uses Microsoft Exchange as it’s main mail and calendar service.  In managing my daily schedule, I prefer to keep personal data personal, and professional data professional.  Therefore, mixing/synching my work schedule information into my personal Google calendars is not ideal.  As my work calendar information may have confidential client information within it, it would be inappropriate for me to sync that information to my personal Google calendar.

My desired setup on my phone was to do something similar that iCal was affording me on my Mac:  the ability to add multiple separate accounts for my work Exchange calendar, and my Google personal calendars.  All of them would be synchronized “to the cloud” and never require me to sync my phone via the USB cable to my computer (at least for calendar, mail, and contacts.)


While the iPhone allows the syncing of your main Google Calendar, mail account, and contacts via (oddly enough) Google’s-provided Microsoft Exchange interface, this interface does not sync any other shared calendars.  Plenty of excellent tutorials exist for setting up your main Google account to the iPhone. However, setting up those secondary shared calendars is unfortunately a bit of an email cut-and-paste acrobatic feet.  Here’s how to do it so you can view them and even add and remove events:

On the PC/Mac

  • Go ahead and setup your main Gmail account per Google’s instructions.
  • Go your a computer where you can access your Google Calendars via the web.  Navigate to your Google Calendars.
  • In a second tab open Gmail (or use whatever mail client floats your boat.)  Create a new draft email.  We’ll be cutting and pasting addresses into this email to send to your iPhone.
  • In Google Calendars (in the top-right corner as of last time I checked) choose Settings->Calendar Settings


  • In Calendar Settings choose “Calendars”
  • Click on the name of the shared calendar you wish to add to your iPhone
  • At the bottom of the information of the calendar you will see a section for the “Calendar Address”.  Select and copy the calendar ID:

  • Now, in the email you have crafted stick the calendar ID into the format shown below
https://www.google.com:443/calendar/dav/[Put calendar ID here]/user

So, for example, if I were to put a made up example it might be:

  • Now repeat this process for all of the calendars you want to connect with your iPhone (I told you it was convoluted!)
  • Send this email to an email account that you read on your iPhone

On the iPhone (or iPad for that matter)

  • Open the email and copy the first listed address of the calendar.
  • Open the iPhone settings and open the “Mail, Contacts, Calendars” setting.
  • Choose “Add Account”
  • Choose “Other”
  • Choose “Add CalDAV Account”
    • In Server enter: http://www.google.com
    • In User Name enter your gmail address
    • In Password enter your gmail address password
    • In Description, name it the friendly name you’ll need to remember what it is
    • Tap “Next”
  • Once the calendar is added it will take you back to the list of calendars on the iPhone.
    • Choose the new calendar you added
    • Choose “Advanced Settings”
    • Under Account URL, paste the address you just copied (first deleting the previous text that was there)
    • Rinse and repeat for each calendar
  • That’s it!

It is a very convoluted process, but thankfully you only have to do it one time.  Once I completed this action for each of my shared calendars I have been able to enjoy adding, changing, and deleting events (from the one’s on which I have permission to do so.)

There is supposedly a simpler method that I did not try listed here:

However, I do not know if it “scrunches” all the calendars into one causing you to lose the distinct categories.  I’d be curious if someone has tried it and knows from experience.