excepttheweasel

Joined 13 years ago

Karma
17
Submissions
16
Member since
Mar 19
View on Hacker News

Recent submissions

Comment · 5 years ago
How do twin studies separate those children from the culture they're raised in?
Comment · 6 years ago
Can you link any evidence of federal agents pulling occupy protestors off the streets into unmarked cars? I cannot find any and the linked article does not discuss them.
Comment · 7 years ago
Right, but in Typescript you can't match on the type at compile time, you have to add a "type" field with a string tag and match on it at runtime.
Comment · 7 years ago
Rust can compile to WASM, and I would assume would outperform vanilla JS.
Comment · 9 years ago
I think the go language has taken a position along the lines of "re usability and abstraction are overrated". I certainly think there is some truth to that, I am really enjoying working with go on smaller projects and it is this philosophy that has made understanding the code much easier.

But I wonder how it really scales on a large code base like this? Some of the best projects I've worked on leverage usability more effectively to create a sort of vocabulary. They're far more concise, there is rarely more than one source of truth, they're far easier to change and improve. Does this hold true for 540,000 lines of go code?

Comment · 10 years ago
I have had the most success with a keto based diet. There is a good outline here: http://josepharcita.blogspot.com/2011/03/guide-to-ketosis.ht...

Importantly for me, this diet drastically reduces cravings and reduces the impact of hunger, making it far easier to keep to vs other diets. But it can be quite restrictive, you'll likely find that eating out severely limits your options and it is tricky to keep to if you're traveling.

Comment · 10 years ago
The main downside to using Rust for web apps - at least in my opinion: is having to learn and use a type system which includes affine types: lifetimes, borrowing etc. But if you've already put in the effort to get to grips with this part of the language, that's not as big a drawback. Then you get all the other positives of the language, like its strong type system, fast speed, sensible package manager, lack of GC pauses etc.
Comment · 11 years ago
> In many cases, that up-front cost is paid back many fold later, when other programmers (or you yourself, after you’ve forgotten the details of the code) come and try to read and work with the code. Go optimizes more for understanding the code later than for building big things quickly.

I believe this sounds attractive in part because programmers are so excited by the idea of solving problems, and it's true that a specialized implementation can always beat a general one. But it does not sound particularly sustainable.

A language that doesn't provide adequate abstractions often results in requiring its users to develop those missing abstractions over and over again. With the requisite possibility of bugs or implementation naivety. As both a Rust and Go user, I do find the talk of generics a little over played. Go has great facilities for code reuse that often mean you won't miss generics as much as you might think. But I also see Go projects growing in size quicker than I can appreciate. The increased volume of code, each piece being specialized for its particular purpose - harder to fit in my head at one time. The cost of changing the code becomes more severe, each instance of an abstraction in the code being different enough to warrant specialized attention, rather than fixing code in a single place.

In every organization I've worked at, as the size of a code base grows, so does the cost of change. A language that doesn't scale well is only going to exacerbate that problem. Perhaps Go seems great now because we've yet to really see any projects written in it at this scale.

Comment · 11 years ago
> The reality is, that when OOP is correctly executed

Can you find anyone who agrees on what "correctly executed OOP" is? I don't think there is a consensus on this idea, nor any particularly objective criteria for how to achieve good OOP.

Comment · 11 years ago
> For example, primitive types are not objects (no, auto-boxing doesn't make them objects).

Does the presence of inline assembler make C++ a machine language? I don't think so. Similarly I don't think the presence of primitives in Java make it less of an OO language. They're a leaky abstraction meant to improve the language's performance, which arguably make the language less ergonomic to use.

Comment · 11 years ago
Until working at Pivotal I had been working for about 5 years in various non-app industries: transport, signals monitoring, databases etc. Libraries? Not really, we mostly wrote everything ourselves - at one position, even an entire operating system.
Comment · 11 years ago
Author here, FWIW this article was one of many posts some colleagues and I wrote at Pivotal during a "blog writing tontine" to encourage us all to write more and develop our skills, written hastily and intended to be part of a series I didn't finish before leaving.

My intention was to point readers to some of the good ideas that were emerging (more accurately: had emerged some time ago) from alternative paradigms and how they could be used to make OOP programs better. Agreed that its certainly more about the team than what syntax you use to push bytes around, but tools do matter.

Comment · 11 years ago
It's unfortunate that such a lovely document seems to have produced a terrible subway system. Having regularly taken the subway in Beijing, London, Washington D.C., Tokyo. The New York subway seems almost deliberately difficult to navigate at times. Subway signs are often misleading. Lacking in places or just outright missing. Perhaps they focused too much on the appearance without considering usability.
Comment · 13 years ago
Comment · 13 years ago
"Perhaps, because we always had autoloading as a crutch, our existing knowledge has atrophied – or never even developed – putting us at an even greater disadvantage."

I think the same can be said of any abstraction. The Ruby programming language as an abstraction over C. C as an abstraction over assembler. etc. Yet few people write code in assembler. I don't find this a very compelling argument.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton