skysight-inc/HackerNews huggingface dataset:
I'm interested in this discussion. Which of those issues could you dispense with using more modern APIs and idioms in C? Look at Objective C (mentally wipe off all the object goo), particular NSMutableString and NSMutableArray and NSMutableData, for examples of what I'm thinking about.

The C syntax we're stuck with. But how big a deal is that syntax?

Segfaults are mitigated if you don't expose pointers, except to the extent that C programmers have to think about memory lifecycle (like I said, I think this is indisputably a win for high level languages). Look at NSMutableString for an example of a C-style idiom that removes whole classes of pointer operations.

I dispute that JITs abstract away details about storage; they may allow you to not think about those details for code that doesn't need to be performant, and they can help the language get out of the way when you need to care about the storage details, but the question I'm asking is limited to performant code. There is no question that nonperformant Python code is way easier to write than any kind of C code!

There are better APIs available in Python than are commonly available to C or even ObjC, but that's a solvable problem. Let's stipulate better APIs, to the limit of what the language would allow (in other words, it's totally fair to say that the design of C/C++ would prohibit certain kinds of easy APIs).

Development and deployment are easier in some cases for Python (for instance, building on OS X and deploying on Linux), but far easier for C in others (for instance, building code that will run in a kernel or as a plugin in the address space of another process).

I dispute that the barrier to optimization is lower in Python for obvious reasons: C programmers can optimize without working around the exposed wires and ductwork of the language runtime. C programmers generally have an easier time optimizing than Python programmers; that is probably the #1 reason any Python programmer ever writes C.

As a current Golang programmer I agree strongly with the commenter below that when you take this idea and apply it to a new language you wind up with something that looks a lot like Go, which does work great. But I'm not advocating Go here.
She gave herself that title, and rocks it :). Her not-so-fancy title is Account Manager.
All science is anthropological at the margins
Also be sure to set the date including timezone offset.

On OSX run sudo -k, open date and time prefs. Set date to 1970-01-01 00:00:00 including timezone offset (+1 for CET) then run sudo su
Hah! I'm not sure if I should be weirded out or upset over that. But you have given me an idea for April 1st.
Scrolling is really becoming the new thing in UX design. It's an interesting contrast to the 'movie-like' flash animations of a few years ago that required no interaction on behalf of the user.
The idea is not to swap people quickly, but to reduce the cost of swapping.

Apparently in Google its possible to work on any internal project - you essentially have an internal market of freelancers, and the friction costs of bringing in a new guy for any project are surely dependnat heavily on how well decomposed the target sytem is.

The idea is to stop companies trying to hire a monolithic team of developers and trying to make a monolithic system work and instead have smaller teams on smaller components.

It is fairly "modularisation - duh" but its amazing how just this simple thing is ignored in both organisational terms and in code terms in many enterprises.

Its a thought in progress -

And, yeah, it seems like its just me !
then how can you scroogle and boobble people without those informations?
Insync works great as a Linux client/integration for Google Drive: https://www.insynchq.com/linux
Nested resources with independent views in Ruby on Rails
web apps are on servers that can be hacked. if facebook or twitter can be hacked so can b google docs or any SAAS.
Primarily, hype and community (which is gained from hype). GPIO is also significant for many, and it may align better with some users requirements (eg, LAN, 2xUSB, RCA video). It is also the 0 thought solution; you can go out and start researching what USB stick you need, or just get a rPi.

So much misinformation in these replies; the USB sticks will tend to have hdmi, usb, microSd, much faster cpu, more memory, wifi, run full linux. IMO they make a better 'mini PC' but the Pi is better for hacking with other hardware.

The Pi does have to jump through more hoops (eg CE certification) to go on sale in the EU/US, so it's not 100% fair comparison from that angle.
Feel free to clone the site and do a version with screencasts!
Just a lazy slur then.
Sorry, I should have prefaced my conversation, I was based in Singapore at the time so didn't have access to the plethora of beautiful payment options that are available in the US.

Where these new services win out is the ability to instantly be underwritten as a merchant and start processing. For WorldPay I had to submit passport, bank account statements (via fax no less), sign my life away etc.
How is a mouse more efficient than an ability to move to a phrase with a bit of typing, skip words ahead with a single letter instead of ctrl + shift, move to a new line and a specific place on that line with a couple of button presses, etc?
(I'm a developer at Braintree.)

The blog post was discussing the 2008 version of the Braintree APIs. We completely rewrote our core APIs in 2009. Today, I think we provide one of the most elegant payment APIs available.

We've also significantly decreased the amount of time it takes to get a merchant account -- we have an instant application process now in the US, so many of our merchants are approved and provisioned with an account as soon as they hit the "Apply" button. Our international application process isn't instant yet, but we're working hard to make it as fast as possible.
Your reading comprehension is extremely poor here. His notes mention that he wanted to use a pure C version but couldn't find a C version by a quick google search. It did not say "here is a pure C version".
Top tier VFX studios in the U.S. not only hire stellar artists but also help guide the direction of the creative be it a commercial or cutscene. It reminds me of the difference between the various times I've worked with Carbon Five/Pivotal Labs vs a significantly cheaper alternative in another country. In that sense, I don't think the top motion graphics studios will all go out of business because of outsourced work, as their high level of creativity, direction, and execution is simply something outsourced work cannot completely replace. Learning how to be a stellar software engineer is more than just learning how to code in a language or two. Likewise, learning how to be a strong VFX creative is more than just learning how to use a few programs.

For the record, the peeps I know in the VFX make just as much money as the average engineer (125k - 250k).
Alexis Ohanian talk on Making Products People Love [livestream]
I recommend taking a look at Steelcase Leap. It has a lot of features and a multi-level reclining back.
Why are you typing the whole thing again instead of using the up arrow or Ctrl-P?
I use Lua, with ALLOWS you to use OO, but doesn't enforce it. To say the least. Lua does have first-class functions, including full closures, and the one Lua data structure is a "table", which can act like a full OO class with the right patterns applied, but which generally can be extended anywhere, each "object instance" getting its own unique extra fields attached.

Lua doesn't have macros (well, you can use a library to get an extremely powerful macro language if you want [1]), but the problem with going too far down the macro/DSL route (IMHO) is that the code becomes harder for people who didn't write it to understand. Or even if the code itself is easy to understand (by virtue of being a good DSL), it becomes harder to extend or modify, especially if the modification involves something not explicitly designed for by the original developer.

If you stick with the syntax of a known and well documented language, then the learning curve for new developers is easier. Though even then, the other issues you point out can obscure the code flow, so probably the only thing you can say is that complex code is complex. ;)

[1] http://metalua.luaforge.net/
Because titles at smaller companies are often looked at with anything but a serious attitude. She'd probably come up with something more official if she were job hunting, or talking to certain clients.

I myself go back and forth between "Lead Janitor" and "Co-founder".
Handwriting and penmanship is somewhat of an art form.

It's a different headspace than churning out writing on an editor.
If you're in a GUI where you can run only the highlighted code, I do this:

select * -- delete
from sometable
where id = 1

Then you can run the whole thing to see what would be deleted, and highlight starting at the word delete to actually delete.
The professions (especially academia) have all fallen from grace over the past few decades. Given the abysmal quality of leadership the American business world has had (pay more, get less) it shouldn't be surprising.
At the time, Stripe was the easiest and best solution for us. Our product wasn't as mature as it is now and automated developer payments weren't high on our list (as we were much smaller). But 18 months later, companies like BancBox and Balanced launched into the mix and were a much better fit for us.
Just because another state has not yet taken enforcement action doesn't mean Square isn't in violation. The TechCrunch article mentions they have been in talks with the state for a while, which means they could be talking to 40 other states that have the same concerns... we don't know.

If you are big enough to be noticed by the states as a major money mover, you're probably big enough to get the proper licenses to conduct business. The last thing we need is deregulation in the financial space.
I was halfway through before I realized that some of the content was clickable.

Very nice page, though.
To be honest they inherited all these applets (and applets-only) security exploits from Sun. Sun are the ones to blame here.

Actually the ones to blame are the uber f^^^tards who thought that Java applets was a technology worth anything.

One should go back in time and read Usenet's comp.lang.java.programmer from back in the early Java days. There were two camps: the retards who thought applets were a good idea and going to revolutionize the Web and the enlighted ones who pointed out that it was all wasted energy on a piece of shitty technology that would only create problems.

I was in that latter camp and, honestly, it feels good to see that no-one is disputing anymore that Java applets were really one of the most f^^^tarded piece of technology ever invented.
Git helps with keeping track of your patches, and can deal with simple structural changes, like if a function you've modified is in a different position in the file. But it's still up to you to deal with real functional changes coming from upstream, and I think that's the author's main point.
This is one of the reasons I'm pretty happy about the new execution model being discussed by the W3C's System Applications Working Group. The move of sensitive information from the desktop to the browser is leading to a "sandbox" everything approach, which may not be safer, but should at least mitigate the damage done. Nowadays if you compromise the machine of an individual, you own everything they use and everything they do. With some sort of sandboxing between tabs and between privileged user resources (contacts, messages, email, calendaring), the amount of resources an attacker can control is reduced. The problem on the desktop is that the default M.O. has always been to trust the user entirely with respect to everything, but machine administrative (root) actions. With sandboxing and new security models around the user's own data, the M.O. now becomes only trust the user within one area of their life, but not between areas of their life (so a PDF document can't affect their email without explicit user action)

Sandbox all the things.
It doesn't matter how many time sources there are. If you're doing an MITM attack, it's just as easy to fake multiple sources as it is to fake one.
Amanda Palmer: The art of asking
Would this work with an LD_PRELOAD of libfaketime?
"you might be assigned a baby!"

Oh, please god no.

Not ever having to worry about getting a phone call telling me I've gotten someone pregnant is right up there on the best-things-about-being-gay list with watching men's gymnastics at the Olympics and it being okay to own lots of shoes.

Are you trying to make us miserable?
Of the various regulatory hurdles you have to jump over to be a business that handles money for other people, money transmitter licenses seem like one of the most reasonable requirements, so I guess I agree. It must suck a lot to have to deal with every state on these, but I'm not sure we'd like federal requirements any more.
BLZ: A data format leveraging the hierarchical memory model
Back in the early 2000s it seemed like a lot people were using kazlib: http://www.kylheku.com/~kaz/kazlib.html
I am not so sure about that. I would say that the prosecutor's conduct in this case is symptomatic of a broad problem in America, and that the CFAA is symptomatic of that problem. Over the past few decades, the power of the police and of the executive branch as a whole has swelled, and the results have been predictable. What happened to Aaron Swartz is typical: aggressive prosecution by extreme conservatives who expect everyone to live life as passive, docile consumers (and only of particular products that are on the "good list"). It is another case of corporate interests superseding the rights and freedoms of individuals, and of the our government working for the benefit of those corporations while ignoring the needs of the people being governed.

It is not wrong to make a fuss about it, because it draws attention to bigger problems more than similar cases have. The CFAA is overly broad and can be used to prosecute almost anyone -- but it was not until Aaron's death that anyone cared. Prosecutors routinely pile on charges to intimidate defendants, but nobody cared until recently. While it is not as widespread as the superbowl, this case has received attention from people who usually ignore such things.
pypy is great, but I and others used swig and am stuck now with maintaining that stuff. There is also memory benefit to slots for when there are many instances. Sometimes you just have to do gross stuff so you can get on to the next thing, it's okay when everybody understands it enough.
"imagine eliminating both the indicator, and the modes"

I was using modeless editors all my life; I was working with Zend Studio and Komodo IDE which are definitely modern editors. Yet I chose to have modes and switched to VIM. In other words I have no problem with imagining editors you talk about, I just don't like them.

"When I wrote Apple Writer in 1978 ..."

That's a funny thing, because VIM appeared in 1993 and only really became what it is now around 2006. Whatever you did deprecate, it was not VIM.

With all due respect, you seem to know next to nothing about modern VIM. You didn't use it, right? I am using it every day and I can compare it with several other editors and I can assure you that VIM offers nearly everything other editors do inside the insert mode - you can work never leaving it, then it's like it was modeless - and that normal mode is an additional feature that accomplishes things not possible in other editors at all.

Anyway, I'm alright with you convincing people not to use vi. It's archaic and cumbersome, has many missing features and so on. On the other hand, please stop bashing modes - it's ok that you don't like them, but that's your personal choice - and stop including VIM in your rants.
For the devs on Linux who actually need Java (e.g. Java or Clojure or Scala devs etc.), then there's an easy way out.

Do NOT install Java from your distro. Do NOT install Java by giving the root password (or by directly using the root account): no rpm, no deb.

Fetch, from a regular user account, the Java .tar.gz and install Java in your dev user account.

And then install your browser in another user account.

This is what I do.

This way you can be sure and certain that no amount of Sun / Oracle uber retardedness Java applets can ruin your day....
Debian unstable got a fix for this last night:

http://packages.debian.org/changelogs/pool/main/s/sudo/sudo_...
Fun fact: the USSR and USA created several artificial radiation belts by testing nuclear bombs in the upper atmosphere.

http://en.wikipedia.org/wiki/List_of_artificial_radiation_be...
AngularJS, elasticsearch, and D3 demo visualizations
I quite like my head.
But they are an essential option for displaying geographic data. You may have an entry for something 6 blocks from me, and how would I ever know about it?
Lisa Falzone: CEO and co-founder, Revel Systems Inc.
> Vim is making a 5 seconds difference on every edit.

Please. I'm on the floor laughing. Five seconds. I'm not 12 years old any more. I learned to use a stop watch a long time ago. If you want to believe your own folklore that's fine with me.

In any non-trivial software project far more time --ORDERS OF MAGNITUDE MORE TIME-- is spent (or wasted) on planning, executing and, yes, fixing bugs, on software. The speed of your text editor is a rounding error in the balance sheet.
You get what you pay for.

There are a few companies that try with these kind of "pays" - mostly looking for "coders" basically trying to undercut even Eastern European offshore rates (min. US$20/h) but in London (£14k est. hourly rate - 2760h p.a. £12k -> US$6.8/h - this is basically the UK minimum wage)

And then there are others that are looking for different types of people - those that design and invent things, get something done reliable without constant control, architects and creators.

The second group like anywhere else demands multiples of that pay and gets that easily without much discussion. Have a look around on this page what others in London are offering for entry / mid level positions and even for that you see multiples of the 14k offered.

I consider it appalling (trying) to pay such low amounts in London for full time work - amounts that will not be enough to cover even the most basic living in this great but one of the most expensive places on this planet.
Your critique is unfair and one-sided. As an example, I use the PI as an ethernet/web bridge for my microcontroller projects. Your "openwrt friendly router" won't necessarily have (documented!) GPIO pins I can access, a 3.3V-level UART, SPI or I2C.

With the Pi, it took me all of 5 minutes to hook up an MSP430-based device via UART, and another 10 minutes to get a perl script that talks to it via the (included) driver for the UART.

Anyone that tries to compare the Pi to the "android sticks out there" forgets that there are people for whom time is important. I'd much rather start with a popular, documented and well-supported (as in: downloadable distro image that supports all of the hardware) device than hack my way through an undocumented jungle of hardware/software. And I do know what I'm doing, I've written Linux drivers before. I t's just not something I want to do every time I start a new project.

I also think that in spite of the critique of the lack of openness, this is a breakthrough project. Broadcom has been famously secretive and closed. Getting anything from them without being a multi-million device maker and having an NDA has been a nightmare. Now I hope Broadcom will notice that lifting the veil a little brought in some money.

I found the Pi to be an excellent tool, I am thankful to its creators and I wish them all the best.
I wonder if IcedTea could lead by provinding a faster patch cycle.
This is the code referenced in the video: http://people.csail.mit.edu/mrub/vidmag/
I don't think that's true; if you Google "dormant commerce clause", you'll see why. State laws restricting interstate commerce have to have a legitimate interest for that particular state and their interference with interstate commerce has to be outweighed by their benefit.
I think it would be cool to watch videos of people doing the work we respect them for. The same way that Notch occasionally posts of video of him hacking for many hours straight.
Related to this is the importance of deforestation. Some good links:

* http://en.wikipedia.org/wiki/Deforestation_%28computer_scien...

* http://www.haskell.org/haskellwiki/Short_cut_fusion

Deforestation is basically eliminating intermediate data structures, which is similar to what the "int(s.split("-", 1)[1])" versus "atoi(strchr(s, '-') + 1)" slides are about. If you consider strings as just lists of characters, then it's basically a deforestation problem: the goal is to eliminate all the intermediate lists of lists that are constructed. (It's something of a peculiar case though, because in order to transform into the C code you need to not only observe that indexing an rvalue via [1] and throwing the rest away means that the list doesn't have to be constructed at all, but you also need to allow strings to share underlying buffer space—the latter optimization isn't deforestation per se.)

I don't know if there's been much effort into deforestation optimizations for dynamic languages, but perhaps this is an area that compilers and research should be focusing on more.

On another minor note, I do think that the deck is a little too quick to dismiss garbage collection as an irrelevant problem. For most server apps I'm totally willing to believe that GC doesn't matter, but for interactive apps on the client (think touch-sensitive mobile apps and games) where you have to render each frame in under 16 ms, unpredictable latency starts to matter a lot.
for the latter, i'm saying i'd rather navigate with a scroll wheel and hyperlinked names a lot more than i want to search multiple buffers. hands away from the keyboard, reading mode rather than typing mode, getting context
I've been meaning to write something like this for the last few months.

Rails apps on Heroku need a number of non-default configurations to work well, and this is one of them.

Thanks for this - I'll add it to a project this weekend and probably do an updated version of my blog post on this subject: http://blog.craz8.com/articles/2012/12/7/heroku-config-for-p...
This is so great. Actually Leo's post "100 Ways to Have Fun with Your Kids for Free or Cheap" (http://zenhabits.net/100-ways-to-have-fun-with-your-kids-for...) has at some point inspired me to create the random kid activity picker site (http://kidactivityideas.com).

I went to Leo to inquire about permission to use that list for the site and was pleasantly surprised by that uncopyright policy. I am a big big fan of Leo Babauta and I think there a lot to learn from him (at least I do pretty often).

Thanks again great dude!
I'd be curious to know: Why not have developers have a Stripe account and charge $8K and you charge $2K and exit the escrow business altogether?
Anyone from Oracle who commented publicly on this would most assuredly be promptly fired and sued.

These Java exploits are all pretty low hanging fruit. CVE-2013-0431 basically boiled down to calling "System.setSecurityManager(null)". We haven't even hit the advanced stuff yet.
Open Source Project Prepackages Kim Dotcom’s Security
To play devil's advocate: do compiled languages have the same effect? They create a separation between developers (who use the source) and users (who use binaries). Especially for projects with a long/slow build process, like LibreOffice, this can be a considerable barrier to development.

By contrast, even the biggest codebase you use in a language like Python, you can dive into the code directly. Well, unless it's Software as a Service.