HNHacker News
TopNewBestAskShowJobs

chrisdone

752 karma · joined January 15, 2008

submissionscomments
chrisdone··on Should gifted students go to a separate school?
I do think that educating other people is important, because we don't live forever.
chrisdone··on Paper is the real 'killer app'
I'd agree. I've been trying to think of why I like orgmode and todoist and toggl aren't the same, it's that I can manipulate it freely as text without being blocked by the structure or hitting a use-case unanticipated by the authors of the app. I can also extend it easily and have done so.

In that way its benefits are similar to pen and paper.

chrisdone··on Paper is the real 'killer app'
One thing that will be a factor for a long time is that a piece of paper doesn't require integration to share it with other people, or a battery to be charged etc. It's just a real object representing your ideas.
chrisdone··on Why read old philosophy?
He just means that great philosophers tend to talk about relationships in the abstract and not historical artifacts that become dated. Murder is wrong is not going out of date any time soon, and yet "murder by electric chair is wrong" is hardly going to be considered a great philosophical statement because it depends on incidental artifacts.
chrisdone··on Be Careful with Python's New-Style String Format
> So what do you do if you do need to let someone else provide format strings? You can use the somewhat undocumented internals to change the behavior.

Well, that's just sloppy and shame on you for exposing programming internals to a user in a service. What did you expect? Write your own format string parser and stop being lazy.

chrisdone··on Things You Notice When You Quit the News
I've only truly learned about people in other places by traveling. Anything else is mostly caricature.
chrisdone··on Reflecting on the Right to be Forgotten
> Google believes it should not.

It's always funny to see someone write that a company "believes" anything. It's a party line. With a company as big as Google of 10,000 it's downright strange.

chrisdone··on Why Functional Programming Matters (1984) [pdf]
I believe PureScript solves most of these problems.
chrisdone··on Why Functional Programming Matters (1984) [pdf]
I think what you mean by "functional" and what the author means by "functional" are distinct. Are you aware of the distinction?
chrisdone··on Dark Patterns – User Interfaces Designed to Trick People [video]
Buying tickets with RyanAir is stressful due to these kind of practices. They're less aggressive than in the past, when I wouldn't even continue because I just had zero trust in the company, but they're still sly.

A sneaky one I saw recently is something like:

[ ] Subscribe to newsletter about our services by unchecking this box.

(It doesn't matter whether the box is initially checked or not, the user will be tricked into the desired behavior.)

I don't remember the exact phrasing, and it was much more shrewd than my own, but it relied on a boolean flipping of the value of the checkbox towards the end of the field label. Any user seeding the start of the sentence will leave it in its current state.

chrisdone··on Elm from a Business Perspective
There are many points to respond to here.

1. Evan (the Elm author) has pledged to support type-classes, it's on the issue tracker, and because he believes that they are useful.

2. "The academics" is a mischaracterization. I use Haskell and PureScript professionally and share the same problem of the "Elm is Wrong" author, which is that it's impossible to do any generic programming.

3. Generic programming is important for something as simple as inserting my own data types as keys into a dictionary. So is being able to write "show x" and just have the thing showed if it has the instance of a showable class. Or to parse a nested data structure of various types from JSON.

4. Being able to use my own types as keys in a dictionary is pretty pragmatic, I think. A typical pattern in ML-style languages is to wrap types like Int in a UserId type that just wraps it and protects it from being mistakenly used with other Ints. Now try to make a dictionary of users via the UserId type. Nope.

5. "They" in this case aren't concerned with elegance or concision for the sake of it, but because the features under discussion help them do their job better, avoid mistakes, reduce maintenance cost, and that's good for business.

6. Go has non-academic, purely pragmatic problems that are orthogonal to its popularity, as does PHP or nodejs.

None of the things under discussion are difficult to implement, novel or exotic. Given that other languages like PureScript exist under the same domain and from the same family of languages, we have the luxury of holding other languages up to the same standard. In this particular point, Elm is a -1.

chrisdone··on George Orwell, “Politics and the English Language” (1946)
The article itself basically says "I break these rules regularly, I'm not perfect either". But I think some people like to point out people's flaws to show off. Orwell's article is sincere.
chrisdone··on George Orwell, “Politics and the English Language” (1946)
Indeed, "melting pot" makes me think of think-tanks or a busy "scene" area, it doesn't make me think of an actual melting pot, the words themselves doesn't conjure up the mental image that they refer to, so the strength of the metaphor is weak.

Reading Orwell's own writing in this article "like tea leaves caught in the sink" it conjures up a fresh mental image.

One thing I discovered during 6 years of living in central Europe is that speaking mostly with non-native English speakers leads to a necessary elimination of metaphors; you have to use direct words. I can't say "he's trying to pull the wool over your eyes" or "don't let the cat out of the bag" or whatever, because nobody has any idea what I'm saying, and it's not worth explaining. I considered it a kind of mental training, it taught me to speak plainer English.

chrisdone··on George Orwell, “Politics and the English Language” (1946)
The below example is stunning. I feel sick to recognize the second paragraph (especially in academic writing), and I feel strong relief that the first paragraph can exist.

> Here is a well-known verse from Ecclesiastes:

> I returned and saw under the sun, that the race is not to the swift, nor the battle to the strong, neither yet bread to the wise, nor yet riches to men of understanding, nor yet favour to men of skill; but time and chance happeneth to them all.

> Here it is in modern English:

> Objective considerations of contemporary phenomena compel the conclusion that success or failure in competitive activities exhibits no tendency to be commensurate with innate capacity, but that a considerable element of the unpredictable must invariably be taken into account.

chrisdone··on Intero for Emacs: complete interactive development program for Haskell
If there's no stack.yaml it uses the global ~/.stack/global/stack.yaml.

So you should be able to open any random file and it'll work out. E.g. if I open ~/X.hs and import Lucid, I can just run stack build lucid in my ~/ and now M-x intero-restart and it has access to that package.

chrisdone··on Intero for Emacs: complete interactive development program for Haskell
This was a trade-off I went with. One thing that I learned from years of hacking on haskell-mode is that adding an option for every little decision adds up to a brittle user-experience. If you want this, enable that. If you want to enable that, install this. And so on. A survey showed that most people used about 20% of the features available in haskell-mode.

In the case of Intero I made every decision for the user; there are no customization options in the mode, and it leads to long (first-time) start-ups like this. But in the end I'd rather wait a minute and have every project always work reliably (and this isn't unheard-of for IDEs). It does build a version of intero for each project environment, because the GHC version and package set may differ. This is in contrast to e.g. ghc-mod or hdevtools which is locked to a specific GHC version, so switching between projects is not smooth.

chrisdone··on Scientists say sudden oak death epidemic is no longer stoppable
All the sandworms would die.
chrisdone··on Brutalist Websites
Funny thing about Stallman's site is that I can't click "Fiction". Due to the italics change it moves around and disappears from under my cursor. You associate simple sites with usability, but in this case it's just as perilous as any other.
chrisdone··on The Website Obesity Crisis
Page size is part of user experience, however. If you've ever visited another part of the world where Internet is awful or tried to use 3/4G on a mobile with bad signal, you immediately start to hate web sites that take forever to load what amounts to a page of text, which, if it were merely a HTML file containing the text, would still load immediately even on dial-up quality connection or less. Most people don't know this. Programmers do, and people who remember 90's Internet. Taking this into account, comparing against books is not too weird.
chrisdone··on Physicists and Philosophers Debate the Boundaries of Science
But the point of Zeno's paradox is to show that our model of reality is purely definitional, rather than objective in any absolute sense.
chrisdone··on On Being Smart (2009) [pdf]
The bias is understandable, though. People things are good at are the result of practice from birth, whether conscious or not. Basic neuroscience tells us that. The few people I know who I would consider geniuses in the true sense of the word (prolific, intense, profound, dominating) are constantly working and constantly thinking. This article ironically notes Mozart as an anomaly, but is well known to have considered himself a hard, practical worker, unlike the "random flashes of genius" myth perpetuated by those who came after him.
chrisdone··on Losing Sight
Honestly going blind is a fear for me for everything (never seeing my family or my SO smile again, or the rain, etc.) except programming. It would be hard but things like Emacspeak really make me feel like someone's taking care of the hypothetical vision-impaired me that could happen. It wouldn't be peachy but I wouldn't feel suddenly lost either.

My biggest fear for my job is injuring my hands irreparably as they are really my bread and butter as a programmer. I invest heavily in quality keyboards and personal tracking software (mostly self-written) to keep tabs on not going overboard and triggering the onset of RSI or other health issues related to the hand and wrist.

chrisdone··on The war on big food
At some point I just stopped buying anything that isn't fresh or obviously a food I recognize. I live in a modern first-world country with a decent salary, I enjoy walking to the shop a couple to a few times per week, I'm not slaving away on my job so much that I don't have time to sit down and prepare a proper meal throughout the day.

The realization seems to be that there's really no reason for me to buy these kind of sugar/salt-packed opaque possibly-dangerous glorified ration packs that we call food in our supermarkets.

The irony is that the ambiguity/confusion of nutrition has been a good way for the industry to sell its garbage for generations, but now people are so cognizant of the complexity of diet that they want to narrow down the possibilities to the simplest thing possible, and that's not good for the complex food industry. This also makes sense:

> Confectioneries have held up in part because there was never any confusion over whether they’re an indulgence.

It's the rest of the food that people eat when they're "being good" that they care about.

chrisdone··on The next version of Safari will let users block ads on iPhones and iPads
I don't think morality has anything to do with this, unless you want to bring a marketing issue onto a high-ground that it frankly doesn't deserve. What body of ethics has anything to say about this?

I think part of the issue is that most of these services that base themselves on ads are inessential.

I don't care if reddit or gmail or last.fm goes down, I can always get another service that will step up and fill the niche. Grooveshark funded their service by ads, then it got taken down by a lawyer army, now I pay for a Spotify subscription.

When ads are present, they're part of the experience. And that means the experience, for some people, is shitty. People will prefer not to have shitty experiences. Some people decide to start out with the premise that they will make money off of ads, good luck to them. But it's not my moral obligation to accept it.

chrisdone··on The real way to generate a list of primes in Haskell
Most people know it's not a real sieve of Eratosthenes and just a demonstration of Haskell concepts but there will always be people excited to educate others regardless of the context.
chrisdone··on Dunning-Kruger and Other Memes
Regarding the “Income & Happiness” section the following section of a talk by Will Self comes to mind, on quantifying people's happiness and feelings: https://www.youtube.com/watch?v=VFNOWnklxAA&t=7m00s
chrisdone··on Sir Terry Pratchett has died
I think "auf wiedersehen" is the same as au revoir, no? re-voir is to "re-see". I'm familiar with this contraction from Italian arrivederci - a (to/towards) ri- (again) veder (to see) ci (we) - "till we see eachother again".
chrisdone··on Facebook will lose 80% of users by 2017, say Princeton researchers (2014)
This idea is old. A few years ago someone claimed "Facebook is not cool anymore, now your parents are on it" and predicted an exodus of teenagers leaving. Didn't happen. Facebook is useful because it's full of people. It thrives on popularity. It's not run on being cool. Unless they make a Digg move and really screw up, people aren't going to drop it.
chrisdone··on The New Haskell.org
That's because I'm waiting for the photographer to get me the full size version. This one I cribbed a low-res version of the net, but it's easily one of the best Haskell conference photos in its original form.
chrisdone··on The New Haskell.org
You did nothing wrong, the hundreds of active users due to announcement buzz is a little outside the scope of the sandbox's capabilities, it has some race condition under heavy load. We considered spending time optimizing this in anticipating of the announcement, but more pressing issues took priority. Re-running the line should work.
← PreviousPage 3 of 9Next →