skysight-inc/HackerNews huggingface dataset:
Slightly related: an old Scala command line todo app of mine: https://code.google.com/p/whendone/wiki/ExampleSession
Win or lose, lawsuits are an enormous time and money sink. That's for any lawsuit. Sexually harassment ones are worse. Asking somebody who has been harassed to go public or file a lawsuit is putting an enormous burden on them, one that they don't deserve.

In my view, the problem is the behavior of some guys, enabled by a much larger number of guys who are ignorant or indifferent. I think the solution mainly lies with waking up that latter group.
>Go does not have a type hierarchy, so there is no top type.

Go does have a type heirarchy. It's just not very extensible. There is top (interface{}) and then there are all other types (which are subtypes of interface{}).

If Go didn't have a type heirarchy, you wouldn't be able to up- and down-cast (up-casts are performed via implicit coercion to interface{} and down-casts are explicit).

>You can easily use interface{} to make generic data structures, but interfaces have a time/space/code-complexity cost which makes them not worth it most of the time.

You also lose any semblance of type safety, which is kind of awful.
Haskell is great for DSLs. Some loose thoughts:

- The syntax is clean and extensible. (Function application is `f(x)` in C, `(f x)` in Lisp, and `f x` in Haskell.)

- The core language is small, with a suprising amount of functionality implemented as library functions. (Not surprising to a Lisp programmer, though.)

- You can define your own infix operators, specify their precedence, and their fixity. (Left, like most mathematical operators, or right, like the exponentiation operator).

- Because of Haskell's lazy evaluation, there is no distinction between special and non-special forms, so you don't need macros to build up syntactic sugar for your DSL. (Special forms, such as the C short-circuiting operators `&&` and `||`, only evaluate as much as is necessary, which is what Haskell does across the board.)

- But if you really want macros or quasi-quotation, they're part of the language. (Macros are named Template Haskell.)

- There is also built-in syntactic sugar which can be re-used for your own instances of common program patterns, such as monadic do-notation, monadic comprehensions, and arrows.

There are many examples of Haskell DSLs online. A particularly amusing one is Lennart Augustsson's embedding of BASIC in Haskell, proving beyond all doubt that Haskell is in fact an imperative language, and all this talk about purity is poppycock. [1] [2]

Haskell is also great for performance. GHC 7.8.2 is now ready to use, with the Mio high-performance multicore IO manager merged in. [3] The composable nature of Haskell also lends itself to surprisingly powerful optimisations. [4]

Now, generating code at runtime and integrating it (interpreted, or even compiled) into the running image is definitely a strength of Lisp, and other under-appreciated artefacts of a future past, such as Smalltalk. I do not know how Haskell fares in this area, but I would like to find out.

[1]: http://augustss.blogspot.co.uk/2009/02/regression-they-say-t...

[2]: http://augustss.blogspot.co.uk/2009/02/more-basic-not-that-a...

[3]: http://haskell.cs.yale.edu/wp-content/uploads/2013/08/hask03...

[4]: http://research.microsoft.com/en-us/um/people/simonpj/papers...
The actions probably get initiated a full second before the thought of "property" ever enters anyone's head, if it does at all.
Dude, peeing when my bladder is full is deeply rooted in my biology. But rather than just whizzing willy nilly in the corner of rooms, I know to go to an actual bathroom to do it. Why? Because I'm more than 4 years old.

Biology is no excuse for behavior. It can explain a tendency, but it does not justify yielding to that tendency.
An interesting property of CPU vs. I/O concurrency, to me, is that while I/O-heavy concurrency works fine with cooperative or reduction-counting scheduling, CPU-heavy concurrency basically requires a preemptive scheduling approach (i.e. multiple native threads.)

A lot of people would assume that on a single-core machine, you could get away with running, for example, Erlang with only a single native scheduler-thread for its tasks. This would be true until the first time you called a C-FFI function that took a full CPU-second to return. Then all the other tasks in your system would wake up wondering what year it is and how their beards grew so long. Erlang added "dirty schedulers" (basically, extra scheduler-threads that will get spawned above-and-beyond the default one-per-core-with-CPU-affinity set) precisely so the preemption of CPU-heavy tasks could be pushed off into the OS's capable hands.
Didn't see your comment until after I commented. See my sibling comment.
Why Calculating is Better than Scheming. (1987)

http://cs.kent.ac.uk/people/staff/dat/miranda/wadler87.pdf

A paper by Phil Wadler about why ML languages are better than Lisp ones for teaching.
I think a non-anemic amount of memory is the most important feature lacking in the Air. I often find my 4GB 2011 Air chugging and breaking a sweat swapping to "disk" simply because I've had Firefox open for too long. Would it be that difficult for them to finally double the amount of memory in the next base model to 8GB and make 16GB an available option?
> I have dealt with men & women from very conservative backgrounds who honestly and with great love believe I should not do what I do for a living, because it involves public speaking and evaluation of some men, which they believe violates 1 Timothy 2:12.

Every time I think I have a handle on how crazy people are, boom, a trap door opens. I'm sorry that you have to deal with nonsense like that. But I appreciate you mentioning it.
I'm a relative newbie when it comes to Haskell; I've found it's best to just get stuck in - pick a project and just go for it. Especially if you're doing real-world stuff, because you'll just get sick to your back teeth of yet another fibonacci tutorial. Once you get stuck-in you'll find yourself on the Hackage docs site a lot, click on the Source link on the top right of every page, you'll find gold in there.

A real world thing I did this week (which unfortunately is proprietary so I can't share), was a distributed configuration system for our cluster. It uses the RabbitMQ library[1][2] and Acid-state library[3] to have a per-node config-DB and uses RabbitMQ's guarantees for delivery of updates to the nodes. Messages are serialised using Aeson[4], the Haskell JSON library. I implemented a vector-clock versioning system on top of the Acid-state store to allow the clients to do conflict resolution. It really was a joy to write (around 350 lines of code). The C# client less so, 1000s of lines of boilerplate.

I think there's something really impressive about haskell; I tend to have significantly more trust in the code I write because mostly I know the edge cases don't exist. 9 times out of 10 if your code compiles it will work. Although be prepared for the compiler to hate you when you first start. The beatings are worth it though.

There's some basic code samples in the links:

[1] https://github.com/hreinhardt/amqp

[2] http://videlalvaro.github.io/2010/09/haskell-and-rabbitmq.ht...

[3] http://acid-state.seize.it

[4] https://github.com/bos/aeson
I suspect what's going on is that he was chubby by early-70s standards, and so contemporary representations start with chubby-by-2010s standards and blow that up for effect. (I've wondered about this too.)
I don't use or know about any of the other tools mentioned, but Pandoc isn't exactly someone's pet project.

It may be niche, but it's not unknown. If you need to convert markdown/rest/latex/etc to pdf/html/epub/etc, Pandoc's gonna come up.
I don't see anything to suggest this feature will be removed. I read three articles to try to find some information about it, and even searched on the specific term "universal search" with Apple and Samsung in the search. I can see that one of the patents was about that, but I cannot see that it is either going to be removed, or that it was one of the ones damages were awarded over. Do you have some evidence to that effect?

Anyway, I was certainly not being disingenuous, as you accused me. If what you said is a feature of this event, it is hard to discover, and it was my good faith belief that consumers would see no effect.
I don't believe that. Can you list 3 or 4 Square merchants that let you swipe yourself?
If the US did not have such enormous racial issues, I suspect that wouldn't be such a big deal. So if we don't want black people to be bothered by that, we could start with, say, eliminating the enormous amount of racial imbalance here.
Perhaps unsurprisingly, you can use this to see what areas of town (e.g., Oakland) people consider safe and which ones they consider sketch. There's also no doubt a high correlation with socioeconomic status and path intensity.
Back-end Developer at Unata (Toronto)
I have to say, that's a pretty big piece of mental gymnastics to justify why this would be objectionable.
I believe that was just addressing the fact that the type `Box<T>` is more annoying than the type `~T`, since the `box expr` replacement for the `~expr` expression is relatively nice (admittedly I wasn't following the discussion in great detail).
Dan's usually correct on payments stuff but I think he's confused on the costs here, possibly because Square's average ticket sizes are extremely low making the absence of a flat charge very cost-effective for Square merchants.
Actually we call them Smalltalk, Interlisp, Delphi, Visual Basic and Eiffel.
> As for Codebabes, the site itself will eventually fail because its business model sucks.

Whole article is a feminist rant. Moving on.
> So you can know what you're talking about next time, my recommended guide for Haskell:

I like your guide, but is this really necessary? This isn't the first time you've been aggressively hostile to people expressing a preference for Lisp over Haskell, either.
Not incredibly popular but Nikki and the Robots is a game written in haskell that has recently been greenlit on steam

http://steamcommunity.com/sharedfiles/filedetails/?id=107105...
A Canticle for Leibowitz is a novel where, after a nuclear war, a Catholic monastery transcribing technical texts (they do not understand) over many generations.

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

Anathem is a Neal Stephenson novel about (again) monastic communities preserving knowledge over hundreds or thousands of years.

https://en.wikipedia.org/wiki/Anathem
SEEKING WORK - Norwich, UK or remote

I have 12 years professional experience building sites and applications with open source technologies. I am an ex-Yahoo engineer, I am reliable, and I get stuff done.

I can build you a MVP quickly, or give you advice on scaling your application to thousands of users. I am also very comfortable working with large legacy code bases.

More backend focused (PHP, Perl, Python or Ruby) than front-end, but have good experience of working with standards-compliant HTML, CSS, JS as well as JQuery and D3.

glen@glenscott.co.uk
the problem isn't that it's offensive per se, the problem is that it's sad.
Why the ""?
What exactly do you mean by 'refine'?
Because she holds her hand on her chin, and the hand is very active, she appears as if she were thinking really hard about what to say. A truly concerned parent wouldn't need to think hard.
I was puzzled by that abrupt change at the border as well.
It could be market penetration.
Maybe bike infrastructure like the bike knooppuntnetwerk plays a role as well. http://www.nederlandfietsland.nl/knooppuntroutes/overzicht-k...
Although dedicated bike lanes fall of much more gradually at the border f.i. https://www.google.de/maps/@51.6623341,6.998291,9z/data=!5m1...
As a Dutchman I never realised how unique this dense network of dedicated bike lanes and route signs is. Until I met some Canadian bike head expats who couldn't stop raving about it.
It seems that if you're into touring on bike and getting around by bike the Low Countries are without equal.
Duck Duck Go
https://duckduckgo.com/?q=base64++decode+ZWR3ZW5nIFthdF0gZ21...
;)
> This would be true until the first time you called a C-FFI function that took a full CPU-second to return.

As you said, up until last release that would be true in general. Even if you had 16 CPUs running C NIFs inside of it that block for longer than 1ms at a time would probably be a bad idea.

Word of warning, think really well about compiling in and sticking native code (NIF) drivers in the middle of the Erlang VM. You lose reliability, fault tolerance, predictable low latency response. Good examples of NIFs could be computing a hash function, or something similar that would be constant time and easily tested. Not something like getting a piece of data from a database.
There's also devices like SmartNav.

Also, Eye tracking is frighteningly good and has been for a long time now. I wonder why contextual menus based on eye movements and hand gestures haven't been forwarded.
One good reason: ignorance.

If I were to say "lighten up", it would basically be asserting that I am a better judge of the impact of a comment than the person who's upset. But as relatively privileged person, I am much less often on the receiving end of offensive comments, and I have more resources to deal with situations like that.

If I were to say something racially tinged to a black person and they thought it offensive, I would be strongly inclined to credit them because they've had a lot more opportunity and a lot more incentive to think about the nature of racism.

I agree it's not a perfect rule, but it's certainly the way to bet.

Another big reason to do so is power. Things like "lighten up" are used by privileged groups to suppress criticism because that helps maintains the power imbalance. Not consciously, mind you, but as apes we're hardwired for status.
Because context.

Because the programming world is overwhelming male dominate and is widely perceived as harboring an undercurrent of latent sexism and is generally seen as being dismissive, condescending and unwelcoming to women.

Taken against that background, a site like this does nothing to dispel these notions or help attract women into our field.
Best series ever.  Dancing in Small Spaces – MUST WATCH
This girl can mooooove.
There's no need to be disappointed in Scala's Option, if used sensibly (i.e. not intentionally trying to break it) Option will work as advertised.

val is indeed king, var is used sparingly, look under the hood of any prominent Scala library and you'll see val-ue of immutability put into practice. Locally scoped vars can be useful, but beyond that dangers waits (not unlike Haskell's unsafePerformIO).

In terms of disappointment, I could say similar things about Haskell: I'm deeply disappointed with the eternal compile times, meaningless stack traces (no line number, heh, nice), non-existent tooling (read: null IDE), etc.

Scala lives on the JVM and has seemless interop with Java; concessions have been made, the type system will never rival that of Haskell, but then again, outside of Haskell no other mainstream language's type system rivals that of Scala.
Wow, shippable has really great prices, will try it today.

PS. Using jenkins because price (most of cloud CI has price about a cost of not bad VPS at DigitalOcean, for example).
I'm quite savvy with technology and it bothers me to check out at Square merchants for much of the same reasons. First and foremost, I want to see the price of the item as I am being rung up, doubly so if the price can vary based on my selections. (Why on a varied price? It serves as a check that the person taking my order has heard me correctly.) I strongly dislike signing with my finger, something that is very inconvenient during the time of year when the weather is cold outside since I'm usually wearing gloves.

Since a lot of my small-purchase/walk-in shopping is done when I'm walking around a densely-populated area, I've found myself shying away from places that advertise "Pay with Square" or that have an iPad for a terminal. If there's something equivalent nearby, I'll just go there, especially if that store has a PIN pad.
The key to this comment is "[t]he latest startup/trendy tech boom has made a disproportionate number of people of this type gravitate towards programming". The rest can be extrapolated from that sentiment.
This is why I've stuck with my 2012 13" unibody. You can get 16GB and gobs of SSD into one for way cheaper.
Scoops: When journalists masturbate
Ask HN: Advice for working with immutable data types?
For those of you that spend a lot of time writing software based on immutable data types, what tips/tricks/advice would you give to someone journeying down this path?

FWIW, the reason I ask this is because I've been giving a lot of thought to swannodette's mori javascript library and after going through the readme, it's not super obvious how exactly to use them to simplify my life and improve my code.

http://swannodette.github.io/mori/
Wow - that video was brilliant, thanks for the recommendation. (Subscribed to Jekor's channel)
Conduct a Virtual Symphony With Touchscreens and an Interactive Baton
You're right, with a traditional merchant account there's a flat portion of the transaction fee. I'm paying (interchange + 0.04% + $0.10) to my current processor, which means the flat fee portion of each transaction is $0.15-$0.31. If you're selling single coffees and tacos, that's a significant percentage of the sale and makes Square's rates a very good deal. Square can also be cheaper for American Express for certain size businesses as well (if you're /very small/ AmEx has a flat rate program that's cheaper than Square, if you're too big for that but too small to negotiate better than the 2.89% rate they'll offer most small businesses, then Square is cheaper).

If you're ringing up $20+ sales most of the day, Square is much more expensive, especially for debit cards (whether swiped or PIN-authed, which Square doesn't do). Debit is by far the most popular form of in-store payment in the US, used more than twice as often as either credit or cash [1].

A few example fees using my quoted rate above --

For a swiped Visa debit card (interchange is 0.05% + $0.21):

$5: $0.32 (traditional) vs $0.14 (Square)
$20: $0.33 (traditional) vs $0.55 (Square)
$50: $0.36 (traditional) vs $1.38 (Square)
$100: $0.40 (traditional) vs $2.75 (Square)

For a basic swiped Visa credit card at a supermarket (interchange is 1.22% + $0.05):

$5: $0.21 (traditional) vs $0.14 (Square)
$20: $0.40 (traditional) vs $0.55 (Square)
$50: $0.78 (traditional) vs $1.38 (Square)
$100: $1.41 (traditional) vs $2.75 (Square)

MasterCard fees are nearly identical. Giving away $1 here and $2 there on every single sale all day adds up quickly, which is why Square can't move up to more lucrative clients while maintaining that fixed rate.

1: https://www.firstdata.com/en_us/insights/payments-101-white-...
Both genders are far from equal victims. Even if codedicks was a equivalent version of the site, objectifying men (rather than a parody) your assertion would still be wrong.

When we're trying to promote equality in a male dominated field, the objectification of women does more harm than the objectification of men in that context. I'm not suggesting we go out and objectify men, but trying to point out that the effects of this objectification of women has the ability to cause far more harm than an equivalent site objectifying men.

A site objectifying men would do very little to change the status-quo, codechicks has the very real potential to (when put in context with the daily shit throw at girls and women in this field) to make someone think twice about getting into it.

Whilst discussion of male issues are important, the "but what about the men" argument that comes up almost universally in topics like this is so tiring. Can we not just be able to discuss issues of gender equality & the exploitation and objectification of women without constantly having to inject our gender (yes I'm a dude) into the piece? It de-rails the conversation about women's issues, re-focuses it on the men, and silences those who may wish to speak out against the objectification of women.
It ended up dropping to second, but it was definitely at the top for at least an hour.
Interesting that you ask this since I just created a new thread asking for advice and information on using mori in my JS code:

https://news.ycombinator.com/item?id=7689823
Reminds me of the Read-Modify-Write procedure on a lot of PIC devices. Our teacher taught us to randomly place NOP instructions until it worked; we all thought he was crazy until we realized what he was working around.

(The actual solution was to write to the LATx registers instead of PORTx)
> Why do you need to build the latest and greatest?

Why shouldn't I? When Scala 2.11 was released I downloaded the binary, changed my PATH, fired up a new terminal and started exploring the latest release. Takes 2 minutes or so.

I'd like to do the same with Haskell. 7.8 looks to have significant language improvements that I want to explore vs. read about and be stuck on 7.4.1 (Fedora 18's provided version).
What name would you suggest for the system that oppressed women for millennia?
I don't get why people are so appalled by this. Given rule 34 we can assume that sites like this will pop up eventually. I would understand if people were upset by a legitimate organization in the tech industry promoting the use of this site - that would be a real problem. But as far as I can tell, nobody is saying this site is fit for real use in education.
A better way to phrase it maybe: Gates is deep into the next new thing. It seems weird now, but maybe for future generations Gates will be remembered more for his post MSFT era.
Snails Are Dissolving in Pacific Ocean
I believe this is the article Jody was referencing: https://news.ycombinator.com/item?id=7687784