HNHacker News
TopNewBestAskShowJobs

thwd

242 karma · joined January 9, 2015

submissionscomments
thwd··on On the Complexity and Performance of Parsing with Derivatives
C++ is a bad example because its' grammar is not actually context free.

Writing a recursive descent parser is actually quite intuitive. It's the solution that you'd eventually arrive at if given the problem of parsing some specific context free language.

GLR, GLL and PwD are solutions to parsing non-cfg (i.e. grammars that have more than one parse-tree) in optimal time.

thwd··on Proposed New Go GC: Transaction-Oriented Collector
I'm not sure I understand: do you mean that they are collected after the program counter hits the last instruction of a given scope or are you implying that scope-local variables outlive their scope somehow?
thwd··on Proposed New Go GC: Transaction-Oriented Collector
Note: "finalize"-hints in Go are just curly braces, which begin and end blocks. Variables local to the scope are "finalized" (i.e. collectable, assuming they live on the heap) when the block ends.
thwd··on Iris: Fast back-end web framework for Go
The speed at which a big data set is processed has nothing to do with the language or its' compiler. It's the way in which the data set is streamed through memory by a particular program. Go offers two standardized interfaces for this, `io.Reader` and `io.Writer`. Also, if the data set can be batched, it's trivial to parallelize processing in Go, while it's a big hurdle in Java.

A JIT is not a performance feature per-se, either. It can be used for runtime code-optimization and -specialization which can improve performance. Some JVM implementations try and do this as well as they can automatically. The stuff they optimize, though, is exactly the kind of indirection that doesn't exist in Go in the first place.

The optimizations `javac` does are one of the few things that allows Java code to run at a competitive speed. And they're mostly trading space for performance, hence the unusually large memory footprint of Java applications.

thwd··on “PayPal has demanded that we monitor data traffic as well as customers’ files”
In my opinion, you are probably right, to a big extent at least. I could well picture PayPal becoming the "Microsoft" of payment services: big and loaded but slow and basically living off past glories. People are already moving away to better alternatives and PayPal is too heavy, corporative and managerial to react in time.
thwd··on How to Pick Your Battles on a Software Team
I understand your logic. But I think it's not that simple: Part of being a senior engineer (at least for me) is to educate my less senior peers. And in a sneaky, non-condescending way, that is.

It's usually thursday or friday evening that my team will pop some beers and talk conceptuals. In those informal discussions information just flows, sentiments are shared and fruitful decisions are reached.

Winning and losing battles implies that battles exist. That's bad enough for me.

thwd··on “PayPal has demanded that we monitor data traffic as well as customers’ files”
Agreed; with both of you. Maybe it won't be crypto-currencies, but Paypal Has To Go®. Let them screw up two or three more times. They're antiquated and operate like a typical barely-legal, gray-area, fee-riddled credit institution.

I wonder why Douglas Crockford, a brilliant man, still works there (other than obviously well compensated time).

thwd··on Three Years as a One-Man Startup
It's obviously a best-effort from someone who's learning Spanish through Readlang.
thwd··on Brotli compression for the web
What about .sys files?
thwd··on Object Oriented Mathematics (1995) [pdf]
On page 4 he does make a reference to the abelian group (Z, +). Though he just calls it "a structure" (which is not wrong), I agree that this paper is somewhat unusual. It even includes some typos ("yeild," page 4), yet it is readable and exposes an interesting topic; the ambiguity of mathematical notation.

Pooh-pooh.

https://en.wikipedia.org/wiki/Pooh-pooh

Also, ad hominem.

thwd··on Letsencrypt implemented as a shell script
Appreciate the effort. Just skimmed through the code, it seems to depend on perl.

It was also a quick refresher on how god damn ugly bash's syntax is.

thwd··on This Week in Servo 43 (submitted via Servo itself)
You mentioned the URL-parsing macro twice.

Congrats to the whole team!

thwd··on Google Badwolf: Temporal graph store abstraction layer
If the author is reading:

> Covariant: Given two types A and B, A covariant B if B is a A. In other word, A covariant B if B is a prefix of A.

Taken from here: https://github.com/google/badwolf/blob/master/docs/temporal_...

Co(ntra)variance only makes sense if you define a subtype relation first. And I think that's what you wanted to define here.

After skimming through the docs I think what you want is: A is a subtype of B if B's path is a prefix of A's.

thwd··on Trix: A rich text editor for everyday writing
http://trix-editor.org/

They don't use contenteditable in the traditional way:

> Trix sidesteps these inconsistencies by treating contenteditable as an I/O device: when input makes its way to the editor, Trix converts that input into an editing operation on its internal document model, then re-renders that document back into the editor.

I find this a fine solution.

thwd··on From Python to Go and Back Again
Your theory regarding PyPy's JIT is disproved rather easily. Python's grammar has been shown to not be context free. This implies that in the best case, the parser is supralinear in both time and space. Just the parser. Now add the rest of the JIT.
thwd··on From Python to Go and Back Again
Come visit, we're quite friendly!

You know what really grinds our gears, though? People who don't read documentation.

If you don't read documentation, you'll get a negative vibe. Because your question is literally sitting at the top of the FAQ. It's been asked 2^1024 times before. WHY WON'T YOU READ THE DOCS?

thwd··on Glowforge launches consumer-grade laser cutter
There's a (golang) gopher hidden in the promo video at second 42: https://www.youtube.com/watch?v=ysCaqh38JVQ&t=42s
thwd··on Apprentice.at – Apprenticeships, not internships
Yeah but they're nothing like this. An apprenticeship in CH lasts between 2 and 4 years, you get paid around 15k CHF and you go to school something like 2 days a week. Also, big-ish corporations have to take on apprentices by law.
thwd··on Income of an uber driver
> Why is his daily mileage so high? He states he makes $1.10 per mile, drives 260 miles a day, but only makes $150 a day.

He's not paid for the mileage spent on the way to pick up someone, only after they get in.

thwd··on Handling 1M Requests per Minute with Go
The slash at the end of the URL made the difference in this case.
thwd··on Handling 1M Requests per Minute with Go
Arguably, UploadToS3 should not be a method of *Payload.

Suggestion: Make an S3-uploader package with _internal_ connection pooling, upload queueing and concurrency handling.

thwd··on Idea of paying citizens a yearly stipend is gaining support in Switzerland
I don't know about Europe in general. Here in Switzerland the majority of landlords are pension funds, which are constrained investment companies with a social obligation. As such, they normally own upwards of 1000 apartments/houses at a time. They price their properties according to market but they cannot adjust beyond certain thresholds because the risk ratio would exceed what they're allowed to have.
thwd··on Idea of paying citizens a yearly stipend is gaining support in Switzerland
Small correction: 26 cantons, 8 million people. And the representatives of the cantons do not constitute the federal government.
thwd··on Idea of paying citizens a yearly stipend is gaining support in Switzerland
Even though you're right that most laws are passed by the chambers, the people still have the power to put them up for voting (or put a second law up for voting that invalidates the first) by just gathering a couple of thousand signatures. In that sense the people really do have the final word in legislative matters.

Obviously swiss people are not born smarter than the rest of the world, but the education standard is quite okay and even though populism exists (as everywhere), Switzerland is doing better than any of it's neighbors right now, thanks to the decisions that the people have made.

The child-slavery thing is a black stain in our history, and we're aware. You can stop throwing rocks down from your glass house now.

thwd··on Re: Proposed Statement on "HTTPS everywhere for the IETF"
Fair enough, the HTTP request path can be hidden through TLS. I'm not sure if privacy is a goal of HTTPS, though.

On the internet layer, IP packets can still be traced from origin to client. I'm probably not involved enough to formulate an educated opinion, however.

thwd··on Re: Proposed Statement on "HTTPS everywhere for the IETF"
I found the title a bit misleading.

He's arguing that viewing public information over HTTPS is no more private than doing so without encryption.

Sure, insofar as an entire response consists only of public information, this is a tautology, isn't it?

thwd··on Tollbooth: HTTP rate limiter middleware in Go
It's built around github.com/juju/ratelimit
thwd··on When You Lose Weight, Where Does It Go?
Simple counter-example: car fuel which converts to kinetic energy.
thwd··on x*sin(y)
Mildly interesting, if you search for:

x * tanh(y)

you get the graph for:

x * ​(exp(​y)-​exp(​‑y))/​(exp(​y)+​exp(​‑y)).

[Edit: asterisks on HN are hard]

← PreviousPage 3 of 3