HNHacker News
TopNewBestAskShowJobs

adrianratnapala

3,270 karma · joined March 14, 2016

submissionscomments
adrianratnapala··on Is reason the slave of the passions?
> that reason ought to be the slave of the passions,

I don't think you will find Hume actually arguing this. People read this into him because they glide so easily from is to ought.

> or that it must be so

This is a factual, not a normative claim.

adrianratnapala··on Is reason the slave of the passions?
> It's an empirical fact that we must act on our desires;

Is it?

> when I examine my actions closely I notice that all of them can be traced back to some desire or combination of desires.

But when I introspect, the opposite happens. When I examine my desires closely, they disappear and I am left with "well I often engage in X, Y and Z goal-seeking behaviours."

adrianratnapala··on Can law firms be liable for fake reviews? Pennsylvania firm says no
Sandworm is responding to the statement that:

> People (for the most part) don't just sit around writing fake reviews for companies they have no dealings with.

And

> If fake reviews about an organization exist, they were commissioned by the organization or its associates.

That is, to a proposed standard where the mere existence of the reviews causes you legal problems as the solicitation part is presumed.

adrianratnapala··on Logical fallacies in software engineering
It's definitely wrong. But it is blasphemous to even believe that there can be right or wrong in such matters.
adrianratnapala··on What Is Not in Plan Nine (2012)
`du`, `ls -r` and `find` are all tools which recursively walk and stat directory trees. In that light, it can make sense to pick just one.
adrianratnapala··on RFC 8548: Cryptographic Protection of TCP Streams (Tcpcrypt)
The RFC is written by and for people who have already discussed in depth what problem they are trying to solve. But little old I can't figure it out by reading the text.

Can anyone enlighten me about what it's for? How does it fit in compared on the one hand to TLS and on the other hand to things like WireGuard.

adrianratnapala··on Alan Kay Did Not Invent Objects
Well, as a C++/Python/C# programmer, I see it as a combination of ways to

(a) organise procedural programs using language features that make abstract data types more powerful,

or

(b) obfuscate procedural programs using language features that make abstract data types more confusing.

If there is in fact some other, non procedural, paradigm called OOP that we can learn about, then maybe dead languages are the place to look for it.

adrianratnapala··on Millions of Instagram influencers had their contact data scraped and exposed
> ... of organic-multilevel-marketing scam.

Is it a scam though? A pyramid scam is self-similar: you sell to people who then expect to sell to people who expect to sell to people etc.

I thought Avon, Tupperware etc. had a fixed length chains and multi-decade track records of sales to real consumers at the end of the chain.

adrianratnapala··on GDPR adtech complaints keep stacking up in Europe
Try letters on paper?
adrianratnapala··on Show HN: UXY – adding structure to Unix tools
But as written, the definition permits generating the weird output. Which ignores the other arm of Postel's principle.

You could have the format definition forbid these characters; and then in the section about Postel's principle have "If you choose to accept forbidden characters, you MUST treat them as '?'".

adrianratnapala··on Solid Principles: A Software Developer’s Framework to Robust, Maintainable Code
Ahh OK. So you mean fine-grained selection and routing of log messages.

I'd never thought of that as AOP, but I suppose it is. And I suppose AOP frameworks provide the machinery to do it, without the logging subsystem having to reinvent those wheels.

adrianratnapala··on Solid Principles: A Software Developer’s Framework to Robust, Maintainable Code
> * AOP for logging; ...

Can you expand on how this works in practice. Or link to an explanation? (I assume AOP means "Aspect Oriented Programming").

adrianratnapala··on Show HN: UXY – adding structure to Unix tools
> * any other escape sequence MUST be interpreted as ? (question mark) character.

Isn't it better to forbid them? Presumably you are saving the space for further extensions, but this is allowing readers to interpret them as '?'

Similarly what is the rationale for interpreting control characters is '?'? Instead you can ban them, with the possible exception of treating tabs as spaces.

adrianratnapala··on Show HN: UXY – adding structure to Unix tools
In the Powershell model, I thought things stayed as structured objects in reality, although the UI was ready to render them as text. This seems to be about continuing to use text, but to being disciplined about formatting.

If the above characterisation is right, it is a middle-ground between Powershell and traditional methods.

Also, this is not introducing a new shell language.

adrianratnapala··on Zero Cost Abstractions
And yet it is called zero cost. Not "zero cost along one particular dimension that we won't name and only sometimes matters."
adrianratnapala··on Protothreads: Lightweight Stackless Threads in C
It's amusing how you and alexhutcheson both corrected me in opposite directions.

For reasons Alex explains, interrupt handlers have to be really minimal. So you often use them to set state that makes the main loop branch off into the "real" handler.

But even then, you often don't want to wait a long time in that handler either. That too becomes a short-running event handler (though not necessarily a callback). Just not as extremely short running as it would have to be if did it in the interrupt handler.

adrianratnapala··on Protothreads: Lightweight Stackless Threads in C
You can think of it as the reactor pattern. You only have one physical CPU so all you are doing is churning through callback-based event handlers.

The callbacks in this case might be the literal interrupt handlers (in which case your dispatcher "loop" is actually the hardware). Or else you make your interrupt write a little bit of state that then gets dispatched by your actual event loop.

Either way, you write responsive software by doing everything in short-running callbacks.

I find it amusing that (some) sophisticated GUI and server framework for big computers re-invent this.

adrianratnapala··on Supreme Court rules antitrust lawsuit against Apple can proceed
> Interestingly, it's a 5-4 decision, with Kavanaugh writing the decision, joined by the 4 liberal justices. Probably the most unexpected alignment of the current term!

It isn't really. It's just the standard partisan split, albeit with one guy "crossing the floor". Such crossing is common but since most of the media is incapable of understanding anything but partisan point scoring, they portray the Justices as partisan hacks, which they are not.

Heck, they aren't even that good at tracking point-scores, since the most common score at SC United (states) is 9-0.

https://en.wikipedia.org/wiki/2018_term_opinions_of_the_Supr...

adrianratnapala··on MOVE an injury not RICE (2017)
How did she break her tail?

(I ask this because my own dog has the fastest moving tail I have ever seen, and I hope that is not a danger to her).

adrianratnapala··on When Engineers Become Whistleblowers
Companies don't exist for the public good, that's one reason why they they are private companies.

The laws that both support and constrain companies -- and also individuals -- really are supposed to be there for the public good.

adrianratnapala··on Open source firmware is important for security
> Is open source really more secure?

I think the trend now is to believe that closed software that is actively maintained by a well resourced party is more secure than open software that is barely maintained by whoever contributes.

Binary blobs for hardware that has long shipped doesn't really fall into the "actively maintained" category. At least not reliably.

adrianratnapala··on Open source firmware is important for security
Well simple and dumb generally is good for all engineered things, as long as they aren't so dumb that they can't do their job.

This principle applies especially well to boot loaders, because the job of a bootloader is to hand control off to some other, more sophisticated piece software.

adrianratnapala··on Chinese Spies Got the NSA’s Hacking Tools, and Used Them for Attacks
> Ideology was a mobilizing idea in the 20th century but has lost mindshare.

Ironic then that it is called the Thucydides trap then, since the ideological lines between Athens and Sparta were very stark indeed.

adrianratnapala··on What Uber Left Behind in Asia
> The other 10% of the time, the drivers either can't use a GPS, have a car that has issues, are drunk, tired, or just choose to drive recklessly.

So, kinda like yellow cabs in New York.

adrianratnapala··on How to Understand Systems
> With different people operating from different mental models of the system.

But doesn't this take us full circle. If we start admitting that everyone has a different subjective model, and if we want to deal with this fact, then we have a whole population of subjective models "out there" in the world being part of "the system".

adrianratnapala··on Botanical Sexism Cultivates Home-Grown Allergies
The local parks I where I lived in Germany had apple and plum trees. In spite of the fact that all the fruit came in a short time in autumn, I never saw a fully ripe fruit on the trees, let alone a rotten one fall.

Between people and birds, there was nothing left for the rats.

adrianratnapala··on Where is π today? The nature of the mathematical universe
Euclid's five axioms.

For one thing we learned to understand "axioms" as something less than self-evidently necessary truths. For another we learned that the original axioms didn't really prove what they were thought to prove -- at least up to modern notions of rigour.

We would now understand the original Euclidean proofs to have been "sneaking in" other, implicit, axioms disguised as obvious deductions, and so modern formulations of the geometry need more elaborate axioms.

adrianratnapala··on Giving up on wlroots-rs
> Not to make too fine a point about it here, but file handles are perfect matches for RAII / Rust lifetimes, unlike OpenGL textures.

Agreed, something like an FD matches RAII very well, but you can open one file multiple times, dup fds and multiple processes can do all this. So the FDs end up mapping in some non-trivial, probably refcounted way to other objects in the kernel.

So it seems with OpenGL, this kind of mapping / bookkeeping layer gets hoisted up into the application framework -- which might be a reasonable choice.

adrianratnapala··on Giving up on wlroots-rs
> ... you end up with some problems because you can only free it with the correct context active, ...

I wonder if this is where Rust can actually help. I.e. could the lifetime tracking in the language allow you to construct a library where the unref was guaranteed to happen only when the right context is active?

And if such a library could be constructed, what would the loss of flexibility cost?

adrianratnapala··on Influencers Are Abandoning the Instagram Look
But then it would be surprising if the emergence of a new medium for everyday social interaction doesn't count as "major social/economic issue" that creates just such a wave.

So yes, I'd expect the "millenials" to be different. I agree with you though that "Gen X" etc. are just a smooth and unremarkable cultural evolution from what began with "Boomer" parents.

← PreviousPage 2 of 34Next →