HN user

vog

10,115 karma

https://njh.eu

[ my public key: https://keybase.io/vog; my proof: https://keybase.io/vog/sigs/ozUUuyqnoQrtbFK7EBI5seZKjJ73P9bwrVzhSNDMj4c ]

Posts282
Comments2,209
View on HN
noyb.eu 4y ago

Reading “Confidential” Facebook Documents

vog
3pts1
noyb.eu 4y ago

2nd public reading of alleged confidential Facebook and Irish DPC documents

vog
2pts1
noyb.eu 4y ago

Public reading of alleged confidential Facebook and Irish DPC documents (noyb)

vog
1pts1
exple.tive.org 7y ago

Durable Design (2017)

vog
151pts42
medium.freecodecamp.org 8y ago

REST is the new SOAP

vog
6pts3
www.lineageos.org 8y ago

Introducing the LineageSDK for developers

vog
2pts1
b3s23life.blogspot.com 8y ago

It Happened One Knight – A New Class of Conway's Life Spaceship

vog
2pts0
njh.eu 8y ago

LineageOS on Samsung Galaxy S II

vog
1pts0
exple.tive.org 8y ago

Durable Design (2017)

vog
1pts0
ascii.textfiles.com 8y ago

The Full BBS Documentary Interviews Are Going Online

vog
3pts1
fgiesen.wordpress.com 8y ago

Papers I like (part 7)

vog
1pts0
vog.github.io 8y ago

Show HN: Generating PDF directly in the PostgreSQL database

vog
2pts0
int10h.org 8y ago

Ultimate Oldschool PC Font Pack

vog
257pts69
existentialtype.wordpress.com 8y ago

Sequentiality as the Essence of Parallelism

vog
1pts0
neverworkintheory.org 8y ago

Developer Testing in the IDE: Patterns, Beliefs, and Behavior

vog
2pts1
yakking.branchable.com 8y ago

Start using your new project early

vog
2pts1
adventofcode.com 8y ago

Advent of Code 2017

vog
1pts0
arxiv.org 8y ago

Demystifying AlphaGo Zero as AlphaGo GAN

vog
1pts0
www.martinfowler.com 8y ago

Parekh+Fowler: Building a Two-Stack CMS for a global product catalog (2014)

vog
1pts0
www.martinfowler.com 8y ago

Fowler: EditingPublishingSeparation (2012)

vog
2pts1
scifi.stackexchange.com 8y ago

SE: Why did Stanley Kubrick include these scenes in 2001: A Space Odyssey?

vog
5pts2
blog.invisiblethings.org 8y ago

State considered harmful – A proposal for a stateless laptop (2015) [pdf]

vog
3pts1
www.tedunangst.com 8y ago

Miniwebproxy - A web without dickbars, scroll jacking, chum boxes, popup video

vog
2pts2
thedailywtf.com 8y ago

The Daily WTF: 500 – Internal Server Error

vog
2pts1
news.ycombinator.com 8y ago

Ask HN: [Meta]: Should “Guidelines” and “FAQ” Be Merged?

vog
6pts0
erikbern.com 8y ago

The software engineering rule of 3

vog
2pts1
blog.sigfpe.com 8y ago

A Neighborhood of Infinity: The Three Projections of Doctor Futamura (2009)

vog
2pts0
qz.com 8y ago

The lives of Bitcoin miners digging for digital gold in Inner Mongolia

vog
4pts0
googleprojectzero.blogspot.com 8y ago

Windows Exploitation Tricks: Arbitrary Directory Creation to Arbitrary File Read

vog
2pts0
blog.liw.fi 8y ago

Enabling TRIM/DISCARD on Debian, ext4, luks, and lvm

vog
3pts0

Indeed, it's a pity that the author placed so much focus on a cool looking font that they forgot to take basic properties like "good readability" into account. Form should follow function, not the other way around.

This is far from meaningless, because if you are too far below those 3.5%, you'll fail to make a change for the better, despite having a good cause with no real opposition.

Those 3.5% are encouraging for all social movements, who suffer (and/or have friends/family who suffer) from some issue in the system, have perhaps developed a good plan out of it, but think they are too small to make a difference.

Contrast this with advertisement, which actually does work even when people know that it is ads, and which still does work on people how know how ads work.

Also, contrast this with psychotherapy, which usually does work even better if the patient understands how it works, because it enables them to become an active and more effective part of the therapy.

This is an incorrect summary of the placebo effect. The placebo effect does require the patient to either believe it is effective, or at least not knowing clearly it is ineffective.

This is why clinical studies don't tell neither group (neither the treated group nor the control group) who is in which group, to not spoil the results.

And also, this is why homeopathy puts so much effort into spreading the belief they are effective despite all odds, up to the point of trying to convince people to abandon basic scientific principles.

While I hear this argumentation a lot, I still struggle with this:

If you have "mild problems, which would normally heal on their own", buying no medication at all would be even cheaper.

And from an ethical point of view, the idea of financing a whole (homeopathic) industry that uses your money to produce fake science, even with a single cent, should make one shudder, shouldn't it?

To me the "natural way" has always been to write portable code in the first place. From time to time, you'll find that parts of it are not portable, so you fix it, and along that way to learned something new about portability and apply it to future improvements on your code as well. Over time, you'll find fewer and fewer portability issue as you get better and better at writing portable code in the first place.

I'm not saying that this is the best way to do this, but to me this was always the obvious thing to do. As a somewhat extreme example, I'd never write a graphical user interface in pure Win32 API and expect it to be even remotely portable by some additional layer. I'd rather use Qt (or GTK, or Dear ImGui, or whatever) for native UIs even for programs that are (for now) meant to be only run on Windows.

To me personally, this has the additional benefit that I can do most of the development and testing in a non-hostile environment (e.g. Debian), then running a cross compiler (e.g. via MXE) and only do the final testing on Windows (well, usually first Wine, then some Windows VM), but at that last stage surprises are extremely seldom.

I have always suspected this to be the case, but it is great to see it confirmed and well-explained in detail by an almost-authority in our field.

I wonder if in the near future we'll see a similar article regarding security - "You Can't Buy Security".

From the announcement:

"We will continue to improve this new solution and are already working on an IPv6 only solution for cloud servers, too."

I'm eagerly waiting especially for this! The cloud servers are pretty cheap, but costs for IPv4 addresses make a significant part of the monthly cost. The Hetzner cloud server would be much more interesting if they weren't each tied to a public IPv4 address.

It took a while for me to fully appreciate the OpenSSH approach to portability:

They primarily develop OpenSSH purely for OpenBSD, using all (including non-portable) facilities of OpenBSD, including crypto and whatnot.

Then, a separate team manages the "portable" version of OpenSSH, which add stubs and does everything else needed to make OpenSSH compile on as many operating systems as possible.

I'm aware that OpenSSH is not the only project using that approach to portability. Nevertheless, I think it is fair to say this is an unusual approach used only on a minority of projects.

I was always puzzled on why they are doing this. This always struck me to be "just" a side effect of project politics and historically grown project structures.

But over the years I started to see some interesting benefits of that approach as well. I'm still not convinced by this model, but I have to admit that, more generally speaking, the OpenBSD project does many things against the mainstream, but quite often they turn to be right.

If you haven't been aware of the great work of the European NGO "noyb", this should grab your attention.

Facebook's GDPR violations are not just tolerated by the Irish DPC, they are outright protecting Facebook. Until recently, nobody was able to prove that. But noyb finally managed to annoyi the Irish DPC so much that the Irish DPC finally showed they true face by trying to force noyb into signing an NDA for documents that have clearly, and legally proven, a public interest.

These "Advent Reading" sessions are noyb's way to kick back the blanket so everyone can see what the Irish DPC is actually doing here.

If you haven't been aware of the great work of the European NGO "noyb", this should grab your attention.

Facebook's GDPR violations are not just tolerated by the Irish DPC, they are outright protecting Facebook. Until recently, nobody was able to prove that. But noyb finally managed to annoyi the Irish DPC so much that the Irish DPC finally showed they true face by trying to force noyb into signing an NDA for documents that have clearly, and legally proven, a public interest.

These "Advent Reading" sessions are noyb's way to kick back the blanket so everyone can see what the Irish DPC is actually doing here.

PostgreSQL allows for all of that: User-defined types with user-defined index structures and whatnot. PostgreSQL is great and flexible, yet transaction safe and fast. You should really try it. It is one of the highest-quality FLOSS projects I have ever seen, not just in term of code quality, but also in terms of project and community management.

HTML is the Web 7 years ago

Congrats for this simple and beautiful website!

I wonder how you manage your overall style, though. Is your design set in stone, do you never change it or fix quirks? If you e.g. change from GitHub to GitLab, would you edit the footer of every single page?

One small suggestion: Please advertise your RSS feed to the browser using the <link rel="alternate" ...> tag. Ideally on every page. Otherwise, visitors of your blog articles (like myself) get the wrong impression that you don't provide a feed, until they go back to the main page and scroll down to the bottom.

I used to use a lot of SymPy, but finally switched to Sage. This is Python as well, but has some syntax extensions and sensible defaults that reduce many quirks of Python. For example, you can write 1/2 instead of of Rational(1,2) and a^b instead of ab.

Moreover, Sage integrates lots of other libraries seamlessly. I remember doing lots of polynomial calculations and groebner basis stuff, and generating Singular script from Python seemed to be very elegant in the beginning. However, this quickly showed severe drawbacks. With Sage this all became easy and seamless again.

The fact that its default chats are not end-to-end encrypted and are stored in plaintext on its servers is a concern.

"Concern"? This is a deal-breaker.

Everyone who talks about this as a huge deficiency should also consider that this applies to email too, unless one always uses encryption (like GPG/PGP or S/MIME).

The contenders here are Signal and WhatsApp, not email.

Having better UX and safer defaults than email is nothing to be proud of - it is the bare minimum.

The article is refreshing and makes clear that REST is violates KISS, making a good case for RPC with no nonsense on top of it.

I fully agree with that sentiment.

However, at some places the article goes over the top. This is really a pity, as those bits are not necessary for the overall argument. Moreover, those parts weaken the reading experience as much as a bunch of spelling mistakes would.

Using “HTTP 404 Not Found” to notify about an unexisting resource sounds RESTful as heck, doesn’t it? Too bad: your nginx was misconfigured for 1 hour, so your API consumers got only 404 errors and purged hundreds of accounts, thinking they were deleted….

A non-existing resource doesn't mean it was deleted, but simply means it is not there - for whatever reason. Acting with deletion after receiving a 404 sound quite far fetched to me. (Except when mirroring, but then it would restore everything as soon as the configuration was fixed.)

Moreover, if the server does have active knowledge of the deleted status of a dataset, and wants to communicate that to a client, it would use 410 Gone. Only then the client has enough evidence to perform a deletion on their side.

You want to use PUT to update your resource? OK, but some Holy Specifications state that the data input has to be equivalent to the representation received via a GET. So what do you do with the numerous read-only parameters returned by GET (creation time, last update time, server-generated token…)?

The PUT semantics only require it to be idempotent. That is, multiple identical PUTs should lead to the same result as a single PUT. The specs do not require that GET has to return the exact same value installed by PUT. Even more so, the specs actively discourage clients to make that assumption, as a different client - or any other event for that matter - could have changed the value in the meantime.

[dead] 8 years ago

The site https://f-droid.org/ currently shows:

    Not Found
    
    The requested URL / was not found on this server.
This look more like a configuration error than anything else.

Not sure what you argue against, but exactly that aspect, "human experience is limited by our senses", means that everything could be a simulation. Plato named those "shadows", but that's only because people weren't used to good simulation technologies back then. Today we have 3D cinemas, flight simulators, VR headsets, etc.

But if you still don't like that example, here's another historic example of a philosopher who published the idea that everything could be a simulation.

The evil daemon by René Descartes:

https://en.wikipedia.org/wiki/Evil_demon

So my point still stands: The idea that everything might be a simulation is as old as humanity. It is neither modern nor based on creationism.

The next president then reversed this.

Just out of curiosity: This is very uncommon in modern democracies, isn't it?

In most European countries (and maybe also in the US?) each newly elected government shows enough respect for the previous government by not reversing laws established just 1-3 years ago. They usually either concentrate on different topics, or restrict themselves to refinements and corrections of existing laws.

And there's some good reason for that: You don't want a country's set of laws switching between two versions every 4-5 years without making any progress.

However, since that taboo has been broken by now, maybe the next US president would have the courage to do the same with everything the current president did?

It is really a pity that there are so many browser extensions who get this right, but the browsers themselves don't.

That's why it is so refreshing to see at least one of them (Firefox) actually trying to get it right.

The technical term for a browser is "User Agent". That naming may be historic and old-fashioned, but it was named that way for a reason. It's time to restore the original meaning, to make the browser an agent who actually acts on behalf of and in the interests of the user, not the website creator.

In my humble opinion, this should be the task of the browser, not the task of every site that links somewhere.

Moreover, I always mute the speakers of my computer, for exactly that reason. When I do want sound, I usually connect my headset or an external speaker. The computer's speakers remain muted. In the rare cases where I do want to use the computer's speakers, I unmute them, and mute them when I'm finished. This is so seldom that it's not a big deal.

Back to browsers, I wonder why those implemented auto-play for videos in the first place. More specifically: I wonder why they auto-play audio, as I don't see that issue with animated GIFs. Moving ads are annoying, but not remotely as bad as an unexpected sound.

The upcoming Firefox versions are very promising in that regard:

"Block video auto-play: Firefox will provide users with a way to block video auto-play that doesn't break websites." https://wiki.mozilla.org/Firefox/Roadmap

"Implement new autoplay policy" https://bugzilla.mozilla.org/show_bug.cgi?id=1382574

If something like this happened in my country there would be a general strike and the country would be at a standstill.

That sounds too good, and too progressive, to be true. Which country do you live in?

the theory that we're actually living in a simulation, ... It's basically Creationism in modern form.

It's not even modern. It is basically Plato's Cave, which is classic Greek philosophy.

https://en.wikipedia.org/wiki/Allegory_of_the_Cave

The religious touch of that idea did not become popular until the movie "The Matrix", which originally had allusions to many different religions, but specialized to Christianity / Creationism with the second and especially the third movie "The Matrix Revolutions".