Bird vs. Drone

This has been floating around for a while, but here’s the French military training golden eagles to take down drones:

Badass. Although the strategy seems a bit unscalable. I mean, who brings a BIRD to a drone fight?? Terrorists can easily make a bigger drone, but a divine creator can’t exactly hand the French Army a larger eagle. Plus, it took a team of 100 people just to train four eagles! Wouldn’t it have been faster to hand those hundred people some sniper rifles?

I’m not surprised to see such silliness from France. Ever since Napoleon’s defeat at Waterloo, that country has demonstrated the military competence of a bag of beans. But here we have the Dutch Police doing the same thing!

Come on Netherlands, get it together and pay for some real fighter planes. This is exactly how you people lost the East India colonies to Japan.

So while continental Europe is reenacting La Cage aux Folles on the battlefield, the US Army shows the world the how a real military gets things done. Here’s the Patriot Missile Defense System, which we recently used to shoot down an enemy drone:

Patriot missile! That’s right, we shot a $3.4 million radar-guided ballistic missile into a $200 commercial drone that you can buy on Amazon. That’s economic stimulus in action! Take that, ISIS drone! America, F— Yeah!

Is Europe convinced that it needs to pay us for military defense yet? Either way, let’s hurry up and get those $400 billion F-35 fighters out the door. These victory banners aren’t going to tow themselves, you know.

The Bitcoin Backlog

I’m going to pick on my colleagues over at Bloomberg Tech and their allegations that Bitcoin is suffering some sort of backlog. You guys are wrong! Bitcoin is doing just fine.

Complaining about a Bitcoin transaction backlog is like complaining that Ebay has a backlog because 90 people bid on a Honus Wagner baseball card and only one person got to win. I could bid a penny on Honus Wagner all day long, and still not get a card. That’s not a backlog; that’s just a crappy offer price.

See, a sad fact of capitalism is that goods and services cost money. Processing a bitcoin transaction is a service that miners perform in exchange for money, which they need to pay their electricity bills. Did bitcoin users presume that the network is a public service run by benevolent cryptoanarchists?

Transaction fee per kB (BTC/kB)

Bitcoin transactions are priced by size, like, BTC/kB. Transactions vary in size because you can combine multiple inputs and outputs and add programmable instructions. But a one-input-one-output transaction is about 192 bytes, and a reasonable fee for that transaction might be about 0.0002 BTC, or 25 cents. The fee is the same whether the transaction value is a million dollars or a nickel.

So here we have Roger Ver complaining that he paid $78 for his bitcoin transaction. Right, the transaction contained 416 inputs, so it was effectively 416 transactions squashed into one. 18.75 cents per transaction is not bad! And this is irrelevant, but the total transaction value was 32.5 bitcoin, or about $39,000. $78 is effectively a 0.2% transaction fee!

Transaction fees have gone up recently, but overall transaction costs have stayed the same. Decreased, even. The cost of a transaction is what miners receive for including a transaction in a block. That’s the fixed block reward plus a fee from the user. The block reward is the creation of new bitcoins, which is effectively inflation, so people don’t really think about it, but it’s still a cost. Block rewards decrease by 50% every four years, and the last decrease was last July, so transaction fees had to increase to compensate. The good news is that the inflation rate has gone down.

Average Cost per Transaction (block reward plus transaction fees, divided by number of transactions)

The bigger issue is that people don’t understand how to calculate bitcoin transaction fees, so they submit cheapskate transactions and get all confused when miners don’t want to include them. Here is a pretty good tool for estimating transaction fees and expected wait time. A lot of the wallet software out there sucks and doesn’t do this for their users. Bitcoin could stand to be more user-friendly.

Finally, transaction fees are denominated in BTC, but people whine about them in dollars. Even if the transaction fees haven’t gone up much in terms of bitcoin, the dollar-denominated price of bitcoin has increased by a lot, so the transaction fees look a lot higher these days when considered in dollars. But it’s not Bitcoin’s fault that your stupid fiat currency can’t hold its value.

See Also:
Someone Wants to Stick a Fork in Bitcoin –BloombergView

California, the Poverty-Stricken State

California has the highest poverty rate in the nation, after factoring in the cost of living. And just like the 19th century pioneers trailblazed west in search of a better life, dispossessed Californians are migrating east to, uh, do the same. Manifest Destiny!

For the last decade, California’s low-income residents have been leaving mostly for Texas, but also to neighbor states like Oregon, Nevada, and Arizona. At the same time, wealthier people move in from the east. From the Sacramento Bee:

The jobs with the biggest net loss to other states from 2005 through 2015 were cashiers, cooks, truck drivers, material movers, retail sales reps and customer service reps. Those jobs alone accounted for a net loss of 200,000 California workers.

The professions with the highest net gain from other states? Software developers and physicians.

Ordinarily, when salaries rise for jobs that see increased labor productivity, the salaries for surrounding jobs rise as well. Service and transportation-sector employers have to provide competitive wages, or all their workers will quit and go work at Google (see also: Baumol effect).

But wages outside of tech jobs aren’t keeping up. There’s such huge income disparity between the San Francisco Bay Area and the Central Valley that people in poorer parts of the state will commute for hours to take advantage of slightly better opportunities in the city. Then we end up with sad stories of Uber drivers who sleep in parking lots during the week, and return to their hometown 3 hours away on the weekends. Same with shuttle bus drivers for tech companies.

Central Valley: Farmland and poor people.

I wonder if we’ll eventually reach some sort of equilibrium where the low-wage laborers have all left for Texas, and the only people left in California are rich people and robots. Silicon Valley would love that.

Technical Interviews From the 1960s

Hey kids! Wanna get a job as a programmer? Here are some questions from a Programmer Aptitude Test that IBM uses to screen job applicants.

Yes that’s right, they’re asking you to match shapes. It’s like those exams they used to administer in primary school to determine which children needed special attention. Here are some word problems:

8th grade algebra, right? And I’m talking 8th grade public school here; fancypants private schools probably teach this stuff to their kindergarteners.

The IBM Programmer Aptitude Test is from 1960 (? I think. It’s tough to read the date on the mimeograph). Is it just me or have technical interviews gotten much harder? Today’s interviews involve tasks like determining whether a binary search tree is balanced— Oh wait, wrong kind of interview.

Seriously though. I interviewed for a programmer job at Facebook several years ago, and one of the questions I got was, “Given a set of obstacle coordinates, write a function that finds the shortest path between two cells for a knight on a 3-D chessboard while avoiding the obstacles.”

Bear in mind that this is a company that makes all its money selling ads. I remember this question because it was one of the few that I managed to solve. Probably a half-dozen others ended in fumbles. Not surprisingly, Facebook didn’t give me an offer. I’ve never interviewed at Google, but word on the street is that Google interviews are even worse.

Tech interviews have undergone some massive difficulty inflation since the 60s. I blame immigration. Prior to 1965, a high-school graduate could land a decent programmer job by demonstrating a basic ability to recognize shapes. Then the Hart-Celler Act was passed, which not only repealed the prohibition on Asian immigrants, but also removed the quota system that prioritized northern and western Europeans. Now we have the finest technical talent flooding in from the East and the Far East to compete for jobs, and the bar has been raised to stratospheric levels. My future descendants might be flipping burgers, if the robots don’t get there first.

See Also:
IBM Programmer Aptitude Test — Take the entire test! If you do well, invent a time machine and go back to 1960 to get a job at IBM!
Technical Interview Questions for Equal-Opportunity Employers

Happy International Women’s Day!

The male-dominated field of software engineering was once the domain of women. Early computer stuff was considered a form of clerical work, like data entry or switchboard operation. Prior to the Equal Pay Act of 1963, gender-based wage discrimination was both legal and socially acceptable, thus employers hired women to fill the ranks of low-skilled labor at bargain bin rates. (If today’s gender pay gap allegations are true, why aren’t tech companies taking advantage of this good deal?)

1950s and 60s computer programmers were also known as computer “feeders”, because the programmers fed data into a machine (“data feeds”). The job involved taking a flow chart, translating it into logic operations, looking the operations up in a machine language table, and punching the corresponding machine codes into cards.

Here is your assignment. Your boss is likely a systems analyst.

Translated into logic operations.

Resulting machine code.

As a mathematician at Remington Rand, Dr. Grace Hopper realized that computers would see wider adoption if they weren’t such a pain to program. She recommended that a new programming language be developed using English words. Her employer dismissed the idea, insisting that computers were machines of math.

You know the quote “It’s easier to ask forgiveness than it is to get permission”? That came from Grace Hopper. She created her own English-like language anyway, and called it FLOW-MATIC because it described flow charts. FLOW-MATIC was later expanded into COBOL (COmmon Business-Oriented Language).

More importantly, Dr. Hopper created a tool that could convert the new programming language into machine code, and thus invented the compiler. With this invention, computer-feeding jobs were automated out of existence. Software’s carnivorous rampage had begun, and women programmers were its first casualties.

Pre-Compiler Programming Tools for the UNIVAC I:

Stencil for drawing flow charts

See Also:
Univac FLOW-MATIC, 1957