skysight-inc/HackerNews huggingface dataset:
> How do we tell truths that might hurt?

Well, if you are attempting to influence someone like me, not like this. I think Dijkstra's great reputation and 37 years of experience with programming are basically enough for anyone reading this today to take all of his statements as basically true; but if someone published a similar list dissing all your favorite programming languages... well, we've all witnessed internet flame wars.

The basic problem here is that the list is nothing but assertions. Dijkstra is 'right' about almost all of them, but there's no proof, or attempt to argue the point here. If you didn't already agree with him, or god forbid, actually use one of the languages, what you'd hear is Dijkstra basically saying you are stupid for using that language.

And humans have a very natural tendency when someone calls them stupid to assert angrily that they are not. And then the argument basically becomes a form of "no I'm not stupid for liking Apple products, you're stupid for liking Android." Which is entirely not the point of what Dijkstra is doing.

In my experience, the best way to get someone to change their mind is to show them a better way, and show them how and why it is better without ever insulting the old way or implying people who follow it are stupid.

Easier said than done, of course. But the insults are unnecessary and, more importantly, distracting. They tend to be more about the ego of the person hurling them than anything else. And stuff is already hard enough to figure out even without egos getting involved.
How to convince clients to charge by the project instead of hours ?
Sometimes that's not always a choice. OpenGL uses the same check for error pattern.
What's the target market for this product? (Another way to ask this question would be, which subforum at bikeforums would be interested in this?[1]) I fit into the commuting, road biking, touring, and classic bikes sections, and want no part of this product.

As a 30 mile a day bike commuter, I want relatively few failure points as possible in my machine since I don't want my shifters to go bonkers on me as I'm going home at 9pm in sub 40 degrees weather (I'm going to be replacing my STI shifters with barend shifters soon). If I were a city commuter, I'd probably going for a simple fixed gear or similar set up, and certainly don't want a bike that would be a magnet for thieves. As either type of commuter, this component is out of my price range.

As a road race style cyclist, my front derailer is of high enough quality that I have literally zero problems shifting from small ring to big ring or vice versa. I never have a situation where I need to shift the front gear while stationary, since any adjustment I need will be small enough to be covered by moving up or down in the cassette. Thus the "shift front gear while stationary" benefit is a moot point for me. As for weight, the Shimano Dura Ace components that you'd go up against don't add up to 1kg when looking at crankset + BB cup + front derailer [2], so I don't really see a weight advantage either.

If I'm on a tour, there is no way I want a complex gear system that can break down and leave me stranded. I'm going to go for a barend or downtube shifter setup.

As a classic bike aficionado, I have negative interest in this product.

That being said, jrockway has a good point that this may come in handy for mountain biking because of the mud issue, or cyclocross for similar reasons. Maybe these segments could make sense for this product?

[1] http://www.bikeforums.net/forum.php
[2] http://www.totalcycling.com/component-weights.html
HTML .. when PostScript was way better.

The many years spent with C and C++ when there are better alternatives around.

Microsoft Windows, OSX, Linux when Plan9 exists.

OOP.

NoSQL and its total misunderstanding of the power of having a declarative query language.

Cache coherency, ordering guarantees, where we should opt for less.
I would say avoid all of this advice altogether. Make questionable decisions, having dramatic relationships, don't be a bore. :)

I mean it's one thing if all you want is for you to have a long life of just 9-5 mundane, workaday life. But that's not for everyone.
I think the original article sort of falls short of making its point. No one ever designed their way to global domination. The market buys the entire package, not just the gloss. Pretty stuff that doesn't work well doesn't meet with success, its that simple. Design is just one piece of the puzzle.
Departing Space Station Commander Provides Tour of Orbital Laboratory
The hard (for humans) part of programming is already being done by your compiler, linker, version control system, IDE, interpreters, etc. All that's left for you is the parts that are hard for computers: deciding what the program should do, guessing which libraries are worth the risk that they might be buggy, discovering gaps between what you decided the program should do and what its users need, figuring out how to make it understandable to users, getting people to try it, and so on.
No, it's not. Dijkstra believed in programming as a formal discipline. One of his more contentious claims is that most computing scientists who wrote programs (note the "computing", not computer[1]) should use formal methods in addition to programming. In many cases this would mean proving your programs correct. In this sense you are not simply a "code monkey," you are a mathematician generating proofs of algorithmic analysis.

Now, of course, he was correct that this is quite difficult, especially if you want to do it for everything. It turns out that the demand for programs which sometimes work is higher than the demand for programs which always work, so most programmers are not mathematicians.

However, many of Dijkstra's feelings are being revisited, with a modern twist. The C security disasters of the latter part of the previous century convinced a lot of people that we have become far to lax in our discipline.

However, we still recognize that formal proofs of correctness are far too onerous for ordinary programmers. Instead, we'd like to offer the benefits of formal analysis to programmers without any experience with formal analysis. This is the study of type systems.

I could go on, but this is a long topic that I really just need to sit down and write a blog post about to cover in any sufficient detail.

[1] Computer science is not the study of computers, it's the study of computing
Speak to people over 60, they generally regret what they didn't do than what they did.
Ultimate hackers laptop would be one without a wide-screen! Bring back the 4:3 displays that we had in the old day please. These were good for reading and editing text/code.
You can't buy any decent laptop without a wide-screen, so you will have no competition in this area.
I think HN and Reddit really underestimate just how much of a bother many of us find hooking things up like that. This sounds like an amazing idea to me too: I am definitely a target consumer, and I by no means lack tech saviness.
You are mixing conjectures from string theory and other theories with known physics.

I can found no info on the W^0 or the A, R and L are a type of conjectured parity, not actual particles, and hypercharge is an obsolete concept.

You should be more careful about where you learn physics, and very very careful to distinguish known physics, or theories with evidence from conjectures and ideas. Both are necessary - but don't mix them up.
I criticized PHP for years without ever really using it. Then I finally did some real work in the language. Did my opinion change from the exposure? You bet it did. Turns out that PHP is even worse than I had thought.

I know plenty of people experienced with PHP who actively criticize it. People who have never used it generally tend not to care about it.
Galatasaray Fenerbahçe maçı canlı izle maç özeti
Pretty much all Mac games at the moment are Cider (WINE) ports. Starcraft 2, Spore, NFS, pretty much any big game release is a Windows binary in a Mac wrapper. They're slower than native sure, but not awfully so.
I start finding those arguments about PHP close to ones Adroid vs iPhone.
Yes, PHP is inconsistent and etc. But on the other hand, it just gets the shit done. And for historical reasons, it has a huge community. When you add those two factors together and stop being a hipster... It's not that bad, is it?
Figuring out the shortest path to completing these patterns might be a fun challenge.
What sort of languages did Dijkstra really like?
I had a similar experience and judging by other comments it seems pretty common. School is really good for this because it provides both goals and immediate deadlines. You want to graduate and to do that you have to do this assignment for Thursday and that lab for Monday. In engineering school it's particularly bad since you only have to decide on 5 or 10 electives throughout the degree, and there's usually common easy ones a lot of people know about and take. I still struggle with anything that doesn't have a drop-dead date - and it feels like less things in Real Life™ have one than in school. But recognizing the problem is a part of the battle.

Heh, I actually dug up the comment I also mentioned this in, written back in February 2011: http://news.ycombinator.com/item?id=2186121
Near the W and Z, and there seems to be a missing particle near the photon and gluon - probably the graviton.
Any reason why the load on db59 is so high? Are they trying to stress test it?
My reading of the article suggests that it's targeting more casual riders that bop around town, but maybe live in a hilly place, haul kids, etc, and could use some extra gearing.

All your criticisms may be true, but seem to be more about the needs of "enthusiast" / "serious" riders (a category which includes many bike commuters in the U.S., but not so much in other countries).

So despite the issues you mention, there may very well be a place for this tech—and the "non-serious" market is much larger (especially outside the U.S.)...
Coding Queens - Feedback from Female Engineers in the Bay Area
Nah, that's the one that's popular ("pleasant") to recognize.

If I had to hazard a guess, I'd imagine Dijkstra would have a word or two to say about callbacks, given his famously strong beliefs about GOTOs....
Let me put it to you this way:

I build a time machine and we go 100 years back into the past and kidnap some locals from 1912 and bring them to 2012. We step out of our time machine on to the street and the first thing they see are insane people who are talking to themselves while clasping wires that dangle from their head. They also see people photographing their food like it's a member of the family. But I'm sure after a few hours they'd "get it".

I'm honestly amazed that so many people don't use smart phone for obvious things like getting directions. And we're talking about technology that's from a few years ago. So it's just a matter of context over time...
SMTP TLS has to be deployed by the email server admin. Google could implement PGP (with the private key stored on their server) and it would work with any PGP-compatible email client regardless of support by the peer's email server. So for example, if your company runs your email server and doesn't use SMTP TLS, you can still use e.g. Thunderbird with GPG and correspond with someone who uses gmail without the gmail user having to take any steps whatsoever -- it would be trivial for google to supply a page like 'https://gmail.com/[username@gmail.com]/PGP (and autogenerate a new key for any guessed address to thwart spammers guessing addresses), where you could get a copy of the user's public key and then send encrypted messages without the gmail user having to do a single thing.

That doesn't keep the email private from Google, but if your only concern is to keep your communications private from your email provider for some reason (or from your ISP etc. if you like your email provider other than the fact that they don't use SMTP TLS), it gives you something you didn't have before.
Comparing against typeof 'undefined' instead of undefined - Eli Perelman
Yes, it is basically entirely about being not only a cog but a good little cog. Honestly, to anyone reading this stuff and looking for direction or advice on life, don't take from HN. If you listen to anyone on HN at all about life issues, just listen to the ones that tell you not to listen. This crowd is too biased toward one direction that it's going to bias in advice toward that ideal lifestyle. If you really want to be a healthy, skinny, hipster whose goal in life is to increase the share value of the company he works for and make his managers happy then a lot of stuff would probably be very useful; it sounds like a dreadful bore to me. :)
Some math people I talked to found formal logic to be the hardest branch. Proofs about proofs are maddening. Reasing about reasoning and about things you can't reason about is tricky.

Programming--at a high level--is just this with different syntax. Actually, that's both a simplification and an exaggeration. However, Dijkstra was very interested in formal verification, and that really is very much like the study of formal logic.

More generally, the study of programming languages and semantics (which is probably most of what he meant by programming as a branch of mathematics) is very closely related to formal logic. And while I personally think it's not nearly as scary as people make it out to be--please don't be afraid of type theory and formal verification!--most people do find it somewhat difficult.
The article equates them in the sense of "not being distracted" ... I think it's correct enough. You can work on them separately, or at the same time. Concentration practice develops mindfulness as a side effect, and vice versa. You can't get very far in meditation without both.

to answer GP's question, concentration requires the ability to notice distractions right as they pop up and avoid getting spun out.
> I could go on, but this is a long topic that I really just need to sit down and write a blog post about to cover in any sufficient detail.

Please do.
People think inverse Moores Law is slowing with Intel, but Intel has just been committing more and more die in their chips to onboard graphics. I wonder how Ivy Bridge E will perform with 435mm wafers, though Sandy Bridge E was kind of a let down (I'd imagine that is more architecture shortfalls with 1/4 the cores shut off).

But yeah, consumer demand just mandates something that can run a web browser as fast as IO bandwidth allows. You don't even really need video decoding since you can offload that to hardware acceleration.

People should realize we are at another threshold with Moores law - in a few years we should have transistor density high enough (I'd imagine during the CPU 14nm era) to be able to embed a full compute environment (I'd imagine a dual core Cortex a15) with a gig of ram and the necessary chipset fixings for an integrated wireless AC NIC that is the size of a penny, maybe off one fab line, maybe even integrated on one die. Full computers with 500mbit wireless spectrum bandwidth to be able to stream off video, printers, data, etc in parallel. Probably runs on a watt or two too. You could probably run that off solar.

Think about it - you could have traffic cameras doing realtime video analysis processing on solar power. Solar-powered wireless routers you can just glue on top of lamp posts run by the sun. You could have a full computer that you wear, powered by the kinematic energy of motion or maybe a novel heat leech tech to utilize ambient body heat. And you think phones were a big deal!

I wouldn't be surprised if we could do something similar with a single core Cortex a9 (maybe around 600mhz) with 128mb of ram and 802.11b (maybe even g or n) right now in a similar power package (maybe 4 - 5 watts).
> Programming is one of the most difficult branches of applied mathematics; the poorer mathematicians had better remain pure mathematicians.

This is completely backwards. The majority of papers about programming are accessible to most good programmers, perhaps after a little study. The majority of pure mathematics papers are inaccessible to almost all mathematicians.

What programming achievement is comparable in difficulty, complexity, or scope to the Classification of Finite Simple Groups or the Poincaré conjecture?
Note, Santa Clara has municipal fiber too[1] - It is only 'last mile' (e.g. you have to hook up to a real provider in a santa clara data center) and the per-hookup install costs are... substantial, but the ongoing costs, if I could get several customers on the same physical fiber (I mean, if I signed up a few people in a row on a street) could be competitive with the 100Mpbs down/20Mbps up half a kilobuck comcast cable service, and gigabit or even 10 gigabit (if you are willing to make the setup fees even more... substantial) are realistic.

I'm currently working on a project to light a warehouse in santa clara (and I'm moving prgmr.com, and my massive overcommit of bandwidth to santa clara so I'll have somewhere to get transit) If others are interested in a 'fiber to the condo' type setup, lemme know; as a hosting provider (mostly upload) buying symmetrical links, I'd be pretty happy to have some end-user (mostly download) customers. I'm also willing to show you what I know, if you are trying to do the same thing on your own. (I mostly am interested in the fiber 'cause it's cool, and 'cause it is the next step on the path to learning what I need to know to operate a datacenter... a very long term goal of mine. I don't expect to make much money on the fiber project, as selling 'enterprise connectivity' isn't really my kind of game.)

[1]http://svpfiber.com
The way I think about this, you have to correct for 'technological deflation.' What I mean by this is, if you only think about monetary loss of purchase power, then you will probably conclude that an iPhone costs something like $500 ( 2000 dollars). However to actually buy an iPhone in 2000 you would need to spend several billions and delivery would take something like ten years. ( Most of this is developing processors and displays that can power an iPhone.) Another example would be flat screens, there were some in 2000 (about as expensive as a car).
So you don't see this increase in wages, simply because you are comparing against a moving target.
> Hard to search for things when you don't know what they're called.

I tend to disagree. You don't need to search for things by name, you only need to recognize some common cases for the pattern and then look for people talking about those cases, which is pretty easy to do. From there you'll find the pointers to what you need to know.

Most problems in CS (or at least things you'll be solving without moving into postgraduate research) are solved by existing algorithms and patterns that have been used elsewhere for a long time, so there is tons of data to look back on.
Uh.

Dave, who cares if an API is a historic landmark or not? App developers certainly don't. Most devs view APIs primarily as functional objects (although yes there is an aesthetics to API design).

I think it's super weird for a government to mandate to another entity that it must maintain a piece of technology in perpetuity.

Besides, OSes aren't static anyway... Abandonware apps that depend on a static API are still going to bit-rot as new OS versions are released and fail to retain 100% backwards compatibility.

This just seems like a bad idea. I'm also still not clear on what the heart of the idea is. Is it to preserve the API itself as a work? Or is it to try and preserve the app ecosystem? Or is it to preserve a style of request?

I feel like if you really wanted to do this, the way the Internet deals with this is to come up with a common standard folks can adhere to, and then to lobby orgs to adopt that. Setting the Flickr API as a defacto standard (just for them) seems weird.
That's entirely fair.

The most disheartening thing is that what you described is a good way to convince somebody, and even that often doesn't work. (As, I'm sure, many advocates of functional programming know well.)

If your goal is to convince somebody of something, this rational approach may be the best, in some sense, but it probably isn't the most efficient. Instead, I imagine a combination of some good points with a bunch of tactics borrowed from advertisers and behavioral psychologists is the most likely to actually convince people. I would love to believe that programmers are all rational and listen only to reason, but I've found this too often to not be the case.
I'm a Krux employee.
Just before midnight PST, after friends noticed this post on hacker news, we got to work and resolved the problem.

Thanks a ton for all the eyes out there that helped us find this one. It's great when the community has your back.

Proof one more time of the dangers of making production changes on a Friday afternoon, and that there's no substitute for manual monitoring of a site.

Derek Brans
Technology
Krux
This is a gimmick. It's gimmick engineering, really.

I'm a commuter by bike. I want something that can still work after driving it through winter without constant maintenance. But the only thing coming out of that industry is gimmicks. It's a market designed around either enthusiasts that spend every second refining their subtle creations, never getting to ride them, or parents who need a cheap bike for their kids to demolish and consume.
The Dark Side of User Experience Design
Cool technology, but not what I really want to see as an audience member.

The 3D, transitions, and movement make me too cognizant of technology involved in the presentation, which serves to detract from the presentation content.
I agree with this big time. Not that I didn't have hobbies, interests, desire to contribute to the world from the beginning. But after a while for me it shifted from "I have all this time and I would like to have productive hobbies where I make things and contribute to the world," to "oh my god I really have to WORK if those hobbies are ever going to turn into anything worthwhile and oh look I'm taking on more responsibility at work and now there are so many more days when I come home tired..." Life changes really quickly.
Seeing the Light - Beta testing Light by Moore's Cloud
This week I had the chance to play with something I've become quite connected to in my head - I've been posting a lot about recently on Twitter, Linked in and on this site (you can no doubt see the huge banner ad above!). It's my first foray in to Kickstarter. It's 'Light by Moore's Cloud'.
That's not true. The article's claim was that an example of hacking a non-computer system was the "2nd most important question."
Maybe this is a Canadian thing, but blackberries are still cool among teenagers. It is probably BBM although I've never used it so I don't know what advantages it confers. This is probably why RIM's death will be more characteristic of a long drawn out war than a quick battle. Even teenagers are realizing that Blackberry has very few apps. Looking at their developers site, it is clear that even RIM isn't clear on how you should develop your apps for their platform. With Android it is Java, with iOS it is Objective-C, with Blackberry it is… C/C++? HTML5? Android Java? Blackberry Java? You choose.