HN user

touchpadder

36 karma

javascript

Posts14
Comments62
View on HN

The game uses DEM data and OSM maps to generate in a worker: 3D roads, intersections and tunnels. Everything is created in real time around you as you drive. The link takes you straight to a high speed race on a motorway in France. You can create your own races anywhere in the world and share the link with your friends. Press X to reset the car, long press X to return to the road. Press J for Nitro and long press to jump with the car.

This one is actually an SVG not a font. There was no such font but I really wanted to make this flaming Diablo logo. As a side effect now any SVG can be dragged and dropped onto the editor and all paths and shapes will be automatically extracted and flattened.

Until now such rich text effects required manual animation in programs like After Effects and exporting to videos.

Font.skin connects GPU shaders with webfonts to allow creating real-time, browser-based animated text effects never seen before on the web.

Global uniforms are compatible with Shadertoy i.e. iTime, iResolution etc. to allow pasting parts of shaders from ST.

Font skins can be exported to pure HTML or React and have no dependencies. Text transitions are scriptable in GLSL which is transpiled to JS. This is to allow exporting to game engines in the nearest future as transpiling from GLSL to other strongly typed languages is simpler than from arbitrary JS. The resulting code together with all required glyphs, gzipped often takes less space than a screenshot of itself or the font it's based on i.e. 30KB

For simple devices like IOT etc to be able to keep using the short 32bit date format. Also for databases that may store dates as integers to save the space. There are plenty of cases that may want to keep using a short 32bit date format. After 2038 anyone will be able to count 32bit time from any arbitrary point of time so before that happens I'm simply suggesting a standardized way of reliably restarting it for centuries to come

Using negative values would only complicate things and the goal is to have a simple solution for not losing convenience of having a unix timestamp that fits in 32bits and is very straightforward.

In 99.9% cases there will be no need to keep track of the epoch just like the current computers don't look before 1970. In rare cases if its required the epoch can obviously be stored in another byte.

There's nothing ambiguous when the epoch is known and the previous one is long gone. So you're confused about restarting a timer every 50 years, ok.

It's not true that it's much simpler to work with two 32bit words for a date than working with simply restarted clock. Basic arithmetics cannot be used reliably so every operation must go through a library like i.e. bigint used to require. This complicates the system and the goal of having a reliable 32bit date format in the future is for simplicity.

For purposes that require looking far into the future or the past we already have ubiquitous 64 bit computers. The goal is to be able to fit the measure of time in 32bits in a standard way even after year 38 to have an alternative to using only 64bit time. 32 bits can only fit so many seconds so the clock must be restarted from time to time. The idea is to have a new 32 bit epoch every 50 years.

By assuming which epoch it is and it will be clearly a separate data type from the old unix epoch. Currently the assumption is the epoch which started in 1970. 50 years is long enough period of time to keep a standard and 18 years is long enough to switch to a new standard. With the updated standard it is simply epoch 2 now that is ignorant about any epochs before or after.

Sure, using 64bits is one way but many devices i.e. IOT don't need 64bit support. 64 bit will definitely be a standard, but a concurrent standard can be implemented to allow keeping the time in 32 bits. Starting a new epoch every 50 years could be one. So starting from 1 Jan 2020 we're in epoch 2 now

Starting a new epoch every 50 years is kind of round and leaves plenty of space in between. 1970 is epoch 1, so this one will be epoch 2 and the next one in 2070 will be epoch 3 etc. It will be easy in a few hundred years to know which epoch is the current one. 2020 not 2000 for backwards compatibility to keep the intervals even for the new epochs, because the first one is already baked everywhere so we can't switch it to 1950.

Same issue in progress here! I've been working for a few years on an editor(forked from Three.js editor) for my browser game bad.city and now I'm separating the editor, rewrote it in react and the current goal is making an easy-to-start-with game level editor with many assumptions. We'll see how that goes

This may work in a small colocated team where everyone is experienced/smart cofounder and knows the codebase by heart but in a larger team where new devs keep joining it would be a total disaster. Undoing errors that were pushed to master is a bigger waste of time than doing reviews. If all developers are good the reviews usually take a minute and only a quick scan for anything alarming.

In my private projects when going again over my code in i.e. Source Tree I'm tempted to stage stuff that is messy with many comments and should be rewritten hoping I'll come back to this another day. The temptation is too big when there's no one looking. The fact someone will be reading your code encourages a proper cleanup before creating a PR.

I became interested in economics just because I was searching for some boring stuff to post in my Facebook feed to lower my insurance quote on a Camaro SS.