HNHacker News
TopNewBestAskShowJobs

_huayra_

1,795 karma · joined November 5, 2012

submissionscomments
_huayra_··on Pipe Syntax in SQL
Does KQL still enforce no blank lines in the `let` clauses to the expression?

When I last used KQL, it was infuriating that I could create my `let` clauses in chunks separated by whitespace because a blank line would be considered a terminated statement (and Kusto would say "Hey where's your expression?!"). This meant every Kusto file was a sea of text with no clear differentiation between subsequent clauses. I ended up using 3 blank comment lines as a "fake empty line" just to maintain my sanity.

Again, hope they fixed that by now...

_huayra_··on IT tycoon Mike Lynch, daughter Hannah found dead
The only real sailworthiness advantage I know if is that if you're sailing with conditions big enough to make you surf (and downwind, i.e. not some weird situation where the wind and the waves are not coming from the same direction), being able to lift the keel helps avoid getting sideways and broaching from the wave trying to pick the boat "up and over the keel" in a sense. Granted, I've only personally verified this with many dinghies I've raced, but on a larger boat the dynamics might not be the same (I still don't have "big boat" money yet lol!).
_huayra_··on If we want a shift to walking, we need to prioritize dignity
Please read up on the tax implications if you are a US citizen. Unless you move to some place in Europe with low taxes (e.g. certain cantons in Switzerland, but you'd be hard-pressed to find a more difficult country to get a work visa for outside of getting EU citizenship by ancestry), you likely won't end up owing the tax difference as income, but it can be difficult to navigate retirement savings, especially for mandatory systems that don't have a bilateral treaty with the US, wherein the US IRS recognizes the special tax-deferred status of a pension or IRA equivalent.

You will likely be limited to working only with the largest banks, as they're the only ones that are usually willing to file the FinCEN reports back to the US.

I still recommend doing it. Yes, you'll likely take a hit financially (lower salaries, certain consumer items being a lot pricier, a big PITA tax situation), but I think it's worth it to see how it is to live in a place that is much better designed. It's also great to be able to experience how it is to trade off the "grindset mentality" in the US for much better WLB. I literally had colleagues whose OOF messages that said "I'm bikepacking through Norway and will be offline for all of August" meanwhile back in the US, I've had colleagues join conference calls on their phone while recovering from surgery (not because of a lack of PTO, but because unfortunately industry research labs are highly competitive).

Also, it's a good idea to make great efforts to learn the local language or you'll end up in an Anglo bubble and you'll end up feeling like an alien on a foreign planet.

_huayra_··on Don't blindly prefer `emplace_back` to `push_back` (2021)
Is this true with respect to the ABI? I get how a temporary is blown away at the end of a statement with a `;` if it wasn't bound to a reference that extends its lifetime, but wouldn't the code need to allocate a return slot regardless?

What I'm thinking of would be

```c++ struct MyBigClass { /* lots of members */ };

MyBigClass makeABigOne();

auto main() -> int { // We still need to construct a return slot here, even though we don't use the value, right? makeABigOne(); } ```

Perhaps this is tangential, but I'm wondering if maybe I'm missing a subtly based on what you mean by "allocated" (in the abstract machine, or in the ABI).

_huayra_··on What Visa earnings tell us about the state of the payments industry
Well, that and being completely public. I, for one, don't want the whole world to know whom I'm paying for things.
_huayra_··on What's so hard about constexpr allocation?
It exists, and not just for C++: https://buck2.build/
_huayra_··on Intel says 13th and 14th Gen mobile CPUs are crashing
The N100 is great, hopefully not affected by this problem though I'm not sure yet. It sips power and I've really liked it for homelab use where memory and IO are more important than core count (because most of the times things are idle, but one wants to keep VMs in memory and oversub the cores).
_huayra_··on Use a work journal
The best tool for this I've found so far is Logseq [0]. The only things that come close in functionality are some really custom Emacs roll-your-own things that were just too hard for me as a basic Doom Emacs defaults user, and Anytype. However, I couldn't understand the storage of Anytype enough to convince me that my work would be okay with it (e.g. encryption, but IPFS-ing your files all over the place, maybe?).

Anyway, here are the reasons to consider Logseq for a "lab journal". Note all of these features are unique to Logseq (except the ones I note, afaik), but the subset of them are from what I can tell:

1. Local storage: this is just messing around with markdown on a local file. You can keep it in your corporate storage as a regular folder, at home, it is completely separate from your data sync setup and you can choose what you want. They are working a new database-backed version of the files for faster querying (though I have >10k files in it now and it does fine).

2. Open source: Obsidian, a popular alternative, is not open source. Considering this carries confidential info and all my personal stuff (not at work though!), I gotta trust my tools.

3. Killer feature that only Logseq has: custom, datalog query engine to query your existing notes and aggregate things. Other tools have some similar thing, but it's mostly akin to "search" and possibly ANDing some terms together, but Logseq has much more advanced uses enabled by this engine.

The datalog and querying feel initially like a "draw the rest of the owl" meme, as it is up to you to decide whether you want to create namespace hierarchies (e.g. should your `vim` page be `devtools/vim`, just `vim`, or tagged with `devtools`?), but once you figure out a system, it takes a bit to craft a few clever queries and reuse them with templates.

I have a reasonably slick system for this, where I have a set of queries prioritized by due date / priority on my home page, along with incoming (waiting for someone) and outgoing (someone waiting on me) dependencies. I organize things with a series of "project" pages that each have a very long query to aggregate all my daily journal entries (and other pages) that are tagged with anything related to that project page (e.g. I have a page `CMake Template Repository` where I'm trying to create a github template repo for C++ projects so I don't have to write it from scratch each time). It has really helped me get things done despite having a bit of ADHD. If there's enough interest, I can try to write this up in a blog post.

[0] https://logseq.com/

_huayra_··on Do Skis Get Blunt?
My rule of thumb is to get the edges tuned once a season (I clock ~40 days), usually after the last of the rocks is covered up by the initial snow. If one skis less than that, it's possible to get away with every other season, but keep a gummy stone to deburr the edges as needed.

If anyone has any methods to reliably grind edges at home, I'd be interested. I have one of the edge tools and a bunch of files, but I basically destroyed a pair of skis (thankfully an old crummy pair, put to new use as part of an adirondack chair built from my busted skis) when trying to get it right. Considering a local shop will do it for $40 / pair, that seems like a better use of my time. Still, I've got that DIY itch to scratch about this and haven't seemed to get it right.

_huayra_··on U++ – Cross-Platform App Development Framework
The folks behind that framework also have an amazing Youtube channel [0] where they talk about complicated C++ topics in great clarity (well, as great as one can expect for such a complicated language). They don't post often, but when they do, it's almost always a gem.

[0] https://www.youtube.com/@CopperSpice

_huayra_··on Circle C++ with memory safety
Sean Baxter was on cppcast recently, highly recommend anyone interested to give it a listen: https://cppcast.com/safe-borrow-checked-cpp/
_huayra_··on Southwest Airlines now available on Google Flights
Besides the 2 bags you get for free, the ability to rebook whenever you want and pay the difference / get a credit is so incredibly useful. I am not super well-versed on airline policies, but last time I looked, I think they were the only US airline that did this (at least for the economy class level of tickets).

One neat trick: you can rebook your exact same itinerary if you see it cheaper and get the difference as a credit (for the Wanna Get Away class fares; if you booked with the pricier ones, you'll get it back as a refund to your credit card).

_huayra_··on Judge mulls sanctions over Google's destruction of internal chats
While I clearly agree, what I've experienced in my career (including other non-G FAANG / MAGAM / whatever it's called now companies) is that one will get some help over chat to fix some issue, but think "this is such a small issue that will only happen once" or just get too busy with other stuff and neglect to properly write up documentation or put it in one's PKM effectively.

Having chat history and being able to type "chat:"Bob Joe" mitigation jitter identity server" or whatever search query to dredge up the single useful command that slipped through the PKM cracks is so useful.

I guess one is forced to be disciplined about it, but I wonder if Google knows whether this chat-curtailment policy is basically costing them millions in wasted dev time because they have to re-ask for help and bother people. However, in my current company (using Teams), I still get re-asked for help all the time and usually quote reply my prior message saying "please search for this before asking. I found it easily".

_huayra_··on Judge mulls sanctions over Google's destruction of internal chats
I haven't worked at Google, so maybe there are better channels than "chat that's holding everything together", but I can't imagine that being unable to search a chat and look at who said what and when is useful. I use it all the time to look up some random useful command a coworker told me long ago that I neglected to write down, for instance, or to follow up with a long-stale thread to revive it.

I suppose that's what email and design docs are for, but I feel a lot of that "organizational glue" in chat is quite valuable. How do Googlers live without it?

_huayra_··on Start Your Own ISP
If one were to go from a bigger scale from a home lab to, say, wiring up all the units in my condo building to share the same internet connection somehow (or maybe a multi-AP wifi setup in a small business like a climbing gym), what would you go with equipment wise?

I'm guessing not Cisco because the license costs?

_huayra_··on Woodworking as an escape from the absurdity of software
> But they are not team sports.

The tricky part for team sports is coordination with other folks. I can bike out my backyard and hit a 90 min XC loop to clear my head without needing to agree with anyone else on time. I also only have to coordinate with one other person for climbing (or often 0, if there's already a critical mass of folks I know who are there as often as I am).

I do agree that the specific dynamics of team sports are desirable (e.g. figuring out how to socially get along in pursuit of a common goal vs. a bunch of individuals going about their own pursuit...together), and often the social force towards not letting one's team down by ghosting or not practicing can be a motivating factor for a lot of folks on this site who might need that to ensure they keep showing up each week.

_huayra_··on Woodworking as an escape from the absurdity of software
I've always recommended hobbies that meet the following criteria

1. Don't require you to interact with screens 2. Require your full attention (e.g. if you were listening to a podcast while doing it, you wouldn't remember a single thing they were talking about) 3. Has a social aspect, but is also possible to do on your own 4. Preferably physical 5. Preferably has some level of "controllable danger/risk", e.g. mountain biking is good because you can walk down hard stuff or stay on easy trails, vs. road biking you don't control the risk of getting injured / killed by a driver.

Some that fall into this category are climbing, skiing, mountain biking, surfing, windsurfing.

There's the other category that this post about woodworking scratches: building things and developing new skills and mastery doing so. However, these don't often come with an easily-accessible, accepting community; it's usually just you alone in a garage. Given how important social connection is, and how isolating a lot of tech jobs can be, this is a void that a lot of us on this orange website need to actively pursue.

If you're in any "tech city", there's definitely a climbing gym nearby. Climbers are almost always amicable, and for the socially anxious, it's a great pretense to interact with someone (because they have to be on the other end of the rope anyway). The amount of capital outlay to get started is low (e.g. shoes, belay device, and a harness will cost <$300 total if you get nice stuff, albeit sticking with the non-expert shoes!), and you can pretty much start having fun right away (vs skiing takes at least a season to get confident enough to truly start having fun and not "surviving").

_huayra_··on Start Your Own ISP
Is there something similar to Ubiquiti's "unified configuration" thing (where you can configure your whole network in a coherent way, maybe even from some gui)?

I love my Mikrotik homelab setup, but it's held together by carefully crafted per-box configs that are not easy to change all together (e.g. adding another VLAN, etc).

Maybe it's just my newbie status at this, but hopefully there's some cool piece of software that I just don't know about yet!

_huayra_··on Start Your Own ISP
> Technical debt is usually but not always branded Mikrotik

Why this association? At least on the consumer side, I've really enjoyed using Mikrotik's stuff for my homelab. Is it just a sign of "someone not wanting to pony up for Real Networking Gear" or something similar?

_huayra_··on Personal VPN services are snake oil
There's another use case (and is why I primarily pay for one, mostly due to being too geographically mobile to want to set up a bunch of VPS around the US): bypassing throttling on low-cost pay-as-you-go MVNO networks.

I use Visible (pre-paid Verizon), and they very clearly deprioritize, say, youtube when things get crowded. I turn on my VPN and all of a sudden I can play 1080p no problem.

_huayra_··on Claude 3 beats GPT-4 on Aider's code editing benchmark
Perhaps if one is a minor: https://news.ycombinator.com/item?id=39632959
_huayra_··on General Motors Quits Sharing Driving Behavior with Data Brokers
Semi-related FYI if anyone is a Subaru owner (with Starlink): you can opt out of all 3rd-party data sharing from their Starlink telemetry, as they've extended the CCPA rights across all of the US [0]

[0] https://www.subaru.com/support/consumer-privacy.html

_huayra_··on 20 Years in the Making, GnuCOBOL Is Ready for Industry
Are you able to find COBOL programmers to hire, or is it like Rust where a lot of jobs are "know C++ and we'll train you"?
_huayra_··on Home Lab Beginners guide
One bit of guidance I've been trying to figure out is this: how does one properly segment one's homelab to be able to firewall potentially dangerous stuff (e.g. IoT gear, hosting publicly-available websites via Cloudflare tunnels or something, all while running on the usual "virtualize all workloads" thing with Docker/Proxmox, etc)?

The best I've come up with so far is segmentation via VLANs, then adding many rules to deal with inter-VLAN reachability (e.g. should it be forced to transit to the firewall and back? Can my laptop reach out to the IoT devices, even if I block connections in the reverse direction?).

Beyond this, I'm not sure how to best handle similar segmentation on my few servers (all running proxmox), e.g. whether to expose VLANs to the VMs (which I kinda need to do for the pfsense firewall, maybe?).

The biggest thing is how to keep these network configs in sync, e.g. when adding a new VLAN, etc. I basically have an Org file that I write all this down, but I'm guessing there's a better way.

Also, if anyone wants a cheaper alternative to Ubiquiti, Mikrotik has served me well for years. I'm considering switching to Ubiquiti stuff though, as they seem to have a solution to synchronize state between multiple switches that is much better (vs. manually using Winbox on each individual router).

_huayra_··on Trading trust
I recently had to explain to some Gen-Z folks what things were like ~12 years ago when I worked for Twitter. Their initial reaction was as if I said "Yeah I worked for the Galactic Empire on the Deathstar project a while back".

It was truly amazing that one could start / join a conversation with so many relevant and insightful folks (depends on the community; there was always useless noise). I remember trying to learn Erlang a bit and whenever I'd tweet something about it, Joe Armstrong himself would often start a short thread with me to resolve my misunderstanding.

I think the term "enshittification" really covers the process well [0] to explain what happened.

[0] https://en.wikipedia.org/wiki/Enshittification

_huayra_··on Tesla's Cybertrucks are rusting despite stainless steel
Well TIL :D

though now that I think of it, the "low-res graphics front hood wedge" shape of the truck will make any rust the least pedestrians' worries

_huayra_··on Tesla's Cybertrucks are rusting despite stainless steel
I hope pedestrians keep their tetanus shots up to date when the driver's Vision Pro starts dropping frames as they attempt to make a left turn at an intersection...
_huayra_··on A look at the Mojo language for bioinformatics
It's hard to learn a language for fun, so I'd pick something that fits your needs to build something (or even just your curiosity). Elixir and Prolog, although both cool, might not fit the bill because they really excel at one particular thing.

Golang is a popular answer, as you can start building stuff with it fairly quickly (especially compared to Rust). Java can also be useful if you haven't learned it and find a use case (although you will hear it bemoaned as the "New COBOL", there is still a lot of work done using it).

_huayra_··on 'Baby Bust': Why Fewer Young People Expect to Become Parents (2013)
Yes it has taken me a while to realize this now, as I had bought into the "well kids are a valid excuse, so who am I to complain?" propaganda for too long. I'm starting the leetcode grind / github "resume" update since the start of this month for that reason.
_huayra_··on 'Baby Bust': Why Fewer Young People Expect to Become Parents (2013)
This is exactly the "holier than thou" attitude I was talking about. This is the 21st century and except in extremely rare situations (for which I can't even come up with an example, tbh), kids are a choice. Having the responsibility to take care of kids is a consequence of that choice.

It's not a bad choice, but treating the consequences of that choice as a reason for slacking at work as being more valid than others when the outcome to the team is the same (i.e. less time doing work) is the issue.

← PreviousPage 3 of 17Next →