Hacker Newsnew | past | comments | ask | show | jobs | submit | maryrosecook's commentslogin

Anything about leverage. Here are the ones I read that were helpful. The second two are engineering-specific, but Principles is domain agnostic.

* Principles: https://www.amazon.com/Principles-Life-Work-Ray-Dalio/dp/150...

* The Effective Engineer: https://www.amazon.com/Effective-Engineer-Engineering-Dispro...

* High Output Management: https://www.amazon.com/High-Output-Management-Andrew-Grove/d...


+100 to The Effective Engineer. This is the best practical book on how to improve individual engineering effectiveness that I've ever read.


I use a single app, Bear. It's a nice notes app (think Evernote but with a really refined UI).

My main goal is to have everything in one place: My journal entries, minutes from meetings at my job, project plans and working notes, book/article/film summaries, quotes, reflections. (Bear has both a Mac and iOS app which means I can note things down from anywhere.)

This enables a few things. Search across all my information from one search box. A strong incentive to take good notes because I know I'll be able to find them and reference them later. A 15 year chronicle of the things I've done.

The older blog posts I've written aren't in Bear. This is kind of dumb because they're some of the deepest and most hard-won knowledge I have. Long term, I want to move them into Bear. More recently, I started a new blog that I publish from Bear. This feels much better.

As for learning, I have a few processes that relate to recording:

1. Highlighting useful/interesting passages in books and writing notes in the margins with my thoughts on the material. For really good books, I'll pull out the highlighted passages and notes and organize them into a summary of the book in a note in Bear.

2. I have a note for each skill I'm working on (e.g. designing software architecture, estimating time frames, getting buy-in on an idea). As I practice it I'll write down things I've figured out or reflections on my application of the skill or relevant notes from books/articles.

3. I'll sometimes reference my notes about books/articles as I'm working. E.g. For some reason I've referenced the note that contains a summary of an article I read about the React lifecycle like a zillion times.


Airtable | San Francisco, CA or Mountain View, CA | Onsite | Software Engineer, Product Engineer, Data Engineer, Data Scientist, SRE, Mobile Engineer

[COVID-19: The whole company is currently working remotely. Employees can be fully remote until at least the end of 2020.]

Airtable's mission is to expand human productivity by letting everyone create tools to run their work. Our current product includes a real-time collaborative database and a rich set of UI components for building tools using this database. Airtable is like a toolkit of building blocks that people repurpose to create their own applications.

I work at Airtable as a Product Engineer. I think that creating software will be the dominant form of expression of the 21st Century. I work at Airtable because most people in the world can't program, which leaves them disenfranchised from this medium, and I care a lot about changing that. A huge number of non-programmers use Airtable every day to build the tools they need to do their work.

Here's a blog post about some of the technical decisions behind a recent project to add a lightweight scripting layer on top of the core product: https://airtable.news/creating-a-scripting-environment-for-a...

We're hiring software engineers for web (JavaScript + TypeScript, Node, React), iOS (Objective-C, Swift), and Android, as well as data engineering, data science, SRE, and many other roles.

We're a team with diverse backgrounds. We work in small teams, with end-to-end ownership of projects.

Read about open positions and apply here: https://airtable.com/careers

Happy to answer any questions!


Do you offer the option of working remotely from Europe (Romania, UTC + 3)?


Sadly, no. Sorry!


I had a different experience to kabdib: customization made me able to actually use emacs productively.

I joined a company where most of the devs used emacs, so I kind of needed to adopt it too. I started with very little config and it was very hard. Because many operations were different to the GUI editors I'd used before, I had to waste 20% of my brain power to consciously do things that should be unconscious (save, cut, paste etc). This made it much harder to program!

The first step was updating the config to make emacs more similar to my old editor. For example: make it so pasting text when text is selected replaces the selection. Turn off branching undo. Install a plugin that gave me an autocomplete list of every file in my current project. Make it so that if I copy text in emacs, it appears on the OS-wide clipboard. I'm sure your list of things will be different.

Another important step was getting my emacs theme to look nice. This really made me love the program a lot more. It's silly, but there we are.

The third important step was finding things that emacs does better than other editors. For me, a big one was having a terminal inside my editor (lots of editors do this now, but back then it was rare).

Hope you end up loving emacs!


Hiya! Author of the article here. I used OmniGraffle.


Hey Mary, Tomislav here from the 2013 summer batch. Just wanted to let you know it was an absolute pleasure learning from you at HS. You're a wonderful teacher and I learned a ton. Thanks!


Interesting. Wish there was a way to auto-generate these graphs with my git history.

I like them!


Lots of git clients like Fork have pretty graphs for browsing your history. Even the terminal client can generate graphs in the git log if you give it the right params.


I regularly use 'gource' to get a lovely picture of my repos:

https://gource.io


Have you tried "gitk"?


OmniGraffle. I really enjoy using it.


I wrote a short post about how and why I made Gitlet: http://maryrosecook.com/blog/post/introducing-gitlet


Keep making cool stuff. Loved your little lisp project!


It's pretty awesome of you to provide the annotated source code for Gitlet! :D


I can't seem to find the rebase code? I've always wondered how that part works. Great work otherwise! I've already taken a look at the three way merger code.


In a nutshell, it checks out the target and cherry-picks what had been HEAD onto it, beginning at the merge-base.

https://github.com/libgit2/libgit2/blob/master/src/rebase.c may be helpful and (hopefully) readable.



The danger with a natural language-like programming language is that it gives the impression . This is impossible.

I want the advantages of a natural language-like syntax (easy to read, not scary) without the disadvantages (the impression that the computer will understand whatever you type). To do this, I intentionally made the syntax only support one grammatical form of each type of statement.


I like your idea for making the set and creation commands more aware of time. I will think about this. Thanks a lot.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: