skysight-inc/HackerNews huggingface dataset:
I think they also don't understand monads because they have confused notions about the kind of concept "monad" is on the meta level. Their criteria for understanding and their methods of learning are unsuitable for becoming competent with the use of algebraic concepts. They are trying to think their way to a type of "intuition" that simply is not possible, kind of like trying to learn to ride a bike by "understanding" bikes, comparing bikes to various other things, or spamming the internet with complaints about how bikes are strange and difficult. (What's the problem with just taking the bus?!)

If Haskell's "Monad" type class were instead called "AbstractComputationFactory" or some other such intimidating technobabble, then when someone looks up what is the superclass of IO they might just think "oh, that's some weird detail, whatever, I might learn about that later." Since instead the name "Monad" is vaguely funny and appealing, people want to master that concept in principle before they even get "Hello, world!" to run in GHCi.

Of course people are free to focus on whatever they want, and we can talk about the possibility of improving the pedagogical aspects of Haskell, and probably university teachers have interesting things to say about that.

But there is no magic way to explain an algebraic concept that will suddenly make it intuitive and easy. If people want to understand them, they'll have to study. If people want to use them without understanding them on the conceptual level, that is eminently possible.

I myself don't understand monads and I've been using Haskell since 2005. I'm just not good at abstract algebra (flunked that class) and PDFs terrify me. However, even though if a mathematician asked me to explain monads I would be embarrassed, I can still use them and even define my own. That's because I've tinkered with them and acquired a know-how feel for the structure and what they are good for and how the patterns work—which is exactly how I've learned every other concept in programming.

Since most concepts in programming are ad-hoc, informal, and specified by hand waving, there is not even a possibility of understanding them at the level of mathematical rigor. What is an object? What is a class? Nobody knows. They just use them.
> Silicon Valley VCs want everyone to learn to code because it'll be cheap grist for their mill...

Too right. I've yet to read one of these that acknowledges that.
Snowden showed us that the 5-eyes countries are actively producing and marketing - in their own secret organizations with secret, anti-democratic agreements - massive-scale spy and intrusion technologies. Anti-democratic, freedom-defeating agreements for the purpose of total information control over human civilization.

Massive-scale, actually: full-spectrum.

There are no aspects of modern technology infrastructure that are off the table in these realms: all systems are targets. Planet-wide.

So, its not just that the NSA will be reprogramming firmware or putting key sniffers in your macbook or writing 0-day exploits. Its that they'll listen to everything, anywhere along the wire, as they see fit.
Exceptions are a more complex solution. They're much harder to reason about, and you can't abstract over them because they're special-cased in the language. I've literally seen Java libraries offer an interface something like this:

<T> T doSomething(Callback<T> callback)
<T, E extends Exception> T doSomethingThrow(CallbackThrow<T, E> callback) throws E

and even that doesn't properly cover the cases, because ideally you'd like to be able to pass a callback that throws two or more unrelated exceptions as well. Setjmp/longjmp is "simple" like goto is simple; if you want to refactor a function that uses them you have to think very carefully.

If we have \/, the possibly-error is just a value. We can use it with generic functions in the normal way. We can refactor them in the obvious way and it will just work correctly, and the type system can assure us we've done it right.
While, I don't entirely disagree I think this is ultimately less important. It's not like someone is going to go straight from watching Mythbusters to writing journal articles. There's plenty of time to learn how real science is done, if you can get them to care in the first place.

This reminds me of the common experience where people end up more enamored with a subject (and ultimately learn more about it) if the teacher who introduced them to it was more enthusiastic and effective, as opposed to more skilled in the subject at hand.
Function composition and its generalizations are cool, but let's not blind ourselves and claim that they're the key ingredient for good programming.

We should be looking for more ideas that make programming better with minimal learning cost. Examples of such ideas that were wildly successful in the past: garbage collection, modules and imports, Unicode strings. Each of those was justified by practice rather than theory.
No. The goal is to be useful in both research and industry by means of principled design based on mathematics and engineering. If that scares you, fine, you don't have to be interested in everything. If you think everything that's not designed to appeal to some notion of an "average programmer" is necessarily obfuscated and impossibly difficult, that's on you. Go ahead and avoid it.
In Ireland, too. It's essentially where you send either a complete idiot, or someone who threatens you politically, to retire.

They get lots of money, and you get rid of them. Sure, the Council pretty much agree with all commission proposed laws anyway, so the only risk is a media one.
Social media monitoring during Humanitarian crises (Nepal case) [pdf]
(I enjoyed[1] mythbusters, and thought it was good.)

But the way they had that big metal plate that they'd drop in slomo with a clang saying "BUSTED!" gave the impression that this was now FACT and TRUTH.

For a fun tv show that's fine, but for science education (which is what a lot of people thought MB was) it's sub-optimal.

[1] although I prefered the remixed versions where each item was run in a single block, rather than the broadcast version which flicked from item to item and back again, with many catchups and coming nexts.
I'm a skeptic. I'd be willing to bet a lot of money on an idea futures market against them ever turning it into a successful product.

What I don't understand - if they are going to the trouble of tracking devices, why not use a laser to charge the phone? It would be way more efficient and all it needs is some human avoidance tech. To a laser/ccd people are huge so that shouldn't be too hard. The system would probably also be able to double as a pest control system for small insects too.

That reminds me, I bet their beam forming tech is legit but I'm pretty sure it's been done before. I remember reading awhile back about a tech company that developed a weapon for the military that let them put a voice in your head with focused sound that no one else could hear. I remember it because of how freaky/interesting/evil it was. But I bet even that would kinda suck in the field because of the line of sight problem they'd have. Pretty sure even your typical mujahideen would start moving his head around quite a bit if his god started talking to him.
Part of the idea was that we have "event bias". Lots of meaningful things happen in the world without any significant event. Look at gap minder or green revolution.

"Great minds discuss ideas; average minds discuss events; small minds discuss people." -Eleanor Roosevelt

Personally I don't like the idea of ranking people. There is nothing wrong discussing people or events. But I'm natural idea person and most websites have very poor signal to noise ratio in that respect.
Working hard while getting paid peanuts to have a shot at your goal in not exactly what I'd call entitlement. She obviously didn't expect the position to fall into her lap if she thought it was still worth working for it at year 11.

I'm not saying it's rational, but it's not like she threw a tantrum when she got turned down.
I've been using the PFM format (http://netpbm.sourceforge.net/doc/pfm.html) for a project recently.

It's the most obscure member of the Netpbm family. Almost no image viewer understands it, and no image editor can read or write it. Luckily there's the incredible CImg (http://www.cimg.eu/) lib.

PFM is stored in left to right, bottom to top order pixel. It has exactly one or three channels. One pixel is four bytes. There's an obscure "scale/endianness" parameter to tell you the byte order.

I love it, and I hate it.
Square, Facing a Chilly Market, Persists in Pursuing I.P.O
Tandy Australia TRS 80 Microcomputer News – 20 Issues
It doesn't make any sense.

Google should sometimes just give people what they claim they want. "Be careful what you wish for". Unions often have "work to rule" - you do what you're paid to do and no more, and it's an effective method of industrial action.

If a newspaper site doesn't want Google to index them Google should just drop them. Maybe provide help about setting up robots.txt.

Does Google have a blog post about why they index pages behind a paywall, and why they're happy to not index pages behind paywalls? (I understand it as "we want to index stuff that people can get to. If they can't get to it we don't want to index it")

Or maybe Google should just give ads and paywalled content the same shaded background?
"I feel that solid programming abstractions and patterns are essential for software development.
"

Yeah, I feel exactly the same. To me object oriented programming as served by C++/Java/C# is good and fine for building abstractions over existing systems.

System design however, is served much better by thinking the system in terms of fundamental data structures, graphs and relational models rather than as an obtuse object hierarchy of some sort. This is my main gripe with GoF - it's used as a some sort of toolbox for software design when actually it just explains how to convert familiar and non-seremonial idioms from other languages to C++'s verbosity. If the student is not exposed to software construction in these other languages and just to GoF he/she is missing on so much (I know I did, at least).

But this is just my personal preference, maybe someone else writes much better software when thinking in objects but for me my initial years as a programmer were basically wasted in trying to build beautiful object hierarchies out of everything.

I write mostly C++ as my day job. Software modules which are built by embracing the C++ object model to it's full extent are the most horrible stuff I have to deal with :)
The details remain secret, but Irish terrorists often gave warnings of their bombings in Britain and Ireland.

Examples: https://en.wikipedia.org/wiki/Real_Irish_Republican_Army and https://en.wikipedia.org/wiki/Chronology_of_Provisional_Iris...

My hometown is mentioned, there was a successful bombing; so when a secondary school student made a bomb threat from a public telephone it was taken seriously. I was only 10 years old at the time, so beyond the evacuation of the school and surrounding buildings I don't recall any more details.
>Haskell isn't designed for "average people" or "most people" and why should it be?

Although it isn't stated as such, I think the point is that the haskell community is, on the whole, truly awful at pedagogy.

I'm perfectly fine with the notion that Haskell isn't for everyone, but being a poor pedagogue is always a bad thing.
Apparently the ridiculous amount of catchups and re-updating is something the presenters don't like either, but their producer listens to the cuts in her car, and basically demands the catchups so she knows what the current cut is about.
Video is not from botnet stream.
For anyone not fully up to date, the stream is broken into two phases.
As the project being botnet targeted (called it!) and unsustainable by original creators, it was then handed over to a stronger group for support.

Even with the issues, it has been an amazing experiment to observe!
High. Now that I know the statistics I simply don't feel safe in a car, and will take a longer way around / spend more money to take the train instead.
What makes a good mobile app great?
Get Delia's How to Cook. Many thought the title was arrogant, but the reason it's called that is it really does start you off from zero and work up.
It's sad that it may have been Europe of all places that thought Google it should be okay with censorship. Once that happened, it was only a step forward for Google to think "well, I guess we're only complying with the local laws here...so we could do that in China, too."

It's a cop-out from Google, and from any other company that has agreed with this (Microsoft, Apple, etc).
If you're a good pedagogue, please help out.

Teaching isn't easy, and the abundance of poor pedagogy is surely a big reason why so many people develop mathematical anxiety.

https://en.wikipedia.org/wiki/Mathematical_anxiety

> Students often develop mathematical anxiety in schools, often as a result of learning from teachers who are themselves anxious about their mathematical abilities in certain areas. Typical examples of areas where mathematics teachers are often incompetent or semi-competent include fractions, (long) division, algebra, geometry "with proofs", calculus, and topology.

The programming world lately is inundated with tutorials that take their pedagogical style from the Teletubbies or at best Bob Ross. Maybe that is not a viable way of teaching Haskell—maybe there will need to be actual study involved, with textbooks and exercises and trained teachers. I don't really know.

https://www.cs.utexas.edu/~EWD/transcriptions/EWD10xx/EWD103... ("On the Cruelty of Really Teaching Computer Science")

> So, if I look into my foggy crystal ball at the future of computing science education, I overwhelmingly see the depressing picture of "Business as usual". The universities will continue to lack the courage to teach hard science, they will continue to misguide the students, and each next stage of infantilization of the curriculum will be hailed as educational progress.
No idea... but it makes me want to hack the gibson!
I agree that this is really important. I love seeing how popular entrepreneurship as an option is becoming, but it does seem one effect is that one effect is that young people are trying to start businesses before they really know anything about... anything. I'd like to think that I'm still young enough that this is coming more from memory of where I was at in my late teens and early twenties, rather than some kind of indictment of "kids today". It's just so valuable to get some experience before you go trying to start a company. For one thing, I imagine it would be much more difficult to manage people if you had never had any experience from the other side. (A varied set of experience would be ideal.) That's just one example of many though.

So, if you think you want to start a company, that's great! Keep that goal in mind and work toward it. The first step would be to learn and experience as much as you can.
The Names of Places Sometimes Hide Data About the Geological Past
In Bangkok, yes. In other parts not so much.
Full disclosure: I'm a last year Ph.D student in cognitive neuroscience, and I'm neck-deep in post-doc applications...

I think a large part of the issue has to do with government policy as it relates to science. I notice that many politicians reason in terms of "producing more science" as if it were a commodity good that should be produced and exported en masse.

The problem, then, is that the current academic system actively encourages people to pursue academic careers without disclosing the reality of the situation. They push masses of people through undergrad, then grad school, then post-docs, until the end of the line whereupon most people hit a huge brick wall.

I'm all for promoting research in STEM fields, but simply upping the quota of Ph.Ds won't cut it. As far as the U.S. is concerned, I think this has more to do with turning a blind eye to the dismal state of public education than anything else. It enables politicians to say "we trained 200% more scientists", while conveniently omitting the following truths:

1. Virtually none of them will be employed in the sciences at a level that warrants a doctorate.

2. For all the chest-puffing we do, we still get humiliated by the rest of the civilized world in terms of education.

3. Those people actually employed in research positions in American universities are majority foreign.
Simulate low-bandwidth conditions with Chrome’s network throttling
I agree with you in general that coding (unlike critical thinking and logic, as discussed above) is not a necessary skill. I think the last sentence is uncharitable though. At least in the case of pg, I'm pretty confident that his desire for everyone to learn to code is purely altruistic, springing from the fact that programming ability was a massive positive factor in his own life, as well as those of most people he knows. More, I expect that most VCs, like most people, are generally decent human beings, and therefore their motives are likely not to be purely self-centered. I'm sure there are some sociopaths out there who only care about building their fortunes, but most who advocate learning to code probably legitimately believe it's a good idea. (And honestly, it IS beneficial to learn to code; just not as vitally important as it is sometimes portrayed.)
I'm willing to live in a society that mandates annual vehicular safety checks and seatbelts.
Which is correct and it's also why the title and the label - email killer - are dead wrong and anti-factual.
This is a good article. It uses hoarding as a metaphor. Unfortunately, it get hoarding wrong. (This doesn't affect the actual point the article is making though.)

Hoarding is possibly a subset of obsessive compulsive disorder. OCD is listed by WHO in their ten most debilitating illnesses. Or maybe it's a separate thing - it's only recently attracted research. (One important difference: A person with OCD knows that their thoughts are intrusive and their rituals don't help, while a person with hoarding may not recognise it as a problem even though it's affecting them and other people clearly see a problem).

Hoarding causes significant impairment, and sometimes death (by fire or crushing).
i once had a conversation that ended with "i don't know enough category theory to be good at haskell."

after learning a (little) more category theory and a (very little) more haskell, i think that assessment was inaccurate, and i wouldn't want anyone else to think the same thing.

haskell is strictly-typed, sugared lambda calculus. if you want to learnyouahaskell, think about types and type classes. learn how to desugar wheres, lets, guards, etc. don't worry about functors, much less monads.
That (not so) awesome time the police raided my home for clicking a link
Thank you guys for all the links to related projects. I need to create embedded Linux image for a project in the near future, so your links are quite handy.
Did you try Shazzam?
Bury the bastards.

I've been in that position (twice) and in both cases was able to reverse tables on my opponent. It could be that I'm lucky but I think that these operations only work because there are a lot of people that cave in when they see a letter on a lawyers letterhead regardless of the merit.
That sure does sound like a yes, not a no.
For me this has been really useful.

While I somewhat have a noob understanding of Haskell, and some experience with monads, the parallels between composing functions (i.e. "id" & (.) ) and composing monads i.e. "return" & (<=<) never really occurred to me. Now that I've seen this, I'll probably start looking for similar patterns in other places.

This has been what made Haskell click for me: the minute you start doing something that is slightly repetitive, like a for loop including a continue/break, parallelizing code or using if error/null all the time, there's a pattern there. Haskellers recognize these patterns, and implement them once, so you can reuse them and avoid making mistakes by implementing something similar yourself every single time. Having this opportunity makes your code more shorter and concise, and instead of implementing something yourself, you can use these battle-tested implementations to model your code. (And thus avoid those annoying not-null/if error bugs for example.)

Even though Haskell might not be suitable for every problem domain, I found out it really shines by it's explicitness. You model your domain using types for intermediate states, and the exercise of converting one type to another is rather trivial. (f.e. a sudoku solver [3]).

The biggest problem for me personally has been my inability to speak the category theory language, but I'm learning... I also believe that the basic Haskell libs need examples next to their descriptions, because most of us learn by example. [1] If I can see what a maybe monad is for, I can start using it without properly understanding monads. After a while you'll have seen enough different types of monads to understand their use case. IMO one language implementer that understood this extremely well is José Valim, just take a look at the Elixir docs for data.list. [2]

Because Haskell has been mostly implemented by mathematicians and computer scientists, they assume basic upfront knowledge. This is what makes it hard for beginners. What we really need in the Haskell world is some cognitive bias mitigation. YMMV.

* [1]: https://www.reddit.com/r/haskell/comments/3rhpyq/as_a_haskel...
* [2]: http://elixir-lang.org/docs/stable/elixir/List.html#function...
* [3]: https://github.com/ToJans/learninghaskell/blob/master/0003%2...
I don't think I've ever read a math book that just went "Here is a list of definitions and the statement of some theorems. Have fun!" The problem is that math is usually built on top of more math. So the motivating examples given are often examples in mathematics, just in a different area.

For example, most category theory books talk a lot about the categories of abstract algebraic structures to get you an idea of what the things they're describing look like in "the wild." If you've never done any abstract algebra, it's like trying to use the Rosetta stone when you don't know Egyptian or Greek.
How about the bribes? I heard it's difficult for an American to set up shop? Someting about local government officials?

Personally, I won't doing business in China. I did look into buying property there a few years ago, and it seemed impossible. I don't know why we let rich foreigners buy our (U.S.) realestate with a phone call, and money. You don't even need to be a citizen of this country in order to buy an apartment building in San Francisco. All you need is money, and a few phone calls. I'm not picking on the Chinese, I would like to see the U.S. all foreign realestate ownership, unless we can buy reciprocally. Hell, if I were king, I would outlaw REIT's, and limit realestate holdings to maybe a handful per Social security number? I feel a home is more than an investment, and community ties matters.

Got off topic, but rent is on my mind, and I don't like this kind of realestate spculation that's going around me. I'm seeing too many people being kicked out of their communities, while homes sit empty.

There's a ton of links about corruption in China, here's the first one of many-

http://www.businessinsider.com/china-corruption-in-business-...
We don't have lots of women doctors now because it suddenly became more profitable to hire them in the past couple of decades. Market forces aren't going to magically make hiring practices less discriminatory. We need to make an actual effort.
Pompei had lots of small street restaurants, from what one can tell from the ruins.

http://www.telegraph.co.uk/history/pompeii/9850077/Pompeii-e...

So I imagine it is possible many would do some kind of deliveries as well.