skysight-inc/HackerNews huggingface dataset:
What worked for me was going through worked examples with IO, List, Maybe and State. You don't want to just do List, Maybe and Either or you'll associate it with holding onto particular data. You want to use highly disparate things so you can get to the fully abstract understanding.

You might try to understand monoids first, because you already have familiarity with many applications of monoids. The realization "oh, this is just two functions" at the heart of monoids is also what's at the heart of monads, but the applications are different.

Desugaring helps a lot too. I learned by avoiding do-notation, but you can learn do-notation at the same time if you try desugaring as you go, so you can make explicit what's going on under the covers.

It's like math, you have to keep playing with it until you grok it. I find it's good to try out different expressions in ghci, use :t a lot to see what types are coming back, to build intuition.

If you put a few hours into it for a few days in a row, you can probably get to this epiphany in one weekend. The trick is building up enough examples that your brain can generalize it. Nobody's going to learn it by staring at the abstract form and thinking hard--if we did work that way, there would be a lot more use of comonads. That's why it's important to re-type examples. You're not going to be able to write the examples yourself until you understand them, but working through them gives you something to build on, and builds healthy expectations (I'm going to need return here, because the naked value isn't in the monad, etc.)

The epiphany is worth it--but don't count on a monad tutorial to help you much, they're mainly a side-effect of other people having the epiphany.
Collective Motion of Moshers at Heavy Metal Concerts (pdf)
App is shorthand for application.
Well, you could also say that gcc is a 10-megabyte shim for the GNU assembler and would prefer to code each and all your programs in assembly language.
However at some point you would probably get bored computing the stack offsets manually each time and would let the C compiler do it for you, while you think about more high-level problems.
Same with debugging. GDB itself is cool for small simple projects, but once your project becomes large enough, you would probably just enjoy clicking on a line to make a breakpoint and hovering your mouse over an expression to see itsvalue rather than typing the line numbers and variable names manually each time and keeping it the back of your mind where was the breakpoint #42...

And, BTW, if you're a student, it's only a half of the $99 for you...
DMCA itself is unconstitutional, and thus illegal.
I'm not Eclipse user neither IntelliJ. I tried IntelliJ after looking at this post. First impression, InteliJ interface is lot better and cleaner than Eclipse. Eclipse interface (or skin) looks ugly and takes lot of space with its big toolbar buttons and rounded tabs. Also I noticed that IntelliJ shows shortcuts while hovering over things (like completion, docks etc...) nicely, which is pretty cool.

Rest I can't comment on how good they are with enhancing your productivity, as I never used them.
How Virtual Traffic Lights Could Cut Down on Congestion
There are 2.4 billion people on the Internet. We should get to know each other.
> Most follow a proportional system, some follow a mix of proportional and single member single district (winner take all), and Great Britain is winner take all.

To clarify:

- all seats in the European Parliament are elected by proportional systems, either STV or list systems.

- the parliaments of EU member states are elected by a wide variety of systems, including list systems, STV, winner takes all (FPTP, in Britain), two-round winner takes all (France).

> They also have much more party discipline.

Are you talking about member states' parliaments here, or the EU parliament?
I haven't ever heard of that as a preclusion.
Mathematical Literacy: A necessary skill for the 21st century
Yes Chuck, it's the person you knew.
Bob was the TD of NetApp and was the owner of scsi.com
(Summit Computer Systems, Inc.), a domain he registered
way back when the only registrar was Stanford. The funny
part is later in life he actually worked on the SCSI (disk)
standard. Though the website may have been taken down, email
still works.

I've been lucky to grow up with Patrick Davis, Bob's son,
as one of my best friends, and he told me of Bob's passing
last night.

Per Bob's request there won't be a services/funeral, but this
spring/summer there will be a party commemorating his life. It's
what he wanted. I don't know the details yet.
I'm confused why he didn't take a medical retirement at 16 years; wouldn't be that hard (they bend the rules for combat and SOF). That would have gotten him a pension and health care.

If you can't say what you did, aren't willing to use the skills you spent 16 years getting, and don't take a pension, and don't make an effort to learn/do something new (when you have ~hundreds of thousands in free tuition assistance available), uh, you're kind of screwed. But largely self-inflicted screwing.
Correct me if I'm wrong in your case, but I'm under the impression he has undergone more stress in those few short years than I will go through in my entire life. The country that employed him to undergo that stress should take care of him.
If you want to change private bar to public Bar from package foo, the standard trick is to use gofmt's rewrite option and run "gofmt -r 'foo.bar -> foo.Bar' -w *.go".
think of the test. What is being tested? If you haven't noticed, most software is paid for by advertising, or selling people's private information. The 'market' where a lot of software can survive is being tested on several criteria.

1. does it trick people into giving away as much info as possible?
2. does it make people Dependant on it?
3. does it provide any important social value to those who have lots of money?

Even in a market where people pay real money for software, typically either people need the software but won't buy it because it costs too much, or the software is so cheap that they sacrifice some of their needs.

The market is where good ideas go to die.

Let's have a thought experiment. Imagine a world where we can get our best and brightest people to work on any software for free. There is no need to pay them or the hardware they use.

Do you think society would dedicate their brightest people to working on advertising (Google, Facebook), or peddling cheap Chinese goods (Amazon), or locking businesses into perpetual software cages (Microsoft, Oracle, Apple).

Do you think the market could have created the Internet?
Do you think the market could have created PCs?
Do you think the market could have selected Tablets?

(It is a hypothetical question, because none of those things were created under market pressure.)
I'd say that's one where the most painfully obvious answer is likely also the correct one: Google is using better voice recognition technology.
He was joking.

But still, it's his personal taste to not use it.
Look up "80386 ken shoemaker" on Google Groups for some history.

Speaking of the 386, I wrote an article on the MS OS/2 2.0 fiasco here:

http://yuhongbao.blogspot.ca/2012/12/about-ms-os2-20-fiasco-...
This is a really interesting thought! It's something that probably wasn't viable before the advent of High-DPI displays. Making it worth the effort in a real-world (rather than lab-based) setting is probably insanely difficult though.
>Ok, tell me which modern IDE I should spent some time with. Is IntelliJ IDEA mentioned here good enough?

Yes, it's quite good. Visual Studio is also very good in some aspects. And you can also get a lot of mileage out of Eclipse. Also try some Smalltalk environment, you'd be surprised.

The thing is, there are things missing from Vim/Emacs that are not easily added as ad-hoc plugins. Not merely this or that feature: what is mostly missing is a coherence in supporting a specific language.
Your best bet with code in comments is to indent:

var foo *[]*FooType

http://news.ycombinator.com/formatdoc
Netbeans started getting some major traction around the 2005 - 2007 timeframe, but seems to have lost ground since the Oracle takeover. Limited support for Ruby/JRuby and virtually non-existent Scala support caused me to ditch it after many years of use.
"the tea party movement started on good principles, attracted the right wing rabble"

The latter was always the plan, the former was as much lip service as offered by every other Republican politician.
and the ambient light conditions, the amount of sleep someone has had, color blindness (could be classified as bad eyesight), the actual size of the screen (for scrolling/line length), the font itself, the amount of experience the reader has with the latin script, the quality of font hinting, the quality of sub-pixel rendering, the quality of kerning.
What do you think of Go so far? (I've written ~10kloc).

Did this article in any way change your mind about it?
I agree that syntax highlighting is useful, but people value different things. Whether a language creator likes syntax highlighting or not says nothing about the quality of the language they created.
Does that make /bin/ln an App?
> It was an execution of a war criminal.

Proof? Due process?

Even Saddam Hussein got a trial and he was known to have been responsible for war crimes at the time, not just declared as such by media, politicians etc. ...
>Murder is unlawful killing; Whatever you think about this from a moral perspective, it was not unlawful.

Uh... wtf? Are you under the impression that the laws the US makes apply to the entire planet? Some group of people claimed they had the right to kill someone, then they went into a foreign country (in violation of numerous laws, etc.) and killed someone. That's very clearly murder, among other crimes.

If you think it's ok because you country made some decision that said it's ok then I guess my country can do that too? I think I'm going to lobby for a law that says I can legally go to your country and take lots of money by force.
"judging people in categorized groups instead of as individuals isn't very libertarian of you"

I think you're conflating Randian philosophy with greater Libertarianism.
But how many of those jobs involve working in an environment anywhere close to that of the armed forces? It's not like you can up and quit any time you want, either.
Two things -

I didn't make a moral judgement on improving baseline humans, I just said it was a different lens to look through as compared to saying someone has a condition.

If ADHD is that prevalent (5-15% and severely underdiagnosed) then having ADHD is actually being a regular human being !

What is baseline or normal is highly subjective. There are enough near-sighted humans in the world to say that sight problems are pretty much just part of the human condition, for pretty much everyone at some point in life. Whether you consider a pair of glasses to be a defect fix or an enhancement is up to you. I place no moral value on either option.

Is this why you (or someone) voted me down? Because you assumed an implied criticism in my looking at ADHD remedies as an enhancement?

You'll find me the last person to argue that enhancing humans is a bad thing. I wanna live forever and have robot parts :)
Not all code is read in an IDE. Also, most IDEs don't color names differently at call sites. For example:

a = foo.Bar()

You know Bar is a public function of foo. It's not hungarian notation because you're not adding otherwise-nonsense characters to the beginning of an identifier, which would make them longer and harder to read.
I cannot say much, in fact I wrote a post that now I just deleted and will make a even shorter version with less information.

But let's say that I had a online friend, that I decided to help, and found out that this friend was a unwilling weapon of "Group A" that escaped, and was being searched for, and I got tangled into very hair raising stuff (including death threats toward me).

And I learned lots of stuff, that I wish I had not learned, the sort of stuff that make people say that "Ignorance is Bliss", but now that I learned, I must act upon it, there not much else to be done.

It was a hell of a adventure. The most scary shit I ever faced in my life, and made me get much more mature and responsible.

Also I almost lost my family in the process (they were very much against some actions that I did and became incredibly upset).

Happily they later understood everything that I did and now we are happy again.
That only works if your screen can produce a lightfield. Maybe future 3D screens will have such a feature.
If I'm fixated on changing private -> public, that's because it's a common case. I doubt I'm alone with a programming approach of "start with everything private and expose public behavior only as necessary".

More philosophically, I have to wonder what the benefit of this capitalization scheme is. Just to avoid typing 'public'? Hardly seems worthwhile. To make it obvious when reading code? This is the same argument for hungarian notation, which even Redmond has abandoned. IDEs for static languages like Go are perfectly capable of presenting identifiers appropriately - if indeed public/private is really what you want to call attention to.

I admit that I've not done more than dabble in Go, but I'm somewhat skeptical of this last point. Of all the IDEs I have used for various static languages, I have yet to see any that visually distinguish public vs private identifiers. If calling attention to this distinction was so important that it should be built into the language, I would expect it to be common practice in IDE formatting already.
> With the Athlon, Meyer and AMD caught Intel flatfooted. Athlon introduced a dual core processor, and it moved the memory controller from a separate chip, the front side bus, onto the chip die. Most important, it was 64-bit

No, the original Athlons were 32-bit CPUs. Then came Athlon XP -line of CPUs, which still were 32-bit (and still singlecore). After that came Athlon64, which was 64-bit. And singlecore. Athlon 64 X2, which finally were dual-core, came couple years later (and Intels dual-core Pentium D were released within a week of the release of Athlon 64 X2).

I doubt that the original Athlons and Athlon64 X2's had very much in common, so I wouldn't really say that Athlon introduced dual-core or 64-bit.

edit: I might add that having 64-bit CPU wasn't really relevant on the desktop back then, as until Windows 7 was released there wasn't a viable 64-bit Windows available. 64-bit Windows XP was delayed until Intel got its 64-bit CPUs out, and support for it was always poor. Vista was significant improvement in that front, but it was Vista.
There is an editor action to select a line (Select line at caret) in the keymap that doesn't have a default shortcut, but you can define it and use it instead of the first Home+Shift+down. Then you can extend the selection with Shift+down.
Kernel support for AMD GPUs in FreeBSD
Ask HN: Could a distributed solution keep ISPs honest?
I'm a relative technical layman, so forgive me if this is a stupid question. Maybe something like this exists, maybe it can't for obvious reasons, but I can't find anything through moderate Google-Fu so I figured I'd ask you fine folks.

Hypothesis: ISPs get away with over-promising and under-delivering on their suite of offerings. I know for instance that my TWC internet speed in NYC is far below the advertised rate.

Hypothesis 2: The average-joe consumer is ill-equipped to effectively monitor their poor service and call major ISPs on their poor service and terrible customer support.

Hypothesis 3: There exists a broad, distributed, solution that could be rolled-out via a plugin or something similar that would allow independent and passive checks of actual internet speed. This solution would obviously need to be validated against WiFi settings, firewalls, other network traffic, etc., but hopefully those technical challenges could be addressed. Ideally it would replicate authentic "human traffic" to keep the ISPs guessing, while not adding to any material degradation of normal internet service.

This would allow for a huge number of independent basis-points to audit the actual service being offered by major ISPs. The project could be open-sourced and vetted by industry experts (CS professors at research institutions, say), to give it some validity.

Telecom industries operate as an oligopoly, and until Google Fiber or someone else comes to disrupt them, the populace at large is going to continue being treated like crap. Maybe a solution like this could be a small weapon against the powers that be.

Possible for-profit implementations:

- Leverage resource in class-action suits as "expert testimony"

- Rating the top ISPs as a trusted and unbiased source, a la Consumer Reports

- Sell services that "boost" internet speed (do these exist or is that just Spyware-esque claims?)

- Etc.

Anyway, food for thought. Anyone out there have insight?
So what? Certain positions in certain sports last less than 10 years before they can't play any position any more. They don't get a pension either. Granted, they do get paid much better but that's just the market prioritizing what's important. :)
> Very few europeans have any understanding of how the EU legislative process works

This is true. I'm trying to combat this (in the UK) with http://www.euroelection.co.uk/

> or feel like they have anything to do with it.

Which is why turnout is low and falling.

> These laws are pretty technical and the people making them have no understanding of the issues.

Hopefully the situation will be better in the EP after 2014, if more Pirates are elected (there are 2 at present). Then it will be a lot harder for lobbyists to baffle people with bullshit on internet and copyright issues.
You can have the job posting appear on codejobs[1] for free. Just send it to codejobs.newsletter@gmail.com

[1]http://orangethirty.github.com/codejobs
Is it the "Don't Be Evil" Google that now owns Motorola Mobility, or am I thinking of the wrong Google?
Is there a term for the opposite, other than Dunning Kruger Effect?

I'm thinking along the lines of existential awareness of humans, and the occasional tendency of some people when they become skilled in a field to somewhat lose it. Two examples I've frequently encountered:

Doctors - on medical matters, their opinion on a subject trumps the opinions of all non-formally-educated people

Developers - developers who are admittedly "smarter" than others thinking their argument is always correct

Is there a term for the phenomenon of someone losing the (formerly present) ability to conceive of their own fallibility? Hubris would be a good example, but I'm wondering if there's a more scientific description for this phenomenon.
This is exactly what I was looking for, but at $29 a task, it's a little steep when I just have a small question. If the task took 15-30 minutes of their times I suppose that's a fair price though.

I've had luck with one good programmer I found on oDesk for a lot less per hour, but it's not for everybody, and there's definitely a trust factor.
It was Dave from Cynanide & Happiness[0] who wanted to move from Northern Ireland to the US in order to work on their animated cartoons. He filed to get a work visa but the office didn't believe C&H worthy of it.

[0]: http://forums.explosm.net/showthread.php?t=67947
The warp drive keeps going offline.
Thanks. I read all the way to the end and then realized I still had eight more pages to go! It's certainly going to take some time to read it all so, like you, I've added the "one long page" to Instapaper.
Why US Internet Access Is Slow and Expensive
Do I need to have bought Minecraft to use this? It says it's free to download, but I'm not sure that means "to play".
Why use Spreedly Core when you just need a single payment gateway? 
http://blog.spreedly.com/2013/02/11/why-spreedly-core-when-i-just-need-a-single-payment-gateway/
Wow! Just WOW!!! Although, of course, there is a lot to improve, like jittery zooms.

Love the idea though!
If you could cite me what part of the Constitution it violates that would be good, I could use it in the future.
Define "Just fine." The argument is that Apple decided not to release their version of Siri on the 3GS because a hardware difference meant that the voice recognition accuracy would have been poorer.

You can't really counter that claim with the simple observation that an earlier version of Siri was available for the 4 and 3GS; that's just talking past the point. A more appropriate counter would be a source saying that the voice recognition accuracy of that version of Siri was just fine. Or at least no worse than what ended up being released on the 4S.
Bin Laden gave the money , he did not plan 911 attacks. All he did is finance terrorism , Saudis and Pakistanese gvt still do , yet I did not see USA invade S.A and Pakistan.
Yep. You don't want or need all that bloat for a one or two page website. And if you don't have a skilled designer to help, use a simple grid system like 1140 or 960gs. Bonus: grab a couple nice Google web fonts for your headings.
Glibc and the kernel user-space API
Every bank loan is new money in, at minimum, the form of an interest charge (but more often on some or all of the principal too). The principal+interest paid to the bank is more than the principal alone, even in the simplest case. In either case, however, the bank has "made" money (but not wealth or value) and devalued (inflated) the paper currency in circulation. (You, however, are expected to make value with the capacity to transact that has been loaned to you). In the case of almost everyone else however, I agree: people are largely competing for the pre-existing numbers. But banks get to make them up, and that function is independent of the printing of currency. The actual currency is just printed as needed to facilitate trade, satisfying debts, and hopefully the creation of wealth; hopefully the wealth created is enough to counter the wealth removed, because otherwise there's lots of vacuums running around sucking up value. Oddly, most modern countries accumulate interest-bearing public debt (inflation and interest), employing banks as lenders, instead of just printing the money (currency) to spend on worthwhile projects and to remove from circulation when they're done.
"lawful" certainly depends on what laws you follow. I am, of course, speaking as an American.

I think that everyone would agree that the soldier in question was also an American, working under US law.

I mean, yes, I'd bet a Pakistani would see the matter differently; But usually, to charge someone with a crime like murder, you need something of a "Mens rea" - the state of mind of the person doing the killing matters quite a lot. In this case, the soldier could reasonably have thought he was acting lawfully under US law, and was reasonably justified in believing that US law was what he had a responsibility to follow.

How should conflicts of law be resolved between countries? I don't know. Usually, it seems, the laws of the more powerful country prevails, which obviously has little to do with justice. But personally, I think that if blame is to be assigned, blame ought to be pointed at our government (or, at the very least, higher ups in our government; not the kid who actually had to pull the trigger.)
The two major virtues of case-based visibility:

1. It creates a coherent syntax for making names visible that works both for member variables and package variables; you don't ever have to wonder how to expose something, because you always do it just by making the name uppercase.

2. It allows readers to see at a glance without thinking whether a value is public --- it's public if it's a proper name.

In practice, Go struct definitions are extremely succinct, almost (at first) to a fault, because of decisions like this that eliminate syntax from the language. Compare a Go package to an equivalently functional Java package to see what I mean.
How many failed ventures have they funded, for how much?