HNHacker News
TopNewBestAskShowJobs

bmh

338 karma · joined June 24, 2009

submissionscomments
bmh··on Ttfautohint – a 99% automated font hinting process
Yes indeed. Sub-pixel RGB antialiasing gives you almost 3x resolution on the X coordinate, so hinting the vertical stems is not so noticeable. But because there's no sub-pixel antialiasing on the Y coordinates, the horizontal stems still benefit visibly from hinting.
bmh··on Ttfautohint – a 99% automated font hinting process
Hinting was originally created for fonts that had zero anti-aliasing. On Windows, prior to Cleartype, all fonts were rendered in binary, so it was even more important to have hinting there (eg so that the two stems of an 'H' are equal width, or the distance between the two symmetrical parts of an 'm' are equal size).

As screen resolutions rise, the need for hinting diminishes. On a 4K desktop monitor you still benefit from hinting. I think 8K desktop monitor resolution (at say 28 inch size) is probably where hinting loses relevance.

bmh··on ST3 Update now is ST4
On Ubuntu it's as easy as an `apt upgrade`.

Although I pay the fee happily, this does seem wrong. It seems to me that as a software provider you have two choices:

1. Make it a monthly (or whatever) subscription for the latest version (eg Photoshop)

2. Charge for a new version (eg apt install ST3 vs apt install ST4)

bmh··on Tesla hikes solar roof price on contracts signed over a year ago
I live in South Africa, where we have periodic rolling blackouts, so we're highly incentivized to insulate ourselves from that.

I installed 2kW of panels on my roof myself, and inverter, and batteries, for a total of about $2700.

The price of US solar installations seems incredibly high.

Also, with a 2 storey house, it's hard to see the panels even if you try.

bmh··on Coq searches for alternative name
Scroll to the very bottom of the page for the best suggested replacement!
bmh··on Ethereum Isn't Fun Anymore
Every account in the network is a chain of blocks, with each block signed by the private key of that account. So only the owner of the account can add a block to their chain. To send money from A to B, A will add a 'spend' block to her chain, and B will add a 'receive' block to his chain. If B is offline, he can claim that receive later.

The speed comes from the fact that spends from A to B can be processed independently of spends from C to D. So all independent transactions occur in parallel (and as you can imagine most transactions are independent).

Every block addition is voted on by all participating nodes, and they vote as quickly as possible, so they're limited by internet bandwidth/latency, as well public/private key signature verification and generation. Most transactions complete within less than a second.

New blocks do need a PoW signature, but these are much much smaller than other PoW signatures. Additionally, they are usually generated by the account performing the transaction, so they will typically run on your phone or browser wallet app.

Finally, the entire system was feeless from inception. That's just a design decision. I guess people run nodes because they want the whole thing to live.

bmh··on PGM Indexes: Learned indexes that match B-tree performance with 83x less space
B-trees don't need sorted data. The B-tree insertion algorithm performs the sorting for you.
bmh··on Stripe acquires Nigeria’s Paystack for $200M+
How exactly would Stripe branch out to Nigeria? It might be less risky and cheaper to just buy a local team with a proven track record, than trying to transplant yourself into a culture that you know nothing about.
bmh··on DirectX is coming to the Windows Subsystem for Linux
The headline should be "CUDA support on WSL2", but that's only mentioned at the bottom of the article.

And having all this stuff work out of the box, I can see some people choosing the WSL path over native Linux simply because there are less apt-gets involved to get a PyTorch model training.

bmh··on You probably don't need PostGIS
You (probably) should just use PostGIS, because it's the easiest thing to do, everybody understands it, it's eminently google-able, and ubiquitous. Unless you have a specific reason why you can't, just use PostGIS and enjoy your life.
bmh··on MIT-licensed high-quality SVG icons
Great icons, thanks! Very similar in style to https://feathericons.com/
bmh··on WinUI, The modern native UI platform of Windows
This is what a Win32 app's source code looks like:

https://www.paulgriffiths.net/program/c/srcs/winhellosrc.htm...

bmh··on WinUI, The modern native UI platform of Windows
First, there was Win32. That is still supported, and works reliably. It's a plain C interface, and it works on all versions of Windows. You have to do your own anchoring logic (ie all controls are positioned like HTML 'absolute'), and lots of stuff yourself, but it works, it's fast, and the docs are good.

Then, in 2000, Microsoft gave us .NET and WinForms, and we all thought that we'd be cross-compiling our C++ apps so that they ran inside of the hybrid native/.NET compiler called C++/CLR, so that we could take advantage of this improved UI toolkit. From C#, WinForms worked great. From C++, not so. But we thought that maybe we could write our GUI in C#, and interface to C++ for the heavy lifting/legacy code. I tried it a bit, and it was doable, but it ended up being very clunky to have this giant divide between the .NET world and the native C++ world.

Fast forward a couple of years, and Microsoft started talking up XAML, and it's native Windows Desktop incarnation called WPF. It had a browser sibling, which was Silverlight. This was a completely different to WinForms, and it was the future of Windows UIs. I tried it a bit. It made your app startup slowly, because it was now a .NET app. There were some interop issues between plain old C++ code, and C++/CLR, but it was OK.

Not long after that, Microsoft started talking about Windows 8, UWP, and Windows on ARM, and that's kind of where I lost track. With Windows 8, there were going to be a variety of ways that you could build desktop GUIs. Some of them seemed to be inherited from XAML. But now, instead of C++/CLR, you would use some kind of COM 2.0 thing. So you didn't need to build a hybrid .NET app, but the API wasn't great. In addition, Microsoft supported some kind of HTML-based app - which was some kind of thing inspired by Electron... but running on the IE engine instead of Chromium.

And now... this.

I don't know what most people ship these days, when they build Windows UIs. It's a mix of Electron (eg Slack, VS Code), as well as QT, and good ol' Win32, that we've had since the 90s.

So this is why people are tired. Microsoft keeps shipping yet another UI framework - and the people have stopped believing that they can invest in this thing, which is inevitably going to be replaced by yet another thing in 3 years time.

If you stick to plain ol' Win32, you can be pretty sure your app will be trivial to compile and run for decades, so that's what I do for little Win32 UIs.

bmh··on The neuroinvasive potential of SARS‐CoV2 and Covid-19 symptoms
If this is true, then it's very interesting. I'd love to find a more recent update on this, if there is any.

TL;DR: Contracting the virus through your nose might be much worse than through the eyes or stomach.

Quote:

If the neuroinvasion of SARS‐CoV‐2 does take a part in the development of respiratory failure in patients with COVID‐19, the precaution with masks will absolutely be the most effective measure to protect against the possible entry of the virus into the CNS. It may also be expected that the symptoms of the patients infected via fecal‐oral or conjunctival route will be lighter than those infected intranasally. The possible neuroinvasion of SARS‐CoV‐2 may also partially explain why some patients developed respiratory failure, while others not. It is very possible that most of the persons in Wuhan, who were the first exposed to this previously unknown virus, did not have any protective measure, so that the critical patients are much more in Wuhan than in other cities in China.

Another interesting quote:

According to the complaints of a survivor, the medical graduate student (24 years old) from Wuhan University, she must stay awake and breathe consciously and actively during the intensive care. She said that if she fell asleep, she might die because she had lost her natural breath.

bmh··on Smart Algorithms beat Hardware Acceleration for Large-Scale Deep Learning
I'm curious to see if they can apply this to industry-standard tests like ImageNet classification.

The workloads that they test on make it hard to quantify the broad applicability of their work.

bmh··on Cerebras Systems unveils a 1.2T transistor chip for AI
That's true, but it doesn't match their claim of keeping all of the model on the chip.

An 18 GB cache is huge for sure, but that's not what they claim.

bmh··on Cerebras Systems unveils a 1.2T transistor chip for AI
In their whitepaper they claim "with all model parameters in on-chip memory, all of the time", yet that entire 15 kW monster has only 18 GB of memory.

Given the memory vs compute numbers that you see in Nvidia cards, this seems strangely low.

bmh··on L2 Regularization and Batch Norm
Excellent article! I'd be really curious to see a treatment of the same topic, but with ADAM.
bmh··on Show HN: Bvckup 2 – Fast File Replicator for Windows
Any chance you'd be willing to share some revenue numbers?
bmh··on The struggles of an open source maintainer
It seems like there's an opportunity for a tool to help solve this (ie something other than GitHub issues).
bmh··on WireGuard for MacOS
I have a few computers at home. I'd like to access them securely from anywhere in the world. WireGuard makes that easy.
bmh··on Fast Perfect Hashing
This is awesome! In case you're wondering, the latency of _mm_aesenc_si128 on Skylake and above is only 4 clock cycles
bmh··on Ask HN: What podcast has been most influential on your life?
Indie Hackers. I've learnt SO MUCH from those interviews.
bmh··on Tether (USDT) price falling to $0.95
A major use of USDT is that you can sell your cryptos when they're high, converting them to USDT, which holds it's value. Then, when the crypto prices drop, you buy in again, and repeat. By keeping it entirely in the crypto space, your country's tax system can't charge you for capital gains.
bmh··on Flatbush: A very fast static spatial index for 2D points and rectangles in JS
One other datapoint - I ported flatbush to C++, and I got a 2.6x speedup on the "Insert 1 million boxes" benchmark. C++ port is at https://github.com/IMQS/flatbush
bmh··on Learning Dense Visual Object Descriptors By and For Robotic Manipulation
This is incredible! The temporal consistency is amazing. Watch the video.
bmh··on Show HN: Ultralight – Lightweight, Pure-GPU HTML UI Renderer for C++
You say this is a hard fork, so how do you intend to maintain feature parity with new HTML rendering concepts. eg imagine CSS Grid had not been invented yet?
bmh··on Ekam Build System
Exactly what problem is this solving? Do C/C++ programmers really have trouble specifying their dependencies? I'm all for less "accidental" work for programmers, but I just can't imagine this tool ever solving a problem that I have ever had.
← PreviousPage 2 of 2