HNHacker News
TopNewBestAskShowJobs

damieng

128 karma · joined May 29, 2014

submissionscomments
damieng··on 5x5 Pixel font for tiny screens
You can get nicer 5x5 fonts amd it was not that uncommon back in the day. 4 wide is not too bad if you make the center of M and W just two pixels inset from top or bottom respectively or borrow the spacing column.

Plenty of systems did it like CP/M on the Spectrum +3 and it looks pretty decent.

damieng··on Icons in Menus Everywhere – Send Help
I remember when these first started appearing in Windows was around the time toolbars became popular.

I think the idea was the most common ones had icons which matched the toolbar button so you could start with the slower-but-more-comprehensive menus and then notice the quicker toolbar equivalent through their matching icons.

damieng··on I Let Claude Build My Home Network: Two ISPs Bonded, $312/Year Saved
I also went with an Xfinity cable and Frontier fibre combo in about 2018 I think.

I just bought a Synology RT2600 router at the time and plugged each provider in then set it to load balanced.

Reliability and speeds were great. Possibly not as optimised as this perf wise but a lot easier to setup.

damieng··on .NET 10
If you use LINQ and have ever used areay Contains youre about to find out it's not going to be smooth. They knew about this for a year but decided coercing to span in an expression tree despite it being invalid wasn't worth fixing.
damieng··on How to self-host a web font from Google Fonts
Even better download it, subset it then base64 encode it into your CSS for zero FOUC.

https://damieng.com/blog/2021/12/03/using-variable-webfonts-...

damieng··on AWS in 2025: Stuff you think you know that's now wrong
I'd argue putting CloudFront on top of S3 is less complex than getting the permissions and static sharing setup right on S3 itself.
damieng··on Eliminating JavaScript cold starts on AWS Lambda
In my experience the type of developer using JS for their Web apps rarely overlaps with someone comfortable doing high performance C++ runtime work.
damieng··on [dead]
I wrote a LINQ provider (.Net) for Elasticsearch. Was quite the challenge dealing with the sorts of quirks and subtle differences between the two. Case sensitivity and the tokenization are also hurdles to overcome but mapping Group by to Elastics aggregates was facets back then) was the toughest part.

Hats off to Coralogix for taking up the challenge in converting SQL.

damieng··on I Created 175 Fonts Using Rust
It's a trade-off. Have every single instance of m look squished vs it might touch another m or w somewhere else and look odd.

I've done fonts in both categories.

damieng··on I Created 175 Fonts Using Rust
My own collection of free 8x8 fonts might suit your needs at https://damieng.com/zx-origins

Looking forward to trying this exciting rust tool in my chain as well to see what additional formats I can include.

(Update: Seems the PIFO tool is not open-source :( I guess I'll stick to using scripts + FontLab Studio 5)

damieng··on Everyone seems to forget why GNOME and GNOME 3 and Unity happened (2022)
https://youtu.be/rf5o5liZxnA?feature=shared&t=542 has a demonstration of NextStep 3 (released September 1992) that clearly shows a computer icon that Steve refers to as "My Computer" and then moves into hitting the "Network" icon globe that shows other computers on his local network.
damieng··on Everyone seems to forget why GNOME and GNOME 3 and Unity happened (2022)
"NeXTStep had its Dock, but that doesn't have menus or a status icon."

NeXTStep not only had menus but tear-off dockable menus/sub-menus that are superior to any menus we have in apps today. It's clearly present in the screenshot I linked to.

damieng··on Everyone seems to forget why GNOME and GNOME 3 and Unity happened (2022)
"The task bar, the Start menu, the system tray, "My Computer", "Network Neighbourhood", all that: all original, patented Microsoft designs. There was nothing like it before. "

Apart from, you know, NextStep which had a dock for system tray/start menu as well as my computer and network neighbourhood.

You can find screenshots of NextStep 3.3 showing this such as https://winworldpc.com/product/nextstep/3x from 1992 and it's possible they're also in earlier versions - NextStep 1.0 was released in 1989.

damieng··on Amiga ASCII Art
Surprised an article of this depth didn't mention that the Topaz font changed between Kickstart 1 and 2.
damieng··on ZX Origins 8x8 bitmap fonts
I'm in PAL land so it's almost 1 :)
damieng··on ZX Origins 8x8 bitmap fonts
Cool, thanks! It took longer than I care to admit. They're redrawn on the fly and it also means the 2x and 3x options can render it without upscaling blur.
damieng··on ZX Origins 8x8 bitmap fonts
Most of the 8-bit machines had quite square pixels (Spectrum, Commodore 64) but machines with multiple resolutions often had modes that doubled the horizontal res (C128, PCW, BBC Mode 3) giving rectangular pixels and by the time the 16-bits hit (Amiga, Atari ST) these modes were commonly the default and square pixels were relegated to "low-res" modes which were used less often.
damieng··on ZX Origins 8x8 bitmap fonts
Fantastic book, has a place on my shelf in my office and I've been lucky enough to shoot the breeze with the author on Zoom!
damieng··on ZX Origins 8x8 bitmap fonts
I thought about setting up my camera and pointing it at my Princeton 15" multisync CRT and scripting a live screenshot of every font but that seemed... overkill.
damieng··on ZX Origins 8x8 bitmap fonts
The process involves me creating a raw 768 byte "ch8" file for the Spectrum then running it through a bash script that creates the .psf and .bdf using psf2tools.

https://gist.github.com/damieng/b2e279c72146ee469731acbadbea...

It then opens up the font in FontLab using a template and some custom Python 2 scripts to convert that into the TTF.

https://github.com/damieng/font-creation-tools/tree/master/F...

The next bash script uses a bunch of third-party tools and my own PixelWorld open-source .NET tool to generate all the other formats and disk images and then packages them up into a zip and uploads it to S3.

https://gist.github.com/damieng/d2519cda1c674b4ede74f154f05f...

https://github.com/damieng/pixelworld

Hope that's of some interest to somebody.

Damien

damieng··on ZX Origins 8x8 bitmap fonts
There are many of them. The one that comes with Artist II seems to be very popular.

That said I have a few of my own takes of the magnetic/ocr fonts there.

damieng··on ZX Origins 8x8 bitmap fonts
The simulated stuff is all custom code for reading the raw binary font file and then custom drawing it over the screenshot using canvas.

Nuxt is just used as a static site generator for the rest of the site.

damieng··on ZX Origins 8x8 bitmap fonts
Copyright and fonts is a minefield. Hoping a credit isn't too much to ask for all the work.
damieng··on MacOS-like Fonts on Manjaro/Arch Linux
Chrome uses Skia which - on Windows - uses DirectWrite which is basically native however...

DirectWrite has a whole bunch of flags that configure sub-pixel and anti-aliasing as well as natural widths etc. So it might not look the same. To make matters worse it changes what settings it uses depending on the size of the type IIRC and even had a few font-specific tweaks there as well.

Windows apps in general might not look the same depending on whether they are using GDI, GDI+, DirectWrite (all considered native) and any combination of those flags... and of course it depends on whether the user has ClearType turned on and if they have used the Tuner to calibrate the rendering further for their preference...

damieng··on JPMorgan to trade shares of pre-IPO giants including SpaceX, Robinhood, Airbnb
SpaceX do internal stock buy-backs based on continual fair market valuations.
damieng··on Twitter Stopped Letting New Users Pick Their Usernames During Sign-Up Years Ago
I was working at Xbox when we made the same change there. Web analytics were showing a massive drop-off in signup as users struggled to think of a good gamertag that wasn't already taken.

At the time you had to pay to change your gamertag so when we introduced this you got a free change after it had generated one instead.

damieng··on Microsoft Joins the Open Invention Network
GitHub is not profitable.

.net core is not vaporware. It's out and just shipped 2.1. The non-core one is not open source as it is very tied to Windows and they want the future effort to be the cross platform .net core.

damieng··on Hello, GitHub
The amount Microsoft would have to lose - in courts and public trust - if they were to abuse the private sensitive data held in their systems - would massively outweigh any benefit they could hope to achieve from that information.
damieng··on Netflix is now worth more than Comcast
Not sure where you get the monthly internet pricing from but my 250MB Comcast is $59.99 a month and 150MB Frontier is $40 a month.
damieng··on How a domain registrar can kill your business
Do not rely on other people to resolve time-sensitive issues when you can easily avoid it.

In this particular case as soon as it's clear the domain hasn't renewed despite being billed then manually renew it using the usual user interface, pay the extra $10 and then contact support after to get one of the charges refunded now the time-sensitivity is gone.

The stress alone isn't worth being out of pocket $10 let alone only for a week or two.

Page 1 of 2Next →