skysight-inc/HackerNews huggingface dataset:
> I've been starting into real analysis myself via Pugh's textbook[1] after not taking a serious math class since multivariable calculus

Do you have recommendations for other books? I stopped at multivariable calculus as well. For what it's worth those yellow Graduate Texts in Maths books feel like reading TaoCP or CLRS; I'm looking for more approachable textbooks. I feel like I'm not even up to the 1800s, math-wise, not even up to Gauss.
Assuming I understand the question correctly: Yes.

Nix uses a pure evaluation model so it enjoys the property: An artifact in the nix store is uniquely identified by the closure used to build the artifact. For any artifacts A, B if and only if the closure used to build the artifact are equal then the artifact file path will be equal.

This creates opportunities for sharing between builds that can be hard to achieve in other systems. One form of sharing "referencing a derivation in multiple apps" works as expected, just like other systems: Each app will reference the same artifact.

(a derivation is the closure to be evaluated to build an artifact in the nix store. Well, attribute set of closures.)

Suppose a derivation is assigned to the variable "commonData" and two derivations "appX" and "appY" reference this closure. "commonData" will be built once and both app derivations will receive a path to the same file in the nix store.

The other form of sharing comes from the equality comparison being based on the closure and not the name used to reference the closure.

Ehh.. I'm butchering the explanation... I think there is a succinct PL term that covers this.

Suppose we have a derivation:

let x = mkDerviation { name = "foo"; builder = aBuilder; src = /share/src/foo; }

which is referenced by another derivation

let y = mkDerviation { name = "bar"; builder = aBuilder; src = /share/src/bar; inherit x; }

"y" will force the evaluation of the "x" derivation's closure. The source directories, since they are not in the nix store, will be copied to the nix store first. (By an implicit conversion between local files and nix store paths)

So far so good, but what happens if there is another derivation like so?

let z = mkDerviation { name = "zab"; builder = aBuilder; src = /share/src/zab; somethingLikeX = mkDerviation { name = "foo"; builder = aBuilder; src = /share/src/foo; }; }

"somethingLikeX"'s equation is equal to "x" but not the same reference.

What will happen if z is evaluated after y? (assuming aBuilder is the same)
First, the derivation "somethingLikeX" will be evaluated. Ah ha! That closure is equal to the closure for "x" above! Which has already been evaluated. So that evaluation result will be shared. Even though "z" does not directly reference "x".

This can result in more sharing than the developer explicitly requested: Equal closures are shared.
I thought your analogy was spot on. In React, the view is reduced down to a functional projection of the model - rather than being a complicated set of state interaction patterns (eg. mvc,mvvm). The React framework then handles the real DOM update - in the same way that a Monadic IO computation is not executed directly - but instead is passed to the Haskell IO runtime to be executed.
Interesting, I feel like I've seen much more literature about RESTful microservices than message oriented approaches. I've done it both ways and I'm of the opinion that RESTful services are more complicated for a couple reasons:

* All RESTful services must be up and running for application to be fully up and running
* application must have all knowledge of RESTful services it calls

With messaging (and PubSub), services don't need to be running at all times and you can add as many services you'd like without the application needing to know. Applications just says "hey, something happened" and services go to work.

I agree with you, in either case, it is important to code defensively and be aware of possible request version mismatches. Deployment coordination is probably awash between the 2 approaches. I think testing is more of a challenge with message oriented too, as most integration testing tools are geared towards HTTP interactions.
Your current pricing model is fine. If someone needs GitLab, they'll pay for it. If they don't pay for it, they don't need it. $30-60/year is cheap, even for a hobbyist project.
To build more complex applications or systems, you need to have some notions of larger scale software engineering, which would cover modularization, components, interfaces, and indeed, frameworks. Also, you need to master how to build abstractions at the different levels (there are different ways to build abstractions).

So I would advise:

- study sicp (https://mitpress.mit.edu/sicp/full-text/book/book.html),

- study OOP and OOD (UML, design patterns; some OOD books cover modularization and component design),

- study some software architecture material,

- and to put it in practice, take some important application (something like Firefox), and study it, and contribute to some bug
corrections or improvement.
KubeCon
Ask HN: How do you stay in shape?
People who sit at a desk 8-10 hours during the weekdays and many hours on the weekends working on side projects - how do you stay in shape?
> If her complaining about the lack of women in tech was a reason why women don't choose tech, THAT would be ironic.

Not that would be stupid.

> Her point stands regardless

You can be ironic and correct at the same time you know!
Piketty: Germany Has Never Repaid Its Debts. It Has No Right to Lecture Greece
I'm lost as to why Grunt is a problem. I tried to put all of my build scripts in the package.json but moving to Grunt has been incredibly useful.
> I find most people who have gripes with JS prototypes are the ones who are used to classical inheritance.

Counterpoint: Scheme/Lisp/FP fans also don't tend to like it. Myself included.
I would think Elasticache and RDS would be the least of your worries since they're just fully managed versions of readily available software. You can always host your own Redis and SQL database. Something like DynamoDB would be way more complicated.
I took it as a positive meaning.. The point of digging (suffering as a dev from all these new shiny things) is to reach a purity/elegance when writing code not only to just create/finish the project.

Another way of seeing it is when we fix bugs. Instead of fixing one thing and finishing it, we like to touch and try to fix all the things (mostly when we own the code).. Essentially digging your own grave.. sometimes.. :)
I come from work wind up couple of hours then, 9 - 9:30 PM go to gym until bed time then hit the bed 3-4 days a week.
Just go to the ones that interest you. meetup.com is a great place to find hack nights, meet friends, and find startups. When I first moved here I went to Ruby meetups, hack nights, dev talks. I quickly realized that everyone here was way smarter than I was and it was awesome. So much to learn.
Look at this image: http://freebeacon.com/wp-content/uploads/2014/03/Photo-compa...

F-35 on the left, Chinese J-20 on the right. We don't have to copy Chinese designs, they already copied ours.
Indeed.

Having said that, I suspect in light of recent Snowden releases - it seems a bunch of German and Brazilian commercial businesses who probably didn't expect they had to consider the NSA as a plausible attacker are now having exactly those discussions.

I suspect _any_ prudent CSO of any company who's commercial competitors include politically connected US companies is now wondering whether they also need to consider that risk.
Mark+Cuban+just+put+up+100k+for+Broussard
So, you only sleep 3-4 days a week? ;-)
>The new I.R.S. guidance will be retroactive, applying to all transactions as far back as Jan. 1, 2011.

Regardless of the particulars of any taxation expectations, there's something about retroactive policy changes that seems to defy the spirit of law to me.
Haha, I just posted a nearly identical reply to another commenct. We actually just selected SimpleDB over DynamoDB for a new project specifically because it supports JPA annotations instead of a custom SDK. We know we're going to have to transition to a private datacenter in the near future so we have to avoid lock-in. SimpleDB beat out RDS just on price.
That's really funny, I'm always lamenting that I can't find tutorials as nice as the golang tour for other languages.
These frameworks are not actually created by back-end programmers, clientside code has become as complex and specialized (sometimes more) than the server in the past decade.

But there is still room for good designers who code; plenty of research, user testing and prototyping to be done before getting down the tech rabbit hole. A good team is multi-disciplinary and not necessarily composed of 'unicorns' only.
One was killed by Apple.
How does one get to anything besides Warcraft?
My favorite teacher taught visual basic. I have barely used visual basic ever since. But what she hammered into our heads was flow charting, psuedocode and organization.

I organize the features I want long term, I organize the technologies I want to use, I organize my file structure, I organize how I'm going to reach each goal, I flow chart out how to solve smaller goals.

I'm not a teacher and I don't think I have a silver bullet. But here is what I would suggest

1) Write the program, but don't use any language. Use a language you've made up yourself (It sounds stupid I know)

- Does it have a UI? - Make it.

-Does the UI have squares? Where, what color

-Does it animate?

- Does it require information - Figure out where from

-From the File system?

-From a server?

-From another peer?

-Will information be pushed live or only retreived when requested?

- Does it react to user input? - What kind?

-Voice recognition?

-Clicking on the UI?

-Waiting to long?

2) Choose a language and figure out how to implement each one of these things

-Look it up on a Search engine

-I found the dumber my questions are, the better my search results are

-Read documentation

-Complain about documentation

-Complain about the library being unintuitive

-Promise yourself you'll never write something so terrible

3) Work until your tired, satisfied, bored, angry, had your fill or finished

This is the kind of work flow I get paid to do.

After reading the other comment, heres some more experiences. Your work will turn into spagetti code with plenty of errors and most likely unmaintainable. Making Abstract Classes and Using Object Oriented techniques will make your life much more easy. But I'm assuming you don't want to just keep hello world'ing and just build.
Artillery (https://www.artillery.com/jobs) - Palo Alto, CA / ONSITE

Artillery is looking for software engineers to help build the next great multiplayer real-time strategy game. We're taking a genre that millions of people already know and love and we're removing frustration, expanding accessibility, and adding fun while keeping the game competitive.

We've got a great game design team including Sean "Day[9]" Plott and other former semi-pros, an engineering team from Google and elsewhere, and an art team that's worked at places such as LucasArts, Double Fine, EA, Trion and Ubisoft.

We're leveraging technologies including OpenGL/DirectX, AWS, Linux, C/C++, JavaScript, Node.js/io.js and are keenly aware of all things HTML5, WebGL, and hardware-accelerated graphics.
> To my mind, the NSA should be working to make the security technologies used by American individuals, American companies, and the American government as strong and as free of vulnerabilities as possible.

Didn't NSA develop SELinux?

Edit: Heh, lets all avoid the fact that NSA created something insanely useful for the entire world. Nobody likes to think about these things. Hating is so much easier.
At the end of the day, you'll still be tied to the DOM, tied to poorly specified and poorly implemented HTML specifications (e.g, ContentEditable), tied to browser incompatibilities, and tied to CSS.

So the problem isn't just the lack of a viable JavaScript alternative. The problem is building on top of a weak, fractured foundation that was designed for an entirely different application than we now want.
If WebAssembly doesn't get proper support for tail call optimization, then IMO it's not the way forward. Right now it's listed as a future feature[1] so color me skeptical.

[1] https://github.com/WebAssembly/design/blob/master/FutureFeat...
hahah, no I go to gym 3-4 days a week. I come from gym like 11:30 - 12:00 then go to bed. :)
Ask HN: How can I learn what I need to learn?
I have things I want to build but I'm hampered by my super-basic programming ability.

I'm a tech-oriented person, I work IT support and build computers often, but I've just never been able to get the hang of learning how to code (well).

However I really want to learn so I can build my ideas. The major problem I'm having now is that I read about so many different languages, frameworks, structures, etc. that I really can't figure out what I should be using, or what I should learn. I really couldn't tell you the difference between different types of databases, but I know that I need to use one.

I'm guessing for a web/mobile based app/service I'm going to need JavaScript, but what "kind"? React, Angular, Node, or none of the above?

Is there anywhere I can look to to learn what I should be learning so I can do what I want to do?

EDIT: so far I've used Codeacademy a bit, but it's hard to stay focused and disciplined using that I find. I've also started a few courses on Udemy but it's the same thing.

My programming experience so far is using MIT App Inventor to make a Pokedex app (I think it's pretty good though) and a little bit of VB back in highschool. I do know a tiny bit of HTML/CSS and super beginner basics of JavaScript.
Please please please :D

Use this chance and port Firefox to Qt:

There are a lot pro`s, who speak for that, front in the row the huge community, the portability, the performance, and the fact that many devs rewrite there existing GUI to Qt, like Musesore, Frescobaldi, Wireshark, Subsurface, VLC, Gcompris, Mkvtoolnix, Dropbox, Megaglest`s Map editor, OpenShot, ufw-frontends, Dolphin-Emu and even two DEs: LXDE and Unity.

Please do that and i am Firefox user for my lifetime. :)
Canary Release Techniques – Final Article on CD Strategies
Building a PCR Thermal Cycler for less than $150
> 1. why did you get out of the file host business or why were you glad to?

Handling abuse complaints, wrangling bandwidth spikes, etc. ended up taking way more time than I wanted to give to it. This was before a lot of the modern easily-scalable hosting services were around, so it's not like I could just automagically spin up new instances.

So basically, I ran out of time in my day, and since I already had a good day job I figured "fuck it" and sold out.

I maaaaaybe could've gone full time with it, but it would have been really hard and I would have been competing against some already well-established players. I didn't have much presence outside a particular community, and growing it into a general-purpose thing would've probably killed the "one of us" karma that let me get popular in the first place... so... yeah, not a good plan.

> 2. how did you get out of it? sold, fizzled, etc..

Sold. The party that bought it promptly ran it into the ground in a rather impressively stupid series of decisions, and it was gone within a year. Oh well. Not my problem. I got a decent payout, which -- being younger and stupid -- I promptly blew. So basically in the end all I got was a year or two of really fun living. :)

I'm actually OK with that. It didn't start as more than just a way to serve a specific community's needs, it blew up in popularity and as a result I got some cool experience and some spending money out of it. Seems like a successful project in retrospect.
I finally started doing push-ups again after getting the Perfect Push-up (yeah, the infomercial thing). It makes a huge difference with sore wrists/hands from RSI.
Is Mars Humid Enough to Support Life?
I wasn't responding to the parent poster directly, but rather addressing some comments I've heard in meatspace. Sorry I didn't make that clear!
"Problem: asm.js is basically unwritable by humans."

I have no idea where this is coming from, but it's simply untrue. See [1] for a ton of examples of it being perfectly human read/writable.

All I can come up with is that people are looking at code compiled to asm.js, which is of course going to have all semantic meaning stripped from it, no different than code compiled to javascript.

[1] http://asmjs.org/spec/latest/
> This is why figuring out an elegant, concise, and powerful set of mathematical models which apply to multiple domains, and then devoting effort to simplifying, organizing, and explaining those ideas in an accessible way is so important.

This reminds me of this Von Neumann quote about the importance of mathematics having an 'empirical source':

—

I think that it is a relatively good approximation to truth—which is much too complicated to allow anything but approximations—that mathematical ideas originate in empirics, although the genealogy is sometimes long and obscure. But, once they are so conceived, the subject begins to live a peculiar life of its own and is better compared to a creative one, governed by almost entirely aesthetical motivations, than to anything else and, in particular, to an empirical science. There is, however, a further point which, I believe, needs stressing. As a mathematical discipline travels far from its empirical source, or still more, if it is a second and third generation only indirectly inspired by ideas coming from "reality" it is beset with very grave dangers. It becomes more and more purely aestheticizing, more and more purely I'art pour I'art. This need not be bad, if the field is surrounded by correlated subjects, which still have closer empirical connections, or if the discipline is under the influence of men with an exceptionally well-developed taste. But there is a grave danger that the subject will develop along the line of least resistance, that the stream, so far from its source, will separate into a multitude of insignificant branches, and that the discipline will become a disorganized mass of details and complexities. In other words, at a great distance from its empirical source, or after much "abstract" inbreeding, a mathematical subject is in danger of degeneration. At the inception the style is usually classical; when it shows signs of becoming baroque, then the danger signal is up. It would be easy to give examples, to trace specific evolutions into the baroque and the very high baroque, but this, again, would be too technical.

In any event, whenever this stage is reached, the only remedy seems to me to be the rejuvenating return to the source: the re-injection of more or less directly empirical ideas. I am convinced that this was a necessary condition to conserve the freshness and the vitality of the subject and that this will remain equally true in the future.
I Posted App Developer News Today from Sawyer Glacier (Juneau, AK)
GPUs are basically as big as possible, and still can't really render at 4K. Now if I want to have a ray-traced Game Engine, fuggetaboutit.
I wonder is there can be a small planet at the gravitational centre of this system, of if it's be ripped apart by the stars on each side.
tosseraccount has an excellent point. Overfitting is a huge danger. In the end only trading the live market for some time will tell you whether you have a profitable strategy.
I think the two key elements that are often missing when people use the term casually are anhedonia and persistence. The wikipedia article has details about the accepted clinical definition: https://en.wikipedia.org/wiki/Major_depressive_disorder
does it bother anyone else that none of the photos are just random stock photos and not actual from FB offices
Yep. They cover this in intro CS classes at CMU to this day.
OASIS has got you covered: https://en.m.wikipedia.org/wiki/WS-Atomic_Transaction

Though it probably needs some JSON and more use of HTTP-specific features in order to be acceptable today.
You're right, sorry. I hadn't watched the second video.
kong looks pretty cool!

any plans to add pluggable backend ie not use cassandra? i've no experience managing cassandra and would rather not worry about it.
The interpretation is left open to the reader. It could be a negative and cynical nod to the idea that we're doomed, and digging our way straight to hell, or possibly a coy wink at an absurd paradox of conflicting goals among participants.
This is kind of a silly article. There's a huge amount of dust spam in the blockchain. This particular tx looks to me like somebody paying a tiny bit to clean up some of the easy-to-clean txs. It's not some gigantic mystery.

The linked core dev chat even says something along the lines of "appreciated, but not the most important thing to do right this second".

That single transaction cleared out lots and lots of spam, but there's lots more to go, apparently: a comment on the dev logs notes that there's more than 200k more dust spam txs in those addresses.

As a side note, Blockchain.info isn't super easy to deal with for txs this large; I wouldn't trust all the data on the page to be accurate.
The figure I've seen quoted in the context of embedded systems is 1 bit flip a month.
Software Deployment with SaltStack
Then why does Lockheed have hundreds of people involved with writing and testing avionics software for this aircraft? Why does Northrop Grumman have hundreds of engineers working on avionics hardware? Why does Lockheed Martin have an entire B737 that it heavily customized to test all of this hardware and software? https://en.wikipedia.org/wiki/Lockheed_Martin_CATBird
What's problematic about this is clearance data usually involves investigators asking questions of references of the applicant: "Do you know anything that could be used to blackmail the applicant into revealing confidential information?" If that sort of info was saved (even for those rejected clearance because they DID find something) and stolen in this hack, that could be rough going for a lot of folks.

https://www.clearancejobs.com/security_clearance_faq.pdf

"What will I be asked during a security clearance interview?
During a ESI, the investigator will cover every item on your clearance application and have you confirm the
accuracy and completeness of the information. You will be asked about a few matters that are not on your
application, such as the handling of protected information, susceptibility to blackmail, and sexual misconduct.
You will be asked to provide details regarding any potential security/suitability issues.
During a SPIN, the investigator will only cover the security/suitability issue(s) that triggered the SPIN. The
purpose of the SPIN is to afford the applicant the opportunity to refute or to confirm and provide details
regarding the issue(s)."

More:

http://www.navytimes.com/story/military/2015/06/17/sf-86-sec...

"They got everyone's SF-86," one Pentagon official familiar with the investigation told Military Times.

"The SF-86, a 127-page document, asks government employees to disclose information about family members, friends and past employment as well as details on alcohol and drug use, mental illness, credit ratings, bankruptcies, arrest records and court actions."

..

http://news.clearancejobs.com/2015/06/13/sf-86-stolen-opm-ha...

"The entirety of at least some SF-85 and SF-86 background investigations held on OPM servers were breached, meaning sensitive data including relatives, spouses, and sensitive information on everything from mental health counseling to sexual behavior is now in the hands of the Chinese government."

And if you're really bored:

https://www.opm.gov/Forms/pdf_fill/sf86.pdf
Wait, actually?

[little odd for an author/former editor to join HN and respond to a relatively low profile comment]