Posts

A Tale Of Two Sundials

Image
It was the best of times, it was the worst of times, ... it was the season of Light, it was the season of Darkness, it was the spring of hope, it was the winter of despair ... Sundial outside Goldwin Smith Hall Sundial in the Engineering Quad With apologies to Charles Dickens, I am writing about two sundials on Cornell's campus. One is outside Goldwin Smith Hall in the Arts Quad while the other is in the Engineering Quad. As an undergrad, I didn't pay much attention to either of these works of art.  Apparently, neither do current students as they hurried past me while I was taking pictures. But these two sun dials merit contemplation.  One is from the past, and with the gravitas that a layer of patina brings, provokes thoughts of time and mortality. The other looks outward, and with modern, shiny arms, seeks to embrace a future where the sky's the limit. When family and friends talk about college, and when college bound students ask me what they should s...

Tools Of The Trade

Image
"Like many artists, I am very attached to my brushes. I love them all individually and I’m very familiar with their individual characteristics. I can distinguish between brushes of the same make, series and size. I know their degree of spring, their shape, their balance, and, most importantly of all, the marks I can make with each of them." This was the opening paragraph from an article on Artists and Illustrators .  I'm no artist, but I felt an instant kinship.  Developers -- the passionate ones -- care about their tools in the same way. A good computer configuration would include a fast multi-core cpu with two 24" displays.  Dual monitors were fantastic, letting me code on one display and allowing me to read email or web pages on the other.  They became less fantastic when I began to code on both displays.  The angles between the monitors were awkward and the frame separating them was distracting.  A single large monitor became more suitable, and I ...

Part 3: The C Programming Language

Image
I found C easy to pick up.  Yet, it had the wonderful property in that the more you used the language, the more there was to learn. The book in the middle with the red title --  The C Answer Book  -- provided solutions to the exercises presented in  The C Programming Language (topmost book).  It was neatly done, and kept pace with the concepts presented in the source material.  Depending on how you learn, the answer book can be useful.  Back in the day, before the internet matured, it certainly was.  Today, it's not as essential because sample code abounds. The book at the bottom was the second edition of  The C Programming Language and described the ANSI standard.  A new one on Amazon sold for about $60, which made my first edition quite the bargain.  Emphasizing C's main strength, and at the same time, acknowledging a major source of difficulty, K&R expanded Chapter 5: Pointers and Arrays with diagrams of how memory wa...

Part 2: The C Programming Language

Image
The leftmost book was a first edition, and it beckoned me, sometime around 1984, from the shelves of Barnes & Nobles.  Priced at $17.95, the book was a significant out-of-pocket expense for someone on their first job, but it would prove to be quite the investment. Turning to the Introduction, I noticed it was denoted as Chapter 0. This was a delightful self-reference to the C language itself, where arrays started with an index of 0, instead of 1.  Think of it as an elevator that marks the ground floor as "G" and the next floor up as "1." C's array and pointer capabilities were what made the language especially powerful, compact, clear, and efficient, but it also took discipline to use them right.  Pointers let you access memory, but sloppy use can take your pointer to bad places, leading to security holes, and ultimately crashing your program. One technique I've used to corral stray pointers was to set them null after I was done with them.  It wa...

Bookshelf Classic: The C Programming Language

Image
My first job had me programming in Microsoft BASIC for the IBM PC (DOS).  BASIC worked well enough, but its limitations were clear.  The language was interpreted and therefore slow.  More importantly, it wasn't a modern structured language, and instead, relied on line numbers and the GOTO statement.  Anyone who has read Dijkstra knew  GOTO was a bad thing . Having learned a structured language in college ( PL/I ), using BASIC felt unnatural.  When a C compiler became available for the PC, I saw a chance to improve and modernize our software.  The problem was selling the idea -- a problem made harder because I wasn't fluent in C. "It would be a staffing problem.  Not many people know C, but we can find a lot of programmers who know BASIC," noted one manager. The argument was strong as my knowledge of C was weak.  But I knew that C, by design, was a small language and thus easy to learn.  "It has about 30 keywords," I proffered to...

Hiding from Facebook 🙈📕

Months leading to up to Facebook's IPO in 2012, I received an invitation to join from an old neighbor and acquaintance.  I ignored it.  Upon receiving a second invitation, I replied stating that I'm not the Facebook type and prefer not to join.  My former neighbor, surprised, replied that he had never sent me an invitation.  He wasn't even a member. And the Facebook shenanigans have ramped up ever since. One trick I learned to block my desktop from accidentally accessing facebook is to update the computer's host file.  The technique works for Linux, Mac, and Windows, and you will need elevated permissions to do so... and maybe a techie friend. MacOS and Linux sudo vi /etc/hosts Windows notepad C:\Windows\System32\Drivers\etc\hosts Add the following entries: 127.0.0.1    facebook.com 127.0.0.1    www.facebook.com The address 127.0.0.1 maps specifically to your local PC, and is sometimes referred to as "home."  Consequent...

Bitcoin: 15 minutes (or more) of privacy

Image
Andy Warhol was right when, in 1968,  he said "In the future, everyone will be world-famous for 15 minutes." Now that the future is here, what everyone seems to desire is 15 minutes (or more) of privacy.  At least that's what occurred to me when I asked myself what problem Bitcoin, and more specifically, blockchain is trying to solve. Digital currency offers the ability to hide transactions, and is often associated with those who purchase illegal goods or launder money.  But digital currency is also used for legal transactions and appeals to those with memories of the 2008 recession ; they want to have as little to do as possible with the banks that contributed to it, and that often means using some combination of credit unions, cash, and Bitcoin. Unlike Fiat money , Bitcoin is not backed by any government. It operates independently of any central bank and lives on the net.  This is made possible by a mathematical token referred to as the blockchain....

Bookshelf Classic: The Design and Evolution of C++

Image
There was a time when I put a corporate seal on my favorite books.  Dr. Stroustrup noticed the embossed seal, ran his fingers over it, and remarked "nice" as he signed my copy. 
 The book was  published circa 1994, and Stroustrup was on hand to give a talk to an eager C++ user group. 
 While the book describes the early evolution of C++ -- the proposals, the decisions, the trade-offs, and the mistakes -- it is in the early sections where we learn most about the author.  Stroustrup writes: 
 "It is often claimed that the structure of a system reflects the structure of the organization that created it.  Within reason, I subscribe to that idea." 
 In my years of programming and working with management, I have found this to be very true.  This was Stroustrup's way of saying the C++ language is largely shaped by who he is.  While it's no surprise he has advanced degrees in mathematics and computer science, we learn that his hobbies include history and ...

Kid at Heart, Beginner's Mind

Image
What do Hot Wheels, the XO Laptop, and Mozart's Nachtmusik have in common?  Each one appeals to the beginner and opens the door to something more complex. There is a way of thought in Zen Buddhism referred to as "Beginner's Mind."  Approach activities with the mind of a beginner, even routine things such as eating.  That's because  "I n the Beginner's Mind there are many possibilities. In the expert's mind there are few." Mozart's Nachtmusik is a popular introduction for those new to classical music, whether as a listener or as a budding musician.  Listen to the clip above and you will understand better than any words I can write. The XO Laptop brought the concept of computers and programming to children. especially in underdeveloped nations.   It did not succeed as planned, but the hearts behind it were in the right place.  The Verge (2018) recently took a thorough look back, accompanied by some sharp photos: OLPC’S $100 Laptop W...

iPhones In Stretch Jeans

Image
First iPhone, iPhone 4S, and iPhone X Current iPhones are just too large.  I saw one -- an iPhone 6 perhaps -- squeezing out from the front pocket of a young woman's stretch jeans.  With each step she took, the iPhone slid a little further out.  But she couldn't save it as her arms were full with two trays of sheet cake. Walking past her, I made eye contact, and then looked down to her pocket.  She smiled and asked, "Could you?..." I gently pushed the phone back into her pocket.  She thanked me and I continued on my way. When I recount this tale, the guys would, in mock frustration, say "Mike, what's the problem?  Why are you complaining that phones are too big?  Did you at least get her number?" Okay, this particular situation made for a fun blog entry. But being serious, a phone should fit in your pocket comfortably and be properly sized for one handed operation. The iPhones that came after the 4S pushed past those boundaries, delaying my...

Microsoft Git-Hub Hub-Bub 🙀

The developer community is divided over Microsoft's purchase of GitHub.  In simple terms, it's closed source versus open source.   ArsTechnica's take is that GitHub had no good alternative, but some developers are having none of that, and are actively exploring options such as GitLab and BitBucket. For perspective though, and at the risk of sounding like your high school English teacher, read the following articles on Steve Ballmer and Satya Nadella.  Compare and contrast. Vanity Fair 2012: Ballmer and Microsoft’s Lost Decade Wired 2017: Nadella and Microsoft’s Future Bill Gates and Steve Ballmer were more than their sums.  Together, they made Microsoft formidable and feared.  Alone, however, Ballmer was a functional CEO, executing in the present, but unable to take Microsoft into the future. Nadella came from within the ranks of Microsoft, and given the complexity of the company, an insider for CEO was a good thing.  A telling and ...

Phone Cradle Hack

Image
                It dawned on me during breakfast.  Coaster sets come in various containers and as I stared at this particular empty holder, I realized it could be used to hold my iPhone.  It props your phone up a bit, and there's a convenient opening to channel your recharging cable. And what of the coasters it once held?  Without a home, they are coasting around the dining table.

Connections

Image
Opening a drawer in my hotel room in Toronto, I found this.  I worship at the altar of tech, but I imagine the reaction between two priests might go like this: Mormon Priest:  "At least we're wireless!" Catholic Priest: "And from the very beginning too!"

Graduation

Image
Cornell Arts Quad "It's up to you to save the world.  Our generation messed up." said an older person to no one in particular. I graduated in 1982 with a degree in Chemistry.  As is tradition at Cornell, there were no hired inspirational speakers.  The send-off was given -- more appropriately, I think -- by the then university president Frank H.T. Rhodes.   The economy was in rough shape, but President Rhodes nevertheless emphasized the importance of setting great goals and finding meaning in service and leadership. I found a portion of his speech in the NY Times .  My graduating class had 4,200 students, and President Rhodes was a distant figure.  Yet, we were separated by one degree. One summer, I had a job at Uris Library doing general inventory, cataloging, and shelving.  I learned this library was steward to a very special collection: all the issues, from number one with Marilyn Monroe on the cover, to the present, of Playboy Magazine....

On The Internet, No One Knows You’re A Targ

Image
A recent project had me fitting my Mazda3 with a cloaking device.  The  goal was just to learn, as speeding without being seen is arguably more dangerous than speeding while visible. Here is a photo sequence of the cloaking device in action.  There was absolutely no photoshop trickery! Photo 1: Mazda3 Photo 2: So'wI' chu'  (Engage cloaking device) Photo 3: Qapla'! (Success!) The most difficult part of this project wasn’t the installation, although I did need special tools, including a phase coil resonator.  Nor was it the additional power requirements; I simply advanced the engine’s spark timing and switched from regular gasoline to premium.  No, the difficult part was locating the parts.  eBay and Craigslist were dead ends.  Inquiries on various car forums went unanswered.  And I sniffed around several junkyards to no avail.  The last junkyard search ended like all the others — in...

Goose-y Ways (Google, Siri, Waze)

Image
This post is not about the migration of geese.  Rather, it's about the migration of humans who use Google Maps, Siri (Apple Maps), and Waze. Google Maps, my preferred app, recently went squirrelly on me, suggesting routes that didn't make sense.  It recovered the next day, but the episode was enough to make me reconsider Waze and Apple Maps. Waze filled in admirably, but it was not without its quirks.  I liked that I could send my route and ETA to someone I intended to pick up. Waze would also automatically text the person when I was about five minutes away. The very social nature of Waze, however, makes the screen busy.  While Google Maps can be summed up as no nonsense cartography, Waze has a whimsical side.  I don't use Waze's options to report accidents, police presence, or red light cameras.  Once you begin reporting hazards on the road, you become that hazard on the road.  When my son is in the passenger seat though, he freely ...

Evolution Of A Roach

Growing up in New York City gave me plenty of opportunities to observe roaches.  I remember the first ones I saw run away from me in a straight line.  Despite their speed, they were easy to chase down and step on. A later generation of roaches learned to zig-zag as they tried to escape.  Those were much harder to catch. Then there were the roaches I spotted on the wall.  They were fairly easy pickings, but a later generation startled me.  As I closed in for the kill, they let themselves fall to the floor and then scurried away.  Their ability to learn and evolve was little bit frightening. I was a child then, and now, as an adult living in the suburbs, haven’t seen a roach in quite a while… until recently at Grand Central Station.  That day, like all the days before, morning commuters slowly, quietly, somberly, shuffled off the train toward their places of work.  But the woman in front of me suddenly broke stride and jumped and tw...

Ohio LinuxFest 2015

Image
This is a shout out to Ohio LinuxFest 2015 .  On October 2-3, they will have their thirteenth annual gathering to talk all things Linux.  It takes place in Columbus Ohio at the downtown convention center. The first time I attended was back in 2008.  It was free, so I made the 10 hour drive from NY to Ohio. It was worthwhile and I attended again in 2011, but as a “supporter” contributing $25 to the cause.  I learned much. Last year, 2014, I had the nerve to attend as a speaker and gave a talk: “Stupid Shell Tricks” I had the after lunch sleepy crowd, and the organizers gave me the “big” room to fill.  At first, not many showed up and that made me nervous. But as the start time neared, more people showed up, and well… that made me nervous too  (sorry for the blurry photo, but my hands were shaking). My presentation and demos were driven off a raspberry pi with a Lego enclosure: And once I started, I grew confident.  My secret...

XO: SO-SO future

Image
When I first learned of the One Laptop Per Child program 2 or 3 years ago, I was very, very skeptical. A $100 laptop for kids in developing nations? Meh. Don't children in developing nations have more important needs? But on second thought, there already were many organizations addressing those needs. Perhaps it is a good thing one group tries a different tack.  So in November 2007, I signed up for the OLPC Give-One Get-One program.  That I could explore a new piece of hardware running Linux appealed to the geek in me.  That my then 7 year old son would benefit from the XO appealed to the father in me.  And that an XO  would be donated to a child in a developing nation appealed to the "do a good deed" in me. But after winning me over, the future of the XO laptop seems cloudy. With several departures of key OLPC employees and the replacement of Linux with Windows XP , it appears that OLPC has lost its way.  It's not that the  children care whe...

Eyeing the iPhone

I've always wanted a phone without a keyboard, and HandSpring actually delivered one back in 2001: http://palmaddict.typepad.com/palmaddicts/2005/08/treo_with_a_vir.html But it didn't sell as well as the version with the keyboard, and as a result, HandSpring never evolved its design for a keyboard-less phone. Instead, that path was taken by Apple and has led to the much coveted iPhone . I confess that I am among those who covet the device, but I have hesitated in buying one. It's not the price, as I feel the hardware and technology is worth it. It's the 2 year commitment to AT&T that gives me pause. Coverage for the areas I frequent is spotty and I would certainly lose coolness points as I run to just the right spot in the office and start speaking loudly to overcome a bad connection. Sadly for me, the iPhone on the AT&T network would be too much like driving a Lamborghini on a pot-hole ridden road.