HNHacker News
TopNewBestAskShowJobs

dmlittle

600 karma · joined November 16, 2014

submissionscomments
dmlittle··on Auth0 Has been down for almost 4 hours now
It depends on your needs. What if you provide a SSO solution in your product, your customer is using Okta (or any other IdP) and that IdP goes down? There's nothing really you can do then unless you have other means of authentication.
dmlittle··on Auth0 Has been down for almost 4 hours now
Ooh, this is a neat podcast niche that I'll probably enjoy! If you're taking suggestion of public postmortems to talk about I recommend Github's 2018 outage [1,2] caused by a network partition.

[1] https://github.blog/2018-10-21-october21-incident-report/

[2] https://github.blog/2018-10-30-oct21-post-incident-analysis/

dmlittle··on Ask HN: Does anyone else find the AWS Lambda developer experience frustrating?
If all you need is the ability to run a lambda function's code locally you might interested in docker-lambda[1]. I haven't really used localstack or SAM but a couple of years ago when we needed to run some lambda functions locally for development docker-lambda worked well enough.

[1] https://github.com/lambci/docker-lambda

dmlittle··on Ask HN: Can you get a job without LeetCode?
There's definitely plenty of companies out there that have stopped using LeetCode style questions. I just finished interviewing and out of the 8 companies I talked to only 1 had a single LeetCode style question and it was one of the "coding challenges" at the virtual "onsite" stage. My previous employer also didn't ask any LeetCode style questions.

It's worth pointing out that there are some questions on LeetCode that are absolutely fair game in the interview process. Questions along the lines of can you implement the logic of a rate limiter, can you implement some authorization logic, how would you deduplicate some data in a system, given some request headers can you implement X logic, etc. are all questions that can be closely tied to some LeetCode questions but are also regular day-to-day work. However these are questions where you don't have to memorize "tricks" to solve them in the amount of time you're given.

That being said FAANG companies are known to ask the typical "LeetCode" type of questions, so if you're applying to those companies expect such interview questions.

dmlittle··on TailwindCSS JIT with arbitrary values
Yup! I think the biggest win for me is not having to worry about CSS class names. Some people hate the fact that the HTML is now less "clean" but I appreciate not having to context switch or deduce that a child a tag inside a a div.card has a specific styling.
dmlittle··on Tell HN: Opening this page will flag you as abusing GitHub
It makes sense; loading that README performs almost 1700 requests for GitHub resources. That's probably way off the regular GitHub usage and definitely enough to trigger a regular user's rate limit.

In Chrome you can view the source here: "view-source:https[DELETE]://github.com/olikraus/u8g2/wiki/fntlistall" (added the [DELETE] after the protocol to prevent people from accidentally loading the actual website rather than source)

dmlittle··on Kafka without ZooKeeper
Haven't used it personally myself but I've heard it enough to remember it. Redpanda[1] aims to be a Kafka replacement without having to worry about Zookeeper or the JVM

[1] https://vectorized.io/

dmlittle··on Whistleblower: Ubiquiti Breach “Catastrophic”
I was referring to the root accounts in your organization. The blast radius is more limited, but still a root account that has access to everything within that AWS account.
dmlittle··on Whistleblower: Ubiquiti Breach “Catastrophic”
This is a lot harder to do if you have lots of AWS accounts and create new ones over time on-demand (e.g. AWS account per team).
dmlittle··on Ask HN: Are you using Go for web development?
Have you managed to get GoLand's IDE tests to work properly? I found that it imports only the file for the test but nothing else which causes errors due to "undefined" things (things defined in the package are not accessible as it only imported a single file). Other than that I'm a happy GoLand user
dmlittle··on We found and fixed a rare race condition in our session handling
Given the rarity of this bug I doubt a small sample sized would have captured the right requests to be able to debug this. The probability would be the probability of this bug occurring * (sample percentage)^3 [ you'd need to have sampled the correct 3 consecutive requests].
dmlittle··on Google Cloud Networking reporting issues
Yes, and issues will always occur. What I was trying to point out that it's never an individual's fault alone. Sure someone might have tripped the final domino but they might not have had anything to do with everything else that happened. That's why blameless postmortems are a thing. Blameless (to me) doesn't mean that you don't name any person but rather that there's no blame assigned to anyone. I want to know what Person A did to cause the incident but there shouldn't be any retribution against Person A.
dmlittle··on Google Cloud Networking reporting issues
No, it was SolarWinds that blamed the intern for their security issues.

In all seriousness... if a single employee can accidentally single-handedly screw things up you've got a process problem. There should be checks and balances to make sure that what you're trying to do make sense. These might be in the form of a code-review, automated validation, a staging environments, etc. Yes, these might be things that don't exist at a scrappy startup and that is fine as they'll get there eventually but for any large company not having good processes is reckless.

dmlittle··on When Should I Interrupt Someone?
I personally like advocating after 20 minutes of being stuck and unable to progress any further. If you're stuck but keep making incremental progress, reset the timer.

It might seem silly but if you're able to make slow incremental progress you'll eventually figure it out and it helps grow your intuition of what to do to fix/unstuck yourself. I don't know of any other way to develop that intuition other than going through it yourself (if you have any tips I'd love to hear your thoughts!). Yes, it might be slow at first but the compounding effect on your growth cannot be overstated. It's also not a hard rule, if you're on some sort of time crunch and need help you should obviously feel free to ask for it.

dmlittle··on Stripe valuation soars to $95B after latest fundraising
They started processing a portion of Amazon.com's purchases back in 2017 and I'm guessing that portion has probably grown since then.
dmlittle··on CA crews handle tricky fire at Tesla factory
It would burn until all the metal has reacted. I think the point is that due to its chemical properties what you're using to try to "extinguish" the fire is actually fueling the reaction so not forever but you're certainly not helping.
dmlittle··on CA crews handle tricky fire at Tesla factory
I was curious as to the reason why water or CO2 can't be used to put off a metal fire. The TL;DR is that with a metal fire the high temperatures cause the H2O and CO2 molecules to be unstable enough that the metal can attract the oxygen molecules to fuel the ongoing fire rendering them useless as a fire suppressors. H2O is even worse as once the oxygen is split from the water molecule you are left with hydrogen which will combust and explosion might cause the molten fire to spread further. This doesn't happen with wood burning as the attraction to the oxygen molecules from the carbon being burnt is the same or stronger than the attraction from the CO2 or H2O molecules.
dmlittle··on Show HN: Diahook – Webhooks as a Service
I think it's probably the unDraw[1] illustrations you're seeing and not the theme itself.

[1] https://undraw.co/illustrations

dmlittle··on Twitter suspends your account if you remove your phone number
It might take a few days before it gets suspended. A side project account of mine was suspended and it took me 9 months to get it back.
dmlittle··on Ask HN: How do you deal with intolerance to criticism?
It's important to highlight that your code reviews are reviews of the _code_ and not him as a person or his character. You're both trying to make the best possible decisions to ensure that the product is stable, minimize the amount of bugs (and therefore toil), reduce the on-call incident rate (if you're in an on-call rotation), and teach/learn from each other. You're _not_ trying to change/review each other individually. People automatically have their defenses up if they feel like you're criticizing them.

As others have mentioned approach matters a lot. Saying "this is wrong, make it X to fix it" will be received poorly most of the time. Instead you can phrase it as a conversation in the form of "What do you think of refactoring this endpoint to follow the conventions we follow throughout this repo [link to examples]. It'll make the codebase more consistent and easier to follow along for others" or "I believe using `new Buffer()` has some security issues and has been deprecated [link to deprecation notice]. We can use `Buffer.from()` instead which has the same interface." (this examples are trivial but as things get more complicated who knows... maybe what you thought was right is incorrect)

For minor things such as formatting preference I strongly recommend getting a linter/formatter at stick to what it chooses. Make sure your CI enforces its formatting.

dmlittle··on Facebook is pushing back on Apple’s new iPhone privacy rules
This is true, but in practice on an iPhone the "default" music app didn't make a difference for me. I always had Spotify running (not necessarily playing, just the app open in the background) so when I pressed play it always played Spotify rather than Apple Music.
dmlittle··on Coinbase S-1
I believe the USD transaction tax is 35% not 65% (not that I think it makes sense in any way).
dmlittle··on Google Cloud vs. AWS Onboarding Comparison
I guess that makes sense. The quality of their support is probably directly correlated to the level of internal tooling to help diagnose issues. For more popular/older services that tooling is probably better.
dmlittle··on Google Cloud vs. AWS Onboarding Comparison
While you do pay for AWS support, I must say that in my experience AWS support is pretty top notch. I don't particularly like the (somewhat) recent changes where the priority of your ticket is based on your support plan but I'm guessing it's because everyone always chose "critical" when making small support ticket.
dmlittle··on Why Is Esbuild Fast?
That's a pretty good quote!

It's also worth noting that if your size is bounded a simpler quadratic algorithm might be more maintainable overtime than a linear one (if it's easier to grok). Say max(n) = 25, it doesn't really matter if it's linear (say 4N = 100) or quadratic (N^2 = 625). In practice they're both fast enough (even though one is 6x faster) and not worth optimizing but if it can grown unbounded that's when the BigO runtimes start to matter. For something like ESBuild your input size grows larger and larger as your codebase increases and that's when you start to see slowness creep in.

dmlittle··on Many small queries are efficient in SQLite
I might be mistaking things here but I believe that Apple's CoreData and Android's equivalent are both powered by SQLite under the hood.

Messages on macOS stores all your message in a SQLite file under ~/Library/Messages/chat.db

dmlittle··on Show HN: HN Comment Saver – best tool to save and manage your favorite comments
FYI it seems the URL you posted is for the "related" tab in the Chrome Store. I was originally confused cause there wasn't any info shown about the extension.

The question that you should try to answer is why should someone use your extension over HN built-in favorite feature (I don't mean to be rude but I personally don't see why I would want to install this).

dmlittle··on Github1s – One second to read GitHub code with VS Code
> It's the peak usage that matters, not the average. Wasteful software limits the amount of things that can be done on a computer simultaneously. So it's not "we shouldn't care about our software's resource use because users don't do multiple things at a time". It's "users don't do multiple things at a time because they can't, because we don't care about resource utilization".

Sure, but how many applications are you running? Let's say you have 20 applications running at 200MB each that's 4GB (50%) of your available memory with an extra 4GB for spiky workloads (if you have 16GB it drops to 25% available memory usage).

We're comparing vim (and other editors) with tools created 25 years later. The available resources back then and now are drastically different. The joke of emacs meaning "Eight Mb And Constantly Swapping" is because most computers back then only had 8MB of memory. In terms of memory consumption emacs utilized 100% back in the day compared to the 2.5% of VSCode today but people don't shit on emacs.

I don't want to come off as someone dismissing vim (and other editors). I personally use vim/tmux on a daily basis but I'm also fond of using IDEs like VSCode/IntelliJ/etc. There is a huge portion of the internet that thinks that these new editors are shitty because of their memory consumption when it is not really a good argument in 2021.

dmlittle··on Github1s – One second to read GitHub code with VS Code
Is it high? Yes. Is it completely wasteful? Debatable.

Looking at the memory utilization of my VS Code installation with all of the extension I have is currently using just shy of 200MB. Most entry level laptops today come with 8GB of memory. 200MB out of the 8GB is ~2.5% of the total memory available. If you have 16GB that drops it down to ~1.25%. Yes, vim will use much less memory but let's not pretend you're going to be using all of that memory doing something else (and if you are, you're the edge case). Most of the time it will stay idle, you might as well use it if it's a program you're more comfortable and productive with.

I'm not saying that I'm OK with the amount of resources Chrome and Electron apps utilize but the argument that we don't have enough memory for a few of them, specifically the ones that you use on your day-to-day work is honestly not a strong one.

dmlittle··on Github1s – One second to read GitHub code with VS Code
It's not that you _can't_ do these things in vim/emacs it's that the experience is different. I'd argue that VS Code is closer to an IDE than just an editor.

For example, I can Cmd+Click on a function usage and it takes me to its definition. If I hover my mouse over it it displays information about the variables/function/data structure/etc. If I'm running docker containers I can attach a shell, view its logs, start/stop/restart it with the click of a button. There are thousands of extensions that allow me to augment the user experience – a Terraform extension that allows me to open resource documentation with the click of a button, running diffs on code, running code formatters, etc.

Yes, all of this is possible with vim/emacs plugins but its not out of the box and the UX is not the same (and you're lying to yourself if you claim this isn't true). Installing and managing all of these plugins (in vim at least) is a lot more painful.

As for the RAM consumption, it's honestly minimal. Running Chrome is more of a resource hog than VS Code.

← PreviousPage 3 of 12Next →