skysight-inc/HackerNews huggingface dataset:
Are you serious? Easy deployment is the primary thing to LIKE about Java, much more so than the actual language.

In the Java world, your application dependencies are managed at the (gasp!) application level. You run Maven, Gradle, or whatever... and get a self-contained web archive (i.e. WAR file), with all of the application dependencies bundled. It's just a plain ZIP file, with a standard directory layout.

With a light app server such as Tomcat or Jetty, you literally just drop that file into a particular directory, and it's deployed! You just delete the file (and any contents that the app server unzipped), and it's undeployed!

If it's a console or GUI application rather than a web app, then you just create a JAR file in similar fashion. Maven has its "shade" plugin, and all of the other build systems have similar counterparts... which will bundle up all of the application's dependencies into the JAR file as well. You then ship that monolithic JAR file anywhere, just as you would a ".exe" file. Assuming that you declared a main class when you built the JAR, you can execute it on any system by typing "java -jar file_name.jar"... or by simply double-clicking it in a desktop environment.

Whenever I've dabbled with Python, Ruby, or NodeJS... I've been STUNNED to learn that they follow the ancient Perl convention, of managing application dependencies at the global interpreter level. If I want to write two applications with conflicting sets of dependencies, then I have use a tool such as "virtualenv" (or its Ruby equivalent), to trick my environment into thinking that it's running in a completely different interpreter. NodeJS is somewhat more sane, in that "npm" supports local and global dependencies... but you still have to ensure that you haven't installed a dependency in the wrong place, and that your target machine will have what you need in the correct place.

The current state of distribution and deployment for "dynamic" languages is so insane, that people are actually excited about the idea of shipping an ENTIRE CHROOT JAIL as a deployment unit (i.e. Docker). People are using that in production environments, even though the Docker devs themselves tell you that it's not ready for that yet, because in half-baked form it's still better than the traditional options.

Java has many drawbacks, but distribution and deployment are NOT among them. Most of the people who upvoted this probably just reject Java as old and stuffy, and have not actually done significant work with it. If they had, then there might be at least one comment on this thread pointing out that Packr is a clone of Launch4j (http://launch4j.sourceforge.net)... which has been around for almost a decade now.
In my experience, virtually all of Calc III is "visualizable" (even somewhat esoteric stuff like Lagrange multipliers[1]), because it's mostly about vectors (which have a natural geometric interpretation). My claim would be that to be really good at math, you need to be skilled at both visualization (and other intuitions) and abstract systems. They complement each other well.

[1] E.g. http://www.slimy.com/~steuard/teaching/tutorials/Lagrange.ht...
Their server stores all the keys

https://developer.scrambls.com/bin/view/Main/P4ComponentInte...
I remember when I used to rave on at my colleagues that it was amazing back in 2005.

How wrong I was.
Amazon Extends Its Shopping Cart To Twitter
This. So much this. Arithmetic is bookkeeping, it's turning an elegant abstract process into an ugly solved instance through rote mechanical labor.

In most of my college math classes, I largely 'got' it, but what killed me, and many other students, was the arithmetic. We could take multiple integrals, but dammit, 2*3 /= 5. Thank God for partial credit.
Looks legit. If you don't think so, your senses are obviously not properly expanded.
Ukraine Crisis Today: Democracy caught on camera
Since practically the beginning of human history, mankind has fantasized about instantanious long-distance communication -- telepathy, mind-stones, oracles. And now that we are on the precipice of realizing that fantasy for all -- young and old, rich and poor -- you want to regulate it? So that you can have a better conversation over a cup of coffee?

Sorry, I'm busy talking to someone more interesting on the other side of the planet. Deal with it.
Not really my topic either but I guess messaging via TOR or alike is the best solution.
I don't see the point of CocoaPods, but would love to be convinced.
As someone posting my resume, I actually found it very valuable -- at least for me. I had five different companies reach out to me, and all of them were relevant. Three of them sound very interesting and I am optimistic about those.

I don't think I would have connected with these companies outside of a thread like this. I don't think they have their jobs posted on any of the sites I use (except for one of the opportunities).

As far as concerns, I can see how this thread would have a lot of noise, though it seems most of the postings were of decent quality. But I could see it growing in size, and the noise may overcome the signal at some point.

As far a recurrence goes, I think this should be based on the feedback. I can see how it would be valuable, and it certainly has already been for me, though I hope (thanks to this thread) that I won't be needing it next occurrence if it were to happen, or even for a long time to come.
Yes. And this is a college project that uploads all keys to their backend.
David's Health Tech Newsletter: No. 6
I can't seem to find the article right now, but Google said their intent with Google Fiber was to prove it is possible. Further, to then force other companies to improve their service.

They seem to be on that second point and it seems to be working well.
Public transport movements visualized for more than 70 GTFS feeds
Ha, this problem is nowhere near as bad as it is in China, where your admissions are nearly (outside of connections) solely based on your college admission test results.

At least in the US, the most selective universities look at other aspects of your application.

That's not to say there aren't other problems in the States, such as negative discrimination / racial quotas.
Slush – A Better Web App Scaffolding Tool
Fast polymorphic collections in C++
Somewhat different product but all big supermarket chains in the UK offer home delivery - depending on what time you order and how busy a day is you can even get yourself a same-day delivery.

Tesco, Asda, Sainsbury, Morrison's (?), and there's even some online-only retailer that delivers in London and possibly other metropolitan areas.

Anyone have an idea why this concept is not offered by the big chains in other countries (at least those that I am aware of)?
Atlassian Stash provides self-hosted git repository management that provides code review, and is getting better with every release. It is based on the concept of pull requests also but provides workflow better suited to teams, including the ability to require successful builds and reviewer approvals. In addition it has awesome diff views and a plugin architecture for customising behaviour and integrating with other development tooling.

https://www.atlassian.com/software/stash

Disclosure: I work for Atlassian
Some observations:

- This uses an external service 'scrambls' (https://scrambls.com/) which seems to do per-message symmetric key management. Therefore, the owners of this service can read all your messages.

- The thing which seems to be sent along with the ciphertext is an 'XID' which is sent to scrambls and exchanged for the raw AES message encryption key. There doesn't seem to be any binding to the recipient in this step(?)

- The encryption of messages is AES-CBC with PKCS#5 padding. There is no message integrity, so therefore this provides no confidentiality under CCA2.

In conclusion, this is the sort of thing you should expect from a secure messaging app. (TextSecure excepted.)
Target CEO steps down
It mentions this ..

"SCiO is based on the age-old near-IR spectroscopy method."

http://en.wikipedia.org/wiki/Near-infrared_spectroscopy
All very good points. It is amazing how easy people will curse Java without understanding why it is still used so widely.

In fairness, a docker-like chroot jail helps you encapsulate the whole JVM and app server into an immutable unit, which is arguably more manageable than relying on Chef or Puppet or Ansible to keep its configuration stable and versions up to date.
There is a huge disconnect between intuitive mathematics and the formalized one taught at universities since the middle of the 20th century due to Bourbaki's group. For many people this emptied mathematics and made it inaccessible to a large portion of population, making them 2nd class citizens of the future, group which would be otherwise capable of mastering it with a proper pedagogical style.

IMO this is a pedagogical insanity, flooding young kids with formalisms that took centuries to emerge without any explanation about their background and enforcing form over content, which is what cuts many super talented people and forces them to focus at different fields.

There are many problems with contemporary math that are conveniently avoided (binary logic for example - most of the population doesn't believe it has any connection to thinking due to weirdness of material implication and teacher's insistence that this is the right way to think, never mentioning that its distant father Aristotle was so discontent with it that he immediately developed a first proto-modal logic), etc. If some constructionists and intuitionists weren't going against the scientific current, we wouldn't have had computers for a long time.
Horrible, isn't it? Baffling, quasi-random punctuation inserted to prevent random errors caused by poor design choices intended to make programmers' lives easier.
I kind of favor the idea that you should use Lisp syntax for a while. Learning parsers is a nice technique, but it's really a small detail in language design. Eliding it for a while can help you focus on the more interesting issues of semantics.
Watch The Disrupt Live Stream Right Here
I guess the link was supposed to be http://eugenis.org/learning/beginning-objective-c-programmin...
A Hotel Room On A Plane
My intro physics class was kind of like that. There was a departmental standard that all the profs were instructed to use, and it apparently just involved showing us equations and how to derive them (generally after we had already had to derive them on online coursework).

The tests were actually applying those equations, being able to pull apart a problem into what bits of information you had, what bits you needed, and being able to combine and substitute out formulas to get the missing bit you were asked for.

In hindsight, I can vaguely see how the instruction might have helped on the test (I'd have gotten used to substituting out and deriving new equations from the old), and I can see how I might have done better on the tests (write out what equations I remembered. Write out what data I was given. Write out what data I was missing. Start substituting things out until I found a way to calculate the thing they asked for), but at the time, the only thing that helped me pass was actual instruction and practice outside of class on solving problems.
Tektónica 2014
18-Year-Old Miami High School Student Arrested for Changing Grades
Orion – Open Source Platform For Cloud Based Development
The existing "employees choose which companies to respond to" approach is probably most in line with the realities of the tech labor market, and it gives companies a smaller pool of respondents to look at which have (nominally) read and been interested by their most recent job post. And for applicants, you get more leverage if you judge which positions are potentially relevant, then tailor a response for each company. The thread was fairly popular - but I don't think it really improves on the status quo, for either player.

But, I can see it helping for people who are less experienced or confident or whatever and likely to take job posts at face value instead of as a signal of the problems the company is trying to solve through hiring. It would be better to get past that obstacle, but pragmatically it may have its uses.
Some guy is really upset about Chrome's dppx  dpi warnings
So are you supposed to pronounce foo "f-oh-oh"?

Because I always pronounce it /fu:/
Order of Fields Matters on MongoDB Indexes
Bitcoin A Terrorist Threat?
This is awesome. I think a cool feature would be to add some speakers and hook it up to some music. Maybe add a little scroll for current artist/track. So many possibilities!
What are the cmov directories for?
This seems like a recipe for disaster.

When you're at a command prompt you should always know exactly what the command you're inputting is going to do. Since Betty necessarily obfuscates your command this seems like a good way for unintended consequences.

The obvious solution to that is make it so Betty never does anything that actually matters. So then the question is; why bother with Betty at all?
I see your point. But the idea is not really to compete with SO, but rather offer an option for users who wants an answer to their questions / issues within few hours (and be sure the answer will resolve the issue), instead of waiting and hopping for some answer on other Q&A sites.

Looking forward to hear more feedback.
Here is a somewhat related question on stack overflow.

https://stackoverflow.com/questions/1718465/optimal-number-o...

> Is there a benefit to running a parallelizable process on more threads than cores? In other words, will my process finish faster, slower, or in about the same amount of time if I run it using 4000 threads rather than 4 threads?

> If your threads don't do I/O, synchronization, etc., and there's nothing else running, 1 thread per core will get you the best performance. However that very likely not the case. Adding more threads usually helps, but after some point, they cause some performance degradation.

> Not long ago, I was doing performance testing on a 2 quad-core machine running an ASP.NET application on Mono under a pretty decent load. We played with the minimum and maximum number of threads and in the end we found out that for that particular application in that particular configuration the best throughput was somewhere between 36 and 40 threads. Anything outside those boundaries performed worse. Lesson learned? If I were you, I would test with different number of threads until you find the right number for your application.

> One thing for sure: 4k threads will take longer. That's a lot of context switches.
What is it about Clojure that Rubyists love? I am a Rubyist who is new to Clojure (I love it) and I cant explain it myself. Clojure was suggested to me by several other Rubyists. I find myself suggesting it to other Rubyists as well....
Improved Backups and Backup Tips
Absolutely, libre implies code.

Access to compilable code can happen in more ways than fully libre release though.

I think that is what the parent post to yours meant.
Volvo have stopped selling manual transmission ("stick") cars in North America. They have lost me as a customer.
If I have multiple VirtualHosts defined in Nginx for my two personal websites, should I define these ciphers in each file in sites-enabled or define them in the /etc/nginx/nginx.conf file?

Totally realise this is a Newbie question, but I'm finding it hard to get an authoritative answer from my bumbling Googling. I really want to get this right and I thought that the hive mind here on Hacker News would be able to give me an answer that I could trust.

Please downvote this if I've made a faux-hacker-pas, but be kind to the new guy! :-)
This is timely for me as I've just started a course in Abstract Algebra after taking a class on proofs. There doesn't seem to be a great way to get through this course without full understanding of the concepts since it is so proof laden.

The idea struck me yesterday that there's no real reason one couldn't teach this in elementary school or Jr. High and maybe that would be amazing for students? These kind of courses shape the way you reason.
Yeah, I noticed that, too. "Just be an expert at identifying successful startups early and get a job there."
I was curious about what the spread would be, so for one data point:

$ file -b /bin/* /usr/bin/* /usr/local/bin/* | cut -f1 -d, | sort | uniq -c | sort -rn | head -n 10
1028 ELF 64-bit LSB executable
388 POSIX shell script
265 Perl script
130 ELF 64-bit LSB shared object
126 Python script
46 Ruby script
38 Bourne-Again shell script
24 symbolic link to `mtools'
18 setuid ELF 64-bit LSB executable
16 setgid ELF 64-bit LSB executable

After the top 10, most were symbolic links. So, seems shell scripts are by far the most common, with perl and python scripts not too far behind, and ruby making a decent appearance.
Not every piece of hardware has to be replaced every 12-24 months. How often do you upgrade your digital thermometer? Your blood pressure monitor?
Fudge. Frickin HN won't render that code right, or edit it, or delete it. Its supposed to be

float r = 14/*p;

for pointer indirection of course.
FYI, the blog post suggests that bootstrap is currently developped at twitter, which is not the case anymore @see http://getbootstrap.com/about/
Read this:
http://en.wikipedia.org/wiki/Universal_Description_Discovery...

says Microsoft, IBM, et.al. abandoned their efforts of providing public service discovery infrastructure. Doing it the same for REST may just be repeating of old mistakes.
How is this bad science? I cannot argue about the cruelty part, as that is a completely subjective qualification (on which I don't agree at all), but if this ends providing results that improve our scientific knowledge and the lives of future generations, I don't believe it can be called bad science.
I agree with you for the most part. However, I don't think any of the companies that reached out to me ever post on the "Who is hiring" thread.

Maybe my situation was an edge case -- I'm a C# developer, and I think my post stayed within the top 5 most of the time. So others may not have had the same experience, which is why I wanted to gather more feedback. If many others had a similar experience, then I think the "Who is hiring" thread may not be enough, or may need some tweaking.
Hmm. I'm not sure I agree.

It seems that "solving algebra problems and doing two-column geometry proofs" is a necessary step on the road to "generating your own questions about whatever interests you and trying to answer them". That is, an understanding of the concepts and established mechanisms for dealing with abstract reasoning and patterns is required in order to have any hope of moving further in mathematics.

Contrary to the point made, we do teach students music in school by explaining and using the established tools we use to create music. We teach notation, rhythm, keys, harmonies… we then exploit that to compose, perform or understand music.

Mathematics has always seemed the same to me. I don't really use much of it day-to-day, but occasionally I'll come across a geometry problem or something when I'm building software; maybe I end up doodling triangles, and using basic trig and algebraic manipulation to understand more or solve my problem.

Much of our teaching processes focus on skills, rather than a more abstract notion of "education." There's been much said about why this is a bad thing; I'm rather ambivalent on it myself, seeing from casual observation how much benefit skill-focused education can offer to those who would otherwise simply learn nothing. Of course, this works better where self-motivated students are not stymied by too-strict adherence to curricula. IOW, perhaps we don't teach math, but we do teach the skills that are required to "experience" math at a later date.

So maybe I've convinced myself of the validity of the title, if not the individual arguments.
Beer and Startups: The Alcohol Culture of the Tech World
The RFC process seems to work quite well for defining and clearly documenting standards. But I simply cannot understand how this RFC adds any value. All it does is to define some words!

By way of comparison, RCF 2119 has been a very successful and useful RFC. A naive reader might think that it simply defines some words, providing definitions for "SHOULD", "MUST", "MAY", "REQUIRED", and "OPTIONAL". But that is not the case... it does not provide _definitions_ for these words. Instead, it provides a standard describing how they are to be used in writing standards documents. Whether we like it or not, is a fact of the English language that "The document should end in a newline." can mean that it is optional but desirable for a document to end in a newline, or it can mean that a document ending in anything else would be invalid. But the sentence "The document SHOULD end in a newline.", appearing in a standards document that references RFC 2119 is not ambiguous -- 2119 specifies a particular protocol for use of these words.

As far as I can tell, RFC 3092 has none of those redeeming qualities. It does not specify what a metasyntactic variable is, how to use one correctly, and which metasyntactic variable list to use... instead it just provides the definition and origins of "foo", "bar", and "foobar". A dictionary would be a better source for that, not an RFC.
I'll go out on a limb and say that everyone on HN loves Clojure! It seems to be the least cribbed language here. Its features are hard to beat - that and Rich Hickey's wonderful talks[0] make you all the more confident in Clojure as a language!

[0] - http://www.infoq.com/author/Rich-Hickey
> What has Google done to deserve you as a customer[?]

Introduced competition into a market that had none. That's worthy of a switch in my opinion.
You can force push to your remote branch, but I personally like to keep my branches local to my machine and simply send along .patch files that can be applied with git am.
>This also describes Java in 1997. I wouldn't call that an amazing language either.

You're joking right? I've used Java around 1998 and its standard library wasn't good, "java can't print" was quite true back then..
We, as customers, are being raped by the corporations.. No dinner, no movies, no candles, no Vaseline.
The sad thing is, many of the people here are part of the problem.
Yeah I thought the exact same thing. To me, this isn't particularly interesting (because it's a re-hash), but the author's lecture for HS students on graph theory, linked in the post, is.
> Also why are they running $200K campaign? It seems they already have significant staff and $200K would be peanuts as a goal.

A lot of people use Kickstarter as a marketing means rather than a fundraising means. At least one of their cofounders is a VC thus I expect they already have VC funds or at least very significant angel funds.
Wacko in the Morning 05/05 by The Wacko Network | Entertainment Podcasts
I know one of their employees, she's a very close friend. I know nothing of their technology and nothing of the field, but I'm sure it's not a scam.
Everyone needs MSI eventually. It's the only thing that works properly with SCCM / MOM and you WILL end up with some corporate deployment that requests an MSI.

As for WiX and MSI, it throws out bundles as well (.exe containing MSI bootstrapper) if you want to do anything complicated which means you're up shit creek anyway.
UI / UX Design Interviews – Aurélien Salomon
Most likely it would have been called "ObamaAir" by critics and would have forced a government shutdown before a flawed compromise would be implemented. :)

More seriously, a next generation system that they are looking to implement in the future will involve aircraft automatically "negotiating" routes and deviations between themselves and digitizing ATC communications, which would reduce the need for air traffic controllers. However, getting there is a long term project because there are so many things that can go wrong and need to be accounted for.
A software bug is not on the same level as being violently sexually assaulted. You are part of a much larger problem.