skysight-inc/HackerNews huggingface dataset:
I have some monads from when I was less experienced that are screaming to be turned into that. I'm keeping them on my to-do list for now, but it would be a gain. (But I have a logger to write, and will probably adapt to something like it.)

The main downside is complexity. It gets hard to reason about it fast. As types depend on more things, and grow bigger, error messages are hard to read, parenthesis abound, and people really start switching off. Type synonyms help here, but are not a panacea. (A similar problem for your "hard of debug" complaint.)

The COMEFROM style is mainstream on FP, so people are used and expect this kind of thing. That means that your functions better support doing stuff you never told it to do, because it will, you know it, and you'll adapt accordingly. It's normally not a problem, notice the "normally" there.
Don't get me wrong; I think "no side effects" is a very useful way of programming for a large number of problems. But not all problems. In particular problems related to user interface and system integration.

And languages I listed (JavaScript, C#, Swift and Java) have all stolen large chunks of ideas pioneered by functional programming and put it into their latest release.
Simple is nice sometimes but don't get a false sense of security with just a ping service.

For example I've seen web servers soft-fail where they are still up and still respond to ping but are serving empty blank pages.

Checking for certain text to appear on a page is a better solution, then you can also monitor DNS lookup time, connect time, TTFB and download speed.

Very easy to log and graph such data, in fact you can do it with curl in bash for the logging and email part.
Affected customers have received an email about the issue. I got mine about 2 hours ago.

It would be great not to publish an article like that until some time later, so that everyone gets a chance to fix the problem on their machines before it goes fully public - especially since it's the holiday season and some people don't check email or news that often.
Erlang currently is probably the most practically used functional language. It has been in production for decades. It manages probably 50% of world's smartphone <-> internet traffic. There are many database built on it, message processing backends, handles hundreds of millions of connected device (WhatsApp).

Yet most people forget it about when talking about "functional", and end up comparing Python to Haskell basically. Maybe with F# thrown in there for good measure.

Erlang has solid closure support, tail call elimination, immutable data structures and variables, encourages using recursion instead of for loops, in practice folds/maps are common constructs instead of an oddity etc (like say in Python).

It even has an optional success typing system:

http://learnyousomeerlang.com/dialyzer

EDIT: Elixir is using Erlang's VM as well and almost everything about language features above apply to it. If you don't want to give Erlang a try, check out Elixir. It also has one of the friendliest communities for new-comers.
I thought there were some rules passed years ago regarding unsolicited faxes, due to the costs in paper and ink they incurred. I remember the topic coming up in the late 80's or early 90's I think.

I wonder if this use falls under those rules?

https://www.fcc.gov/consumers/guides/junk-faxes
Because you can write person.getName() like this:

def getName():

. . this.setName('foo')

. . return this.name

There's nothing in principle preventing you from doing that in the "functional" approach but if your data is immutable then you can't do it.
And you can eat them in times of scarcity. The robotic ones aren't nearly as tasty.
That requires either sending login information over http (thankfully rare in 2016) or breaking https, which is much harder nowadays with modern browsers-- most of the tricks sslstrip[1] used no longer work due to key pinning, etc.

1: http://www.thoughtcrime.org/software/sslstrip/
How France became the DDR in just one year [video]
I was very lucky, growing up, to be the son of a sports medicine doctor because, from birth, healthy eating and exercise and their benefits were grilled into my brain.

Unfortunately I see too many people in my job (academia) who don't exercise despite the huge potential benefits to their productivity and life. So this makes me wonder: what is it about exercise that turns people off? Is it a communication issue? Is it the lack of confidence? Lack of knowledge? It seems that there are constant pushes in the media to be more healthy and exercise but it never seems to stick.
Oh, they can do surprisingly much. See how Erlang works with its optional typespecs and dialyzer.
Would people in the "good coverage" area be able to run repeaters for this kind of WiFi provider so that, for example, their friend across the street could be covered? I'm not familiar enough with large-scale WiFi infrastructure to know whether they have mechanisms in place to prevent such practices (or if they'd want to).
Do you expect people should like prison? Prison would not be much of a deterrent if it didn't get 1 star from just about everyone in terms of the experience. In terms of dealing with actual abuse of prisoners, the courts are a far more robust system for dealing with complaints.
I even more urge people taking this advice to read and go slow. It's super easy to hurt yourself if you end up with bad technique or go up in weight too fast--anything more than 5 lbs at a time is too fast. Read Starting Strength for some of the technical background and get some help from a friend who actually knows what proper technique looks like.
The CISCO Wifi Certifications says 10 hosts per AP as a rule of thumb - you can probably push it to 15 or so but you would have to limit the connection speed.
Use virt-sysprep to prepare your templates.
http://libguestfs.org/virt-sysprep.1.html
Ok article, but I'm not sure it adds much beyond the earlier tech crunch article from 2014 it references.

[1] http://techcrunch.com/2014/04/14/sf-housing/

The tech crunch article provides a much fuller and more nuanced overview of the problem. I strongly recommend it.
Gypcrete is better than plain old floors and probably the best that can be done with wood framing.
Well I end up doing that of course, but I'm just complaining that it gets really annoying really fast seeing all these dollar signs peppered in the code, making it super unreadable.
Purifying Physics: The quest to explain why the “quantum” exists
The problem is that as soon as you send the email, someone will leak it, setting the usual internet machine of FUD, "this must be a fake" etc at work.
Irony of it being all electric motors/actuators but needing a gas engine to power it so it is very loud.
The logistics of keeping them fed and watered, having trained handlers, and treating them for injuries are nontrivial. And they're prone to unhelpful reactions in a firefight. There are good reasons they've largely been displaced by motor vehicles. Combining the go-anywhere ability of legged propulsion with the advantages of motor transport seems like a good enough idea to merit study.
No, I think Dan has a pretty good handle on what the respective needs of companies and their engineering teams are. I think a more accurate gloss is that people's personal self-interest and habits are more important (to them) than the needs of the company. When doctors don't wash their hands, it's not because "the company" needs to kill more patients. It's because they're in a hurry.
Overall people are not so smart and builders take advantage of it. They can advertise "Granite countertops" but not "concrete construction"
Conversation as Interface – Landscape & Future of Mobile Design
Dissection of Flux architecture or how to write your own
This was on my todo for years. I never liked the idea of using a cloud solution for privacy and price reasons. I recently bought a QNAP NAS which provides amazing custom backup solutions. I raided the disks, and continuously backup all personal data directly to AWS Glacier, making sure to encrypt it first. Private and very cost effective since the only time I would need to retrieve from glacier would be in case of both local drives failing (theft, fire?) I sleep better at night now.
If you've never been to a gym before or done weights, please, please, please get a personal trainer for a session or two to show your the correct form. I see way too many people at the gym who have shit form but "lift" a lot of weight and it is ineffective and can be dangerous. Form is way more important than weight. Remember, many exercises are designed with a specific muscle to target and if you don't do it properly, you won't get any of the benefits.
It's a great piece of software.

Starting with Ipython Notebook, but a little unwieldy sometimes. I really hope they keep improving. It seems like all the cool features were introduced early on and then over time there has been almost no progress in the areas I've been using it for.

Some of my criticisms that I hope somone has a good workaround for for now:

Issues I have with it that are not bugs:

- Have to keep a separate firefox profile so that the notebooks don't get lost among other tabs. Maybe a separate built-in Firefox profile or chromium browser would help or maybe its own built in browser that would make it more of an IDE.

- Stores data frames and such in memory. Not clear which variables are taking up all the space. I guess restart the kernel... This is not as much of a problem with Ipython because those sessions tend to be more ephemeral. So tracking of variables by memory usage would be wonderful.

- Freedom to edit any cell results in a bit of a mess quickly with out of order execution of things. Probably some kind of organizational strategy they could encourage through the UI would be great. Otherwise, reading others' notebooks is impossible unless they polished it for some time.

- Scrolling is really bad if a command created a lot of output.

- Searching through worksheet is not intuitive. Always have to look up ipython manual.

Issue that I think is a bug and is the major reason I'm not using it more often:

- Cannot reload modules easily.
%load_ext autoreload
%autoreload 2 doesn't work.
%autoreload 1 doesn't work.

Tested on OSX and Linux.

Sometimes after messing with it for a while it starts working for a bit but then segfaults. I should look into this more.

Same problem with ipython, but this is more of an issue with the notebook because it has more of a permanent state than terminal sessions. You end up having to restart the kernel and lose everything in memory, which is the main reason to use the notebook in the first place.

It would be really cool if there was a feature that let you know when you modified a function but are using the result of it that was obtained before modifying it. Or if you modified a module but are using the old version.
why do they need this. What are they carrying? Are marines supposed to go without resupplies for weeks/months where they would need an additional robot mule to carry everything?
All the ones that aren't dysfunctional.
Disrupting Greeting Cards the Way Netflix Did w/ DVDs
You know that gut-wrenching feeling you get when you realize you've forgotten your best friend's birthday? Or Mother's Day? Or worse... your anniversary? It was a personal moment like this that inspired us to launch EddiKit (eddikit.com), a greeting card subscription service that delivers ready-to-mail greeting cards for the special moments in your life right to your door.

Here's how EddiKit works:
(1). You register special moments that you need to remember throughout the year on our site (2). You receive a 'Kit' as your special moments approach with a greeting card, envelope, stamp and mailing information (3). You sign, seal and send your card when you receive an email reminder from us.

Customers use EddiKit to avoid two common frustrations:
(1). Remembering special moments is difficult for people (2). Shopping for greeting cards is a complex and dated process.

We're excited to share that our product is now in-market and fully operational with an enthusiastic early beta group. As consumers think about New Year's resolutions, we're currently appealing to those who want to do more (than say, the emoji) to celebrate with their friends and family.

At EddiKit, we pride ourselves on using technology to enable (and enhance) a non-technical user experience. We strongly believe in the importance of a handwritten note and hope to make a splash in an otherwise dated industry.

If you have interest in learning more about EddiKit, I'd welcome the opportunity to share additional details. Also welcoming direct feedback and questions at caleb@eddikit.com.

Happy New Year!
co-founder of EddiKit
Top 5 Scala Books in 2015
No, there's no consumer-level desktop hardware you can't use on either Windows or OS X or both. That's false.

Hardware support is indeed a reason not to use Linux, but the question is who needs to pick up the slack. With other operating systems, manufacturers put (more or less) effort into writing device drivers that are functional. With Linux, they really do not. It's a large and moving target, and the market value of doing so is not clear to them.
I got lucky. I had a friend who had been lifting for years, so I didn't have to go alone when starting out.

If I had to make a recommendation for a beginner who might feel stressed out going while being overweight or skinny, I'd suggest you do some research into a program to follow strictly first, then go with a good plan. I recommend reading through Starting Strength for your first time.

Also like everyone says, no one is going to fault you for trying to get in shape. Most people are actually willing to help out if you talk to them and let them.
This is a brilliant presentation of data. It's straight forward to make out which parts of the country are at current risk of flooding. It's a shame there are aren't more sensors of river flow but what there is, is useful.
Does anyone have any list of "must-have" book recommendations for those who have access? Books that explain technical topics well? I'm thinking of topics ranging numerical simulation to ODEs to optimization to spectral graph theory to parsing etc.
Get Latest Reddit Posts in Node.js
Shouldn't it be "Android is not GNU/Linux"? Then it'd be true.
Show HN: Everyday eCards – Design and send everyday greeting cards
Actually, apparently most style guides currently recommend logical punctuation, but in literature the American style is used almost everywhere.
I beg to somewhat differ: As far as purely functional languages go, it is about reification of side effects (eg via monads or uniqueness types) in such a way that you do get to use pure functions.

My personal definition of 'functional' is based on this lack of side-effects (or, more abstractly, on modelling computation as a declaration of relations between sets, which is what mathematical functions are), but it gets fuzzy once you leave the realm of purely functional languages.

If you prefer another definition for pragmatic reasons, I'm fine with it, it's just not my choice.
The US has a brutal prison system where prison rape and sexual assault is routine.

The US also has a huge prison population and recidivism is high, so the brutality of the system doesn't seem to work much as a deterrent.
is it range anxiety that drives using a gas motor versus battery pack and solar panels?
FWIW -- I have my own complaints about OS X (a lot of them), but I can't remember the last time I got beachballed, certainly not something like typing a URL.
DeepLearningKit: Open source deep learning for iOS, OS X, and tvOS
Me too. I can't read the article at all because of it.
I cannot emphasize this point enough. If you are new to the gym, please get a personal trainer (or someone who knows wtf they are doing) for a session or two to show you the correct form. It's more important that you are doing the exercise correctly with no weight than incorrectly with a lot.
That actually makes your point even more of a Straw-Man.

It's non-trivial for most teams to setup personally managed dependencies for their dependencies (e.g., cvs, package management, etc.).

Maybe it's just my experience, but outside of the enterprise realm, I generally don't see that sort of thing.
I'm assuming you mean you are committed to do weight lifting 3 times a week, not that you have dedicated 3 entire days per week to it, right?

Edit: I'm surprised by the downvotes, I was just asking for a clarification, "committing 3 days per week" could mean dedicate 3 days just to that.
Silicon Valley and Wall Street Are Falling Out of Love with Each Other
Matt Blaze is the man! I remember reading the cypherpunks mailing list and following the clipper chip saga, there is no better person to be on the good side of the Crypto War.
The entry level mac mini is terrible and beach balls surfing. I am surprised they sell it. ( cant upgrade the memory either )
The article is about writing your real-word facing code in another monad, and only at an execution layer binding that monad to IO.
I am not an expert on copyright law -- do you (or anyone) know to what extent I am legally allowed to share the books I downloaded from Springer's website while I could?

In particular, I am teaching a course this spring based on two Springer books that I was able to download yesterday. If I e-mail PDFs to all of my students, am I legally in the clear?
"You actually don't need to be open minded about Oracle. You are wasting the openness of your mind. Go be open minded about lots of other things. I mean, let's face it: it's work to be open minded, right? I mean, you've got to constantly discard data and be like "ok, I need to be open minded about this". No, with Oracle, just be close-minded. It's a lot easier. Because the thing about Oracle, and this is just amazing to me, is, you know: what makes life worth living is the fact that stereotypes aren't true, in general. It's the complexity of life. And as you know people, as you learn about things, you realize that these generalizations we have, virtually to a generalization, are false. Well except for this one, as it turns out. What you think of Oracle is even truer than you think it is. There has been no entity in human history with less complexity or nuance to it than Oracle." -Bryan M. Cantrill

https://youtu.be/-zRN7XLCRhc?t=33m1s

And later on he warns:

"Do not fall into the trap of anthropomorphizing Larry Ellison!" -Bryan M. Cantrill
Initial reactions to each of these list items:

> 1. Go analog.

Hahahaha NO. I get paid to solve problems, not be happy or healthy.

> 2. Stay healthy.

"Stay" healthy? Heh, for me and a lot of programmers I've known, that ship has long since sailed. Maybe "become" healthy would be more appropriate.

> 3. Embrace the uncomfortable.

Well, if more people did this, we'd probably not have religious conflicts.

> 4. Learn a new programming language.

Yes. Usually a good idea.

> 5. Automate.

Yes. Automate more, hire less.

> 6. Learn more mathematics.

This could be useful for most people.

> 7. Focus on security.

I already do this, but I agree that most programmers should focus more on security every day.

> 8. Back up your data.

Ditto with security.

> 9. Learn more theory.

This could be useful for most people.

> 10. Engage the arts and humanities.

Ugh, hell no. That's for other people to enjoy.

> 11. Learn new software.

Yes.

> 12. Complete a personal project.

Wait, you mean to tell me that "start a personal project and actually finish it" is a thing people are capable of?
Lots of computer engineers are good and some even great with their hands. And with the older generation that skews even further towards being good with both (after all, you needed a soldering iron + skills first if you wanted to learn how to program).
I tend to think of it in that way as well.

To me, "functional programming" taken back to origins in Lisp and the lambda calculus is a style of programming that focuses on the composition of functions.

The "purity" element is merely the consequence of this focus: in order to be composable, our functions largely need to be free of side effects, and take and return values as mathematical functions do.

I think the emphasis on function composition also makes for a better, more believable sales pitch, once you take into account first-class functions as values and the kinds of abstractions and patterns they allow. I have a version of this pitch which goes like this:

Imagine a function that, given the right inputs, could produce any output in the known universe. To which you might rightly answer "that's pure nonsense". The sheer volume of internal logic would naturally be more complicated than everything within that universe.

But if that function can itself receive other functions as inputs, then the potential outputs expand almost infinitely.

And indeed, this is why the lambda calculus itself has proved Turing-complete: simply by composing functions within functions in this way, you can literally recreate the whole of computing and mathematics.

In practice though, people have their limits, and the day to day operation of a computer does require occasionally breaking the perfect mathematical puzzle for the sake of getting work done, and the vast majority of languages in existence allow for exactly that. A definition that doesn't allow for them might well be "true" in the "pure" sense of the word, but it's not very useful for people other than mathematicians.

And hell, even the Turing-machine uses mutable state.
Of course not. It's not in any way an advertisement.
Those approaches "dex" the Java bytecode and run Dalvik bytecode.
Lessons from achieving 300% growth in the second year of a startup
It's also driving almost all of the non-Google ad networks, has a pretty sizable footprint in high-finance, and increasing numbers of online gaming (mobile and console) backends are built with it (or its younger cousin, Elixir).
Hmm I've always felt the true nature of FP is having higher order functions. That's what starts to make things fun. If you need a long keyword to introduce a lambda, or if partially applying and passing functions around is ugly then you lose a lot of the benefits and cannot truly embrace HOFs. In a typed language, no generics or other type limitations puts a major cramp on this too.

Yeah this means C function pointers allow some FP. Except they're clunky and have a hard time bundling info with them (no closures). This makes HOFs sort of a pain.

Controlling state, or at least immutability, is just a generally good idea. Even in rather non-FP code I wish I had easy immutability.
These are the "Big Dog" mules being built by Boston Dynamics, who was recently acquired by Google.

Google has been against militarizing the robots since acquisition, so they're no doubt happy to have this contract dropped.

To be clear, this doesn't mean the project is shelved, it means the contract with the Marine Corps is shelved. Google will be able to focus more directly on civilian uses for the mules from here on out.
New year’s Spring Boot tricks in a container
The states that are seeing a boom in population and the states that aren't
I'm getting 0 results. Is that so?
Alexei Stakhanov: The USSR's superstar miner
We’ve already reached the tipping point on global warming. I’ve seen it
It's been a while since I've checked up on the project. How's everything going? Have you gotten any adoption? Did the backend stuff ever get completely ported over to node from PHP?
I found this interesting article:

http://www.nationaldefensemagazine.org/archive/2013/march/pa...

Which includes this quote:

"“What we’ve seen is that when Marines come ashore, they’re carrying 130 pounds of food, water, batteries, ammo, you name it, on their backs because fundamentally, they don’t trust sea-based logistics to keep them supplied,”