HNHacker News
TopNewBestAskShowJobs

Dewie

2,355 karma · joined March 23, 2013

submissionscomments
Dewie··on JavaScript's world domination
"Dynamically typed" doesn't mean "refuses to give any type errors, ever".
Dewie··on JavaScript's world domination
> This isn't that different from most other languages.

Based on what people tend to complain about, some languages have more should-be-avoided parts than others. I guess no language is perfect... but that is so obvious that it doesn't need to be mentioned. Yeah, no language is perfect. But it's still interesting to see which ones are the least "perfect".

I don't get this tendency to want to muddy the waters with appeals to "nothing is perfect". Nothing is perfect, but some things sure seem to suck 5 times or more than other things.

(For that matter - it actually does seem like there are languages where you at least don't have to actively avoid parts of the language. Maybe they're not the best or currently the ones which are recommended, but it's not like people say that you should avoid them because they might trip you up in a weird way.)

Dewie··on The underground world of neuroenhancing drugs (2009)
Oh damn, I didn't know they were the same person. All I knew about him beforehand is from watching this video[1], but it's weird to read about a person and then find out that they also were the same person that you knew from somewhere else.

[1] (How Scala [Typesafe] is doing "everything wrong")

https://www.youtube.com/watch?v=TS1lpKBMkgg

Dewie··on The underground world of neuroenhancing drugs (2009)
> Working memory has been likened to a mental scratch pad: you use it to keep relevant data in mind while you’re completing a task. (Imagine a cross-examination, in which a lawyer has to keep track of the answers a witness has given, and formulate new questions based on them.)

Isn't it weird that we have to use auxiliary,learned tools as an analogy to how an innate tool works, and not the other way around? It's not like we don't have a lot of experience with thinking and forgetting, ourselves.

Dewie··on Myths of Enterprise Python
I agree to a degree, though some things are at least confined to a certain dimensions: like strong/weak typing. A continuum more than a binary distinction, but at least you can say things like "stronger" and "weaker" than something else.

(Note that I wrote "weak type system", not "weak typing". "Weak" here is a just a generic adjective, and not meant to be precise.)

Dewie··on Myths of Enterprise Python
> And makes your code 20% longer, which makes for a lot of extra fun not-really-so-cost-free-after-all maintenance.

Just 20%? Sounds like a good deal, considering those that brag that brag that "over half of our code base are just tests!". I don't know if that kind of thing is fashionable or widespread any more, though.

Dewie··on Myths of Enterprise Python
Some people - who do understand type systems - only think of static type systems as type systems. And in that regard they might look at "dynamically typed langauges" as having "weak type systems", since they are often just unityped (only have one type).
Dewie··on Myths of Enterprise Python
> This is an argument for unit tests, not for a statically typed language.

> Type errors tend to be very few and far between compared to logic errors.

The divide between type errors and logic errors is entirely dependent on the language and the discipline/inclination of the developers. In some languages, what you might think of as "logic errors" can easily be moved to "type errors". And in that regard, the difference between what is unit testable and statically typeable is also entirely dependent on the language and the discipline/inclination of the developer. So what might have to be expressed as unit tests in one language, might be checked by the static type system in another language.

But I can understand how some people might think that static type systems are only for catching things like "error: expected addition of integers, but got attempt at adding an integer with a FireTruck". ;)

Dewie··on [dead]
> As we've reported before, there is a lot of evidence to suggest that until the late 17th Century people did not sleep in one long uninterrupted stretch, but in two segments, separated by a period of one or two hours in which they prayed, read, chatted, had sex, smoked, went to the toilet or even visited neighbours.

> That may be more natural than the current tendency to sleep - or try to - in one stretch.

Just because people did it up until very recently doesn't necessarily say anything about whether it is healthy or not. Up until very recently we didn't have electricity, which meant that we were more limited when it comes to what we could do at certain hours of the day-night cycle.

The fact that people did it up until very recently says that people were able to survive reasonably well with that lifestyle, as a species. But "healthy" is more than that: you can live an unhealthy lifestyle, reproduce, maybe even help raise your grandchildren, and die at 60 of cancer or some heart-related disease.

The other side of the coin is that: just because we can, doesn't mean that we should! Just because we can stay up until 3 am and read books or stuff on the Web, doesn't mean that it is good for us. Maybe some restraint might be in order.

Dewie··on Contributing to Servo
I have - tried to - read some posts by doublec where the topic is programming in the ATS lang. But he apparently also likes to dip his feet in simpler languages like Rust. (:P)
Dewie··on Python to Scheme to Assembly (2014)
> I feel that it is a bit disingenuous to claim they are equivalent if the solution to maintaining a call stack is to explicitly maintain a stack structure.

You're funny.

Equivalent in a computational sense.

Dewie··on Confabulation in the humanities
The problem is Just-so stories[1] that have no basis in evidence, but can be moulded to sound plausible given any kind of phenomena. So imagine there are two mutually exclusive phenomena - chances are that you could come up with a plausible-sounding, "evolutionary psychology"-story for both scenarios. And how good is a framework if it can plausibly explain any and all phenomena? Useless.

This might have more to do with how "evolutionary psychology"-sounding theories are presented on Web fora than how they are used in a more academic setting. You can easily run across participants on Web fora who almost admit to just making up shit on the spot that fit with the phenomena that they are presented with, based on their expert knowledge of Stone Age humans.

[1] http://en.wikipedia.org/wiki/Just-so_story

Dewie··on Python to Scheme to Assembly (2014)
> , but my CS professors made it clear that iteration is basically just a special case of recursion.

That seems a bit disingenuous, since iteration and general recursion are fundamentally equivalent. So you could say that "recursion is just a special case of iteration".

Unless we're talking about specific iterations like iterating over a list, I guess.

Dewie··on USENIX WOOT 2015 Call for Papers
You forgot to put your † somewhere.
Dewie··on Rust for Clojurists
Weird intro.
Dewie··on Hacker's guide to Neural Networks
More C => more Good. Balance has been restored.
Dewie··on Show HN: Rabbits – Send an email to get any grunt-work programming job completed
> Hi, could you solve this thing called "n queens problem" for me within 3 hours? Thanks.

Hmm.

Dewie··on Mg: an Emacs-like editor in 160 kb
You could also run Emacs as a server.
Dewie··on Beating the compiler
C++ is well-understood? I don't get that impression from people who know it.
Dewie··on The decline in unionization has fed the rise in incomes at the top
It's fascinating. Corporations and rich owners of industry already have bargaining power by... being big and having money. There's a lot of wiggle room for abuse of power and influence while staying within the confines of the law. And if they don't want to stay within the confines of the law, they have more resources and means to evade it.

But suggest that common workers should have some collective bargaining power and people are all afraid of them going too far and abusing their power. I guess they're afraid that they will have to pay 10 cents more for their coffee at Starbucks because of some greedy barrista union. The common worker banding together like that, that's too dangerous! Better have everyman and woman to themselves, and trust corporations, rich people and politicians to do the right thing.

Dewie··on Beating the compiler
I've been thinking about that for the last few days, and I think that's the best solution, if it's possible. Optimizations might clutter up the code and make the intent not clear. Writing idiomatic code and hoping that the compiler figures it out is also suboptimal, as noted by the grandparent.

I think the best solution is to be able to make some kind of annotation, or other way of declaration, on a function that says "this function should be no worse than this". In Scala's case, for example tailrec. I'm unfortunately having a hard time with coming up with other, specific examples, but the gist of it is that the compiler either manages to do all the work on the function itself and the functions that that function calls, or errors out and reports what it couldn't do. Ideally I would want to make 10 functions which are all pure and referentially transparent, call all those functions from a top function with some kind of annotation that gives some demands with regards to optimizations, and then have that function be transformed to a single, efficient, fused loop with no allocations or intermediary values that are unnecessary. But like I mentioned, the hard part seems to be in actually specifying what your demands are.

Dewie··on Why We Should Demand a Shorter Workweek
There are 50 sovereign countries in Europe.
Dewie··on Redesigned GNU C Library manual
"Bikeshedding" has become yet another empty dismissal. The colour of a bikeshed is irrelevant when designing a nuclear reactor. But the "bikeshed" of a webpage has to do with usability, which is a critical component of any webpage.
Dewie··on Why founders should care about happiness
It's certainly very attractive to try to make other people more happy when that means that we can squeeze more juice out of them.

It seems we finally have enough stuff and comforts[1] to be able to question what exactly we need more of in order to find fulfilment. That seems like a relatively recent shift. And some people - for themselves - are finding that instead of pursuing things that might one day fulfil you, they can instead try to find things that fulfil them right now. And not in the sense of drugs or anything like that; it might be just an ordinary education and eventually an ordinary career. But it has more to do with letting yourself try to enjoy the journey, instead of pining for "finally finishing college", or "finally getting that raise", or "finally retiring".

I think that if we see a massive shift towards happiness, society might look from the outside as being quite the same, and most people's lives will look "mediocre". But the difference will be in how people appreciate everything around them, instead of being annoying obstacles towards an ever-moving goal.

[1] Maybe we had enough 30-40 years ago, compared to today.

Dewie··on I Gave My Child Autism
People have co-opted actual, real diagnosis and started to use them to describe things that are vaguely related/associated with that thing. People who are adamant about being tidy and organized "have OCD". People who are bummed out that their gf just broke up with them "have depression". People that are socially awkward "are autistic".
Dewie··on Java is Pass-by-Value, Dammit
> Or Asm, for that matter (likely even fewer programmers); at that level, basic concepts like memory addressing and pointers become almost "obvious facts of life".

In my intro-to-java-class, indirection was one of the first things we learnt when we learnt about objects: variables hold a reference to an object, not the object itself. I don't understand why pointers are somehow a great insight that is exclusive to lower-level programmers.

And if a java person ended up trying to make a method that swaps two primitive values, they'd have to learn about the distinction between passing a primitive value into a method as opposed to passing a reference to an object.

Dewie··on Ravens Offensive Lineman Publishes Math Paper
> If you think an engineering degree is tough, try doing one while also training 30+ hours/week. ;)

At least it sounds like nice variety. It's probably easier to do 40 hours of study + 30+ hours of exercise a week, rather than 70 hours of studying medicine or whatever.

Dewie··on Ravens Offensive Lineman Publishes Math Paper
HN had a story about a former football player that is now homeless because of traumas sustained during his football career. People seemed to agree with that article. But apparently not this statement.
Dewie··on All Major Browsers Fall at Pwn2Own Day Two
> At the worst you sound anti-technology,

Aah, a Luddite, seize him!

Maybe it's not anti-technology as much as anti-cram-everything-into-the-browser. Some people think that full-fledged applications should be kept out of the browser, but that doesn't mean that they think that full-fledged applications shouldn't exist at all.

Dewie··on All Major Browsers Fall at Pwn2Own Day Two
> Although the length of your post worries me that you might actually believe what you are saying.

> Please do not post such comments again, there are people on here that will not realize you're joking.

What is so dangerous about someone having the opinion that HTML shouldn't get more features? This "be careful what you say"-tone is so weird to me, on this topic.

> Bananabread

A 3D shooter in the browser. So what? Yes there are advantages to having this power, but not everyone is going to agree that it is worth it.

← PreviousPage 2 of 34Next →