skysight-inc/HackerNews huggingface dataset:
Great presentation, thank you for making me aware of an aspect of Python performance. One slide struck me as odd - the "basically pythonic" squares() function. I understand it's a chosen example to illustrate a point, I just hope people aren't writing loops like that. You inspired me to measure it

$ cat squares.py
def squares_append(n):
sq = []
for i in xrange(n):
sq.append(i*i)
return sq

def squares_comprehension(n):
return [i*i for i in xrange(n)]
$ PYTHONPATH=. python -m timeit -s "from squares import squares_append" "squares_append(1000)"
10000 loops, best of 3: 148 usec per loop
$ PYTHONPATH=. python -m timeit -s "from squares import squares_comprehension" "squares_comprehension(1000)"
10000 loops, best of 3: 74.1 usec per loop
$ PYTHONPATH=. pypy -m timeit -s "from squares import squares_append" "squares_append(1000)"
10000 loops, best of 3: 46.9 usec per loop
$ PYTHONPATH=. pypy -m timeit -s "from squares import squares_comprehension" "squares_comprehension(1000)"
100000 loops, best of 3: 8.67 usec per loop

I'm curious to know how many allocations/copies a list comprehension saves in CPython/PyPy. However I wouldn't begin to know how to measure it.
symfony is so modular you dont even need to fork it , just write plugins.
I ordered mine three days after they were released and it arrived a little over nine months later from RS. My cousin ordered three months after I did from the same place and got his in a few weeks. It seems like some orders are slipping through the cracks.
Why was this thread downvoted, or not near the top yesterday? I saw it briefly in the morning and was anxious to hear more responses. Come'n, respond people! This is one of the better threads in HN!
What a bunch of naysayers...

The Pi isn't the most modern board out there. It isn't the most powerful one or the smallest. It isn't the most open one... But, who cares?

The Pi is readily available from a number of distributors in a number of countries. It is cheap enough. It runs a plain linux distribution that can be easily installed on a plain SD card by anyone with half a brain. It has (documented) GPIO pins.

It serves its purpose just fine. People are curious about it (even if they are attracted by the media-center red herring), they buy it and they learn something.

Many of these people never used Linux, some never programmed anything. Maybe they just mess with it for a while and then put it away.

In the end, it's a net gain.

BTW, for those of you touting supposedly "better" alternatives. Why haven't these alternatives taken off?

And also, why hasn't Beta totally killed VHS... it was so much better...
IconDrop - a free and easy way to visualize and compare app icons
Unhosted web apps
As I see it, the value in a pi is that it is balanced. You can get cheaper devices, you can get devices with more GPIO, you can get devices with lower power consumption, and more powerful devices. The Pi sits in a sweet spot with all of those factors though, things like usb-dongle computers and openwrt friendly routers push all of those nobs one way or the other.

Also, maybe I'm weird but I have never liked xbmc regardless of the device; it is just plain shitty. The pi that I'm using as my home server/media player right now I just use with omxplayer. After years of just using mplayer that is much more comfortable to me. Of course I also use my Roku primarily with curl...
Lotus Notes is hilariously awful in this regard.
This makes a certain amount of sense. If I, as a resident of Illinois, purchase a coffee from my locally owned and operated shop, we could suddenly get around in state regulations just by processing the payment via a medium that includes a different state, e.g. square, or writing a check from a bank with branches not in IL.
I really like this tutorial, a concise number of slides which (excuse me) paint a broad picture.

AFAICT there is no jQuery dependency, or am I mistaken?
That fucking language was quite mild. Past versions of Linux (don't know if it's still there) used to have a quote from "Heathers" in a comment: "Fuck me gently with a chainsaw", as well as non-quote swearing like "fuck me plenty" and "fuck me harder".

Though when searching for a reference (http://www.ohohlfeld.com/linuxfun.html), I found this (non swearing) gem:

init/main.c:
/*
* Tell the world that we're going to be the grim
* reaper of innocent orphaned children.
*

Some software development subjects are best not discussed in front of ordinary people, but it's hard to not make fun of it when you're dealing with a daemon that's not properly reaping it's zombie children...
Why do things keep showing up here from http://reddit.com/r/nottheonion ? There have been a few today.
It may know exactly where that is, but it doesn't necessarily know that you weren't trying to only update submodules in the current directory. Most git commands operate only on stuff reachable from the current directory, but `git submodule update` is incapable of being limited like that.
Nate Silver MIT Talk
it's the window.onblur handler. If you select "inspect element" the browser opens a new window for the developer tools and the previous window loses the focus, triggering the handler.

It also happens if you load the page then open a new tab. The previous tab will lose focus and close itself.
Yeah, Starfish Prime is how we learned about the bad, bad EMP monster. And lost about a third of our LEO satellites in orbit at the time.
Being fairly new to C, is appending to / dynamically growing an array really just a matter of "a pointer or two"?

How can you take for granted the memory space past the end pointer is available?
I could swear if you just ran the command "vi" rather than opening a file with vim it would load to a screen that shows you how to run the tutorial. I can't confirm that since I'm on a Windows machine at work right now, so I won't argue it. It does exist, but I'll acknowledge that it's not advertised heavily.
Mostly because it's a business asset, there's probably engineers clamouring to just dump it to save dealing with bot crawlers.
Boxen?
https://github.com/blog/1345-introducing-boxen
Potato is a 65-person developer-lead agency based in London, UK with offices in Bristol, Amsterdam, Sydney & San Francisco. Our clients include Google, PayPal, a number of startups and other agencies such as BBH & Mother. We're hiring for a variety of positions in a variety of locations, freelance & full time, including:

Django Developer, Bristol - http://p.ota.to/jobs/django-developer-bristol/

UX Designer, Bristol - http://p.ota.to/jobs/ux-designer-bristol/

Senior Django Developer, London - http://p.ota.to/jobs/senior-django-developer-london/

Django Developer, London - http://p.ota.to/jobs/django-developer-london/

Head of Production, London - http://p.ota.to/jobs/head-of-production-london/
I guess it comes down to how specific expectations you have. I don't plan everything minutely, I just expect it will be a great experience in general, whatever happens. That way I look forward to it, and enjoy thinking about it. But I don't have detailed plans.

Still, if I did, the important thing would be to handle changes of plans well. The absence of plans in it self does not determine happiness for me.
mmap'ing /dev/zero is the fastest way I know.
Research Hints at Graphene’s Photovoltaic Potential
I don't remember if hotmail used to run ads.
A nice job for your first iPhone application. I especially like that you open sourced it.

An iPad version would be nice.
I've had a very good experience integrating with Braintree. For my use case, most of my customers have existing merchant accounts with significantly lower rates than they would pay through Stripe (or a competing product), so the ability to migrate those accounts into our Braintree account was a big win for us. Their Node.JS docs leave something to be desired, but their API is very clean and intuitive.
"A bigger problem with the AMA is that it's made up almost entirely of academics" followed by "There's a continuing education requirement so that they stay current."

Which is the the fox guarding the hen house. The academics controlling the AMA guarantee their own paychecks. And as you said this, academics controlling the AMA, is the bigger problem. It leads to a huge conflict of interests.
Coalition fights surprise tax for California small business investors
If you change a file extension, the file may become unusable! Are you sure?
A router isn't going to have audio and video out. Don't think it would have USB for input, pins for miscellaneous circuits that you want to connect to it. All it has is wired and wireless network connections, perhaps a serial port, right? Or am I missing something. I'd be really curious if there was a lot more you could do with them than I think.
It's $30 and has an HDMI port. It's a fantastic little device.
Why bad language is good for us
Sometimes escrow is a feature and a selling point of the app.
If we just had proper encryption integrated with email...
End users expect major changes with a major number release (rightly or wrongly), so if you don't have any other than a minor breaking change, they might be annoyed. Of course if you're using semantic versioning you should probably just ignore them and increment anyway till they get used to it.
Seeking Freelancer - Haifa/Tel-Aviv, Israel, or remote.

Seeking a freelancer to help build the frontend of a Play 2.0 Scala web-application. Web-design experience is what I need, and also experience building user log-in and payment infrastructure. This app is to help solve a facet of companies' myriad recruiting problems by finding them better employees for cheaper.

Contact Eli: eligottlieb@gmail
BILL GATES FOR PRESSI=DENTED
Hahaha, wow. Yours looks almost identical to the one that I've been developing. That's a bummer!
I don't think that added complexity invalidates the usefulness of high performance APIs in high level languages. The point would not be to write all of your code to be highly performant (that would be premature optimization), but to optimize the hot spots.

Currently, if you want to really optimize a hot spot in, say, Python, your only real option is to write that part in C. Then you have all the additional complexity of gluing that into your Python program, along with portability concerns and a more complex build process. It would be so much easier if there were a way to sacrifice local simplicity and idiom for performance while still staying in the language.

And in the case of JS, I'm not sure you have much in the way of options at all for optimizing hot spots to reduce allocations. Maybe you could write it in C and compile it to JS via emscripten? I don't know if that would even help currently, but maybe if asm.js takes off. But once again, wouldn't you rather sacrifice a small amount of elegance for performance rather than switching languages?
I'm with you on the first part -- certainly there's nothing inherently different between the interpreter security models of the JVM and Dalvik.

But if you're counting by deployed units, the JVM is now the "off brand". Dalvik owns that market. Certainly it's no less an attractive target -- perhaps more so as mobile devices are now a bigger part of the consumer market.
I too, looked at both BrainTree and Balanced and decided on Balanced. However I liked that BrainTree seemed to focus more on the international part of payments.
Looking for mobile people at Raizlabs.com a leading mobile development firm.
- Product people
- Designers
- iOS & Android Developers

We believe in changing the world for the better through great software. Do you? Let's chat. http://www.raizlabs.com
And CoW filesystems are getting more common, so cp's best case can be almost as fast as mv's.
Fellow child-commenters: parent comment is best enjoyed as delightfully Swiftian.
As a web developer, Expose that comes with OS X. Its the only way to switch between 20+ windows being open and makes working actually enjoyable.

As a systems administrator, DameWare. From remote administration of servers, to remote control of users PC's, it makes my day job so much more tolerable.

And as the random tech support dude that gets a phone call at 8pm about why IE10 chokes on x website (as happened the other day), teamviewer.com - from my Mac I can connect to another Mac or PC, within the USA or across to Canada and allows me to fix it myself instead of trying to walk friends / clients through verbal commands.
You mean, all of the NTP servers the machine uses. NTP will detect and reject a single server reporting bad time (assuming you have at least 3 servers configured, which is the recommendation).

You'd also have to do this when the NTP daemon first starts up, as:

-g Normally, ntpd exits with a message to the system log if the offset exceeds the panic
threshold, which is 1000 s by default. This option allows the time to be set to any value
without restriction; however, this can happen only once. If the threshold is exceeded after
that, ntpd will exit with a message to the system log. This option can be used with the -q
and -x options. See the tinker command for other options.
> Seems to be a lot of anger in there.

Today. Sure. Imagine my surprise when I see yet another bullshit vim article on HN, this one now saying "don't use the hjkl" keys. When will the madness stop?

Newbie programmers reading HN actually need to hear from someone who clearly sees that the emperor has no clothes. Some look at HN as the reference by which they ought to shape their learning and careers. There's a definite pro-vim bend here. And it's all bullshit.

If your goal is to be an entrepreneur, focus on the stuff that actually matters and is many orders of magnitude more signifiant than a ridiculous text editor from an era when keyboards had letters, numbers and three or four extra buttons.

If you want to be a fast data entry operator, definitely spend months getting good at vim.

Better yet, buy one of those single-hand chord-based text entry keypads and modify vim to work with it. You'll be able to type faster and with only one hand. Not sure if the work will have any quality at all or if it will be bug free or if you will be building anything anyone wants or if it will be profitable, but it will be awesome to behold.
Reminds me of this interesting reddit discussion:
http://www.reddit.com/r/AskReddit/comments/uc6qy/reddit_toda...

And the corresponding HN discussion that followed:

(Apple's iOS is "deceptively fast") http://news.ycombinator.com/item?id=4047032

In this case, we have security instead of speed. That's not to say it isn't secure anyway.
Yes and no - 'scroogled' is bring up stuff like - selling ads based on context - but are you paying $20/year for outlook.com email? Gmail is free and pretty awesome (haven't gotten spam in years).
Nope, there are intern positions in SF as well, although returning interns get priority for that location.
They can be cancelled, just not with CTRL+C - that key combo sends SIGINT [1] to the process, which can be caught by a handler, and often is when the writer of the utility thought there was something else that users would want that signal to do instead of quit. For example, in less, SIGINT will stop a long-running text search that's taking too much time.

[1] http://en.wikipedia.org/wiki/SIGINT_%28POSIX%29#SIGINT
SEEKING WORK - Remote

Rails & Ember.js developer.

Alexander Zaytsev, alexander@say26.com

Github: http://github.com/AlexanderZaytsev

Blog: http://say26.com

Twitter: https://twitter.com/AlexandrZaytsev

I have 20 hours/week available.
Or he was asked "please make this site feel secure"
-g Normally, ntpd exits with a message to the system log if the offset exceeds the panic
threshold, which is 1000 s by default. This option allows the time to be set to any value
without restriction; however, this can happen only once. If the threshold is exceeded after
that, ntpd will exit with a message to the system log. This option can be used with the -q
and -x options. See the tinker command for other options.
Thanks for mentioning A Drip of JavaScript. I just noticed a bunch of new subscriptions come in at once, and I think that your comment is what triggered them. :-)
You are mostly missing my point, which has nothing to do with vim use magically making what you code perfect. Not sure why you are trying to say that is what we are positing. All I said was that it takes some of the mechanics of modifying text out of the way making editing a bit more efficient in that regard (once you become proficient). You can still efficiently code crap, of course. Who is saying otherwise?
zsh can do that:

> ce somedir
zsh: correct 'ce' to 'cd' [nyae]? y
Speaking as a compiler guy, and having a hand in a few successful commercial JITs: The only reason he thinks they aren't slow is because they haven't yet reached the limits of making the JIT faster vs the program faster.
Yes, it's true that the languages are not slow in the sense of being able to take care of most situations through better optimization strategies.
As a compiler author, one can do things like profile types/trace/whatever, and deoptimize if you get it wrong. You can do a lot. You can recognize idioms, use different representations behind people's back, etc.

But all those things take time that is not spent running your program. On average, you can do pretty well. But it's still overhead. As you get farther along in your JIT, optimization algorithms get trickier and trickier, your heuristics, more complex.
You will eventually hit the wall, and need to spend more time doing JIT'ing than doing real work to make optimizations to some code.
This happens to every single JIT, of course.
This is why they try to figure out which code to optimize.
But even then, you may find there is too much of it.

Because of this, the languages are slower, it's just the overhead of better JIT algorithms, not slower code. In practice, you hope that you can optimize enough code well enough that nobody cares, because the ruby code takes 8ms, and the C code takes 5ms.

For example: Almost all of the allocations and copying can be optimized, but depending on the language, the algorithms to figure out what you can do safely may be N^3.

Also, PyPy is still pretty young in its life cycle (in this iteration of PyPy:P) for folks to say that they can make stuff much faster if they only had a few things.
It really needs a very large set of production apps being rin by a very large set of folks for quite a while to see where the real bottlenecks still are.
Past a certain point, you run out of optimization algorithm bullets. The way compilers get the last 20% is by tuning the algorithms for 10 years.

Of course, i'm not trying to slag on PyPy, I think they've done an amazing job of persevering through multiple rewrites to get somewhere that seems to be quite good now. I just am a little wary of a fairly young JIT saying that all big performance problems fall into a few categories.
Ectopic eyes allow tadpoles to "see" out of their sides and tails.
You know the downside of all that? You can only put so much in your brain and learn so much things at once. So while you are in creasing your skills in inter-personal communication, bargaining and psychology, you are just losing your edge on the technical side. The more you're becoming able to convince people, the less your idea has a probability to be enlightened.

When you've crossed the whole spectrum and all your brain is focused on bargaining, congratulation, you're the clueless non-technical boss.
If the bond requirement becomes daily volume times 50 states, they are boned.
Is it technically possible to upload a replay and process it to automatically find out the timings?
Or just apply to Companies House directly: https://ewf.companieshouse.gov.uk//runpage?page=welcome - There's almost nothing to it.

I did it a couple of years ago and it literally took 15 minutes of my time and cost £15.
Zee.
We were having a hard time deciding on our next app icon and couldn't find a quick way to compare against apps already on the AppStore. So, we made a handy utility to quickly and easily compare our designs. We hope it's helpful for others as well.
If the analogy is the medical profession then most software engineers are nurses or EMTs or ambulance drivers, not doctors.
Sr. Network Engineer - Mobile Gaming - San Francisco - FULL-TIME, H1B welcome

At MunkyFun you’ll be part of a small team supporting multiple products at all stages of development (prototype to live ops). On the webserver front you’ll be writing and optimizing web server Python code (publicly over 500k DAU), designing and optimizing MySQL for a healthy 8 digit player count and scaling AWS servers. For synchronous multiplayer you’ll write both client and server high perfomance C/C++ (we were the first mobile FPS to support 5v5 players and it was over Edge!). When it comes to analytics you’ll help us refine our home grown system and improve our dashboards. We have proven tech and a team here to teach and support you where needed of course!

The MunkyFun studio is an independently owned mobile game company comprised of industry veterans with roots in console gaming. Founded in 2008 on the tails of the first mobile app store, MunkyFun has shipped over 15 high quality games across various platforms. These critically acclaimed games have received awards, appeared in prime time network TV ads, achieved App of the Week on both iPhone and iPad, and have taken position in special categories on the Apple App Store, as well as showcased as part of the unveiling of iPhone4.

Here at MunkyFun, we believe all hard work should be equally rewarded, regardless of the role. Therefore, we offer a very generous profit sharing program that keeps all Munkys fully invested in the success of the company. We also offer a phenomenal benefits package, including 401k matching and health care.

Additional positions: http://www.munkyfun.com/job-opening/
Hey look, it's an anti-american screed!

Anyway, a lot of people object to the overuse of the word "fucking" simply because they've grown out of it. I'm all for artfully dropping it in from time to time for well-placed effect, but it can easily become a crutch used by those too lazy to consult their inner thesaurus. It's sort of shorthand for "I really mean it, which makes it more true!" Although it's arguably true that this particular tool takes it around the bend enough that it starts becoming funny again. Wait, I mean it's FUCKING true. :-)
Ever since I donated to Watsi I've been getting paper mail from other charity organizations making pleas for me to donate money to them.

Has anyone else had this experience?
> You're a professional programmer, you use a keyboard all day, so you touch type right? hjkl sits right on the home row, where your fingers sit. It is just a natural place to put movement keys. Nothing to do with the number of keys on the authors keyboard.

And my point is that it does not matter. Use the mouse. Use the arrow keys. Use the function keys. Use a GUI. Use multiple monitors.

If we are talking about productivity and code quality, the editor is orders of magnitude less significant than a huge list of other things. It does not matter.

Then we have someone now saying "don't use the hjkl" keys. Really? How far is the idiocy going to go?

If I am building a business or a product the last thing on my mind is what text editor we will be using. It is so ridiculously insignificant in the grand scheme of things that seeing people focus on it is beyond comprehension.