skysight-inc/HackerNews huggingface dataset:
I couldn't agree more. I came into development as an intern and it took me months to loosely wrap my head around how the code was organized.

Here I am 4 years later on the same codebase (a Swing-based application), and it is very difficult to hunt down bugs. Fixing them is often easier than finding the place in the code where it's happening, even if you know where it theoretically is.
> Of course it helps if you can figure out what they do just from their names, but you have to read code anyway.

This is, I think, the root of the (very minor) disagreement I have with your article.

I really don't want to have to read the code anyway. There may be 250,000 lines of code in a moderately sized system. If I have to read a significant fraction of them to figure out what's going on, that's the biggest sin you as the original developer can commit by a couple of orders of magnitude.

I want it to be obvious where to look for the code that controls whatever it is I want to change. If you make it easy for me to find those 50 lines of code, I don't care if you write them in assembler. 50 lines of anything are vastly easier to deal with than 250,000 (or god help you million) lines of the absolute best thing you can write.
Making use of "chunks" makes code better to read. A function is essentially a proper chunk (whereas a comment is a bad way to do the same thing). Depending on the paradigm, I usually enjoy code that has tiny units, but many of those - i.e. a function with 100 lines is harder to read than 100 functions with one line each. Ideally each name adds proper meaning to the code so that the intent becomes clear. Code like this is usually easier to change, reuse and test (tdd).

This can go the wrong way - many people mentioned how too many abstraction layers in big java projects are a pain, and I agree, as they often make the code more meaningless and abstract, rather than concrete. Oh yeah and pattern names do the same thing.
Clue stick for "the thickest and most misogynistic lawyer in Texas": claiming that Tor "provides a service" is no different from claiming that gun manufacturers "provide murders committed with firearms".
Clearly it is a public service. Doesn't everyone cross-reference their dates with these kinds of sites? I obviously wouldn't want to wind up with someone stupid enough to get their nude pics AND contact information on the internet.

Either that or someone is just attempting to facilitate trolling/being a dick.
I agree that content (17th century European history, for exam) and general thinking (How to think critically) are very hard to separate.

I don't know of a good answer, but I think with all the money that gets thrown at schools, it's worth asking how they are improving the students.
As much as I don't like the litigation culture or 'the man' stepping on 'the little guy' as a result - but if the little guy is being a dick and acting in violation of the spirit of the law then let him stomp away in defence of other little people... the world will be better for it.

If you provide the means to do something wrong - no matter what your intent - you are still responsible because without your actions the wrong would not have come to pass.
Is it possible to filter search results by language?
"This sounds like a dangerous trade off to be making. It's reminiscent of what we saw with GNOME 3, or even Windows 8."

It's also reminiscent of what we saw with the iPhone, and nobody would say that the experience was much worse for users of previous smartphones. There are times when simplifying and giving structure to existing content just makes sense.

I'm curious, what content do you miss from the old page that can't be found in the Community or Documentation sections in the new design?
Argentina requested US to investigate Twitter users
Autoclave.
There is already an issue for this. Would love to get a PR ;) https://github.com/graphhopper/graphhopper/issues/75
The performance problems are not the fault of Cordova in the newest version which can be configured to use to the newest version of Chrome on android devices. Instead performance issues are the result of inefficiently manipulating DOM. Try famo.us with phonegap and you'll be able to overcome the performance issues you're seeing.

disclaimer: I work for famo.us, but trust me here. do a proof of concept of something with cordova and famo.us that in you prior experience was poor with just cordova alone.
Are they suing tor2web[0] as well, seeing as the "AKA" listed includes the tor2web address, *.onion.lt, or just another example of this lawyers lack of research?

[0] https://tor2web.org
Microsoft, Adobe Push Critical Fixes in Flash, Windows and IE
Writing tests for data access code – unit tests are waste
We'd know; and, no.
Device charging advised for any UK flight
The ability to export and "increased" storage for paid accounts, but neither are expounded on. How is the data exported? How much storage does each tier get?

Also, how would this play with a custom domain (if it's possible)? What about security; is anything encrypted or secured at all?

This looks really nice, and the editor is a pleasant change from the usual early-00's look of some PM software. But for services that I plan to put business assets in (like all of the company's shared knowledge) I need more information before taking the leap.
CV driven development

brilliant!
Generating PDF on Server Side
I'm curious, as you've mentioned barriers of privilege twice now: are you referring to 3rd world disadvantaged individuals who don't have access to electricity and a PC and internet, or are you referring to millions in first world countries with ADSL 3 tablets, 2 smartphones and a PC gathering dust in the garage? I think it's simplistic to say "there aren't enough people on board because of poverty". I don't know why one suberbia can produce both an RMS and also facebook drones.
Possibly the most interesting anti-pattern I saw was:

a_list_of_words = "my list of words".split(" ")

I never enquired why, since there were bigger issues in the code e.g. "unit testing" by running the code, taking the result and putting it as the check value. By running repr(value), copying out the string then comparing self.assertEqual(repr(value), '[<Object1: unicode_value>, ...]')
"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." by Brian Kernighan

this is one of my favorite quotes ever
Polluting the browser's global environment with variables like "time", "init", "run", "animate". What can go wrong? :-P
Bullshit. If I make steak knives for a living, am I responsible when someone gets stabbed?
I seem to be able to access it, and I've never paid Scribd anything.
I'd like to see the Documentation, Community and News content on the front page, rather than hidden away on those separate pages. The new design adds an extra, unnecessary level of indirection in order to get to this useful information.
So. Much. This.

Technology is inherently neutral.
In goals ? I don't think so. Perhaps you are confusing local colloquialisms with standard British English ?
Incidentally i spend the last 2 weeks going through various Android devices, and iOS devices, various javascript frameworks and various CSS frameworks.

I'm happy to see others having opinions on this subject.

Essentially i did the research for these combinations:

[Android devices]x[iOS devices]x[js frameworks]x[CSS frameworks]

It was hard and tiresome but the conclusion - same as yours - iOS works very well for cordova/phonegap. Android is a no-go!.

Among the frameworks I checked: backbone, ember, angular, ionic, topcoat and various other CSS frameworks.

All were slow on Android. Also discovered 4.4 introduces worse performance (acknowledged by google) which is solved with crosswalk. However crosswalk brings many bugs to the table itself.

Really disappointing - currently I'm opting out and going Native.
Programmers proverbs
Yeah, but the suit has been raised in Texas, and plain clear old-fashioned bullshit seems to fly just fine there, going by patent/IP cases and the like.

I think this is going to be interesting - as I think the plaintiff will win in Texas against both parties, and this could end up being a significant tort case, if it ends up in higher courts.
And of course -- Colin's tarsnap is still essentially the same as it ever was (a brilliant technical solution with awful marketing) - and Dropbox is one of the jewel's in YC's crown.

(See this recent post on tarsnap: https://news.ycombinator.com/item?id=7523953 )
This is a great article.

It doesn't ever mention quantities.

In England "binge drinking" can be a surprisingly small amount. Risky drinking can be as little as 2 glasses of wine a day. (One large glass of wine (200 ml) at 13 % would be about 2.5 units - two of those is 5 units. That over 5 days is 25 units).

We use a "unit of alcohol" as a public health measure. One unit is 125 ml of drink at 8% ABV (Alcohol by Volume).

There's a handy chart at wikipedia here: https://en.wikipedia.org/wiki/File:Units_of_alcohol_chart.sv...

Advice about sensible drinking says "no more than 3 to 4 units per day (men) 2 to 3 units per day (women), with some days drink free, and don't save up units to drink at once".

But problem drinking is much much larger quantities of alcohol. NICE guidelines say that 15 units per day get assisted withdrawal and 30 units per day (that's 750 ml of 40% vodka every day) is the threshold for medically supervised intervention.

The current English guidelines do not strongly recommend total abstinence, especially for people at the milder end of alcoholism. There are a variety of psycho-social interventions that are recommended.

http://www.nice.org.uk/Guidance/QS11

http://www.nice.org.uk/guidance/CG115/chapter/1-Guidance
Preemptory death threats are part of the path to disbarment. I hope defendants can nail those tweets to him in court.
Just to point out, if you really will have a tiny list and that's knowable, it's possible this example would be best with a straight linear time check. It could be fewer operations than hashing a string and looking it up. Practically pedantry though.
Yeah, that one unfortunately was the dealbreaker for me. But other than that there's decent basic support.
I must be stupid, but can someone please tell me how I navigate to the list of examples? When I click on search result, I get to the relevant source code. I just can’t seem to find a way to get to the examples.
A Directory Server is akin to ARIN, in that it's a directory of all the nodes and their location in the network.

Suing ARIN (and services like it) because there is a website somewhere which is connected to the INTERNET is a new form of silliness not seen before. Sure, technically, ARIN do "perform a service" which "enables" a revenge site to operate, but it is so indirect, so remote from the offending party, that it is just silly.
Yes.

http://blog.netflix.com/2014/03/internet-tolls-and-case-for-...
'(+1)' is a function expressed in 'section form'. It is equivalent to the function '\x -> x + 1'.
> Every CA should be required to publish a signed, public list of every certificate they have issued that is currently valid;

A LIST??? This will be much MUCH larger than a list of revocations, take a LONG time to verify, and frankly, would never be up to date.
Very slick. Nice interface, nice design. I can see using this.

A few thoughts:

How does the account system work? When I go to log in, I just provide my user information. This means I can only be part of one SlimWiki at a time? This seems like a pretty big limitation for people who might have a company one, one to organize side projects with friends, etc. (For that matter, why is company name required when this could be for side projects with friends just as easily?)

It might be helpful to have an index of all pages (sorted by most recent edit perhaps). I can easily see totally forgetting what pages you have, and while you can search for them, how can you search if you've forgotten what you're searching for?

I can't rename or delete collections, so if I make a typo in the name, I'm stuck with it existing forever. Also for collections, it might be helpful to have a permalink to an index page for the collection instead of just the sidebar. As it stands, you can't link to a collection listing.

Is there anyway to share a page (or provide full read-only access) with someone outside the company?

Somewhat related, I would much rather pay for some service level and be able to add and remove people with various permissions as I see fit (like controlling access to Google Docs) than pay per user per month.

Some day someone is going to ask, so it might as well be me now... is a self-hosted option planned for the future?
In a case like this, you really ought to have a standard set of unit tests that covers the contract of the interface. If you run that against all the implementations and none of the tests fail, the bug just isn't in the implementation itself and you can safely move on to looking for integration issues. Of course, if the unit tests for the interface are incomplete you can't rely on them, but in that case you've built yourself a leaky abstraction that you should go back and look at before doing any more systems testing. Effective dependency injection simply requires comprehensive unit testing.
Export is available under the accounts menu, right now fairly simple, export as HTML or Markdown, we will make this much richer.

Custom Domains coming soon :-)

The whole site is HTTPS so all traffic is encrypted. We are also adding features for redaction which will be strongly encrypted.

Thanks for the editor comments :-) it is an early version but we wanted to ship and get feedback from real users.
I'm sorry, but the plaintiff in this case nor her lawyer cannot possibly be technically capable of understanding what happens with Tor. Section 4.4 reveals this by saying: " The World Wide Web operates using web "browsers" ... to read a web-based programming language commonly known as HTML."
Will people never learn the difference between markup and programming?
This is a very strange article, since the quoted text appears to have nothing at all to do with Snabb except for linking to the website. Instead it's describing some other closed source system that's using a similar networking layer, and that's also written in Lua.
What does SVB charge for an ACH debit?
Finally: return considered harmful
Interesting analysis. I disagree with a German currency becoming the global reserve: Germany is strong right now, but the German demographics look horrible. Germany will be running out of working age people, soon.

If India ever got a competent government, they might have a chance. (Perhaps similar to how AK Party managed to turn Turkey around in the 2000s---even though they've grown autocratic since.)
Ask HN: I'm a PhD in logic trying to become a Data Scientist. What should I do?
Dear HN,

I’m just about to finish a PhD in formal logic for multi-agent systems. I don’t want to stay in academia and I’d like to try a Data Scientist career. My background is in philosophy, and even though I taught some computer science and maths courses, my programming skills are those of a mediocre undergraduate computer science student’s (at best). I know Haskell, Scala and Python a little bit, and I’m learning R. I have never taken part in any serious programming project, though. The biggest program I ever wrote had less than 300 lines of code.

So here’s my question to you as a community of experts. What is the best path for me? Should I simply learn Java and do exercises from some textbook one by one, and then study machine learning, hadoop and the like? Should I rather start with SICP and a good algorithms book? Or should I perhaps take a Data Science specialization on Coursera (I’m trying it, but my coding skills are too poor even for their elementary R course)? Something else?

Any advice is much appreciated.
Is this data gathered by the Watch_Dogs companion app for mobile devices, I wonder?
Facebook – Taking Down the Lecpetex Botnet
Petty, I know, but
"The Internet Corporation for Assigned Names and Numbers (ICAAN)" (?)
We built something similar as open source with regular Bluetooth and WiFi sensors a while back: http://bergie.iki.fi/blog/smart-collaboration-space/
Drugs 'train your brain' and we have many techniques for training our brains now that seem to actually work -- now under names like Cognitive Behavioral Therapy and meditation and brain games. This stuff used to go under names like hypnosis or mindreading.

It's amazingly underused and it's great to see modernizing approaches to the "command line" to the brain.
Discover smappee, the world's most innovative energy monitor
Equality in Technology and The Code Manifesto
Python really should try harder to enforce visual style. The tab-space munging that you can get away with is horrible.
Actually you can be a member of multiple wikis, we just haven't exposed the ability to created new ones yet. (btw Help is just another wiki).

Recently visited pages and page index coming soon as is the ability to delete and rename collections.

Good suggestion on share, could perhaps create a short lived url.

Self hosted definitely possible but we are really focussing on the cloud customer base right now.

Thanks for the really detailed feedback :-)
You could add Valgrind and static analysis to your C. (You'd have to do something like this to C++, too.)
> Mutables as default function/method arguments

It would really make sense to change the semantics of Python to fix this issue.
I think that OS fragmentation/backwards-compatibility is more of a problem than screen fragmentation, definitely more so than iOS.
Nuts and Bolts #2: Run a remote Rails production console with Capistrano
http://tvtropes.org/pmwiki/pmwiki.php/Main/BigNo

Of course, once you implement an editor which does a good job of keeping things aligned even when using proportional fonts, I'll switch immediately. It's not like I didn't try - default font in Pharo is proportional and I tried working with it for a few weeks. Smalltalk syntax is so clean and minimal that I thought it would be ok, but even there I had to change the font to monospace - in the (few, like populating a dict, writing to a stream, things like this) instances where I wanted the code to be aligned I couldn't do this and it was too irritating for me.
You can make OCaml (and Haskell) run on Xen, no need for a full blown operating system. (Not sure if that counts for anything.) The OCaml project for that is called mirage.
I would say that if you can't fit a function onto your screen, it's too long and should be broken up.
I found a layout bug:

https://drive.google.com/file/d/0B8mKPGVX0X-0UFZ0cWo0MW1ldnc...

FF 30, Windows 7
Amazing, How was this coded?
This "your UI shouldn’t mimick [sic] the native style of the platform" advice reminds me of what we used to hear when using Java and Swing a decade ago.

It resulted in a bad user experience then, and I think that still holds true today. Swing apps never felt right on any platform, even when using a native theme. It's probably no different for apps built using Cordova, too.
How many local government workers do you think spend their day using Gimp or Photoshop?

E-mail, basic document forms and internal applications are the major use-cases for that type of scenario.
BamBam – Effective Project Management Software with SVN and Deploy
You would have thought they would have learned that since they apparently first sued in 2012 - 2 years is surely long enough to learn about the internet ? http://www.courthousenews.com/2012/12/06/52881.htm
And they have to be all different IIRC.
I think line noise operators and single character names are bad in any language. Haskell is among the worst offenders, but C++ isn't much better. At some point this frustrated me so much that I started making my own language. Semantically it was pretty much a dialect of ML, a statically typed, eagerly evaluated language with mostly immutable data, but syntactically it aimed for extreme readability:

1) All keywords and standard functions have full English names, no abbreviations.

2) Keywords are UPPERCASE, types are Capitalized, values and functions are camelCase. Easy to tell the difference at a glance.

3) Mandatory type declarations everywhere. Limited type inference within expressions, but that's it.

4) Only one kind of syntactically significant parentheses, instead of () [] {} <> as in C++ or Java.

5) No two-character operators. Instead of x != y you have to write NOT (x = y). Sorry!

6) Significant whitespace.

The code looked something like this:

GENERIC(Type) FUNCTION identity(value: Type): Type
RETURN value

I have a lot of code written in that dialect, just for my own amusement. It's pretty verbose and boring, but extremely easy to write, impossible to misunderstand, and sticks to memory like nothing else I've ever tried. I still want to finish an implementation someday.
Also, not knowing what scope a variable has when creating closures.
What were you trying to do? I don't understand your original post at all.
Ouch, thanks! :-)
I (respectfully) disagree. The editor should take care of adapting the codebase to the standards the programmer likes. Trying to force 20 developers into a "consistant" style only makes room for a soft consensus that doesn't satisfy anyone in the end.

If we can do it for web pages (with CSS) there's no reason why we couldn't be able to do it for a source file.
Here's another one that combines Arduino http://blog.onlycoin.com/posts/2013/10/3/coin-arduino-ble-de...
May I ask: what is being aligned here, and why does it fail?

Aligning stuff to a left margin / tab-stop / 4 space set should be easy, no?

And are there any non-monospaced fonts that are designed for programming?
> "An upfront question with any program now is: How many congressional districts is it in?" said Thomas Christie, a former senior Pentagon acquisitions official.

The military-industrial complex runs deep...and it goes to show how little we can rely on politicians to confront it. If you were a Representative from the few regions that still has an industrial base, it would be easy to justify just another "Yes" vote, for something that brings 50-500 well-paying jobs and is ostensibly there to "help America"...and hard to justify why you were one of the few to say "No" when ultimately, your share of the pork is small. But spread that attitude across dozens of representatives...and then you have a pork train that's too hard to stop, even if it is subpar in meeting its objectives. Maybe most projects are like this, it's just that this one kept going for a few hundred billion too far.
> write a list comprehension (...) code just looks a lot cleaner and what you're doing is clearer.

I know how to use list comprehensions, but often avoid using them and use the standard for loops. List comprehensions look nice and clean for small examples, but they can easily get long and become mentally hard to parse. I would rather go for three 30 character lines instead of one 90 character line.
>I thought bitcoin was slow

I don't know what standard people are using to reach this opinion.

Credit card:

• Transaction goes through to pending state within 5-30 seconds. Chargeback is easy in this state.

• Transaction is fully confirmed in 60 days.

Bitcoin:

• Transaction goes through to pending state within 1-2 seconds. Chargeback may be possible in this state.

• Transaction is fully confirmed in a few minutes.
Leapfrog integration will also get you conservation of energy.

See this thesis: http://umu.diva-portal.org/smash/get/diva2:140361/FULLTEXT01...

the basis for this awesome physics simulator: http://www.algodoo.com/

Conservation of the hamiltonian with leapfrog integration is also the principle behind Hybrid Monte Carlo methods
http://www.mcmchandbook.net/HandbookChapter5.pdf