A thread on HN about bad code in legacy projects both makes me think how little we've learned as a discipline over the years and, honestly, how little credit we give ourselves for some pretty major

Fun going down this list and thinking: "Hmm, plausible at a well-run modern software shop", "Hmm, possible, but requires implausible tradeoffs", "Literally disallowed by languages", and "If you were to attempt doing that our test suite wouldn't let you merge."
I think we as an industry celebrate (not quite the right word) failure too much and don't celebrate success nearly enough. There is no DailyWTF for competent execution, word of which generally stays pretty local to the source while incompetence passes into legend.
Alrighty let me try to thread the needle on being the change I want to see in the world while not giving away anything that will get me in trouble:
Ruby has wonderful developer ergonomics. Typed languages are easier for machines to guarantee the correctness of. We built a type checker for Ruby (and I believe it is slated for OSS release sometime).

c.f. https://t.co/S5XIDxFUrH
We have an infrastructure at work which allows one to specify an invariant about not just code but e.g. objects or the environment and then have a range of response options if that invariant changes.

(Parallel evolution of code: I wrote a less-well-specified one at last gig.)
Git, continuous integration, and workflow-driven mandatory code reviews are all younger that the Joel Test, at least insofar as them being common features of median-sophistication engineering shops.
It is not astonishing to start a new engineering job in 2018 and have a developer environment which reasonably approximates the production environment available on one's laptop or tested, repeatable ways to spin up and spin down a new server w/o "build it by hand."
It is highly likely that a service which is hard down learns of that fact faster than Twitter can apprise them of it, assuming that service is operated in a professional fashion.

At risk of stating the obvious: this is a relatively novel development.
The industry has decisively adopted:

* a single, common encoding for almost all human languages
* a single, parseable, human-readable data interchange format
* a default protocol for information transport
You can round to "Any new application talking to any application written by a competent team in last 10 years will be talking to it over an encrypted link which neither side had to think deeply about because the technology is reliable, ubiquitous, and uncontroversially legal."
While it's not literally the case that you could replicate an entire modern software company's deployment for zero dollars in software licenses, that can almost round to true, due to the pervasive use of OSS.

This is very good for learners.
You can get a full development environment capable of doing Hello World spun up in your well-supported language of choice in, almost certainly, less than ten minutes of effort (contingent on you using a Mac, sadly).
The majority case for libraries, APIs, and file formats of interest to you will overwhelmingly be "If you Google the thing you want you get exactly what you need very, very quickly."

More from Patrick McKenzie

I like this heuristic, and have a few which are similar in intent to it:


Hiring efficiency:

How long does it take, measured from initial expression of interest through offer of employment signed, for a typical candidate cold inbounding to the company?

What is the *theoretical minimum* for *any* candidate?

How long does it take, as a developer newly hired at the company:

* To get a fully credentialed machine issued to you
* To get a fully functional development environment on that machine which could push code to production immediately
* To solo ship one material quanta of work

How long does it take, from first idea floated to "It's on the Internet", to create a piece of marketing collateral.

(For bonus points: break down by ambitiousness / form factor.)

How many people have to say yes to do something which is clearly worth doing which costs $5,000 / $15,000 / $250,000 and has never been done before.
So the cryptocurrency industry has basically two products, one which is relatively benign and doesn't have product market fit, and one which is malignant and does. The industry has a weird superposition of understanding this fact and (strategically?) not understanding it.


The benign product is sovereign programmable money, which is historically a niche interest of folks with a relatively clustered set of beliefs about the state, the literary merit of Snow Crash, and the utility of gold to the modern economy.

This product has narrow appeal and, accordingly, is worth about as much as everything else on a 486 sitting in someone's basement is worth.

The other product is investment scams, which have approximately the best product market fit of anything produced by humans. In no age, in no country, in no city, at no level of sophistication do people consistently say "Actually I would prefer not to get money for nothing."

This product needs the exchanges like they need oxygen, because the value of it is directly tied to having payment rails to move real currency into the ecosystem and some jurisdictional and regulatory legerdemain to stay one step ahead of the banhammer.

More from Tech

The YouTube algorithm that I helped build in 2011 still recommends the flat earth theory by the *hundreds of millions*. This investigation by @RawStory shows some of the real-life consequences of this badly designed AI.


This spring at SxSW, @SusanWojcicki promised "Wikipedia snippets" on debated videos. But they didn't put them on flat earth videos, and instead @YouTube is promoting merchandising such as "NASA lies - Never Trust a Snake". 2/


A few example of flat earth videos that were promoted by YouTube #today:
https://t.co/TumQiX2tlj 3/

https://t.co/uAORIJ5BYX 4/

https://t.co/yOGZ0pLfHG 5/

You May Also Like

A THREAD ON @SarangSood

Decoded his way of analysis/logics for everyone to easily understand.

Have covered:
1. Analysis of volatility, how to foresee/signs.
2. Workbook
3. When to sell options
4. Diff category of days
5. How movement of option prices tell us what will happen

1. Keeps following volatility super closely.

Makes 7-8 different strategies to give him a sense of what's going on.

Whichever gives highest profit he trades in.


2. Theta falls when market moves.
Falls where market is headed towards not on our original position.


3. If you're an options seller then sell only when volatility is dropping, there is a high probability of you making the right trade and getting profit as a result

He believes in a market operator, if market mover sells volatility Sarang Sir joins him.


4. Theta decay vs Fall in vega

Sell when Vega is falling rather than for theta decay. You won't be trapped and higher probability of making profit.
दधीचि ऋषि को मनाही थी कि वह अश्विनी कुमारों को किसी भी अवस्था में ब्रह्मविद्या का उपदेश नहीं दें। ये आदेश देवराज इन्द्र का था।वह नहीं चाहते थे कि उनके सिंहासन को प्रत्यक्ष या परोक्ष रुप से कोई भी खतरा हो।मगर जब अश्विनी कुमारों ने सहृदय प्रार्थना की तो महर्षि सहर्ष मान गए।


और उन्होनें ब्रह्मविद्या का ज्ञान अश्विनि कुमारों को दे दिया। गुप्तचरों के माध्यम से जब खबर इन्द्रदेव तक पहुंची तो वे क्रोध में खड़ग ले कर गए और महर्षि दधीचि का सर धड़ से अलग कर दिया।मगर अश्विनी कुमार भी कहां चुप बैठने वाले थे।उन्होने तुरंत एक अश्व का सिर महर्षि के धड़ पे...


...प्रत्यारोपित कर उन्हें जीवित रख लिया।उस दिन के पश्चात महर्षि दधीचि अश्वशिरा भी कहलाए जाने लगे।अब आगे सुनिये की किस प्रकार महर्षि दधीचि का सर काटने वाले इन्द्र कैसे अपनी रक्षा हेतु उनके आगे गिड़गिड़ाए ।

एक बार देवराज इन्द्र अपनी सभा में बैठे थे, तो उन्हे खुद पर अभिमान हो आया।


वे सोचने लगे कि हम तीनों लोकों के स्वामी हैं। ब्राह्मण हमें यज्ञ में आहुति देते हैं और हमारी उपासना करते हैं। फिर हम सामान्य ब्राह्मण बृहस्पति से क्यों डरते हैं ?उनके आने पर क्यों खड़े हो जाते हैं?वे तो हमारी जीविका से पलते हैं। देवर्षि बृहस्पति देवताओं के गुरु थे।

अभिमान के कारण ऋषि बृहस्पति के पधारने पर न तो इन्द्र ही खड़े हुए और न ही अन्य देवों को खड़े होने दिया।देवगुरु बृहस्पति इन्द्र का ये कठोर दुर्व्यवहार देख कर चुप चाप वहां से लौट गए।कुछ देर पश्चात जब देवराज का मद उतरा तो उन्हे अपनी गलती का एहसास हुआ।