skysight-inc/HackerNews huggingface dataset:
I've been working on getting a dev environment set up with docker over the weekend, and I finally have something I'm happy with.

I don't have a nice blog post to show you, but the basic idea is:

- Use the CoreOS Vagrantfile (+ extra files like user_data and any service unit files)

- Share your local directory with the vagrant box with config.vm.synced_folder (just uncomment a line in the Vagrantfile)

- set the DOCKER_HOST and FLEETCTL_TUNNEL env variables so that the local tools work transparently with the vagrant box.

- Then you have the option of running a docker image with -v and sharing the vagrant directory with the docker container, or

- You can dive into CoreOS stuff and write a unit file for your service, and that will share the directory with -v

Now local files sync into the docker container, and if the server is configured to reload on file changes you're good to go.
No Skynet: Turing test 'success' isn't all it seems
I wonder if a very simple solution would be enough: with a one-line change, the logs could be created as named pipes instead of files. Then you could just write some upstart scripts/systemd units that do

cat /run/docker/mypipe >/dev/log

And you'd be good.

---

I'm not sure this is the right approach, though. In my opinion, docker shouldn't log at all—containers are unix processes, and Unix processes log to ephemeral stream-sink endpoints (think AWS SNS topics) called stdout and stderr. To collect and persist those logs, the Unix Way is to use shell redirection to "attach" those endpoints to subscribers.

Now, in Docker's daemonized run mode, these pipes are just hanging loose. But docker provides the "docker attach" command precisely so you can reattach them to something (or as many somethings) as you like. All you have to do if to get sensible logging if you're using e.g. Upstart is to create a service that runs "docker attach <mycontainer>": the logs will flow from the container's stdout/stderr to the service's stdout/stderr, and Upstart will catch them and handle them sensibly from there.

So, having done something like that, the important bit would actually be making sure docker doesn't do its own broken logging at all, except in the case of test containers that will never be attached to. Actually, this also cuts across the use (or lack thereof) of the --rm flag: it'd make sense for containers started with --rm to not log. (The generalization of the --rm semantics would seem to put such containers in the same category as e.g. EC2 instance-store instances.)
It seems like there is a high level of trust between micro-services, but it's not clear what is the basis of this trust. For example, is any service allowed full permissions on any other service? Is there authentication and authorization in the system?
This is actually very simple and straightforward to do using the ST monad[0]. See the paper Lazy Functional State Threads[1] for details.

[0] http://hackage.haskell.org/package/base-4.7.0.0/docs/Control...

[1] http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.144...
"The most important kind of code reuse, IMO, actually happens at a larger scale,"

There's a hidden instance of begging the question here, which is that the reason why "large-scale" code reuse is "more important" in the real world is that OO has largely been a failure for mid-scale code reuse. You can build enormous frameworks in OO that serve a need (at some cost in constraining your options, but one that can be worth paying), and it can do certain fairly small-scale reuse like 'a generic red-black tree' or other data structures, but it has not done well in the middle. Therefore, since OO has been the dominant paradigm for decades now, we do not see any middle-scale reuse in the "real world". However, it is difficult to disentangle whether that is a fundamental characteristic of "reuse" or whether it's a fundamental characteristic of OO. (I can argue in favor of both, and I don't mean "both are true", I mean I could argue in favor of either one.)
JQuery AJAX caching plugin
Does Too Much Career Experience Turn Off Silicon Valley?
Could be.

We build something similar using node.js and it's working quite well. Perhaps we can open source that someday...
My irrational preferences fall along the lines of Lisp, and I think Scheme has the right syntactic approach to mutation: Put a '!' on the end so that it's explicit, but don't make it syntactically a mess like Racket does where mutable lists have to be 'mcons-ed up step by step rather than made in one pass (not that there's anything wrong with writing a macro, it just means that there's an additional layer of misdirection when using mutation, and that's exactly the place where you don't want it.

Ordersky's Scala takes an approach similar to Racket in regard to type casting - purposely making the syntax a bit more cumbersome as a flag rather than...well flagging the action explicitly. That said, I like Scala's ML like features, and Ordersky opens Scala by Example [1] by illustrating the transition from imperative to functional style in a Scala implementation of quickSort.

Rust looks interesting. One of the big things though that I look for is an over-abundance of documentation and resources. I'm learning Scala because Ordersky teaches a course on Coursera and the decade of people writing about it in general and the fact that one could write about Scala and potentially make money doing it due to the size of the JVM market, means that the literature about the language isn't so much some necessary evil for people who like writing languages more than documenting them.

[1] http://www.scala-lang.org/docu/files/ScalaByExample.pdf
I read the article as having a strongly anti Chinese bias. So I think Shivetya's point was a fair one which is "Should this be a story on government mishandling of big projects" as the lead and move away from the Chinese bashing? Or is there a legitimate angle for the overall story about the fact the cheapest bid also happened to be a Chinese company.
> I'm pretty sure that it is possible to make a function in Haskell which, while it mutates variables, these variables are all local, so you are still able to offer up a purely functional interface to the world outside of that function.

Indeed, it's called the ST monad. The internals aren't that magical, behind the scenes GHC does some state passing like IO but nothing too fancy. The real trick is using -XRankNTypes for the runST function[1] to track "state threads" at the type-level.

example1 :: Int
example1 = runST $ do
x <- newSTRef 0

forM_ [1..1000] $ \j -> do
writeSTRef x j

readSTRef x

[1]: http://research.microsoft.com/en-us/um/people/simonpj/Papers...
Announcing Docker Hub and Official Repositories
It's here: Docker 1.0
Suppressing Tories
Three Months with BeeLine Reader
Old joke: my uncle Ted didn't know all the answers, but he knew one answer: Tin. Unfortunately the question was, What is the chief export of Bolivia?
That's hardly true. Erlang's event loops are based on a very similar kind of state encapsulation as Haskell's state monad. Really Erlang is littered with explicit monadic patterns but lacks a good system for abstracting over those patterns so you just call them "OTP" instead of a monad.
You have hit the nail on the head. The thing people want in the real world is improved workflow.

In the real world, everyone wants infrastructure to have the same sexy qualities: automated deployment (CD/CI), automated scaling, automated failover/high availability, automated service discovery (read: functional service topology dependency resolution), security, resource and capacity planning support, real time least-cost-overhead provider selection for third party infrastructure providers meeting some disparate set of performance requirements, etc. Unfortunately, it's not an easy problem area to deliver a one size fits all solution to.

Docker doesn't really have most of that stuff in scope yet, even vaguely. Actually, it seems to have a really weird scope: it wants to wrap different LXC implementations and other container-style unix environments (potentially supporting non-Linux platforms) but doesn't want to deal with managing the host systems themselves, having - kind of, for practical reasons (though not entirely!) - outsourced this to CoreOS (ie. some particularly specific configuration of a Linux host system).

Whether all of this recent Redhat/Google docker bandwagon jumping will amount to any real solution remains to be seen .. Google AFAIK effectively runs its services on fat clusters made of commodity hardware, organized in to segments ('cells'), running highly customised Linux distributions, and so does Redhat where HA is required. I'm pretty familiar with these configurations as I do this myself. So will we ever see meaningful support for other OSs? Other distros? Physical systems via PXE to support these clusters? Hypervisor guests managed with the same developer and operations workflow?

My wager is not soon, at least in a manner that everyone agrees on... Google will keep doing its thing (using its unlimited supply of internal, world-class nerds to deliver and manage services on their custom OS in a custom way because saving 1/2c a month per machine pays ten world class nerd salaries at their scale), Redhat will keep doing its thing (selling prebuilt systems at expensive prices that still comfortably undercut the likes of IBM, pretending they are manageable, but actually rejigging the whole infrastructure every system release leaving little in the way of realistic upgrade paths without expensive consulting) and you and I will be left wondering where that magical docker solution went that everyone was talking about in early 2014.
If you have an hour and this topic really interests you, I'd recommend David Foster Wallace's essay "Authority and American Usage" - http://wilson.med.harvard.edu/nb204/AuthorityAndAmericanUsag....

He covers (very fairly and entertainingly, IMO) the major divide between linguistic prescriptivists and descriptivists, and why both camps have a point.
The One Cost Engineers and Product Managers Don't Consider
Those black kites must tame easily. I think it's funny and awesome they have a healthy one sticking around for the free handouts -- though not really surprising. (I know several falconers who released their trained birds near their homes, and the birds have stuck around and come in for a free handout once in a while.)

The birds here look kinda ratty on the feather tips, but it doesn't look like parasite damage but rather urban dirt, like pigeons get. I'm glad these guys are doing this. Despite the way the place looks, they are doing it as right as they can be given their limited resources.
It ends up getting paid for by the middle class who aren't as able to hide their income and assets.
Netflix Says It Will Stop Shaming Verizon, Other ISPs
Not to be nit-picky but it's Atlassians SourceTree.
Thanks, somehow missed it all this time
I really, really enjoyed this article, which is something I don't say too often. I spent about an hour talking over this with my girlfriend last night. Her father is also a pilot, and we were discussing the difference in methodology between both of our professions (programmer and researcher, respectively), piloting, and surgery.

I'm mostly intrigued that someone who has no background in medicine was able to cut through some bureaucracy and effect major change. It's tragic that something like this had to happen in order for someone to do that, but it makes me wonder how many other tragedies have to happen before something like this changes.

This guy experienced a tragedy. Afterward, he insisted upon an investigation. When he received the results, he saw a very fixable flaw in the NHS, assembled experts on that issue, and managed to kickstart a revolution within the system to address the very fixable flaws that he and his experts had identified.

The Flight 173 case is another example of this. A tragedy happens, experts are assembled, and very fixable flaws are, well, fixed.

Contrast that with other tragedies that occur monthly (if not more often) in America. Mass shootings in Aurora, Santa Barbara, Fort Hood. Investigations occur, and maybe experts are assembled, but nothing changes. What's up with that?

Then we have the other side of the coin. Take 9/11, for example. Investigations were done, experts were assembled, and changes were made. Have they helped? Probably not as much as we'd like.

I'm not really sure what the takeaway is, but I'm very interested in seeing if we can really, truly prevent some of these tragedies from happening with a little foresight, a little communication, and a global recognition that things need to change for the greater good.
hm, lots of errors here too, dang.
Another option:
http://www.skimfeed.com

and there's one focusing only on marketing growth:
http://growthhackers.com/
> Let's say you want to do something simple like... find out if your team members are busy before sending a meeting.

That's a standard task for business calendering, not personal calendering. It also has little to do with the front-end software and much more to do with back-end support. Calender.app supports Free/Busy and business scheduling if you're on a server that supports it like Exchange.

> Or let's say I want to manage multiple calendars, one with read, one with write access...

You can use Calender.app just fine?

You should at least have up-to-date information if you're going to shit on others choices. It hasn't been "iCal" in 2-3 years, which is a good indicator that your information is very out of date.

> Seriously that's their solution here. "Oh I see you're running 3rd party software, you need to uninstall this."

Dell will tell you the same thing. OEMs support their initial configuration. If it KPs in that configuration, they will support it. Likewise, if your Dell bluescreens with the OEM image, they will support that too.

If it's caused by a 3rd party kernel extension in OS X or a bad driver in Windows, they won't support that. No OEM would.
Yep, I was wrong, http://blog.docker.com/2014/06/its-here-docker-1-0/

I was just a little skeptical since there wasn't an official blog post to go with it
Sure it is. I use one of jetBrains IDEs as my main tool and it also have some DB tools integrated. Before adding one more tool to my toolset I need to know how much it will cost and how big return it can give me.
> To the extent that you've addressed my point at all, you've helped to make it. I mean everything is safe until it isn't right?

No, this is not my point.

> And, this is the part where I respond by offering some evidence that you contest, thus again declaring all GMOs completely safe

Where I have declared all GMO's completely safe?

> is it your claim that everything that was declared safe after some "acceptable" period of observation has ultimately proven to be so?

No, this is not my claim

> is it your claim that everything that was declared safe after some "acceptable" period of observation has ultimately proven to be so? If not, then what could possibly have gone wrong in our conclusions?

No, my claim is that using your argument we can't use anything because in some distant future we can find that it is not safe.

I ask again, how many time we can wait until we can use some technology/medicine/etc

> Feel free to think beyond GMOs if that helps you to see more clearly.

I'm not thinking in GMO's
New state laws target patent trolls
Sudo’s Churn and Burn For Lead Generation
I have signed contracts like this to but normally they are explicit to that industry, which I think is kind of fair.
Doesn't e.g. systemd solve this problem? (PID files are just a bad idea.)
Democrats would mostly be the "lazy centrists" in the next paragraph.
This sounds like a good fit for LoggerFS[1] - if at all possible I'd try to avoid logs being local to a given host, and instead pipe them off to a central log processing host.

[1] http://developer.rackspace.com/blog/introducing-loggerfs.htm...
Ask HN: Personal hardware backup?
My laptop failed to wake up this morning, and it turns out it's a SSD failure. I take regular backups and do lots of server-side work, so nothing has been lost, but I'm now faced with a couple of days without my machine. This is slightly compounded by the fact that I live 60 miles from the nearest city.

Other than the obvious "have another computer on standby", what strategies do other HN-ers have for minimizing downtime when your personal hardware dies?
Looks great! Though I don't have high expectations for any desktop Github client to support the hundreds of features and workflows of Git, I mainly use it as a souped-up `git status`.

I would prefer Github to bend a little more money and effort toward mobile. The Github Android app is half-finished and doesn't have the one basic feature that everyone wants from it - notifications.

It would also be nice for the mobile version of the Github site to have basic feature parity with the desktop version. And it would be nice for Gist to have a mobile version, period, or at least unbroken viewport scaling.
You're ignoring the drastic differences in context between Swartz's actions and Apples. Context matters.
Compressing with something like gzip, xz, or zpaq gives you an upper bound on the complexity. This upper bound is pretty loose, but works surprisingly well in a surprising number of domains (not beating special-purpose algorithms usually, of course, but that something like gzip can be used to estimate eg phylogenetic trees at all is surprising).

See for example http://www.illc.uva.nl/Research/Publications/Dissertations/D... 'Statistical Inference Through Data Compression'.
Forgot to add the story about playing with windows 2.0 when you were a kid.
i started https://getsdone.io this is not a company per se, it's a web application, worked mostly during late nights and some weekends, though having a wife and kid meant my weekends weren't really that available for stints of coding.

there's no traction for the site as i haven't really had time to make the myriad fixes/features, but i am stopping most of the web development after getting feedback from various users that a mobile app would be ideal, mobile first, sort of.
Understood.

But then people can just shift the argument around to the word "powerful". Unlike electricity where "power" is composed of just 2 dimensions (voltage and current), "power" in a language has hundreds of dimensions.

If for one programmer, the "interesting" things in Go include ultra fast compile times, builtin concurrency primitives, network library, etc, then to him, "Go is more powerful than C++."

The disagreement over what dimensional components of "powerful" is worth comparing then feeds more debates (and implied judgments of language worthiness).
https://en.wikipedia.org/wiki/Compression_of_Genomic_Re-Sequ...
In this context (Github for Windows), it is BitBucket's SourceTree :)
https://www.youtube.com/watch?v=BveDrw9CwEg
This was heavily criticized back when it came out, and the criticisms struck me as valid and the paper not useful.
What do you call version 2.0 of Github for Windows?
FWIW, GitHub for Windows supports this type of usage as well. It's a great way to get new people a working Git environment on Windows so they can play around with the CLI.
In the OS, the buffers are per TCP connection. Only packets destined for the full buffer are dropped. TCP connections can't be opened by a remote attacker unless the browser is actively listening for them.

So effectively all that can happen is a website can DoS the connection to itself.

(Yes, an attacker can try to initiate many many TCP connections. This uses much fewer resources than an actual HTTP session would but can still be an effective DoS attack. This is known as a SYN flood.)
BrownCS Finds CS Student Work/Sleep Habits Possibly Dangerously Normal
I think there are a lot of reasons, IDEA is a universal app that can't necessarily fit the workflow of every language perfectly whereas something like PHPStorm, it's pretty obviously supporting the technologies and tooling associated with a PHP app. I used WebStorm and PHPStorm for a while and finally bit the bullet and purchased IDEA because I develop in Java, PHP, Perl, Python and Node.js regularly enough that I'd prefer one IDE to rule them all. IDEA seems to prefer Java first though, whereas when I created a new project in PHPStorm it gave me prompts that would be (as you'd expect) much more relevant for a PHP app. Also, the cost is a factor- PHPStorm or WebStorm are significantly cheaper than IDEA- if I was had a primary dev stack that fit in one of the 'smaller' IDEs they provide, I'd be thankful that I was able to buy something less than the Cadillac IDE offering. Sidenote: I find IDEA to be a fantastic IDE and replaced Komodo ($200+) and Eclipse (free) with one that is much easier to use.

Along those same lines, why would a DBA want to pop for everything that IDEA supports when their primary goal is writing SQL?
2048 in Erlang
One of our hardware engineers uses Windows, and has been checking in schematics and other documents into a git repo. He's tried switching to Linux, but there are tools that only work on Windows.

I was pretty stunned to see just how Mac centric all attempts at making git usable was these days. I use linux full time and just hadn't been paying attention.

Thankfully github had this git for windows tool! Well, and then we had to install a newer version of the .NET runtime so he could update to an even newer vesion of the .NET runtime just to he could learn a UI that was pretty foreign from the git tool that I was used to.

I'm pretty amazed that we never found a build of git that just worked on powershell or cmd.exe. I've been teaching him with the "gitshell" that github has, but all the bashisms, the weird prompts..

Browsers have made cross platform tooling a ghetto. I'm not sure whether this is good or bad, but it was certainly a recent relevation for me.
Pretty cool opportunity and effective advertising too. Went thetechbeach.com and then went to Facebook and saw thesurfoffice.com as a sponsored ad. Wonder how big an ad budget you have to have to have targeted advertising like that.
Thanks a lot, I'll give this a shot tonight. Not too familiar with CoreOS yet; I was hoping that I'd simply be able to mount a volume similar to how I might do it in Linux. I understand the problems with doing that though...
Show HN: HTML5 Admin Template 1.2
For ad related purposes, it makes it easy to see if you've visited competitors' websites (3-5 of them), therefore meaning that you're actively looking for business, instead of just bouncing on the page with no intent of buying anything.
Is the devicemapper storage driver ready to use in production?
I'm glad that Swift is more like Python and less like Ruby or Javascript. Too much meta/DSL capability means I won't be able to easily understand other people's libraries.
Thank you very much for showing me this. I'll definitely look into it.

Learning something new every day =)
The author of this blog post is a little confused about embedded structs. His examples of has-a and is-a are both has-a's, and the syntax change involved (leaving off a name for the embedded type) doesn't actually do anything.

type Person struct {
Name string
Address Address
}

is equivalent to

type Person struct {
Name string
Address
}

And in fact, these are equivalent too:

p.Address.Zip = "01313"

p.Zip = "01313"

http://play.golang.org/p/aKH3YxT5Mb

Go doesn't really support is-a for structs, as pointed out elsewhere in the comments here. Interface implementation is the only way to get the sort of "this type can be substituted for this other type" idea that is-a inheritance provides in other languages.
There are docker commands (docker logs) that are dependent on this format. The primary issue is that if you deal with logs yourself via attaching to the container and piping them somewhere, the logs are still duplicated to these json files. It's unexpected, a waste of space and insecure.

That being said, logrotate would sort of work with caveats since the json files are one entry per line last I checked.