Posts

Showing posts from 2019

Programming Languages I've Loved and Hated

Image
Upon encountering various programming languages during my career, some appealed to me instantly, while others left me cold.  I never really understood why, but perhaps by writing about them, I can discern a pattern.

PL/C: This was the first language I learned.  Structured, imperative, and procedural, PL/C was Cornell's teaching variant of PL/1, and the language shaped much of my thinking.  It was a good language, and I liked it, but it was also an academic language and one I would never see or use again.

Basic (IBM PC): It was hate at first sight.  The language relied on line numbers, needed GOTOs, and was interpreted. But it was early in the PC days and I had to use it if I wanted to do anything useful.  In time, Basic became a compiled language and eventually evolved into Visual Basic for Windows programmers.  But even then, the first version of Visual Basic did not directly support arrays, an omission that convinced me that Basic would forever be a dumbed-down language.

8088 Asse…

Post Processing: Hiring, Microsoft, Einstein, Google Fi, and Linux

I explored how tech hiring was broken in two previous posts: The Best Selling Tech Book On Amazon Is ... and Alternatives to the Whiteboard. An article from CNBC adds to the story.  Historically, the Google hiring process required six to nine months and 15 to 25 interviews, but learning the lesson of diminishing returns, Google has adopted the "Rule of Four."

In the post Git-Hub Hub-Bub, I wrote how Microsoft, under Nadella, is different and better than when it was under Ballmer.  Microsoft continues that trajectory as written in Bloomberg's The Most Valuable Company (for Now) Is Having a Nadellaissance.  Most telling is Nadella's mature reaction to a $1 trillion valuation: "... not meaningful" and any rejoicing about such an arbitrary milestone would mark "the beginning of the end."
The figurines Albert Einstein and Homer Simpson sat together on my shelf for a few years.  Every now and then, I wondered what they would say to each other if they ha…

Bookshelf Classic: More Programming Pearls

Image
If you were to judge a book by its cover, you would, from the image of the keyboard, conclude this book is old.  If you were to judge this book by what's inside, you would conclude likewise because the examples are written in C and Awk.  But were you to look deeper, you would see that these are no ordinary pearls.

Jon Bentley wrote a regular column for the Association for Computing Machinery (ACM) and his essays were collected into two of books: "Programming Pearls" and "More Programming Pearls."   The first book focused on speed and efficiency, while the second book covered that and more, including debugging, I/O, and enlightening "Aha!" moments.

Because these essays were originally written for a monthly magazine, Bentley recommends taking it slow, reading one column per sitting, and trying the exercises.  Thankfully, he doesn't leave you hanging, and provides answers at the end of the book.  Chapters 5 thru 8 are the exception and can be read i…

LuldCalc Live at the App Store

Image
LuldCalc is live at Apple's App Store.  Designed for traders and stock exchange operators, it calculates the upper and lower price bands given a stock's price.  Search "Luld" on your iPhone's App Store.
The tables here summarize the rules involved in the calculations.  More details can be found the luldplan website.


Apple requires a privacy policy for all its apps. Simply put, LuldCalc is a stand-alone calculator, does not collect personal information, and does not connect to the internet.

Privacy PolicyThis privacy notice discloses the privacy practices forwww.ytechnology.com. This privacy notice applies solely to information collected by this website. It will notify you of the following:

1. What personally identifiable information is collected from you through the website, how it is used and with whom it may be shared.
2. What choices are available to you regarding the use of your data.
3. The security procedures in place to protect the misuse of your information.
4…

Estimates Are Not Deadlines

Image
A friend posted this image, and naturally, I laughed.  I shared it with other friends, and they laughed too.  That this situation was so widely recognized, however, made it cause for crying rather than for laughing.

Stating the obvious, estimates are not deadlines, and buffers -- proper spacing between milestones -- are needed for good  project management.  In practice, this advice is lost, and the result is bad software.

Failure to implement buffers ignores the unexpected: people leave, requirements change, a show-stopping bug is found. Without buffers, one unexpected problem cascades to all the milestones downstream.

Some project managers play it "close to the vest."  They really do have buffers in the schedule, keep them a secret, and hope the developers continue to work hard to meet the original deadlines.  The hazard here is that the developers will make (unnecessary) compromises to meet them.

"Do we have time to add an extra field in the database record for faster…

Einstein meets Homer Simpson

Image
Einstein: So Mr. Simpson, what makes you say the universe is shaped like a doughnut and is expanding?  Homer: Mmmm, expanding doughnut. Einstein: Do you think the expansion is due to dark matter and dark energy? Homer: Dark matter? Oh, you mean chocolate. There's lots of energy in chocolate. Einstein: Hmmm, chocolate? Homer: Mmmm, chocolate.

Pi and Free Will

Image
Pi day (3/14) was 10 days ago, and my blog post is late.  Modern scientists tell us, however, that there is no such thing as free will, and that my lateness was pre-determined, unavoidable, and thus arguably, "not my fault."

The "no free will" thought experiment goes as follows: imagine we are all physical systems where every interaction can be known and measured.  Given enough data and computational ability, identifying cause and calculating effect delivers predictable outcomes with 100% accuracy. 

If we accept determinism, that our lives from birth to death have already been set, where does our moral responsibility go?  Why try at all?

The Atlantic wrestles with these questions in There's No Such Thing as Free Will (But we're better off believing in it anyway). The sub-heading gives it away, indicating that scientists have publicly walked back their argument, "Ha ha, we were just trolling all of you," but privately still think we have no free wi…

Bookshelf Classic: Programmers At Work

Image
Where did that idea come from? How difficult was it to bring the idea into reality? What does it feel like to develop a major program?

Susan Lammers interviewed 19 programmers along these lines to capture and understand what spawned the microcomputer industry.  With such an eclectic group (click on cover image), Lammers touched on the popular platforms, languages, and applications of the day, including CP/M, BASIC, and VisiCalc.  She also explored the boundaries where programming met music, mathematics, and gaming.

One of my favorite quotes in the book came from the  conversation with Bill Gates where he talked about "technical inversions":

GATES: The old rule used to be that a manager of a programmer was always a better programmer, and there were no what we called "technical inversions," where a programmer works for somebody who doesn't know how to program. We still follow that philosophy: At certain levels we've got business managers, but we don't have…

Limit Up Limit Down Calculator in Beta

Image
Limit Up Limit Down Calculator in Beta Luldcalc is an iOS app I wrote to calculate price bands in accordance to the rules put forth by the LULD Committee: http://www.luldplan.com/index.html

In addition to being a basic calculator, there are buttons to select tier 1 or tier 2 stocks, and also buttons to double the bands for market open and close.
For Testers A public beta is now available at:

https://testflight.apple.com/join/gWOth57S

The link will introduce you to Apple's TestFlight app which is used to gain access to the beta version of LuldCalc.  You'll need an iPhone running iOS 8 or later.

Install the TestFlight app and you'll find an icon that looks like this:



Open the TestFlight app, and you will be presented with a screen to redeem LuldCalc:



Have fun and let me know your thoughts. Privacy Policy It is more than rude to sell information about you without your permission.  We don't do that and we'll find another way to make a living.

Google FiPhone

Image
When Google Fi first rolled out, what was notable was its pricing scheme.  Paying only for bandwidth you use, the plan was well suited for light to moderate data consumers.  Unfortunately, Google Fi was exclusive to select Android phones, and as an iPhone user, I could only look on with envy... until recently.  Sometime around November or December 2018, Google Fi became available for iPhones, and I was ready to switch from my current carrier, VirginMobile.

When I signed on with VirginMobile, it started out as a great deal: "unlimited data" for $1 per month for the first 6 months, and then $50 per month thereafter.  The average monthly price over the course of a year came out to $25.50, but the longer I used VirginMobile, the higher the average price would be, and what began as a great deal would eventually become a bad deal, especially for someone who doesn't use much data.

Moving to Google Fi was mostly a matter of ordering the sim card, having an unlocked phone, and c…

The 2012 Acura TSX Wagon

Image
It's not unusual for computer people to also be car guys and gals.  Cars are another form of hardware to explore, test, optimize, and modify.  My TSX Wagon review below first appeared on Edmunds' enthusiast car website under "InsideLine: Readers' Rides."  Edmunds have long since changed their format and the article is no longer there.  I am republishing it here with a few updates.






First Impressions
My wife tells me the first thing women notice about men are their shoes. Shoe size not withstanding, she explains that the kind of shoes, and the condition they're in, say a lot about who a man is, and hint at what he hopes to be.

The shoes on our base trim 2012 Acura TSX Sport Wagon are 17 inch Michelin Pilot HX MXM4. In the Michelin lineup, these tires slot between the MXV4, which lean toward comfort, and the Pilot Sport A/S, which are geared for performance. Does this wagon live up to its luxury sport aspirations?

On the outside, the wagon's overall look is s…

Alternatives to the Whiteboard

Image
Quincy Larson, a teacher at freeCodeCamp, wrote an excellent post on Medium, Why is hiring broken? It starts at the whiteboard

Inspired, I wrote my own essay about the whiteboard problem and shared it on Medium back in May 2016.  I've reproduced it here partly for posterity, and partly because hiring software developers is still a broken process and worthy of discussion.  See my December 2018 post The Best Selling Tech Book on Amazon Is ... for more thoughts about this.



A long time ago, when I applied for my second software development job after college, I was thrust in front of whiteboard and asked to code a rudimentary strcpy() function. I felt uncomfortable, with one hand grasping a marker, and the other hand — fingers really — improvising as an eraser.

I wasn’t doing very well, as one interviewer looked unimpressed. The other, however, apparently saw something more in me, and put me in front of his PC and fired up the editor. I took to it like a fish took to water. And I got th…

Donald Ka-NOOTH and the Art Of Computer Programming

Image
Anyone involved in computer programming should be familiar with the works of Donald Knuth (the K is hard and the name is pronounced Ka-Nooth).  If not, the New York Times can remedy that, having recently published a profile on Knuth titled The Yoda of Silicon Valley.
Wise he is.  Show he does, the dark and light arts of algorithms:
Volume 1: Fundamental Algorithms Volume 2: Semi-numerical Algorithms Volume 3: Sorting and Searching Volume 4A: Combinatorial Algorithms
A very important concept, however, can be found in the title.  While students study computer science, Knuth reminds us it's still an art.  In that sense, I would compare his books to the collected works of Shakespeare -- creative, insightful, but difficult to read and better understood in a study group or book club.  Whether Knuth or Shakespeare, their works are rarely read in their entirety, but their impact can still be felt throughout society.
Programming is a science, but it is apart from the natural sciences like…

A New Battery for an Old MacBook

Image
The trackpad felt firm and did not click readily.  Channeling Sherlock Holmes, I deduced the culprit was a slightly swollen battery pressing up from underneath.  Well, that and an alert ⚠️ on the menu bar clued me in that it was time replace the battery.

A trip to the local Apple Store confirmed my findings.  But Apple couldn't replace the battery because they didn't repair machines older than five years (something about keeping parts in stock).  My MacBook Pro was a late 2012 model, or six years old.  The Apple Tech referred me to a third party authorized repair center, but in that moment, I decided to try the DIY route with iFixit.

On their website, I looked up my model and purchased the appropriate battery, along with the Apple specific tools I needed to complete the swap.  I also found well written tutorials, a difficulty rating, and feedback from other do-it-yourselfers.  This battery replacement was easy and at $102.89, cost effective.

My MacBook Pro now has power to wa…