The Market Ticker
Commentary on The Capital Markets- Category [Technology]

Oh I know -- you have to have it.

The screamfest when it disappeared off BlackBerry phones was epic.  It has continued to this day.  What did BlackBerry know that you didn't want to admit?  Was it that this software still had unresolved security issues?

What's worse is the number of content publishers who still use this crap, years after zero-day exploits are found that compromise people's data and machines. Now we have another one, and this one was under active exploit by the so-called "Hacking Team":

As it promised on Tuesday, Adobe has issued an emergency update for Flash Player to patch a zero-day vulnerability whose existence came to light after hackers breached the systems of surveillance software maker Hacking Team.

The Flash Player vulnerability (CVE-2015-5119), related to the ActionScript 3 ByteArray class, allows a remote, unauthenticated attacker to execute arbitrary code on vulnerable systems. Cybercriminals integrated the flaw into the Angler, Neutrino and Nuclear Pack exploit kits shortly after its existence came to light.

Why does software that has a history of serious problems such as this continue to exist?  Why do companies that produce software like that continue to get a pass?

I don't get it.

Oh wait; I do get it -- you demand your flash content and content publishers don't give a good damn about security either, particularly your security, and so they keep using it.

You let burglars into your computers on a continual basis and you keep supporting (by watching, consuming, etc) those who are publishing in this format!

Never mind the company producing that security-hole-ridden software....

View this entry with comments (registration required to post)
 

This made me sick to my stomach to read.

Code has atomized entire categories of existence that previously appeared whole. Skilled practitioners have turned this explosive ability to their near total benefit. Bookstores exist now in opposition to Amazon, and Amazon’s interpretation of an electronic book is the reference point for the world. For its part, Amazon is not really a bookseller as much as a set of optimization problems around digital and physical distribution. Microsoft Office defined what it was to work, leading to a multidecade deluge of PowerPoint. Uber seeks to recast transportation in its own image, and thousands more startups exist with stars in their eyes and the feverish will to disrupt, disrupt, disrupt, disrupt.

I've been writing software since approximately 1976.  I began with Fortran-66 and one of these:

Yes, for real, one of those.  No bull****.

My first "real" program that did a real thing?  A subroutine that played the game Battleship.  I'm not kidding; the control cards that went in front of the deck called the main routine from drum storage, which was the "referee."  You and another player stuck your decks in with those control cards in front, and shortly thereafter the referee ran both and produced for you (on green-bar paper!) each of your subroutine's moves and the results.

My deck was close to 6" thick when I got done with it.

Next up was this:

But I really didn't do much of note with it; it was the Tandy line, which were Z-80 based instead of 6502 (incidentally, not only Commodore but the Apple II was based on the 6502 processors) that really got me into "hard-core" coding. 

My first "real" piece of code on the Tandy machine was my decision to 're-implement' Space Invaders -- the arcade game.  It took six months; the assembler had to be loaded from cassette tape, as did your code -- there were no disk drives of any sort, floppy or otherwise.

Since then I've written and supervised the implementation of dozens, even hundreds of pieces of code.  Some simple, some not-so-simple.  Some were control systems for entire national networks of machines, others more-local, still others database drivers and similar.  The software that animates The Market Ticker, called AKCS, is actually the third ground-up implementation of a discussion-based environment -- the first being on the aforementioned TRS-80, the second being on Unix, and the third here.

If you manage to slog through that long piece by Paul Ford you might be shocked to realize that most of what people talk about as "coding" really isn't.  It's analysis paralysis; the ever-present confab in Vegas, Atlanta, NY or wherever where people argue endlessly about this and that.  Just deciding on a platform and implementation parameters can be damn near impossible in many cases.

But it doesn't have to be.

I worked for a "startup IPO" firm for quite some time, and one of the tasks I had as a group manager was implementing a control system to sit on top of another group's software, along with the various infrastructure I was responsible for, and make sure it all was functional, giving the operations people a clean way to see status, drill into it and if necessary dispatch people to fix it.  This was a national system and thus had plenty of challenges; the architecture was such that it had to be doubly-redundant to each node with the backup only operational if the need arose, as lack of connectivity meant lack of revenue.  On the other hand the backup facility was cheap to provision but very expensive to actually use.

We could have spent months in meetings and debates on architecture, but we didn't.  Instead I took upon myself writing about half of the architecture over a long weekend and then coupling in other components.  Call it management by dictator if you wish but it was up and running within weeks, instead of months or years -- and it worked.

MCSNet, my ISP, originally ran on a business management package that was written for general purposes and targeted in an entirely different industry.  It worked very well, but wasn't designed to run an ISP.  As the company grew the limitations got to be more and more-severe, including the lack of a tightly-built credit card billing automation facility complete with its attendant security issues.

So at a given point the decision was taken to reimplement the entire thing.

But Paul Ford's process isn't what happened that time either.

Instead, what happened is that I told Marcus, my #1, that I was going to lock myself in my office for a week, and that unless the building was on fire or some calamity of similar severity was occurring I was not to be disturbed.  Having scoped the problem (since I lived with it daily since the firm was literally "just me" in my apartment!) I was reasonably sure that I could have the framework of a replacement operating within a few days.

Many pots of coffee and little sleep later, that's exactly what happened.

It might not have the most-elegant code in the world but it took what was a fairly serious pain in the ass and reduced it to a nearly-painless process, complete with much-enhanced audit trails and performance.  What once took an hour or so (e.g. new account setup, reactivation if someone paid after being cut off, etc) was reduced to mere seconds.  And while a second redesign would have been inevitable as this was a character mode implementation (the web was young at the time, of course) the second iteration of it used Postgres as its back end -- yes, back in 1998 -- and totaled a mere 35,000 lines of code, all in "C".  Yes, I still have it.

Note that this software ran literally everything on our cluster, including billing customer management, operational control and the like.  Oh sure, there were shell scripts here and there, off-the-shelf components (E.g. SNMP responders) that were plugged into it and a separate accounting package that swallowed the data this thing produced so as to produce ledgers, tax forms and similar, but this nice, compact piece of software ran a multi-million dollar company and its complete computer room full of machines that provided services to well north of 10,000 customers on a daily basis.

Well, you say, that's small potatoes in today's world.  Maybe -- but it did that on hardware that today you carry in your pocket in the form of a Samsung Galaxy phone.  The cluster was comprised of Pentium (yes, the 90Mhz processors!) and Pentium Pro (the 200Mhz sort) machines, all connected together on a switched LAN with the CMS software directing what ran where and when.

I've seen the sort of paralysis in other firms when it comes to "code"; I won't name names because it would simply take me too long to do so.  But I will note that this isn't coding, it's outrageous self-serving bull**** with people that have far too many letters behind their names who seem to think that justifying that sheepskin requires attendance at conferences and blowing other people's money on their personal bonfires.

I'm sorry folks, but it's just not that complicated -- unless you insist on making it that way.

Oh by the way, AKCS, the software that you're using to read this column?

It totals 23,000 lines -- also in "C".

It's just not that hard if you can actually think.

But most people in this so-called "industry", when you get down to it, can't.

View this entry with comments (registration required to post)
 

Main Navigation
MUST-READ Selection:
Why I Find It Hard To Give A F**k

Full-Text Search & Archives
Archive Access
Legal Disclaimer

The content on this site is provided without any warranty, express or implied. All opinions expressed on this site are those of the author and may contain errors or omissions.

NO MATERIAL HERE CONSTITUTES "INVESTMENT ADVICE" NOR IS IT A RECOMMENDATION TO BUY OR SELL ANY FINANCIAL INSTRUMENT, INCLUDING BUT NOT LIMITED TO STOCKS, OPTIONS, BONDS OR FUTURES.

The author may have a position in any company or security mentioned herein. Actions you undertake as a consequence of any analysis, opinion or advertisement on this site are your sole responsibility.

Market charts, when present, used with permission of TD Ameritrade/ThinkOrSwim Inc. Neither TD Ameritrade or ThinkOrSwim have reviewed, approved or disapproved any content herein.

The Market Ticker content may be reproduced or excerpted online for non-commercial purposes provided full attribution is given and the original article source is linked to. Please contact Karl Denninger for reprint permission in other media or for commercial use.

Submissions or tips on matters of economic or political interest may be sent "over the transom" to The Editor at any time. To be considered for publication your submission must include full and correct contact information and be related to an economic or political matter of the day. All submissions become the property of The Market Ticker.