skysight-inc/HackerNews huggingface dataset:
The one thing the article didn't touch on, one that I feel is the biggest problem larger companies face, has to do with the constant cycling of the tier 1 and 2 support staffs. You have 3 different types of people that work in the lower tiers. The first being the hard working, knowledgable, and often fresh out of college/training people who are only going to be there for a few months before their potential is realized and they're snatched up by another deparment or (even worse) another company. The second group would be the ones who are good enough to keep their job; they show up, know enough to not fall on their face every day, but otherwise are not going to move up the ladder. The third group are the ones that simply can't hack it and are fired or quit after a few months, or sometimes years if they can fly under the radar often enough.

This leaves the teir 1 and 2 support staffs in a crappy condition. The only people worth keeping are the ones jumping at the first chance to get out of the 'helpdesk' role. So the IT deparment is left with their only real interface to the rest of the company being comprised of (often) barely adequate people. An individual's experience when contacting the IT department litteraly depends on who answers the phone; will it be a person from the first, second, or third group as mentioned above?

Hopefully the trend will change in the future, but it's probably going to require higher pay while allowing those people to also do more advanced things to keep them challenged/happy (that still may not be enough, because to be honest we don't like dealing with the regular day to day helpdesk-style problems anymore than anyone else in the company likes having them). Large companies are just too compartmentalized to do that, so we may all be doomed :(
Why do we consider ourselves so smart to understand how the eradication of a species from the planet affects the rest of the ecosystem?
I think Google is also exceptional because the tech support is for other technical employees. When I went down to a Tech Stop it didn't feel to me like I was "going to see tech support," it felt more like I was going to see another technical employee who happened to do tech support.

Then again, I was only an intern so my time there was limited.
Agreed. Baking security in to your products in the first place is the only way to do it.
I think it's less about the unforgiving nature of programming and much more about the immediate and (usually) precise feedback that you get when you fail that makes it so good at teaching you how to think. I wish every skill I wanted to learn came with a compiler and a debugger.
How much do you earn having 100k visitors? 1 cent, 0,1 cent per user, or you are actually losing money? Even with AWS, you have to try to monetize those users, and profit.

Well, don't be afraid of that. It's not because someone had 'your' idea, that you have to be in a hurry. I think you shouldn't be so afraid that somebody would take your product away.

Even more, I think if you are afraid of telling others about your idea, you have less chance of making success. I'm excited to know what your product is.
It will be the opposite. People with money in Greek banks will get new Drachmas at some official exchange rate. Most likely (100% likely, in fact), people who have money in foreign denominations will do better. The whole point of going back to a sovereign currency is to inflate away national debt.
Not so complicated roads though. http://g.co/maps/cuc5p
Mailman (my 2010 Ruby Summer of Code project) is Sinatra for incoming email: https://github.com/titanous/mailman
I think the actual end is when lots of cities in Europe are bombed, like in WW2. But in this crisis all the infrastructure is still in place, and since there is still demand for goods and services, there will be an economy. Economists can make up whatever abstract ideas they want, but the fact is that people will create and trade things of value for other things of value. Maybe I'm just rambling but this is not "the end".
This attitude might be ok for managing the average office worker's machine but when it comes to jobs like programming that are not highly regimented, it's just not good enough. Get out of my way and let me do my job. I'm glad I'm at a company that lets us do whatever we want to our machines (we use a VM for the few things that require IE).
Eh. I don't like the analogy. The Eloi didn't do anything; they were just food.
It's a lot easier to keep your money in a foreign currency these days. You could, say, put all your euros in a dollar denominated US bank account and then just use an ATM to convert only what you're about to spend back into euros.
> I was shooting for the most concise syntax I could get.

Yes, but default arguments are simply not intended for that. Decorators are. You wouldn't use default arguments as method metadata in Ruby, would you? Going for the "most concise syntax" in all cases gets you Perl, and Python is most definitely not Perl.
Exactly.

Printing is also a fiscal policy that happens to be implemented by central banks.

Without a fiscal backing for unlimited asset purchases or printing money, no central bank is able to act. A central bank implements monetary policy transmission by controlling liquidity. They cannot provide funds to insolvent institutions or be exposed to risk of default/credit risk without backing.

To put it in Mervyn King's (head of Bank of England) words: too many people misunderstand the concept of "lender of last resort". Central banks have access to this facility or are able to print because governments back their own solvency by perpetual state existence and unlimited taxation.

Without a fiscal union, the Eurozone/EMU has no meaningful guarantee of perpetuity nor taxation. The market would recognise this sooner rather than later and nothing structural or fiscal would have been fixed.

Printing can only come after fiscal union. If you have a fiscal union, then you should not have needed to print in the first place since you should have set strict rules on leverage! But if for some reason you did need to use lender-of-last resort, it would meaningfully exist due to the fiscal backstop.
The things he's talking about have nothing to do with Python. If you have a per-application instance of a class, you can't use instance data for request-specific things. The reason is because the per-application class is per-application, not per-request. (If you clone the per-application class for each request, then it's OK, but still a little weird. Any operation that needs state to be initialized and thrown away is exactly why you create an instance of a class.)

Really, anything that changes instance data outside the constructor should worry you. And actually, Python's habit of requiring you to initialize attributes in __init__ is kind of annoying; stuff like Perl's Moose is much cleaner.
Love it. This is an excellent use of mechanical turk solving real world problems.
"Definitely shame on your IT guys for not blocking outbound connections to your own proxy at the firewall"

So, are you going to try to distinguish between me using my https banking service and my VPS with sshd bound to ports 22 and 443?

In the EU you may find yourself in an legally ambiguous situation deploying the level of packet inspection required to achieve that.
"But the approach taken by Germany seems very sensible to me."

Germany is looking to create a rules-based system that every country follows and is accountable to, like they were supposed to when the Eurozone was created. This isn't a bad thing, but its forcing the PIIGS (Portugal, Ireland, Italy, Greece, Spain & Cyprus, if anyone ever notices how had that's getting, but its small anyway) to play chicken with the financial markets and increasing their interest rates to a point that forces them to fix the structural faults in the national budgets.

Germany rightly shouldn't be paying the costs of Greece's, or soon Italy & Spain's, pension obligations and the hundreds of billions in Euros of debt built up over the last decade or more because of poor national policy. Though that is what is happening for now. The current fight, which is being missed by most of the media, is whether Germany will be paying the future costs of the PIIGS+C as well and Angela Merkel is aiming to create a new rules-based system to force these countries to increase productivity, reduce labour regulation and stop spending on wasted projects. Good luck to her...
Well, that's significantly more like Sinatra than smtproutes. -- a little embarrassed by my title now.

Allow me to amend "What if SMTP and Sinatra had a Baby (Which happend to be implemented in Python)".
Yes, I do completely understand that. The right of way is the hardest part once you have a large population in the way. The rest is trivial in comparison in the US. All the lawsuits, etc because HSR will inconvenience people. We are simply implementing 50 year old technology(pre-moon landing).

China, on the other hand, built the world's largest HSR system in a decade (about 5000 miles), as opposed to 400 miles that will take 20-30 years between LA and SF.

Of course people in the US have branded it a failure after the first accident. The fact remains they have built infrastructure that will pay dividends for centuries.
Kudos, looks solid.
I highly doubt Cai was a typical factory worker.
In Perl, all arguments are undef (similar to None) by default, which is pretty much the only thing you should be defaulting things to in Python. So actually, Perl makes it hard to shoot yourself in the foot, while Python has syntax for making it easy.

(We have an internal library at work that does something like:

def __init__(self, ..., foo={}):
self.foo = foo

Guess what happens when you change some_instance.foo. Yup, all the other instances change too!)
That was interesting. I have written 16 books, but writing has always been a sideline for me, something that is really recreational. I write in variable blocks of time and simply quit when I want.

+1 on the recommendation to use a pad of paper. I write non-fiction (hopefully :-) but I use the blog author's time away from the computer technique all the time. It really saves time in the long run to have an overview before writing a book chapter. [Same technique works for programming also: it is a real mistake to not spend time aways from a computer, with a pad of paper, planning work.]
You're thinking of CDS, not CDO. CDS stands for credit default swap(s) and CDO stands for collateralized debt obligation. You're right that a CDO would be really big if you printed out a formal specification, but that's because a CDO is special trust where the trustee buys and sells different securitized products and tranches out the payments to shareholders in the trust.

Also - AIG could have made the same mistake with conventional home insurance. Say they only keep 100 dollars of cash around and they decide to insure a million houses, each with a value of one dollar. If one ten thousandth of the houses burn down, AIG goes bankrupt. So it's not true that selling a dollar notional of home insurance is less risky than selling a dollar notional of CDS, because it could easily be the case that the expected payout on the CDS is higher. CDS are just harder to price. There are very robust statistics about houses burning down - the statistics on whether homeowners would default were a lot trickier to deal with.
Marketing on Facebook-The Beginners Guide
Southern coast of Turkey, around Kas and Fethiye, in the non-backpacker season (non-summer). Great internet and infrastructure, kind locals, very cheap pension rooms available, layers of history (including Roman amphitheaters), and a gorgeous view of the Mediterranean.
Ten Things I Have Learned
I do agree that the US immigration system sucks. As an Australian, you may not realize the current state of immigration policy in your own country.

I'm an American and I live and work in Sydney. I came in on the 457 subclass visa. Not sure if you're familiar with it. It's pretty much the same as the H1B (No E-3 equivalent in the other direction unfortunately). The employer has to prove the job can't be filled by a domestic worker. This particular visa program is also rife with abuse by employers looking to keep costs down [1]. A typical H1B visa holder in the USA would have their health insurance paid for by their employer. 457 visa holders are usually required to purchase their own since everyone else is covered under the national health care system. H1B visa holder's children in the USA can attend public schools for free. 457 visa holders in Australia have to pay public school tuition (~$5k/year/child) in Australia on top of paying normal federal and state taxes. Personally, I'm very satisfied with my situation but this isn't the case with all 457 visa holders.

Much like the US, Australia is a nation of immigrants. Most people I've met here are 2nd generation (i.e. their parents immigrated). Yet, there is a surprising amount of opposition to immigration[2].

[1]http://www.smh.com.au/nsw/employers-avoid-fines-despite-visa...

[2]http://www.smh.com.au/national/allout-assault-over-issue-of-...
By a peculiar coincidence, this move to add names to what used to be structural types is almost exactly the opposite of something I want to do to Delphi (Object Pascal) for reverse reasons.

When you have run-time type information (RTTI) in a language it turns out that having names for types is important, for data serialization in particular. But when you also have anonymous types (as Delphi does), you can end up with versioning problems, because you need to generate names for these things - and they usually end up involving numbers of some kind.

So you can see a type that looks like this:

type
R = record
X: record
E: set of (a, b);
end;
end;

Only R has a name; the names of the types of the field R.X, and the field R.X.E, etc. are anonymous and end up being something like ':1', ':2' etc. But change the order of declarations and you change the numbering. So probably the most robust option is a name generated from the structure of the type, a bit like a mangled C++ signature.
The quote from the ubuntu docs is bullshit. Setting up a mail server does require many different programs; an SMTP server, a spam filter, a virus scanner, procmail, an IMAP server, and SMTP server, and so on. But if you just want to play with SMTP, all you need is an SMTP server. And if you just want to play with email, all you need is a program that reads a message from STDIN and writes the result to STDOUT, because you can just run that from procmail.

Anyway, yes, a multi-user email service is not trivial to run. But email itself is pretty easy to work with, modulo RFC822, anyway :)
It seems like a lot of your dislike of the IT department is a redirected dislike of these policies enforced by IT.

In most law firms, government, and big finance you will likely encounter a lot of these sort of policies. Some of these policies make sense, even though the reasoning is not obvious. The policies are created because of constraints around laws and auditing and they can result in some nasty solutions. Other policies probably just don't make any sense, but that is just life.

Making IT's life hard by trying to get around the policies likely doesn't really help anyone -- it is just being an ass. Assuming a policy doesn't make sense because you can't see the reason for it is arrogant - even if you are right 95% of the time. Same goes for assuming you could come up with a better solution without knowing the constraints the IT department faces.

The solution for programmers that hate this sort of thing seems straight forward -- don't work in these sorts of businesses -- develop your chops so you can land a job in a hot startup (or a business that has that atmosphere) where you get the best gear and can do whatever you want. Or maybe start your own business or freelance. Until you get there, don't take out your frustrations on your coworkers by trying to bypass them -- that is just childish.

For people in IT, they should be aware if they are not in a business that requires these sort of frustrating policies, they should not be trying to implement them unless they really have to. Those are the IT guys people have the right to dislike. They try to turn a small fun start up into some sort of draconian government institution because of some personal insecurities or they think that is just how it is done.

In short, be aware of the sort of industry you working in, or might work in, and what to expect there.
No one's there.... :\
It sounds like if you'd been my IT guy at the state agency, I'd have had a much better time - simply because I would have had intelligent arguments :) The reason the printers were like this is some initiative by our dumbass Governor called "Team for Texas," I'm told. It's not my IT guy's fault but it is dumb IT policy which is definitely why IT people get bad reps (even if it's not their fault) which I think is related to the article.

I know the internal web app argument for IE6 but all of the apps were native Java apps on top of Oracle databases.

I can't imagine it would take more than a cursory look at Notepad++ to vet it.

My main point here was that the IT guys were clearly not trained or knowledgeable. My mother works for this same agency and she has a lot of stress because of their inflexible and archaic policies. If they're going to make her life hell in the name of "security" then I expect them to actually provide security.

As far as my current job, we're expected to maintain our own machines because if we had to file a request for every shared library we need, nothing would get done. So, we're trusted with maintaining our own systems but they bothered getting our root passwords. And then continuing to trust us. It's confusing.
You could definitely twist my arm and get me to change the approach, mentally substitute:

def subscribe(self, route=r'subscribe-(?P<name>[^@])@.'):

with:

@route('subscribe-(?P<name>[^@])@.'')

def subscribe(self):

and we can stop arguing.

I'm sticking to my guns on the instance variables, it's cleaner.
>The problem is the perception of a problem and that leads to higher bond yields and that is what leads to this real problem.

No, there is a real problem, which is the eurozone is a monetary union without a fiscal union. It's fundamentally unstable, something that can only work in good economic times. One of two things is going to have to happen to align fiscal and monetary boundaries - either national currencies will be reintroduced or fiscal policy will have to be aligned for the entire eurozone.
I am thinking that using equity as compensation may be a better idea than offering "advancement".
Secrets of Attraction Marketing Revealed
"One of the reasons I've come to New York to work is because I want to see it. New York is the beating heart of commerce"

For me NY is the informal capital of mankind. That's exactly why I went there for vocation. Quite impressive. But it also got me wondering about what NY could have been by now i.e. What quantity of office and housing space was added to Manhattan in the last decades in relation to the decades before? Zoning laws are to me just one another expression of a society that wants things to stay the same, because it's quite good now. It's about preventinting new stuff from happening. When watching the NY-skyline, do I see the concrete manifestation of a vibrant people or rather the remnants of what made it the informal mankind capital?

"All of this makes me a little sad actually because the US has forgotten it's route."

Some economists argue that the demographic dividend played a key role in the economic booms of Ireland but especially China. They also argue for considerable growth to happen in India and Brazil because of that. To me, the US is the oldest example of demopgraphic dividend at work. It's immigrants-turn-citizens concept basically made the rest of the world their asset of which to expect demographic dividend. The harsh immigration-laws are not that different from around the world, but considering from how they once were, todays laws are a negative archievement. They are there to prevent stuff from happening.

"The Roman Empire was enormous and collapsed. The British Empire was enormous and collapsed. Don't think it can't happen again."

This attitude of preventing new stuff (or competition or abandonment) is a major obstacle. One obstacle the Romans didn't overcome and neither did the British.

PS: The book "The New Deal in Old Rome" (http://mises.org/books/newdealoldrome.pdf) is a fun read, that's telling the story of roman decay using the language known from modern politics.
I resent that! :) But since I do have admin and I'm leaving soon, maybe not ...
That's really not the point I was going for. I mean, we can debate which language's style is better all day, but regardless of which approach to default arguments is better Mr. Coe is still using the ones in Python improperly.
The ethical dilemma is interesting and, I think, parallels the "security through obscurity" approach to software security. If the findings are published, the scientific community at large can work to fight a pandemic which may happen anyway, but at the same time may decrease the time until a pandemic occurs by giving information to those who would willingly produce it for their personal gain.
Proc doesn't check arity. That is just how proc and Proc.new are expected to work. If you want to check the arity, use lambda or ->.

x = ->(a, b) { puts a, b }

x.call #ArgumentError: wrong number of arguments (0 for 2)

x = lambda { |a, b| puts a, b }

x.("just one argument") #ArgumentError: wrong number of arguments (1 for 2)
New NASA Rover May Climb 3-Mile-High Martian Mountain
7 Biggest Mysteries of Mars
I've just finished reading "Boomerang: Travels in the New Third World" by Michael Lewis, a follow-up to "The Big Short". It's an enlightening and sobering read as it shows how destructive the temptation of cheap money (i.e., debt) was to Iceland, Greece, Ireland, Germany and the U.S. from 2001 through 2008. More importantly, he shows how radically differently the three member countries of the Euro zone he profiles (Ireland, Greece, Germany) mis-handled that temptation, and it does not bode well for the survival of the Euro, or even the EU. My own personal belief is that the Euro zone will disintegrate within months, if not weeks, and the fallout will not be pretty. (BTW, Lewis profiles Kyle Bass, a hedge fund manager from Texas throughout Boomerang. Check out what he has to say on YouTube. It's very scary stuff.)

Financially there are really no safe havens. The U.S. is only able to run up trillion dollar annual deficits because its currency is the default reserve currency for the world and for now investors put up with sub 2% returns over 10 years (!) because they see no real alternatives.

Canada and Australia have ridden commodity booms to blow up their property markets to massive bubbles that will crash hard.

And the financial end game will play out soon for Japan as it has unsustainable debt levels. To date it has managed to fund those deficits internally, but it has almost saturated its domestic debt markets, and as soon as it has to start issuing debt on the international markets, it's game over.

Although the financial causes for this monetary crisis appear to be complex, IMO at heart the reason is very simple: You cannot expect to live beyond your means indefinitely and get away with it.
This feels like the anecdote. I suspect you're far from the typical history major case. How about all those history majors now working at McDonalds: were they well served by their mind-expansion experience?
Three of the traditional seven liberal arts (grammar, logic, rhetoric, arithmetic, geometry, music, astronomy) are today considered branches of mathematics - is it really so hard to imagine computer science taking a place among these?