skysight-inc/HackerNews huggingface dataset:
About 5 years ago I volunteered to help our local SPCA (Society for the Prevention of Cruelty to Animals) build a computerized system for tracking hours that their volunteers spent. This an important part of the volunteer coordinator's job, as there are hours/year requirements for volunteers, awards given out annually, etc. Prior to that they were using a paper binder with sign-in sheets, and adding up everything by hand at the end of the month. With about 1000 active volunteers, this was no small task, and seemed like a place computerization would be an amazing help. I wrote up a simple system in Rails (which I had spent a fair amount of hobby time with) and it's been running there ever since.

Today, there are about 67,000 "hours" entries in the database, about about 3,000 volunteers (1/3 of them active), and the system is a little slower than it ought to be (my original testing was with tens of records, since there was no existing database to import). Rather than try to update and re-learn ruby and rails, I opted to give a try porting the essential parts of the system to Python using bottle.py

The result of my work is now up on github and licensed under MIT.

I'm at a point where things are about functionally complete and I'd love to hear feedback from anyone willing to take the time to take a look at it. It's a generic enough system that I could see other non-profit organizations (who often have much/any money available to spend on commercial software that can track things like this) being interesting in this.

Things I'm not that great at, which are incidentally the main things this project uses:

* Python

* bottle.py

* SQL

* HTML/CSS

This is a hobby project for me (I'm a C programmer by day) so I am probably taking a naive approach in most cases, but in some cases I know that when I re-deploy this version of the system, it's likely to sit for another 5+ years.

(Reposted as link from https://news.ycombinator.com/item?id=8179419 as suggested by dang)
Unless I want to use the newest APIs and features, the web technologies seem pretty good for my taste, I design/develop my websites in Chrome, and most of times, they work fine or need minor fixes in IE/Firefox.

I feel relieved now, compared with the old IE6 days.

Anyway, caniuse.com is a pretty good tool when I'm in doubt about using a new API/feature.
I remember once I got an error in an python script, and had to convert all tabs to space.
Btw I am JS developer.
The Blink team have simply become the new IE style refuseniks, using mobile performance as the standard excuse. Mozilla, Apple and Microsoft have all been creating new "standard" APIs which no one else implements, yet in order to get best performance on their systems you have to use.

If you read the history of that bug someone rightly points out a key thing is MS have to support the pen on surface, and that was as important to MS there as multitouch was to Apple with iOS. Mobile performance is clearly that to the Chrome team, and this mismatch of priorities is what is at the root of the problem.
Might find this interestign: http://euranova.eu/upl_docs/publications/an-empirical-compar...
Thanks! Reposted as https://news.ycombinator.com/item?id=8182973
> WebGL 1.0 is almost 4 years old. OpenGL ES 2.0 was then latest and greatest.

Latest and greatest for mobile yes but the desktop world was already on OpenGL 4 at that point.

My whole point was that they could have just ignored mobile and delivered a much more powerful WebGL based on OpenGL 4 instead.
Paywalled, clickbait. etc. Flagged.
You don't have to pick up a dozen pieces of chalk in order to find one that sort of works if you hold it just right.
It's not really surprising given the growth of tech and the lack of growth in finance. That plus the sheer volume of office space available in NYC compared to SF (NYC has about 4x the total office space of SF).

Of course, NYC's overall infrastructure for tech companies is horrible compared to SF.
Well put. How can anyone talk about rebellion when consequence could be torture/death. The internet provides a great communication medium and anti-propaganda anti-censorship mechanisms. Encryption and misdirection is key.
Rocket Internet's Modus Operandi
The unifying nature of pointer events is what makes them so important for the future. Otherwise you have to implement multiple pointer models on a device that provides more than one, or try to simulate one from the other which becomes a mess of lies that the app developer has to sort through.

I've already worked with a couple of companies that have been bitten by assuming a device has either touch or mouse, but not both. They had code to the effect of `if ( touchstart in document ) { attach touch events } else { attach mouse events }` but then they ran into Chrome on a Windows 8 system with a touch screen. Whoops. Now their site only works if you touch the screen.

If you think this is "only a problem on those crazy Windows 8 notebooks" then you're not thinking ahead to systems that will use a Kinect, eye tracking, or some other advanced technique to implement pointers. Devs are really going to hate it when those interesting input methods are sliced and diced into mouse or touch (or God forbid BOTH) in order to shove it into Apple's 2007 vision of a web page input world.
Good design is what I miss most as a skill.
As as developer I can ship much faster if I can train myself to design well.
There's a number of sites that are not open source that use coding tasks like this and tie them with leaderboards and tie-ins to recruiters. As well as hacckerrank, there is codeeval, and there are some others whose names escape me at the moment.

But that doesn't really address a question about putting together an open-source one.

There's also at least one similar-to-Euler one -- rosalind.info (like Euler, but bioinformatics focus) -- which might be closer to responsive, since even though its not open source, their FAQ says they intend to open-source it...
> What if Minerva filters just as hard, on admission and retention, as the Ivies... but then also improves the 'delta' on graduates' abilities?

Fair enough, but that's a big IF. Higher education worth is predicated by a series of inputs, outputs and filters. Filtering is only good if the quality of character coming in is already high. In other words, how are you going to convince Billy and Sally who live in Greenwich, CT that telling their friends that little Jimmy applied and got into Minerva sounds any better than going to Harvard? You can't have high quality output if you don't have high quality input, and you can't attract high input without have high output. Simply filtering is largely a non-issue. (EDIT: Should clarify - simply filtering within the pool of applications you have is a non-issue, filtering in a wider macro context is the secret sauce of Ivies)

> But it's a hint that the signalling-powers of the Ivies might be open to unbundling, by infotech innovators like Minerva.

For nearly 100 years, Ivies have been susceptible to unbundling, yet haven't budged. What's different this time?
Different communication mediums are better / worse for different tasks. Lisp might be great for formally writing something down, where you want to have zero ambiguity. That's not the way human conversation works though, we are always eliding details based on the context in order to communicate quickly.

The blackboard is no different - it's not the perfect way to communicate ideas but it let's us communicate ideas quickly.
It's hard not to be excited for the development going on in the Transbay area of San Francisco[0]. Including the tower built by Norman Foster[1].

0: http://sf.curbed.com/archives/2014/04/04/mapping_big_changes...

1: http://sf.curbed.com/archives/2014/07/23/norman_foster_vies_...
Yeah, but it's awfully general for HN. We've really been drifting heavily in the direction of "general news" and generic political / social stuff for some time now, which is unfortunate.

Personally, I'd like a lot less of that stuff, and more "How I implemented MQTT in Erlang on an rPi", etc. :-)
Nice article! We totally agree and don't believe in those "we need to replace email with an app" approaches. For example, that's why we build our service StandupMail (http://standupmail.com) completly upon emails.
> Of course, NYC's overall infrastructure for tech companies is horrible compared to SF.

What makes it horrible out of curiosity?
Of course you're right, and I can't believe I didn't realize that. I think my point still stands that it's a bit silly to worry about storing emails, but you're right that you can even avoid that risk by encrypting them if desired.

(And "hash" is a bit misleading: http://codahale.com/how-to-safely-store-a-password/).
Bertrand Russell goes into this question in some depth.
http://www.ditext.com/russell/russell.html
Look, I have nothing against blackboards, just as I have nothing against horses. Horses are really handy in some situations. If you're in the wilderness and you need to cross a stream, a horse can be just the thing. There's no technology that can compete with a horse in that case.

But to constrain your infrastructure (notation in the case of mathematics, roads in the case of horses) according to the needs of a blackboard or a horse is, IMHO, a serious mistake in this day and age. If you design your roads for cars instead of horses you get tremendous productivity boosts, even as you lose the ability to deal with some edge cases.

Notice that to find an example of the real utility of a blackboard you had to bypass >95% of the lecture and go to the very end. Imagine how much better things would be if the rest of the lecture had been presented as source code that a student could analyze and manipulate and error-check using some automated tool.
Thanks! :) Maybe he is flaunting his flouting of the rules?
I can honestly say this was the biggest pain for me as a contractor. I decided to go without health insurance and paid the fine for not paying quarterly taxes just because I didn't want to deal with the hassle.

Even though this is a free tool, I would have gladly paid for it to help alleviate those issues.
It would be nice if the city allowed more skyscrapers to be built.
By the way, I would like to say that this was built using APEX (https://apex.oracle.com).
That's a great perspective. The sibling comment from yedava is an immediate X-1 example.

https://news.ycombinator.com/item?id=8182939

These photographs of paramilitary soldiers shooting tear gas into groups of reporters and peaceful protesters turns my stomach. Likewise, allowing looting and destruction of innocent peoples' property is unacceptable. It's a despicable situation on all sides.
I think the fact that tabs take up fewer bytes is basically irrelevant. For anything that matters, the JS will be minified anyway, removing the whitespace.
Incremental GC in Ruby MRI
Definitely not trolling. The Atlantic may be well-regarded, but it's full of pseudo-science and feel-good news that doesn't seem on par with Hacker News' adherence to quality.
Show HN: Practical Guide to Mobile Apps Using Phonegap and Famo.us
Another value of Ivy and other uber-elite schools that can't be overlooked is the networking effect. They meet people who themselves are extremely well connected and that can pay dividends down the road.

But as the saying goes, "the hard part about Harvard is getting in".
What's the more performant/"proper" way to narrowly target CSS in that situation? Just tacking classes directly on the links (e.g. `<a href="#" class="foo-link">` starts to get very cluttered very fast if you want the benefits of deeper nesting, targeting and namespacing (e.g. `<a href="#" class="foo-bar-baz-link">`. Is it best to simply try to avoid nesting of styles altogether and keep namespaces as flat as possible?
Funny, I was thinking the exact opposite -- I think the news is so bad and the politics is so polarised and the fiction is so grim because the world is better place than it has ever been, and we don't know how to deal with it.

In the developed world we're living longer in bigger houses with more cars. Our food is better, our toys are cooler, crime is at record lows... Life just isn't enough of a struggle for us any more, we don't have any excuse for not being happy, so we go out of our way to find some unhappiness, or to make it for ourselves.

Obviously there is plenty of dysfunction to go around, and we should demand better, but the "sky is falling" narrative is popular because it doesn't ring true, not because it does.
One of the most famous passages from the Bible seems to have have been affected by (or benefited from) a similar ambiguity.

Mark 10:25 (and parallel versions in Matthew and Luke) has prompted much speculation over the centuries with regards to the origin of it's evocative metaphor: "It is easier for a camel to go through the eye of a needle than for someone who is rich to enter the kingdom of God."

But when you consider that the word for camel (kamêlos) and for rope (kamilos) differ by only one vowel, quite a mundane explanation springs to mind: someone in the early church misheard, misspelled, or mistranslated Jesus' original admonition.

The more satisfying explanation, the one that I prefer, is that this is a pun that happens to have gotten lost in translation.

The few comments in this blog article offer some interesting explanations:

http://rambambashi.wordpress.com/2010/06/03/common-errors-36...
> Reminds me of the time some kid was arrested for making a Counterstrike map based on his high school.

Nobody seemed to mention this, and I feel quite old saying its, but "Global Thermonuclear War" was the name of the simulation Matthew Broderick's character played in "War Games", which should have been another clue to the authorities or whoever that it's just a game.
I read this, but at the end I am not sure what I read. What is it supposed to mean? Sincerely curious.
That is a false sense of / misunderstanding of what security is. Security is not yes/no, I am secure or not. It is a gradient. Gradient of risk vs cost.

You are never 100% secure. And probably don't want to be even that close to 100% (cost being too great).
Because spaces are rendered the same everywhere. Suppose I write this code, indenting using spaces.

im_a_long_method(argument_no_1,
set_indentation_true(...),
no_string_cutoff,
whatever)

Now suppose I used tabs to indent and my editors tab width is 4 spaces while your is 8 spaces, then the above would look like:

im_a_long_method(argument_no_1,
set_indentation_true(...),
no_string_cutoff,
whatever)

Since not every editor agrees on how wide a tab character is, you get crappy alignments. Therefore use spaces.
"Touch events are here to stay".

Ugh, that's such a defeatist attitude. And it seems unfounded. Most developers use some form of abstraction on top of native events, such as jQuery or React.

I wish we could move towards a model where browser vendors would expose low level APIs and let libraries implement simple interfaces on top of them. At the moment we end up having to write browser-specific hacks that "guess" the state of the world based on weird heuristics and browser sniffing: https://github.com/facebook/react/blob/master/src/browser/ev...
Cheaper, better, faster for one of the most common medical procedures? Yeah, I think I can see some value there.
I work at https://www.Bloc.io, and we offer an intensive part-time Design course led by a mentor. It's seems to be popular with developers looking to expand their skillset.
Eventually the 'professor' driving the highly-interactive sessions may even be an AI, trained up on all the other recorded sessions in the university's archives. Only occasional very anomalous and challenging interactions may require 'parachuting in' a real instructor of the same caliber as the original sessions.

Young Lady's Illustrated Primer, here we come!
Solve your team's productivity problem with StandupMail
Interesting.

I think the myo armband could be a good competitor, and it sits right under your elbow.

https://www.thalmic.com/en/myo/

It's $150 to pre-order and you get full developer access.

I got an alpha version of the myo and had some time to mess around with it. It's pretty powerful. Definitely worth checking out.

Pre-oders of the final production version are shipping next month, in case anyone is wondering.
> If anything, the greatest threat today to established higher education is the likes of YC.

You're joking, right? Y Combinator and accelerators like it are great programs for certain types of individuals, but they're hardly a threat to the higher education industrial complex.

Y Combinator has produced some great successes, but despite all the resources and access Y Combinator provides participants, Y Combinator has not discovered a recipe for startup success. The numbers make this very clear[1][2].

More importantly, there is only so much room to scale accelerator programs. Few companies emerge from these programs with cash flow sufficient to fund their operations, so they depend on the availability of angel and venture capital to support their portfolio companies. If you significantly expand the Y Combinators of the world, demand for capital would soon exceed supply, so you'd see a dramatic increase in the percentage of portfolio companies that die, and the speed with which they die.

[1] http://blog.ycombinator.com/yc-portfolio-stats

[2] https://news.ycombinator.com/item?id=8043856
This is a good point, and a reason to do the right thing with regard to emails--which is to store a safe version of them (bcrypt).

Because while an email and a password is not public information, a username and a password isn't public information either. If you don't trust yourself to store the former, you shouldn't trust yourself to store the later much either.
>Since everything is a file descriptor on UNIX, you can just call dup2(2) and this won't have any repercussion on other parts of the program.

You chose an unfortunate example. From the dup2 documentation:

The object referenced by the descriptor does not distinguish between fildes and fildes2 in any way.
Thus if fildes2 and fildes are duplicate references to an open file, read(2), write(2) and lseek(2)
calls all move a single pointer into the file, and append mode, non-blocking I/O and asynchronous I/O
options are shared between the references. If a separate pointer into the file is desired, a different
object reference to the file must be obtained by issuing an additional open(2) call. The close-on-exec
flag on the new file descriptor is unset.
I've been working on putting my PhoneGap/Famo.us knowledge into a consumable form. I hope this "playbook" (with the sample apps and examples) can be useful some folks who are building apps! It is still a WIP on both the copy and code ends, but I'll be adding improvements consistently.
It sounds like you want something like Node.js Streams? People have written Stream adapters for XMLHttpRequest and such.

There's also this: https://github.com/whatwg/streams
If you are an immigrant with kids, presumably with very limited education, I can imagine you would make choices that aren't the most logical from the world view. Fear can be a powerful factor, however illogical they might be, perhaps they know the area or they can't drive or they have a support system, etc
The journey of a thousand miles begins with one step. - Lao Tzu
Many people here in SF have been saying this is the direction we've been heading for quite a bit(if it hasn't happened already): SF becomes Manhattan, the surround Bay Area become the boroughs.
I've compiled a mini-course[1] that's exactly this -- design for developers. It more or less follows the 80/20 rule of getting you through what you should know without bogging down too much in the narrowly focused stuff that you don't need. It's geared towards beginners too.

[1]: http://www.vikingcodeschool.com/web-design-basics
I hadn't heard of the performance implications of pointer events before. In my experience Internet Explorer is actually really incredible when it comes to touch performance.

If you have a touch-enabled Windows device, open up t.msn.com and try swiping through the carousel. It's powered by -ms-scroll-snap-points and feels really good - even on mobile devices. It beats hand-rolled JavaScript scrolling implementations hands down.

As a developer, being able to add `pointer-events: none` to CSS is amazing when compared to adding and removing touch event listeners in iOS to avoid blocking the so the scroll thread.
> Tabs take up less space in terms of bytes

Optimizing for size in the primary format for editing isn't that important. For deployment, sure, but you're going to minify for that anyway, right? So spaces vs. tabs makes no difference for that.
Needs better transit for that to happen.
Well, as an NYC based startup I can speak to a at least one thing; TWC Business/Commercial internet is garbage. Plain and simple. We're lucky enough to have FIOS in our building and that has been pretty decent, it still goes out quite a bit.
> The Blink team have simply become the new IE style refuseniks

Don't kid yourself. Sometimes it's the IE team that refuses to play along. Example: WebRTC.

Overall I feel that the cooperation between vendors on standards is quite good. but you can't expect all these mega corps to agree on everything all the time.
What's different this time? The same things that knocked newspapers off their comfortable centuries-long perch:

* costless digital networked replication and communication;

* replacement of traditional processes with software; and…

* much faster improvement-iterations, driven by data and math.

The formula is a little harder to apply to education, which is why education, from the Ivies on down, has had a decade or two reprieve.
My wish list for Postgres 9.5
And on top of that, you have to worry about CLOEXEC if your process can fork, so you need to consider using dup3.
These seem pretty cool, do you know if there is any English documentation for them?
Awesome Clojure
That is the exact name an actual terrorist would use to cleverly hide his real purpose and thwart the authorities.
On the other hand, it increases the attack surface as you are now exposing all of OpenSSL (or similar) on top of the rest of the stack.
> Because spaces are rendered the same everywhere. Suppose I write this code, indenting using spaces.

Then it'll look wrong in a proportional font; indenting and aligning with non-indented text are different things. Either spaces or tabs indent consistently when used consistently in a source file. Alignment cannot be acheived consistently (with spaces or tabs) unless you also assume a monospaced font, or (with tabs) have elastic tabstops.
I've seen nice summary of #1 in one sentence: All generalizations are wrong, including this one.
> "At the heart of high-tech’s growth is strong demand for products and services from consumers," Los Angeles-based CBRE said in its report. "As long as high-tech companies align themselves with this demand, the unrealistic growth and valuation expectations that defined the dot-com bubble should be avoided."

"Demand" must be the new "eyeballs."

There's no question that there is strong demand from consumers for high-tech products and services. The question is how many startups are capable of offering those products and services profitably.

Right now, much of the rent money in the Bay Area is coming from investors, not cash flow.
I think you're missing the micro part of micropayments. The idea is for each individual charge to be so small that it's not really a consideration.
As usual, I see the same old sort of one-sided thinking out of you [1][2][3].

1: https://news.ycombinator.com/item?id=7939710

2: https://news.ycombinator.com/item?id=7829019

3: https://news.ycombinator.com/item?id=6228767
I am not suggesting to not use a VPN. But a VPN alone doesn't solve the visibility problem. Similar to port knocking, this would prevent anyone from knowing that the server even exists without knowing the IP and key in advance.

This isn't an alternative to VPNs. In fact, as far as I'm concerned, this proposal is only useful when combined with a VPN!
The site has been updated. "Server Overload," that would do it!