HN user

nycdotnet

405 karma
Posts2
Comments114
View on HN

In the section “Hardware-accelerated WAL checksums” he explains how the JIT compiles away the hardware support stuff depending on the exact capabilities of the system its on. With AOT you don’t get this - it’s way more coarse like x64 vs ARM

TypeScript tried to accurately model (and expose to language services) the actual behavior of JS with regards to null/undefined. In its early days, TypeScript got a lot of reflexive grief for attempting to make JS not JS. Had the TS team attempted to pave over null/undefined rather than modeling it with the best fidelity they could at the time, I think these criticisms would have been more on the mark.

I am a C# dev by day and love working with it. I miss interfaces, Linq, and the nicer pattern matching features of C# when using GDScript, but overall GDScript is quite adequate for what it needs to do and the game dev loop feels faster when using it. They can interop as well without too much friction, so if you have the .NET version of Godot, it can have some code in C# where (if?) you need it and other code in GDScript when you don’t.

The shuttle’s solid rocket boosters splashed down in the ocean via parachute, and were recovered and reused. The main engines and thrusters/rcs were also reused. Only the external tank was disposed. The issue with the shuttle (among many) was that the reuse was not actually economical due to the maintenance required between each launch.

In some software platforms, the tooling makes it really easy to use a debugger to see what’s happening, so it’s common for everyone on the team to use them all the time.

The comment you’re responding to mentioned pulling code into a function. As an example, if there’s a clever algorithm or technique that optimizes a particular calculation, it’s fine to write code more for the machine to be fast than the human to read as long as it’s tidy in a function that a dev using a debugger can just step over or out of.

Excited for this release! Have you heard from Intel yet? “Core 2 Duo” was the name of one of their processors in the early days of multicore on a single package.

Edit: preordered!

Agree. With patterns like this you are leaning on your db server’s CPU - among your most scarce resources - versus doing this work on the client on a relatively cheap app server. At query time your app server knows if $2 or $3 or $4 is null and can elide those query args. Feels bad to use a fast language like Rust on your app servers and then your perf still sucks because your single DB server is asked to contemplate all possibilities on queries like this instead of doing such simple work on your plentiful and cheap app servers.

no barge for super heavy- the point of the catch is to save weight on the massive legs that would be required. It “soft landed” in the Gulf a few miles off shore, meaning they did a burn and it entered the water not in freefall (though it still looked faster than I expected).

yes the booster’s structure is very strong vertically but not nearly as strong horizontally. There may be some “squeezing” forces from the chopsticks but this is effectively for fine positioning only. It will not support the weight. The booster will “land” by getting its pins (which stick out a bit) on the top rail of the arms.

Yes. The booster has two pins that stick out at the top that are designed to hold the weight of the entire booster when empty. The plan is for the booster to return to the launch tower, position itself between the arms which will close on it and then the pins will “land” on the arms, completing the catch.

The 2038 bug is less than 14 years away at this point. There is an astonishingly greater amount of software out there compared with 24 years ago. I don’t want to be a doomsayer but it’s probably time to keep this in mind anytime you implement an epoch going forward.

The space shuttle had three main components - the orbiter (white and black space plane with the crew and cargo), the external tank (rust brown on all but the first few flights), and a pair of solid rocket boosters. The orbiter had three engines and received its propellant (oxygen and hydrogen) from the external tank. At launch, the solid rocket boosters (SRB) and the main engines were all running so technically they can all be considered part of a “first stage”. The SRBs would expend their propellant in around two minutes and separate. They dropped into the ocean, slowed via parachute, and were recovered by boat and refurbished. The three space shuttle main engines would continue to burn for several more minutes until the external tank was depleted. The ET would be discarded and burn up on reentry. Then the orbiter would use two small rockets with internally stored hypergolic propellants to boost up to its intended orbit.

Apollo/Saturn had a much more traditional staging design where the first stage booster would run then drop off, then the second stage booster would run, then drop off, etc. There exist other rockets like the Atlas which had what they called a “stage and a half” design where the center stage burned for a long time and there was an outer “ring” stage that dropped off after a shorter time while the center stage kept going.

After going to the moon, the only part of the entire Apollo/Saturn rocket that came back was the command module capsule with the astronauts and moon rocks. These were completely torched and affected by salt water and were not designed to be reused. Reentry from the moon is significantly faster than reentry from low earth orbit.

The shuttle orbiters were refurbished and reused. It was a very difficult, expensive, and time consuming process to get an orbiter ready for another flight.

All of that is to say that the picture is blurry for the shuttle regarding first stage reusability. Yes the SRBs and orbiters were reused and were lit at launch. The ET was in use at launch but discarded. In my opinion it’s sort of not that interesting to argue what is and isn’t first stage on the shuttle because the elements just don’t map cleanly.

The design of the system with the SRBs, tank, and orbiters being adjacent to each other is considered by many to have been too dangerous in retrospect. This design was a factor in both shuttle disasters - the SRB shooting fire at the ET causing it to explode on Challenger and cracked foam falling away from the ET during launch and hitting the leading edge of the orbiter wing for Columbia. If they were stacked vertically rather than adjacent, those specific failure modes would not have been possible.

Hi - can Grace support partial commits somehow? Such as if I want to check in part of a file but not other parts? This is a key feature of Git for my workflows but doesn’t seem to be plausible at all if files are pushed up on save. Unless this would be part of “promote requests” only?