skysight-inc/HackerNews huggingface dataset:
It's better than SLoC, but it's still not good.

Trying to quantify the quality of a code base is pointless, impossible, or both.

Consider this. A perfect piece of code (from an engineering standpoint) has these characteristics:

- Free of bugs (serves intended purpose)
- Never needs to be modified
- As short as above characteristics allow
- As efficient as above characteristics allow

If you make these assumptions, hits-of-code indicates poor quality. It shows that the coder introduced bugs, failed to foresee what the code would need to do, or just didn't write it concisely or efficiently enough.

But because we'll always have to fix bugs and modify code, a more realistic set of characteristics is this:

- Easy to fix bugs (readable, well-organized)
- Easy to learn (see above)
- Easy to make changes

It's a completely different list, but hits-of-code still might indicate poor quality. It might mean that the coder is constantly refactoring, which means there will be more bugs and more learning time for other people working on the project.

Or, it might mean that the coder is trying to expand the feature set of the code. If you subscribe to the Linux philosophy, the broader the scope of functionality, the worse the code will get.

My point with all this is that "amount of effort" doesn't tell us anything about a code base. A great coder will do something in 10 commits that a terrible coder will do in 100.

The best metric I can think of right now is "how many users are touching this code". That tells you how useful the code is and how much work it is saving people. That's the core purpose of software: doing some work to save a much larger amount of work in the future. How do we measure that instead?
"Smaller market shares"? That depends entirely on how you limit your view. PC desktop, absolutely. But internet servers? Mobile? Those are places where Linux is huge, and Java is too. But the thing about Java is that it also works on Windows. And that's the great news here: you're not just stuck with Windows anymore if you use C#, and that makes it a lot more useful.
I think he meant that it wasn't on their internal source control system, which is one massive repo.
Request Timeout
The quality of your shot on a DSLR is, in many ways, a function of the glass you put on it. Do you have a stock 70-200 that you paid $500, or a fast-prime that you paid $2000 for? 99.99% of people don't put an external lens on their smartphone, so, that pretty much ends the conversation right there.

And there are entire arenas of photography that aren't even possible on a smartphone - wildlife photography is pretty much the zone of the 800mm+ lenses.

Really - so much of photography is about the lens, and honestly, except for low-light photography, the average $2k digital body from 2005 will get the job done today.
We're using this metric over the last year but didn't give it this name. We're just getting this stats from git to measure the amount of efforts we spend on the code.. So, we'll try your ruby gem, why not :)
I basically doubled my salary by moving from finance to software. And the job is much more interesting, my coworkers are smarter, people appreciate my work, and the food is free. (There are also fringe benefits, like finding things that annoy you about your desktop and submitting a patch to the OS that day.)

I find investment banking very interesting work, from the software side, but the market doesn't really care about software. You're always a "cost center", never a revenue center. Also you have to use Outlook, which I find unenjoyable.
The Damm algorithm is an amazingly useful algorithm. I put together a Base32 version that I use for checking passwords that users enter [1]. It is only in C and PHP right now - I need to get around to porting it javascript [2].

[1] http://www.tillett.info/2014/06/12/base32-implementation-of-...

[2] https://github.com/DanielTillett/Damm32
You're absolutely right, hits-of-code won't tell us anything about the quality of code, just the amount of effort programmers put into its creation. The code may be complete crap, but hits-of-code will be high. This metric is not an indicator of quality - not at all.

However, if all programmers in the team has similar skills and experience, they will create similar quality (well, on an average). In this case, hits-of-code can be used to predict project budget, schedule, etc.
A camera that records even underwater
Note that Projectile is about dealing with projects, but Helm is providing the split window UI in the video. Completion like ido, using the minibuffer, could also be used.

(Helm is the sucessor to anything.el http://www.emacswiki.org/Anything)
As someone learning Go and coming from scripting languages this is a great introductory course. I want my APIs to be fast and Go seems to be the best language for that. Finding a middleware solution (negroni) was key for me to feeling productive.
India is an unique, magical and increasingly important country and I love its culture and people. However if half of its citizens don't have a toilet in their homes, yeah, its a third world country.[0]

As usual, that's not the problem with the people of India per se, but with the long term path-dependent development of country that has been a British colony for too long.

[0]http://www.bbc.com/news/world-asia-india-17362837
That line usually works like this: I am a merchant, YOU are a privateer and HE is a pirate.
TBH MtGox, I believe, started out with good intentions but eventually failed due to poor software and automated buy orders to drive up the price to attract new investors. This sounds like it was an intentional scam from day 1.
I'm a little critical of Yishan on here, but I think this sounds fair and reasonable. I won't discount the stress of the job at all, it probably explains some of the things I've been critical of.

Being stressed out is the worst, being stressed out for months on end is like living in a personal hell. You're constantly fighting your animal fight or flight instincts, and you behave in ways that will seem (in retrospect) bizarre). I hope he can find some calm and peace. My experience is that it takes a terribly long time to come down off of a continuous stress high.

Good luck to Yishan in the future and to the new Reddit executive team.
So, I'm no Jira fan either, but the code review side of github is definitely it's weakest point. They only just rolled out side by side reviews, something that I would have said was essential from day 1.

The fact that every comment on a review turns into a separate email is insanity, and just fills up your inbox with crap (one email for all of one person's comments on a review makes a ton more sense).

I hope they make it better, it definitely seems like a place where some TLC can go a long way.
The biggest difference is that jet engine builders can conduct an unlimited number proper controlled scientific experiments, while the fields that study humans (psychology, medicine, sociology, economy) can usually only conduct a limited number of field trials (which, even though they are "controlled" and possibly "double blind" are nowhere as rigorous as in proper sciences).
I guess its official, misogyny is ok in our industry.

Have we forgotten about: http://lmgtfy.com/?q=github+misogyny ?

I'm not sure github even experienced a dip in traffic.

There are github alternatives, it took me 30 minutes to remove my github subscription and migrate my repos to bitbucket.
So why do we need a metric if it doesn't say anything about quality? What do we have to care about quantity at all?
While I couldn't find any specific info, concerning compiling applications with HHVM (it seems to just perform JIT), this seems to suggest you can type check without having to go into the runtime, "Hack provides instantaneous type checking via a local server that watches the filesystem."[0]

>If we're charitable and say that HHVM has gradual typing, then really it's just slightly better gradual typing than what PHP already has.

Isn't a mix of dynamic typing and static typing, being optional which you use, the definition of gradual typing? Wiki also seems to agree with this[1][2].

I'd say HHVM greatly improves on PHPs type hinting[3], which is rather basic, unless you want to recreate every basic type as an object. Also, with PHP type hinting, you can't specify types of Object attributes/variables, which you can in Hack/HHVM.

[0] http://hacklang.org

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

[2] http://en.wikipedia.org/wiki/Hack_(programming_language)

[3] http://php.net/manual/en/language.oop5.typehinting.php
Most of them offer something a smartphone does not: optical zoom. This is part of why images aren't tack sharp: a cheap wide angle zoom is hard to make.

If you need a 3x zoom lens in a $200 camera this is what you want. So while not obsolete, it's likely the segment being eaten quickest by smartphones.

Put the other way around: if you can live with a fixed lens then $200 likely gets you something that has higher image quality than a phone, due to larger sensor and higher quality lenses.
> it's an alternative to OpenCL

It's also complementary in that the goal of the hardware part is to offer zero-copy and unified memory between CPU and GPU (unified virtual memory and pointer-passing for dedicated GPU, unified main memory for IGP/APU), which I expect would be useful to OpenCL.
Backoff Malware Continues to Grow
Firefox users, get ready for ads in your browser
> In this case, hits-of-code can be used to predict project budget, schedule, etc.

No, it can't, unless you're doing the same work over and over. The variable of "what is the code supposed to do?" completely eliminates the value of SLoC or HoC.

If I learn my HoC metric for a payment module, that doesn't tell me a single thing about how much time or effort it would be to rewrite a messy controller or add an API call or build an invoice module.

Not all evidence is useful to gather. This particular evidence is potentially damaging because it gives you an unrealistic basis for predictions.

The Agile method for estimating scheduling works moderately well (breaking things up into small chunks). But Agile is based entirely on the idea that estimating a coding schedule is impossible.

I personally have always used my gut to tell me how long something will take, and then I double it. I have a friend who quadruples it. That method is about as accurate as anything, takes a few minutes at the most, and often results in under-promising and over-delivering.
One of the things that worry me, as I still enjoy shooting and am perfectly satisfied with my 6 megapixel DSLR camera, is programmed obsolescence. My camera, bought in 2006, is perfectly fine, the shutter still has a long way to go before hitting the 100 thousand actuations (it's just about halfway - and it may be repaired in the event it breaks), and I don't see the point why it may just stop functioning in a couple years. I also have a fancy new 24mp D5200, but I still find the old one useful - this thing is irritating.

I noticed the infamous symbol (two arrows surrounding a friendly "10") on the bottom of most of the DSLR camera models currently on sale from major manufacturers (Nikon, Canon, Sony) - with the possible exception of Pentax.
Are there any fundraising efforts on recoltes et semalles?
Github Enterprise has supported disabling force pushes for at least a year.
> In a free-market, rural availability won't improve.

False. In a free market, non-profits, co-ops and other parties with lesser ROI requirements than publicly listed companies can and may build and/or provide network infrastructure and/or service.

For concrete examples look at local fiber network and WISP build-outs in Europe, particularly in Scandinavia.

> The "competitive tide" under unbundling is a fiction.

False. Service level competition with unbundling is very real and creates a quantifiable consumer surplus even without intermodal competition.

For concrete examples see any European country with unbundling.

> It was not accompanied by increased investment into the actual wires that ran into peoples' homes.

False. A more accurate statement would be that the unbundling requirements were not in force long enough for competing ISPs to start building their own access networks.

Infrastructure build-outs require scale. Unbundling requirements enable competing ISPs to build up scale before starting on the next investment ladder step, i.e. their own infrastructure.

Concrete example: In France, one explicit reason for Free to start on their fiber network buildout in Paris was to stop paying the unbundling fees to the incumbent and instead use the money to fund their network buildout and improve their margins.

> Indeed, it eliminated any incentive to invest in those wires--why pour billions of dollars into infrastructure you'll have to lease out at cost to your competitors?

False. Unbundling and other infrastructure charges are not at cost. Regulatory schemes for tariffs are: costs plus, retail minus or in some egregious cases retail plus. All these schemes include (sometimes a substantial) profit.

So, why pour billions of dollars into infrastructure you'll have to lease out to your competitors? The answer is, as always, money or more exactly profits.

Once a network buildout has been completed it becomes a sunk cost with the additional downside of maintenance cost. The one single metric determining if this sunk cost turns a profit is take rate, i.e. how many subscribers you can get and subsequently how much it will cost to service each subscriber.

Leasing your infrastructure drives up the take rate. It's basically free money, analogous to airlines selling empty seats to third parties.

> People mention the "unbundling" requirement as if its a panacea, comparing it to what has been done in Europe, but ignore what makes that policy work in places like the U.K.--the company that owns the wires is a sanctioned monopoly, protected from competition, that is guaranteed return on investment through statutory means.

False. Wireline infrastructure is not a monopoly in Europe and certainly not in the UK. Anybody can get a license to deploy wireline infrastructure in the UK and it's not like BT has 100% coverage either. For example KCOM has a de facto monopoly in Hull where BT has no infrastructure.
Require MFA for AWS API and Console Access
You appear to know both Haskell and C, but find Go's syntax hard to deal with? This is one of the weirdest Go complaints I've read, for sure. Syntactically, it's just one of the many Algol/pascal-style imperative languages of the last 40 years. Most people get used to it quickly.

At least it's nice and unambiguous.
I feel the same way about Haskell and Monads.
Why can't the Yesod session cookie be hijacked?
I have been thinking about this space for quite some time now and maybe if I fast forwarded that process and reached a final conclusion, Glose would pretty much be it.

Back when hard copies were pretty much the only copies available for a book, it was pretty easy for me to

a) read a book
b) make notes in the side lines
c) markup text that I liked and
d) easily skim through the book later thanks to the notes.

I lost b,c & d when I moved to reading on my Nexus only about 2 years ago. I find that I have lower retention rate, find it difficult to find out what all I've read in quick glance and basically try and connect my readings. Previously, I'd just take a look at the stack of books on my table.

I tried finding some reader apps that would allow me to bring back my older pattern of reading. Sadly, no app did it properly. I tried Mantano which allowed me to make notes but it would forget them if I moved the file in storage. Also, the notes were available only inside the Mantano android app.

Right now, an acceptable world for me would be wherein I can take notes (including highlighting quotes) and once I am done with the book I have a page /leostatic/zero-to-one where all of my notes with the associated page number is presented. Allow me to click on a note and jump to the page, put in social features and I'm satisfied. For now at least.

One interesting feature while keeping in mind the above para would be something along the lines of: I visit julien_c/zero-to-one and I get an option to read the book with your notes visible. So now it is almost like reading your hard copy with notes scribbled in.

EDIT: One major issue that I find in glose from my perspective is the overdose of social. Don't get me wrong, I _want_ social but I don't want it _all_ the time. I know I can click on the icon in top right in the web app and select "Only me" but that isn't what I am talking about. Each time I want to highlight something, it throws the annotate field. I don't have data to back this up but intuition tells me number of highlights only will be much greater than highlight + annotate. Let me just highlight and continue reading.
I use Flickr to find free, Creative Commons-licensed photos.

I suggest you just create a Flickr account. You'll be instantly discoverable, and you won't have to maintain your own database of (potentially) GB of images.
The best contender for the next big search thing would probably be Google itself though.
Does anybody know if it's common that an aircraft can be structurally compromised like that due to user error?

I can easily imagine the stress on the airframe doing manoeuvres like this, if I were a pilot I'd be absolutely terrified that it were possible for me to flip a switch and just have the vehicle I'm in disintegrate around me.

edit: whoops, commented on a day old thread, what a dingus
When you start to create that payment module, you can predict its complexity. You have an experience of creating software, including payment modules. You can say that the module will be 1500 SLoC in size. This is what COCOMO prediction mechanism is based on, the SLoC metric.

I'm saying that this metric is wrong. And almost everybody agrees with this.

But HoC metric is perfectly suitable for such a prediction. You can say that this payment module will take 50000 HoC of my effort. And then you track performance based on this number. And you can estimate costs. Just like COCOMO, but using HoC.
Show HN: DB Migrations as Clojure data
This was back in 2010 when V8 did not really have an optimizing compiler - V8's "compiler" was a baseline one essentially gluing together individual interpretation patterns.

Also any cross-language comparison should be done very accurately - because we are talking about different language semantics and different benchmark implementations.
There used to be community credit awards. I once received one when I was younger, it was a lovely idea.
That's the reason why the test included a cheap lens and a $1700 one.
One primary issue that we've seen with using smartphones as a primary camera is that you're forced to always shoot with a large depth of field, which means that you miss out on achieving that sought after bokeh for your close up or portrait shots.

I've actually been working with a team of former post-doc researchers who've been using SIFT flow techniques to estimate depth information in an image and apply filters to emulate different depths of field - effectively allowing for an image captured with a smartphone to look like it was shot with a different lens (see https://www.dropbox.com/s/7qhfgnwl08vtk63/compare.png?dl=0). We've got some pretty cool demos if anyone's interested.
I am not sure if I follow. What makes you think that your camera will stop working? And what is the symbol you mention about?
Could you provide more info on Goldman screwing their customers? Among traders their general reputation is pretty good.
There is a strong argument against this, that has nothing to do with pricing. Telco networks are natural monopolies. The government has an in terst in not duplicating the asset base. They also have an interest in maximizing the value of that asset base. The latter is a function of network effects. The former precludes free-market competition from even being viable.

The networks becomes more valuable in a non-linear manner vis a vis coverage. The network is worth more to the government and to the users when it nears 100pc coverage. This is why rural telco is subsidized.

The cost of <not> having 100 pc coverage would be an externality borne by the state. And so the economic ROI of teh incremenatal coverage has nothing to do with free market economics at that stage. Optimizing the cost benefit is strictly a function of fiat decisionmaking.
NetBSD on a Sharp X68000
I think that has changed with the rise of algorithmic trading it's the software making the money and they advertise 150k+ salaries in job listings I've come across in that industry.

Tech companies on the other hand seem to pay an average of $125k which seems to be the bare minimum you would need to survive in the bay area. Free food is great but if you figure out the value of it it is probably worth $5k per year tops.
The git CLI is a mess. It's inconsistent even within its own commands. For example, sometimes specifying remote and branch is done as "remote/branch" and sometimes as "remote branch".

It even uses different words for the same thing - sometimes remove, sometimes rm sometimes -d.

Common actions often require obscure command lines, like "make a new branch" which is git checkout -b instead of just "git branch".

The reason people don't use other git frontends is that a vast majority of the help topics already out there only reference git itself. So if you want help for rebase, for example, if you're using some frontend that re-kajiggers the command line, all that help is now useless, or even worse, potentially downright incorrect.
They'll never stop drilling. But there's hope in solar. Check out the chart in this article. http://www.bloomberg.com/news/2014-10-29/while-you-were-gett...
Mechanical optical stablization does not help with shutter lag. It helps if the camera is moving during the shot, but it does not compensate for the delay between when you wanted to take the shot and when your smartphone actually took the shot, which can result in the shot being missed, or the shot being blurry because the subject started moving.
Yes, do make your own framework. And don't leave any documentation either. Hell, invent your own language while you're at it.

It'll make the "should we throw this code out" discussion WAAAAY easier in five years.
I was under the impression that there are basically not enough photons at the sizes that most smart phones sensors are. Once you get to low light levels a tiny sensor just can't be fed enough photons to give a good picture.
Thanks for the feedback. I'm hoping you'll like Glose!

We're definitely intending to have pages where you can filter your highlights and annotations on one specific book.
I wonder how long it will be until a smartphone manufacturer introduces multiple sensors connected by an interferometer. If you take one of the 6-inchish smartphones on the market, that would give you a massive virtual aperture size, allowing fantastic resolution.
I am both surprised as how successful he was at remaining obscure, and yet how many on HN were familiar with his work and writings.

I was briefly a math major at the university, I studied at a technical school in France, I read a lot on technical forums such as HN where some people seem to know his work, like many I am fascinated by geniuses and their eccentricities, I browse Wikipedia for fun, and yet I was totally unaware of his life and work. Maybe I'd heard his name in passing, but no mention of his talent or writings, or his eccentric life because then I would've remembered his name.

I find it sad that he is so obscure, though I see that it was his wish. On the one hand, you want to respect someone who obviously had his own reasons for withdrawal, on the other it seems like a madman's wish to be erased from the history books and even from the annals of science. That's not how science works, and that he thought he could be the exception shows a disjunction. I don't want to imply it was a mental illness, but I'd like to read more to try to understand his state of mind. Now that he lived and died in (relative) obscurity, it won't hurt to learn about him and learn from him.