skysight-inc/HackerNews huggingface dataset:
I use long variable names all the time and it's never actually made the code harder to follow. You generally parse a whole word as a shape rather than one letter at a time anyway once you know the word, so effectively the only difference is a bit more horizontal space. If someone grew up using whole words as variables in math I doubt they'd find single characters easier to work with.

For programming, using characters not available on a standard QWERTY keyboard is bad international code shareability.
I can confirm that about an hour ago from this point that page displayed a 404 error.
Enimodas is discussing people's reaction to it, in entirely objective and measurable terms. His specific, empirically checkable claim: some people respond differently than topoligel.

The emotional reaction I was referring to is to enimodas ideas. Specifically, if some people are unable to handle certain ideas (such as the ones enimodas expressed), it's not the responsibility of the world to suppress those ideas.
I did some more reading on how the ear works and I think my comment on there being positive feedback is wrong. Looking at how the bits are laid out and wired up it looks more like it uses amplified negative feedback in the manner of an op amp. The diagram I looked at is in Purves et al, Neuroscience 5th edition. I'm now thinking the tinnitus may be from the input maxing out when the negative feedback breaks. From a practical point I've found carrying wax earplugs helps
my ears recover.
This is obfuscatory spin. That comment broke HN's most important rule. This is obvious—it's not like it was a borderline call.

The rule applies to everyone. Please follow it.
Yeah I've read the literature and used lock-free data structures extensively. I've got a chapter in my PhD thesis about data-flow concurrency structures which were implemented using lock-free constructs, and I work in Oracle Labs on JVM research.

You've suggested a definition of consistency which is something like "could possibly exist in zero or more than one place at the same time". Well that's useless! Anything could be consistent with that definition!

So really I think you agree with me that you cannot compose multiple operations on a lock-free data structure and get any degree of atomicity, consistency or isolation. But you just don't think that matters for most programs, so you weaken the definitions until they could be met by anything.

> Yes, if you are writing bank software, you want that transaction to ever only exist in exactly one place.

Right so this answers your question!

> Sigh. What's wrong with using lock-free data structures?

Because - as you say! - they don't meet all requirements!

Finally - I don't think we even have lock-free implementations of all data structures do we? So it's not even always an option.
Links to each of the mentioned (and available) add-ons below. Note that they each require a restart.

- BetterPrivacy https://addons.mozilla.org/en-US/firefox/addon/betterprivacy...

- Cookie Monster https://addons.mozilla.org/en-US/firefox/addon/cookie-monste...

- HTTPS Everywhere - https://www.eff.org/files/https-everywhere-latest.xpi

- DNSSEC/TLSA Validator - https://addons.mozilla.org/en-US/firefox/addon/dnssec-valida...

- RequestPolicy Continued ??? https://addons.mozilla.org/en-US/firefox/addon/requestpolicy...

- NoScript Suite - https://addons.mozilla.org/en-US/firefox/addon/noscript/

- µMatrix - couldn't find a Firefox version
That sounds like quite a story; you should consider writing it up somewhere other than an HN comment. That's a very serious issue, not least of which because GitHub uses usernames all over the place to identify people.
Open source C# audio library – perfectly for advanced realtime audio
If it's doing anything useful, then no. The definition of 'useful' will change over time, so what the system is doing will fall away from that unless it is changed to bring it in line with the new requirements. Cue maintenance.

The trick isn't eliminating maintenance, but in making maintenance as hassle-free as possible. The best way I've found to do this, the way I do it personally, is to build enough slack into the human system surrounding the automated system (in other words, the business you're working for) to adequately design, implement and iterate maintenance procedures. "Ship" the procedures by handing them off to an unskilled person so you can get feedback for iteration.
There's a famous Bush Sr debate moment when someone asks him how the economy has affected him personally.

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

It was considered a turning point in the debate, from what I understand.
Google Search Appliance was supposed to be "deploy and forget" (at least in its earliest version) but it still had a connection (over phone line, IIRC) so that Google support could reach it in case of need.

Such a design makes sense only if the work the system has to do is predictably static though. Even in the case of Google Search Appliance, the moment your company adds a document in a new format the device will require some kind of external intervention to keep working.
Actually, Plutonium deliverable on short notice is the base for U.S. currency; not gold stored in vault.

A government’s ability to back its currency is the basis of currency value; not hoarding metal bars.

Churchill considered his return to the gold standard the greatest mistake of his life.
https://en.wikipedia.org/wiki/Winston_Churchill
I'm amused that a top post when I joined was "How long did it take you to figure out that the up/down arrows next to the links are for voting?"

FYI this was 8.3 years ago, which was about 200 days in, but very close to the public launch I think.
While this article had barely any substance to it I still feel compelled to respond.

Node.js was never going to solve all of your problems. In the same way that people shouldn't use Rails for everything you should think about what you are building and the consider whether or not the language makes sense rather than trying to shoehorn it.

If your workload is CPU bound and a lot of data processing.. I probably wouldn't use Node as much as I love it. I'd use Go instead.

If I'm writing a quick API to expose some resources of course I'll write it in Node.

Think about the proper use case before just diving in.
Yes, he was. But you're not. You're labeling those that challenge him to verify he has that particular experience as either anti-intellectual and/or simply not welcome here.
packetslave made a specific very personal attack, you responded with a general less personal attack. He started it, but two wrongs don't make a right. It's hard to respond graciously to comments that undermine your credibility, try not to let people wind you up. Walk away. I struggle with not replying in kind to rudeness too, just yesterday I was searching for "how to respond to rude strangers".
Story with most votes for me was about terrible Google customer service in 2009. Some good discussion that's relevant today. https://news.ycombinator.com/item?id=790800
As a former freelance writer and watcher of the media, I've been watching media pundits talk about ethics in journalism for a long time.

I really wish this wasn't the case, but the fact of the matter is that "providing analysis" and "speaking to a pre-existing narrative" are slippery enough terms that you can drive a truck through them. It's much more workable as a media consumer just to assume bias and deal with it. This odd dance we've become stuck performing where the MSM pretends to not be human and operating from some imagined place of total objectivity is not sustainable.

I like the NYT -- given that, well, it's the NYT. Same goes for a lot of other media outlets. I think the problem here is the facade we build around the media, the folks themselves are talented and do a good job. It's the framework we stick them in that sucks.
So I haven't commented or submitted anything
The Pythagorean Theorem is wonderful and very multicultural, as it is plain that basic knowledge that the theorem applies to real-world measurement problems is much earlier in time than the era of Pythagoras, and interesting demonstrations of the theorem have arisen in several different parts of the world. And the Cut the Knot site, from which this link is kindly submitted, is a wonderful site about mathematics in general and should be known by all readers of Hacker News.

Cut the Knot has another good page, "The Pythagorean Theorem is Equivalent to the Parallel Postulate," pointing out that the conventional form of the Pythagorean Theorem is a theorem only of Euclidean geometry, and the theorem's statement has to be modified in non-Euclidean geometry. I make sure to tell all my students that, even though my students are studying mathematics at the "prealgebra" level and are of middle-elementary-school age (taking supplementary classes for advanced learners). Learning non-Euclidean geometry is harder if early math teachers don't mention that our usual school lessons in geometry assume Euclidean geometry with the parallel postulate is the only possible true description of the world. I like pointing my students to other resources about non-Euclidean geometry and the parallel postulate for possible optional further reading for them or for their parents.[2]

[1] http://www.cut-the-knot.org/triangle/pythpar/PTimpliesPP.sht...

[2] http://www.regentsprep.org/regents/math/geometry/gp13/Pythag...

https://en.wikipedia.org/wiki/Pythagorean_theorem#Non-Euclid...

https://www.physicsforums.com/threads/what-happens-to-the-py...
Despite the drastic page limit in the category I was submitting in, I made sure to include a paragraph about how GC enable sharing and how the only reasonable alternative when implementing a similar system in a non-GC language is a lot of gratuitous copying to solve ownership issues in http://frama-c.com/u3cat/download/CuoqICFP09.pdf

(The page limit was 4. Organizers only raised it to 6 after seeing submitted papers.)

I can also confirm the “bit of due diligence” part, and the fact that it's cheaper that the aggravation of not having memory management at all. In the example that I can contribute to the discussion, the due diligence amounted to two more short articles: http://cristal.inria.fr/~doligez/publications/cuoq-doligez-m... and http://blog.frama-c.com/public/unmarshal.pdf
My understanding is that current is defined as charge per unit time through a single point. The charge moving stays a charge. I don't get what you mean by it changing identity?
Rocket Launch Real-Time Telemetry Server
Mixed feelings. On the one hand, the people who complained most loudly about this article rewrite should probably examine their motivations. Because I doubt there would have been this level of scrutiny if not for an ugly undercurrent of anti-feminism.

On the other hand, the article deviated so far from the original just-the-facts version, and the "analysis" was so one-dimensional, that it felt like it veered into Fox-News-for-liberals territory. Which should not be worthy of a pre-eminent news publication.

Perhaps "analysis" at a serious news publication should simply not be written hastily just for the sake of mass click appeal.

At any rate, it doesn't seem like it would have been that hard to throw some opinion piece links or an analysis piece link in the suggested/related section.
Yes, all of this - I'm not at home at the moment, some things are worse, some better... but hoping not to come back and bore people to death, have not been posting stuff on fb about where I am as what is the point ?
What really weirds me out is why didn't they go for his full name instead of a shortened version? If it was the PR team, they could have a better time telling people to follow him on Twitter (edit: I mean Instagram) based on his full name wouldn't they? Weird.
Also see https://twitter.com/pdxaerospace for live commentary on the launch.
Part of the problem with the Times nowadays isn't just their "value add" strategy of embedding analysis in news articles, but rather how predictable their politics are every..single..time. Even for people with matching personal politics I think it is frustrating to see such a homogeneous, non diverse perspective. It seems forced and I feel like in their eagerness to abandon "commodity news" they are entering a sort of downward spiral in terms of reputation and quality.
I wasn't making any value judgment on web development's difficulty. Bootstrap versus material design isn't some top-notch innovation like you portray it. It's a bikeshed issue. Most people use Bootstrap as a formulaic placeholder, and material design is a Google trend. It isn't any more relevant to the web development community at large than Microsoft's Metro is.

NoSQL is ancient, and the value of NoSQL is in specialized data models and workloads. Modern SQL databases remain general supersets in terms of functionality, but the value of NoSQL is tuning features for data structured outside the relational model. It's by no means a generic tool, nor necessarily innovative, as you portray it.

AJAX everywhere has been going on for quite a while. It's not necessarily relevant for all web-based CRUD and no, it's not expected universally. The boring truth is that most web apps are still best suited to standard server-side pages with more dynamic content sinks for certain parts of the app (though there's been a concerted effort to redefine "web app" as SPA). HTTP is a dumb file server, at the end of the day. Rest is very flimsy client magic.

Finally, there's nothing special about Slack. It's successful. It's by no means interesting.
A Decade of VC Funding History: Trend Analysis 2005 to 2014
I used to be absolutely in love with my Amiga(s) back in the days but I'm a bit puzzled: what is the point of this?

Whenever nostalgia strikes, I fire up UAE (or whatever the best emulator is at the moment), run a few games and after a few hours, I'm done.

What is the business purpose behind this initiative?
In July 1995, a three-day heat wave caught Chicago unprepared, leaving 739 dead
My hair dryer has been working for 20 years without any maintenance. However I don't think that would be a good idea for anything connected to the internet. However, if it's a closed system, and it does the same thing constantly in a constant environment, I think it's possible.
A Gentle Introduction to Berkeley Packet Filters (2014)
Problem is that people who think they can build the next Uber are a dime a dozen and aren't even worth that. Keep in mind that Travis Kalanick and Garrett Camp (Uber cofounders) are both engineers.

It's good to think about the different skill sets though and decide which to focus on.
Wow this thing really looks exciting, love the concept. Any idea of what the progress is ?
Of course languages are different. Some are better for some things than others. Choosing a language without knowledge of its tradeoffs is not a vary good idea.

The issue the parent is comments is judging someone based on their use of a language without knowing if that person has any knowledge of the tradeoffs is doing them a disservice. Spewing that judgement on the internet is actively harmful.
And using a combination of their name and jersey number as a username is very common among athletes, it doesn't mean they couldn't get just the name.
Or one line of C and $500 of RAM (assuming we're going to spring for registered/ECC memory).
Counter-position:

I've built lots of wheels, and raced on them (off road -- Canada Cup, NORBA, World Cup) and I have built wheels loading them up w/ stress (standing on them) based on conversations w/ other people, trading stories, etc., but after reading Jobst Brandts "The Bicycle Wheel" I chalk up those practices more to "voodoo" than science. Mind that the spoke will twist when you're tightening the nipple. Tighten evenly. Tighten in small increments. Tighten tight. Then relieve the twist in the spokes.

The "pings" and noises you hear from a wheel are the twisted spokes snapping back into a position they really want to be in. They're twisted because the builder didn't relieve that twist as a finishing touch on the build.

I have a 26" Mavic 517 laced to a Paul Components WORD hub with Wheelsmith Competition 14/15g spokes that I raced from ~1995 - 2005, and I still have it. True as the day I built it, and not adjusted after the build.

Edit: add spoke specs.
You need to be more specific. In the face of what kind of disruptions will it continue? For example:

* do you need to keep supplying electricity?

* do you need to keep paying the bills so that someone else will supply electricity?

* will it continue working if there is a hardware failure? What kind of hardware failures can be tolerated? Do you need to intervene if the data gets migrated to a new system?

* will it continue working if there is a flaw (not just a bug) found in something? e.g. it uses TLS version X which turns out to have some flaw in Y years time

* what about it society changes in some way so that the load on it is quite different in the future?

* how long are you expecting to do zero maintenance? At some point the operating system you run on will be obsolete, and there will be no upstream fixes to critical security bugs - what will happen then?
This question should include a time frame. (just like when someone desires a "real time system", the deadline is key to answering the question "is it real time or not"

One way to set this time frame could be "life of the system" -- which might be say 2 years, or 5 years, or 50 years.

The more constrained your requirements and design are in terms of inputs and outputs and error states, the more you can validate and get closer to maintenance free (finite state machines are a nice pattern for this).

Many embedded systems (appliances, space program gear) achieve this, but I've noticed that as those are built more and more with off the shelf general purpose hardware and software they become more error prone and require maintenance (due to competition and time to market tradeoffs?)

edit: one final thing re error states : watchdog timers. These can be tremendously useful in reducing maintenance, and keeping functionality alive. When certain error states are entered, the watchdog timer triggers and the system can restart to a known good state and, hopefully, restore its core functionality until that particular error state is entered again.
TIL Github can terminate your account, for any reason, at any time ..

GitHub, in its sole discretion, has the right to
suspend or terminate your account and refuse any
and all current or future use of the Service, or
any other GitHub service, for any reason at any time.
Such termination of the Service will result in the
deactivation or deletion of your Account or your
access to your Account, and the forfeiture and
relinquishment of all Content in your Account.
GitHub reserves the right to refuse service to
anyone for any reason at any time.

https://help.github.com/articles/github-terms-of-service/#d-...
New Horizons is using a 1/6 rate Turbo code for forward error correction, meaning 5/6 of the data returned is redundant. Previous discussion: https://news.ycombinator.com/item?id=9890476
98% seems like a very generous user-base. Getting 20k$ from the 2% in your million users would maintain the download server for at least twenty years.

I assume it's much lower than 2%, which would fit my experience. From about a thousand users (a conservative estimate), I get around 10m$/user on average, and 0.3% of paying users.
The number of people recommending MacBooks makes me cringe a little. Sure the build quality is good, but I can't live with the keyboard's crippling lack of keys and the need to constantly use the mouse in OSX. Lenovo isn't fairing much better these days - I have a T440p, and the lack of the 'menu' key (between right-alt and right-ctrl) drives me nuts. The lack of Home/End/PgUp/PgDn/Delete on the Mac also drives me crazy.

For those of us who live on the keyboard and hate to touch the mouse (too slow and inefficient), these days are dark times..

Also: why aren't we seeing >16 GB of ram in laptops yet? I realise workstation laptops are at 32, and possibly 64 GB now, but why are some brands going backwards from 16GB down to 12 and even 8?

As for my recommendation? There isn't a single laptop on the market that I like, I'm sad to say. Lenovo dropped the ball, and dell's build quality isn't up to par. I'd look at an HP workstation, or maybe one of the Lenovo W541's, although the keyboard isn't much better than on a MacBook.

The Chromebook Pixel 2 (the top spec one) is such a tantalising glimpse of what could be - just shoehorn in more hard drive space, add a mini-DP port and an RJ-45, and most people would be good to go...if they fixed the keyboard.

Sorry for the rant! Just overly frustrated with the state of the market.. Won't someone just release a standard workstation laptop without following all the keyboard/mouse trends?!?
> Iniesta the footballer already has a very successful (11.2 million followers) account on Twitter

FTFY
How about C?

Or a language with meta characters in it, such as C++?

Obviously, these two languages are popular now so they are the first hit but you can bet in the early days of the web, it was a bit different.

I understand your point, though, whenever I create a project, I do my best to pick a unique name for that very reason, but overall, history tends to indicate that such decision will not prevent a good product from becoming popular.
Establishing SSH connection in Golang
Ask HN: Build app myself or outsource it?
HNers: I need some advice/counsel on a dilemma I keep flip-flopping on.

I have a full-time 9-6 job and run a venture/project on the side. The website for my project has been live for a while and has a small number of users. Given the space it is in (mass consumer), I'm finding that growth and traction is seeming hard to come by without an app. All my competitors have mobile apps.

I'm a proficient coder and have little doubt that if I consistently spend my evenings and weekends for the next 2-3 months, I might be able to pull off a MVP-level app.

I'm currently using the Ionic framework to develop the app.

Where I keep going back and forth on is whether I should just outsource it instead? I have a budget of about $15-20K but am finding it hard to find trusted, solid freelance devs/agencies with experience that'll be able to pull this off (within my budget). I don't want to hand this off to someone on Elance.

If I find a freelancer to do this for me, I could spend my time thinking about and working towards a growth strategy and making the product stronger.

Please help me see both sides, from your own experiences. DIY or outsource?

As an aside, if you happen to know a talented freelance dev/small shop in the US or overseas who can develop a middleweight iOS & Android app (6-8 weeks timeframe) for (max) $20K, I'd love an introduction. Email in my profile.
My toy lisp interpreter from a couple of years ago had a pretty neat (in all modesty) implementation of infix operations that permitted Clojure's threading macro[1] to be infix: http://akkartik.name/post/wart

[1] OP is really about the threading macro rather than unix pipes, since the latter also does concurrency and flow-control really well.
Dead galaxies in Coma Cluster may be packed with dark matter
"That bit of due diligence and up front design effort is still often going to be tons cheaper than doing the manual memory management"

That's just a pipe dream. I say this having spent inordinate amounts of time trying to tune myriad parameters in JVM GC for large heap systems without ultimate success. What it always comes down to is, how much extra physical RAM you're willing to burn to get some sort of predictable and acceptable pauses for GC. It's usually an unacceptable amount.