Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
DanielHB
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
44 ms
·
841.
▲
by
DanielHB
2y ago
Just out of curiosity what kind of hard projects did you do at the bachelor level? I had to build a unix shell, implemented some CPU scheduling algorithms (but didn't actually integrate it into a proper OS), did some B-tree stuff as we
842.
▲
by
DanielHB
2y ago
That is pretty neat, I haven't done serious Java development in ~10 years but I do vaguely remember hot swapping would eventually cause out of memory errors. I was using standard OpenJDK 6 and 7 at the time.
843.
▲
by
DanielHB
2y ago
Seems reasonable, maybe it was just my project but it took around 3 minutes to recompile + run. I guess actually starting the application took a decent time as well. To be fair it was 10+ years ago with a pretty crappy laptop even for the t
844.
▲
by
DanielHB
2y ago
I wouldn't call the compile times super fast, but they were not that bad. I brought up the hot code swap thing because I did use it a lot when I was doing Java development.
845.
▲
by
DanielHB
2y ago
When I used to program Java I absolutely loved hot code swap and was always amazed how little people even knew it was possible. If you have a massive codebase no matter how fast your compiler is, re-compiling is going to be slow. But hot co
846.
▲
by
DanielHB
2y ago
One thing I never understood about government policy with renewable energy is that surely it is a country's best interest to be as much energy independent and energy diversified as possible. Both from national security, geopolitical an
847.
▲
by
DanielHB
2y ago
A fast hot code swap of a module is a more important feature in my opinion, but it is somehow even harder to find these days than a fast compilation speed language. But ideally I want both.
848.
▲
by
DanielHB
2y ago
Other languages with less powerful macro systems often create a DSL (domain specific language) for this kind of problem. With Javascript it can even be mixed in with normal code through the use of tagged template literals. For example:
849.
▲
by
DanielHB
2y ago
What we really need is a standard bytecode representation for relational queries so tooling can become more agnostic and more powerful. It is kinda crazy the contortions you have to do to make some dynamic queries with the existing tooling.
850.
▲
by
DanielHB
2y ago
I disagree, first-class functions and closures are just so very useful to the point that even languages that have added it after initial release still feel gimped today because a lot of the older libraries (and probably most of the stdlib)
851.
▲
by
DanielHB
2y ago
I agree with all arguments made in the article from a certain point of view. And that is of a large org with several teams, his point about reducing coordination between the teams is crucial in the trade-off calculation. If you have a small
852.
▲
by
DanielHB
2y ago
Half of the reason Lisp never caught on is that other languages have become better and added many of the Lisp features. First-class functions especially are is the killer feature you can't live without anymore once you tasted it. The o
853.
▲
by
DanielHB
2y ago
Boilerplate that you can't get wrong is better than DRY in most cases by "get wrong" I mean through static analysis (linters or type checkers) or if it is plainly obvious by running it.
854.
▲
by
DanielHB
2y ago
GraphQL is the quintessential move fast and break things technology, I have worked in orgs and know other people who have done so in other orgs where getting time from other teams is really painful. It is usually caused by extreme pressure
855.
▲
by
DanielHB
2y ago
> It is far better for the Backend to provide Frontend a contract It sure is better for the backend team, but the client teams will need to have countless meetings begging to establish/change a contract and always being told it will
856.
▲
by
DanielHB
2y ago
Supporting old architecture takes A LOT of engineering effort for complex physical devices, creating new architectures from scratch with the learnings from the old architectures often costs too much (and you still need to support the old sy
857.
▲
by
DanielHB
2y ago
The reason it is like that is because GraphQL is intended for highly distributed backend where at any time one of those backend services might be unavailable and failing the whole request when only a single deeply nested field is missing wo
858.
▲
by
DanielHB
2y ago
Pure REST API is a huge pain in the ass to use and leads to bad performance because of waterfall requests. It is like the number one thing GraphQL solves for most people, decide which nested relationships to inline into a response. The simp
859.
▲
by
DanielHB
2y ago
GraphQL is very good for places where frontend and backend developers are isolated from each other (separate teams). Or rather places where you have data-producers and data-consumers as separate teams. If you have a big enough org eventuall
860.
▲
by
DanielHB
2y ago
I think the main problem with stack traces is that they incur huge performance hit whenever they are created. Wrapping errors with each error having their own stack trace can create huge performance problems if they happen as normal course
861.
▲
by
DanielHB
2y ago
I think these gen ai will be quite useful in mass produced art, things like video games and animations (3d and 2d). A human creates an art direction with concept art and reference models and then feed into gen AI tools to output large volum
862.
▲
by
DanielHB
2y ago
Changing handles in busses/trains from metal to plastic probably killed more people than a lot of other common causes. Everyone is touching those things, they are dirtier than cash.
863.
▲
by
DanielHB
2y ago
I thought so too originally, was very surprised.
864.
▲
by
DanielHB
2y ago
number is a primitive, branding a primitive can be done like in the example. To brand a class you could also add a private field. Some languages all values are objects and in those languages then the branding argument applies the same way.
865.
▲
by
DanielHB
2y ago
There is nothing to fix in my example, I was just highlighting the difference between nominal and structural typing. Adding a private field to the class is a form of branding (just like adding a Symbol key to a primitive).
866.
▲
by
DanielHB
2y ago
yeah this is such a common misconception, but give the class example I showed and people just get it. "structural typing" and "nominal typing" are still quite new terms for most devs
867.
▲
by
DanielHB
2y ago
I see where you are coming from but you are not quite understanding what the OP was saying class A { public value: number } class B { public value: number } const x: A = new B() // no error This is structura
868.
▲
by
DanielHB
2y ago
Most queries are pretty trivial, ORMs are great for 90% of queries. As long as you don't try to bend the ORM query system to do very complicated queries it is fine. Most (all?) ORMs allow raw queries as well so you can mix both. On top
869.
▲
by
DanielHB
2y ago
> I was especially glad of Lazy Loading, where I didn't have to load data from the database into my memory structures; the system would do that automatically. oh god, I have used Java with Hibernate a lot and once I read "Lazy
870.
▲
by
DanielHB
2y ago
I know about that, but that was mostly to run android apps on windows. I never tried it but I assumed most things related to Google Play Services didn't work in it. In any case I was just reminiscing about Microsoft not properly pushin
More ›