skysight-inc/HackerNews huggingface dataset:
Tornado is batteries included. Flask uses Werkzeug and Jinja2 and encourages packaging extensions for localization, form processing, ORM's etc.. Flask, Werkzeug and Jinja2 are all Pocoo projects that have a good community around them and excellent documentation. Technically I would not like to argue the superiority of either, although Flask seems to fit my tastes much better.

Flask's use and deployment of "magic" is pretty spot on. For example by making the request object omnipresent (that is flask.request is always bound and has the right context). That way it is not passed around the MVC stack but just imported and introspected when needed.

Flask is probably the "healthiest" project I've encountered.
There's hamlish-jinja which is a preprocessor for haml-like[1] syntax for Jinja.

The project with the most traction seems to be HamlPy[2], but it's limited to Django templates.

The only generic implementation of Haml in Python that I'm aware of is PyHAML[3], but I have never used it.

[1] https://github.com/Pitmairen/hamlish-jinja
[2] https://github.com/jessemiller/HamlPy
[3] https://github.com/mikeboers/PyHAML
Here's a voicemail I saved of a phishing call:

http://www.wikiupload.com/SWUSHQPIZSISWW3

Contents (google voice text-to-speech * ):

This is not active. To activate computer protection go to www, dot G ohh Hey Al, yeah. H. Hey Al, dot com failure to do so may result in severe computer malfunction. To activate computer protection go to www, dot G ohh Hey Al, yeah. H. Hey Al, dot com failure to do so may result in severe computer her W W dot G ohh Hey Al, yay. Bye. Yes, dot com failure to do so may result in severe computer malfunction. To activate computer protection go to www, dot G ohh Hey Al, Yeah. H. Hey Al, dot com failure to do so may result in severe computer malfunction. To activate computer protection go to www, dot G ohh Hey Al, yeah. H. Hey Al, dot com failure to do so may result in severe computer malfunction. To activate computer protection go to www, dot, G, hello Hey Al, yeah. H. Hey Al, dot com failure to do so may result.

* er, voice recognition
I cant help myself but Neo4j is just awesome :)
Can someone help me understand where Flask fits into things? It would essentially be a replacement for Tornado? What's the advantage of this over Tornado? Ease of use?

Pretty much yes to all of this.

I can understand the simplicity argument; I chose to avoid Django because it was too heavy, so I'd love to hear more about how Flask compares.

Flask "feels" more like CherryPy than Django to me, but yes, it's more lightweight than Django and more modular (doesn't define an ORM, etc).

The thing that keeps me from using Flask for any serious work is Django's admin interface. That thing saves me ridiculous amounts of time.
Not true. Just look at Wallstreet. How many of those firms were sued?
All numbers are divisible by 2, in that sense..
When dealing with a lot of data, the latter SQL query would potentially be significantly faster than the former. If your goal is simply to show a top-10, then caching the entire results would be a great idea, but if you're goal (like in the article) is to make retrieving the first 5000 comments quickly, then this implementation is pretty solid.
Yeah there's the logical imply, but that's not exactly what we're after here (I don't think) since the truth table can be tricky and doesn't have to correspond to anything in reality. The truth table for "If P, then Q" (P->Q) evaluates to "True" in all cases of P and Q except when P is True and Q is False. (That is, we don't want true premises to lead to false conclusions, so p->q is false when p is true but q is false.)

I'm actually more interested in the mathematics of causality which is formally contained in Probability Theory. (See Judea Pearl's "Causality" for a full treatment...) One expression can be in the form of Prob(Y = y | do(X = x)) (essentially invoking a "do" operator in your given information), another form of representation is with graphs and arrows; electrical engineers have no problems with causality (at least for normal things). Here's my speculation, but I'd say that in the framework of probability theory, a correlative implication can be expressed as background information. And so you ask if prob(short life given unhealthy and some common set of bg info) > prob(short life given just the bg info) to see if there's an "implication" there you may want to investigate and perhaps infer a causation by performing a do() operation (e.g. controlled experiment).

Also I find it interesting that physics doesn't have any notion of "causality" in the equations, they just state a relationship. "F = m*a" works in time-reverse as well as time-forward (though this isn't always the case for all the laws, some change under mirror reflection or charge differences).

Anyway, I'm not a formal mathematician, someone more knowledgeable can correct me on anything. Read Pearl, Jaynes, etc. if you want more probability theory!
I dunno... I've never seen a system in which having substantial amounts of non-recreatable data stored "outside" of the file ended up being seamless and seemed like a net gain to usability [1]. I'm thinking about years of annoyance at OS/2's extended attributes, Classic Mac OS's resource forks, and I think WinFS would have had some similar external metadata too. In practice, it seems to me like they end up being fragile and frustrating even in a world of single-user computers (they sometimes get lost when moved to a non-native file system or when the file is manipulated by a program that doesn't respect them [2]), and become easily more trouble than they're worth in a networked world where you want to share documents and other files with users on other systems/platforms. A UNIX-style unstructured-array-of-bytes model seems to be the baseline on the Internet and any extra structure is iffy at best.

Also, I note that when Giampaolo himself was implementing the subsequent metadata filing system that he worked on (Mac OS X 10.4+'s Spotlight feature), he went with a system-level metadata harvesting/indexing model where essentially all data (except for user-added Spotlight Comments, I think?) is wholly derived from the file itself by importers that are invoked by the system to populate its external indexed cache of metadata. That way, even if that central metadata database is blown away, it can be recreated at any time. This also allows interchange processes to only rely on what nearly always works across systems: the data itself and very basic metadata such as filename and creation/modified dates. And programs never have to worry about updating metadata aside from that which is internal to the file format.

[1] doesn't mean they don't exist (perhaps even BeOS, which I haven't used much) and I'd really like to hear about them, just talking about my own experience

[2] in this case, it can sometimes be even worse than a program wrongly blowing away the "resource fork" - a badly behaved program can update the file without updating its metadata, causing the metadata to be wrong!
I'm always suspicious of "percent change" data that isn't supplemented with absolute values. If there was a big change for the worse, does that mean they used to be good and are now normal or that they used to be normal and are now bad? And is the value high enough to even make the change meaningful? You have the same problem with any other change. It just seems to raise more questions than it answers.
I've never seen a complete waiver of rights. What you typically sign is an agreement to try arbitration before (or instead of) suing in the courts. I don't believe it is possible to waive the ability to be penalized for negligence, just the venue the penalty is assessed in.

Of course, said arbiter is much less likely to give out a seven digit award than a jury is.
While I agree with everything you've said, I really only apply these criticisms to the so-called "triple-A" developers out there. There are quite a few indie developers out there that are making engaging, thought-provoking puzzle games. They are typically short, have interesting gameplay mechanics, and inexpensive.

One great example is SpaceChem. It's a joyously frustrating game that revolves around "programming" reactors to create molecules from other molecules. The joy of finishing a level (particularly if you can beat the curve in terms of time/instructions) is tangible.

Don't despair too much at the state of the game industry, just don't look to the "leaders" for your interesting games.
http://flask.pocoo.org/docs/testing/

For testing a MongoDB database, I wrote a simple unittest.TestCase subclass that in the setUp and tearDown, creates and then deletes a test database.
ES6 Suggestion: Deterministic property order for Javascript objects
Zork like set of games
For what it's worth, Monkey Island on the iPad is amazing. Seriously the way it's meant to be played. I just introduced my girlfriend to the series on the iPad the other day.

Tablets seem to be bringing adventure games back a bit -- they were effectively dead for the longest time.
Precisely my thinking, U of I actually has a lot of services and resources for student entrepreneurship, all of which are essentially free or cheap. Plus the untapped knowledge from a community of like-minded peers. Not to mention the available support from professors, many of whom have walked this path many times before.
Previously submitted:

http://news.ycombinator.com/item?id=2641430

http://news.ycombinator.com/item?id=2642613

There were more, but my search-fu has failed.
Sorry, but I think your opinion is the minority.
Fair enough, so let me remind anyone who wants a very thin OS for embedded x86 applications that FreeDOS (http://www.freedos.org/) is a great DOS for the purpose.
Interesting:

> Halmos argued that mathematics is a creative art, and that mathematicians should be seen as artists, not number crunchers. He discussed the division of the field into mathology and mathophysics, further arguing that mathematicians and painters think and work in related ways.
S MJ remembered: Fans celebrate second death anniversary
Could you put an example on pastebin or somewhere? I would really appreciate this.
You assume that the word "engineering" means the same thing in bridge building vs. software development. It doesn't. These activities are no more alike than software development is to, say, writing novels.

If you really want to compare software to bridges, imagine that humans had written the same simple program millions of times over thousands of years. We'd be pretty good at it by now. (Even that analogy, though, doesn't level the playing field. The physical world is not programmable.)

Why do people assume that it is acceptable to make mistakes in the software world, but not in the "physical" world?

We know the answer to this. It is possible to make software that has very low defect rates -- among other things, you have teams of programmers intensively review every line of code -- but these practices have drastic consequences: projects become massively more expensive, development slows to a crawl, and innovation is greatly restricted. There are only a few fields where those tradeoffs are worth it. Elsewhere, they aren't close to being economic. The net benefit of software to society would be crippled if we built it this way. Of course we never would, because any software company trying to would be out-competed into oblivion.

As for Dropbox, when I see programmers jump all over other programmers for making a mistake, even a big mistake (or series of mistakes compounded), I think schadenfreude. People who engage in such gleeful condemnation are making an implicit claim to their own perfection. I'd think twice about doing that.
At the end of the day, people are picking hairs about the "definition" of a word. Pivot is an easy term to remember instead of having to describe at length the change a company made. I think the bigger concern is throwing the word pivot around to the point it becomes an annoying buzzword, rather than arguing about semantics.
Is mechanize (http://wwwsearch.sourceforge.net/mechanize/) considered outdated or convoluted? It's what I've used for my scrapings.

Also, how well do these other scrapers handle Javascript? I've had to abandon some scrapes from ASP pages because they wouldn't properly handle it.
Similarly, it's become possible for children to become Type II diabetics, which coincides with a massive increase in obesity (probably both caused by a root cause).
From the article:

"Black holes, if you recall, are created when stars run out of fuel and die. In dying, they collapse into a much smaller mass with such enormous gravity that it sucks in just about anything that comes light years near it."

I may be wrong, but doesn't the mass of the black hole roughly equal the mass of the star? I know some is lost during the explosion, but I thought the mass stayed roughly the same and just the volume significantly decreased.
Two great adventure games by Westwood Studios and published by Infocom:

- Circuit's Edge: A cyberpunk game set in the Middle East http://en.wikipedia.org/wiki/Circuits_Edge

- Mines of Titan http://en.wikipedia.org/wiki/Mines_of_Titan
Good catch. I definitely meant it in the sense that I doubt anyone would currently argue such a thing.

But the same historical twist applies to photography, albeit a century earlier -- whether copyright should be extened to photographs was a hotly debated issue in the courts.

It wasn't until 1865 that copyright was extended to photos, almost 100 years after copyright itself was instantiated.

More details: http://www.copyrighthistory.org/cgi-bin/kleioc/0010/exec/aus...
Company: Microsoft

Brands:

Office
Windows
Sharepoint
Dynamics
etc.

Company: IBM

Brands:

Lotus
Rational
Tivoli
Cognos
WebSphere
DB2

The point being, that it's pretty routine to have a "company name" and then one or more "brand names" that hang off of the company name. All of that said, it's a judgment call on when/what/how many brands to have... The one thing of interest that I'll throw out is this... marketing guru Jack Trout (of Positioning fame) is a big fan of launching new products under a new brand name, instead of doing a "line extension." Now that's in the context of an established company, not a startup... but I think you can generalize the point to "yes, it's OK - perhaps even preferred - to have multiple brands."

In my own case, my company name is "Fogbeam Labs" and I fully intend to name the product(s) something very specific when we have something to ship. http://www.fogbeam.com will always just be a link to the main company website... any hosted / SaaS apps will have their own domain. I should probably point out, though, that our primary focus is on the B2B / Enterprise Software market, and my biases are towards thinking in those terms. Any or all of this may have absolutely zero relevance to your situation. :-)
The biggest change I've ever seen is when I changed one name from "* Lite" to "Free *". Went from about 100 to 1,000.

Regardless, I stopped promoting my best selling apps and they sell exactly as many copies.
If you have the app binary, you have the secret key.

No, you have the access token. There's a big difference.

It's simply a matter of attaching a debugger and waiting for the URL handler to be called. Even the trick auth flow on iphone where it opens the Facebook app has the same vulnerability.

Yep, you can do that. But then all you know how to authorize the app to act on your (the logged on user) behalf. You can write another application that pretends to be that app, but since it acts on your behalf I'm not sure that's a big risk.

In the case of this KDE program, not only do you know how to make the app act on your behalf - but (as the OP noted) - it is probably possible to make the application act on behalf of any other user that has authorized this application id. That's a pretty bad problem.

It sucks for the legitimate users who uploaded the pics using it, but who knows what else got uploaded to other people's accounts using this program? I suspect that's the reason why Facebook didn't just bad the app, but had to delete pics as well.
Yeah, nobody can prevent a leaked password from being used to the site from which it was leaked.

This extension is helpful because people reuse passwords: a leaked password cannot be used to causes damage on other sites.

Obviously, I agree that sites shouldn't store passwords in plaintext, but good luck enforcing that.
tldr; "Listen to your customers and try to make a big but not 180-degree change in direction. I'm going to call this a veer. I know of a company doing this, but I can't tell you the details. But they are awesome."
Regarding comments about Web IDEs replacing Emacs, I don't see how this could happen with current editing capabilities of those IDEs. While they might be better at storing your sources safely, their editing capabilities just suck compared to Emacs or Vim. Working with code isn't only about entering text.
I don't understand when the chords come into play - I don't understand the rules.

But seems like you could generate nice, non-repeating elevator music by hooking something up to an RNG or PRNG, and never hear the same song in the elevator twice.
Felt to me more like "check out this company" than "let me explain something new to you."
Wow that was a very interesting article. Thank you so much for the advice. I am working on an app of my own now and my marketing plan was essentially the same as what you did. I would have never guessed it would be so hard to get people to look at an app.
These little fixes are how I got into Redis and a month or so later, it's a primary data store (with disk based fall back) and I find myself doing 99% of aggregation and temporary storage operations with it.

Really great tool for the belt.
It's likely that the tool (or - more precisely - the app id & secret) let people upload pictures into other people's accounts. Facebook couldn't let that stand.
It would be great if they had an event like this for men who want to learn from the beginning, too. Obviously the same rules should go. Women could come, as guests of the men.
The Anti-Swiss Army Knife
> http://news.ycombinator.com/item?id=2704791

> The mathematical world is as full of lonely pi's, as it is of 2*pi's. Now we need to move to tau/2 and tau, only to get a pi-manifesto in a couple of decades.
Report: Sony CEO Stringer asked to step down by shareholder
RAM is expensive in the cloud. So unless the cloud is a strict requirement it will normally be much cheaper to build out a box with 32G (or whatever fits your need) and run redis on that.
Gender Prediction with Python
Media choose HTML5 web-apps over Apple/Google app platforms
Show HN: I created a multiplayer, realtime adaptation of the board game Reversi
I don't think the latter SQL would be significantly faster assuming the appropriate index on created_at.

The database can read the last 10 via the index directly and they would all most likely be on the same index page. Assuming any sort of normal caching, this would be at most 1-3 random reads and most likely none since I presume that the created_at index is generally be written in ascending order.

Once that step is done, it is essentially identical to your IN statement you did.
"Does it take weeks now? I doubt so."

Ooooo, bad choice of example. It takes a day or so now, since WebKit is embeddable.

You're trying to separate something that can't be separated. You can't separate "making things take less time" from "making better things possible", because the bound in all cases is time. If you have to spend less time on X, then you've got more to spend on Y; if you can't spend less time on X you'll never reach Y. It's the rare improvement that can only improve quality, but doesn't in any way permit you to instead trade that for time.
Here's what DID work for you -- summing up all those failures into a well written, entertaining and light-hearted article that is genuinely helpful to anyone else in the iOS game.

Oh yea, and the front page of HN this time around.

It sounded like you got your hands wet in a lot of different things. That doesn't necessarily mean you are going to retire on this game, but think how many people are aware of you now and when you do Bullet Factory X (where you skeet-shoot puppies and elderly people) you'll have that much more information on how to promote the game or where to spend your time. It also sounds like you had a successful working relationship with your sister (as an artist) which is half the battle for any game title. So that's a big win right there for your next game too.

I'm not that surprised as the lack of feedback from bloggers though. I think I get 10 emails a day following the format:

OMG, Super Games Factory, LLC has just released the
most amazing game on the planet: Dish Washer!
Wash dishes in amazing stick-figure 3D! Contact us for
a free evaluation code!

It just wears you down after a while so ignoring something like Bullet Factory isn't an insult, it just falls into the 'spam' category of garbage announcements I'm sure most bloggers get every day.

Bullet Factory is a fun/simple concept, but it seems better as an ad-supported title (it's too simple) than a 99 cents title when you compare it along side other 99 cent titles I've seen in the app store. The bar is getting higher and higher and unless I see something amazing in screenshots or a trailer, it's not even worth the purchase barrier to entry for me to try it. Unrealized value (purchasing a game for 99 cents only to realize I hate the gameplay mechanics) is so frustrating to me, I'd rather just not buy something I'm on the fence about.

I would take the low-sales-since-december-even-though-you-are-marketing as an indicator that it isn't a high-demand game. Release a free ad-supported version of it "Bullet Factory FREE" and move on to your next title. Keep track of the download differences to learn a bit more about what worked, what didn't and where the bar is.

That's not to say your next game or the game after that won't hit -- keep pushing, you'll have a success and it will catch you by surprise.

They always do.
Ask HN: Is it stupid to add In-App Purchasing now?
I've built a web app and iOS app that will soon be integrated ( http://inthatbox.com ). I'm planning to make the web app a freemium service, and was thinking that I'd move the iOS app to a free with In-App Purchasing model to match up with the web app. I also think that IAP would be beneficial to marketing of the app.

The question is, is it a bad idea to add IAP now, with all of the patent legal issues still undecided? I tend to think (/hope) that Apple will prevail in the long-run, but on the other hand I'd rather avoid being sued.

So basically the question is - Is it stupid to add IAP right now?

Also, if I shouldn't do it now, at what point should I begin to think about jumping in?
Holy cow. This thing is even better than PwdHash (ability to avoid special chars in particular, and multiple platforms supported, and it's actually being maintained). Thanks!
Clickable link (if you want to see the app in question): http://inthatbox.com
"As we can easily see" == doesn't seem implausible after you read the paper countless times, re-work all the derivations from scratch at least 7 times, read the cited docs, get out your old analysis texts to look up some theorem you'd forgotten existed, and sacrifice a chicken.

I must say, there's nothing like reading a math paper to remind me that there's no shortage of people in the world that are way smarter than me.
Interactive Fiction as a genre is significantly less accessible than FPS. Not only due to the medium of text, which is inherently less flashy and instantly compelling than 3D environments, but due to the nature of the puzzles.

Taking the rose-colored glasses off, a large part of the adventure gaming genre (including point-and-clicks) relied on obscure object interactions or guessing the right command to proceed. Freeing a bird to drive away a snake in Colossal Cave Adventure is not necessarily intuitive.

For some people, including myself, this is fun. But it's not an easy, thoughtless, escapist form of entertainment - which is where the modern FPS comes in.