You can lead the life of the mind in industry, too — and enjoy less politics and better pay. You can even get published in journals, if that floats your boat. (After you’ve escaped the mind-warping miasma of academia, you might rightfully question whether Published In A Journal is really personally or societally significant as opposed to close approximations like Wrote A Blog Post And Showed It To Smart People.) Your career is important, and right now it might seem like the most important thing in your life, but odds are that is not what you’ll believe forever. Work to live, don’t live to work.
All I have, for the first time in a long time, is that feeling of mischief, of chaotic good, of rolling down the windows on the first summer night, driving to the party, knowing your crush already is there.
Lately I’ve been feeling sort of exhausted by the familiar dance of idea propagation that manifests over coffees, dinners, Twitter, and parties in my corner of the world. A late friend and gifted programmer once told me his most creative days were spent working in a bookstore. The work wasn’t challenging, but it was meditative, and it gave him space to let his mind wander. Sometimes it feels like I can’t think in here, because people are constantly asking me to externalize my thoughts all the time. I’m not ready to externalize everything I think about. Sometimes it takes years for me to articulate what I’m trying to say. (It took me several months to figure out how to write this post, for example.) While I think my writing has gotten sharper over the years, I also can’t help but feel it’s gotten worse somehow: invoking the things I hear other people say, instead of the things I happened across in dreams, hazy days that slip away at the park, or reading some dumb fiction I found from a free box that I picked up on the side of the road. I’m not sure it’s that I want to disappear from the internet, but just to get some distance between me and the existential “publish or perish” treadmill of mining each others’ brains for pithy insights that fit into 280 characters. Mediocrity is about making an active choice to say “screw it, good enough”: the decision to keep moving forward instead of trying to get that last 10%. At first, I rationalized doing basic (and while I’m at it, degenerate) things as a form of active mental recovery. As one friend phrased it, it’s cross-training your brain to balance out the hypertrophy elsewhere. The irony has not been lost on me that I’ve written a blog post about thinking less.
I Shouldn’t Have to Publish This in The New York Times
The way we regulated social media platforms didn’t end harassment, extremism or disinformation. It only gave them more power and made the problem worse.
This is a false dichotomy because communication is a technical skill. The ability to articulate complex ideas is a hallmark of deep understanding. In other words, they are commended for having to deal with the debris of leftover chaos they usually didn’t create, nor had very much control over. Communication skills allow an individual to understand and be understood. They combine self-awareness, empathy, active listening, speaking, and observing into a cocktail of abilities that grease the wheels of every interaction, but often go undetected. Dissociating communication and technical skills, while seemingly innocuous and even pragmatic, can create a harmful dichotomy, one that stunts corners of the industry. Lexical double-booking let us concentrate rather on explaining to human beings what we want a computer to do. but it also allows incompetence to hide behind unnecessarily intellectualized terminology. Those with strong communication skills are capable of using domain-specific language appropriately while also being capable of context-switching to adapt their message to their audience. Being clear is not about being dumb, but, as Eugenia Cheng said, about identifying a problem with the precision and clarity that is appropriate for the context. The purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise.
and doing things without a sense of traffic flying overhead, feels much better and much more sustainable. mostly, though, i catch myself happy, and i do what Vonnegut tells me to do: And I urge you to please notice when you are happy, and exclaim or murmur or think at some point, ‘If this isn’t nice, I don’t know what is.’ i’m going to bed earlier and earlier; i’m going to bed happier and happier. there is so much to be done it is perfect
Why there is no Hitchhiker’s Guide to Mathematics for Programmers
Unfortunately this sentiment is mirrored among most programmers who claim to be interested in mathematics. Mathematics is fascinating and useful and doing it makes you smarter and better at problem solving. But a lot of programmers think they want to do mathematics, and they either don’t know what “doing mathematics” means, or they don’t really mean they want to do mathematics. Honestly, it sounds ridiculously obvious to say it directly like this, but the fact remains that people feel like they can understand the content of mathematics without being able to write or read proofs. So read on, and welcome to the community. I honestly do believe that the struggle and confusion builds mathematical character, just as the arduous bug-hunt builds programming character. I’m talking, of course, about the four basics: direct implication, proof by contradiction, contrapositive, and induction. These are the loops, if statements, pointers, and structs of rigorous argument, and there is simply no way to understand the mathematics without a native fluency in this language. And so it stands for mathematics: without others doing mathematics with you, its very hard to identify your issues and see how to fix them. And finally, find others who are interested in seriously learning some mathematics, and work on exercises (perhaps a weekly set) with them.
a blogging product without a publish button and create a space for collecting the dots. It’s more common to think of “connecting the dots” but the truth is that you can’t connect the dots you can’t see.
So the answer and idea here is nuanced and more of an “it depends” than anything else. we tend to forget that every single digit represent individual people. If you gathered them in a room, and spoke to each one, you’d probably feel a whole lot different about how large your positive impact is than simply viewing that number in a spreadsheet.
People, in general, are terrible at valuing their time, perhaps because for most people monetary compensation for one's time is so detached from the event of spending one's time. Most time we spend isn't like deliberate practice, with immediate feedback. We focus so much on product-market fit, but once companies have achieved some semblance of it, most should spend much more time on the problem of product-market unfit. Twitter the product/app has hit its invisible asymptote. Twitter the protocol still has untapped potential. The most obvious path to this is Groups, which can subdivide large graphs into ones more unified in purpose or ideology. Google+ was onto something with Circles, but since they hadn't actually achieved any scale they were solving a problem they didn't have yet. In addition, perhaps there is a general limit to how far a single feed of random content arranged algorithmically can go before we suffer pure consumption exhaustion. Perhaps seeing curated snapshots from everyone will finally push us all to the breaking point of jealousy and FOMO and, across a large enough number of users, an asymptote will emerge. Seduction is a gift, and most people in technology vastly overestimate how much of customer happiness is solvable by data-driven algorithms while underestimating the ROI of seduction. just because a given person's product intuition might hit on the right moment at the right point in history to create a smash hit, it's rare that a single person's frame will move in lock step with that of the world. How many creatives are relevant for a lifetime? Pattern recognition is the default operation mode of much of Silicon Valley and other fields, but it is almost always, by its very nature, backwards-looking. One can hardly blame most people for resorting to it because it's a way of minimizing blame In my experience, the most successful people I know are much more conscious of their own personal asymptotes at a much earlier age than others. They ruthlessly and expediently flush them out. One successful person I know determined in grade school that she'd never be a world-class tennis player or pianist. Another mentioned to me how, in their freshman year of college, they realized they'd never be the best mathematician in their own dorm, let alone in the world. Another knew a year into a job that he wouldn't be the best programmer at his company and so he switched over into management; he rose to become CEO. By discovering their own limitations early, they are also quicker to discover vectors on which they're personally unbounded.
As a fair warning to the reader, these primers are a bit more terse than what you’d find in your average textbook. I only introduce the bare minimum required to understand the main content po…
Finishing a paragraph or section gives people a micro-burst of accomplishment and reward. It helps them chunk the basic insight together and remember it for later. You want people to be going – “okay, insight, good, another insight, good, another insight, good” and then eventually you can tie all of the insights together into a high-level insight. Then you can start over, until eventually at the end you tie all of the high-level insights together. It’s nice and structured and easy to work with. If they’re just following a winding stream of thought wherever it’s going, it’ll take a lot more mental work and they’ll get bored and wander off. Deliberate use of parallelism is okay and even commendable. Usually this involves using the same structure to call attention to certain differences. I think this microhumor stuff is really important, maybe the number one thing that separates really enjoyable writers from people who are technically proficient but still a chore to read.
Assume your company is going to be around for 25 years, and treat the first few years accordingly. In other words, give yourselves room to change and grow, and take the lessons you learn during the next few years to heart. If something isn’t working for you, be honest with yourselves and your clients. If something is working well, keep doubling down on it until it doesn’t.
standing in a new kitchen barefoot face full of wind. and each one brought a delight so unexpected and profound, it made me shiver with the delicate aliveness of it all.
by letting go more and more of your idea of what your life should be like, and embracing the possibilities of what it is actually turning out to be like. “Growth” fixation makes you less alive to the realities and possibilities of what's actually happening, and inclined to go into denial or futile activity in response to changes that you cannot undo This is fundamentally why I am somewhere between skeptical to actively hostile towards it. Nothing is as self-limiting as a fixed idea of “growth” imagined by a younger version of you. It is about living life in a way that you might run into versions of yourself you didn’t know were possible. Life intensification philosophies boil down to just two questions: A: will you choose the unexpected more intense versions of yourself you meet along the road of life, and B: what new clothes will you wear if you do?
I believe I can have the highest impact by providing the right education infrastructure to people who are a lot smarter than me and might already work in those fields.
Existentials and universals are [logical] “duals,” which means that one can be transformed into the other without losing its structure. So `AnySequence` is a universal type (generic) that’s equivalent to an explicit existential of `Sequence` (protocol). That’s why when you run into problems with protocols, your solution may be to convert it into generic structs (or vice versa). They solve the same problems in different ways with different trade-offs. And when you see “can only be used as a generic constraint,” what the compiler is really telling you is that protocols with associated types (PATs) don’t have an existential.
We could think of type-level-abstracted return types as doing the same thing but at the type level; you give a function generic arguments as inputs, and it gives a certain return type back. This roughly follows the progression of `impl Trait` in Rust, where it was first introduced only for return types, then was generalized to be able to appear structurally in both argument and return types. We think this is a reasonable first step because it directly addresses the biggest functionality gap in the generics model. After that first step, there are a few fairly orthogonal language change discussions we can have, some of which are already underway
The company is growing fast, adding roughly a million users a month, and it has lofty goals to expand far beyond its old identity as a platform for logging rides and runs. Can it succeed?