skysight-inc/HackerNews huggingface dataset:
Not sure about ruby, but django doesn't ship with connection pooling, so that is probably why its database performance is terrible. It could be configured to use pooling.

With such a trivial request handler like the one in benchmark, only a small percentage of the execution is actually taken up in the view, so all of the time you're seeing in the benchmark is pure overhead of the framework. A longer running view across all of these frameworks would cause things to even out a bit. All that being said, however, it's not an unfair comparison. After all, a benchmark of this nature should be a measure of overhead because that's really all there is to measure.
I'm running several websites on the Go tip, its solid.
> Flask

I don't know about Sinatra or anything else but I can give you the reason why Flask out of the box performs like it does. Unlike PHP Flask is threadsafe and uses locks and thread or greenlet local storage. This level of indirection adds a basic performance penalty when executed on a single threaded server like gunicorn. There are ways to change that if you think that becomes a performance problem by replacing the stack object with one that does not do dispatching and by removing the locks.

This in theory is easy to do, it's just generally not a real issue since most Flask apps will actually wait on database more than they waste CPU time.

Additionally Flask has a huge request handling overhead which will be primarily noticable in dummy benchmarks that don't do much in view functions. If you have an application that actually barely executes anything in the views you can subclass the Flask object to remove some of the functionality you normally always pay for (request processors, session initialization, message flashing etc.)

Lastly Flask has some sanity checks when Python is not run with `-O` that simplify debugging. Depending on which code paths you hit you might be paying for some of that.

In the database test the primary slowness is most likely not Flask but the way the database is configured.

Generally if you ever encounter Flask to be an actual performance problem I am more than happy to point you to ways to get more speed out of it. Generally speaking though there is not much point micro-optimizing until you notice it is a problem.
Does anyone know what on earth is Play! doing that makes it is so slow?

I'd like to see Lift in there if you guys do another round.
I somewhat disagree. I don't like having to wait on page loads, but I much prefer the Kindle-style book scrolling (with no page loads) to vertical. If it doesn't have to load pages, book-style works better for my eyes. I believe there was a Show HN involving a plugin that did this that had some research on why it was preferable.
Police don't enforce laws, judges do.

A judge would throw this out (this being either the 1mph over ticket or the 17-year-old reading Seventeen), and the prosecutor who brought it forward would end his career.
Yeah. I spent a month in Spain a couple of years ago, and met a backpacker who was visiting 25 European cities by himself in 2 months, or something like that. He was already about 40 days through it, and was complaining to me how he was completely exhausted, how it was more work than work -- his friends back home were so envious, but he was actually longing to be back in a cubicle! But it was a pride thing, he said -- all his friends thought it was so awesome of him, so he had to stick with it. I felt kind of bad for him, really.
Why no .NET C# and Mono?
Nothing is stopping you from using this as a framework and adding your own styles over the 'flatness'. If anything this is a much nicer base to work off of than if you started with something that had poorly made gradients.
Youtube demo:Google Apps as an SSO Portal to SaaS apps(ADFS/OnPrem replacement)
Aaron was sick, don't pretend like anyone under that kind of pressure would simply kill themselves.
It's an interesting idea, and I'm sure there are a few people who'll follow it now there's an interesting narrative.

Unfortunately, it still has 'math' presented in a regular way among that narrative, and many people are going to glaze over and not learn much from it.

There are some other examples of presented information that people fail to absorb. Radio broadcast weather bulletins is one good one. People listen to the whole thing, but 5 minutes later they realise they've missed the weather for their region.

Still, it's a nice blog and they have some great examples of other stuff too.
I actually liked the "book" UX concept, but I would've liked the viewport to be larger and some JS to make left/right swipe activate pagination. It was so annoying to click through every article. But I like the idea of playing with horizontally-scrolling UIs rather than vertically-scrolling UIs...
If you want to live in the past, don't upgrade.

If you want have your cake and eat it too, tough.

Everyone else, will upgrade and rejoice that Ubuntu isn't 10 years behind like another CrimsonCap distro.
here we go! http://www.treefrogframework.org/
If Warp wasn't used then this isn't a proper test of it, no?
The third level is java based frameworks that are making heavy use of highly optimized native code paths for string handling.
The performance of Compojure was really impressive, which was almost three times as fast as play-scala. I was expecting the opposite, considering that Scala is generally a bit faster than Clojure.
The vertical align is off in his screenshot, but in Firefox it seems to be spot on. Also I wouldn't worry too much about the colors, that's about the easiest thing to change yourself.
Leaks reveal secrets of the rich who hide cash offshore
Performant, not scalable.

You can throw money at Rails and it will handle the load, but it would cost a lot more.
Crazy people short-circuit 110kV power lines(video)
Tim Cook's Apology Letter to Apple Customers in China (translated)
I wonder where the bottleneck for the ruby benchmarks is. Is it in passenger, the framework, or somwhere else? I am sure I have gotten higher requests per second on my workstation when I tuned Ramaze (which should not be faster than using raw rack). My guess is that it is either due to a different method of measuring or the fact that I was using thin rather than passenger.
The problem is RapGenius is trying to cover basically all of the "annotate X" usecases. For example, they already have some of pg's articles (Though they need some love! http://rapgenius.com/Paul-graham-cities-and-ambition-lyrics and rapgenius.com/Paul-graham-startup-growth-lyrics if you're feeling helpful), Douglas Adam's speech "Is there an Artificial God", a strong and expanding base in poetry, and are not shy about their plans to annotate everything.
NoSQL and Oracle, Sex and Marriage
This.

"Flat UI is bad for usability" keeps getting repeated as a criticism against the flat UI trend but is not actually true.

Bad UI design is bad for usability, regardless of VISUAL style.

As jack_trades mentions, there are MANY other ways to convey interactivity without artificial depth, texture.

Think about a simple modal. Users know to look at the top-right, sometimes left, for controls for the modal. What difference does it make if the user sees a flat X icon or an X inside a beveled, drop-shadowed button?

Re: desktop vs. mobile; If a user has to hover over an element just to know if it's interactive then perhaps the design has already failed.
Wow. I really need to use connection pooling with Django.
I tried porting it to jQM too. https://github.com/iakshay/jqm-flat-ui. Didn't really continue..

jQM is for mobile devices why are you using custom dropdown?
It's not at all pointless. I for one am always glad to hear what works for others.

Before settling on a tablet, I considered the Wacom Inkling and even tried using the iPad and a few apps, but could never quite get the same level of precision as I can manage with a pencil. The tablet's just a stop gap, and keeps me from going crazy and loading up a boatload of sketching gear (psst… Copic pens). My Intuos 5 + Autodesk Sketchbook Pro combination gives me some degree of freedom without the clutter of gear I'd unavoidably end up with if I went shopping for stationery.
It's all about incentives: online bloggers and mainstream media types have an incentive to get a story out to keep people coming back to their websites / TV stations. They have no incentive to tell the truth, since no one holds the media responsible.

In crisis situations, the media reports whatever rumor is floating in the air at the time, just to fill the airwaves. Regarding the Bitcoin exchange rate surge since the beginning of the year, the media conflates it with "concerns" over the Cyprus situation, just to make news. Regarding markets in general, the financial media loves to say that the Dow moved down on "worries" over this or that, when in reality the price action usually has nothing to do with that imaginary concern.

Since Bitcoin is difficult to understand for most, it's asking WAY too much of the media to report on it correctly. How often have you seen quotes from "experts" over their concerns that Bitcoin will get "hacked" and become worthless? How often do they refer to "shares" of Bitcoin?

Have you ever seen a mainstream article about Bitcoin network strength increases / decreases?
GoDoc tab completion (zsh)
Demo: http://ascii.io/a/2705
Awesome, I did realize that. I stand corrected. Love the work you're doing!
Please read past the headline. There is a lot of uneducated sensationalism criticism going on. The data leak has exposed info that is already public, and basically harmless. Given someone with enough time and effort can turn this public info into a seedy crime, like using the contact list for phishing, the average coinbase user is far removed from this so called 'data leak.'
Jonathon Swift's "Gulliver's Travels", a satire of 18th century England, included in it a long-running bloody war between two religious sects that started over the correct way to eat a soft-boiled egg: the big end, or the little end.

For those not familiar with the history of England, the tome of Western literature (and the genre of satire), or soft-boiled eggs, I've gotten some confused looks when trying to explain this origin. Plus, it doesn't really add anything at all to the understand of endianness in the computer hardware sense.
There's huge difference between a point release 2.6 to 2.7 and full release 1.9 to 2.0

Most of Python's features are carefully crafted to not cause compatibility issues. 3.x is the major exception in many, many years.
My condolences... I highly recommend eating healthy, otherwise your odd of getting cancer in the 40-50s is more than 30%.
It took me a minute to figure out that I needed to click the margins to turn the page. Maybe add a small arrow or other indicator other than cursor:pointer. Other than that, very nice.
I used to worry about having all the right tools: different pens/pencils, grid notebooks, rulers, stencils, etc when sketching UI's. Now I really just use one nice mechanical pencil and regular white printer paper. My focus is really just getting things down, seeing how it looks, and changing it as many as possible before going to digital creation. Whiteboard replaces paper when working in a team.
The calling convention is a god send.

One thing to watch out for people learning IA-32(e) asm is that there are two syntaxes: Intel and AT&T. Intel, unsurprisingly, uses Intel syntax. GCC, however, mostly uses AT&T syntax (for historical reasons, and that's all I'll say).

You can find a reference to the GAS syntax at http://en.wikibooks.org/wiki/X86_Assembly/GAS_Syntax. I wouldn't use it for a reference to any of the instructions (for that grab the linked Intel manuals in this article), but that should get you familiar with the differences if you decide you'd like to write GAS.

You do have the option to set GAS to use Intel syntax with a directive, but if you're modifying legacy code or just want to be consistent with a lot of other GAS code, you may want to use AT&T.
Correct, because we chose MySQL as the database backend, both Django and Flask are punished for not having a connection pool. We've received requests to do the test using Postgres which does have a connection pool, and we hope to eventually get to that.
Uniform Resource Locator(URL) Mapping format
Yes, the literal example of a 17 year old reading seventeen is highly implausible. I think their fear is that by using a more complex example they have to try and argue that the complex example did the right thing in the first place. (Like say, Aaron Schwartz) This way they get to use a simple reductio ad absurdum argument that pretty much anybody can understand.

Weather this is an insult to the intelligence of their readers, or carefully calculated propaganda probably depends on who you ask.
Get a different boss, that one sucks.
We Need Programmers in Eugene, Oregon
We're currently looking for IN-HOUSE software engineers to work on Green Driver, a smartphone app that uses real-time data from traffic signals to help drivers find the fastest route, and ACFP (Advanced Computer Flight Planning), the flight planning system used by the US Air Force for routing cargo planes and tankers worldwide. We're a unique and small (25, soon growing to 50) company focusing on search and optimization. Employees here are treated incredibly well and have a lot of freedom to get the job done, or to create something new and useful. We hire smart people and then trust them to get things done, which means refreshingly little babysitting occurs. The work environment is friendly, informal and intellectual.

What we're looking for:
- Knowledgeable C++ devs who are comfortable with algorithms and search
- Android and iOS developers
- Windows and C# developers
- Familiarity with Oracle DB software and SUN hardware is a plus
Although our core IP is in optimization, bringing these solutions to market requires complex client-server applications with challenging network, user interface, and database components. We have code written in Python, Java, C, C++, Objective-C, and other languages. An ideal candidate will have a strong background in algorithms and will be comfortable writing both high-level and low-level code.

OTS focuses on the development, implementation and deployment of optimization algorithms in the fields of scheduling and routing.
Excellent Benefits Include: medical and disability insurance, 401K's with matching, sabbaticals, massages, a game room (ping pong, billiards, DDR, etc.), relocation package, pick your own hardware, your own office with a window, tuition reimbursement (including flight school if you work on our flight planning software), exercise equipment and locker room, and his and hers company bikes.
We are located on the North bank of the Willamette river, near the Delta Ponds, in Eugene, Oregon, USA.

American citizenship is required for these positions.
Please respond to jobs@otsys.com
The pictures with 3 dimension axes have no sense at all. Speaking as somebody who made a reduced set assembly for x64. Did you find something really new or would you just like to confuse more?
We accepted a pull request for an Erlang framework yesterday, so they will be in the next round of benchmarks. If you want to ensure your favorite is listed, you can issue a pull request yourself on our github page.
Where possible on the tests, we tried to use something other than raw SQL because we wouldn't expect someone to use raw SQL everywhere when writing a real application. We chose Korma because it seemed decently popular for Clojure, but we're certainly open to a "compojure-raw" test that uses clojure/java.jdbc. Feel free to submit a pull request. :)
I agree that prose was not the right way to communicate this; BE & LE are much easier to explain via example (1 -> 00:00:00:01 or 01:00:00:00).
I believe this is the project you're referring to, though it's now integrated into an ebook reader web app: http://www.magicscroll.net/
Port of Practical Common Lisp samples to Clojure
I agree with your sentiment about the lamentable, though typical HN response. However, it is totally in accordance with the mean audience of the site. Almost 50% of HN readers are under the age of 25 [1]. HN is a product of Y Combinator, an accelerator that predominantly focuses on software-based startups frequently run by kids in their 20s. The average perspective is highly skewed and very different from someone several years into a non-CS technical PhD let alone a humanities one.

[1] http://royal.pingdom.com/2012/08/21/report-social-network-de...
There are a lot of questions as to the accuracy of that book and what's been described. I can't find great links (most of it might be internal academic grumblings), but this nytimes article is a start.

https://www.nytimes.com/2012/12/02/nyregion/sudhir-venkatesh...
The user could detect that, though, so it's a no-go.
>Flashing inside BIOS setup application can be prevented by password.

That is disabled by default. Most likely the BIOS checks this signature before booting or flashing itself, no difference if you are root or not. It IS useful for a bios rootkit. The private key of Microsoft would be useful for a regultar boot-sector rootkit.
I agree, those dotted grid books can be quite costly, especially if you tend to burn through a lot of paper fast.

I recently came across this site that let you print your own dotted paper which is a nice compromise.

http://dottedpaper.com/
PHP technically wasn't designed
Actually, Yasm doesn't require Visual Studio. To create .exe files you'll need a linker, but it works fine with ld.exe from MinGW.

Going assembly straight to .exe sounds convenient for learning, but isn't very useful in practice, so not many assemblers implement it. The most common use case for assembly language these days is to write a few functions that get called from some higher level language, and that's done by having both the compiler(s) and assembler spit out object files that are linked together by the linker. I suspect WinASM is just hiding the steps, and it'd be easy enough to create a Makefile that did the same.

The closest thing to assembly->exe that I know of is the "flat" binary output from Yasm. It's similar to really old DOS .com executables. I'm not sure they'll run on modern Windows, though.
When did they stop shipping physical copies? I ordered the new manuals for VT-x not 4 years ago and they were happy to ship me the full set of volumes for free.
I think it's reasonable to say this is one of those situations where different sides simply interpreted the situation very differently.
Corporate espionage rarely rises to this standard, which was the author's concern.
As one of the people complaining about statistics last week (and also, by coincidence, citing Zed's rant), I'm glad to see you are working on it and open to more ideas and improvements!

Also, I like the "sportsmanlike benchmarking game between different communities" vibe I'm getting from all this.

Would be nice if the community helps turn this into the de facto example of how to benchmark correctly.

Now I'll just have to wait and see how Go 1.1 compares ;).
Official release blog entry: http://www.openstack.org/blog/2013/04/openstack-grizzly/
Well said.

I think this discussion [1] from other day is relevant.

Basically, getting old and taking on more responsibilities doesn't necessarily have to mean becoming less productive as long as you can adapt your strategy and habits.

1: https://news.ycombinator.com/item?id=5488037
Interesting - I was working on DotSpots around the same time. ReframeIt was one of the people we figured were in the same space.

I've also hoped that web annotation will take off one day, but it seems fated to sputter every time.
But the other database tests were run against the same DB server and configuration. How can Flask's performance be the DB's fault?
What do you get when combine horrible lawmakers with horrible corporations?

▲
|
Completely disagree with this example of sketching.

Sketches should be visceral, messy, and fast. The entire purpose of sketching is to get the ideas out as quickly as possible.

I don't understand the purpose of creating preliminary sketches that you then redraw on nice paper. Are you trying to design a UI or make a pretty picture?

Also, throw sketches away? Are you crazy? Keep them. Later when you are adding a feature or changing the UI, you'll be glad to have those ideas to return to.

I use whatever pen is sitting around (usually the cheapest money can buy), and whatever paper is handy (usually scrap printer paper with stuff on the other side). My sketches are ugly and I take no pride in them.

The widget shown in the post isn't that great of an example. I'd have no idea how to use a UI like that in a real context. Also, it seems like you just chose to build the very first thing you sketched. You say design is iterative, so where are all the other concepts?

Sorry to be so brutal. I appreciate the spirit of your post. I agree with your rationale for sketching, but your examples/practices don't seem to match it.
"It shows how powerful the right metaphor can be in understanding something"

Just like how I was taught the difference between "<" and ">". Our teacher drew the rest of Pac-Man around the "<" or ">" so that we'd think of "<" or ">" like the mouth of Pac-Man. It wants to eat the larger number. But that was back around 1983 when Pac-Man was all the rage (when I was drawing Pac-Man eating ghosts on my folders).
Sentence detection is a hard problem, and I don't know that anybody has solved it for the general case. But pragmatically speaking, it is solved for many - if not most - common cases, and there are Open Source NLP libraries out there that do a pretty good job. For Java, you have OpenNLP and Mallet, the C/C++ world has Ellogon and Freeling, Python has NLTK, etc.
...and that someone could be you.
Nice! And, I always read mov x, y as analogous to memcpy(x, y, size).
The "privacy angst" folks like Om Malik are wrong
Nobody Knows That I Use These Apps
Becoming your story
EPCR Has Been Open Sourced (iPad app for EMTs)
You can only be hit with a misdemeanor for violating the CFAA. It upgrades to felony status only when in furtherance of another crime.

A lot of this could be solved by getting rid of the misdemeanor penalty, and making it a felony only in conjunction with the commission of another felony.
Better algorithm, just as simple, would be splitting at ". ".
Making something smart enough to not split at "fig. 1" and the likes would be more difficult.
Very specific, but surprisingly useful. Thanks for sharing!
Anything is difficult to pick up when you're just starting out. The important thing is to not give up. Too many people just stick what they're already good at as they grow older.

I recommend http://learnpythonthehardway.org/.
Your Weekend Security Challenge: Password-Style
This is exactly the sort of question that should be asked in the context of benchmarks like this. There have been a lot of good comments in response, but I just wanted to thank you for asking one of the best questions in this thread.
And how many games programmers are thinking.. hmm... should I write my physics engine in ruby?
Thought I'd jump in here. Yes, parsing sentences are actually quite difficult.

Disclaimer: I am currently working on a text summarization startup, http://Summary.io

There are a few different approaches to parsing sentences, and only a few giant NLP libraries. What I have found the best in 95% of use cases to to write custom (RegEx) rules.

Attempting a sentence such as:
And then Mr. Bean (http://www.mrbean.com/?index) said to Col. Sanders, "Holy moly sentence extraction is hard!"

You have lots of little things like making sure you take the full quote and disregard periods in surnames, http links, etc. Parsing just by periods, question marks, and exclamtion points are going to lead to a lot of problems.
Yes, because I try to evade a major defense contractor's attempts to kick me off their network dozens of times a day.
How about just writing CIL for the .NET CLR? It's fine if you just want to get used to assembly.

Intro at:
http://msdn.microsoft.com/en-us/magazine/cc301368.aspx

Ecma spec at:
http://www.ecma-international.org/publications/standards/Ecm...