HNHacker News
TopNewBestAskShowJobs

munchbunny

6,784 karma · joined April 24, 2012

submissionscomments
munchbunny··on _Application.Run(Object, Object, Object, Object, Object, Object, Object, Object
Fair enough, but you've surely encountered those first two before.
munchbunny··on _Application.Run(Object, Object, Object, Object, Object, Object, Object, Object
You've caveated the "valid" answers out of existence. But here are some examples of or-ed concepts:

* parent or legal guardian (shows up on legal forms all the time)

* state or province (an English language political construct)

* DNS name or IP address

You could argue that "parent of legal guardian" is a legacy concept since it really just means "legal guardian", but it's literally written on legal forms, so it's a domain concept, except if you believe it shouldn't count because it's an anachronism.

You could argue that we don't need "state or province" since we can just say "region", but "region" doesn't mean "state or province" colloquially, and we have to be careful not to refer to Ontario as a state, so the distinction is important. Ironically, that distinction does not exist in Chinese, but it does in English.

"DNS name or IP address" absolutely are two different concepts, it just happens that URL's were specced to accept both as the "host" segment. So whether or not it counts as an example depends on whether you believe that the act of coining the term is also the act of erasing its status as an "or" relation. Alternatively, if you're implementing a web browser, that distinction absolutely does exist because you need to know not to try to resolve an IP address as a DNS name.

munchbunny··on “I am literally losing sleep” over Java (1996)
They tried to get a foothold in mobile (even bought Nokia’s mobile phone business), they just didn’t succeed.

Given how long Windows CE was around and then whatever they called the subsequent mobile focused OSes, I’m sure they did care while they still had a shot, but Android ate their lunch. Probably deserved to IMO, in the limited mobile development I’ve done Android was an easier platform to develop for.

10-15 years later, Microsoft is adopting Android for a Surface device.

munchbunny··on No code reviews by default
How do you systematically (and proactively) ensure your testing is thorough? With testing you often run into unknown unknown cases.

I’ve always code reviewed/gotten code reviewed on both the implementation and the tests, with completeness as the main quality you’re reviewing test code for. If that’s how we do it, we’re right back at code reviews.

munchbunny··on Code optimizations when using async/await
> Remember that the context of this discussion is achieving parallelism by not waiting - instead, you create promises in parallel, pass them on, and attach handlers at some later point, e.g. after collecting them in a Promise.all().

Aren't "await Promise.all(...)" and "Promise.all(...).then(...)" more or less equivalent? (I'm less familiar with how JavaScript handles it under the hood.) In one case the callback executes once the promise completes, in another case execution of code after the await resumes once the promise completes. The article was about only awaiting once you actually need the data, whether you do it with continuation passing or async/await seems like an unimportant detail.

munchbunny··on No code reviews by default
I think the question is the same one as "do bike helmets reduce bike injuries?" I.e. without code reviews, is everyone more careful? I can't think of any proper academic research that answers the question.

In my anecdotal experience, there is at least one class of bugs that code reviews are good at catching that a large expenditure of self-review effort often doesn't catch: security bugs.

munchbunny··on How to mentor software engineers
It’s coaching.

The way I think about it is that it’s coaching if you are making decisions for them about the path they should take. It works here because writing code is a fairly general skillset.

With mentoring, the crux of the problem is that you’re trying to help them navigate their specific situation. And in my experience both as a mentor and a mentee, “where are they trying to go and what do they really want?” is actually the hardest part, and it’s not something you can consistently answer because it’s their experience and you’ll never fully understand the nuances of it. You can’t lay out the path for them, you can only (try to) help them see further down the path they’re already on.

munchbunny··on Code optimizations when using async/await
Wait, isn’t awaiting inside the try{} exactly how you’re supposed to handle it in the first place? Assuming you’re using await and not .catch(). And if you await without the try/catch you just end up with an unhandled exception at the await, no?

I’ve yet to see any junior devs make the mistake of try-ing an unawaited promise. They’ve all seemed to appreciate the “async” aspect of the semantics up front.

munchbunny··on Ask HN: How do password managers make things better?
This is one of the big issues with MFA: you should ideally never create a single point of failure in the second factor, so you want two hardware tokens, a hardware token and a fallback TOTP, etc., but also ideally the ability to have fallbacks that do not rely on email or SMS.

Most websites including financial ones fail on the second point. And it worries me because SIM swapping is real and does happen to people you know.

munchbunny··on ItsDangerous
It still does. In practice one of the first things you do is to only accept the specific crypto algorithms you actually need to use. Libraries don't get that luxury because they need to be generic, but at least you as the web service implementer can do it.
munchbunny··on You can no longer bypass microsoft-edge:// links using apps like EdgeDeflector
> a PM gives you the “actively shit on our customers” ticket.

There usually isn't a "make the product worse" ticket. It's often more a matter of not having enough time to do it the interoperable way.

That's not to say "actively shit on our customers" tickets don't exist, just that it happens so often because of far less sinister, far more mundane reasons.

munchbunny··on The benefits of staying off social media
I think it's an over-correction around the introversion/extroversion divide.

It's true that sometimes I just don't want to be bothered while I'm running errands, but I wouldn't consider someone making small talk, cracking a joke in the elevator, etc. to be some sort of social transgression. As an introvert, chatting or small talk isn't really a chore, and I waste enough of my own time on my own time, so what's a few words with a stranger?

That said, it should be considered perfectly acceptable to signal that you don't want to stay engaged in a conversation if it's someone trying to explain their theory on building a perpetual motion machine. That actually happened. I did not want to stay in that conversation. But even extroverts don't like dealing with crazy.

It only becomes a chore when the talking itself is the work, such as dealing with Comcast charging you for a modem you totally did return, or dealing with the hospital when they incorrectly billed your health insurance and now they're trying to make you pay for the difference.

munchbunny··on Don’t be spooky
There’s a pretty simple fix for this too: “do you have a moment to talk about ____”? And if it’s benign, you can just say “I want to ask about ____”.

These days when you have chat as an alternative to saying it out loud with other people around, you can afford to tell someone what negative thing is coming: “hey when you have a moment let’s talk about how you handled _____”.

Then they know what’s coming. It might be unpleasant, but it’s not spooky.

And if you have to drop the news without a prior hint, regularly scheduled meetings can do that without people having their guards up.

munchbunny··on People prefer friendliness, trustworthiness in teammates over skill competency
“Clean record” doesn’t mean long track record, it means “no issues that I know of.”

People get the benefit of the doubt until they lose it.

munchbunny··on People prefer friendliness, trustworthiness in teammates over skill competency
Trustworthiness, more specifically having a clean record of integrity as opposed to just projecting a feeling of "you can trust me", is non-negotiable for me. If I don't think you're trustworthy, you're a risk to be managed and I can only really fit you into a Machiavellian mental model of "I can trust you only as much as our incentives align". I've had to work with people like that simply because it was out of my control, and it's tiring.

There are well-meaning jerks who are just rough around the edges but care a lot about doing the right thing. I might not like them very much, but I'll take a competent jerk over someone whose integrity I don't trust no matter how competent or polite they are.

munchbunny··on Chicken Checker – See how often salmonella was found at meat processing plants
It's not that onerous if you've gotten used to staging your food handling. You just prep everything else, handle the chicken, set aside in a dedicated bowl, then wash your hands and go back to handling everything else.

Once I'm cooking, I just use a dedicated pair of steel tongs for moving chicken around, then I don't have to keep washing my hands, I just clean that set of utensils once I have a moment.

I think it's still worth the effort, it's just some specific food handling practices. After all, it's not like I don't practice the same caution when I'm handling any meat, and even for any other meat I'd have to wash my hands when moving from handling meat to veggies.

munchbunny··on Diablo Immortal
Hell I still game and have trouble with that dissonance. I have lovely memories of Diablo 2 and StarCraft, played Diablo 3 and Overwatch, but the recent events convinced me to just not touch Blizzard games for a few years.
munchbunny··on Riding the Writing Wave
clear writers are clear thinkers

In my personal experience, this is doubly true in work contexts, even for/especially for disciplines that don't typically involve writing.

My personal anecdata is that there is absolutely a correlation between how well a product manager or engineer writes and how well-thought-out their ideas are when you start to drill down into what they are saying or asking.

munchbunny··on The strangely difficult problem of drawing a box around text
Not always. In my experience there are two things that tend to break when you try to render to canvas and apply the empirically measured dimensions to HTML text: (1) subpixel rendering because it does still exist despite high DPI displays, and (2) kerning and hinting don't always give you the same metrics inside/outside canvas, especially for non-Latin characters.
munchbunny··on Hooks are the best thing to happen to React
The magic is usually what gets to me. Stuff like useState depending on the order it was called under the hood, meaning you have to use it a specific way.

On the one hand, it really does clean some things up well, like for higher order components, but also I find the magic just leaks more than I’d like, and as a result I feel like the only way use the magic safely is to study all of the pitfalls.

It’s like using C++ smart pointers but a bit less foot-shooty.

munchbunny··on An enormous thread on alleged Google Facebook collusion
Google being on both the sell and buy sides and the “advantages” of using Google for both were things practitioners just sort of knew and had to live with, like “npm is a mess” and “A/B testing is often more storytelling than rigor“.

I suspect the reason it wasn’t a bigger bombshell is that ad exchanges are hard to understand beyond the surface level “it’s an exchange for ads”, and other ad exchanges were also dirty. Google wasn’t the only one doing questionable things being on both sell and buy sides of transactions:

https://www.businessinsider.com/guardian-takes-legal-action-...

One of the most astounding things I learned in my time in ad tech was just how wide the gulf is between how much the advertiser pays and how much the website owner gets. It’s one to two orders of magnitude difference, mostly made up in fees for all of the platforms and data and other value add in between.

munchbunny··on Apple M1 Max Geekbench Score
Isn't the i7-6700k 3-4 generations older at this point than the m1?
munchbunny··on Why I Hate Frameworks (2005)
> Buuuuuut.... the early stages of starting game development these days are, "What engine do you use?"

As someone who started from raw OpenGL and cobbling together various libraries (OpenAL, OpenIL, etc.), I think it's bad for pedagogy, but I love it for productivity. Just like React.js.

I think there's a huge advantage to not having to spend time writing code to glue together asset management to physics to animation to graphics to audio to AI and UI, etc., and also because scene graphs and entity/component systems are like game programming's equivalent to REST and MVC.

So once you know how to work with that stuff, jumping into an engine is a great way to get right to prototyping and skip all of the setup. But for building up the conceptual understanding... it's rough. It's just a totally alien way to think about programming if your background is classic frontend/backend.

> And honestly it can be a daunting choice. They're all quite large and have their own jargon and way of doing things. I can get through a "Hello, world!" tutorial in an afternoon but it'll take months before I get something useful to work and load my brain with all of the jargon to navigate the documentation and forums...

That's absolutely a problem, and I totally agree that it's exacerbated by starting from Unity as opposed to learning the component concepts individually. But that said, Unity genuinely saves me a ton of time, even if the result isn't as optimized. That goes double for VR, where the sheer conceptual load of designing/coding the interaction models makes doing it without an engine not really worth it.

> versus writing everything from scratch. It's a slower start but I have already learned a good programming language and can go from there. I don't end up with a black box of performance problems. Nor do I end up trying to shoe-horn my round game into a square peg. It's quite common going down this route to write your own data formats and tools as well: level editors, compilers, debuggers. And the productivity starts going up fast as you build momentum.

I think this is a difference of what you're trying to accomplish. An engine gets you off the ground much faster if you have trained on it because enough of the abstractions are common to most games that, for example, reusing a not 100% ideal graphics/physics/skeletal animation rigging/key framing/audio/collision detection system still saves you a lot of programming.

munchbunny··on The Microsoft MFA system almost brought me to a nervous breakdown
Speaking for my own experience, the sheer scale means that there are always errors in varying amounts and you are just dealing with the most important ones at any given time. Running with your needle in a haystack analogy: you will not go looking for a needle in a haystack, nor will that needle be relevant, if right next to it you have a whole bale of needles. And you often do.
munchbunny··on Ask HN: People who cashed out early and stopped working: What is your life like?
> Basing this comment mostly on personal experience since I’ve had both productive weekends and lazy/lost weekends and it generally depends on how the current job is going.

This resonates a lot. My partner is a startup founder, and fairly often their weekend is life maintenance and recovery because their work week allows nothing else. I spend much more time on side projects, but on some weeks I can tell on Friday that it’s not going to be a productive weekend by any standard except self care.

munchbunny··on Things I’ve learned in my 20 years as a software engineer
> Agreed, I don't know why the industry (or people?) in general have a problem with accepting this abilities gap.

I don’t think it’s that people have a problem admitting that there are significant outliers. It’s that there’s a backlash to the fetishization of “hiring 10x programmers” and most people claiming to be one really aren’t.

I know I’m good at it, but I am not and will probably never get to 10x on just writing code. I’ve worked with people who have a better claim to being a 10x. And having seen that, I have also never encountered any company that claims to hire 10x engineers that actually has a process to consistently hire even 1-2x engineers.

munchbunny··on How the .NET Foundation kerfuffle became a brouhaha
It's not, although Microsoft absolutely tries to make it much easier to write/deploy/maintain C# in an all-Azure tech stack. That's good or bad, depending on whether you have other reasons to be on Azure.

I'd say Visual Studio (not VSCode) is pretty much the only not-really-optional, not-really-free dependency. I suppose that means you also need to buy Windows.

Personally, while I use(d) C# for work and I think it comes with a solid toolchain and I have no big complaints, I have never chosen it when I could choose the stack from the beginning.

munchbunny··on New Microsoft Study of 60k Employees: Remote Work Threatens Innovation
Possibly, but I would more readily attribute it to COVID-specific causes. All of my friends and coworkers who have kids have been dealing with remote schooling, and they've all been noticeably more stressed because of it. My partner who is an extrovert suddenly had far less access to human interaction, and they've been visibly happier day to day in the more recent months despite work not being any less stressful in large part due to seeing more people in person. Zoom just didn't do it for them.

Myself too. It wasn't the remoteness that bugged me. I live less than 10 minutes from my office, so it's not like the lack of a commute even factored in. And I've worked with geographically distributed teams my whole career. It was the simultaneous social isolation outside of work and having just moved to a new location where I didn't have an established support network, taking away my normal channels for dealing with stress.

munchbunny··on New Microsoft Study of 60k Employees: Remote Work Threatens Innovation
I wonder to what extent it's not the remote work, but rather the accumulation of stress and burnout.

Anecdotally, a good portion of my team is teetering on the edge of burnout. We're not less productive because of remoteness, we're less productive because we're all getting less sleep and fewer productive hours. And it's well known that stress reduces creativity.

munchbunny··on New Microsoft Study of 60k Employees: Remote Work Threatens Innovation
Whatever pressure there is to push towards getting back into the office, I'm certainly not feeling it on the ground. With teams distributed around the world, to some degree a large amount of my work was already remote. Of course, I can't speak for any of the other tens of thousands of employees.
← PreviousPage 7 of 34Next →