skysight-inc/HackerNews huggingface dataset:
I think Flask is like Ruby Sinatra and Perl Dancer.

I've used Dancer quite a bit. Some for larger apps (30+ pages)

This is how I typically lay out a Dancer app. Starting with a top level directory of application name, say "MyApp", I put the routes in different directories instead of jumble them all up in one file. As an example, lets use an app that handles and tracks customers and orders. So something like this:

MyApp/
└── Routes
├── API
│ ├── Component
│ │ ├── Customer.pm
│ │ └── Order.pm
│ ├── Customer.pm
│ └── Order.pm
├── API.pm
├── Customer.pm
└── Order.pm

(templates should have a similar layout in a separate 'Views' directory)

Routes/Customer.pm would handle basic requests like GET /Customer/list and POST or GET Customer/1

While routes handling json/ajax only requests (from jquery ect) would be in Routes/API/Customer.pm. Routes/API.pm would be an api for stuff that doesn't directly involve a Customer or Order object (perhaps returning json from an inventory table or something)

And if you get tired of requesting json just to convert it into html with javascript and you want the power of a template (without a SPA); I fetch that stuff with jquery .load() using the 'Component' routes (dynamic parts of a webpage). For example, perhaps when making a new quote, you select a specific customer and you want open orders to be displayed in a popup or inline div somewhere. Using jquery .load(), you would just easily fetch /API/Component/Customer/Open-Orders/<cust id#>, ect and then just inline the returned html. If you stick to a rule of "components can only return html and not cause a page refresh", you will keep from getting too big of mess with them.

This is just sorta a method I made from various best practices from other frameworks. Perhaps its barftastic, but I haven't been complaining about it.
Performance Tuning Amazon EC2 Instances (2014)
Wayland-protocols
Of course inflation brings in revenue. You get inflation when the government prints money (electronically, these days) to "do stuff". It's no different than a tax on any account you hold with that currency.

And inflation allows the government to make money off of any asset you hold, too. Let's say you buy a brick of gold (or equities or real estate - doesn't matter) worth $100. In a non-inflationary environment, you sell you brick for $100 ten years later and... nothing.

In an inflationary environment, you sell your brick ten years later for $1000. From the government's perspective $900 of that is profit for which you'll have to pay income taxes, even though the purchasing power of $1000 is the same as it was when you bought the gold. If your tax rate is 30% that's a $270 tax payment, and the government has managed, through inflation, to take 27% of the value of your gold brick.

Inflation is a wealth tax. Always.
"any of the public keys in your certificate chain" includes your own certificate, so yes, that's possible.

However, if your main and backup key is lost or compromised, you have essentially bricked your domain. That's why most real-life deployments pin to two CAs instead (since CAs are generally better at managing keys).
>> 14 percent of the members of some teams at Google alone don’t have a college degrees?

I'm finding this hard to believe. Google has a raging hard-on for academic credentials.
> Children, when running, do not land on their heels.

You must have never lived in a wood frame building, below a family with kids.
We plan to support both .github and .gitlab in GitLab https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/2864
"'I've Got Nothing to Hide' and Other Misunderstandings of Privacy" [0] is a really good paper on why the argument of "only bad people have secrets" is such a fallacy.

[0] http://scholarship.law.gwu.edu/cgi/viewcontent.cgi?article=1...
Indeed. The machines that do the actual work will still use a an inaccurate clock and get periodic corrective updates. That being said, you should be able to get a much higher precision using PTP and some decent network cards. There are plenty of factors that come into play (network latency, congestion, etc) but 7 ms sets the bar low.
> And every so often the community goes off on some crusade. Everything must be Design Patterns. Everything must be specified in XML. Everything must be a Bean. No, everything must be Injection. No, no, everything must be Annotation.

You couldn't have described this better for me. This is my exact frustration with the ecosystem, and it's the only thing that keeps me from using Java as my default language of choice. The language itself can be used very well, just wish the tooling was more concise and functional.
I suspect dh997 was referring to "Guns, Germs, and Steel".
That is also my issue with Go for web apps.

Doing things a bit lower level with beautiful standard libraries is OK. In subjects like html parsing, templating, routing or intercepting requests it has a meaning. You learn dynamics more down to the metal. However raw sql and value mapping with NullString etc. doesn't give the same joy. Maybe a higher level standard or additional x package can solve this problem.
I agree with him yet I find GPL deeply unsatisfying. Web companies can take GPL software and use it without returning anything etc. and it does not harm them at all.

The distinction should be between for-profit/commercial and open-source. If you're making money on open source, you should chip in to reward the authors, and license should enforce it.

That's why I'm in contact with CopyFair License people: http://p2pfoundation.net/CopyFair_License to create a CopyFair Software License and even a collaborative software development model CopyFair Corp: https://github.com/CopyFairCorp/copyfair

The idea is: people work on open source software and get shares in return. Software is free to use for other free projects, and must be paid for to use commercially. Any income is distributed between the authors according to "shares" in the project.
Please check facts before posting.

> Quantum [...] were beating IBM and IBM needed more capacity so IBM bought them.

No, Maxtor bought Quantum's HDD business, and Seagate later bought Maxtor [1], [2], [3].

> Western Digital who sold the drive business to Toshiba

No, WDC sold some assets related to desktop (not server) 3.5" (not 2.5") HDDs to Toshiba [4], [5], [6].

[1] https://en.wikipedia.org/wiki/Maxtor#Acquisition_of_the_Quan...

[2] http://www.cnet.com/news/maxtor-buys-rival-quantum-to-become...

[3] http://www.pcmag.com/article2/0,2817,1966943,00.asp

[4] https://en.wikipedia.org/wiki/HGST#History

[5] http://techreport.com/news/22553/toshiba-becomes-third-playe...

[6] https://news.ycombinator.com/item?id=8367993
GG&S == Guns, Germs, & Steel
> would only load and execute on the SUBJECT DEVICE

You're wrong because any image that can be installed on the SUBJECT DEVICE can be modified to be installed on OTHER DEVICES.
1) If my understanding is correct, you won't need a new Go binary. You can simply update the library, Go just links to it. Go even links to libraries if you use certain packages from the standard library, e.g. `os/user`:

$ cat homedir.go
package main

import (
"fmt"
"os/user"
)

func main() {
fmt.Println(user.Current())
}

$ go build homedir.go

$ otool -L homedir
homedir:
/usr/lib/libSystem.B.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 0.0.0, current version 0.0.0)

2) You (most likely) have to recompile and re-deploy the downstream Go program with the patched library.
3) Not sure.
Yea, I wouldn't read my above list as a list of roadblocks. The JVM is a serious work horse and every year the list of complaints I have shrinks. Go certainly has its own problems as well, and the performance profiles that pain java are probably not going to fare much better under Go. The major win is probably goroutines.
This is based on my limited physics education, but I believe there are two things at play:

1) Velocity doesn't affect time, acceleration does. So if your twin flies to Mars and back, you age more quickly. But if your twin flies to Mars, and you join him after a year (following the same trajectory), you age the same. This is special relativity.

2) Acceleration due to gravity doesn't count. In fact, the opposite is true -- by standing on the ground, you are accelerating up at 32 feet per second squared. This is general relativity.

So, to answer your question. On the one hand, yes, if I am accelerating (not counting gravity), then I observe time pass more slowly. On the other hand, most of the universe is dominated by gravitational forces, so most systems wouldn't notice these effects.

The fascinating thing is that both (1) and (2) happen because of a very basic physics principle: if I can't use an experiment to tell two frames of reference apart, then the physics in the two frames of reference are identical.

For (1), I observe the same speed of light as someone moving at velocity v relative to me. Einstein used this simple axiom to derive special relativity. For (2), I can't tell the difference between free fall and being at rest (alternatively, I can't tell the difference between being on Earth and being in an elevator in space). This is because the inertial mass equals gravitational mass, a "coincidence" that dates back to Newton's law of gravitation. From this (and a lot of math) Einstein derived general relativity. Beautiful!
After re-reading the others in depth, all other examples appear to use appropriate comparison methods (knowing nothing of the underlying implementations). I've updated my comment to clarify.

I see your team is actively posting on the bcrypt-ruby issue #119 as we speak, so I guess I'd say wait for the PR to merge, or manually implement the approach they've outlined to secure compare: https://github.com/codahale/bcrypt-ruby/pull/119/files
That really looks sweet! But glancing over the FAQ, it's not clear to me if it doesn't do IMAP&SMTP with the big players, or if it doesn't feature IMAP&SMTP at all?
Maybe it's just that our definitions don't match. When I think of "invalidating" someone's feelings, I think of downplaying them, refusing to acknowledge them, or even denying someone's right to have that feeling. Think of comments like "oh, you're just PMS'ing", "don't fuss, how can you make this into such a big deal?" or "you're white/black/male, so you're not allowed to feel insulted about this".

No, what I mean is not closer to "your feelings are dumb" either. Telling someone to fuck off is communicating that their /presence/, or their /attitude/ is unwanted. It doesn't directly attack their feelings at all. It may be uncaring, and the recipient may still be hurt by it, but it's a far cry from denying people their right to feel.
uWsgi does have an async mode, which works together with an async loop engine like gevent: http://uwsgi-docs.readthedocs.org/en/latest/Async.html

Of course, this doesn't change your app and its dependencies to work in an async-friendly way, but then again, Node.js callbacks are hardly transparent either.
Point taken about the high rate environment -- I'm not sure where I thought that other money would go. But it's still not obvious that you would be better off under your plan.

You're financing two assets, you home and your portfolio with some mixture of debt and equity. Without making assumptions about the expected return of the housing market, the return on your portfolio, the variance of those returns and the horizon, its not clear that you'd still be better off.

You say take advantage of the cheap (tax-favored too) leverage -- I'd be concerned medium term variance in returns. That ETF you pointed to is down over the past 10 years and underperformed the market -- and it looks like it missed a few dividend payments during the crisis.

https://www.google.com/finance?chdnp=0&chdd=0&chds=0&chdv=1&...

> That's why no other country on Earth that I know of has 30-year fixed mortgages. They are essentially a government subsidy to homeowners via Fannie/Freddie.
>I just don't see a legal reason why I'd want to pay for a large purchase in cash.

And that's fine. Don't use cash. But just because you don't see a reason to pay for a large purchase in cash doesn't mean other people don't.

The correct answer to someone who asks "Why should you be allowed to pay for something with cash?" is "Because I want to, and beyond that it's nobody's business."
Thanks. Wasn't aware of that. Mostly fulfills the requirement.
Usually it seems the "secret" comes down to be lucky many times in a row. From what I've seen this is many times the only thing that all successful entrepreneurs have in common.
Open source software can be trusted as much as we can trust ourselves - and that's as good as trust gets. I'll take that any day over trusting one party with a vested interest in making money.
Where do you park your van, and how often do you shower?

Also, do you worry about your van being broken in to while you're not there?
What is an alternate? I've never heard of that and Googling tells me nothing.
Sure, through packages, but you'd need to adapt the entire standard library to take advantage of them, so you could pass new data structures to built-in functions and get meaningful results.

Generic iterators would also be extremely useful to build in, so it's easy to work with a wide variety of structures.
Interesting to consider how some companies doing much less work on their machines than SO need clusters of hundreds of servers, meanwhile they can serve the 57th site by global traffic (according to Alexa) from one physical machine .

Sure there is other stuff backing that one, but the next time you hear someone talk about big clusters and hundreds or thousands of nodes, just take a moment to appreciate how much can be done with one rack of gear these days.
Public company management teams consistently meet with sell-side analysts (that is the analyst's job in this case) and with mutual fund managers. When he said "we just had them in town" he very, very likely meant that management met with him and his other sell-side analysts. That has nothing to do with investment banking relationships or the "Chinese wall".

If a sell-side analyst throws a management team under a bus publicly, often times the management team won't visit the analyst. That makes it hard for the analyst to do his or her job since they cannot ask questions about the company.

It is a big issue, but not the issue you bring up.
In fairness the value of your home is not constant or risk free either.
Great news, in my twenties all the mysteries of the world I cherished slowly faded because of 'science'; the bermuda triangle, easter island statues, ufo's - the mysteries explained away. Now science re-opens the sense of wonder about the possible role of the statues in their sustainable microsociety
Top Greatest Battlestations and Gaming Setups
There is a big downside to structural typing as golang implements it though. Refactoring tools. They quite simply cannot do the same kinds of safe refactoring something like a Java refactoring tool can do, because you can't be sure if the function you are trying to rename, add parameter too, etc. is actually the same function in question.

There are times when I love the structural typing aspects of golang (trivial dependency inversion) and there are times when I hate it (nontrivial renames), its one of many trade-offs you have to be prepared for in golang.
It's been more correctly Bained. See what happened to Guitar Center for details.

Enron was a real company doing real work. Bain, not so much. Sure, the traders at Enron were completely out of control and the management team was out to lunch, but please remember that MCI was even part of Enron.

But YEP! drained of cash and loaded up with debt. The small details don't really matter than much.
Pentagon orders Windows 10 to be installed on all 4M of its PCs
Venezuela announces first gasoline hike in 20 years, from $0.01/liter to $0.95
uh, Windows does support other architectures than x86: currently, it supports x86, x64, ARM and ARM64. (and as Windows Server 2008 R2 is still supported, the IA64 version is also still suppored)
Debugging, cross-platform, integration with a lot of other languages, and databases, local history, out of the box configuration for everything you've just mention (including the Vim key working mode, via a plugin) so that people don't spend time in doing all of that and so much more :)
The SSA branch is for a future version of Go, possibly Go 1.7.
I'm not saying I agree with that move from a moral standpoint, but I'd bet money that Yahoo has a better chance of making it work. The demographics are different, there were enough tech-savvy people who understood Google's business model well enough to realize that co-opting people into a social network was going to give Google a scary amount of information. Yahoo isn't the behemoth that Google is, and I'm not sure that their audience is made up of people who understand that business model intimately enough to see the dangers.
IIRC from the e-mail thread, the idea being discussed was to potentially merge the SSA branch immediately after the release (in order to have as much time as possible to test it), so I'd be surprised to find it in this release. There were concerns about the compiler slowdown but I didn't see the end result of the thread.
Well, most (or all) web applications I've worked with make database calls to serve a response, which (in case of Flask) locks the whole thread

I don't get this, when did Flask start connecting to databases? The only point of Flask is that it only provides an HTTP layer, nothing more. If you want to connect to a database, you have to import some other library (or use something from Python's standard library), which may or may not be blocking.
Understanding how mergesort is implemented can be useful. I've had interviewers ask me to sort a data set that is too large for a single hard disk to contain. Mergesort is like map/reduce; it can be distributed.
I think deleting something would be considered an active action. The trick with a canary is that you're choosing not to do something, so it can't compel you to act (as compared to, for example, telling you you can't delete the canary).

So for it to work, you need to issue a statement every month that says you haven't been issued a NSL, and then simply not issue a statement the month you finally were issued a NSL. That would then require the government to actually compel speech (compel you to post a new notice saying you didn't receive a canary).

Of course, the above should make it blatantly obvious how absolutely absurd the blanket gag order on NSLs are.
Released OrientDB 2.1.11
The "wealth" will disappear over a few months. The bubble always pops more quickly than it grows.
They put my brother through a bit of school - I left home at 18 on unamicable terms over my sexual orientation. Its a competitive world but spending every waking minute of your time on things that will give you resources will not give you the skillset needed to enjoy the resources you get. If you're trying to climb the socioeconomic ladder make sure you ask yourself whether its really worth it.
Fun fact: practically every assigned problem in undergrad chemistry, physics and math is solved on yahoo answers.
> I hope Apple finds a compromise where they can help get this specific data without risking leaking a compromised OS.

I want pharmaceuticals without side effects, and real doughnuts that don't make you fat.

Seriously, you are asking for "A" and "not-A" in one sentence. Take your pick. Are you willing to get this one phone unlocked so badly that you would be OK with nobody having security? Because that's what you're asking for, whether you realize it or not.
https://github.com/orientechnologies/orientdb/issues/5597
If it works in Go 1.5.3 but not Go 1.6, definitely consider filing an issue. https://github.com/golang/go/blob/master/CONTRIBUTING.md
1) Was this static C library? Then you need to recompile. If it was dynamic then the question is did abi change? If yes, you need to recompile, otherwise you don't (but security updates usually don't break abi).

2) Always.

3) Yes, Go runtime is linked in to executables build with Go.
pg->viaweb->yahoo->pg$$$->ycombinator->hackernews
> Can a candidate lacking the technical skills go deep into details the way the parent commenter describes?

More often than you'd think, alas. I'm going by about fifteen years of personal hiring experience, for whatever that's worth.
Online dating still requires you to be in a location with an extremely large population of single women. It doesn't matter if you visit the one bar or OKCupid if you've already asked out and been rejected by the only three eligible people in your zip code. You need a large enough population to successfully find a match, and the only place to find large populations of single women are major cities. (And a tiny fraction of cities at that--I chose poorly here and very much regret it.)

Basically, when it comes to dating it doesn't matter if you live in Issaquah (15 miles from Seattle) or Othello (180 miles from Seattle.) In neither case would anyone who lives in Seattle be bothered to go out on a date with you.
I thought the same thing when I read it. If Apple can do this, then it's already a backdoor, and all the publicity of "Even Apple can't hack your phone" was false. But it turns out this is an older 5C, not the new 5S and up. So those old phones were effectively backdoored.

I agree that Tim Cook has spun it as if it's not a backdoor when clearly it is. Still quite a hard-to-use one though. It seems like they need the physical phone and maybe Apple's private key for signing updates.

The idea that the act of writing software makes it insecure is silly though. The security doesn't come from no-one having made the appropriate changes to iOS. If it was, that would be security through obscurity and any motivated hacker or the FBI could modify iOS themselves. It must be about signing the update so that it can actually be installed.
What does that mean? Where does the extra money go? Under normal definitions, income = spend + save. That's not an equation to be optimized; it's a tautology.
I would like people that keep saying stupid stuff like this to try and compare the size of GNU Emacs to the size of, say, NetBeans, Eclipse or Visual Studio.

There is an enormous amount of stuff that "conventional" IDEs to and emacs does not do.

Consider NetBeans: there are a lot of people that use the NetBeans platform to create stuff that have nothing to do with programming, the very same way emacs users create modes that have nothing to do with programming: https://platform.netbeans.org/screenshots.html

Seriously guys, grow the fk up.
Yeah, I know. But it will never support SPARC. Or anything other than the architectures you mention. Windows can still support these other architectures, I'd love to see it happen. ReactOS might be the way that it's made to occur.
In the Bay Area? Join an emergency rally in defense of crypto tonight
s/circuit/district/
Nitpick - Go is very much an OO language. Almost everything is done using objects. It has a different way of handling inheritance however - it makes a different decision in the "Composition over inheritance" debate.

https://en.wikipedia.org/wiki/Composition_over_inheritance