skysight-inc/HackerNews huggingface dataset:
I think that's the distinction. They get warm but certainly don't overheat. The only one I've seen with heat problems had a dual core 1.2gHZ CPU retrofitted. Undesirable to the point that half the heat sink had to be filed away to make it fit.
The Kernel, European Tech Publication, Shuts Down After Tempestuous Short Life
By saying "Exceptions exist so that you can treat error handling as a separate concern" you are again putting the conclusion first.

Maybe exceptions were invented for handling errors, but now that we have them, what's a good reason not to use them for other purposes?
Give me a clue... I assume it only works in Chrome. Does it need a developer build? A hidden option to be switched on?
Monads explained by Eric Lippert
WordPress as a static website generator
Wow.

And Bill Gates is worried maths teachers cannot do calculus - we have a long road ahead of us.
International Patent Applications Explained
Yeah, that's the first thing that came to my mind before reading the article.

http://en.wikipedia.org/wiki/Piet_(programming_language)
New Toshiba image recognition processor for automotive market
Tools like https://crashlog.io can be good to help you collect error reporting as a dev team and help you debug easily also. Maybe that's a good approach, raise the exception but capture it and send it to the devs.
The author is consciously using exceptional with another accepted meaning of the word (rare). And you are (consciously or not) at the same time misunderstanding him and being condescending, while adding strictly nothing to the discussion.
Indeed. And in contrast, Ableton Live has been the king of flat UI for more then ten years:

http://upload.wikimedia.org/wikipedia/en/7/7c/Live_8_Screens...
Do you mind clarifying who is these "us" you are referring to?
I thought this too, but after looking into it I understood how it could be used anonymously: http://www.jefftk.com/news/2013-01-28
I have for many years realised the benefits of high intensity (hit) exercise and it does work... but like anything it has it's downside... illness and injury can become very common if diet and rest aren't factored in.
I find the problem is that most people exercise in what I call the grey zone - not easy and long enough... or not hard and short enough. Most recreational runners fall into this category.... if you can balance easy and long (<140bpm) workouts with short and hard (20 minutes) you will gain many benefits.
But you can't build an aerobic base without long easy workouts imho.
I think this argument is generally taken out of context; my biggest concern would indeed be that using exceptions for control flow is non-idiomatic currently for most mainstream languages (and yes, Python disagrees).

This means that going against the grain will cost you time (and not you necessarily, but your company / colleagues, etc), and that time better come with some great benefits for it to be worthwhile.

So really, the argument can be looked at from many angles, depending on what value system you are using / what you would like to optimise for. I like to optimise for least surprises / development time.
Regressive Disenfrancishement: Enhance, Fallback or Something else.
as someone who has been mining since mid 2011 on a 450 dollar PC...this would make me very happy. I have already done very well on that investment.
Getting Ready for the Common Core
Exceptions, as implemented in languages such as C++, also influence the flow of execution. Therefore, technically, exceptions are a kind of control flow structure.

But it doesn't mean that abusing exceptions as control structures is a reasonable idea.
50+ productivity blogs
IIRC no standard flow-control construct can do non-local returns (and that's where the Evil lies).
Java + Raspberry Pi = Mocha Raspberry Pi Hacking with Stephen Chin
http://www.planalto.gov.br/ccivil_03/LEIS/L4595.htm

Yes, they are. Any currency other than the national currency cannot be used for commerce.

This is a case where people were using dollars to pay for national contracts:

http://jus.com.br/revista/texto/8566/da-impossibilidade-de-p...

The only kind of parallel currency that is acceptable under the law are called 'social currencies' which are just food stamps.
> the programming language is just a tool

Not really.

> I’m not a programmer

That says it all.

Talented programmers prefer to work with tools they feel productive with. While it is true that inexperienced programmers lack pragmatism when it comes to choosing their tools, it is likewise true that non-programmers who think about themselves as pragmatic are often just clueless. Hopefully you don't manage people, because you don't understand them.
So exceptions are about where in a file your code is? You can put your code anywhere with functions and modules, packages whatever.
A Guide To Driving In India Without Dying
This works brilliantly. You should definitely diable the effect level by default. It sounded awful with it on
Well yes, but so does the current stuff :)
Coding Without Code Analysis is Like Writing Legacy Code
How to work with Sessions in PHP
The ways of Wayland
Writing exception safe code is hard

No it’s not. Be sure to clean up anything that could need cleaning up in a finally block.

This is like saying... be sure to never copy more bytes than the buffer capacity. Easier said than done.

Writing exception safe code is very hard. Do not take my world for it. Read Alessandro Warth's paper (with Alan Kay as a co-author) [1]. Do not skip section 3...

Let me quote section 3.1:

In languages that support exception-handling mechanisms (e.g., the try/catch statement), a piece of code is said to be exception-safe if it guarantees not to leave the
program in an inconsistent state when an exception is thrown. Writing exception-safe
code is a tall order, as we illustrate with the following example:

try {
for (var idx = 0; idx < xs.length; idx++)
xs[idx].update();
} catch (e) {
// ...
}

Our intent is to update every element of xs, an array. The problem is that if one of
the calls to update throws an exception, some (but not all) of xs’ elements will have
been updated. So in the catch block, the program should restore xs to its previous
consistent state, in which none of its elements was updated.
One way to do this might be to make a copy of every element of the array before
entering the loop, and in the catch block, restore the successfully-updated elements to
their previous state. In general, however, this is not sufﬁcient since update may also
have modiﬁed global variables and other objects on the heap. Writing truly exceptionsafe code is difﬁcult and error-prone.

Now, I have seen a lot of code, and very very very few times I've seen someone restoring the state of a collection after an exception blows.

[1] http://www.vpri.org/pdf/tr2011001_final_worlds.pdf
Exceptions are often used to catch unanticipated situations but they are also, legitimately, used to simplify common case logic by moving special case logic elsewhere.

"Exceptional" and "unanticipated" are not synonymous.

Edit:

I would add that it is true that there is a semantic burden with exceptions in that they are suggestive of error, rather than special case, conditions. So I would be very wary of using them in that way simply in my own code because it will potentially be misleading to consumers of the source code.

But if the clarity of the remaining code is sufficiently enhanced then it's a fair trade-off.
Always good to read something like this every once in a while. Reminds me just how far i haven't gotten in my short career. Right, I really need to double down on css.
Thanks for the explanation and images cthackers:) I guess that the tunnel is an infinite loop from JMPs. I think I'll try to make one.
it's not that bad. but I find the non-flat giant diamond icon rather ironic. :)
Because doing things in public is slow.

Because doing things in public requires educating the populace on issues they don't understand.

Because doing things in public politicizes the process.

Because doing things in public leads to escalation.

Because doing things in private is how almost all conflict resolution happens.
It's because you can learn to build complicated systems, advanced algorithms and data structure but in the end, it isn't going to help you build a simple crud application any faster than someone who doesn't know these things.

You could be getting better, but it won't show performance wise.
Clarke's third law:

Any sufficiently advanced technology is indistinguishable from magic.

If it feels like magic then you don't understand it well enough. I always push myself to understand the "magic". I've been at it for 30 years and I'm fairly good at a lot of stuff. That said I do think the basic problem solving skills I learned 30 years ago are much the same perhaps a bit more honed by a lot of experience. I used to fear getting older, and I am sure I don't learn as quickly as I did 20+ years ago. That said my experience is very broad and my discipline combined with that makes me fast to solve problems the fast learners are just now trying to understand.

Most importantly how do you define "Better"?
My country is in my contact information, I didn't answer because I went to sleep.

This is the law that complete forbids using any currency other than the national for internal commerce and disposes about how forex must work, which bitcoins do not comply.

http://www.planalto.gov.br/ccivil_03/LEIS/L4595.htm

This is a case where people were using dollars to pay for national contracts:

http://jus.com.br/revista/texto/8566/da-impossibilidade-de-p...
So in normal space-time FTL is not possible.

It might be possible to transmit data through shortcuts, ala wormholes even if physical FTL is not possible.
You replied sarcastically to someone that labeled access to effective medicine a problem of abundance. The fact that it is true seems a little relevant.
I'm working on something with the same concept but for a different market. There's no way for me to tap into 3rd party databases (for now). I'm setting it up so the results will be added to your own personal search-page where (only) you can view them after x-time. From there you can choose to view more details and/or close the deal. Not as fast as live-search, but I'm communicating it from the get-go.
If you want to work as a Freelancer, then you need to be a Specialist.
I've used exceptions for flow control in validation before. Worked well.

Basically, you have nested validation code, and the second you hit something which invalidates your data you throw an InvalidDataException(X), catch it at the top of the validation, and then report back to the user that their input is broken because of X.

The alternative was that every method would need to pass back whether it had found a validation error, and every place that called one would need to check that returned value. Huge numbers of lines of code, for no real gain.

(Obviously, this doesn't work if you want to return _all_ the things that are wrong with the data.)
Stock brokers are a bad example, because that is essentially gambling.

Also playing around with some API will make me better in using that API.

What are some meaningful metrics for becoming a better developer?

Personally, I'd like to launch more.
"FTL means leaving the causality light cone, conventional notions of causality, and therefore all of physics:"

While I agree with your conclusion that ftl is equivalent of time travel and breaks causality I think its incorrect to say it breaks all of physics. There are several solutions to general relativity that are valid. http://en.wikipedia.org/wiki/Chronology_protection_conjectur...
Discussions about performance are statements of fact and can be measured. A jsperf shows that code executing in a try catch for chrome on a mac can be up to 3% slower for me[1]. Let's just get the numbers and show them and if they're valid they're valid, if not let's just dispel the rumors. Arguments about code architecture or best practices for intangible reasons are bikesheds. Just do what you like and be consistent and that's good enough. So if you can't demonstrate slowness, can't demonstrate a real problem as in the code wont work, then there is no real argument. In JavaScript avoid exceptions as control flow though, because they really are slower.

http://jsperf.com/try-catch-error-perf/3
My anecdote masquerading as evidence: I have not had problems since the original two generations of Intel laptops. I think the engineering is great!
> Also, for something revocable like a domain name, there's nothing preventing Namecheap from giving you the domain name immediately, and then revoking your access to it later if the transaction ultimately fails.

Not according to shiftpgdn:

> NameCheap actually doesn't have the capacity to revoke domains as they're an eNom reseller. Enom's policy is that once you buy a domain, it's yours. With domains sales being such a low margin business I can understand their level of caution.

http://news.ycombinator.com/item?id=5323964
Complexify - a jQuery plugin for Checking password strength
Exactly my thoughts, other than the fact we've landed several times and not just once on the moon, but that's besides the point. It's been nearly 44 years (!) since the first manned moon landing and we have done practically nothing on the moon. 44 years is a HUGE amount of time when it comes to technology, and yet all we can do with the moon so far is talk about how we sent people there once (okay, a few times).

Frankly, it's hard to get excited about manned missions to Mars if we won't do a thing with the planet in the following 40 years.
"Debuggers will break on exceptions... Decent debuggers allow you to specify which exceptions you break on and which you don’t."

This drives me mad in Visual Studio, if you specify a set of exceptions to break on, then later decide you need to catch all exceptions, there's no easy way to go back to the first set.

I'm surprised this question and partial answer on Stack Overflow haven't got more votes:

http://stackoverflow.com/questions/5452480/how-to-save-and-m...
Project Mesos - Twitters take on Google Borg
Very cool -it's like a big 3D coloring book/puzzle. I thought this would be the standard "play a game, watch your brain react" story. This is so much better - a game that's fun and helps solve scientific problems.
I was going to do a post rebuking the points made, but rather unsurprisingly it seems plenty of others already have done so, in a manner much less arrogant than OP's.

http://www.javaspecialists.eu/archive/Issue187.html and http://onjava.com/pub/a/onjava/2003/11/19/exceptions.html?pa... are two well written sources of many that Google turned up on the subject.
While I can begin to understand (though do not necessarily agree with) the interpretation of "commerce" as just about any activity, and that being possibly understood at the time the Commerce Clause was written, I would still argue that the Commerce Clause has been "perverted" more recently by cases that allow for interpreting purely intrastate activities as interstate commerce.

The earliest explicit justification of that trend in interpretation (that I'm aware of) is Wickard v. Filburn, in 1942[1].

The prevailing interpretation today applies a sort of "butterfly effect" perspective on activity, such that any human activity (even flapping one's arms) will inevitably at some point affect interstate commerce, and can therefore be regulated by the federal government.

So, where your average American in 1824 could go weeks without engaging in interstate commerce, more modern interpretations suggest that every American, even if living a lifestyle otherwise identical to that of their 1824 predecessor, engages in interstate commerce with practically every action.

This interpretation makes the 10th amendment pointless, which is why I consider it "perverse".

[1]http://en.wikipedia.org/wiki/Wickard_v._Filburn
The main problem with the idea of abusing exceptions as a control flow structure is the fact that they were designed to subvert and obscure the flow of control of any program that uses them. If people start to mindlessly pull clever stunts such as relying on exceptions to implement their algorithms then their code becomes unreadable, unmaintainable and unauditable. Not only their code, but any code which happens to include it. Its only purpose is to create an unmanageable pile of spaghetti code which is needlessly hard to trace. And what good comes out of it?
When someone brags about something they intend to do, it comes off as lazy and more than a bit self-congratulatory (without actually earning it).

I guess some do it as a way of gaining attention and free advertising.
Maybe I'm getting old but VM'd language shouldn't be used for critical software. Critical as in real-time or literally life-or-death situations.

Also how should a a mathematical proof that code that uses exceptions for jumping out of iteration doesn't confuse anybody look like? It's just confusing because it's never done like that. It confuses programmers. At least one. QED?

You CAN devise your own coding style, but when using the conventions reader can safely assume couple of things. Reading code that doesn't follow these conventions is more difficult (for everybody except you).
Lock In: Why Your OS Choice Matters in the Cloud
The difference is competition. Nothing fancy, nothing new and shiny. Just something that has been proven to work time and time again in lowering prices.

The barrier to entry in the payment card industry is simply too high to allow much competition. Entering the business of bitcoin payment processing has an extremely low barrier to entry; all the hard stuff has been done already!
Firstly, I am not a lawyer and this is not legal advice.

In the UK, I assume? It wasn't defeated as such but the ICO moved the goalposts a bit and also stepped back in their ambitions to enforce it.

The key event was in this post on the ICO site: http://www.ico.gov.uk/news/current_topics/changes-to-cookies... - the actual guidelines didn't change but ICO's own interpretation of them did which essentially clarified the position as being more open than assumed.

Earlier, it was assumed that you couldn't set any cookies at all until you had received explicit consent, but it has turned out the ICO is OK with you setting cookies as long as you're doing it sensibly and, ideally, notifying users that this is happening. If a user is notified and then continues to use your site, this can be considered to be "implicit consent."

The ICO has also not been particularly stringent in its enforcement. I read an enforcement document of theirs recently which was as hardcore as checking a few of the "top 200 most popular" UK sites for compliance but without any actual repercussions.

So unless you're doing something naughty (invasive tracking, lots of cross-site stuff) or are a popular site, you're unlikely to ever get contacted about this.. and even if you do, enforcement is likely to be slow and you could easily resolve it prior to any trouble occurring. This now appears to be the stance most developers are taking.
Half-hour queues to get into SimCity
imho: Stop wasting your time understanding PCs. If you're still curious just follow the link trails: http://en.wikipedia.org/wiki/Personal_computer

You'll land here:
http://en.wikipedia.org/wiki/Von_Neumann_architecture or here http://en.wikipedia.org/wiki/Harvard_architecture

1) Create your own computable language or understand binary

2) Think of ways to store/load and process the data in that language

2.1) Think of ways to add/remove data from the storage

3) Create different concepts that embody that idea

4) Now you can start building it, or 3D-Printing your idea

If you're a developer, you can even write a simulation before building it physically. There are many tools for this, two I know are: http://www.monolithic3d.com/simulators.html and http://ozark.hendrix.edu/~burch/logisim/index.html
How would you write this without exception handling, how would that make it any easier? Perhaps do not put the entire loop in the try catch, but just the single iteration.
No one is saying that.

Levers. No one said the pulley (or CAD) rendered the architect defunct, and no one is saying computers should do the same for mathematicians. We're just trying to understand this resistance to using tools to help do heavy lifting, the “human-centric bigotry” as the article puts it. Reading some of the responses here, it's probably being overstated, but even so.

And ignore you and go play somewhere else? A good number of the most influential computer scientists have actually been psychologists, not mathematicians, so the older brother needs to get the fuck over himself if that's his attitude!
Link bait title, the post's actual argument is"You aren't getting any better if you're not doing X."
There's this esoteric programming language: http://www.dangermouse.net/esoteric/piet.html

where the source code are images similar to works of Piet Mondrian.

And there's ColorForth where the colors replace some of the punctuation normally used in Forth: http://www.colorforth.com/cf.htm -- this (seems?) more serious.
> Exceptions exist so that [...]

Are you talking about a language that you (h2s) wrote? Or some other language like Java, Python, C#, Ruby, CLU or PL/I? Because I doubt that you KNOW the reason that exceptions were made a part of the language. And it doesn't matter anyway.

Imagine someone saying "the print statement exists so programs can output simple debugging statements to the console". It is mostly true, in the same sense that your claim about exceptions is true: that's the most common use for the print statement. But if someone writes a simple unix utility that reads from stdin and writes to stdout and they use the print statement to produce the output, would they be wrong? Or would they be using a language feature in a perfectly reasonable way which was understandable (once you knew about it) and had no performance problems?

Imagine someone saying "the + and * operators exist to perform addition and multiplication on integers". It is mostly true, that's the most common use for these operators. But if someone wrote a bitset class and implemented some of the features using + and * operators, would they be wrong? Or would they be using a mathematical feature in a perfectly reasonable way which was confusing to people who have never done bit-level manipulation (unless they included clear comments) and had excellent performance?

What I'm trying to say is that I'll listen if you argue "It is confusing to the reader for the following reason...". I will listen if you argue "It has the following performance issues...". I will listen if you claim "It can be incorrect in the following corner cases...". But when you say "It is bad because you are not intended to do it..." I will scoff and wonder who you think makes these rules.
The mere fact of understanding what you do and the pitfalls it may be prone to is a great improvement.

Do not oversimplify life: you are much more than what you do.
EU Commission launches 'grand coalition' to tackle IT shortage
How people respond to being filmed (with devices like Google glass)
Well, I tend to agree; but keeping an open mind, this might just be our subjective rationalisation because we don't understand a newer / better approach.

My point is just that even if the exception-raising approach was better, it'd take a lot of time before it would become truly idiomatic and allow us to reap its benefits, on a software engineering level. I know many would disagree with me on this, however; I like to think I'm a realist.
As we're getting older we simply can't keep getting better in at the same speed. If you're a mentally balanced person your live will contain more and more unpredicted variables like a partner, kids, older parents and family members, health issues and what not. Things beside your work that require your time and attention.
How about call/cc and setjmp/longjmp ?
Want to Build an App? Find a Niche