Posts

Bookshelf Classic: Selected Writings On Computing by Edsgar W. Dijkstra

Image
  I first heard of Dijkstra from one of his quotes condemning the BASIC programming language: " It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration. " I couldn't help but smile, and while I easily agreed, I wanted to know more about his thinking.  Dijkstra's full essay can be found in his book "Selected Writings On Computing: A Personal Perspective."  See chapter EWD498, or go online .  Titled "How Do We Tell Truths that Might Hurt?" his criticism extended to other languages such as FORTRAN and COBOL, and even to PL/I, a language I sort of liked : "PL/I —'the fatal disease' — belongs more to the problem set than to the solution set." Ouch. Dijkstra's tone was understated humor -- less to make you laugh and more to have you reevaluate some of the norms in computer science. Keep in mind that th

Python Popularity

Image
  If programming languages were an olympic event, the gold medal would go to Python. That's the determination from the 2021 IEEE Spectrum rankings , with Java winning Silver, and C winning Bronze. Python is a versatile language, easy to read and use, with well supported libraries for specialized domains such as networking, embedded projects, machine learning, and scientific modeling. In Spectrum's words, " Python dominates as the de facto platform for new technologies. " IEEE pulls their data from various sources, including their own membership, along with popular sites such as Stack Overflow, GitHub, and CareerBuilder. Unlike other language surveys, IEEE's rankings are interactive. Apply the appropriate filters to identify trending languages in the mobile space, and you would see Swift coming in at #7, and Kotlin at #17.  I was hoping they'd do a little better, but it was still a strong showing. As a way to demonstrate some of Python's code, think of a nu

Bookshelf Classic: The IBM PC Denim Blue Reference Manual

Image
It's August. IBM introduced their PC this month back in 1981, and connected the corporate and hobbyist computing worlds. Shown here are the reference manuals in their classic D-ring binders. I used the denim blue Technical Reference manual the most. It was filled with hardware information covering I/O ports, memory locations, and DIP switches. The most important bit to me, however, was the the ROM BIOS listing. Written in 8086/88 Assembler, it was neat, structured, and copiously commented. Below is a fragment describing how to interact with the keyboard: Keyboard INT 16H Despite the information being clearly written and readily available, IBM PC internals were considered by many as dense and arcane, which made it a natural filter for those seeking jobs programming for this machine; that is, only those who found this material fun and fascinating need apply. Over time, as programming went to higher level languages and turned to the web, knowledge of the ROM BIOS became less important

Post Processing: Getting Meetings Right, iPhone 12 mini Sales, and Android Studio

Image
  Emerging from the conference room, a colleague put two fingers to her temple and mimicked shooting herself. The humor was clear; the meeting ran too long and little was accomplished. Meetings are a rich source of humor, pain, and to a lesser degree, nap time. I wrote The Mandatory "Optional" Meeting back in 2006, but it referenced a meeting that took place in the mid-1980s. It's safe to say that bad meetings have plagued us at least since the corporation was invented, and likely before that. Now, in 2021, as the pandemic subsides and employees return to the office, the subject of meetings has returned to the fore. The New York Times recently published two articles about them:  Meetings. Why?  and  Do Chance Meetings at the Office Boost Innovation? There's No Evidence of It. Yet, despite the awareness that most meetings are unnecessary and poorly run, efforts to improve them mostly fail. The cynic in me suspects there remains, while not a majority, a sufficiently la

AMC: There's A Gremlin In The Stock Market And That's Just Fine

Image
  Second chances. I refer not to the car manufactured by American Motors Corporation, but to the movie theater company AMC Entertainment. Like a gremlin, AMC stock mischievously defied fundamentals hitting a high of $72.62 last week after being left for dead around $2 back in January. Financially,  AMC's second chance comes from deals with professional capital management firms , but the amazing amount of attention AMC garnered can be credited to Wall Street Bets (WSB), a trading group on Reddit. They are often portrayed as rough and tumble individuals, with names like " Deep F-ing Value ," but they aren't too different from the professional traders I've met working as a software developer in New York's financial district. Sometime in the 80s, a few of us were having lunch at a restaurant with a name I can no longer remember. Glancing up, I noticed a jungle of neckties dangling from the pipes and fixtures. The trader explained that it was a tradition here. When

I’m Not The Person YouTube Thinks I Am

Image
  Based on YouTube ads, Google classifies me as an overweight young adult who likes video games but struggles with arthritis. Clearly, Google has me confused with someone else, which is both amusing and a relief. Back in November 2020, I ran a little experiment where I enabled ad personalization for a period of 3 months. I was feeling a little... um...  Grouchy about privacy, and wanted to see if targeted ads hit or miss their Marx . Ads that pegged me as a college student or young adult included Grammarly , Dr. Squatch Soap , and video games. Admittedly, I watched most of the video game ads in their entirety, and by doing so, I likely misled the algorithm to my alleged youthfulness. But then there were ads I found intellectually insulting and wished I could block. They were from Prager U and The Epoch Times, and they would present news and commentary on politics, family, and climate change in a facile and seductive manner, rather than in a thoughtful and sincere way.  Even when I ski

Resource Limits

Image
It is apropos that after Earth Day , my thoughts turn to resource limits on my computers. rlimit is a small utility I wrote for myself decades ago. When introduced to new platforms, whether HP-UX, Linux, Raspberry Pi, or more recently, Apple's M1, rlimit let me get to know the system better. Sysadmins have an array of commands to do likewise, and on large servers, they have offered me detailed profiles and configurations to suit my needs. Still, I preferred a limited programmer's view, at least to start with.  For example, sometimes all I wanted to know was how many files I could have open in a given process, and how much I could increase it programmatically. Below is the code for rlimit , and it compiles on both Linux and MacOS. One improvement would be to display the output in friendlier units other than bytes and micro-seconds.  To build: $ gcc rlimit.c -w -o rlimit I used the -w option to supress the warning of printing  rlim_t as an unsigned long .  To run: $ rlimit Sa