HNHacker News
TopNewBestAskShowJobs

vvanders

14,277 karma · joined March 19, 2015

https://github.com/vvanders
submissionscomments
vvanders··on Kagi Assistant
The "forum" lens is worth it just for the cost of admission alone. Cuts through all the AI generated SEO garbage in an incredible effective way.
vvanders··on We need visual programming. No, not like that
Not even all textual languages map well to every problem space.

Blueprints are a good callout(and Kismet before them). Many PLCs[1] are heavily visual language based with Ladder, FBD or other variants. I wouldn't be surprised if they were the most widely used application of visual programming languages.

[1] https://en.wikipedia.org/wiki/Programmable_logic_controller

vvanders··on Firing Myself
I'm fairly certain it occured since the story was first-hand and about 12+ years ago(although they may have lifted it from similar sources). It's not a bad way to diffuse things if it's clear there was an honest mistake

Your point on willingness to learn is bang on. If there's no remorse or intentionally negligent then yes that's a different story.

vvanders··on Firing Myself
Yep, been adjacent enough to a couple large ones through my career to see the details and been up-close to a few that this is the right way to approach it.

Did the person know they screwed up? Did they show remorse and a willingness to dive in and sort it out? They likely feel like absolute shit about the whole thing and you don't need to come down on them like a ton of bricks. If that much damage could be done with a single person then you have a gap in your process/culture/etc and that should be addressed from the top.

One of the best takes I've seen on this was from a previous manager who when confronted with a similar situation as the article(it was a full DB drop). The person tried to hand in their resignation on the spot, they instead(and I'm paraphrasing here) said: "You're the most qualified person to handle this risk in the future as we've just spent $(insert revenue hit here) training you. Moving forward we want you to own backup/restore and making sure those things work".

That person ended up being one of their best engineers and they had fantastic resiliency moving forward. It turns out if you give someone a bit of grace and trust when they realize they screwed up you'll end up with a stronger organization and culture because of it.

vvanders··on Moving to a RTOS on the RP2040
Docker is great if you don't care about your build performance across a wide range of hosts, it's probably fine for small projects but I've seen incremental build times climb quickly where docker support wasn't the best(i.e. OSX).
vvanders··on Moving to a RTOS on the RP2040
It's not Ardunino cheap but I've been a fan of Automation Direct, they've got a couple fairly capable PLCs and they don't try and charge you on the software and/or support.
vvanders··on 'The big problem is water': UK ebike owners plagued by failing motors
Electric motors have a wide power band but it isn't infinite[1], gearing does make a difference. If I'm in a higher gear on an incline my motor has significantly less usable torque vs shifting down to a gear that's closer to the power band.

Now if that is worth the complexity/cost is a fair debate but there are mechanical advantages to mid-drive motors.

[1] https://forums.electricbikereview.com/threads/ebike-motor-po...

vvanders··on Piccolo – A Stackless Lua Interpreter
> ... and frankly I really like just plain vanilla Lua. I think it matches perfectly with Rust because they're so different, I think having an Rust embedded language that frees you from even having to think about ownership is very powerful because it can be used for things where having to think about ownership can be more trouble than its worth. Let each language play to their strengths, and Rust and Lua in a lot of ways have complementary strengths.

Tons of awesome technical details in the post and I've always felt that Lua's co-routines are incredibly undervalued. We used to run Lua in all sorts of crazy places and it really punches above its weight.

The above quote + zoom out at the end also makes some really good observations. Some of the most powerful systems I've worked on picked a couple core technologies that were complementary with good interop rather than a one-size fits all. Will be interesting to see where Piccolo goes.

vvanders··on The server chose violence
From a "system engineering"(not to be confused with software engineering) perspective they seem quite similar, in my view even something like a watchdog timer(which just about every CPU/core has these days) is just a hardware version of similar philosophies. This[1] is one of my favorite overviews on Erlang and what drives some of those design decisions. You can absolutely apply the same systematic thinking to other domains/places without having to bring OTP or even Erlang into the conversation.

[1] https://ferd.ca/the-zen-of-erlang.html

vvanders··on The server chose violence
> that can tolerate no real-world chaos, and I'm not aware of any commercially viable realms which would either.

Watchdog timers will happily kill/restart your processes that don't poke them often enough. Even in my hobby exercises I've seen I2C busses hang up often enough(and bring the whole system down!) when some protocol bit goes wrong that I think the design is actually quite inspired. As I understand it this isn't talking about known error cases(that are handled) but protocol mismatches and other things that shouldn't ever happen.

Many other comments touched on it but it's a purpose built OS, much in the same way I'm not going to build a UI in Erlang, Hubris seems well positioned for the space that it occupies.

vvanders··on Leaving Rust gamedev after 3 years
Yeah, it's a fairly clean and natural divide. You see it in most of the major engines and it was present in all the proprietary engines I worked on(we mostly used Lua/LuaJIT since this predated some great recent options like quickjs).

We even had things like designers writing scripts for AI in literate programming with Lua using coroutines. We fit in 400kb of space for code + runtime using Lua on the PSP(man that platform was a nightmare but the scripting worked out really well).

Rust excels when you know what you want to build, and core engine tech fits that category pretty cleanly. Once you get up in game logic/behavior that iteration loop is so dynamic that you are prototyping more than developing.

vvanders··on Leaving Rust gamedev after 3 years
We were doing threading beyond that in 2010, you could easily have rendering, physics, animation, audio and other subsystems chugging along on different threads. As I was leaving the industry most engines were trending towards very parallel concurrent job execution systems.

The PS3 was also an interesting architecture(i.e. SPUs) from that perspective but it was so distant from the current time that it never really took off. Getting existing things ported to it was a beast.

Bevy really nails the concurrency right IMO(having worked on AA/AAA engines in the past) it's missing a ton in other dimensions but the actual ECS + scheduling APIs are a joy. Last "proper" engine I worked on was a rats-nest of concurrency in comparison.

That said as a few other people pointed out, the key is iteration, hot-reload and other things. Given the choice I'd probably do(and have done) a Rust based engine core where you need performance/stability and some dynamic language on top(Lua, quickjs, etc) for actual game content.

vvanders··on Ask HN: Any advice on navigating this job market or pivoting out of tech? (US)
If you think the current market is bad pivoting into the game industry is not the direction I would go.

The baseline for that industry is... bad and the latest round(s) of layoffs in that industry has made it worse.

vvanders··on Tractor cab looks like a space ship (2021) [video]
It's more of operating vs using, we had a CUT and there were situations where you want the control(diff lock, split brakes to turn in-place, etc).

Hydraulics and attachments open up almost an endless possibilities.

vvanders··on Lightweight woven helical antenna could replace field-deployed dishes
That's actually a really common lightweight SOTA[1] antenna.

[1] https://www.sota.org.uk/

vvanders··on Collision Detection (2015)
One of my favorite books is Real-Time Collision Detection[1] which covers this and other adjacent topics(like cache line aware data structures!). I generally refer to it as "data structures for 2D/3D" and I think only the Art of Electronics has more value on a page-by-page basis for the domains I've enjoyed.

[1] https://realtimecollisiondetection.net/books/rtcd/

vvanders··on Anime is a $25B industry that pays its animators pennies
I generally agree, that said we had a number of our animators move into gamedev from traditional VFX roles and from they way they told it gamedev was significantly better, uf da.
vvanders··on Diesel-Electric Conversion Kits for Old Pickups
Yeah, I think there have been a few tractors that have used them. I wish it was an option over hydrostatic transmissions.
vvanders··on Apple is officially no longer selling the newest Apple Watch in America
https://www.phonearena.com/news/HTC-had-shipped-blocked-phon...

Happened back in '11 when they were going after Android OEMs, despite the fact that the actual devices weren't infringing they still tried to get them blocked.

vvanders··on Why are there no PowerLine Smart Plugs?
Hams hate them since they induce RFI, I'm honestly surprised they are allowed given they basically turn the unshielded wire in your walls into antennas.
vvanders··on All About Cats, and What Ethernet Classifications Mean
PoE is awesome, I've been using it for years but it still feels like the future when I plug in a device and it boots up with power+data.

I just ran a couple runs to an in-wall AP + 2 1gbe port(w/ one PoE) and it's so awesome to have that all done with one cable.

vvanders··on Now you're thinking with relays
You see similar things in HLD languages, from my external observation building hardware/gates has a very different mental model.

FWIW if you're building something at a certain small scope ladder is perfectly serviceable.

vvanders··on The costs of microservices (2020)
IMO catching bugs is a nice side-effect of code reviews.

The primary value I've seen across teams has been more on having shared team context across a codebase, if something goes bump in the night you've got a sense on how that part of the codebase works. It's also a great opportunity for other engineers to ask "why" and explain parts that aren't obvious or other context that's relevant. We'll find the occasional architectural mismatch(although we like to catch those much earlier in the design process) and certainly prevented bugs from shipping but if that's the primary focus I think a team is missing a lot of the value from regular code reviews.

vvanders··on FCC wants to bolster amateur radio
Thanks for confirming that attitude still exists :)
vvanders··on FCC wants to bolster amateur radio
Oh it's useful and if you want to use it that doesn't change. However a number of us are interested in the digital and experimental side of ham radio, for that morse code doesn't really offer anything and it's a non-trivial hurdle to cross.

The hobby already struggles with gatekeeping/driving off people who don't "ham right" and so making the hobby more accessible is a big positive in my book.

vvanders··on FCC wants to bolster amateur radio
Finally.

This has always felt backwards and I hope it leads to some more interesting modes across the bands.

vvanders··on Solving the 100GB Game Download
Yep, you even had to account for this on spinning media(i.e. DVDs) where you'd want "seek-free" loading since you'd hitch/stall of you ended up bouncing all over the disk.

I worked on a title where this was particularly problematic from a game design perspective(limited ram, large assets), we ended up designing in "slow" sequences to mask the disk load.

vvanders··on Why Async Rust?
If you've got a sync codebase you can constrain most of the async pieces via block_on[1]. That said my experience is the async bits tend to mostly pop up in the http/web space and it's fine language for the domains you mentioned.

[1] https://docs.rs/tokio/latest/tokio/runtime/struct.Runtime.ht...

vvanders··on Airliner Repair, 24/7 Boeing’s traveling fix-it team (2008)
One of my college classes was taught by someone who worked in whatever that group was/is called. One of the best classes I took and definitely had some great stories to tell as well.

He didn't have a degree so in order to have a class that was accredited his co-worker(who was also fantastic) had to be the "professor of record" and they co-taught the class(since he actually had a masters and was "qualified" to teach).

vvanders··on Unity's Just Not into You, Indie Developer
> Since my biggest annoyance with proprietary software or in this case game engine is that you can create the most elaborate sub-engine (for example a fully-dynamic RPG) and see it all come crashing down because some dimwit at Epic Games reeeeally wants to push the latest eye candy that breaks your sub-engine.

Uf, feel that one. If the engine isn't designed with your genre in mind you may be making some significant structural changes(which will be interesting to see how open source engines handle that).

Even if they don't take the engine a different direction the up-leveling cost of getting new features/bug fixes is significant. Back when I was working in industry we had one person who's almost fulltime job was to merge -> fix compile errors -> fix runtime issues -> checkin change and uncover more edge cases that got broken -> repeat process, it was brutal.

← PreviousPage 2 of 34Next →