skysight-inc/HackerNews huggingface dataset:
From my experiences with Haskell, it takes a long while to get used to Haskell, but once you do it really pays off, especially in the area of maintainability. It's actually one of the reasons I love Haskell so much. I've been where you are though, and I feel your pain - if you keep at it, it'll get good, promise.

Some things I find help with maintainance : * the type system allows the compiler do a lot of work for you, * types have to be concrete rather than abstract, * if a little effort is applied the unit tests can be amazing, * everything's clearly defined, * codebases tend to be a bit smaller, and once you're used to it, more readable.

In the particular situation you describe, maybe using the "take" function could work?

Yes, the IO stuff can be tricky, I agree, but with practise it's not too bad, and separating IO from pure code gives all sorts of goodness back. There's always Debug.Trace if you need to do a quick bit of debugging by print statements.

I feel the article was being unfair on Haskell there, after all the code example was being deliberately unreadable, and that's possible in any language.

It's not really that hard:

map (2^) [1..]
The problem highlighted by this article and the ensuing debate here is that most people in our industry (management and developers alike) talk about good code and bad code in purely subjective terms. Until we learn to talk objectively about the systems we build (where code is just one part of that system) in terms of function (what a system needs to do),
performance (how "good" the system has to do the functions) and economics (the resource constraints in building the system) - you know, like proper engineers do, we'll never move forward. The ugly truth is that would appear that most banking systems are "good enough" - i.e. they are competitive in the environment operate in - despite the horrors that undoubtably exist in their implementation. I see a lot of talk about the consequences of "bad code" but few have the evidence to back it up. It is our responsibility as engineers to measure the performance of our systems in the _right_ way so it becomes painfully obvious where we should focus our efforts to improve things.
End of the digital world. Gmail & Google Down?
Ah... that makes more sense then. Hyperink is unique. Funny how the brain turns the word into what you expect, Hyperlink rather than what it was. I wonder if HyperInk would be less prone to that.
Two very capable friend of mine went from Game Development to working in different Banks/Trading Houses in London. They both told horror stories of:

- Correcting the interviewer on C++ intricacies IN the interview.
- Very poor process of dev/test/release cycles
- Management of 'uptime' by having c++ devs on call 24/7 with Limo's, hotel rooms etc but no thought to proper testing, regression or postmortem.
- Managers that managed by fear and intimidation
- People who were clearly there because they were the only ones who could understand the shambles of code they'd written and were paid astronomically to not leave. In general they were mathematicians who were presumably great at maths and poor at engineering software.

While they were both very good and have moved on to more interesting ventures they earned more in a few years of pain then they would have in 20 years of game development so it was worth it for them.
The GoPro is an excellent example of how product design can be hindered by an excessive feature list. The conventional wisdom is that consumers always want more features and removing features or failing to support the features your competition does is a recipe for business suicide. But the truth is that often times some features are not necessary and supporting them can serve as a roadblock toward developing other features or improving the core meta-features (usability, performance, robustness, cost, etc.) GoPro was smart enough to realize that there is a huge market for a camera which is not a jack of all trades, which is optimized to be compact, light, super easy to use, good for action shots or establishment shots and also inexpensive but not necessarily good for still photography, portraits, close-ups, low-light shots, etc. By making those compromises they were able to create a product that excelled in its niche, cemented its brand name, and destroyed the competition.

If you want to learn how to disrupt existing industries and build billion dollar companies from nothing, there are few better examples.
This begs the question, which textbooks do include or at least address real-world code?

The closest I can recall are those with heavy emphasis on refactoring, because gradually moving from bad to good is usually the best one can hope for in the real world. I'm thinking in particular of Bob Martin's Agile Software Development, because I liked how he made the point in the book that he didn't just arrive at this beautiful code, but achieved it through TDD and refactoring.

I think "bad code" is actually what the most talented developers excel at (see also Duct Tape Programming http://www.joelonsoftware.com/items/2009/09/23.html). A talented programmer knows when it's worthwhile breaking the rules and, by necessity of getting things done, does so on a frequent basis.
Given their respective install bases, I think Android should be the default OS for J. Random Average.

I teach in a public school, and a lot of my students have Android phones. The plurality of them have the Samsung Galaxy S III, actually.

But your point still stands. This technique just has to make it relatively inconvenient for the average non-technical user.
Mental illness is not a predictor of violence.

We're not just interested in the proportion of people with mental illness in the population of violent criminals. We are also interested in the proportion of violent criminals in the population of people with a mental illness. We find that very few people with a mental illness are violent. We find that people with mental illness are far more likely t be the victim of violent crime than the perpetrators of violent crime.
And I think in the case of a complex piece of work like E17, that a simple 'what has changed since E16' list somewhere might help people who have already understood the Enlightenment way of working to get up to speed.
Another Kay quote on the same subject:

http://queue.acm.org/detail.cfm?id=1039523

In the last 25 years or so, we actually got something like a pop culture, similar to what happened when television came on the scene and some of its inventors thought it would be a way of getting Shakespeare to the masses. But they forgot that you have to be more sophisticated and have more perspective to understand Shakespeare. What television was able to do was to capture people as they were.

So I think the lack of a real computer science today, and the lack of real software engineering today, is partly due to this pop culture.
You can also use fibers and make the code appear synchronous, which gives you the ability to use exceptions for error handling.
Education App for the Modern Classroom
Or even

pow = iterate (* 2) 1
Yes, that makes me sad as well. I would not get a passing grade for that 20 years ago, now it's a B 'because it works'. This is too common and it's not acceptable.
Yes, that's what I was meaning to imply - the ROI of advertisers.
It's just you, buddy!

Works for me. http://www.downforeveryoneorjustme.com/mail.google.com
>HFR is the future, it must be - and filmmakers WILL learn how to use it.

I fail to see why "it must be" -- or why you assume there is something there to be learned.

Art, including cinema, is not about capturing reality perfectly.

Nobody considers a photo-perfect painting better than an expressionist painting (except a bunch of naive people). And nobody thinks Citizen Kane is worse than Horror Movie 2, because the latter is in color.

(Not to mention that most people are mighty fine with their mp3 or listening to music through web streaming, when the CD standard of 3 decades ago had better technical quality).

Now, besides the absence of motion blut, HFR doesn't buy you much. E.g. http://www.youtube.com/watch?feature=player_embedded&v=u...

And while the absence of motion blur can be good for action sequences, it feels bad for normal scenes.

Even 3D games, which run at 60fps (mainly for the extra responsiveness for user actions), have been putting virtual "motion blur" to make them look better.
Here is AMS Editor, Krishnaswami Alladi's, notice on the same - http://www.ams.org/notices/201211/rtx121101522p.pdf

The Hindu newspaper celebrates Ramanujan@125 here - http://www.thehindu.com/system/topicRoot/Ramanujan___125/
I have been using E17 on FreeBSD for a couple of years now, but my answers to your questions might be still a bit wrong - I don't remember that well how I installed and customized it because I did it once and everything have been working perfectly since then.

So, first of all, Enlightenment does come with a couple of apps - I seem to remember they have image viewer, file manager and... Well, probably some other apps, but I never installed any of them. They are completely optional and E17 is perfectly usable without them, provided that you have your favorite replacements for them (I use ROX as a GUI file manager and gqview for images).

Without those apps E17 still is not quite as pure as fluxbox and friends - it has many "modules", essentially plugins, that are included with it. They are all loaded and started separately from enlightenment and are meant to do... almost everything. I mean, every menu, taskbar, notification area, pager (minimap of virtual desktops) is a plugin of it's own and can be disabled with single click. You can configure every module separately or group them and manipulate a few of them together. Sure, there are modules that are less than necessary, for example cpu frequency meter or battery status (and probably many more, I never explored them) but you can disable them easily.

Basically, when you turn off all the modules you're left with something that does little more than the default XWM (but still looks much better;)).

One thing I mentioned I think is E17 strong point is it's configurability. You can rearrange everything to your tastes, both in terms of position/size and workings - and it's easy to do, you don't need to write config files, just move some piece where you want it and it's done. Also, every single function of E17 can be assigned to a hotkey, which I found very convenient.

The second is theming and eye candy: E17 community created many different themes that look very good and E17 provides very fast and beautiful animations which together makes it quite pretty. Of course it's not that much of a selling point now as it was a few years ago, but it's still good.

The third: E17 tends to play well with others. Almost every app you run under Enlightenment works alright: it has correct icon, minifies to where you want it minified, displays notifications in selected area and so on.

To summarize: the biggest feature of Enlightenment is it's ability to become exactly how you want it to be. It can be as slim or as bloated as you choose (defaults to something in the middle) - it gives you tools to customize it and then goes out of your way. Compared to fluxbox and others - it's prettier, as configurable as them and not much slower. Compared to KDE and others - it's much faster, much more configurable, and almost as complete as them (excluding office suite or games, which I think should not be a part of WM anyway).

I would suggest you to give it a try for a few days, if you can configure it to do what you want it to do you'll be satisfied, if not - you can go back to your current WM easily.
More Mantras for Software Professionals
Trollish but true. Things will only change when we start to treat code as knowledge and not just a tool. And to have knowledge and not just data that can incidentally be compiled or executed as a program that does something, you also need: meta-data (comments), documentation (always sucks, probably because writing good docs is as expensive as writing the code itself...), history (vcs solves this only if the commits have meaningful comments, bug-tracker data helps a lot but it would be great to be able to easily get from a piece of code to either the written requirement or the bug-request that the code satisfies/solves) and meaningful organization (the UNIX philosophy of small one-task tools, coupled with exposing these tools through web/services APIs is still one of the best ideas in the field - just don't overengineer the interfaces and protocols, keep them thin, keep them dumb).
it's back online again. I guess there was an outage for at least 15mins.
>Here's why: because there are really high odds that of all the people across the world that watched the movie in both formats, at least one person would experience this.

What a BS explanation of what the author describes.

This "law of big numbers" non-explanation could be used to dismiss tons of relevant and non random events.

>Oh boy. The author seems unaware that all or nearly all modern theory about suspension of disbelief places most of the responsibility on the viewer, not the artist.

I seriously doubt this explanation, since the audience is more or less the same for every major movie. Yet some resonate with the majority of people and others do not. Any references to this "modern theory"?
To be clear, the author found the git-scm.com website that Scott Chacon (of GitHub) runs, and its package of the Git for Windows project.

This project is as close to an 'official' Windows version as exists, and is really quite good. It's actual homepage is found at http://msysgit.github.com/ if anyone is looking :)
Absurd ideas part 1
Well, this brings up another problem. And that is that software development is not applied computer science. There are plenty of books which will teach you skills on dealing with real-world code (Refactoring and Working Effectively With Legacy Code being two of the biggies) and there are books that will teach you about other important aspects of development processes (such as Code Complete, Rapid Development, Design Patterns, The Pragmatic Programmer, etc. although those books are showing their age a bit these days) but none of those would be considered computer science textbooks.
Maker Mom Builds Cookie-Cutter Empire With 3-D Printers
I don't seem to be in the target audience but the first question that came up is: How much noise does it make?
Would something like the above code be on your interview? (pow = 1 : [ 2*x | x <- pow])

I'd probably fail it even though I do understand recursion. I don't know Haskell, and the above is rather cryptic to me. I can infer that it raises 2 to a power, but I'm not sure how it works -- both in how it's called (does that define a function? Pow(4) --> 16?) and the why (the last part defines the recursion I assume, but what happens when you need multiple args, and what does it mean?)
I know what you mean, and if I thought this article was actually targeted at students, and with any intention of enlightenment, I would agree with you. I just don't feel it deserves that credit. It's wandering, poorly researched hearsay.

I would call it a hatchet job if I could tell by reading it what the target is, but it isn't even good enough for that.
Well, lets look at it another way then. Why are people trying to restrict people's right to carry arms. As US citizens, it's their constitutional right to bear arms? Why doesn't everyone have access to a small nuclear arsenal? Why aren't all the gun lobbyists screaming about those rights not being given to them.

The reality is that that thought scares the living shit out of everyone and its become culturally accepted that there is a line in the sand on what types of weapons should be available to people. Perhaps the line for the US needs to be redrawn.

As has been shown in other countries (specifically, Australia where I live) when you reduce the availability of weapons that are designed purely for mass killing (our buyback scheme went pretty smoothly in 1996), the ability of people to do mass killing goes down. We have approximately 1/3 the number of firearm related deaths[1] (both accidental and not) than the US has of just homicides alone per 100k people[2].

Thats not to say guns aren't still available. They are. That's not to say people still don't get killed with guns, because they do. But the numbers just dont lie.

[1] http://www.gunpolicy.org/firearms/region/australia
[2] http://www.cdc.gov/nchs/fastats/homicide.htm
Real world code? All code sucks. And Alan Kay says something more damning than that: he says that the whole industry is a pop culture. We are living in the murky anterenaissance and precious few seem bothered by it.
What Happens to Your Facebook Account When You Die?
It's really cool how you can reconstruct the original image in your browser by dragging one of the frames on top of the other. At least it works for me in Firefox on Ubuntu where the image I drag becomes see-through.
Thanks for chiming in matey, I take it you're a contrarian?

You pretty much back up my point. People who don't know the science should not comment in alarmist tones about it.

Fearmongering generally does more harm than good. In this case it seems like everyone hates the TSA, hates the full body scanners, objects to being dosed with radiation, and so psychogenic illnesses are claimed to be caused by the machine.

So the claims are false, the machines work like they're supposed to, it's just no one wants them there so hurdles are placed in the way of their implementation. Hurdles that are false.

I don't disagree that we should look further into the use, especially as I say above because there are other methods that do not use ionising radiation that seem to be just as effective

So yes, I would take the same attitude to the 3 UCSF Med school professors, just as I have to the world-famous neurosurgeon who told me as we microwaved our food in between surgeries that I had to 'wait for 3 seconds after it finishes or else the rays escape and can increase your risk for cancer' or the former head of the AMA who said during a lecture that 'there is a study that shows that homeopathy is active against cancer' with no supporting evidence. Position and title generally only qualify a person to make comments in a specific domain, as those 3 professors discovered when they got smacked down by the radiologists.

If people want to believe weird and wacky things, that's fine. If those things contravene the known laws of physics, then either there must be some spectacular evidence, at which point I will believe anything, or it simply isn't true.
Viewing it in Chrome on Xubuntu made me have a seizure.
How to build Facebook login using CakePHP Facebook Login Plugin
"A $5 LAMP Server Powered Solely by Gravity", if I read that I would have clicked instantly.
No he has a valid point, Intel whole value chain is built around x86. They can't just switch everything off, or switch to another architecture.

ARM has no such risk. Right now Intel has much more money, so they can pump more into R&D, but their company structure can be a liability really fast.
Sorting an immutable list in Scala
and.. it's down
"6] IBM seems to be losing more money on processors every year, and the people I know at IBM have their resumes polished, because they don't expect POWER development to continue seriously (at least in the U.S.) for more than another generation or two, if that. Oracle is pouring money into SPARC, but it's not clear why, because SPARC has been basically dead for years."

both IBM and Oracle have committed to two more generations of POWER nor SPARC. also there is Fujitsu keeping investing into SPARC. these uarchs are not going to go away anytime soon. they are high-margin niche products in the enterprise space and government with considerable footprints and huge long term service contracts attached to them.

POWER and SPARC are not competing against low-power CPU's but aim for the high-socket count, large unified memory, RAS market which for some workloads is the only alternative.

especially SPARC while having shrinking market share still makes Oracle more than a billion annually. afaik IBM's Power division is not loosing money either.

long story short: in the next five years there will be at least four ISA's (ARM, SPARC, POWER, X86) in the server space, but not all compete for the same markets.

interesting times ahead!
People tend also to conflate mental illness with "things I don't like". For example, when the Sandy Hook shooting happened, people were saying, "What a whackjob", before they even knew who the perpetrator was, as if it were like "What an asshole". (Yes, I agree that he's an asshole, but no, I don't see reason to believe that he's literally the victim of a head injury.) It does seem likely that the man was mentally ill, but that's not all of the picture. The vast majority of people with mental illness would never do something like this, and not all mass murderers are mentally ill. In fact, as far as I know there are only two mental illnesses that positively correlate with violence. One is severe drug addiction, which is a different class of problem, and the other is psychopathy, and people with the latter tend to be above-average in social development, which is why Ted Bundy was so effective: he killed about 40 people before he was finally caught.

We've seen this equation of displeasure with mental illness in the fallout as well. The NRA are referred to as "crazy gun nuts". Well, they're not actually "crazy". They hold strong ideological beliefs that we dislike, and they're almost certainly wrong (in that the benefits of ubiquitous AK-47s do not compensate for the drawbacks, because the probabilities associated with the events that would make then beneficial are ridiculously low). They're not the same thing. These radicals are dangerously wrong and I'm glad they're on the fringe, but they're not "crazy".

I also take umbrage against the attempt to explain away evil using mental illness. It's like people don't want to admit that bad people or evil exist. Hitler was crazy, Adam Lanza was crazy, Ted Bundy was crazy. Well, I have no idea if they were mentally ill. They were, however, evil. Evil exists. It probably doesn't have a metaphysical platonic form (a Satan) and there's no evidence that it has any supernatural presence but, in the practical real world we live in, evil's a real thing. It's a part of our story as humans. You can't understand what we, as a species, are if you leave it out. In fact, to the extent that evil and "insanity" correlate, I would argue that the causal direction goes the other way: people who do evil things, especially if they're rewarded and become powerful, warp over time and eventually go nuts. It's not the other way around. Mental illness is painful and horrible and sometimes it makes people do harmful things but it does not make people evil. Killing 28 innocent people, mostly children, for no reason is evil. Adam Lanza may have been mentally ill but he was also an evil piece of shit.
Even more important is to stop branding people as mental ill!

Mental illness in our system is defined like we are all chicken. We are defined healthy if we lay an egg every day, have clean feathers and don't pull feathers of other chicken in our cage. But not the chicken are insane. The system is insane!

And the system became worse over the time. A lot of more people are now declared mental ill, then ever before. Especially children and the fear of the parents are exploited by doctors and pharmacy. Pharmacy drugs only try to hide the symptom, and often fail in even this. The result is more likely a drug addicted kid, who will later visit the doctor again, and again, like a junky visiting his heroin dealer.
Gangnam Style hits one billion views on YouTube
Ada 2012 Language Standard Approved by ISO
A more revealing and accurate look at software in the real world is 'Big Ball of Mud': http://www.laputan.org/mud/

As a Haskell programmer, I thought the Taliban comment was funny.