skysight-inc/HackerNews huggingface dataset:
A media browser for leveraging (browsing, and surfing) multi-terrabyte home media servers:

Problem: I've got 2TB of videos, music, and images on my hard drives, and I've found my available tools to be too low-leverage on managing this anymore.

Context: about 2 years ago, I've stopped the directory structure madness, and embraced search as first-order link for media files. As a byproduct of this, I notice I don't have a clear mental structure of what videos/music is downloaded to my computer anymore, and to where (good riddance!). Neither do I want it to; instead, I'd like to have a "youtube for local hard drive":

Basically, I'm looking for a local Media Browser application for windows: specifically, an app which allows:

* thumbnailed preview of all videos & images

* Automagically categorized based on all online, or within-file available meta-information

* With a built-in search

To perform the following operations:

* Preview a thumbnail on video files (similar to file explorer)

* Display categorized lists of all media available locally on my drives

* Channelsurf, similar to youtube: be able to start from one movie file, and have "similar" videos around it

* Double-clicking on the file to start mplayer

* typing the first 2-4 letters of the movie/image to instantly bring up the list of media with that part in it

While specifically not doing:

* Anything that requires me to touch any of the files in any way shape or form whatsoever

* Any upsale (I'm looking at you, windows 8 "personal videos"), advertising, or introduce any friction during interaction

* Bringing up any browsers: solution must be windows-native, and responsive (<20ms results)

Specific things I've tried so far:

* The closest thing I can wave towards "want" is apple's itunes, and JRiver's media center; they both share the same weakness of not being able to use mplayer as playback engine

* Banshee on windows is unable to show video previews, have multiple stability issues, and can't use mplayer for double-click

(I've posted full details of this to http://softwarerecs.stackexchange.com/questions/2646/media-b... a month ago, to no response avail, but getting upvotes, which evidences a market to be had for this )
> I did not yet understand then that those having or wanting just a job—just a job with decent pay—would be disparaged as “takers.”

Where is this true? I haven't seen this even in SV, much less on The Outside.
The Screen That Doesn’t Scream
It's just a design decision of the http library, that its router by default accepts an interface and not a function - so internally you need this little adapter to make the function comply with that interface. I also loved this little trick when I noticed it.

But if the HTTP library would directly accept a function, you could then just pass a function without that trick. Go doesn't mandate you use interfaces for callbacks (like Java did until 1.8), you can also define an API that accepts functions directly, provided they have a certain signature.

Also, the standard library hides this little trick from you, and just exposes the HandleFunc method, that lets you register plain functions as handlers. as in this example: http://golang.org/pkg/net/http/#ListenAndServe
As someone else pointed out, "shut down all trading immediately" isn't so clear cut as "let's stop doing this".

The other aspect is that while I think people should be empowered, shutting down business operations should be decided by more than just an operations team.

Here's an example - one morning on my way to work many years ago, I got a frantic call from our head of operations - "the site is slow", "we're getting DOSed", "I'm going to start blocking netblocks from the major offenders".

I talked him into waiting until I got there, and took a look - sure enough, we're doing 6x our normal traffic, web servers are slowing down, most of it coming from the US. But was it a DoS? Credit card transactions were also up, but not 6x, about 1.5x-2x, so more people were buying, but not proportional to the normal traffic volumes.

A short while later we figured it out - unknownst to us, we had been featured on a major US morning news show, complete with a walkthrough on how to use our site. Millions of people jumped on the site to give it a shot, but many of them abandoned, or the site got too slow for them to purchase on. We fixed it, got it up and running again, and made a ton of money.

But if our operations group had obeyed the "clear" signs of what was going on and just started blocking whole netblocks, we would have lost money and hurt our business.
No, I was thinking about the original auth_request. For cookies based authentication you need to turn off authorization for login pages (because every visitor should be allowed to access login pages) and pass login requests directly to your auth backend. The auth backend can then verify password, set cookies etc. auth_request failures 401, 403 can also be configured to show login page to the user.

Here is a config that does something like this: https://github.com/wrr/wwwhisper/blob/master/nginx/wwwhisper... (deployed here: https://io-mixedbit.rhcloud.com)

(Sorry for the late reply)
Take a look at CrossOver: http://www.codeweavers.com/
Absolutely true. Lisp is related to Fortran, though both are not compatible to each other. Just like Clojure.
Bitbucket Experiencing Major Outage
I have a lecturer who has an E-B number of 5 (Geoffrey Grimmett). Now I just need to appear in a film with him and write a paper with him.
It is possible that Erik has a better (or more cynical) idea of the "average programmer" than you or I might. I'm of the opinion that so long it makes sense and has an elegance to it, then it's fine. If "average" programmers can't handle it, they can use another language or something.
There is an implicit attitude I've felt in the dev community that you're supposed to spend every waking moment of your life absorbing information about your work.

Seeing how I'm commenting at 11 PM on a Sunday on this I guess I'm among those that do spend every waking moment on this stuff, but a lot of developers don't because its just a job.

Being up to date is one thing, doing it on your off time is another.
This is really awesome. So does this work with all modern web browsers or only chrome?

I tried it in chrome is working fine.

Will surely integrate in my upcoming web project.
You don't have to use go get, you can set gopath, then ignore it and use whatever paths you want - go run/go build will happily build for you no matter where the files are, though obviously go get would use the gopath.

You don't have to use go get though, you can define import paths any way you like (e.g. relative to project pkg) and go run or go build /path/to/my/project to build your project with the -o flag to specify the output binary. As long as dependencies are where you specify, it'll happily build. So if you want per project dirs, it's perfectly possible to do that with the standard tools, but when sharing code people will expect to be able to go get etc. and relative import paths are frowned upon.

So if you wish you can pretty much ignore GOPATH, if you're not go getting dependencies, but if you're sharing it might be best to bend to the consensus which is to have one gopath and put all your projects there (they can of course be within project dirs within that gopath or linked to elsewhere).
I'm assuming midle languages are clojure, ocaml and scala (python to a certain extent), and pure is? Just haskell?
I think that "Mostly functional" is actually the sweet spot.

Going to any extreme makes some things horribly difficult and going to another does the same for other things. So, optimally, multiple paradigms coexist in the single codebase, applied where they're most useful.

Functional programming with as many immutable bits as possible is definitely a good start. I generally do that for whatever problem I'm solving: I have a model for the data and then I write (if at all possible) pure functions to transform the inputs into meaningful outputs. But then you need know where to drop the ball and move over to some other paradigm that does something else right and merely drives the functional parts from the top level.

For example, such a data analysis library can be written with minimal state and using only pure functions but if -- and when -- you need some sort of an user interface so that the program can actually be used, an imperative/procedural approach is generally the most native approach because UIs are basically I/O. If you're adding a graphical user interface, you might use object oriented approach to build the UI tree which is probably the world's most idiomatic, canonical use for OO anyway. But even those are generally driven with an innately imperative event loop.

Also, note that the different approaches or paradigms aren't language specific either.

In the first stage, languages are tools that shape your thinking into accepting new programming paradigms but at some point you have a number of different ways of thinking in your head, and you can just forget about the languages they came from.

But in the second stage, you can just think directly in paradigms: you can consider different ways to build different parts of your program but you might actually use only one language to implement everything. You can write functional, imperative, object-oriented, and whatever code in C. Or you can use several languages with strengths in each paradigm, depending on what trade-offs produce the best engineering in each case.
"Dependency management! Whee!" indeed.

I totally share the author's feelings that fetching master to do deployments is pretty rough for repeatability. Vendoring fixes the core repeatability problem, but leaves a lot of other questions. What if I want to use this library in several projects without essentially forking it for each one? What if I want to reuse two of my libraries in other project, and they both vendored the same things? And so on.

I use git submodules for golang source dependencies with reasonable success. I also asked myself "What if I need this to be backwards compatible with `go get` semantics?" and found it's hackable: create a dir in your project which you'll add to your $GOPATH, add git submodules there with fully-qualified dir names matching their public urls (i.e. `myproject/.gopath/github.com/whoever/whatever/`), and to tie it off make a symlink from your own project's fully-qualified dir name back up to your repo root.

With that symlink, your own project has the same package names regardless of whether the code is being referenced internally to that project, via the public go-get'able urls, or via being submoduled in another project. Nobody's left out.

Example here https://github.com/polydawn/pogo/commit/c6fac440c99c00c2db65... (though I've since switched to putting the symlinks in a .gopath dir, as that seems more popular).

Submodules can introduce complexity to a project if inserted into the middle of a project where abstraction layers aren't finished yet (all the complaints about merging being totally undefined are true). But when a relatively stable library API is either already existing or a firm intention, submodules stay pretty well out of the way in normal development and can actually cross over to helpful by drawing attention to when you should think twice about API shifts. (Also, it might be worth mentioning git's CLI for submodules has gotten radically better in the last few releases.)

It's certainly not the only way to do things, and if you're happy with other solutions like vendoring, by all means carry on (godep is great too, as the article mentions; it doesn't vendor, and still gets you a hash for precision and integrity of your deps)... I just thought it was interesting that it's possible without any special tools.
Why would it matter to an institution what the minimum is? If they want to purchase 1000 BTC instead of 25, would SecondMarket actually force them to make forty 25 BTC purchases?
Have a look at https://github.com/tito/rumps
Have you tried http://www.plex.tv?
Email service for small business: something companies can use in combination with Box.com / Dropbox.com or other cloud storage instead of Google Apps.
This is not really idea but more of our need: we started using more Box (and Dropbox) instead of Google Drive but we are stuck with email provided via Google Apps. There is no other service on the market as Google Apps email for small business.

(I tried FastMail, Atmail, Rackspace, and none of them is a good alternative).
Pretty much all teas, juices, sodas, and almost everything else that I have tasted. I can only remember that, besides things containing ethanol, I can't seem to like coffee.
I would strongly look at Clojure's implementation of Atoms, Agents and Refs. IMO that is the best isolation of mutation I've seen in any language.

What do I mean by isolation of mutation? As stated above, all applications end up needing global shared mutable state (usually it lives in databases, but doesn't have to). So Rich Hickey created mechanisms to do such things safely and concisely.
As one commenter on youtube said: "Shut up and take my money".

But seriously, have you guys considered commercializing this? You're offering people the ability to experience flight. Not just a video of flight, but controlled flying in their own neighbourhood.
Let's see the video then. It's your own private recording system throughout your apartment. I'm sure we can judge from that what the real take is. Maybe it wasn't 117 times but I'm guessing you had a good go at going way over the line. Just because the evidence was thrown out doesn't mean you didn't do it.
Oauth for contact details. When I change my phone number or address, the individuals or corporations I have authenticated should be able to fetch that latest info from a centralized service that manages only that information (and holds it in strictest confidence, no list-selling).
"Thee tape in question that was thrown was also bullshit. If anything, it actually made the SFPD look bad"

"I didn’t hit her 117 times, injure her, or cause any trauma as the UCSF medical reports clearly document"

"The girl in question here, was herself so appalled by the false allegations made by the police, that she agreed to be photographed to demonstrate that there were no bruises or injuries."

For someone who is making a lot of evidence-based claims, I notice a remarkable lack of supporting evidence. Surely the video mentioned would contain airtight proof that he didn't "hit, injure, or cause trauma". It would be the goal of an innocent man to get the video into the public eye as soon as possible.

My prediction is that he will not release the video.
Use the symlinks, Luke.

My $GOPATH is in a standard place: $HOME/.local/share/go (aka $XDG_DATA_HOME/go) and all my projects (whatever language it is) live in $HOME/dev.

I use github for all my projects, so the public path for my go projects would be $GOPATH/src/github.com/rakoo/petproject. So all I have to do is

$ cd $GOPATH/src/github.com/rakoo
$ ln -s ~/dev/petproject petproject

and everything works flawlessly. I get to keep using my ~/dev dir for all my projects, and the Go environment is well defined and works as expected.

You do have to do this once for each project you start, but that should scale quite well.

TL;DR: Your projects don't need to be in $GOPATH; they only need to be accessible from $GOPATH
This is essentially describing a "process".

Except instead of emphasizing team-level details, it calls for an emphasis on code-level details. I really like this idea.
I'm glad I got out of my comfort zone and made contact with this random stranger. It made her happy and me happy too.

Apropos, this wonderful Thai commercial that is making the rounds - http://youtu.be/cZGghmwUcbQ
Ask BiggerPockets.com, they would know more about best use of real estate than Hacker News.
He has a lot more very interesting projects on his website.
I've built a maze traversing car with an arduino. The maze was just black lines on a large white sheet. The code was fairly straightforward (Depth First Search), but this was my first time working with hardware. The car used a row of LDRs to know its location relative to the lines of the maze which was the main source of issues. After countless rebuilds of the car and tweaks in the code we finally got the car to work which was an extremely gratifying moment.
Quote: "You call 'Aversion to Extremes' a cognitive bias [... but] the more extreme a language pursues a theoretical concepts, the less used it typically ends up being in practice."

Yes, people use languages with solid theoretical foundations less because they perceive them to be extreme. That was my point.

Quote: "I can't imagine [... any measure that] makes these 'purity-oriented' languages appear to "work better in practice".

How about SLOC required to implement a task? Take a look at this:
http://web.cecs.pdx.edu/~apt/cs457_2005/hudak-jones.pdf
Its an old paper, but the findings are still perfectly valid.

Quote: "each process is like an object, holding onto state".

This is the actor model. Erlang is an uncompromisingly pure implementation of the actor model, which is why it is so effective. Again, I think you are making my case for me.

Your use of the term "sacrificing flexibility" sets up a false dichotomy between purity and flexibility, as though there were programs that are difficult to write in Haskell.
Have you completely switched to haskell now?
>The argument has an emotional resonance, but does it really make sense? It's not like working for big employers (and entrusting Wall Street with one's retirement) worked out really well in the past decade either.

No, but it worked very well the last time the US middle class mattered, back in the 40's to 60's.
I just sent a push to BitBucket, and it seemed to be taking a while, so I figures I'd just grab a quick headline here, and the top story is BitBucket being down. So my timing is good?
A latex add-on in Google Doc.

I'm aware writelatex and sharelatex exist. I would like a latex feature in Docs though. Preferably one that compiled/rendered the output in realtime
I find the analogy to VCs interesting. In term of investing your own money (as in investing in a fund), I have seen graphs showing that VCs have a pretty bad ROI, if not the worst This is partly attributed to highly subjective decisions from a small number of like-minded individuals, which often end up in poor and mostly misapplied metrics. (I don't want this to be the debate, this is just something I have seen reported many times, and at least once on HN not too long ago, and most people seemed to agree with that, so lets assume that VCs are not a very sound way to invest your retirement money).

Is the same true for Publishers? Could make a comparison using data about this $15B revenue vs how much was spent?

Moreover, the best ROI for VC funded anything, seems to be an exit IPO. What would be the equivalent of an "IPO" for authors? A movie?
Exactly. Clojure is a great example, although it doesn't offer a complete solution: atoms/agents/refs are either not general enough or not performant enough to handle many data structures well.
I would know because the concrete types formally reference an interface, and the documentation of the interface would tell me more about the intended semantics.

You're right that simply having this formal reference doesn't solve all problems that could possibly arise. But there's one form of confusion that is much less likely to arise.

As is so often the case, more flexibility comes with more opportunity for screw-ups.
It's just their style, to keep things consistent.
The uptime for GitHub for 2013 was 99.69%, according to http://www.getapp.com/compare/source-code-management-softwar....

I can't find a stat for BitBucket, does anyone know?

I'm considering switiching to GitHub for a private repo I'm currently hosting on BB, due to downtime.
More privacy.

A completely private social platform with messaging, email, timeline, blog, pics, docs, etc.
I would just like to point out that the author seems to be confusing Pure-Functional-Lazy with just Functional.

I absolutely agree that if you buy into Lazy programming, you have to buy into entirely Pure Functional as well.

However, many languages and frameworks have demonstrated a high degree of success mixing in functional paradigms (mostly centered around collections)

I would like to refer people to the concept of Collection Oriented Programming. In this paradigm, application specify most of there operations as mapping and reducing functions across different collections (trees, vectors, lists, etc).
Not only does it promote safety, but it works in such high level constructs, it allows the compiler/interpreter to optimize the operation in many ways, such as optimizing out the lambda calls, and even parallelizing the operations.

To name a few Language+Libraries for which this is hugely successful: Ruby, Clojure, C++11 w/ std::algorithm, Scala, and Haskell, of course.
>with books on the sort of topics one gets in TED Talks

Yes, in the same sense that "Inglorious Basterds" talks about WWII, so you don't need to study WWII history after having seen it.
Is it just slow for you? What connectivity are you using? For me it's not working at all. SSH says no suitable response from server. I had to merge a branch :(
Do they offer unlimited private repos now? That's why I choose BB over GitHub back then. I don't notice them going down often though.
> Pure functional code just might outsource shared mutable state to an external database.

There's an important distinction between essential side-effects and inessential side-effects.

Some data you have to store in a database is an essential side effect.

Modifying iterator or flag (e.g. bool isOpen) etc. is a non-essential side effect.

Transactional semantics are probably part of the story for the former, but the author was talking about the latter.
Do you know of any resources or examples that demonstrate basic animation techniques like this? The canvas examples I've found so far seem to be for fluid animations or games, rather than interactive scenes or visualisations that can be stopped or stepped through.
What's nice about the go implementation is that it can trivially accept a function or a type with the right function.
List of resources and plugins for Bootstrap
I use this very frequently, helps a lot: http://www.boxuk.com/upload/2014/02/Relaunched-Ultimate-Webs...
My girlfriend suggests a menstrual calendar app that enables men to predict women's moods, especially the days they're most amenable to amorous solicitation, and generally because it's good for men to know their partners' cycles. A woman might enter the data herself and share it with selected parties, or men could try to maintain their own records on behalf of women who aren't motivated to do it. There is also a monetization potential for advertisers insofar as women are more inclined to pamper themselves at certain times.
1. Roll your own Google Maps overlays / plugins for navigation of large facilities. I envision a system where you take a series of GPS readings using your phone around the facility (a few on each floor). You then scan a blueprint or floor map and are able to import the structural data via OCR. Finally you roughly correlate those GPS coordinates with spots on the floor map and the software uses them and the known structural information / layout to create a Google Maps overlay.

2. A peer to peer service for facilitating sharing of paywalled scientific journal articles. You could put in a request for a specific article, the utility would check which of your friends had access to the material, your friend would be prompted to download the article and place it into a designated folder for transmission.
An ifixit[0] like site for repairing your car. I really like the format of ifixit because they give detailed pictures and the tools you will need. A site like this would be great for cars, ranging from just changing oil and tires to possibly harder things.

[0]: http://www.ifixit.com/

EDIT: If you create the site, please let me know. This is not something I can work on right now but if it's a wiki like site I'd love to contribute.