HNHacker News
TopNewBestAskShowJobs

chrisshroba

1,577 karma · joined October 15, 2014

submissionscomments
chrisshroba··on Free Tiers and Resources for Developers
Still cool as a learning tool!
chrisshroba··on Soft deletion probably isn't worth it
How would a view solve the foreign key issue? Are you suggesting coding specific deletion triggers into the view such that appropriate foreign keys are "cascade" deleted when a row in the view is deleted?
chrisshroba··on Snapchat for Web
Facebook: https://en.m.wikipedia.org/wiki/Facebook_onion_address

Twitter: https://www.theverge.com/2022/3/8/22967843/twitter-tor-onion...

chrisshroba··on Photographer documents all items that she owns
What do you use to track this?
chrisshroba··on Photographer documents all items that she owns
Similarly, sometimes I record conversations with my family so that I can listen to it years down the road (especially in the case where someone dies - my dad died 2 years ago and I haven't brought myself to listen to most of my recordings yet). Really reminds you of the real-ness of people who may no longer be in your life.
chrisshroba··on HN is up again
I legitimately thought my internet was down for thirty minutes until I decided to try google.
chrisshroba··on Selfhosting on Localhost
Can you elaborate on this or link a resource that explains why this is the case?
chrisshroba··on Selfhosting on Localhost
Will the local CA certs generate security errors in modern browsers since they’re being issued for a domain (e.g. photos.localhost) that obviously can’t be verified to a CA like Let’s Encrypt?
chrisshroba··on World’s Highest Website
The ISS has to periodically correct for atmospheric drag, so it is technically in the atmosphere ;)
chrisshroba··on Hardening macOS
Please don't use derogatory terms like "conspiritards" on HN which obviously come from the term "retard".
chrisshroba··on Start all of your commands with a comma (2009)
I actually just learned from a different HN thread yesterday [1] that aliases do get expanded if you add this to your shell's rc file:

    alias watch='watch '
Specifically, if an alias ends with a space, it will cause the subsequent arg to be expanded as well. For example, try running:

    alias beep=echo
    watch beep hello # This will fail
    alias watch='watch '
    watch beep hello # Now it works!
[1]: https://news.ycombinator.com/item?id=31830879
chrisshroba··on Viddy: A modern watch command. Time machine and pager etc.
Just curious, would you share the offending command? I’d be interested to take a crack at it.
chrisshroba··on Rust advocacy at a medium-sized startup
Just curious, what language(s) do you prefer?
chrisshroba··on A sketch of the biggest idea in software architecture
If you have N things producing data, and M things consuming data, you have a problem where each of the M consumers needs to handle all N types of input data, meaning you have to implement N*M things. But if you have a "narrow waste", meaning a common interface like JSON that all N things are capable of producing and all M things are capable of consuming, then you only need to implement N+M things (N things that produce JSON, and M things that consume JSON).
chrisshroba··on Rulex – A new, portable, regular expression language
I'd guess any large tech company on average is writing at least hundreds per day, given the crazy amounts of code being produced.
chrisshroba··on Play with TailwindCSS in the Browser
Agreed - they even include almost at the top of their homepage [1] a quote from the creator which includes: "If you can suppress the urge to retch long enough to give it a chance, I really think you’ll wonder how you ever worked with CSS any other way."

[1]: https://tailwindcss.com/

chrisshroba··on Show HN: Umbrel – A personal server OS for self-hosting
Pretty sure I'm in the minority of HN folks, but I'm a fan of tools/OS'es/whatever that make a concerted effort to follow design trends and present a modern-looking UX.
chrisshroba··on Pedal Me bans staff riders from wearing helmets for safety reasons
I understand where you’re coming from, but I’d like to see some data rather than “what the actual fuck”. I believe there are some cases where safety protections make people act dumber - and now I’m curious if this is or is not one them. I don’t take a position either way, but I don’t feel like shouting that you’d tell your employer to eat a bag of dicks really contributes much here.
chrisshroba··on D1: Our SQL database
DuckDB comes to mind, but I can't speak to its differences from SQLite.

https://duckdb.org/

chrisshroba··on We fixed f-string typos in popular Python repos
I agree that the language should lend itself to being as bug-free as possible, but you and I disagree on which case is the common, less-likely-to-cause-bugs case. I think it's normal strings, you think it's f-strings. Fair enough.

I do want to point out that only interpolating f-strings containing variables that exist is actually more likely to cause bugs because a string "{foo}" may be fine at one point, but then down the road another programmer happens to declare a global variable foo somewhere completely different, thus causing this string to change. The more important issue, though, is that f-strings contain expressions, not just variables, so you can do things like f'{1+1}' or f'There are {len(os.environ)} env vars defined.'. It's not clear what special cases for expressions inside the braces would magically become f-strings and which would not.

chrisshroba··on Rpilocator – find in stock Raspberry Pi
I’ve been checking this every week or so and the scene seems to be pretty dismal. Does Raspberry Pi have any plans to address the huge supply/demand gap?
chrisshroba··on We fixed f-string typos in popular Python repos
It's not clear to me that folks would want this behavior globally - I personally would not, because sometimes I want to be able to include curly braces in my strings without it being interpolated, and I prefer the current syntax of having that just work. I'm very comfortable with having to add the 'f' to the string syntax to declare that this particular string should be interpolated.

There are other issues you'd have to deal with as well. Would you interpolate non-literal strings (e.g. in the code `print(input())`, if the user inputs the string "{1+1}", what would be printed?)? How would you propose dealing with jinja and other strings that typically contain curly braces that should not be interpolated? This could also be an issue with (potentially long) strings containing lots of random characters: if a '}' showed up in a string somewhere after a '{', even if separated by tens or hundreds of characters, then you'll run into errors. This could be a problem if you're dealing with pseudorandom or base-92 encoded strings, or even just strings representing code (imagine a python library that generates C++ or Java code which has lots of hard coded strings with braces).

I think overall, having to specify that a particular string should be interpolated is a better solution than having to specify that a string should not be interpolated.

chrisshroba··on Snap launches its first drone
Say what you will about Snap, I'm all for fun new electronics, and I've often wondered whether a product like this could be viable. Excited to see how it does!
chrisshroba··on Abcdesktop – a cloud native desktopless system
If I give someone a sample docker-compose file, they can immediately run my service regardless of OS. If I distribute manually, I need to provide instructions for setting up the proper dev environment and packages for several common OSes and distros (brew maybe, apt, rpm, etc.).

Speaking personally, I know how to write a proper Dockerfile, (and it's a skill that's learnable in a couple hours). I have no idea how to distribute packages through other formats and avoid footguns.

chrisshroba··on Ask HN: How are pull requests integrated in a repo with high commit frequency?
This is a great solution and while I was at Google I noticed several high commit frequency teams using this strategy. Of course Google had built a bunch of custom tooling and infrastructure around it, so I can’t vouch for how easy it would be to integrate into a different company’s dev workflow, but if there are enough developers to make it worthwhile, then tasking a few developers with setting this up should be a useful allocation of engineer time.
chrisshroba··on Null Island, the most real of fictional places [pdf]
I recently watched this Half as Interesting video about the property you're talking about [1]. It happened because the property is at the lat/lon of the center of America, rounded to the nearest integers.

[1]: https://www.youtube.com/watch?v=vh6zanS_epw - The Glitch That Kept Sending The FBI To A Tiny Kansas Farm

chrisshroba··on New(ish) command line tools
Whoops, you're right, I assumed my muscle memory was the source of truth heh.
chrisshroba··on Moreutils: A collection of Unix tools that nobody thought to write long ago
My two cents on this is that if you do something enough that one of these tools is a good tool for it, it’ll quickly become a habit to use the tool. And if there’s a rare case where one of these tools would have been useful but you forgot it existed, you’re probably not wasting too much time using a hackier solution.

That being said, I’ve been meaning to add a Linux and Mac install.sh script to my dotfiles repo for installing all my CLI tools, and that could probably serve as a good reminder of all the tools you’ve come across over the years that might provide some value.

chrisshroba··on New(ish) command line tools
You likely already know this, but just a reminder/tip that bash and zsh will let you edit the current command you’re entering in your editor of choice if you press ctrl+x ctrl+e (without releasing ctrl between). (Note if you’re using zsh without ohmyzsh, you’ll have to enable this manually [1])

[1]: https://nuclearsquid.com/writings/edit-long-commands/

chrisshroba··on Ask HN: Best practices for editing remote code locally?
I'm no networking wizard so this isn't really my area of expertise but I have a few thoughts and questions. Why do you need three layers of RDC? Is this due to networking constraints, where the ultimate server (I'll call it the prod server) you are trying to reach is unreachable from the internet directly? You might be able to tunnel into the server using ssh tunnels (see this guide [1]) through an intermediate server which your computer and the prod server both have access to, and then you'd be able to directly scp or rsync files to the server, as well as run commands over ssh, but this would be increasing your attack exposure from a security perspective, which folks may not be happy about since you're at a large engineering company.

A few questions that would help me give more actionable advice: What is the "tester" you're using? Is it essential to interact with it via a GUI or does it have a command line interface you would prefer to use? Is the OS Linux or Windows? What are the the three layers of RDC?

Feel free to email me at my hn username @gmail.com to discuss further since this is getting pretty specific to your setup! Sounds like a fun problem to try and solve :)

← PreviousPage 6 of 14Next →