skysight-inc/HackerNews huggingface dataset:
No, unfortunately we have not.

With triple quotes you get a string with newlines and indentation in it. While you can not indent the following lines it looks ugly, and you can't do anything about newlines.

Take a look at how F# handles the issue: http://stackoverflow.com/a/14599828

And CoffeeScript: http://coffeescript.org/#strings (apparently implemented relatively recently (https://github.com/jashkenas/coffeescript/issues/3229) and borrowed from LiveScript.

There are other language which support multiline strings (Here docs) with indents stripped via means of syntax, like YAML (with |), Racket (which doesn't do dedenting, but being language it is it's very easy to add) and many shells (with <<-). Python doesn't have this feature, and parse-time string literals concatenation serves this purpose.

Of course, you can do something like:

foo = """bar
indented at first
and after newline
"""
textwrap.dedent(foo)

(or use list literals with str.join, or use a regex, or many, many other thing), but you can do this in all languages. Languages with syntactic sugar for this make writing slightly-longer-but-not-too-long strings much easier and cheaper (only done once during parsing, no need for imports, etc.), and Python makes up for not having explicit way of doing this with implicit parse-time string literals concatenation.
It also doesn't work well if you have HTML disabled.
And there are no barriers to it being licensed so that it could be included in Linux, other than Oracle not wanting to.
Play on HN more than you should? Get black.... hey, wait a minute!
> It's fairly ironic that you've spent so many words re-iterating the argument that "code should be self-documenting".

It would be ironic if it was being argued that natural languages are bad. But that is not what's being argued, and the author of that comments was not trying to convey an algorithm to you.

> That's the job of a programmer, and if the programmer isn't doing their job [...]

This is puritanism. Just because it's work, doesn't mean it's useful.
If you have to explain what x is for with a comment, maybe x is a bad name in the first place?
I wish there were an easy way for people to be exposed to more companies and companies to be able to survey a broader range of people without the commitments of a formal revue process and the recruitment scam.

I really think this informal "who you know" is how many jobs actually happen. Something like speed dating but for employment.
"Data scientist" is a mess of a job title. It seems to be as much of a reaction against the commoditization of software engineering (which leaves the smartest, and by correlation, usually the most mathematically literate, 10% of programmers ill-suited for the average software job) as it is a real distinction.

There are plenty of "data scientists" who use canned tools and play around with parameters because that's all "the business" thinks it needs.

You want to trim complexity for a reason that any data scientist worth his salt (and there are plenty of celebrity engineers in SF making $500k who aren't worth their salt and don't know this) should already know: bias-variance tradeoff (see also: underfitting and overfitting). If your model is too flexible/complex, it will begin absorbing noise. That leads to a model that performs extremely well on training data but fails miserably on unseen data. There are well-studied techniques for preventing this, but I'd guess that fewer than 20% of self-described or titled "data scientists" are familiar with them.
I have heard people say that serial job hoppers have commitment issues which is a little weird because why would anyone commit to a shitty job. I tackle the issue directly by addressing it honestly when people ask why I'm looking for a new job only after 6 months. I guess so far I've given good enough answers.
PBS Frontline Documentary – United States of Secrets
Not everyone wants to work with a little Eich.
Poll: What database does your company/you use?
Please upvote this if you would like to see more people take the poll.

This has been asked on occasion in the past but like all things, database preference/technology changes quickly. Let's see what people are using today.

If you think I've left out an important one, leave a comment and I will try and edit the post.
BigTable
The File System
Neural Network in VHDL
Ask Ars: Why are some programming languages faster than others?
That's the thing. You need to have an awful lot of money that you can throw at people if you want to be an asshole and continue to succeed. Otherwise what happens in any kind of free society is that the best people leave. That's why it's hilarious to watch people who are starting off behaving this way. In general though, those guys usually aren't the brightest.
I've had great success with OpenRC.
This is fantastic. I've been reading through bunches of patents lately doing research for a project and this actually made laugh out loud.
A Collection of Poetry About The Linux Kernel
Or just search !bang :)
Petar Maymounkov is doing some really interesting research in that direction: http://www.maymounkov.org/memex/abstract
Should you always pass the bare minimum data needed into a function?
Solving the Word Numbers problem with Monoids and Differentiation
DuckDuckHack is a major component of DuckDuckGo's future. It's great when developers, well versed in an answer space, come in and make a goodie because the value spreads across the user base. As DDH grows, it will be neat to think of as a standard library for future contributors to work with. For example a mortgage specific calculator leveraging the generic calculator.
Yes, exactly! I am tired with these clickbait titles on HN. Come up a better title, damn it, this isn't DailyMail.
A lot of paper and a lot of colored pencils. Start printing out network dumps of various game states and tracing out the fields in the packets.
The bug report would be along the lines of poor documentation, poor integration, poor testing, etc. Let's look at the man page for systemd-fsck@.service for a moment http://www.freedesktop.org/software/systemd/man/systemd-fsck... . So, what files does it look for in checking filesystems for checking. What values does it return? How can I change its behavior not to drop to emergency.target if certain filesystems don't fsck properly? The complaints of systemd being monolithic come from its utter lack of user serviceable parts; it's of little consolation that it's several dozen poorly documented black boxes that don't work in isolation instead of a single binary.
I feel like "data scientist" is a title that grew out of the Fundamental Theorem of Employment, which states that you're usually hired to do a job that either (1) the boss man can't do for himself, or (2) the boss doesn't want to do. Type 1 work gets you respect and autonomy. Type 2 work will have you commoditized.

Software companies are satisfied with the job they've done at commoditizing programming talent but, at least for now, having a half-decent grasp of any specialty (e.g. machine learning, information retrieval) requiring mathematical firepower puts one solidly into Type-1 employment, which is where one wants to be.

"Data scientist" seems to be a way of saying, "yes, I code but I also know math, so use me for Type-1 work only".
I'm sorry I honestly have no idea what the product is... I mean, are you trying to sell <form>?

I'll try to give feedback on what you do have on the page;

1) The colored circles (are they bubbles?) is it supposed to evoke thought bubbles? I don't quite get it. But my eyes just glossed over it, so perhaps not crucial to get the picture right. I recall a comment a few weeks back about always needing a picture, even if it's totally random.

2) The lead;

Stop gathering feedback from forums and enable every visitor of your web
site to leave feedback in a simple and user friendly way. Perfect for
landing pages and smaller projects.

I don't know if you need to lead with a negative "stop gathering feedback from forums", rather jump right into the positive aspects of your offering. "Enable every visitor..."

Gathering feedback on a landing page seems counter-intuitive. I think you would need to justify why I should be collecting feedback on a landing page. Feedback from paying customers, sure. Feedback from customers who are returning for the n-th time but still haven't purchased? Possibly... Feedback from people who are just learning about my product for the first time? I dunno...

3) The details;

What exactly is the product? "Simple integration", "Fully customizable", and "With the visitor in mind" actually don't say anything about what you are offering. The are either vague or low-level details, I think you need a more specific description of your product. In other words, what exactly does your product do, and why is it different / special / better?
Is this patented? Think about how much money you could make suing law firms actually using this...
You forgot to mention, all this from a Free-to-Play game.

Also, the TI4 games are free to watch for any and every one and Compendium is just a ticket with a lot of goodies and adds to the prize pool.
I use the default dark scheme for visual studio.
Comments are in a well visible green [0].

So much for "virtually every highlighting scheme".

[0] http://imgur.com/Nfw7Lyd
This reminds me of a saying...

"The early bird may get the worm, but the second mouse gets the cheese."
This is awesome - I think there's a huge intersection between Esports and the HN crowd - look at how many people on here love playing games like StarCraft, League, MineCraft, Dota2, etc. Also, Twitch is absolutely (forgive the cliche) killing it and they're a YC. Minefold (YC W12) was also a game server company but it looks like they're now defunct.

It's interesting to note that last year Valve was able to raise $1,274,380 over a three month period. I've been around Esports for a long time and I truly feel we're about to hit the golden age. Exciting stuff!
I think "Code Monkey" is only self-deprecating in our community, but not necessarily a bad thing. I interned for a web shop that called the developers "code monkeys" and designers "pixel junkies," and I didn't take it as an insult. Unless the supposition is like the million monkeys who wrote Shakespeare thing. But I don't mind the term, and use it self-descriptively all the time.
> There are plenty of "data scientists" who use canned tools and play around with parameters because that's all "the business" thinks it needs.

As with a software engineer, it is a role that is different in every place. Every place has its own definition of the role. This is not bad. It is a mere reflection of the market conditions where there are a lot of people are simultaneously bad at Linear Algebra, Probability and Statistics and dangerous enough to write production code fast. (Your standard C.S. grad SWE).
It's easy to process highlighting for the entire previous file plus the new file, and simply preserve it per line.
Arduino-Based Outdoor People Counter
Goodies on the goodies page represent all of the available instant answer types (async API calls, functions, DB full text, and DB keyword).
Actually, I asked about that, since my privacy settings is at the max on Facebook and maybe I used FourSquare once? I also never anchor Facebook posts to a location.

His response was basically that they are "trusted partner" (quotes because I can't remember the exact term, but that sounds right) of Facebook and so they get all the data somehow. Maybe they pay for it? I am not sure how it would work because it couldn't be anonymized for their service.

Anyway, he basically said that, when you combine the Facebook location based posts and FourSquare checkins (and probably location anchored Tweets too as well as others I am missing), there are so many millions of these happening everyday that some of those people are bound to be qualified for the position a company is hiring for.

...Which brings us back to problematic assumptions. Garbage in, garbage out.
I work for a company that pays a reward for patent submissions so I have done a fair number of them, and what has amazed me since I started doing them is that I prepare a submission that by most estimations if a readable, understandable explanation of the invention and I usually include some diagrams. The company evaluates it and they deem it patentable, they then pay special outside council, firms that specialize in such things, and they proceed to turn it into incomprehensible legaleeze babble. They also take my nice diagrams and turn them into those patent stick diagrams. It is too bad that my nice understandable synopsis could not be included. But that is the process, I think reversing the process seems almost impossible.
Why would you host a blog on a https url at all?
On top of that "configure" has nothing to do with Linux.
For comparison: Valve did the same thing last year, with the same starting point, and raised an extra $1.2M for the prize pool over the course of the event. This year, they've raised the prize pool by $1.7M in the first two days -- and the finals are still about two months off!

A major factor here is probably that Valve has explicitly gamified contribution by introducing a Compendium "level" controlling access to some bonus content as it increases, which can be increased either by participating in certain Compendium content or, most importantly, by paying extra. :)
I'm the creator of the project, and I'm happy to discuss it. Any thoughts about the project itself? The presentation? Anything you'd like to know that isn't clear?
In the early 2000s, the Zope community felt that Zope 2.x had grown long in the tooth, so they decided to create a new, modern code base that they called "Zope 3," initially released in 2004.

Zope 3 was not backward compatible with Zope 2.x, nor with the impressive ecosystem of Zope 2.x plugins, and for years there was confusion about the direction, momentum, and relative importance of those two parallel projects. Zope 3 never gained any significant traction, because in adopting a "component architecture" they decided to use XML to connect those individual components, and it felt like you spent more time writing XML than Python. IMO this was a strategic mistake.

In 2005 the Django framework was released. In 2006, Ruby on Rails was released. After a couple years of confusion about the Zope roadmap, developers now had multiple options. You couldn't sell management on new Zope 2 apps, Zope 3 wasn't ready for prime time, and Rails was a significantly(!) more productive environment than Zope 2. (Django presumably is, too, but I have no Django experience and so cannot say.)

In 2010, the Zope community renamed "Zope 3" to "bluebream" to clarify their messaging, but that was after six years of ambiguity. Developers moved to other tools and frameworks, and Zope's developer community shrank until it no longer had a critical mass of developer interest.
Raspberry Pi Microwave
> "Data scientist" seems to be a way of saying, "yes, I code but I also know math, so use me for Type-1 work only".

You make it sound like a bad thing? Despite the rah-rah I hear from programmers about how they are unique snowflakes, being only a programmer is like being a janitor. A prime way to get discarded at the age of 40. If I can make sure that I am valuable because I bring other things to the table (Math, Product vision, people skills), why on earth wouldn't I rebrand myself to better reflect that?
Arghh.

This simply isn't how the internet works.

Everyone pays for bandwidth, You all pay an ISP for x amount of bits per second, and y amount of transit. You pay more, for more. Unless you live in the US and you've been fucked by the incumbent monopoly.

If you're netflix, you pay a tier 1 carrier for bandwidth. as you get bigger you pay for an CDN. Bigger still, you make your own. (YMMV of course.)

to make it super cost effective, you negotiate your own peering agreement directly, as its cheaper than using cogent/level3 + akami and the like. (hence why google has so much dark fiber.)

The whole two tier internet business, has always been the case. Thats why there is both UDP and TCP. Thats why there is a priority header. Thats why there is QoS.

Yes people say that peering is free. They are simply wrong. To peer you need bandwith, which requires cables in the ground. Places like LONAP and LINX exist for mutual benefit. However at LINX private interchange traffic has been much larger than "public" interchange for years
Cinamatic – Hipstamatic for the short films
And that's why Windows enjoys such dominance in the server market!
I agree with your points, though am disappointed by this reality. I've been aware of daemontools for some years, but only recently read over the design (which I find quite brilliant) and began using an implementation (s6 at the monent [1]).

I know you weren't arguing against daemontools, but just wanted to share some thoughts:

> Service directories make sense, but they tend to be shell scripts all the way down

This is true, but what are you doing in your "run" script that is so complex? Also, any executable will suffice. s6 provides 'execline' [2] which simplifies some use cases (and complicates others...)

> Logging is quite different and non-centralized

Arguably a feature. I'm quite enjoying the "logging chain" where every service logs to stderr which either goes to its specific logger process or bubbles up to that of the parent process.

The typical usage of syslog is to collect all log messages in a centralized inbox and then (by some pattern matching; log messages must contain enough to be categorized) split them up again and write them to separate files. Skip all that with logger-per-service.

> Services need to be set not to fork and do their own daemon management.

Clearly a feature. There is no need for the redundancy of multiple, error-prone implementations of daemonization routines in every service. Also, language nitpick, it's not that a service can't fork. For example, daemontools can happily supervise a Unicorn master process that will fork off its own workers. The service must not background itself by severing ties with its parent (which involves forking of course).

But there are downsides and quirks as you say. Two examples:

If you really want something like Nginx or Unicorn to be able to restart without dropping http connections (e.g. fork+exec new master process, gracefully shutdown and kill old master process), then you will run into issues. It's possible to hackishly wrap this in a helper script. Daemontools would supervise the helper, which would in turn manage nginx via plain old racy PID files, just like init.d scripts.

I'm only familiar with daemontools and s6, but they assume TERM is the signal to use to stop a service, and don't provide configuration to send, say, QUIT which Unicorn interprets as "graceful shutdown". (Upstart also did not allow this until fairly recent versions.) It's one thing to get a service to not daemonize itself. It's another thing to expect upstream to modify its signal handling.

[1] http://skarnet.org/software/s6/
[2] http://skarnet.org/software/execline/
It seems a little strange that typing in a search term, and then the interrobang, gives you a simple text autocomplete drop-down, without the very useful logos and search engine descriptions you get if you type the interrobang first, without the search term.

Would be nice if, as you say, you could type in, for instance, 'lung scaffold biomedical !', and have a drop-down bang search appear, populated with the relevant scientific search engines, and then also include graphical logos, and descriptions. It would make the !bang options much more discoverable.
What's your views on Chomsky's defense of the Khmer Rouge, and his argument that the evidence for the Cambodian genocide was "third-rate propaganda"?
I have taken exactly the same stance which has the added benefit you can also drop the vulnerable RC4 cyphers.

https://wiki.mozilla.org/Security/Server_Side_TLS#RC4_weakne...
This does makes one wonder that if you need to make an app that has as little downtime as possible perhaps the best solution is to port as much as possible functionality client-side with client-side caching of data.

(theoretically, if I could cache every repo I visit using squid-proxy, even if github has an hour downtime I can still access the repo's I visited in the past, not perfect, but it's something!)
> Honestly, sysvinit and the existing userspace does all I need it to do. The extra benefits systemd offers I can do using existing tools. Need to reliably kill a service? Use the cgroups tools and put the service into its own cgroup, and then kill all processes in the cgroup later. Need tamper-evident logging? Use the rsyslog tools. Need dependency-based boot? insserv has got you covered. Need automatic device-node creation, and the ability to run programs based on device events? udev did this just fine before systemd.

And yet nothing integrated all those features well enough to get people to widely adopt them. systemd services make it trivial to run a process in its own cgroup, isolate it, log everything about it, activate services as needed, and manage and track services launched in response to devices. There's nothing stopping you from building your own Linux distribution that integrates all of those tools, and there are certainly enough systemd opponents to try. If they build something compelling, people might use it.

(Also, insserv doesn't come close to the parallel boot that systemd enables, via socket activation, bus activation, and similar. If B and C depend on A, insserv lets you start B and C in parallel, but systemd lets you start A, B, and C in parallel.)

> Systemd's components are tightly-coupled. How, pray tell, do I run logind without systemd as PID 1? How, pray tell, do I remove journald? Oh, that's right. I can't. By design. That makes it monolithic.

To run logind without systemd, you can wait for the cgmanager folks to provide an implementation of equivalent cgroup management functionality for logind to use. Until then, your complaint is much like the complaints about systemd not running on Linux: Linux has features other OSes don't, and systemd intentionally takes advantage of them, "by design". Does that make the combination of systemd and the Linux kernel "monolithic"?

This is "by design" in much the same way that a program using features from Python 2.7 that don't work in Python 2.6 does so "by design". And it's perfectly reasonable for a project to refuse patches for compatibility with Python 2.6 and say "upgrade to 2.7". Just like it's perfectly reasonable for some projects to say "run Linux" or "run systemd", because it has features that nothing else does.

> By contrast, X.org and Xfree86 (an example from the article) were largely interchangeable.

They were in the start, when X.org initially forked from the XFree86 codebase. But today, you cannot drop XFree86 underneath a modern desktop environment and expect it to work; it'll complain about the myriad X extensions introduced in X.org to make those desktop environments possible. And yet, nobody noticed, because nobody cares about XFree86 anymore.
The fact that you're mentioning launchd in the same breath as systemd and upstart suggests that you don't actually know a lot about the situation. launchd is a Mac OS X init equivalent. It has never, to the best of my knowledge, been ported to Linux at all.
Escape from Virtual Reality
Wow that's pretty crazy. I love that Valve is a juggernaut of gaming yet still a private company. Any rumors as to what Valve's financials look like these days? It has to be into the billions of revenue with Steam, etc. at this point.
Every function name in tinyssh/buf.c starts with an underscore...

To quote the standard:

"All identifiers that begin with an underscore are always reserved for use as identifiers with file scope in both the ordinary and tag name spaces.
...
If the program declares or defines an identifier in a
context in which it is reserved (other than as allowed by 7.1.4), or defines a reserved identifier as a macro name, the behavior is undefined."

-- ISO/IEC 9899:1999, Section 7.1.3 Reserved Identifiers