skysight-inc/HackerNews huggingface dataset:
You can think of a lens as just a pointer (like in C). They're not exactly like a pointer...you can't get or modify the address that it points to. But you can get and modify the thing that it points to, which is primarily how you use pointers in C.

But lenses can do things that pointers can't do. Namely, they can be composed. If you have a lens that points to a person's birth date

dob :: Lens Person Date

...and a lens that points to a date's year field:

year :: Lens Date Int

Then you can compose them like this:

(dob . year) :: Lens Person Int

Normally it would be easy to retrieve the person's birth year with plain function composition. Lenses let you do that too. But setting the person's birth year is much more painful. This is where lenses shine.

set (dob . year) 2004 person
Makes sense but... I actually think the exact opposite.

For me the perfect password is one that you type the consecutive characters alternating between left and right hand.

Words that you type with just one hand you do a little 'twist' with the hand that, IMO, is a little slower and uncomfortable to do. As soon your finger reach a key the other hand is already moving to the next and this goes back and forth.

But I guess I'm making a point more about comfort than laziness.
I'm not aware of any.

It could be very useful, but if experience tells me anything, it's that getting students to actively use an online (learning) platform of some kind is like pulling teeth. There'd be a considerable amount of feet dragging and gnashing of teeth if it were required to post articles. Just ask students who've had to post in a class forum for discussions. Many just phone it in.

That said, it could work well for students who are very engaged. Or maybe better as a department-wide thing. (That way there are more genuinely-interested students using it. Critical mass and such.)

One thing to consider is how casual Facebook/Twitter sharing, etc. among classmates fills this role to a small extent.
What problem does this solve that SSL VPN doesn't? What is the rationale for doing VPN over websockets?
Good point about "the screensize they would demo" but in the case of Rails Rumble, the contestants don't demo their work. The judges browse through them on their own on whatever device they like.
That... and I shiver to think of the amount of buggy code being churned out. 150k lines of crappy code isn't something to be proud of.

More code = more points of interaction = more bugs.

Caveat: This is assumption based. I assume that much code is due to "quantity not quality". Boilerplate code, copy/pasta, 10 lines of actual code, 100 lines of test, etc
It only makes for awful PR if the public knows about it.

What do you mean by anonymized tracking? Isn't building a profile on every user necessary for targeted advertising?
A bit or irony how the stories about Obama and warrantless wiretaps and the open letter to Condoleezza Rice are only separated by around 70 votes.
Ask HN: Why aren't people using PayPal Payflow?
Looking at the PayPal pricing (https://www.paypal.com/ca/webapps/mpp/merchant-fees), it seems there's a complete steal. Underneath the Stripe-esque 2.9% + $0.30 per transaction, there's this.

Payflow Pro

$25 Monthly Fee
$99 setup
$0.10 per transaction

From Stripe, "We offer volume discounts to businesses processing more than $80,000 per month." Seems like any business above $1k per month and under $80k would save money. ($25 / 2.9% = $862).

Am I missing something?
For founders it's simple. Cash out a few million in the A or B round. Flame out. Repeat. They are well taken care of in today's model.
Note that the final image in this mosaic (labeled 15:43) is not the final resting place for Philae. They still do not know exactly where it landed.
But that wouldn't be a true statement. Google's engineers didn't laugh at Node.js for using V8 due to arrogance. V8 is limited to a single CPU thread per instance. It's great for I/O and a typical webpage, but a CPU task stops everything. PyPy with STM does not have this limitation. Once this project is out of beta, V8 wouldn't compare to PyPy/STM. A better comparison would be the JVM or CLR.
define success. most VC funds lose money every year.
I personally make decisions based on what the project requires rather than some template. Most websites for me are informational, so mobile-first works well. Not a whole lot of functionality to test so we can focus on building the website and make it look on any size device.

However, apps are a different ball game. I'd rather focus on usability, experience, and functionality. I'm not going to try and hobble the app by trying to beat a round peg into a triangle, square, whatever shaped hole. I find that most web applications which have large swathes of functionality benefit from native code, so I usually skip mobile-first design and just do a native app (Xamarin or Titanium works). Why? Because I don't want to sacrifice usability, experience, and functionality. Most apps, I've found out, have different experience, usability, and functionality on difference devices.
You just said, "I know you are but what am I?" Lame.
Agreed. Nested routing is fine, as long as it doesn't become redundant.

Do:

/artist/8/albums

/albums/9

Don't:

/artist/8/albums/9

Using query filters versus nesting are virtually synonyms. I would say there is a minor semantic distinction in that the first one is a definite relationship, and the second one is a possible relationship. That is, "get the albums for artist 8" versus "get the albums searching for artist 8". The search could include other parameters as well, making it not as definite.

/artist/8/albums

/albums?artist=8
The difference in starting salaries received by relatively inexperienced women coming out of Hackbright ($80k/yr) vs inexperienced graduates of the coed but mostly male AppAcademy/HackReactor/etc ($100k+) seems to suggest gender discrimination in tech salaries is definitely a thing.
> I see misogyny and abuse as part of the system of control that maintains gendered work. (As is male willingness to tolerate it. Note the all the male pearl-clutching that has taken place around codes of conduct.) It's similar to the way that police (and much of society) are more accepting of the rape of women who "dressed wrong" or were otherwise not following a very gendered code of sexuality.

This is absolutely true, but it also indicates that tech merits no special treatment or concern in this regard. The attrition problem is actually systemic. (The harassment problem probably is tech-specific, at least the online-troll harassment rather than the paternalism and more "artful" in-person unwelcome advances more common in medicine or law.)

> So this concerns me; it sounds like you're treating feminism as an other.

That says much more about you than it says about me.
Making Venmo easier, more secure, and more fun
In that respect Stephen Wolfram's book "A new kind of science" is kind of interesting. It explores the laws of nature by ignoring the ones we have, instead coupling a numbering system to all possible sets of natural laws, and simulating the resulting universe. It does seem to indicate that what you're saying is wrong. The vast majority of combinations of physical constants would never lead to complexity, and whatever form life takes, I think we can agree a minimum level of complexity is a necessity. That minimum level is quite substantial.

https://www.youtube.com/watch?v=_eC14GonZnU

Most "laws" immediately lead to a universe with a uniform energy level throughout, or lead to complete absense of matter and total darkness. No matter how life adapts, it can't adapt to that. Less common are oscillating universes, that evolve in an entirely predictable periodic pattern. The remainder is mostly total randomness, static. None of these will support life. But ... then there are a few interesting ones.

It would be very interesting to explore more of this space. Does "rule 110" contain life ? (it's Turing-complete and chaotic, so it "contains" hello world and windows 95 ... does it contain you & me ?)

The Copernican principle is mostly a very useful discipline tool. When you see something weird, whether it's a measurement or output from a computer program, your initial reaction should not be "it's a cosmic ray !", "a coincidence !", or "a miracle !" because it isn't. It's something that's part of the behavior of the measured system. That should be your base assumption. It's a bug, it's a loose wire, it's ..., not a cosmic ray/random/miracle. That's the Copernican principle.

But that is entirely different from saying cosmic rays/random chance/miracles don't happen at all. In fact, I'd say it almost proves they do, as we've all seen a program that behaves one way on 9999 out of 10000 cores and yet fucks up on the last one. At some point you just have to give up on Copernicus, and say "Something flipped that (&#@$(#@$ bit, and it wasn't me". It simply shouldn't be your first assumption.

As I've seen it put on a colleague's desk :

It's perfectly explainable

Your calculation is wrong

You're reading the wrong file

You're reading the right file in the wrong directory

You're reading the right file in the right directory on the wrong disk

You're looking at the wrong tab

You're looking at the wrong side of the screen

You're attempting to execute a C++ program with the python interpreter

Your "float" is an integer

You're reading the file, but overwriting the variable before you calculate on it

You're reading correctly, but overwriting the variable after you calculate on it

That if says the opposite of what you think it says

You have overwritten your input file

You have overwritten your output file

Your matlab licence has expired

(it goes on for quite a bit more, but you get the gist)
How Gilt Does Mobile UX/UI
"The question is how much effort is the NSA putting into crypto research vs. the academic community, and I imagine we don't have a good way to answer that question."

Actually we do. Network-centric warfare, financial market stability, policy planning, diplomacy and law enforcement do not rely on the academic community for the integrity and security of their systems. They do rely on the NSA. Its not unreasonable to infer the NSA access to funding and intellectual talent in the face of a credible threat or worthwhile opportunity is practically unlimited as compared to academia.
From the article it seems they assumed the comet surface would be a soft layer of dust, absorbing the impact
Lens is difficult to get your head around. It is simultaneously a rather simple idea ("bundle getters and setters together... ") and a ridiculously sophisticated and generalized implementation ("... in every conceivable lawful way such that they all work together as they ought to!").

You probably do want lenses. Learning to use them is its own "mind blowing" experience similar to learning functional programming itself. Better, they integrate smoothly with Haskell so once you've learned them the cost of using them is quite small.

Unfortunately, learning lenses from `lens` itself is quite hard. There is some amount of training materials (shameless plug here)

https://www.fpcomplete.com/user/tel/a-little-lens-starter-tutorial
https://www.fpcomplete.com/user/tel/lens-aeson-traversals-prisms

but the library itself is typically targeting a proficient user far better than a new one. I'd recommend trying to implement your own lenses as a learning task. If you don't bother generalizing it as far as Ed has then the core concept is very simple. I wrote up a CodeWars task for this using the Van Laarhoven style used in `lens`, but there are even simpler forms as well.

http://www.codewars.com/kata/54258ffb430ca2e4b5000239
I don't think you actually need to do cross-device testing to qualify as "mobile-friendly" in the context of a 48 hour hackathon. You just need to put together a view @media rules such that your UI is usable on all sizes of browser window and insert a meta tag to indicate to mobile browsers they shouldn't try to emulate higher resolutions.

It's impossible to say how hard this would be without discussing a specific web app. But if the benchmark is simply "usable" rather than "elegant", I don't imagine it would be very hard for most web applications.
Show HN: Promote Your Startup or Project to 30K Daily Readers Cheap
Worst AND best resolution in the world.
You Probably Don't Need a Multi-Data Center DB
Just off the top of my head: if you think of verbs exposed in URLs as a common REST mistake, you may not have fully absorbed the HATEOS concept. If you have HATEOS, you're unlikely to have verb URLs.
This has been a long time coming. The autoscaler has been an interesting, and possible the most interesting, part of AppEngine and IMHO has recently reached the point (in the last year-and-a-half) where I'd say I'd want to rely on it for production.

It wasn't always this way -- at one point we were having so many issues with AppEngine's autoscaling that we ended up in a meeting across from Ben Traynor and heard some of their engineers discussing post-mortems of scaling failures in gruesome detail. They've come a long way since then and AppEngine has really found its way from something of an internal science experiment to what I think is the best competitor for AWS' offerings.

FWIW, the "backend" or "basic" scaling module that was available for both AppEngine and GCE was so poor and unreliable that it made it nearly impossible to scale anything in a way other than manual. I honestly hope they deprecate this and roll the few features into the autoscaler.
Pangu8 jailbreak of untethered for the iOS 8.1.1 – iJailbreak.usiJailbreak.us
I'm sure they would if Netflix was paying - After all Netflix runs on AWS which they have no problem with! :)
The legs were actually designed to dampen the impact and use that energy to drive ice screws into the comet: https://www.youtube.com/watch?v=-77-Z_DHTlY#t=1m40
you're right, this is really about making a good JSON api that maps CRUD operations to HTTP verbs. REST is often used as a shorthand for that, though its not technically 100% accurate.

that said, it was still a good article. I agree with the author on his best practices for JSON API design.
Working at LDB [Antarctica]
It‘s just time, and low rather than no gravity. It helps that there’s no air resistance to blow it off either.
Really? Considering Apple sold 5.5 million Macs last quarter, I'm not sure your claim that there's no growth holds water. If anything, the trend seems to be people using laptops (which are desktops) and smartphones, while tablets are stagnating. The advice to not focus on the desktop is just bad. You need to build for both.
Adding a Beta Invitation System to Your Meteor Application
Make your GitHub account hack proof with 2 factor auth
Good point. Ideally, the data should be normalized wrt. total number of HN accounts. But it’s likely just meant as a treasure trove of submission, which it probably still is to some extent.
The relationships in URIs are abstractions anyway. The data is not actually stored at /artist/8/albums or /albums?artist=8. Both are abstractions of whatever underlying system is used to store the relationships.
Heh? That post says its show-me-where-foo-is-defined functionality is broken sometimes, but it doesn't show it (and presumably they never filed a bug upstream either). I compared the two at some point last year, and they did produce slightly different results, with cscope being slightly more correct about something, but I don't recall exactly; they were VERY similar.
It's a shame the modifiers (shift included) like to get stuck on the Kinesis. Expensive pile of crap...

If I had the money, I'd try out the Maltron 3D keyboard. I haven't heard about such problems with it. It also comes with a numpad in the middle, which I kinda miss in the Kinesis. It would be great for nethack, and something else.
Its landing was supposed to be softened by a thruster, which didn't work, and it was supposed to be held fast upon landing by harpoons, but they also failed. They presumably did use some shock absorbtion, but it was probably engineered under the assumption that at least some of the rest of the landing system would have worked.
just the average of multiple universes wouldn't tell you much without the standard deviation. The article didn't go into it at all, but do we have any theories about just how different universes within the multiverse are from each other? In other words, is there any reason to believe that we are on a bell curve vs a truly random distribution.
in the initial race to the moon it was widely speculated that the moon was covered in a deep layer of ultrafine dust, and any spacecraft landing on it would be liable to sink. Arthur C. Clarke's novel "A Fall of Moondust" was based on this thinking.

It seems astronomers have a bias towards assuming dust will cover stuff. Perhaps this says something about their office space.
Pearl the compact mirror battery project
For your particular use case though I'd just login and pass the user information as part of the task. The load_generator would then not be concerned about logging in but only issuing commands.
Web Do's and Don'ts
You can't make the cache immutable because then it will be empty at start and stays that way ;)

The cache has to mutate and be shared as that's the work completed list. As each thread completes a bit of work (visits a node) it needs to communicate it with the other threads.
People often forget that testing cross platform functionality is difficult and time consuming. It can easily tie down designing and add more constraints than necessary. This is why I advocate focusing on essentials like usability, experience, and functionality rather than some gung-ho attitude of "we MUST be mobile first regardless."
I recently read this paper about Julia (http://arxiv.org/abs/1411.1607). Now when I hear about PyPy I can't help but think about this quote from that paper:

New users also want a quick explanation as to why
Julia is fast, and whether somehow the same “magic
dust” could also be sprinkled on their traditional
scientific computing language. [...] Julia is
fast because we, the designers, developed it that
way for us, the users. Performance is fragile,
like accuracy, one arithmetic error can ruin an
entire otherwise correct computation. We do not
believe that a language can be designed for the
human, and retrofitted for the computer. Rather a
language must be designed from the start for the
human and the computer.

To me, Python and Ruby are both perfect examples of languages that were designed for the human, and ever since have seen extensive effort to retrofit them for fast execution by computers.

I respect the work of the PyPy team, particularly given the raving reviews I've seen lately of how RPython is a boon to language designers who can use it to prototype their languages and get a decently-performing VM in not very much time: http://tratt.net/laurie/blog/entries/fast_enough_vms_in_fast...

But I can't help but think that languages like Python and Ruby will start to fall to languages like Swift, Julia, Go, etc. that were designed with performance in mind. I'm not saying this will happen soon, but these languages are showing that you can have your cake and eat it too.

I'm not sure how JavaScript and Lua fit into this analysis. They weren't specifically designed for performance, but have been very successfully optimized. Lua is a very simple language and Mike Pall is a genius, so LuaJIT has been very successful at speeding up Lua. JavaScript is a little more complicated, but has received an immense amount of resources into optimizing it, and has also been quite successful at getting fast.
how do you make an immutable cache that you're populating all the time? (same goes for the graph)
It's serious. Unfortunately I find it very difficult to use. The foot just isn't as flexible as the fingers. It's slow and cumbersome. Also, using it limits how much I can move around in/with my chair.

I tried to get used to it, but my foot pedal is just collecting dust under the desk now.
Jaron Lanier Says Transparency Is the Path to a Sustainable Techonomy
Thanks. I am biased, because I work as a consultant. I always bring my A-game to my clients, too. But if I ask for 250/hr, my client's procurement will just laugh and close the door. Well, there were some exceptions, when clients were really in need and I was the only person applicable to solve their situation. But that's rarely the case in longer assignments. Usually, those high rates are demanded by specialists, who are hired for 1-2 weeks of a critical product integration phase.

In my experience, there is no guarantee that an A-grade technician will perform well in any environment. There are so many (not to say endless) factors, which makes it very difficult to value the performance objectively. So unless you have a very good monitoring in place to monitor your client's satisfaction and be very transparent about it to all clients, I tend to claim that you profit from the "Chivas Regal Effect". And I doubt, that your track record of successful time & material engagements really exceeds those of other firms (e.g. Thoughtworks).

From another perspective, you do a great job. Because it is time for many companies to value their staff differently. There are so many IT departments which have not changed much since 20 years.
Lot of networks have only access to http/https services, in addition to this you get (for free) all of the authentication mechanisms supported by webservers (like kerberos, radius, ldap and so on ...)
Really too bad the harpoons failed. Why I wonder?

http://image.slidesharecdn.com/rosettamediabriefing16octbiel...
The pic you linked to was taken with a different camera (NAVCAM), the pictures in this article (OSIRIS) are much better, and clearly show the lander before and after touchdown along with marks where it first landed/bounced. What they don't show unfortunately is the final resting place, but that's a bit tricky because of comet rotation, comet shape (not a flat surface), and the parabolic trajectory of the lander.

What's the confusion about the time? Touchdown was at 15:34 UTC (NB UTC), I doubt anyone at ESA is confused about the time, though some of the commenters seem pretty confused on the ESA blog post this BBC article is based on:

http://blogs.esa.int/rosetta/2014/11/17/osiris-spots-philae-...
Maybe not for a personal site, but for an web application, definitely. I mean, just look at your own site. It was made "mobile first" and as a result, looks like a blown-up mobile site on desktop. Now imagine how horrid a fully-fledged web application would look if it followed similar design principles.
You are running

phantomjs phantomjs_fetcher.js

and using it as proxy? The setup instructions are a bit unclear on this.
What I said in the article was that most devs should have had time to do both, BUT if they really had to pick one, pick mobile. I'm not saying ignore desktop - I'm saying it's the #2 priority.
Sprinkl – The Next Generation Irrigation Controller
How maintainable is the Firefox codebase? (2013)
Dyslexia is not a mental illness asshole.
Uber brings Spotify streaming to your morning commute
The difference is that you can achieve similar performance to assembly by writing in those other languages, while you cannot achieve anything close to similar performance with Python.

It used to be the assumption that there was a direct tradeoff between performance and convenience/productivity of a programming language. I think newer languages are showing that this doesn't have to be true, at least not to nearly the same degree.