smiths1999 | 2 years ago | on: Ask HN: How many of you are self employed?
smiths1999's comments
smiths1999 | 2 years ago | on: Ask HN: What is the current driver of tech layoffs?
smiths1999 | 4 years ago | on: Ask HN: Any weird tips for weight loss?
I would absolutely not use a tank of pure oxygen.
smiths1999 | 4 years ago | on: Ask HN: Any weird tips for weight loss?
smiths1999 | 4 years ago | on: A tour to my Zettelkasten note clusters
The flow is: 1. Read something and take notes 2. Review and distill your notes into key ideas 3. Create cards in your zettelkasten linking these ideas with other ideas already in your zettelkasten
When you are writing and get stuck, refer to the topic in your zettelkasten and follow the flow of ideas.
smiths1999 | 4 years ago | on: Tell HN: AWS appears to be down again
I have my family photos on a RAIDed NAS. It took me years to get that setup simply because there were higher priority things in my life. I never once thought "ahh I don't need backups of our data" I just had more important things to do.
smiths1999 | 4 years ago | on: Tell HN: AWS appears to be down again
smiths1999 | 4 years ago | on: Tell HN: AWS appears to be down again
It's also possible the response was "That's an excellent point! I think we should put that on the backlog. Since this data is already a backup of our DB data, I think we should focus on getting the feature out rather than replicating to GCP."
Those are two plausible conversations. Instead, what we have is "these arrogant 25 year olds that have 1-2 years of experience and know it all." That's a red flag to me.
smiths1999 | 4 years ago | on: Tell HN: AWS appears to be down again
And again, my point isn't that you never need backups. My point is that it is entirely plausible that at that point in time backups from S3 weren't a priority.
smiths1999 | 4 years ago | on: Tell HN: AWS appears to be down again
In my experience, the kind of person that argues about "arrogant 25 year olds that know everything" is the kind of person that only sees their side of a discussion and refuses to understand the whole context. Maybe OP was in the right, maybe they weren't. But the fact that they are focusing on age and making ad hominem attacks is a red flag in my book.
smiths1999 | 4 years ago | on: Tell HN: AWS appears to be down again
Maybe having S3 redundancy wasn't the most important thing to be tackled? Does your company really need that complexity? Are you so big and such an important service that you cannot possibly risk going down or losing data?
smiths1999 | 4 years ago | on: Ask HN: What you up to? (Who doesn't want to be hired?)
smiths1999 | 4 years ago | on: Call of Duty Adds Kernel Level Driver for Anti-Cheat
smiths1999 | 4 years ago | on: Mailchimp insiders react to employees getting no equity from Intuit sale
smiths1999 | 4 years ago | on: Difficult math is about recognizing patterns
1. What is the class of problem I am dealing with? (e.g., solution uses a stack, queue, heap, etc.) 2. What is the likely complexity of the solution?
Knowing, or at least having a guess, to these two questions greatly simplifies the approach. You do the exact same thing with solving integrals (e.g., is this an integration by parts question? is it a substitution question? etc.) and the same for physics, chemistry, etc. With algorithms, once you've done enough and have a very good mental model, you will start making translations between problems. That is, given problem A, you are able to map it to problem B which is easy to solve using some technique you know.
smiths1999 | 4 years ago | on: Serverless Computing: A Security Perspective
smiths1999 | 5 years ago | on: EFF sues Proctorio on behalf of student falsely DMCA'd
smiths1999 | 5 years ago | on: John Carmack: Career Advice
I am really surprised by your comments about git at "regular" companies. If all we are talking about in this chain is understanding workflow and how to rebase, cherry pick, etc. then I completely misunderstood the discussion.
I have certainly gotten myself into some hairy situations. Since I avoid making massive commits, if things get too bad I have always been able to quickly resolve the issue by just doing a clean clone somewhere else and moving my changes over. As a last ditch effort it works quite well and does not take too much time (or stress :) ).
smiths1999 | 5 years ago | on: John Carmack: Career Advice
It sounds from your post like you may do front-end work. I work primarily on distributed systems for machine learning, so I can't speak to front-end work, but in my experience understanding basic data structures and algorithms is quite useful in day-to-day work. It is great you have gotten to where you are without doing technical interviews. On the other hand, every job interview I have had has had multiple rounds of technical interviews.
And I should also make clear that I am not saying become a competitive programmer or a Leetcode expert. For example, there isn't much value in looking at dynamic programming style problems unless you are interviewing at a top company. But spending 30min to an hour a day on easy to medium level questions will definitely sharpen your reasoning about algorithms and data structures. And like I said, in my experience those are used very often in day to day work (at least on the backend side of things). Also, to clarify, I am not saying you should do this forever.
As an anecdotal example, I recently reviewed a PR that had a lot of complex if-else statements that was dramatically simplified through the use of a set. The updated code was easier to read as well as understand. When I pointed this out, the engineer agreed and understood what was going on. But their initial instinct was to use the one tool they knew: arrays and chains of if-else statements. This is the kind of skill I am getting at - knowing enough about your language, data structures, and algorithms to know when to use the tools in your toolbox.
I don't think it is unreasonable to expect a software engineer to understand the difference between tree-based and hash-based data structures, when you should use arrays, and pros/cons of linked lists, etc. Practicing this kind of stuff, which is very easy to do in Leetcode, is the fastest way to build this intuition (at least in my experience with distributed systems).
Edit: just wanted to add that understanding these things makes it extremely easy to reason about systems like Redis, memcached, Cassandra, Kafka, etc. If you understanding the basic, then you start having these moments of clairty thinking "oh this is just a big hash table!" etc.
Also, meant to add that thee repetition of Leetcode style questions is super valuable in learning the APIs of your language. Things like "how do I create a hash table? how do I populate it? How do I check if it contains a key?" This is all simple stuff but a lot of new grads aren't as familiar with the APIs. It's not a big deal, sure, but it is also an _incredibly_ easy way to stand out.
smiths1999 | 5 years ago | on: John Carmack: Career Advice
Without getting sidetracked about the merits of the technical interview, it is current a fact of life. In my experience most undergrads struggle solving even the most basic problems and even if they come up with a solution, they are unable to code it in any language of their choice. If you are coming out of university as a "git expert" and can't code up a basic solution, you will get passed over every time.
Most teams (at least in my experience) are not struggling to solve git problems (although they certainly pop up). So while you could add some "value" there, overall you aren't adding a whole lot of value. On the other hand, if you know your language and are a moderately competent coder, you can add a lot more value.