HNHacker News
TopNewBestAskShowJobs

debug-desperado

108 karma · joined February 25, 2019

submissionscomments
debug-desperado··on Uber Wasted $2.5B on Self-Driving Cars
Roborock brand (Xiaomi) uses visual + lidar + bumpers. Supposedly it can avoid pet poop.
debug-desperado··on Database Version Control with Liquibase
Just got through consulting for a shop that thought a similar bespoke migration system was all they needed. Since the team was quite large and the CI/CD pipeline so slow, tons of time got wasted every sprint resolving the merge conflicts, getting rid of duplicate includes from auto-merging, etc.

I agree with the other replies - PLEASE don't do this. Use liquibase, flyway, or any other tool. They both let you write everything in SQL if that's your preference. The initial setup time will be saved later on if the team grows.

debug-desperado··on Epic, Spotify, and Tinder form advocacy group to push for app store changes
Competition is good for consumers. It's very brave of Tim Sweeney et al. to take up this cause, and I hope they succeed.

We shouldn't tolerate the monopolies, duopolies, and _opolies of our age. The early 20th century progressives understand how harmful they were to the common man.

debug-desperado··on iOS 14 is available today
Classic "virtual surround" works like you've noticed in VLC. I believe the new spatial audio formats (including Apple's) all use a standard HRTF (head-related transfer function) that approximates an average person's ear canal shape. This lets you be placed in a virtual space surrounded by audio sources/objects.

Sony's Mark Cerny had a fascinating talk on PS5's spatial audio implementation. Sony might even support importing a custom-measured HRTF for even greater sound placement accuracy. No idea where you'd get it measured though!

debug-desperado··on iOS 14 is available today
Do you know how it compares to Dolby Atmos for headphones, DTS Headphone:X, and Windows Sonic? Those solutions all work with conventional stereo headphones.

Edit: after more reading I believe the main difference is the sensors in the Airpods Pro track head movement. For instance the virtual center (dialog speaker) would always appear to be coming from the display device, even if you move or tilt your head.

debug-desperado··on Database “sharding” came from Ultima Online? (2009)
Cool. What sort of "path for new players to have a meaningful impact on the game world" does EVE provide?
debug-desperado··on Pretending OOP Never Happened
Taking care of instantiation AND teardown saves devs from doing quite a lot of work.

Do you use Dagger for your DI needs or do you roll your own container?

debug-desperado··on Pretending OOP Never Happened
Without DI frameworks and IoC class design, good luck testing your OO code.

I also don't get the Spring hate and what that has to do with creating "one big function and a few global variables."

debug-desperado··on Restoring the Gold Filter in Deus Ex: Human Revolution – Director’s Cut
"I can’t explain what is going on here from the technical side, but I assume the shader got converted incorrectly from the source platform (possibly Wii U)."

The consensus from Steam forum posts is that the Director's Cut version is littered with downgrades throughout: missing gold filter, lower res textures in places, lighting differences, etc. Also there are many patched-out bugs that had regressions with the Director's Cut.

It's still a great game, and I applaud the author's efforts to restore it. I'd wager that the effort to bring this version of the game from Wii U back to PC was a merge from hell and too many things just got looked over.

debug-desperado··on MVC is dead, it's time to MOVE on (2012)
Hilariously, this is basically the pattern everyone figured out long ago with Windows Forms apps. Model View Presenter with decoupled events that are fired off to any subscribed listeners. Multiple screens and models can be updated as needed. Very easy to do in a C# app thanks to uncluttered syntax for events.

Go check out the "Microsoft Patterns and Practices" frameworks from decades ago to see many examples of this.

debug-desperado··on Uber lays off 435 people
Can you tell me if the M3 (time series db) team is still healthy? I was planning to evaluate it soon.
debug-desperado··on ORMs Are Backwards
That's a fair criticism about auditing. Doing it through database triggers avoids the problem with audits being missed because of code that doesn't participate in the Hibernate lifecycle (including native SQL queries and Criteria updates, yikes!).

I will also concede that under some circumstances it's too slow to bring the data to the code, and instead you have to bring the code to the data (i.e. PL/PGSQL). The sort of speedup is mostly from eliminating round trips and data marshaling, however. That's not quite a like-for-like comparison of an ORM vs a mapper.

The reason I stick to ORMs is mostly because of RAD tools that save me so much time. For instance, JHipster generates liquibase migrations and JPA entities. This gives me a relational schema very quickly. To avoid any "surprise" queries that tank performance, I do turn Hibernate's statement logging on when developing new features.

Next time if I can find some more tools to help with an SQL-only + stored procedure approach, I'll give it a deeper consideration. Maybe convince your company to open source some of tools it has developed!

debug-desperado··on ORMs Are Backwards
We’re really regretting going with MyBatis. Huge waste of time when most queries could be easily handled with Spring Data JPA.

Also now that we need auditing there’s a pile of work we could have have gotten mostly free with an Envers annotation.

debug-desperado··on Ask HN: Why is everyone here so obsessed with Lisp?
Lispy in the "processing lists" is easy and natural sense, but not in the more powerful "homoiconicity=code is data and data is code" sense.
debug-desperado··on Open-sourcing Sorbet: a fast, powerful type checker for Ruby
Interesting. Looks like Kasper and Lund are on a mission to fix the IoT mess and "democratize embedded development". I'm looking forward to their product launch.
debug-desperado··on Love It or Hate It, Java Continues to Evolve
I don't get all this about Spring being an "insane" way to do DI. It works well enough, and Pivotal is very thorough with their documentation. I would much rather RTFM than dig randomly through the code and hope I find what I'm looking for.

How exactly does Guice differ in request- or session-scoped injections that makes it that much better?

debug-desperado··on Too Many Medicines Simply Don’t Work
Aren’t retinol creams just as effective and much safer? They worked well for me from in my late teenage years.
debug-desperado··on Why Racket? Why Lisp?
It's a bit anachronistic to compare Lisp's goals from 40 years ago to current JS situation. The latter we're stuck with for political reasons, while the former really did need to overcome hardware limitations to be successful in that era.

Also with Typescript being adopted by most major JS projects, I wouldn't say that dynamic typing "won."

debug-desperado··on Sony reveals PlayStation 5 details
The more pixels you throw at font rendering, the better. It also allows for cleaner upscaling from lower resolutions. However, those two uses are needed more on computer monitors, not TVs.

You are right that most folks with 50-65" TVs at 2-3 meters don't benefit from anything higher than 1080p.

debug-desperado··on Winter Is Coming for Java Updates
Saw a presentation from the Azul guys about Zing last year. They have a very impressive product, and the number of ex-Sun engineers is reassuring. They also seem to have a good relationship with Oracle.

Among the repackaged OpenJDK offerings, Zulu is at the top of my list.

debug-desperado··on I Miss Rails
I bet. After doing the Kotlin Koans I'm itching to get away from Java.

There is a JHipster Kotlin blueprint that generates the backend code with Kotlin instead of Java. Can't wait to use it.

debug-desperado··on I Miss Rails
Groovy and Grails are still around but probably not as big a push anymore.

I would highly recommend JHipster to bootstrap a new Spring Boot app. It does monoliths or microservices and gives you a great scaffold to build on top of.

debug-desperado··on In Defense of YAML
HOCON is a very nice configuration format that should be preferred to JSON and YAML - it really deserves more adoption. I always reach for Lightbend Config on non-Spring projects.
debug-desperado··on AirPods with Wireless Charging Case
I haven't had any issues after sweaty runs either. Occasionally they won't sit right in the case and won't be charged though, likely due to being upside down in the gym bag.
debug-desperado··on Java 12
Data classes will reduce the need for Lombok/immutables. Less so for value types.
debug-desperado··on Google unveils Stadia cloud gaming service
With new consoles in 2020 and a stronger push from Microsoft for cloud gaming, I'd say 2022.

Cloud gaming needs a killer multiplayer game that requires massive parallel compute (thus it can't be run locally) to make a case for sticking around.

debug-desperado··on Why I believe Rails is still relevant in 2019
100% this. Whenever folks recommend simpler options like JDBI, I have to shake my head. Rolling your own query builder with string templates feels like an SQL injection attack waiting to happen. If you know 100% going into a project that you won't have to modify the structure of your queries based on user input, then it's an acceptable option. But it's quite common, at the very least, to have user input that results in variable number of terms in where clauses.

Hibernate is quite powerful and the tooling in IntelliJ (or Eclipse) catches many common mistakes at edit time. Where most folks get themselves into trouble is with all the caching setup. Not surprising, but if you want to just use Hibernate as a cache-less mapper there's always the StatelessSession interface.

I also don't get the oft-repeated notion that ORMs result in bad table design. You can map any tables you can dream up. And if you insist on doing inheritance, Hibernate has 4 different strategies for mapping to classes. Certainly one of those has the performance characteristics you're looking for.

debug-desperado··on Austin Is Building a Mini Silicon Valley
I find myself staying late at work (mostly doing self study or hacker news reading if I'm lazy) because Mopac commute times become totally reasonable somewhere between 6:00 & 7:00 pm. Like for every 90-120 seconds I stay in the office my commute time drops by like 60 seconds.
debug-desperado··on Node.js Logging Made Right
It’s not just Java, it’s any programmer with proficiency in any other language, including those that are quite proficient at JavaScript. The sentiment after our team wrapped up a recent Node project for a client was basically “the internet keeps lying about the maturity of the node ecosystem”. That was with the latest TypeScript and an architect who was very good.

The event loop model that Node uses is easily replicated in other programming languages. It’s not a sensible default though, blocking code is better for most domains.

← PreviousPage 4 of 4