Home | Blog | Projects
Last Updated: 26/Mar/2021

§ Highlights

These highlights were saved & exported using Quoter app.


I upvoted Kenton’s post. He’s the reason Workers exists. Surprised anyone worried about him commenting. I’d only be worried if I were a competitor who pissed him off by publishing BS stats. I’d imagine there’ll be an incredibly thorough and totally unimpeachable benchmarking study that comes out of this. And, anywhere we’re not the fastest, we soon will be. Game on.

You are using a steamroller to press a shirt.

First time founders are obsessed with product.
Second time founders are obsessed with distribution.

Those excavators are there for show while they try to figure out what to do. There is absolutely no chance that 2 guys with excavators are going to dredge out enough of the canal to free the ship, and the canal authorities know this. It there was even shadow of a chance that that might work, then every single excavator in Northern Africa would be on it's way to the canal to dig it out and free the ship. In fact I'd say that if there was even a snowball's chance in hell that that would work, China would be airdropping excavators into the area as we speak.

the best camera is the one that’s with you

Every time you create something – whether it's a website, a client app, a blog post, a powerpoint presentation, or an email – ask yourself, "so what?" If you can't answer that question convincingly, reformulate and try again.

I like being reminded that nobody's going to help me - that it's all up to me. It puts my focus back on the things I can control - not waiting for outside circumstances.

In a stuffy corporate environment, it matters a ton because those titles are often tied to pay grade. Hate to break it to ya though, pay grade is dictated by negotiation skills and a willingness to turn down an opportunity if the salary isn’t what you’re looking for.

Knowing concepts and having your own opinions is great and all but no one likes the guy that has to come in and rewrite everything or is unwilling to work with an existing system properly.

There's a general rule in all startup businesses (and that includes photography): expect to make a loss for the first two or three years while you build up sufficient market visibility (and for a photographer, reputation) so clients are directed to you by former clients or by your marketing material (or both).

If you love your partner, you shouldn’t have to be told to hold hands and watch sunsets together. This stuff should be automatic.

It’s this kind of irrational idealization that leads people to stay with partners who are abusive or negligent, to give up on their own needs and identities, to make themselves into imaginary martyrs who are perpetually miserable, to suppress their own pain and suffering in the name of maintaining a relationship “until death do us part.”

When you ask someone, “Hey, what's your favorite color?” And they respond, “it's blue.” You respond, “oh ok, so it's blue.”

"Don't worry about people stealing your ideas. If your ideas are any good, you'll have to ram them down people's throats." -- Howard Aiken

You should invest in that with the best possible outcome. Right now that is in yourself. Your greatest wealth building tool, at this point, is your future income. As such anything you can do to increase your earnings potential. For some that might mean getting an engineering degree, for others it might mean starting a small business. For some it is both obtaining a college degree and learning about business.

Now, to back up a few steps, what if your boss said no, that week will not work because [whatever.] You do not say "ok, thanks, talk to you later." You say "what week should we choose instead?" And the two of you work out a week that will work.

Most of us want to practice the things we're already good at, and avoid the things we suck at. We stay average or intermediate amateurs forever.

If it sounds like writing, I rewrite it.

If you are telling something and your coworker starts looking at your screen, stop talking and wait until your coworker resumes the eye contact.

You have to move forward a little bit, every day. It doesn’t matter if your code is lame and buggy and nobody wants it.

Send an email to your peers explaining that although you might not agree with reasons, you understand management needs to do what they think makes sense. And that you enjoyed your time together, wish them success

whenever I was laid off, I tried to send out a minimum of ten new contact emails a day. (Longest layoff, two months. Shortest was 14 days.)

You simply aren't a skilled programmer after a few years in college. You need time and time in front of a computer bent over a keyboard. You need hundreds of hard hours hacking.

People who were bullied growing up and go on to become the smartest, nicest, and most interesting dude at the company Christmas party, yet they still harbor this overwhelming sense that nobody really likes them, that it’s all fake and unreal and unearned and undeserved, and that in the end, everybody’s going to wind up hurting them. So they don’t let anyone get close to them. No matter how loved they are, they can’t ever let anybody get too close.

living as if “being successful” was any easier or more stress-free than being unsuccessful.

But these are the easy emails. Because there really is only one thing you have to do to become “successful” (whatever the fuck that means) — fail about a thousand times. Come up with horrible ideas and then try them anyway. Do that long enough and I’ll see you at the beach. I spent years revving up my steam room and plowing through my own share of icebergs without sinking until I got it right. And that’s really the only secret sauce if there is any — being willing to chart your own course regardless of the inevitable fear.

“You have to accept that you cannot do everything. It takes a lot of sacrifice to achieve anything special in life.”

If fantastic ideas is all you've got, please consider becoming a sci-fi author. Either this, or research and convince using facts.

You don't get character because you're successful; you build character because of the hardships you face. – Herman Edwards

[03:22] <+OnlineCop> Oh; I thought it was General Manager.
[03:22] <+Ouims> after all i just crushed the strongest engine on earth.
[03:22] <+OnlineCop> You killed Perl?!

I joined the football team since that’s what everyone expected me to do.

There’s always a simple choice to make in the present. Take those choices one at a time. Forget about yesterday. Forget about tomorrow. And just focus on what you can do now — don’t eat that dessert, go outside and walk 30 minutes. All of these things are a series of tiny choices, not any sort of dramatic lifestyle change. Do that and eventually, one day, you’ll find yourself on top, and you’ll hardly even know how you got there.

If you’re going to maintain a habit of exercise, then you need to find a way to enjoy it. Whether it’s sports, cardio, weights, classes or walking with friends, you need to find a way to look forward to working out every day. Otherwise it will never last, no matter how much willpower you have.

And although I'm still very proud of the code we've written (ask me about anything Smart Client), at the macro level-- our software doesn't make any financial sense.

but the only way to keep our jobs is to actively keep improving. Treat your job like what it is: a highly skilled engineering profession that takes ongoing study.

He makes you do stuff for him, for free, without batting an eye, and you want to become his "friend"? Reality check: He doesn't care enough for you. You have a business relationship, no more, no less, and he's not interested in changing that right now. Also, better stop being impressed and worshipping him like a god, that's never good.

Has anyone asked Joel Spolsky if he'd be willing to run for office? Because I'd be hard pressed to come up with someone I trust more than my old business partner Joel to do the right thing. I would vote for him so hard I'd break the damn voting machine.

"All that is outside the scope of the work I originally quoted on and completed. I'm happy to negotiate doing it but I'll need to be paid for the existing work first. Please find enclosed a copy of my invoice and arrange payment as soon as you can so that we can move forwards. Kind regards etc,."

I remember reading an interview of Dustin Moskovitz, the co-founder of Facebook and Mark Zuckerberg’s college roommate. The interviewer asked Dustin what it felt like to be part of Facebook’s “overnight success.” His answer was something like this, “If by ‘overnight success’ you mean staying up and coding all night, every night for six years straight, then it felt really tiring and stressful.”

We have a propensity to assume things just happen as they are. As outside observers, we tend to only see the result of things and not the arduous process (and all of the failures) that went into producing the result. I think when we’re young, we have this idea that we have to do just this one big thing that is going to completely change the world, top to bottom. We dream so big because we don’t yet realize — we’re too young to realize — that those “one big things” are actually composed of hundreds and thousands of daily small things that must be silently and unceremoniously maintained over long periods of time with little fanfare. Welcome to life.

Answer questions in places like the Security Stack Exchange site. If you don't know the answer, go and find it then answer it with references. If you have questions you don't know the answer to, ask them there. Just do something to start creating a presence. Put code on GitHub. Make pull requests to other people's code. Branch interesting stuff. Get involved because all of these things lead to interactions with other people which leads to relationships which leads to opportunities. Actively go out and create those relationships with others in the industry. Engage with them on Twitter, comment on their blog posts, meet them at user groups. Most people who've successfully made their way in whatever industry it is they've decided to specialise in happily answer questions when asked or take feedback on the things they've created. It gives you an opportunity to make connections. All of this is free and you can start doing it right now. However, none of this is going to land you a job tomorrow; it will certainly improve your marketability over time, but it needs to be augmented with tangible skills which brings me to the next point.

Perl was born and raised among hackers, I mean the true bearded hackers. Who have experience of building things without reaching to the Google homepage every 30 seconds

write it down, even if it’s a quick email to confirm something said in a meeting. If you get in the habit of following up phone calls and meetings with “Per our phone conversation…” emails you will be much more successful in the long run.

It forced me to ask about the ways in which I’ve lessened risk simply because it was the easier way to live. I learned that doing the right thing is often terribly uncomfortable.

Sharpen the Saw means preserving and enhancing the greatest asset you have--you. It means having a balanced program for self-renewal in the four areas of your life: physical, social/emotional, mental, and spiritual.

Red and black, friend of Jack. Red and yellow, kill a fellow.

Malcolm Gladwell has popularized the idea, although he concentrates on 10,000 hours, not 10 years. Henri Cartier-Bresson (1908-2004) had another metric: "Your first 10,000 photographs are your worst."

No professional regrets the time he has to spend studying. […] Professionals do this unquestioningly. Even a gemstone has to be polished. ‘A man is always moving either forward or backward,’ says Kano, 9-dan. ‘He never stands still.’ […]

You have to soak up the fundamentals as you practice on your own, studying them until they become part of your very being. If the fundamentals do not operate subconsciously […] you have not mastered them yet.

Experience is not measured in years It is measured in demonstrable failures and successes. It is measured by the depth and detail you can talk about your accomplishments and how they were achieved and how you would do them today.

If you’re incompetent, you can’t know you’re incompetent. […] the skills you need to produce a right answer are exactly the skills you need to recognize what a right answer is. —David Dunning

“If I had more time, I would have written a shorter letter.” - Blaise Pascal

Concurrency is about dealing with lots of things at once. Parallelism is about doing lots of things at once. Not the same, but related. Concurrency is about structure, parallelism is about execution. Concurrency provides a way to structure a solution to solve a problem that may (but not necessarily) be parallelizable.

“The people I’ve met who do great work rarely think that they’re doing great work. They generally feel that they’re stupid and lazy, that their brain only works properly one day out of ten, and that it’s only a matter of time until they’re found out.” -Paul Graham

No matter what you choose, build stuff and be around smart people. “Stuff” can be a lot of different things—open source projects outside of class, a startup, a new sales process at a company you work at—but, obviously, sitting around talking with your friends about how you guys really should build a website together does not count.

"The innovation the industry talks about so much is bullshit," he said. "Anybody can innovate. Don't do this big 'think different'... screw that. It's meaningless. Ninety-nine per cent of it is get the work done."

Programming is hard. But that doesn't mean you should always go shopping for third party libraries instead of writing code. If it's a core business function, write that code yourself, no matter what.

A few years ago I used to be a hothead. Whenever anyone said anything, I’d think of a way to disagree. I’d push back hard if something didn’t fit my world-view. It’s like I had to be first with an opinion – as if being first meant something. But what it really meant was that I wasn’t thinking hard enough about the problem. The faster you react, the less you think. Not always, but often.

Ninety percent of life is just showing up. – Woody Allen

"Everyone can be taught to sculpt: Michelangelo would have had to be taught how not to. So it is with the great programmers"

When a regular person hits a wall and gets discouraged, that’s when Amit is just getting started.

The first thing I did was to apply for jobs related to my major. It took 534 applications precisely till I received my first job offer after graduation. I was part of final groups, last two candidates, minutes away from a position, but I did not succeed for 8 months.

In the curl project we’re deliberately conservative and we stick to old standards, to remain a viable and reliable library for everyone. Right now and for the foreseeable future. Things that worked in curl 15 years ago still work like that today. The same way. Users can rely on curl. We stick around. We don’t knee-jerk react to modern trends. We sit still in the boat.

It is crazy to me that the expected behavior of employees and employers are so different. If an employer fired an employee and the employee said "You should have told me you were considering firing me so that I could look for a new job, now I won't be able to get a new job before this one ends" they would be laughed out of the office, but when an employer says the equivalent, it seems kind of normal.

School is a full-time job. And managing your time is important.

You should stop only when you get to the point that you feel confident and ready for whatever will be on the exam—when you're actually eager to see the exam to find out if you guessed its contents correctly.

You need to recognize when you're not learning, for one thing. If it's easy, you're not learning. You need to push yourself into the zone of discomfort, where you feel clumsy and have a hard time. Now you're learning.

Nobody is good at anything when they first start. You need to practice. You will never reach the peak of you talents because there is always room to learn. Don't wait until you reach "perfection" to start something. Get out and start doing.

Another mistake people make is thinking that burning out is like dying, and you can't recover. This is why people want to "save it for the best" and don't commit 100%, because they "want to be able to commit 100% only when they truly really come across the perfect opportunity". But the thing is, these people NEVER end up doing anything because of the law of inertia. "The perfect opportunity" is an elusive thing, and the more you wait, the higher the bar goes up, which means you will never meet that perfect moment.

finishing up a design or getting ready for a project, will continually ask their peers questions along the lines of: “What could I be missing?” “How will this not work?” “Will you please shoot as many holes as possible into my thinking on this?” “Even if it’s technically sound, is it understandable enough for the rest of the organization to operate, troubleshoot, and extend it?”

every "no" get you closer to that YES! (This is a mindset in sales. your average salesman makes two to five sales for every 100 times he tries. The mindset is that every "NO" gets you closer to that "yes" that you need)

I’ve come to learn that fear is something to be yearned for. If you’re not afraid, you’re too comfortable. Your best work happens when you’re in that sweet spot of being just uncomfortable enough.

They were all excited by this "discovery"--even though they had already gone through a certain amount of calculus and had already "learned" that the derivative (tangent) of the minimum (lowest point) of any curve is zero (horizontal). They didn't put two and two together. They didn't even know what they "knew." I don't know what's the matter with people: they don't learn by understanding; they learn by some other way--by rote, or something. Their knowledge is so fragile!

If only I had twitter earlier in life to tell me what a useless idiot I am. I wouldn’t have wasted so much time trying to accomplish things.

Make your resume more about stories you can tell and less about tools you can use.

After a lot of investigation, I finally figured out that the students had memorized everything, but they didn’t know what anything meant. When they heard “light that is reflected from a medium with an index,” they didn’t know that it meant a material such as water. They didn’t know that the “direction of the light” is the direction in which you see something when you’re looking at it, and so on. Everything was entirely memorized, yet nothing had been translated into meaningful words. So if I asked, “What is Brewster’s Angle?” I’m going into the computer with the right keywords. But if I say, “Look at the water,” nothing happens – they don’t have anything under “Look at the water”!

one of the reasons people get into angel investing is because they think it's more fun to be the beggee than the beggor. But the cool kids don't beg. The cool kids — the ones who really know what they're doing and have the best chances of succeeding — decide who they allow to invest in their companies.

Does someone have a problem? Can you build a solution to that problem? If not can you learn to build a solution to that problem? Once built, can you learn to improve that solution? … You know that you are not a good programmer when you don't see any problems that need to be solved.

The positive outcome of my comment taught me two things: - Busy people—founders and CEO’s—may not have time for meetups, but they sure as hell read HN (or their industry’s equivalent). - Sales pitches are repulsive, but helpful information is attractive.

It was a good point. Bill Gates was amazingly technical. He understood Variants, and COM objects, and IDispatch and why Automation is different than vtables and why this might lead to dual interfaces. He worried about date functions. He didn’t meddle in software if he trusted the people who were working on it, but you couldn’t bullshit him for a minute because he was a programmer. A real, actual, programmer.

He wouldn’t play touch football, softball, bridge, or even shoot a game of pool. I could never understand it until I finally figured it out: he wouldn’t play anything unless he knew that he would win. How sad, I thought. I just realised (to my horror) that years later, I am just like him. I don’t push boundaries like I used to. I don’t call on that extra customer, volunteer for that project, or apply to programs like yc if I think there is any chance I won’t win. There’s always a reason: the software is missing too much, the demo sucks, there are 14 other things that have to be done first,… You get the picture. I never thought of this as “fear of failure”. I just got so used to succeeding in everything I did that I didn’t want to do anything else where I didn’t succeed. I became John without even realising it.

What do you have in your budget for this part of the project?

The next time you stare down at your work and lament that it just doesn’t have “It,” don’t shy away from that feeling. Dive headfirst into your work, make it better, and hope you never lose that sense of taste.

But I'm studying hard -- I started up again a few days ago -- and I've demonstrated to myself quite a few times that if I do anything daily for a few years I can get pretty good at it

When you learn something, blog about it. People admire and trust those who educate others.

If you think it would be cute to align all of the equals signs in your code, if you spend time configuring your window manager or editor, if put unicode check marks in your test runner, if you add unnecessary hierarchies in your code directories, if you are doing anything beyond just solving the problem - you don't understand how fucked the whole thing is. No one gives a fuck about the glib object model.

What are the most useful skills for these tasks? Being able to communicate effectively, feeling comfortable asking questions, feeling comfortable admitting when you don't understand something, and being kind and friendly with those you interact with.

It's a hard lesson for engineers to learn: Business viability and profitability is based on demand, not technical challenge.

If you are writing your own SaaS and thinking what to charge, your customers may not be as price sensitive as you might assume. It doesn't take a very large increase in sales or a big savings in time to justify spending some more.

The very first line is "Candy Japan ships candy to subscribers twice a month." I read that and had to pause. Wow. I don't think if I tried for months that I could have done a better job describing _any_ business in such a small number of words.

70+ hours is ridiculous, and this is coming from somebody that reads mathematics each night before going to sleep.

I had a certain psychological difficulty all the way through this period. You see, I had been brought up by my father against royalty and pomp (he was in the uniforms business, so he knew the difference between a man with a uniform on, and with the uniform off--it's the same man). I had actually learned to ridicule this stuff all my life, and it was so strong and deeply cut into me that I couldn't go up to a king without some strain.

All in all, I must say I enjoyed the visit to Sweden, in the end. Instead of coming home immediately, I went to CERN, the European center for nuclear research in Switzerland, to give a talk. I appeared before my colleagues in the suit that I had worn to the King's Dinner--I had never given a talk in a suit before--and I began by saying, "Funny thing, you know; in Sweden we were sitting around, talking about whether there are any changes as a result of our having won the Nobel Prize, and as a matter of fact, I think I already see a change: I rather like this suit." Everybody says "Booooo!" and Weisskopf jumps up and tears off his coat and says, "We're not gonna wear suits at lectures!" I took my coat off, loosened my tie, and said, "By the time I had been through Sweden, I was beginning to like this stuff, but now that I'm back in the world, everything's all right again. Thanks for straightening me out!" They didn't want me to change. So it was very quick: at CERN they undid everything that they had done in Sweden.

First, solve the problem. Then, write the code.