HNHacker News
TopNewBestAskShowJobs

beeforpork

1,293 karma · joined April 6, 2015

submissionscomments
beeforpork··on Buying a single character domain – and 3 character FQDN – for £15
What about ﷺ ? Arabic letters in domains should be OK, right? It decomposes into a lot(!) of characters.
beeforpork··on QEMU should move from C to Rust
What's the current state of compilation times of Rust? How many times slower than C does it compile? Any links to statistics? I know it's hard to compare, but I am interested in developing a gut feeling of what to expect.
beeforpork··on Bitoduc: A French dictionnary for CS related words
> Double word: Trente-deuzet

How 16-bit centric, feels like from the 1980s.

I know, I know, dword ptr, qword ptr, etc. But I use 'movl' instead of 'mov dword ptr'.

beeforpork··on Multistate Disagreement over the Length of the Foot to End
Exactly. Drill sizes and, even worse, screw sizes drive me crazy. It's not even obvious which one is larger without doing math.

This reminds me of the great Mythbusters who, to me, came across a bit stubborn to insist on US units -- it felt unsciency. I do understand that they wanted to use the 'normal' system that 'normal' people use -- I always recalculated all their psi and inches of mercury and fathoms per fortnight to SI.

So weird!

beeforpork··on Shan, Shui: Procedurally generated Chinese landscape painting
The translation of the name is likely:

{Mountain, Water}

beeforpork··on The Aesthetics of Science Fiction Spaceship Design (2010)
The minds are definitely alive: in 'Excession', one such General Systems Vehicles, the 'Sleeper Service', is the main character. And a very interesting character indeed. Great book!
beeforpork··on Regexes vs. Combinatorial Parsing (2019)
> ... and can be compiled into finite state machines. ...

I am not a big fan of this argument without a 'but'. It is usually overlooked that the finite state machine can become exponentially large (=totally unusable), because sets of non-deterministic states are used for deterministic states. This caused me major trouble in a project where this effect was not noticed during the design phase.

I find this important to stress because the finite state machine can usually be constructed without problems (e.g. by the flex tool), so this property of regexps is undoubtedly useful.

But sometimes, it may explode on you.

beeforpork··on Pretending OOP Never Happened
How is there a smaller set because of OOP? Just filter the functions by parameter type to restrict which function may access your pointer.
beeforpork··on Pretending OOP Never Happened
Interesting stuff, but I really miss explanations:

> It (OOP) made it possible to develop much larger programs than before, maybe 10x larger.

Why?

This contradicts my intuition, because the biggest problem is that OOP focuses on state changes (of objects). State change means complexity, so formally, you need to understand the set of all possible states to reason that the program is correct. This is an exponential problem in the number of pieces of state, unfortunately. So how would this enable larger programs? What's the reasoning here? It would mean some even more potent mechanism of OOP makes more state more manageable. The structuring of data does not strike me as that potent -- nice, yes, but, well -- please explain!

> OOP provides a way for programmers to organize their code.

I think it is primarily about organizing data. The organising of the corresponding code follows. When Java emerged, it did not even have functions -- every piece of code had to be attached to data. In SmallTalk, you could change the definition of the global 'true' or even extend bool to have three values -- definitely data centric, and introducing unmanageable state...

> 100% pure functional programing doesn’t work. Even 98% pure functional programming doesn’t work.

I believe this. Well, intuitively, I'd say no paradigm works well when applied 100% pure. It would still be nice to see examinations of this or reasoning or proof or at least examples.

beeforpork··on Convincing-looking 90s fonts in modern browsers
Well, you don't need to do much for this, because there are only two ligatures that were commonly supported: 'fi' and 'fl'.

For the kerning, ok, that's more work...

beeforpork··on Florian Schneider has died
Yeah, I saw them in NYC many years ago and was supprised how openly people were smoking weed. :-)

Anyway, the show was great!

beeforpork··on Why should I have written ZeroMQ in C, not C++ (2012)
> C++ gives you strictly more tools, particularly for guaranteeing reliability, and they're all optional.

You are right. But it doesn't help. When I used C++, I constantly shot myself in the foot by using its features. It did not feel like overusing, but I just wanted type-safety and to replace macros. It was impossible to restrict to useful features, because they are all useful in their way, only they come at the price of spreading everywhere until you don't understanding what is going on. Typing rules are insanely complex. Overloaded template error messages and hilarious amounts of boiler plate member functions just to satisfy the constructor rules and to catch the best overload for every integer type were the result.

I went back to C. It's a relief.

beeforpork··on The curious tale of Bhutan's playable record postage stamps (2015)
Since the exact dimensions are curiously not mentioned, here's my service to answer your questions:

The stamps have a diameter of typically 69mm, while larger ones are 100mm.

(Source: http://www.megaministore.com/stamps/asia/bhutan-stamps/bhuta...)

beeforpork··on Apple Faceshield
The simplicity of this is amazing, particularly the forehead band. Exact dimensions would be nice to copy this.
beeforpork··on Language Design: Use [ ] instead of < > for Generics
That. Exactly.
beeforpork··on Language Design: Use [ ] instead of < > for Generics
> How do you disambiguate that from a function call? It's now just abusing ()

You don't. If you apply an integer to an array, it will return an entry. To me, it makes perfect sense to use a(i) instead of a[i]. In fact, in case you need some more complicated data structure to organise your data one day, you could switch to a function call for lookup without rewriting the code that uses a(i).

The question is not 'how do you disambiguate?', but 'why do you want to distinguish?' Because an array is just a special case of a function that maps an integer to something else. It is logically not different from a function with a large contiguous switch statement.

beeforpork··on Bose QC 35 Firmware 4.5.2 Noise Cancellation Investigation Report
Except that I never payed any attention to bluetooth range, it's the opposite experience here.

I have the QC35-II and never had problems, neither with battery life nor with bluetooth. In fact, given that it seems like no device ever gets bluetooth protocol right, it surprised me that the headphones do exactly what I want: connect to two devices at once (laptop and phone). So I can play music on the laptop and when someone calls, the headphones seamlessly switch to the phone, and when I hang up, they switch back to the music from the laptop. Also reconnecting works without anything to complain about. I am also switching back and forth between two locations, meaning two laptops and two phones, and the only thing that is mildly annoying is that when switching the desk, it takes a little longer to reconnect to the other set of devices again. But it does work.

What would be cool is three devices served at once (laptop, land line phone, mobile phone).

I am not using the Bose app at all.

But what is annoying is that they don't charge and work at the same time. Frankly, I was pissed when I found that out. WTF, there are integrated USB charger/voltage regulator circuits readily available that do that for you. Probably it's due to heat dissipation problems as always so they might have artifically disabled this to avoid at all cost headphones bursting into flames on people's heads.

beeforpork··on Respiratory virus shedding in exhaled breath and efficacy of face masks
One thing in this study I find totally surprising is this: how can aerosol from different virus classes be differently contagious when passing through a mask? They seemed to have measured that, but it would really be very interesting to get an explanation how this is possible. How does a mask filter the contagion from corona aerosol, but not from rhino aerosol. This is totally perplexing to me.
beeforpork··on Respiratory virus shedding in exhaled breath and efficacy of face masks
We need experts.

But we also need to use our brain.

Even when trying to use my brain, I have troubles understanding how droplets can distinguish the direction of passing through a face mask, i.e., how my face mask can help protect others from my droplets, but how it cannot protect me from other people's droplets.

Well, I do understand that if the holes are too large, it will not be a 100% protection, but I do not really understand how the direction would matter.

That said, preventing a run on masks is important if you don't have enough, because some people need masks more urgently than others. I am convinved that in order to prevent a run on masks, you cannot just tell people the truth, but you need to lie to them, because many (or most) people will still get a mask if they know it is actually somewhat helpful.

beeforpork··on X11 screen locking: a secure and modular approach
I have encountered another one, a lot of fun:

* The screen turns on when the lid is opened, the login prompt appears, but the backlight is still off so you cannot see anything (except by using a super strong flashlight).

beeforpork··on Merkel bans meetings of more than two people to slow coronavirus
I like the Czech pragmatism. Obviously it is not perfect, but anything that obstructs droplets even a bit is helping to flatten the curve, and that's what you want right now. This is one of the most reasonable and easy and pragmatic rules I have seen so far. It seems clearly superior to telling people, because there is a shortage, that masks are not preventing an infection, implying that they don't help.
beeforpork··on The state of the restaurant industry
What a bizarre interpretation of 'minimum wage' and 'tip'! This means that the restaurant owner essentially collects (part of) the tips?

So you could employ a restaurant worker at $0/h and then bump them to minimum wage, because the tips will never cut it? Basically, you'd be collecting all the tips? This cannot seriously be legal!?

beeforpork··on Ask HN: Best way to increase typing speed?
Hmm, faster? Not for me. I think I can introduce bugs fast enough. It would be better to slow down and think more. :-)
beeforpork··on Ask HN: Have you been infected by Covid-19? What is it like?
How did South Korea manage to ramp up the testing so quickly? They did a vast amount of tests, and test results constantly came back quickly. What is needed to do the same?
beeforpork··on A Movement to Stop the Covid-19 Pandemic
Not the same, but maybe what you want:

https://www.flattenthecurve.com/

To avoid TL;DR, search for boxes with green or red background centered text -- that's recommendations of behaviour.

beeforpork··on I made my own PCBs with a 3D printer
> For any aspiring EE hobbyists: Manufacturing your own PCBs is almost never worth the effort.

Worthiness is something that every hobbyist needs to evaluate themself. You cannot do that for them.

For a hobbyist, time, money, efficiency, quality may all be totally irrelevant.

beeforpork··on I made my own PCBs with a 3D printer
OK, I am puzzled: 2D printing is a dark art, but 3D printing is not?

And comparing this to Chinese PCB manufacturing services is weird, too. If you want double sided, with vias, down to tiny traces, with plating and solder-stop and text, then you may be willing to pay the shipment and wait a few days.

Yes, I admit that this is a fun method. But what is the advantage over laser printing and then, say, using UV light to transfer to a photo PCB?

Honestly, I do not get why laser printers are a dark art, please explain!

beeforpork··on Ask HN: What change in your programming technique has been most transformative?
Programming in a team and accepting that it is not 'my' code but 'our' code. Not feeling slightly pissed when someone else changes the (not my) code. For me, this was a total game changer and a complete change in programming style. The focus changed to using the most common idioms, the clearest and cleanest and most concise way of writing stuff down, and avoiding smart hacks or, if necessary, encapsulating and documenting smart hacks. Not being shy of writing stuff multiple times until it really is clean and inviting to be read and understood. Using a very strict style (including when/where to put white space and line breaks) that everyone else also uses so that code is easy to read for everyone. It improved my programming enormously and the bugs/line ratio went down. It also gave a much better intuition to smell fishy code. It also took quite a while to internalise, but I now always code like that, also in private projects and in quick hacks scripts in, say, Perl.

My second most important change was to learn how to use contract based programming, or, if the language has poor support, at least to use a ton of asserts. This, for me, feels like stabilising the code very quickly and, again, improved my bug/line ratio. It forces me to encode what I expect and the code will relentlessly and instantly tell me when my assumptions are wrong so I can go back and fix that before continuing to base the next steps on broken assumptions.

beeforpork··on Enough with the Dead Butterflies (2017)
https://www.fieggen.com/shoelace/grannyknot.htm
beeforpork··on Enough with the Dead Butterflies (2017)
Oh no! Another thing to get head-aches from. I alread get head-aches from bad kerning and badly tied shoe laces, and now I'll have to watch out for badly depicted butterflies.

Anyway, it's a beautiful and interesting article!

← PreviousPage 12 of 15Next →