HNHacker News
TopNewBestAskShowJobs

derriz

2,668 karma · joined December 21, 2014

submissionscomments
derriz··on Hardwood: A New Parser for Apache Parquet
This sounds great. parquet-java is extremely unpleasant to use with its massive fan-out of dependencies, an awkward API which exposes these dependencies causing the dependencies to bleed into a user's code base - the Hadoop stuff is particularly annoying given the relatively poor quality (IMO) of the Hadoop code base and the amount of class name sharing with built in Java types (like File, FileSystem, etc.). And the performance of parquet-java is very poor compared to the libraries available to other languages.
derriz··on Bus stop balancing is fast, cheap, and effective
My experience of public transport modes in various cities is at odds with this.

Trams and trains generally offer far more reliable schedules, frequencies and journey times than busses because they either have completely dedicated alignments or have priority where there is any interface with normal traffic.

Most buses inevitably bunch (see https://setosa.io/bus/ for a nice simulation) and/or get stuck in traffic as a matter of routine. The inconvenience may be less per delay but busses are delayed far more frequently than trams and trains on most of the public transport systems I've used. So for regular users, the cumulative inconvenience is much worse on busses than on trains/trams. Which is why people flock to trains and trams when available as an alternative to busses.

Specifically with regard to the parent, the frequency at which unplanned outages happens with tram services in Zurich is extremely low in my experience - certainly planned changes to schedules or routes (for maintenance, upgrades, etc.) are far more frequent. And when "something happens" (i.e. a traffic accident), the path for trams is cleared as quickly as possible - often in 30 minutes or less - so you'd really have to be unlucky to be inconvenienced by such an occurrence.

derriz··on What Every Experimenter Must Know About Randomization
At a certain point a bias in the prng just has to become significant? This will be a function of the experiment. So I don’t think it’s possible to talk about a general lack of “practical impact” without specifying a particular experiment. Thinking abstractly - where an “experiment” is a deterministic function that takes the output of a prng and returns a result - an experiment that can be represented by a constant function will be immune to bias, while one which returns the nth bit of the random number will be susceptible to bias.
derriz··on How to choose between Hindley-Milner and bidirectional typing
HM handles sub-typing just fine? Numerous approaches have been known since the 1980s - Michael Wand’s row polymorphism is one such approach.

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

derriz··on Poor Deming never stood a chance
Not sure about your opening thesis. The vast majority of employees work for privately held businesses and from personal experience of working in such companies, “management” by OKRs and the like is common in companies who are not listed on stock markets also.
derriz··on I'm building a clarity-first language (compiles to C++)
Should be a priority. Without it, your language relies on recursion for Turing completeness.
derriz··on Stepping down as Mockito maintainer after ten years
The alternative to what? Using mocks?

For example, one alternative is to let my IDE implement the interface (I don’t have to “write” a complete implementation), where the default implementations throw “not yet implemented” type exceptions - which clearly indicate that the omitted behavior is not a deliberate part of the test.

Any “mocked” behavior involves writing normal debuggable idiomatic Java code - no need to learn or use a weird DSL to express the behavior of a method body. And it’s far easier to diagnose what’s going on or expected while running the test - instead of the backwards mock approach where failures are typically reported in a non-local manner (test completes and you get unexpected invocation or missing invocation error - where or what should have made the invocation?).

My test implementation can evolve naturally - it’s all normal debuggable idiomatic Java.

derriz··on Stepping down as Mockito maintainer after ten years
I used ResultSet because the comment above mentioned it. A clearer example of what I’m talking about might be say you replace “x.size() > 0” with “!x.isEmpty()” when x is a mocked instance of class X.

If tests (authored by someone else) break, I now have to figure out whether the breakage is due to the fact that not enough behavior was mocked or whether I have inadvertently broken something. Maybe it’s actually important that code avoid using “isEmpty”? Or do I just mock the isEmpty call and hope for the best? What if the existing mocked behavior for size() is non-trivial?

Typically you’re not dealing with something as obvious.

derriz··on Stepping down as Mockito maintainer after ten years
That’s the seductive power of mocking - you get a test up and running quickly. The benefit to the initial test writer is significant.

The cost is the pain - sometimes nightmarish - for other contributors to the code base since tests depending on mocking are far more brittle.

Someone changes code to check if the ResultSet is empty before further processing and a large number of your mock based tests break as the original test author will only have mocked enough of the class to support the current implementation.

Working on a 10+ year old code base, making a small simple safe change and then seeing a bunch of unit tests fail, my reaction is always “please let the failing tests not rely on mocks”.

derriz··on Tell HN: Google ignores English searches and forces localized results
Drives me crazy as I travel a lot. Even if I‘m logged into Google and it’s been tracking me for years and it‘s still targeting me with obviously personalized ads but it will assume I’ve suddenly acquired temporary proficiency in French, German, Italian, Spanish, etc stubbornly ignoring the language I’ve used for my query or the only language I’ve ever - in all my interactions with Google over years - ever used. What the fuck would be so hard to just NOT use braindead geolocation (which doesn’t even work in countries like Switzerland) when you know for certain who I am. You track all this information about me and use it to generate ad revenue but refuse to use my language preference?
derriz··on How we lost communication to entertainment
Patrick Boyle eventually comes to a similar conclusion in his video about global population decline - https://youtu.be/ispyUPqqL1c?si=7jUgVBkOvLHluPAR - but includes lots of graphs and other interesting factlets.

* warning for Americans: not suitable for those offended by sarcasm

derriz··on Always bet on text (2014)
I don’t see the relevance to the topic. I could preface your list with something like “The monkey wrench is not the best tool for the following situations:”. It’s kinda vacuously true in a meaningless way but without expansion adds nothing to a discussion about the relative merits of monkey wrenches versus other similar tools like pliers or vice grips.
derriz··on Fahrplan – 39C3
> Most local hackerspaces I visited are basically green and leftist queer safe spaces where adults run around with stuffed animals.

So what? You’re not being asked or expected to feel empathy - just show tolerance. Which is the easiest virtue to develop - just ignore behavior which doesn’t threaten you.

If someone is doing their own thing - wearing a MAGA hat, a rainbow t-shirt or carrying a fluffy toy - it doesn’t bother me in the slightest. Why does it bother you unless they’re getting in your face?

derriz··on Archiving Git branches as tags
> Important note: the strange magic requires the official git completion script.

I dislike the official git completion script because it’s so slow when working with large repos. On macOS - because of vagaries of the way its file system works - with large repos it’s effectively unusable. Hint to completion script writers: if your “smart” completion ever takes seconds, it’s worse than useless and far worse than “dumb” filename completion.

derriz··on The next-gen mainboard designed with amigaos4 and morphos in mind
What puts me off the Amiga scene is how little of the 30 or 40 year old software has been released into the public domain.

I have no issue with charging for new software for retro platforms in order to support the scene but find it slightly offensive that you have to pay to acquire a legal 1.3 kickstart ROM - released and unchanged since 1988. It just feels like copyright squatting.

derriz··on Former EU commissioner and activists barred from US
Also banned: “Imran Ahmed, the British CEO of the US-based Center for Countering Digital Hate; Anna-Lena von Hodenberg and Josephine Ballon of the German non-profit HateAid; and Clare Melford, co-founder of the Global Disinformation Index”

The bullies are anti-disinformation and anti-hate speech activists?

The USA using its diplomatic power to become a defender of hate-speech and disinformation?

I guess when JD Vance deliberately snubbed the democratically elected government of the country when visiting Germany and instead spent his time with a far-right neo-nazi party, it should have been clear which way the wind was blowing.

derriz··on It's Always TCP_NODELAY
Fair enough - I didn’t really fully consider the effect of retransmission and segmentation on the receiver view.
derriz··on It's Always TCP_NODELAY
I don’t understand your point here or maybe our understanding of the admittedly vague term “message oriented” differs.

I’m not suggesting exposing retransmission, fragmentation, etc to the API user.

The sender provides n bytes of data (a message) to the network stack. The receiver API provides the user with the block of n bytes (the message) as part of an atomic operation. Optionally the sender can be provided with notification when the n-bytes have been delivered to the receiver.

derriz··on It's Always TCP_NODELAY
For me, the “whole point” of TCP is to add various delivery guarantees on top of IP. It does not mandate or require a particular API. Of course, you can provide a stream API over TCP which suits many applications but it does not suit all and by forcing this abstraction over TCP you end up making message oriented applications (e.g request /response type protocols) more complex to implement than if you had simply exposed the message oriented reality of TCP via an API.
derriz··on It's Always TCP_NODELAY
Yeah, I’ve always felt that the stream API is a leaky abstraction for providing access to networking. I understand the attraction of making network I/O look like local file access given the philosophy of UNIX.

The API should have been message oriented from the start. This would avoid having the network stack try to compensate for the behavior of the application layer. Then Nagel’s or something like it would just be a library available for applications that might need it.

The stream API is as annoying on the receiving end especially when wrapping (like TLS) is involved. Basically you have to code your layers as if the underlying network is handing you a byte at a time - and the application has to try to figure out where the message boundaries are - adding a great deal of complexity.

derriz··on US blocks all offshore wind construction, says reason is classified
Yes but you’re not paying for the area the blade covers - you’re paying for the blade. Simplifying (to an extreme) for the sake of illustration - a 20m blade costs twice as much as a 10m one but produces 4 times the energy.

Obviously, cost scales more than linearly with blade length but it’s a bit like big O - the n^2 factor dominates. This is why wind turbines have been getting bigger and bigger. And why the cost of domestic or small-scale wind turbines remains stubbornly high despite the dramatic fall in the average cost per MW seen for wind turbines - as the falls are largely driven by the ability to manufacture larger and larger turbine blades. While falls in costs for solar PV can be seen at every scale.

derriz··on Chomsky and the Two Cultures of Statistical Learning (2011)
It’s not about agreeing or disagreeing with Chomsky on specific points.

It’s about the validity and strength of his arguments. I could continue to agree with Chomsky on some point but now dismissing his argument.

Or if I was undecided about how to judge something in terms of morality, then yes, if Chomsky was proven to have sexually abused trafficked children, I might skip consulting Chomsky on the matter.

To be honest, I don’t know where you’re trying to go with this line. It feels like you think you have some “gotcha” you feel ready to spring and will keep asking these opaque questions until you think you see an opportunity.

Why not just lay out your argument transparently and I can engage?

Or state exactly what it is about my claim that appeals to morality made by immoral people are less convincing than those made by moral people that you disagree with? Forgot about Chomsky - it has nothing specifically to do with him.

derriz··on The Rise of SQL:the second programming language everyone needs to know
Agree that Pandas is horribly irregular - the only worse query language I’ve had to work with is Mongo’s. After about a decade of regular Pandas use, switching to Polars was such a relief. It’s not perfect since it’s slightly limited by being a Python library rather than an embedded query language but it’s so much better designed than Pandas - even ignoring the huge performance improvement. In my circle, Pandas is being abandoned en mass for Polars.
derriz··on The Rise of SQL:the second programming language everyone needs to know
With support for Common Table Expressions (CTE), SQL becomes a Turing complete language. To be honest, it makes me somewhat uncomfortable that a query sent to a DB server could be non-terminating and cause a server thread to enter an infinite loop. On the other hand, the practical difference between a query that contains an infinite loop and one that runs for days is probably negligible.
derriz··on US blocks all offshore wind construction, says reason is classified
Sadly wind turbines don’t really scale down like PV panels. The energy produced by PV panels is a linear function of their surface area. For wind turbines, it scales with the square of the blade length.
derriz··on Chomsky and the Two Cultures of Statistical Learning (2011)
Why? There are some of Chomsky’s positions I’m sure I agree with and some I disagree with. What’s the relevance to my point?
derriz··on Chomsky and the Two Cultures of Statistical Learning (2011)
Moral arguments for me don’t stand alone like a mathematical proof or scientific findings which can be examined as some sort of platonic form.

Morality arguments are social and contextual. That 2+2 is 4 won’t change and captures some sort of eternal truth while what is deemed moral is constantly changing over time and differs across different societies and social groupings.

So morality arguments require and appeal to a particular shared sense of right and wrong. If Chomsky was guilty of sexually abusing children, then I do not share his moral foundation and so his appeals to morality arguments do not convince me.

derriz··on Chomsky and the Two Cultures of Statistical Learning (2011)
I am not a fan of Chomsky - the opposite in fact. I was deliberately avoiding judging his actual arguments - to make the point that his own morality undermines his lecturing others on their moral failings.
derriz··on Chomsky and the Two Cultures of Statistical Learning (2011)
A lot of Chomsky’s appeal I believe is due to his politics as his universal grammar theories turned out to be an academic dead end.

But his politics centers around the moral failings of the West so I think yes, if he was involved in the sexual exploitation of trafficked children, then this would devalue his criticism of the morality of the Western political system.

derriz··on Over 40% of deceased drivers in vehicle crashes test positive for THC: Study
There is no mention that these drivers were ONLY impaired by weed. But I can’t believe a paper would not look at the confounders. I know quite a few who are not regular smokers but will imbibe after a few beers if it’s being passed around. Also weed is popular with consumers of stimulants. Without knowing the possible confounders, this statistic tells you very little.
← PreviousPage 4 of 29Next →