skysight-inc/HackerNews huggingface dataset:
I started writing PHP about nine years ago, I'd say about five years of that was within a professional context. I can elaborate more if you like but whilst I understand PHP can be used in an effective way in the hands of someone that understands all the nuance, and I know that PHP enables people to start hammering stuff out with ease, it also enables people that don't know the nuances of the language to write utterly shit code that people like me have to deal with for ages on out. It's as if the low barrier to entry, shit, actually means that the door is wide open to cowboys who just abuse shit to go wrong.

Of course you can write decent PHP, but I've since switched to Python (which I really enjoy, but I'm not biased toward it, I can equally imagine people writing decent Ruby or whatever), but I'd never look back. It's an enabler of people who care little, not for the love of code, or the technical beauty of things, but an enabler of people who don't give a blind fuck about whoever is the next person to inherit their code. No, this is not necessarily a language flaw (because there are many of those, I don't have to elaborate), but what's lauded as the brilliance of PHP, especially lately, is an attitude that fucks people down the line. Look at osCommerce FFS.

I mean, perhaps now osCommerce is a decent product, but it wasn't in 2003, it was a godawful mess, and this is relevant now because there a bunch of hapless fucks that are tasked with maintaining a clusterfuck of hacks based on a version of software X that was made many years back because very little of the people who are developing in PHP give a blind fuck about the next dev to come along.

What's the point of talking about the latest generation of PHP nearly-catching-up-to-decent-interpreted-languages when the entire culture is based around godawful hackery, misuse, half-arsed ports of 4.3 codebases and developer laziness and insecure anti-patterns and other shit buzzwords I can't be fucked to mention but most likely apply to the majority of PHP code out there?

PHP. Never. Again.

Also Wordpress.
Slightly OT, but I wouldn't say that R was "built for large scale analytics." You have to go through some serious hoops to work on anything in R that takes up more than 50% or so of available RAM. Revolution Analytics's R build is designed for it, and some standalone packages like bigmemory can make R work better with large data sets, but vanilla R is awful for the task.
So Apparently My Blog Stats Point To Me Being #1 Asshole
I've always found that talking to people that actually use a project as an inspiration to keep working on things. That and find small ways to measure progress. Get something small and working out then iterate fast.
Actually, there are tons of people who want to run Matlab code freely. The code is already written. They need to run it in clusters, or they need to run it at home.

This is why we are doing Octave.
What don't you understand specifically? It can't be any clearer, and it's obvious the reasons for this with what the PSR is. So, I'm confused as to what you find confusing?
I prefer to record design decisions not inline in code comments but in my git commit log. Design decisions are best viewed as a chronological big-picture conversation with myself as I try out different things. I also find them to be just concise enough.

I don't use it anymore, but this was how I got started on this approach: http://akkartik.name/codelog.html
Finding The Right Startup Culture
Methods should be camelCase(), but properties (fields?) can be any convention as long as its consistent throughout.
Not sure if you are trying to make a joke (and if so, it's incredibly subtle), or you are being serious. In case you are serious, to explain how HTTPS as it's used means anything about the trust-worthiness of the two parties involved?
And what % of PHP devs alive today will ever be able to develop in modern PHP without dealing with abhorrent hacks and 4.3 code because the entire ecosystem is a giant cesspit of attempts to work on shit old shared hosting that have never been upgraded.

To clarify, I know that PHP 5.4 is getting to the point of a modern language (despite lacking the deliciousness and usefulness of modern interpreted languages like Ruby and Python), and despite that it's still a complete mess of inconsistent standard library and weird not-quite-deprecated extensions, but the attitude it has fostered, that DON'T GIVE A SHIT JUST MAKE SOME STUFF DUUURRRRR has meant that PHP is essentially the bane of everyone's existence.
I'm sure it will. Will they fix anything, and if they do will the fixes be another produce better results, is another question.
one queue for every worker instance, yes! this is for broadcasting remote control commands, but I don't see how this poses a problem?

If you mean the one queue for every task behavior of the amqp result backend then that is also a yes.
Usually with replies in amqp you create one queue for every client, but Celery is often used in a web context
where the process that initiated the task may not be the same process that collects the reply, so this
is why it uses one queue for every task (it's also documented).

There's an experimental result backend for RPC-style replies, that uses transient messages and one queue per client:
http://github.com/celery/celery/tree/kombuRPC
Appreciating assets don't count as income. They very well may be minimizing income while still maintaining growth. When they sell those assets, they make the list.
> not every fatal accident is considered a homicide

Note that homicide merely means killing of a person (by another). It could be accidental.

ref: http://legal-dictionary.thefreedictionary.com/homicide
Reference counting is a form of garbage collection. It does spend CPU cycles trying to figure out what isn't needed, so your claim that it doesn't "waste CPU cycles" is not true. Its advantages over tracing GC are that memory can be reclaimed promptly, that it does a pretty good job of spreading out the CPU load in an incremental sense, and that it's simple to implement and reason about. The big downside is cycles; lots of large reference-counted codebases constantly struggle with cycles (for example, Firefox). Adding cycle detection to a reference counted system is not easy to do in a performant way and almost nobody that I'm aware of but Firefox even attempts to do it.

Without unsafe memory management, you can still do pointer arithmetic. See Cyclone's fat pointers, Go's slices, Rust's slices, etc.
I agree with you. The partnership structure forces law firms to be run very conservatively, and prevents them from scaling to huge sizes, which has the advantage of limiting the amount of consolidation in the industry. I think for professions like banking, law, and accounting, these are good incentives.

I think it would also help to take more seriously the ethical responsibilities of bankers as fiduciaries' for peoples' money. A law firm cannot represent both sides of a merger, because that would involve a conflict of interest. So why can Goldman take positions where they stand to profit enormously if their clients lose money?
So much for my plans of "send an email to tarsnap-announce, write a blog post, then submit that blog post to Hacker News"...
"I'd only need Foundation & libdispatch."

"It's missing too many useful libraries to be useful."

libdispatch can be lived without or worked around. What else in your list is missing?
It looks clear to me. Properties refer to object properties or variables and Methods refer to object methods or functions. This standard recommends three formating conventions for variable names and requires that all functions be written in camelCase.
Central bank as lenders of last reserve barricade against liquidity panics. They need to funnel capital directly into banks' reserves. They don't guard against insolvency (Treasury) nor "funnel money to the real economy" (Congress). One of the best bank rescues of all time, Sweden's, involved pumping capital into banks' equity.

Bankers earn less than traders and PE guys. For the same reason that Google has to pay exorbitantly for an engineer because he can walk out into a startup a bank has to keep pay competitive with hedge funds et al. Create/buy parity is maintained.

For measure on "non-productive professions" look at how hard emerging economies are working to build domestic fixed income and equity markets.

P.S. Anticipating a line of argument, no, the militant high-frequency guys aren't taking home even close to the lion's share of compensation.
When I first became interested in mvc, it wasn't quite as buzzwordy as it is today, and so I went and read the original smalltalk source. What I discovered was that the role of the controller in smalltalk was to poll the mouse and keyboard in a tight loop. When I wrote webmvc (which became woven, which became nevow) I found, as I think many people have found, that the controller doesn't really have as much of a place on the web, and nevow ended up not really having controllers associated with views but rather the logic associated with a controller was placed in methods on the Page object.

I'm curious what role the controller objects play here.
http://cooleimmersive.com/

They make FPS-style training programs for service rigs, among other things. Thanks for the offer, I'll pass it on.
My son has just started doing Industrial Arts at school.
A lot of it just seems to be dreadful spouting of design and architecture jargon.
I was also going to recommend melatonin. I have a hard time falling asleep, and Melatonin really helps avoid the late night brain rush that keeps me awake. Though I'm honestly not clear on all the side-effects.
The lack of PHP/Rails developers in Alberta is unfortunate, but the cause is that enterprise development dominates the industry, with .net and Java projects taking up nearly all the market share and the rest existing in very niche markets. Software development exists here primarily to facilitate stuff being pulled from the ground.

Have you considered using .net for your startup? There is the obvious drawback of having to license the Microsoft stack, but ASP MVC is now mature enough to being a solid backend platform for a startup, and your odds at finding a talented .net developer in Alberta are magnitudes greater than the platforms hyped in Silicon Valley. The BizSpark program also gives you a 3 year free run at MS licensing.

As an experienced contractor in the Calgary area, I'd go as far as saying the Oil & Gas has created a large surplus of .net developers especially in the last 3 years, which explains the booming IT headhunting sector here, and hiring capable developers seems to take only a handful of days from start to finish.
"sadly"
Gaming companies in Montreal are a sad joke and represent everything that is wrong with Canadian tech. 37 % of game developer salary is paid by provincial government. Our tax money is given to France's business elites.
Thanks for the link, that's pretty interesting. Do you use a modification of this now, or have you simply codified that approach internally and commit intuitively?
London's 20 hottest startups
I don't know about working conditions at Shopify but I don't think the same mindset exists in Canada about working yourself into the ground for your startup.

I work for another startup - Wave Accounting. I left a fairly safe, well paying job to come here. I'm paid well, my work-life balance is great, and I love my work. And I have 3 kids and a wife who is in grad school (paying off my mortgage early helped with the decision, to be fair)

As far as the GGP comment, I know a few of the Shopify guys because they have a Winnipeg office and they're brilliant people. I'm sure it would be a treat to work there.
> the PHP world always does this wrong because they're too focused on HTML.

No. The PHP world recommends, time and time again, using PDO and binding variables to queries. I've yet to meet an individual who does it the other way, other than people who are relying on extremely outdated tutorials (7+ years ago). Hell, even this document does. This document, unfortunately, uses the word filter in the wrong way, but the intention is still fine.
An excellent reference for climate data:

http://weatherspark.com/averages/29735/Seattle-Washington-Un...
Baroque.me
It's funny, because it seems to me that a lot of the talent coming out of UW CSE isn't going to make it into the valley in any meaningful way.

UW CSE is still entirely focused on grades. There's literally no way to include anything but grades in your admission application -- not even recommendation letters. I've talked to some of the admissions faculty, and their argument is that it's unfair to people who are totally new to computer science to deny them on the basis of a lack of prior experience. I totally disagree with this, however -- you're not going to get into a music or acting program without any prior experience, why should you get into a CS program?

From what I've seen, a lot of UW graduates end up getting recruited into a big company (Google, Facebook, Microsoft, Intel, etc). It's by all means a great program, but it seems like they're never going to have someone they can point to as a success like, for example, Harvard, Stanford, or MIT. I think that's the reason why their reputation is a lot more quiet.

FWIW, my co-founder and I have both been rejected from UW CSE (me with an overall 3.8 GPA and several conference papers published as first author while I was still in high school).
That's exactly my problem with it. It's just that when you do in PHP, you don't get any of the benefits you derive from all the Java BDSM.
Cloud Combat: Thinking Machines in Future Wars
Despite its Rubyesque culture of brokenness, rampant lack of documentation, and warty JVM interop...

This has not been my impression.
Ex-Nokia guys start mystery company to build Linux-based phones
PSR-2 isn't trying to say that there is one correct answer. Instead they're trying to provide a single answer from the many valid possibilities.

"When various authors collaborate across multiple projects, it helps to have one set of guidelines to be used among all those projects"
Some hackers prefer fast iteration, or perhaps the ADD-ness of many hackers can't focus on anything less.

For people that prefer to measure their testing times in milliseconds, trying to 'debug' your sleep patterns, where it may take weeks to notice anything is just not going to be feasible. On top of that, trying to divorce your sleep issues from the rest of the issues in your life to isolate root causes, it just becomes a losing battle for many of us.
I attended an event in Waterloo, Ontario, Canada in the summer with about 50 local developers. At the end they had an informal few minutes where people who are hiring can stand up and pitch. There were a half dozen people from medium to large companies (e.g. Electronic Arts was one of the large ones). They asked who was looking for work and not a single person raised their hand.
Answering my own question: the controller object contains a bunch of on* methods which seem to handle the raw browser event objects and manipulate the model and view accordingly. This makes sense.

However, the way the methods are connected appears to be the uiActions attribute of the view object, which seems unnecessarily tight coupling between the controller and view. Also, the example code makes the view code responsible for querying the form, when it seems this should be the responsibility of the controller.

For some reason I still have a gut feeling that the view/controller split can allow generic views with custom controllers or generic controllers with custom views, but in the real world it seems the view/controller separation is still extremely fuzzy.

Morphic, the ui framework used by squeak, does away with the controller concept, leaving input handling up to the Morph (view) which is an interesting data point.
I say this as an outsider to the industry, but the 'large' £290m penalty appears to be a joke and the media are either complicit or too thick to realise. Annual profits for Barclays were £5.9 billion to Q1 this year. May not be appropriate for comparison purposes, but if over a year the financial penalty Barclay's paid was the same basis as the penalty for dodging a £2 tube fare in central london - the fine for being caught would be just south of a whopping 10 pence! Simple incentive theory here. At that rate I'd dodge the fare every. single. day. The fine (reputation damage be damned as I'm not sure there is a honest broker to take my business to) is off by at least 2 orders of magnitude.
Yup, that's my basic reading comprehension dropping out again. Thank you, that does make sense.
I'm surprised no one posted your other emails when you were sending them (the ones about the outage). Kind of expected here.
1960's inertial navigation systems have better resolution than today's consumer GPS. The issue is not the technology, it's the cost, size, and weight. The small, light, and low-cost sensors fueling the current wave of UAVs are not the most accurate technology available, but that doesn't mean they aren't useful.
> Now try the same thing as Obj-C was just becoming popular: "This language is crap I'm going to go write my iOS app in..."

Java wasn't the only way to write apps, but Sun pushed it. And people followed.

C# wasn't the only way to write apps, but MS pushed it. And people followed.

Ruby wasn't an option until after 37 Signals put it out there and said "This is how you write web apps." And people followed.

> Now try the same thing as Obj-C was just becoming popular: "This language is crap I'm going to go write my iOS app in..."

You have Titanium, which uses JavaScript, and you have PhoneGap, which leverages existing web technologies. You have Adobe Air or Flash or whatever, which you can use to build apps with.

You can use Ruby.

The point is, these languages didn't become popular on their own. Maybe Ruby is the one most unlike the others, but still, I don't think anyone could seriously make the case that had not Rails appeared, Ruby would still be what it is today.
Smart electric bike: Urban Mobility 2.0 (video)
I'm 20 too and always read articles with 300%-500% zooming if there is no vertical scrollbar. Occassionally putting the glasses down and still be able to read is a huge relief!
I was thinking more of:

#include <stdio.h>
int main()
{
int arr[10] = {1,2,3,4,5,6,7,8,9,0}, *ptr;

for(int i = 10; i>=0; i--)
{
ptr = &arr[i];
printf("%d\n", *ptr);
}
printf("%d\n", *ptr);
}
I used a Wacom Bamboo tablet full time at my last job for about two years, even whilst coding and browsing. I noticed a marked decrease in wrist pain and fatigue compared to using a mouse all day. It's a much more natural position for your wrist.
Yeah, sorry about that. I was pretty tired last night.
Switzerland actually has a very interesting banking law: The directors and the board are personally liable if a bank goes bankrupt.

Not a lot of Swiss banks go bankrupt..
So long as the primary leverage in an investment bank's business was people (skills, relationships), they were happy being partnerships.

In the 80's as investment banks discovered the joy of trading profits, they realised they could then leverage capital (pun intended). That therefore led to their finding more capital, in one of three ways, all which started to happen in the next 10-15 years : merging with commercial banks (which in turn allowed commercial banks to earn larger returns on their capital ... much better than lending to the neighbourhood convenience store); going public; and pressuring regulators to allow higher debt/capital ratios.

So, as with everything, a simple matter of incentives.
The philosophy is it isn't fair to penalise non-complicit employees, shareholders, and other stakeholders. Thus, when possible, the directors are decapitated and those responsible are charged personally.

Note that it wouldn't be productive for regulators to fine banks into needing to be rescued. I also suspect they're being cautious in light of the torrent of asymmetric lawsuits and contract unwindings about to hit these banks.
If I want to tweet

I <3 O'Reilly books

you could pre-encode that as safe to paste into raw SQL, or as well-formed (X)HTML, but you can't do both simultaneously. Either encoding would end up distorting the content in the other context. You have to encode during output (and writing to a database counts) using the rules of the system consuming that output. Lots of crappy web forums visibly mangle punctuation in a futile effort to avoid this.
I believe they are using an electric Logo 500.

Edit: yep. It's from Adaptive Flight, Inc. which is a modified Logo 500.
http://www.wired.com/dangerroom/2012/07/drone-hijacking/all/
I enjoyed this article, and this is a topic that I'd love to read more about, read other perspectives - if you have any suggestions.

But I don't think there's one process that's better that the other - outputting new works frequently vs working many years on the same work - and this article felt quite biased against the latter. It never mentions how a work can remarkably stand out in beautiful ways when the author takes the time to let his work grow and evolve during development, even if that means giving into to obsession to details. Think of Kubrick's 2001 or The Shining, Valve's Portal 2. To turn like they did, these works could not have been rushed out. Or think about how the quality of Stephen King's Dark Tower arguably declined once the author decided to accelerate the writing of the last volumes (V, VI and VII) (on the side of that argument, Stephen King has recently stated in interviews that he's thinking about rewriting major parts of those last volumes, like removing himself as a character).

There are obviously many examples of amazing works that were created in a rush of luck and intuition, and of incredibly long processes that turned into failures. But some of the best works in history took years, and grew older alongside their artists before being released. In the end it's about the artist finding the right process for his work and career, whether or not that meets this article's definition of "prolific". Even if the audience has to wait a decade for a work, if the process was the right for that work, it will still be the most beneficial call for the audience.
And in what manner does this situation prevent high-tech stuff from happening in Montreal, with Quebec talent?

The idea here is that a critical mass of talent is being raised in Montreal.

I agree with you that this is a good example of what is wrong with high tech in Canada: why is it that French investors are willing to invest money in Montreal, but Toronto Investment banks don't?

In what manner are Canadian VC's prevented from doing exactly the same thing as the French?
It might also explain why they have a loyal but ultimately niche userbase.
Java still gives me nightmares ;(
What was the problem preventing residents of Canada from using tarsnap?
> Well, yes. I can install bundler on a shared hosting environment where I don't have root.

So what command do you run to get that installed like that?

> it gets the job done, but feels unpolished.

Unpolished like make && make install.
Uh-oh. I was wondering when this might come back to bite us on the arse. Really quite an unsettling thought.
I think he means the LLDB console. You can inspect anything, however deeply you want. Create new objects. Assign them to variables. Run code snippets against your existing state at the breakpoint. Learn new APIs interactively. Reduce the need to compile/run as often. It's the closest I can get to a Smalltalk Workspace/Transcript.
I agree that the GUI debugger is limited, and after living in the console for some time, next to useless.