skysight-inc/HackerNews huggingface dataset:
It is just like optimizing any piece of code. Log everything, identify hotspots and improve them.

1) Time yourself. Keep a little text file with timestamps and brief fragments of what is going on. Do this every time you have a mental context switch, start a new sub-goal, accomplish something or give up on an attempt. Usually I find myself logging something every 5-15 minutes.

1B) Documentation lookups should not be manually logged. Instead flush your browser history for the day before starting and then save out a copy of that when you are done programming.

2) Once finished, identify and eliminate time sinks. If you spent 15 minutes writing boilerplate, refactor that out for the next time you need it. If you spent 15 minutes looking for correct bit of previously refactored boilerplate, organize your archived code. Look at what parts of the documentation you visited the most and study them.

3) Always be trying new tools. There is no such thing as a silver bullet, but there are some pretty impressive special purpose alloys. While tedious, it is worth running previously-solved challenges though the new tools. (Subtract out the time spent just thinking during the old run to correct for the additional experience on re-running it.)

4) Practice! Find the smallest "unit of delivery" and deliver that as often as possible. For example if you do games, do game jams.

By following these I am now 60x faster for one subset of competitive programming (Mystery Hunt style puzzles).
How do you justify to yourself working under a CEO who proposed making a smear campaign against Julian Assange?
In a recent talk in Amsterdam Koichi said that Matz has very high ambitions for Ruby 3. They will focus on concurrency and it is expected that the concurrency interface might dramatically change.

With that in mind I'd say that removing the GIL is a rather useless effort. It would probably not do much for performance and most likely result in many very buggy releases of Ruby possibly tarnishing its reputation for reliability.

Imagine instead if Ruby 3 had an actor system like celluloid integrated to the core, and it would require any globally defined objects (I.e. most classes and modules) to be actors. (Perhaps by making the default class parent be ActorObject, instead of Object or something)
That would in one fell swoop deal with concurrency, while retaining the clean feel of Ruby.
Counsyl is doing great work in genetic testing.
https://www.counsyl.com/careers/
If you want to write code faster - I have 3 letters for you - I D E. Learn your IDE, be it vim, textmate, IntelliJ or emacs.

I used to use textmate (w/ default plugins) for HTML, CSS, Javascript and Ruby. Now I discovered IntelliJ does stuff really fast and works.

IDEs/Editors have macros help you perform repeating work fast.

TextMate allows you to run shell commands inside the editor which is pretty useful. There are few for Ruby if you want to see output of an execution as a comment (see Avdi's screencasts).

There are shortcuts for performing tasks. In case your IDE does not provide, use the ones which your operating system supports. Example for Mac OS X - you can use Apple Scripts, Alfred, Keyboard Maestro etc.,).

Take time reading your IDE manual or help. Graphical UIs show tips and suggestions. console based provide tutorials when you open without arguments. With vi, use :help and follow the article. It takes months or even years to understand and learn your IDE.

Talking about downsides, once you start using your IDE a lot, you will learn about the downsides like 'pinky finger problem on emacs' (Google for this), and then you'll realize you have to customize your IDE. Note: These are good to have problems because you realize you are advancing.

For HTML, ZenCoding as a plugin came out 3-4 years ago where you can use div.container>div.hello+div.details>span>a*3 (on tab) will expand and give you html.

StackOverflow has lots of answers and details on discovery of productivity tools.
Faster writing code. I have 3 letters for you - I D E. Learn your IDE, be it vim, textmate, IntelliJ or emacs.

I used to use textmate (w/ default plugins) for HTML, CSS, Javascript and Ruby. Now I discovered IntelliJ does stuff really fast and works.

IDEs/Editors have macros help you perform repeating work fast.

TextMate allows you to run shell commands inside the editor which is pretty useful. There are few for Ruby if you want to see output of an execution as a comment (see Avdi's screencasts).
Read the story. It specifically says that nobody was targeted and no offline activity took place.

Your muslims vs christians doesn't come in here.
You might think so, but check the service configuration (services.msc) - on a typical Windows machine, you will find plenty of services running as SYSTEM. Basically, nearly all services that do not need to face the network (Windows has another builtin account for that, which I think is called NETWORK or NETWORK SERVICE on English versions of Windows).
The programmers who get the fastest results are the ones who sit down and think/design first before they write a single line of code.
Drchrono wants Django and iOS hackers to join us, help us fix healthcare
I guess it depends on the seriousness of what you're doing. In programming normal, non-critical code, Python and exploratory programming will speed you up quite a bit.

But if most of your time is spent debugging, then taking your time is probably worth it. And use tools that makes a lot of bugs impossible: Use a memory-safe language with strong typing and concurrency abstractions that prevent data races etc.

If you're making a big system where remembering where everything is is half the job, a good IDE with solid auto-complete might help. I'm a big fan of MS Visual Studio, though it has limited programming language support. I've heard good things about Intellij too.

If most of the code will be written by someone else then you want an opinionated programming language that enforces a certain style, like Ada or Go.

Finally, if your problem has already been solved, don't solve it again. Use Erlang for distributed systems, Ada for critical systems, Esterel for extra-critical systems that can afford to be slow, etc.
@flyinglizard already mention zen-like style. So, stop using stackoverflow programming and do really deep digging about every aspect.
In Berlin, there is the 'Social Impact Hub'

http://socialimpact.eu/

of which I am not affiliated with nor won't endorse here in any way. Sadly, in Germany at least, startups that aim for maximum positive impact and less so profit, are called 'social startups' which outside of Germany probably has a completely different connotation.

The news websites I usually frequent, are not very full of news; they are rather SV & VC company theory megaphones. Avoiding those websites sometimes leads one to people with a bit different entrepreneurial mindset.

This having said, would you work for such a company? And which compromises would you accept (on the ethics-, but also wage-scale)?
The new Macbook (2015)
* Stand on the shoulders of giants. Don't write code someone else already did, better than you http://www.developingandrails.com/2015/02/a-social-network-i...

* Embrace the keyboard http://www.developingandstuff.com/2015/01/no-mouse.html
Genetic code (DNA) is not enough
Seconded. Before & after would help make the sale.
Be aware that you might not want to be one. Being fast at something implies that you are really adept in it. I am mostly interested in stuff that's nontrivial to me, and, as a consequence, I'm not particularly fast in it. People tend to be very fast in modifying/changing their own code, but not everyone can/wants to do that.
> Most developed countries, with the exception of the United States, have partially or fully publicly funded health systems.

I don't think this line from the article is correct, unless it was written before the Affordable Care Act (Obamacare)? Doesn't the US have partially publicly funded healthcare? Of course conservatives don't like this, but they'd be way unhappier with something more extreme like single-payer or socialized medicine.
Polymer is a framework based on web-components (a relatively low level fmk - it's not angular). Webcomps is a coming standard to be implemented natively by browser, so you'll have a native components model, at last ! But webcomps aren't ready yet. Polymer is heavily based on polyfills and is slow or won't work on older browsers because of that. But yes, Polymer has a great API.

I'd say React is the best response TODAY if you want a component approach.

And if you want to see what future could look like, give a try to Polymer Dart =)
Emacs has supported inline SVGs in org-mode since 2007 or so.
Millennials are known for their YOLO (“you only live once”) attitude and this is generally true of their health care behaviors as well.

Ooooooooof.
I do the following : I solve problems for a certain period of time as fast as I can and try to improve my previous score.
This.

Small VPS are dime a dozen on Lowendbox.com. You can grab them for $1 and below.

They tend to be unstable, slow as molasses, poorly supported, and the hosters sometimes just disappear overnight (often to relaunch under a new name a few months later...).

They are almost never worth the hassle since DigitalOcean will sell you a proper VM for $5.

So if you want to compare them, you need more creative metrics. A simple "does this company exist for over a year?"-column would already weed out many of the worst ones.
http://typing.io/
There are already mail providers that take bitcoin, but I don't know of any that will manage your domain for you. (E.g. mailbox.org takes bitcoin or envelopes with cash in them, but you have to configure your domain DNS yourself.)
5 embrassing goofs of 50 Shades of Grey
A few ideas below. You mention startups trying "to make as much money as possible as quickly as possible" - I personally quite strongly believe that companies that focus on long-term profitability also happen to do a lot of good for mankind.

- cure for cancer

- cure for malaria

- cure for aging

- cheap fossil fuel extraction from low-quality deposits

- safer nuclear fission

- nuclear fusion

- lower-cost space travel

- space elevator

- space colonisation

- intelligence augmentation

- safe artificial intelligence

- desktop nanofactories

- nano-machines
I feel like at least in this thread, you're forcing a square peg in a round hole. It's asking for technically challenging startups- there are plenty of startups doing amazing, world-changing work that isn't technically challenging, but more socially challenging.
If you are asking me, my answer is yes. I do not care very much for money. If I make enough so that I can eat and not have to live in complete misery, I am ok.

Ethics, that is harder. I guess if you look hard enough you can find problems with anything, but that's probably just the way the world is. If it does more good than harm, it's ok in my book.
According to basically every career page of every startup, every startup ;)
IMHO, right now no one really can answer that. There are tools that can help you speed up, such IDEs and online resources; and of course nothing replaces practice and experience: the more experienced you are, more patterns of code you're gonna have from top of your mind, essentially allowing you to jump faster ahead.

The real problem now, is that the programming languages are now trying to solve a weird dichotomy. Do you want a language which syntax allows you to express your ideas in as few lines possible? Or do you want a language in which the syntax itself is not that important (you'd be OK with inconsistencies and lack of idioms) but that would have all batteries included?

So I believe in this case you will need first figure out your programming identity before worrying about your speed.

If you feel that speed for you means writing fastly well defined algorithms, you might want to take a look at the modern functional languages. In them, it really doesn't matter if you type fast or slow, or if you can think fast or slow, all you need to worry about is to use the proper idioms properly to achieve an implementation goal. If you manage to choose the right idioms in the very first time you're writing something, you'll be debugging just tiny typos.

If you feel that speed is getting things done fast - even if it means you might be brute forcing your way out of the problem - you might want to take a look in languages with very rich standard libraries like Java, PHP or Go. All of them have issues with their syntaxes (respectively verbose, inconsistent and bland) but because they have extensive standard library all you will to memorize and practice is the call for tools they offer.

Then, I believe you will be able to say you're faster.
You are probably correct. I just get a little frustrated sometimes. Sorry :)
Code things in the absolutely simplest way you can think of and be ready to throw it away at any time when you think you understand the problem enough and have a good solution. Don't spend hours trying to design the perfect system, spend those hours coding it stupidly with the thought that you're going to throw it away later. Sometimes you do throw it away (but now you've gained a lot more experience with this particular problem, so coding it again will be a lot faster and with higher quality), sometimes you don't.

Either way, to code fast you just have to code a lot and throw stuff away a lot. Don't listen to people telling you to stop and design the program properly in an organized way before writing a single line of code, it almost never works properly.
My point is that it is completely and obviously impractical to expect people to remember a large number of complex passwords, so it's a moot point. I mean, seriously; you can't actually believe that is a sane option.

Also, like I said, most services will not allow me to use a common pass phrase because they all have different restrictions. Too long! Must include a special character! Can't include a special character!
I haven't checked lately but traditionally SVG wasn't available with UIImage yet was with NSImage. This often lead to custom drawing code for vectors on iOS.
As far as knowledge, working of course is going to give you that, or through your own efforts. It seems like a degree is only needed if you want to make a change. Some companies will not consider you. Can you do the job? Of course, but you may never be able to get that across. I also started college, then ended up getting progressively better jobs in IT and quit college. Everything great until I got let go. Now I needed that degree to get me in a few more interviews. I eventually finished the degree and then noticed that for the positions that I was looking for wanted a Masters degree. Kept working and going to school and finished that one too. I just wanted to have as many options as I could.
You're right, I should have been more specific in the title. Although I do think the description gives a better idea of the kind of startup I was looking for.
How Google Sophicates Competitiors So They Promote Their Own Properties
Microsoft  Windows 10 faster updates revealed
When I was a kid, we used to hang out in an abandoned Georgian cold-store - it was on the grounds of my school, with an entrance hidden in a thicket.

We called it "Dick Turpin's Cave", even though it was self-evidently no such thing, but it was damnably cool - both figuratively and literally - and on a hot summer's day, sneaking off from games to go loiter in our brick-lined flagstone-floored cave and play pog or what have you was... special. And probably incredibly dangerous. One end of it was collapsed - it was shaped like a cross with an entrance in the ceiling of one lobe.

I more than understand the appeal. There's some innate human instinct to tunnel - perhaps at some point in our history we made burrows to live in, in the absence of other construction materials - I mean, we lived in caves, so...
I assume you were speaking of CPM (characters per minute) and not WPM (words per minute). Otherwise, I will really would like see you typing on a keyboard that must be a hell of a show :p
>Why would you say that's inflated? Engineering is a professional occupation that requires a high degree of skill and education.

That really depends on what kind of code you're writing. If you're gluing together web frameworks then, I'm sorry, but I wouldn't consider that engineering, and it certainly doesn't require a large amount of education and skill.
The hypothesis is that 1 million years ago the "North Pole [was] in the middle of the Pacific, and the South Pole in the open southern Atlantic", and that the Ice Age cycles started because of a sudden shift that brought the poles to the current alignment.

If someone presented that scenario now, it would be considered very implausible, because it goes against the evidence and mathematical models of the physics of the Earth.

Pollen studies carried out within 10 years of the publication of the hypothesis shows that the Arctic was colder during glaciation. See https://books.google.com/books?id=N0mzl3c6g6kC&lpg=PA83&ots=... , http://www.ncbi.nlm.nih.gov/pubmed/17754671 and https://books.google.com/books?id=8OWQTJP8oFkC&lpg=PA230&ots... , which say the evidence was enough to make the hypothesis implausible.

This research was done after the model was published. While it was viable in the 1950s, it no longer fits the evidence.
Etsy Bans Popular Third-Party Listing Tool BETSI
I would say:

1) get rid of distractions
2) stop creating bugs
3) get really good in debugging

This sounds a little odd bug getting rid of distractions (set all you favorite websites in /etc/hosts to points to 127.0.0.1) forces you to focus on the problem.
Stop creating bugs is impossible, but you can make your best afford to test your code and write good code (read the book "clean code")
But I think the biggest speed improvement is if you are really good in debugging. It can take a good debugger to find a bug in a distributed system in 15 minutes, a inexperienced developer can spend over a day and have no clue what the problem is.
I think the most important is to practice. If you program a lot, you will eventually be able to do it faster. Your brain will develop a library of common patterns you will be able to recognize and quickly implement. You will also have to overcome common problems, such as over analyzing. I found I can do this by first coding, and then thinking.

Other suggestions, such as using vim or an IDE, or practicing typing, I feel, will only provide you with a small boost.
Ask HN: Do you take nootropics?
What do you think about them?

Which ones do you take?
Joe Armstrong, creator of Erlang and industry veteran:

Most time isn't spent programming anyway - programmer time is spent:

a) fixing broken stuff that should not be broken

b) trying to figure out what problem the customer actually wants solving

c) writing experimental code to test some idea

d) googling for some obscure fact that is needed to solve a) or b)

e) writing and testing production code

e) is actually pretty easy once a) - d) are fixed. But most measurements of productivity only measure lines of code in e) and man hours.

http://erlang.org/pipermail/erlang-questions/2013-September/...
Could you explain what advance in technology they're working on at Yo? (as opposed to "advances" in social media)
This reads like satire on how basic human interactions are repackaged for an 'increased consumer and retail value proposition'.

I can't wait for the app that "connects lost consumers with local geographic knowledge in a sharing-economy-marketplace of ideas" aka asking for directions.
Very much this. Software development is not a race to write down text to a file. The majority of what we do is thinking, the coding part is the final result. What does the user need to do? What can go wrong? How does this fit into the overarching system? Does the design need to change to accommodate this feature? and so on.

> At the moment I feel like I have no choice but to go at the pace that my mind allows me to operate at.

This is perfectly fine and exactly where you should be. If you force yourself to work through problems faster than what your brain wants you to do, you will make mistakes and spend more time cleaning up after yourself.

Following from that, to be a faster features developer, I have one simple solution: write less code. It's taken me 10 years to understand the wisdom in this but I assure you it's true. You will move faster, you will write better code, and you will stop hating your past self so much.

As much as some people argue against this, software development is a creative process. Creativity takes time. There are times where you are writing rote, boring code, and for that you can speed up with editor tools (IDE stuff as another commentor said) and learning to type faster, but make sure you recognize when you need to slow down, and you'll find yourself becoming much more productive.
Ask HN: Good books on debugging?
Are there any good books on debugging? I think debugging is one of the key skills of a good developer, but I have never seen a book (or blog) especially about debugging code and distributed systems.
I don't think a good programmer is a fast programmer.

Good programmers can solve problems and move beyond obstacles. Mediocre (or bad) programmers can do some basic things but quickly hit walls and don't know how to proceed.

Building quality software takes time. There's no way around it.

> At the moment I feel like I have no choice but to go at the pace that my mind allows me to operate at.

That will always be the case.

The only way to be "faster" is if you have more knowledge about the domain you're working with and the technologies you are using.
Steve Jobs and Bill Gates also capitalized on someone else's idea. The "idea" is just one factor on a very complex equation.

Take a look at this great movie "Pirates of Silicon Valley"

http://en.wikipedia.org/wiki/Pirates_of_Silicon_Valley
I used it only as source for the differently-sized raster images. I sort-of inherited an Android and iOS app at that workplace and just went with what was there. But given that the app used OpenGL I'm not sure there even was a possibility of a vector format to use.
I just looked them up [1] and they don't mention ssds, however they appear to give four cores by default, which may be more important for some workloads.

[1] http://www.intovps.com/plans.html
Get more sleep, eat better, and work fewer hours.

I wrote a more object-level detailed answer about tools and getting better at common tasks, but those are just side issues.

If you're tired, you will fuck things up. Fucking things up is much slower than doing it right the first time.

Similar reasoning for eating well. I'd also recommend intermittent fasting - the kind of biological effects that digesting food causes aren't good for thinking well. Plus, breaking for lunch in an interruption, and not eating lunch is a good way to side-step that.

Working fewer hours is the easiest way to get faster. Pretty much everyone gets slower at programming later in the day. If you simply don't try to force yourself through your least productive hours, you're going to be faster on average.