skysight-inc/HackerNews huggingface dataset:
Great post. This is one of my biggest pet peeves with Ruby and languages like it; they encourage developers to "show off" by using the most esoteric features they can find (even better if these features use weird symbols).

Compared to a language like Python that has few neuroses, the same developer writes much less readable code.

The post may have been better if the author included a Python sample that does the same thing:

long_string = 'ajix mxozl xoap'
new_string = []
for word in long_string.split(' '):
new_string.append("{}{}".format(word[0].upper(), word[1:]))
new_string = ''.join(new_string)

Admittedly there are a few annoying symbols in here, mostly due to the non-intuitive operation of the join function and the well-meaning but less-than-ideal string formatting syntax (which could've been avoided if we used conventional strong concatenation, and which PEP 0498 attempts to improve). Also admittedly, coders who want to show how smart they are would try to use a list comprehension to do this, which is slightly less readable and imo shouldn't be used over this format without a good reason. But it's still much easier to parse than the Ruby version because everything is explicitly spelled out in the loop, and you generally shouldn't have to consult the language docs to look up 4 different rarely-seen operators.

Remember, debugging is twice as hard as authoring, so if you write the most clever code possible, you are by definition not intelligent enough to debug it. ;)

I understand that people can't be expected to stick to that on their own, so they need languages that promote function, uniformity, and ease of use over showmanship.

The simplicity of the code is one of the main things I look for in interviews. If you could've done something with the conventional, simple language construct that doesn't require someone to go back and refer to the docs, even if it takes more lines, but instead you used the super-arcane construct to prove how well you know the language or to "get it all on one line", I'm going to look on that pretty dubiously. The last thing I want to deal with on my projects is the residue of someone's ego impacting our ability to read their code and get things done quickly and easily.

P.S., in Python, there are a couple of shortcut functions for capitalizing each word in a sentence: str.title() and str.capwords().
Well, it's Express. Five years ago, when most development happened on a desktop, I'd agree. These days most developers have laptops. I guess it's time for them to revisit their Express config.
As a data point, "dnf" is the successor to yum. Started using it recently with Fedora 23... and it's pretty decent.

(It may not have been earlier on, I really don't know. ;>)

Something nifty about the new dnf is several of the older yum commands (eg builddep, yum-downloader) are now integrated directly so don't need extra utils installed. Seems like refinement is still happening.

If only my fingers didn't keep typing "dns" instead of "dnf" all the time, it would be great. :D
Jare.io, 0.2 released
It's amazing how many HN members haven't left the 1990s.
Ask HN: What should I do in Silicon Valley?
It may feel like a dumb question to some, but it's real.

It's going to be my first time visiting San Francisco and Silicon Valley, and I'm completely overwhelmed.

I want to visit startups and co-working spaces, but there are so many options that I'm just stuck.

Could anyone point me to the right direction with this?
I froze when I saw 1, and ended up going the same way you did. That one feels cheap. :P
Didn't know the original source of this, assumed it was an aphorism. Thanks to a comment above for pointing out that it came from Brian Kernighan.
I don't mind the implementation of this code, but 99% likely, it's in a method called `capitalize_sentence` or similar. If that is strewn through the middle of your code, it's probably breaking single-responsibility-principle.
1) I don't think they mean "scale your projects elegantly" in a "distribute your project to millions of customers" sense, but rather in a "add lots of libraries and not have it be a hassle" sense.

2) It makes perfect sense to let GitHub handle the performance hit until issues arise. Premature optimization is the devil, right? But once there start to be issues, it's definitely unfair to turn around and say "well you offer the service for free, so you should fix it"
According to this older HN posted article the way to slow down HFT strategies is get rid of the subpenny rule, such as pricing securities in increments of $0.0001

https://www.chrisstucchio.com/blog/2012/hft_whats_broken.htm...
So you think wage slaves have it bad now? Just imagine what "low income" will mean in future. Credits for rejuvenation plus wage low enough so that your expected life earnings are just enough to pay for next life extension... Indentured servitude can be eternal problem now.
I Interviewed Borja Burgos about Docker Cloud (aka Tutum)
Can confirm. I'm stuck using TFVC on project and it has to be by far the worst.

I can see how in some peoples' use cases it may be decent, but I don't understand why it would be anybodies first choice...or second...
Wow, I just wrote a lengthy reply but I completely missed this. That only adds adds to Ikura's argument though.
> it sets a nice precedent for governments to ban any party whose opinions they don't like.

If so, this precedent has existed for many decades in Germany, which has had this law in place and banned two other parties for the same reason over that time.

It hasn't led to the slipperly slope you fear, in Germany or elsewhere. I think people understand that Nazis in Germany are a special circumstance.
Or just:

setInterval(function() {game.check(is_prime(game.current_n) === 'prime')}, 0);
IPsec has always been tremendously hard to set up and use. The use of TLS seems like a sensible modern choice.

However, I've never been clear on when someone would use iSCSI other than between nodes in the same cabinet. You can't share storage at the block layer, so the two systems are necessarily tied together exclusively. For WAN use some sort of S3-like blob store would always seem like a better choice?
Competition: From Fog Nets to Neural Nets
The State of Digital Identity in 2016
4 Questions to Ask When Determining the Right Video API for You
Nook (Barnes and Nobles) will shut down in the UK
Another tip: get rid of those stupid Dyson hand dryers. They're unsanitary and don't work.
The estimates may be off, but the raw data it reports (context switches, wakeups etc.) is accurate.
No, I mean 2010-2013 when agency pricing made shopping across ebookstores a waste of time.
One of the more practical applications for Apple Watch
In that sense, you can see what the HFT firms are doing (providing liquidity at the microsecond level) as bringing the market more in-line with reality.

Another way to look at it is that the less the market resembles reality (through regulations, such as larger defined processing intervals) the more it can be taken advantage of. Rules often provide sharp edges where there was previously a continuous curve, and sharp edges are where you can game the system.
Fermi, Pasta, Ulam and a mysterious lady (2008)
It's in a wrapper to avoid being flagged as a repost: https://news.ycombinator.com/item?id=11238360
...or a summary highlighting key points of interest along with a link to the article.

It's not blog-spam in the same vein of "Adele doesn't approve of campaigns using her music" which gets clicks but fails to have any information that points out as long as her material is part of a collection society and the venue pays then she doesn't have any say in the matter.
Where and when you can view tomorrow's solar eclipse
Well, you don't really get a choice. I'm just describing how the word is used, not suggesting an alternate meaning for it.
>"Slavery in granite quarries is a family affair enforced by a tricky scheme based on debt. When a poor family comes looking for work, the quarry bosses are ready to help with an “advance” on wages to help the family settle in. The rice and beans they eat, the scrap stones they use to build a hut on the side of the quarry, the hammers and crowbars they need to do their work, all of it is provided by the boss and added to the family’s debt. Just when the family feels they may have finally found some security, they are being locked into hereditary slavery. This debt bondage is illegal, but illiterate workers don’t know this, and the bosses are keen to play on their sense of obligation, not alert them to the scam that’s sucking them under."

This is very much not slavery. It's terrible, it's fraud, and it's arguably some form of servitude, but it's not slavery. Calling it slavery is an insult to people who are owned and chained.

Edit: much, much later at the very end of the article there is a more in depth accounting of what's happening. It seems to be mostly fraud tied with corruption, but there are accounts of straight servitude and some of the men say they were not able to leave. If this testimony is accurate, i'd say it's slavery.
Building/fire codes are a big factor. When you have enclosed spaces with doors that shut tightly then a variety of regulations come into play, whereas with a loosely-fitting partition with a gap underneath they do not. If push came to shove you could kick most partitions and they would have enough flex to pop the door open, or you could crawl out on the floor.

Apart from that - the ability to see if the stall is occupied without tugging on the door and perhaps causing an awkward encounter, making it more difficult to smoke or shoot up stealthily, and just simple cost/ease of installation.
Didn't know it was a repost, I missed that one. Not sure I'm really too keen on the headline used on that, seems needlessly combative.
Discontinuing Rarely Used Firefox Features
Surely not one allocation per key, that could be up to like 10 allocations per second.
If only that were why CLAs actually exist.

colby@ruta-corsica:~/src/antiholism$ cat ./_drafts/clas.markdown
List of open source software projects which used to have CLAs but no longer do:

- Neovim ([Keyes])
- Node.js ([Cantrill], [Fontaine])
- Yeoman ([Monge])

List of open source projects that have never used a CLA:

- Linux
- Mozilla
- Swift

[Cantrill]: https://www.joyent.com/blog/broadening-node-js-contributions
[Fontaine]: https://nodejs.org/en/blog/uncategorized/notes-from-the-road/
[Keyes]: https://github.com/neovim/neovim/issues/3036
[Monge]: https://github.com/yeoman/yeoman/commit/5661a34df899126f0372d2c70c48f80b2a03a28f

All told, CLAs are actually a terrible way to achieve the things they set out to do, except to grant the org additional rights that the existing project license doesn't handle. They're all ritual and guarantee nothing. (It doesn't help that the ritual is friction-inducing and helps turn away contributors, as I said before.)

Here's how most CLAs work, including how it works at Microsoft: The org bugs an anonymous contributor about signing the CLA after contributor submits his or her first change, and if sufficiently cajoled, said anonymous contributor sends in the signed CLA and is never bothered again. If the intent is to protect your org by ensuring you don't accept changes that the contributor doesn't have authorization to submit, then the CLA process outlined here is so ineffective against accidental violations that it's not even worth using. And that is to say nothing of deliberate violations.

Here are some questions to ask:

If I get my employer to sign off on a CLA today, who's checking four years from now to make sure I haven't changed jobs and the whole situation is still kosher?

If I wanted to submit changes to a project without getting permission from my employer, how does the CLA stop me from doing that, given that all of them allow an unemployed/underemployed contributor to say that he or she is the only one who owns rights to the code?

If I can't be trusted not to copy code from another existing project distributed under a conflicting license, how does the CLA stop me from doing exactly that and just lying about it?

If I wanted to sign the CLA with a false identity and submit code using that, how does the CLA stop me?

If the CLA is meant to be an assertion that the org is authorized to accept my changes, how is that at all different from the same assertion I make when I publish my fork or my patches under the same license the original project is using?

> They are the legal protection and audit trail showing that the person really did intend to license their IP

If you want to prove that the contributor really meant to allow you to distribute their changes, then point to the bug where the contributor submitted those changes.
It’s nice to see that they finally added x86 servers.
Original at The Daily Mail: http://www.dailymail.co.uk/news/article-3479288/Facebook-wor...
You should start a startup, launch, get funding . . . and become a legend.

Don't think for a second that I am joking— I'm dead serious.
LE is okay but the 90 day limit puts me off. It's so much easier to do a self-signed for 10 years. The problem with self-signed certs isn't intrinsic to them, it's a problem with browsers scaremongering for the lowest common denominator.

For my mail server which only I use, my websites which only technical people visit, etc, there's no reason to deal with the hassle of LE.
I'm in Gen Y. My biggest fear is that an ecological disaster will kill half of the humans alive and society will regress to feudalism.

Which I would actually consider worse than a nuclear wasteland in some significant ways.
What's the material difference between being forced to work to pay off an unpayable debt and being forced to work because of a legal fiction of ownership of another human being?

There isn't one. This article is about slavery as a real, physical condition, not a legal condition.
As I said, until it hits some kind of edge case. Again, I'm not trying very hard here, but this oneliner doesn't give the expected output if your sentence has a string like "æsir".

irb> @sentence = "\u00e6sir are gods"
=> "æsir are gods"

irb> @sentence = @sentence.split(' ').map!{|x| x = x[0..0].upcase << x[1..-1]}.join(' ')
=> "æsir Are Gods"

(Expected output being "Æsir Are Gods")

If you want to understand why this is failing, the code I gave above will make it way simpler. Of course, viewpoints differ – you might claim that troubleshooting it is only a job for "professionals".
Or even the Java community, where you have MavenCentral, JCenter, etc.
Got 21

Funny fact, the number 100, in any base (>2 obviously) is not prime (updated)

In base 10, the number can only be prime if it ends in 1, 3, 7, 9 (where 10-1 = 9 and 10 - 3 = 7) - condition necessary but not sufficient of course

If all digits sum to a multiple of 3 it is divisible by 3, of course (because 10^X mod 3 is 1 for any integer X)

For 7 you want 3x the 2nd digit (21 - 2x3 + 1 = 7, divisible by 7) and 2x the 3rd digit (so 119 - 2x1 + 3x1 + 9 = 14)
I remember seeing this new much improved UI for bug tracking on OSS, and thinking, "Thank goodness they're no longer using Bugzilla". And then using it a bit, and thinking, "I've got to get that bug tracker into the org I'm working for." Yep, it was Jira. It was a great strategy they used!
One common solution to this problem is "close your eyes and pretend it doesn't happen".

It's very effective.
Healthydiet1
Man hacks Tesla firmware, finds new model, has car remotely downgraded
I just keep typing "yum", since it's an alias of dnf (albeit with an annoying nag message) and since I work on CentOS servers a lot and am automatically used to typing "yum".
Performance Tuning Apache Storm at Keen IO
Rackspace is also known to sponsor significant resources for larger projects whom ask nicely. GlusterFS is one I used to be involved with doing this, and there are definitely others.

If CocoaPods reach out to Rackspace and/or other hosting providers, there's a decent chance they'll be able to pull together a good solution. :)

The downside though, is they'll need to figure out some way to keep it monitored/maintained. :/
I find this to be more than a little disingenuous. While it is true that millennials are poorer, the reasoning isn't so cut-and-dried.

I fully place the blame on the attitude of entitlement. There is the expectation that everything will be handed to anyone who just follows the pre-set path of college-->office job-->retirement, without the acknowledgement of all the behind-the-scenes effort that it takes.

College is more expensive, but it's not impossible. Some non-college careers are now more profitable because of this also. No matter what some people say, just showing up is not going to cut it. You need to do your job well and advocate for yourself to get raises/promotions/opportunities.

This is not to say that it's easy to get ahead. But making the "right" choices and having a little temporary discomfort or making the "wrong" choices and committing to a life of debt is pretty standard throughout history. We just have a much larger group of people with access to mass marketing tools than before, so we get to hear about it more often.
Robbers tracked casino patron to his home by putting GPS on his car
I eat high fat, medium protein, low carb, and my sugar, cholesterol, and triglyceride levels have gone from bad to normal. I also exercise regularly. Your mileage may vary.
As far as the depression, it's usually a last resort treatment for people who literally can't get out of bed. But, you do make a point.
I actually think this is quite do-able and has been for a while. Although deep learning has revolutionized object recognition, face detection has been working reasonably well for some time, e.g. your cell phone camera or Google street view face blurring.
I'd consider internet access a vital service at this point, given the sheer number of entry-level jobs that now only take applications online.
Thankfully, none of Homebrew's binaries are stored on GitHub.

Most of the changes committed to Homebrew are formulae-based; of the ~5600 contributors in Homebrew's lifetime only ~430 have contributed to the core code.
I don't know what "hacker" means in this context.

In general most programming requires middle school levels of maths if that. A lot of maths knowledge higher than that is similar to programming, but learning the maths itself doesn't really make your code better in and of itself.

That being said there are specific jobs that require much much higher levels of maths in particular statistics, physics, and similar. But the vast majority of programming jobs are just business-information which requires near to none.

I don't use any non-trivial maths day to day and haven't since the start of my career. But I don't work in the science/economics/games development fields, I work in one of the many "boring" programming jobs. We are the silent majority.
I host many small sites on a $10/month shared server with a typical LAMP stack host. Unfortunately, SSH access is limited so I keep running into issues getting Let's Encrypt running. Has anyone else run into any issues? Not looking for step-by-step help, just wondering if I'm alone.

I have seen paid software promising to solve this [0], but I'd rather not pay to get a free certificate.

[0] https://letsencrypt-for-cpanel.com/
Absolutely. Browser warnings actually make it sound like unencrypted connections are preferable.
Don't you need shared access my multiple servers to the same storage for some active/passive clustering techniques?
Wikipedia is also written in English, and made for human consumption. English is infinitely more scalable than any programming language, and the brain is far more capable of understanding than a computer. So comparing the two is unfair to say the least.

Additionally simply adding 'encapsulation and abstraction' does not equal scale. Live programming for instance requires context and re-running of code on every edit (and we could be talking millions of lines of code that need to execute), re-reading of data files, re-running of prior user input and so on. There's a reason it is only implemented for small systems (read, useless practically).
This is not quite right. You can pack up to 100 hostnames into ONE cert. That might be useful if you are trying to avoid SNI issues on a single shared IP address.

However, you are limited to five subdomain registrations or renewals per seven day window. Since certs are only good for 90 days, you are effectively limited to 60 or so, and that only if you do some crazy timing acrobatics, carefully spread the registrations out over the full 90 days and never make a mistake.

So I would say, at this point, LE is not an effective replacement for a wildcard cert for many people.

Scroll down to "Rate Limits":
https://community.letsencrypt.org/t/quick-start-guide/1631
Should we infer from your behavior that such a timeframe is fairly normal for cocopod? If I ran an "npm i" (or "pip install", etc.) that didn't respond for a minute, I would suspect a problem and kill it. How can any development process that takes longer than that be practical?
Natural Language Processing on Hip Hop Music
Interesting how after a few games, I just became terrible at this. I started out getting 13-16 right before screwing up, but after a while, I was messing up after two on numbers like 21 and 63. I think this game broke me.
Its not working for me. type a search term and nothing happens
How is that different than today? The big guys also have access to information that others in the market don't.
Innovation is not cyclical
Author here: I woke up this morning and I'm pretty surprised! Finally some feedback over a year later.

I will compile a list of more people will want to see (seeing a lot of Atom and editors with piece table (vis uses piece tables)).

Thank you for the positive feedback. My blog before had a total of 30,000 views over 2-3 years, and now just overnight has double that - makes me pretty happy and want to put more effort into write ups! :)
🆒🆓🆕🆗🆙️
Given the Baidu work, I think we can safely say that Hinton et al's forecasts 4 years ago were on the money. Deep approaches are now clearly dominant and have yielded fantastic performance.
When to Define Company Values
This is why I love R. This works great and the code is super clean.

NBA Notes: I love the fact that the players are sorted by first name and that made no difference. This is the easiest to follow professional sport in the world.

Carmelo Anthony: He started shooting from the right 3pt corner really well. Now 10 years later he is hot from the left corner and not that right polar opposite. Seems like the sides he shot from changed in a pattern. I bet you the scouts were like Anthony can't shoot from the right make him shoot from there and he would practice that side.
Y Combinator: بووكمركلت
Sometimes I wonder how much, if anything, has really changed since this fellow ruled the day:

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

Other than that machinery for exploitation has been geographically dispersed and greatly optimized, such that these days, our slaves don't drop like flies quite so often, but instead are kept around in a state of minimal sustenance -- so that their skills can be most efficiently extracted without all the, you know, rotting corpses, piles of severed limbs & ensuing bad PR.
You can leave. You can get up and walk away and deal with the law, and possibly go to jail. In this case, it'll 'free' them because they are being defrauded according to the author. A slave cannot leave. A slave will not be jailed, a slave will be returned to their master and forced to work again.

It's fucked up, but it's not slavery.
The mystery over the  sign
https://en.wikipedia.org/wiki/Slavery#Bonded_labor