skysight-inc/HackerNews huggingface dataset:
All else being equal, the fastest code to write is the shortest, simplest code. By being physically shorter there are fewer keypresses (although actually pressing the keys is something I do for a very small percentage of the time spent), and by being simple you will find it much easier to keep track of what's going on where, and you will spend less of your cognition keeping track of it all and can spend more solving the actual problems.

This will often involve moving your fingers away from the keyboard and forcing yourself not to type anything until you have adequately solved the problem, be it inside your head or on a sheet of paper or whatever helps you think. Some people do find that tapping out some code helps them think, but be very careful; if it's part of your pre-coding problem-solving, do not allow your initial problem-thinking code to mutate into your actual code beyond the fact that both of them exhibit a solution to the problem. The odds of your first draft, pre-coding solution-exploring code being the best structure and layout and style and so on, are so slim.

The fastest code I write to solve tricky problems tends to involve an hour or more of thought and drawing and tinkering and examining the existing code and tracing values and running the debugger, and finally a few minutes of typing. Sometimes, if I'm very lucky, I simply delete a line or two of existing code at the end of a half-day's examination and thinking. I then sit back and have a minor fit of hysteria at what would have happened if I had tried to solve that problem by typing first.
There's a lot of advice here that says do this thing, or that. In my experience of almost 30 years, you never become faster. Sure, the bread-and-butter stuff like CRUD you get quick at. Not because you know your IDE backwards, or because tests, or lean - but because you've done it before. Any speed improvements (and quality) come from having done it many times before. And even that isn't a guarantee. Because as you grow, your ambition grows. CRUD that has a list and three buttons (add, edit, delete) morphs into something that does multiple-select/delete, tracks changes, indexes a search catalogue, lets you import and export the list, manage the list remotely, and finally manage a remote list in a disconnected environment.

You'll find yourself wondering why it still takes you four weeks to do a CRUD app, when you have all this experience, herds of war wounds and god-like reputation. It's the best thing about software. There's always a better way to discover, a new trick to learn from a green 20-year-old with 6 months' experience... It's humbling, it's awesome and its tons of fun.

One more thing - people are amazed at my speed and quality. Only because I have so much code lying around by now that I can repurpose in hours, rather than write from scratch in weeks. I spend my weeks doing the interesting stuff. The other big thing experience gives you is the ability to recognise a solution or approach to a problem in an instant, and knowing that given available time, people and skills that it's the right approach.
Hypothesis looks fantastic. A friend of mine and me spent a while on Google collecting Python QC implementations but didn't find any that implemented shrinking.

Hypothesis escaped our search. I don't know how but the project could do with better Google ranking :)

It has some really useful features like storing the counterexamples.

The CLA is a bit odd but I'm sure you have good reasons!
I believe your asking yourself the wrong question. It should be how do I write better code ? Being faster (on the long term) can only be a side effect of resolving this part first...

How ? By deepening techniques :

- familiarity with the language
- knowledge of good architecture (SOLID if your in OOP)
- knowledge of the domain you're tackling with
- balancing abstraction with implementation according to the weight of a problem
- not overtesting

Yeah becoming faster takes time...
Yesterday: https://news.ycombinator.com/item?id=9238983
As all modern browsers support WebGL (now also IE with v11 and iOS with v8), the stats show which browser version on which platform supports which WebGL features/extensions.

(I am not related to that website. Afaik Google used to contribute too.)
Of course, with $225,000 on the line, who on earth wouldn't leave the vulnerability alive.
> Also, you have to make sure haskell's Ints and Python's Int are the same on your platform (one could be 32 bits and the other 64 bits).

Aren't they both infinite-resolution?
Most of these streets are one-way.
Of these, fission/fusion/fossil fuels are the only ones start ups might touch. And even there, it depends on a lot of physics turning out favorably.
Other than what is already covered, somethings that I want every beginner to know:

- Writing some comments (somewhat pseudo code) before writing the actual code within the code file is useful.

- Do not get obsessed with writing working code at the first try. This happens a lot to beginners. They write one (or half) a statement of code, save the file, and build/refresh to see if it is working, then repeat. Please do not do this. Write code, and you can debug/fix typos later. It also builds up your confidence.

- Not reading the errors in the console is a big big big mistake. Please read the console/error-log/whatever, instead of plainly looking at the code dumbfound, thinking wtf is wrong with it. (This does not make you write code faster, but in debugging faster).

Good luck ;)
Is Kuka really a 'startup'? They are very well established among the industrial robotics scene.
Works fine in VMware ESX and HyperV. Need to run NTP though to combat clock drift. Not tried it on Xen but it has drivers for virtual NICs and storage etc.
The second tallest structure in the world (the Tokyo Skytree[1]) is in Tokyo, which is even more earthquake prone than the Bay Area[2].

[1] http://en.wikipedia.org/wiki/Tokyo_Skytree

[2] http://www.fastcoexist.com/3017696/the-cities-most-at-risk-t...
Apache Mesos 0.22.0 release
I still love Gopher. Its for people who give a shit about the content and structure, not oodles of CSS and JS cack wrapped around four square inches of content that looks like my teenage daughter fired up Word and set the font size to 18pt so she didn't have to write so much.
I would also add: get to know your debugging tools really well. I'm constantly surprised how many developers still use print logging to debug issues with data structures. Sometimes it's hard to visualize what's going on in your mind or with the code, why not let the computer "play computer" and actually see what it's doing step by step.

We may not have the real time integration that Bret Victor demos, but a call stack, watch list and breakpoints are a beautiful thing when you know how to use them.

A REPL like Ruby's pry is also invaluable for exploring return data and playing with data access syntax right in the console without long tedious trial by error sessions. (I know this annoys the purists who think you should know the data structures beforehand -- they are right; if you know what you are doing, of course you'll be fast -- but sometimes even the smartest of us don't know a service api changed without popping the hood.

Use all the tools you can to understand what your code is really doing, not just what you think it's doing.
I was born in the 80s. I'm not stuck there...
I've noted that the utter lack of criticism towards your own work makes programmers significantly faster.

On a more serious note:

1. Vast and precise knowledge of algorithms and math: to avoid losing time reinventing the wheel.

2. Unit testing: to avoid losing time on obscure bugs.

3. Prototyping: to avoid losing time trying to devise the optimal architecture beforehand and on inefficient refactoring of the system when it is already complex.

4. Rational use of available frameworks and libraries.
At least the Helion guys believe they have a good shot at it
http://www.helionenergy.com/
The one time I got that kind of offer, I got a lot of pressure from the hiring manager to take the most equity possible. They basically insinuated that doing otherwise was disloyal -- although, they cloaked the message in a super-positive tone, saying something like, "we are always really stoked when new hires choose the most equity possible because they believe in the mission". I know those words might sound squishy but trust me, there was no ambiguity about what they meant.

In retrospect I wish I had taken the higher salary.
What you think, how much money these guys earn per year with knowledge they had?? I think this money is only fractal of what they earn in a year.
No, actually the other way around. I love it so much that I am delusional that it will succeed and thus I think I should make money of it.
I'd say D-wave is at least as dubious as Mill Computing.
IBM Watson Personality Insights Service – Demo
You are not a 1960's typist.

Lots of replies here will tell you to practice typing, or learn your IDE etc. That's all tactical stuff but I think biggest gains come from not writing the wrong code to start with. Understand the user; understand their problem, the real problem; and actually solve it
Thats cool, reminded me of PaintCode which I keep meaning to try out.
http://www.paintcodeapp.com/
I am going to do that, I hope.
How is Nvidia a startup? They were founded in 1993 and have 8,800 employees and revenue over $4B.
Make an audit of your sites or hire someone to do it. Decide what went right and wrong with the whole project. Finally decide whether it have a future. You really need to be firm in your decisions and cut ties with projects that are taking time/ not making money or you don't have interest in them anymore. Go to flippa and sell if needed and concentrate on new projects.
I completely agree with that! I know so many people coding ridiculous hours, and all they do is causing more problems the next day. Less hours = Better focus

Plan your food and sleep. Probably exercise. Get a fitbit (or similar) and find your sweet spot (sleep tracking is awesome with those things). When you feel good- you're most effective.

If you're having deadlines, take long breaks and go back to work after you've done something different (essentially shift working but within reasonable hours).

Don't "overdose" yourself with energy drinks, or too much coffee/tea. I have found that some energy drinks do affect my ability to focus negative. Same with coffee- too much is limiting (my) ability to focus.

All those things helped me. It can be different for you, but it's probably a start.
OK, but you still have a problem because I want to use the same font for Greek and Russian. What if my font is CURSIVE?

Russian and Greek have different cursive forms. You might unify κ and к, but actually the cursive form of κ looks like a Roman u.

So really if this were to happen you'd have "Russian" fonts and "Greek" fonts. Kind of like how Japanese and Chinese have to use different fonts for their languages.
Oculus isn't a start-up anymore. It's a division of a $100 billion company.
Also this!

One of the things that makes me fast is something that was a premise that was very slow to start with: "every error means something, no error is random, once you understand the error completely, you usually also understand the problem."

Almost every time I have ignored an error without understanding it, it has come back to bite me a hundred ways until I finally get it. It seems faster to ignore the details and plow on, but those hundred missteps add up vs one sure step, so practice reading those errors and understanding exactly what they mean. When you know that you can choose to ignore them, but it's likely it will be faster to simply fix the problem.
Nvidia has done great work with CUDA, but I wonder if AMD/ARM's HSA will make the work of the people using CUDA now much easier in the future - compute with a high-level language that you already know. That's got to be some kind of paradigm change there. I just hope they end up supporting Rust, too.
It's never been the case that people actually needed to download a file and open it to get infected. Actually, in some ways things have improved - it used to be a lot easier to find this kind of exploit, which is why there weren't rewards like this for finding one.
Jailbreak iOS 8.2 on iPad 2
How interesting! I'm based in the UK and have never even been to New York, but I rather assumed that the outline of Manhattan was one of those more-or-less instantly recognisable things.
Neat trick using the FFI for this. Also, quickCheck like libraries are available in other languages e.g JUnit-QuickCheck for Java - https://blog.sourceclear.com/property-based-testing-for-java...
Yeah, that was my first thought, too.

In all my years in networking, I've ran exactly one instance of OpenBGPD and that's used simply for real-time updates of (anti-spam) blacklists and whitelists [0,1].

[0]: http://bgp-spamd.net/
[1]: http://www.openbsd.org/papers/asiabsdcon2013/phessler-bgp-sp...
Kryptnostic seems to be working on bringing usable fully homomorphic encryption to market. If they actually have something real there, that could be game-changing for cloud privacy:

http://techcrunch.com/2015/03/19/kryptnostic/

It's a shame Google isn't focused more on this, too. They should be having a Google X lab just for that, and invest at least as much as they currently invest in quantum computing. They have a lot to gain from it. Infringing on people's privacy is currently Google's biggest PR issue, and it's not going to go away. It will only become a bigger issue in the future. Without this, Google could perhaps return to being almost as liked as it used to be (there's still the issue of bullying others in the search engine, of course).
Morning people tend to get slower later in the day. Night people actually tend to get faster.

(There is some research that backs this up: http://www.personal.psu.edu/afr3/blogs/siowfa12/2012/09/earl...)

Know yourself and work during your peak time, not someone else's.
Who suggested that and what reason do they have to believe it?
I'm heading off to B-school later this year. It'll be relatively cheap for me (non-US location) and I got into the top school in the country. Would this be a good place to meet founders, because I have the same dilemma as you - too many friends who are not interested in building businesses.
We were working on autonomous stuff, but had to move onto simpler things because people weren't buying.

http://robots-everywhere.com/portfolio/navcom_ai/ (2007)
So you're saying that it's easy to hire talented web developers for low salaries, and the market is wrong?
You can't solve individual problems faster(unless they're familiar problems, which doesn't make you an "overall better" programmer, just better in that problem domain). Every programmer tends to fall within a certain range of time-to-solutions when they encounter a novel problem for the first time. Innate ability is, in the end, not something worth worrying about because it's also not a "universal", it applies to particular problems just like domain knowledge. What you can do is create a workflow where you have fewer incidental problems, and so you end up being faster and more accurate in your coding all the time because you just don't run into trouble.

1. Can you write less code? Not just code-golfing, although that is worth experimenting with(see Arthur Whitney's code. Make an honest attempt to "get it" without just giving up). You'll have to develop your own metric, but some combination of - lines of code, new names declared, branch points, nesting, subroutine length, etc. can usually tell you if you're progressing.

2. Can you use fewer language features? There is an ingrained tendency in many programmers to jump onto everything new in fear of being left behind, and then use all of it at once on a project where it's wholly inappropriate, becoming "that guy" who constantly reveals compiler bugs. But the features that last over multiple generations are the key: People shipped good software with it before, and they'll do so again, so if you stick to a conservative subset and roll your own abstractions otherwise, you can use familiar techniques everywhere, but enjoy an incrementally smoother experience with the newer environments. (Of course, at the extreme end you also become "that guy" who is coding everything like it's the 1960's, but at least that means that you are probably productive in some way, if not really up to speed.)

3. Although I dismissed familiarity in specific problem domains above, diversity of experience with specific problems is better for your overall abilities, because the natural grain of problems exposes different styles of coding.

4. Do you know your tools? Not just "I can use my text editor and compiler," but rather, have you tried to deeply evaluate all the technology available? If you can use a simpler toolset, that's usually better, because something simpler is easier to extend or replace. Something that is deep and intricate and complicated is bad, because it becomes an edifice. True of the code you write, of your coding environment's configuration, and of the tools you work with, be it editing, builds, source control, etc. If you rely on a debugger for everything, then you're at a disadvantage when you don't have it. So you have to adapt to the situation.

5. Do you put the data first? This is the flip side of the "edifice" remark - your code never lasts, but your data does, and, less frequently but perhaps even more importantly, protocols and formats you invent for passing around data also last. If you're taking good care of the data, everything else become possible. But if you tangle it up in a way that makes it hard to work with, everyone gives up.
I'd say do "real" work everyday. Minimize programming "downtime". As brutal as it sounds, for me there's nothing worse than being out of the loop.
yes I agree on the Improvement but like it has been mention it was a Toy language in the sense of as not so verbose. but remember Html and CSS were missing of feature and structure for manny reason. as Programmer, Hackers and Tinkers it is up to us to improve on these things. the web continue to grow. js is the C of the web and by the looks of it, it will be this way for a while. dart is cool but something i believe it can be applied across the board.
From the website for Vicarious

"our mission:
build the next generation
of A.I. algorithms"

http://vicarious.com/
Sports betting as a job
This reflects your current status I presume? http://robots-everywhere.com/re_site/
I agree but only due to my lack of knowledge in both areas -- and I only have second knowledge by attending a talk of a former D-Wave user and "programmer". That is, and contrasting Mill Computing, D-Wave has implementations in the field.
Good to see microsoft products on top of at least one comparison against opensource alternatives.
I'll second this. If they have any sort of security program, go ahead and report it to them.

Otherwise, it is a bit more risky. Personally, when this has happened to me in the past, I just send an anonymous email (over tor etc) to security@example.com and leave it at that.
What Steve Jobs meant when he said 'Good artists copy great artists steal'
The problem with other approaches is of course that you're relying on an American company to make security decisions based on what will get them sued and what is tailored for an average Joe. This usually results in any powerful functionality of those portable computers we have in our pockets being disabled.

And we already DO have OS that caters to that demographic - iOS. I'd like Android to move more in the direction of distinguishing itself apart from Apple way of doing things, not copying the same closed sandbox.
Yeah, that sounds reasonable too.
What do you think about wind energy? A leading wind energy company here in India just had a $160M IPO here and it was oversubscribed. Wind is also growing faster than solar in large parts of the world.
Parents scale school walls to help students cheat in exam in India
the fact the many browser are like an OS in the sense it's home for the web but many vendors tend to believe that they can control the web by shift their browser to standards to try to control it. Remember the web a free communication source that gave everyone in the world knowledge, where we all grow
Beacon of Hope: Pushing Mobile Technology
like it! really nice
> a drag and drop editor is just foolish, and they have never worked well.

They work great for what they are designed for if you learn how to use them effectively. If you use them for things they aren't designed for or you assume that just because it's a GUI editor you can click around and build things without knowing what you are doing, then you're going to run into problems. This is not a problem with the tool.

> Here's how you adjust kerning

No, that's how you adjust kerning if you want to do it manually as a one-off task. It's trivial to wrap that up into something you can use in Interface Builder for day-to-day work.

This is exactly the kind of thing I was referring to wit the 80/20 split I mentioned. You use Interface Builder to create your user interface. It's not Photoshop. Fine control over the details, such as character-by-character adjustment of kerning, is more effectively done elsewhere. But just because you don't have Photoshop-level control over the details, it doesn't meant that it's not a great tool for the other 80% of GUI work.

I also don't understand how pointing out how to do kerning with code is a criticism of Interface Builder. You realise that if you create all your GUIs by avoiding Interface Builder you still have to use those APIs for kerning? That's not how you do kerning in Interface Builder, it's got nothing to do with Interface Builder. That's how you do it in code.
In my opinion it isn't a bad thing because in the future, when Microsoft disallows disabling secure boot, using BIOS vulnerabilities will be the only way to install an unsigned operating system.
Ooh, this will help me a lot!
I'm really not sure what they mean by "track something on the web".

Do they mean "monitor price changes for something you might want to buy sometime with push alerts when the price changes"?

Their screen shot is a picture of an Amazon page.

I can't think of anything I'd want to track that I simply wouldn't follow their twitter feed or like them on facebook.

And if I was really that price sensitive, I am not sure I'd track an item on Amazon waiting for a discounted price to show up.

I'm confused.
Somewhere on the internet the book "The Medical Detective" by Bertone Roueche should be a really good read about debugging. But I did not find a place on the internet where you can buy it. Here is a link to goodreads: http://www.goodreads.com/book/show/106164.The_Medical_Detect...

Has anyone read this book and can recommend it?
I actually like JS, but it bothers me heaps when something fails silently. That is, something doesn't happen and I have to go hunting to find out where the problem is. In most languages I would get an exception, an error or at least a warning.
As programming grow, new thoughts and ideas we have coders have to think of new way of doing things. so far it has work. now the question is that with this new way of doing things how should we resolve,approach of use this?
Cool! I'm curious about the traffic patterns -- for example I see them slow down towards areas of complexity and speed up on straights.

Is this just an emergent property of the number of control points on your traffic curves, or was it intentional?

It would be cool if some kind of max-flow algorithm were applied to generate realistic traffic flow speeds; a kind of baseline throughout measurement for the road system geometry without further detail.
Think Positive
This question comes from not much experience with the bittorrent protocol, but what would it take to use something like this to build an open clone of btsync?
We're using a combined data pool from multiple companies (i.e., customers) to predict security breaches before they occur, and provide a usable set of notifications rather than the long list of "possible alerts" that so many infosec apps drop on users' laps.