If you get out into the woods with Git, there’s usually a way to get back. Here are a few command-line tricks to help you back to the trail.
The first time you use Git on the command line, it might ask you to complete authentication in your browser:
$ git push
info: please complete authentication in your browser...
If that happens, go to the browser and Git will help you create a token that authenticates you every time you type a command.
The old method of authentication involved a username and password when you typed a command:
$ git push
Username for 'https://github.com': …
Maybe you love writing as much as you love coding. Maybe you hate writing. Maybe you don’t think you’re good at it. Maybe you don’t think about it at all.
You still need to be involved with documenting your apps and APIs.
You’d never say “I’m sticking to Python, I could never learn Node.” So why would you avoid practicing and learning a language like English? After all, it’s a language with rules. So are all other human languages. It’s possible to learn good practices, from structure to syntax, to make your documentation do what you want it to.
No one knows better than you what the goal of your code is, how the implementation accomplishes that goal, and how users can get what they want from it. That makes you the most important contributor to the documentation. …
I’ve been working with Markdown and Git for a while now, sharing my knowledge by giving talks and posting articles on Medium. I decided to put some Markdown recipes together in a book — and in that case, why not put my money where my mouth is and write the book in Markdown? This is the story of how I created Markdown Dreams: How to do things with Markdown and Git. Spoiler alert: I ended up using a lot of the techniques that I describe in the book itself.
I decided to workshop the book as a documentation website first, so that I could get feedback from a few friends along the way. I had just set up a Raspberry Pi with a web server, Git, and a few other tools, so that I could have a tiny always-on server for small projects and experiments. I decided to see what tools were available to write the book on this tiny computer. I found that the 64-bit ARM version of Ubuntu supported Ghostwriter, MdDocs, Pandoc, and Git — just the tools I needed. …
I’ve talked to many people who love this quote, often attributed to Oliver Wendell Holmes, Abraham Lincoln, or others:
…Your right to swing your arm leaves off where my right not to have my nose struck begins.
— John B. Finch
To be clear, I am a huge fan of real liberty. I think it’s great to swing our fists, but I would say that real fist-swinging liberty includes a respectful distance from noses. Your right to swing your arm leaves off pretty far from my nose. …
One thing I can’t help doing from time to time is making a giant vat of tomato sauce which I then eat with pasta. I can’t call it “marinara” or “bolognese” or any other authentic Italian word because it’s not an authentic Italian recipe — but I think an Italian would say it’s not bad. Can be vegan or extremely not, as your tastes dictate.
1. Chop a small yellow onion (or half a large one) fairly finely.
2. Optional: slice a bunch of crimini mushrooms.
3. While you’re at it, might as well peel some garlic. Dare you use an entire clove? I say you dare.
4. Put a large pot such as a Dutch oven over a high flame.
5. Pour in enough olive oil to coat half the bottom. I don’t know, a quarter cup?
6. Toss the chopped onion in and sauté until transparent.
7. If you have sliced mushrooms, you can add them at the same time as the onion.
8. If you wish to add animal products, I recommend sweet Italian sausage, ground beef or turkey, any or all of the above, in whatever measure suits you. Say, 3 sausages and a pound of turkey? Or no meat at all? If you do this, add it shortly after the onions and mushrooms.
9. Now: add 3–4 of those big cans of San Marzano (or Roma) tomatoes. Crushed? Puréed? Whole stewed? up to you. You’re the one who knows what you like.
10. Now is when I crush the garlic and add it.
11. This is a good time to add a glass of wine to the sauce. If you don’t drink wine and don’t want such a thing in the house, then offer a non-alcoholic toast to your favorite saint. How about Saint Herman of Alaska? If you don’t like saints, just sing a verse of your favorite song. If you don’t like songs, then why do you like food?
12. Now for the magic. Add a tablespoon of pesto. Then another. Then another. I mean… one more won’t hurt. I usually stop at half a jar.
13. I want to tell you something crazy now: I don’t add any salt. But I am very light on the salt with my cooking in general, because I worry about things like that. But at this point, I would not fault you for adding a teaspoon of salt. Or a tablespoon. I mean, look at how much sauce this is. This is a lot of sauce.
14. Now the most important part: simmer it on very low heat for a while, then turn it off, put it away in the fridge-o, and eat it tomorrow.
15. Okay, okay, you can have some today. …
Everything we believe is connected to other things we believe in complicated ways. Sometimes we deceive ourselves, out of necessity, to hold on to an important belief. There is a way that we can explore these relationships and learn how we come to believe things, and how others do too: but first we must understand four different ways of knowing things.
The most widely accepted definition of knowledge is justified true belief — that is, earnestly believing that something is true when it is in fact true. In this, we are talking about what is called propositional knowledge, or facts, rather than knowing how to do something. …
Everybody knows that remote workers are happier and more productive — but working from home just might also be an important driver for inclusive, diverse companies. If you believe that diversity of thought and perspectives strengthens ideas and decisions (and you should) then you should encourage the adoption of remote-friendly policies at your workplace.
I live and work in the San Francisco Bay Area, where housing is becoming too expensive for public servants and tech workers alike. A junior engineer with a seemingly massive starting salary might still be unable to afford comfortable housing in Palo Alto. In many cases a job at a desirable company means a brutal commute from a more affordable community. Many gifted employees will opt out of consideration for jobs in expensive areas, which reduces the pool of talent available to these companies. …
A couple jobs ago, I had a boss named Dave. He was always on the lookout, as he put it, for “What’s gonna kill me next?” At this tough startup, there were lots of things to watch out for. I followed his lead and survived for a while, dodging office politics, unexpected projects and failures, and other things that were out to kill me.
Dave was a motorcyclist. At the time, I wasn’t, so I didn’t recognize that when he talked about watching for things that could kill him, he was using his motorcycle skills as a broader approach to the world. …
If you know, you know. But if you don’t know how long a project will take — and someone important is asking you — then you have to figure it out. And if you don’t have enough information to provide a strong estimate, what do you do?
You make a good guess.
If you’re an experienced project manager with a flair for Gantt charts, maybe this article isn’t for you. But if you’re an individual contributor looking for a new way to plan…read on!
The goal is to come up with a rough estimate — a wide range that you can have confidence in. I usually start with a factor of two above and below. That might seem inexact, but it does allow a high degree of confidence as a starting point. …
Product managers don’t want to mess with complicated toolchains; they want to get work done in a lightweight tool and share it easily. On the other hand, engineers need source control to ensure that their code and internal documents can be trusted. I recently talked to someone who wanted product management to be able to collaborate on specifications and other documentation that could then be managed in source control.
There are many collaboration tools that give you the comfy WYSIWYG collaborative experience product managers like — Google Drive, for example, or Dropbox Paper — and then there are tools that integrate with source control so that engineering teams can participate easily. …