skysight-inc/HackerNews huggingface dataset:
Genius?

A weak man can lift a small rock. A strong man can lift a large rock. But to lift a ten ton boulder, you need a crane. Even a weak man can operate a crane, if he knows how.

Your genius is like a strong but stupid man. Maybe he or she can lift a 1400 line 'if' rock, I mean block, but that's probably the limit. Any more would require a different mode of operation -- the programming equivalent of using a crane.

The point is that people who haven't broken the 1500 line wall will write code with no structure. That's why they can't break through the wall. That's the heaviest code they can lift without assistance.

Certainly there are well structured 1500 line programs. But those overwhelmingly come from people who have broken through that limit. The people who know how to use a crane will tend to use them even for smaller projects.

Why would I go to all the trouble to use a giant crane just to lift a smallish 20 kg (40 lbs) rock? Because then I won't get tired or strain my back. So I can lift another. And another, and another. I can do this all day without breaking a sweat. The strong man is tired and sore and worn out from just a few dozen small rocks, while I'm still fresh, still going, and still able to lift multi-ton boulders.
Ah, I didn't notice at first that information about the original Project Habakkuk is linked to higher up in the Ice article: http://en.wikipedia.org/wiki/Project_Habbakuk

Thinking about it now, I wonder if a better form of pykrete could be made with a more modern expanding/insulating material than wood pulp…
I for one love seeing the British do what they do well: dry sarcasm.
I don't think weight cutting has anything to do with the article.
You can write iOS apps without using storyboards or xib files. That's how Apple does it.

The main benefit is that you end-up with no merge conflicts in semi-opaque files.
I guess. But if I make the mistake of infinitely recursing I find out the next time I run my program. If I'm writing my own loops and make an off by one error it could go uncaught potentially forever.
Did Google Penalize A Site For A Natural Link From Moz?
I've often heard people (in BJJ/MMA culture) say that a relatively large head/hat size makes it harder to get knocked out.
In your spotlight settings, exclude the external drives from indexing and then add them again.
Paletton – Color Scheme Designer
Read the linked page. This one doesn't either. It says to prefer fixing bugs over documenting them.
Worf isn't half-human, he was just raised by humans. He was never about "choosing between two worlds" like Spock was, rather his background was more of the "stranger in a strange land" variety -- growing up in an alien environment, he had to become even MORE Klingon to retain his heritage, thus he always took everything seriously, especially Klingon matters like rituals and honor. Early on in the show they established that pretty well when Guinan pointed out that Klingons laugh, but Worf really doesn't (although he softens as time goes on, especially once he gets involved with Dax).

Troi, on the other hand, was explicitly half-human, although it seems that was only because the telepathy that comes with being full-Betazoid would destroy too many of the plotlines -- nobody remembers her mixed heritage all that much and we keep having to be reminded of it when it becomes relevant.
We know they were. MPE doesn't confirm the belief that cruelty spontaneously forms in previously uncruel people when they are put in charge of others - but does it claim to? If that were true, every parent would be an abuser.

What it does support is that if you put people in charge of other people, and only punish the people in charge for lapses in order, and not for cruelty, then a large percentage of them will become cruel to prevent lapses in order.
Robert Kurzban gave a short talk on this topic at HeadCon '13.

http://edge.org/panel/headcon-13-part-iv
To be clear you're drawing a comparison between a white person getting offended by not being allowed to use an offensive word, and a black person getting offended by a word which has strong connotations to literally generations of oppression including but not limited to being bought and sold as property?

Seriously?
Yes. Thoughtful class and package decomposition will let you scale up to 20,000 lines.
>Android does have a lot of devices and versions to test on

Ironic how the choice of Java and sandboxing was meant to make this not necessary
I, being a color-deaf programmer, have used this and their previous version (which is very very good) extensively when doing anything graphical.

I highly recommend the service.
It's nothing I miss, it's just that I couldn't keep in my head all the standard way to do things in Clojure/CL. I kept wondering "oh, how do I check if an element is a member of a list in Clojure, again?", or "ok, so I need to put this Sexpr out of this parenthesis, so with paredit I need to do C-right or C-left?", etc.

I plan to give Clojure and CL another shot in the future, but for now I am just lack of proficiency with them (I think I wrote about 1k loc in those language, including 4Clojure and project Euler, and some mock projects I tried to do but gave up).
And your point is?

We where doing MR back in the early 80's on the largest cluster of super mini's in the UK - dam right Cliff was a genius the project would have not worked with out him.
I started a UAV company several years ago. The biggest hurdle we faced was governed regulation. Not only was it nearly impossible to operate the things I the US, it was also exceedingly difficult to get an export license. I haven't been paying attention since I left the comply a few years ago, but it sounds like the regulations are getting better.

On the technical side we faced a few chanllanges. The first was reliability. Our planes were small <10 lbs, but would enevitly go down and be very difficult to recover. After the first couple crashes we designed a protective shell around the expensive bits. Causes of the crashes we always unique, from a loose connection, to interference.

The next biggest problem was battery life, ours was an electric system and getting more flight time in the tiny platform was difficult. This of course limited the range which limited it usefullness.

Otherwise, we solved the autonomy with off-the-shelve components (albeit military grade). Otherwise most other issues were resolved with software (flight planning, data recovery, etc).

Our application was aerial imaging, I imagine other applications would have another set of problems.
Fast JVM startup is possible with a preloader like Nailgun. A Leiningen daemon is very easy to create. lein-cljsbuild automatically generates ClojureScript so you can use any editor and refresh your browser.

The JVM way of doing things is different but not inferior. You extend Leiningen with Leiningen plugins written in JVM languages, not with external tools. Yes, you can do everything you would ever want to do.
In the olden days what we used to call subroutines or subprograms :-)
https://developer.apple.com/library/prerelease/mac/releaseno...

Read this before you consider upgrading!
Tim Bray recently wrote [1] about feeling "stuck and discouraged" by complex tooling and frameworks. Excerpt:

"In fac­t, for ev­ery hour I’ve put in­to ac­tu­al­ly fid­dling with Ja­va code, I’ve in­vest­ed an­oth­er fight­ing git submodule sub­com­mand­s, and now I’m star­ing at what feels like a thousand-meter-high Gra­dle rock-face."

"I should count my­self for­tu­nate that I’m not build­ing a browser-based ap­p; I’d have to bud­get an even high­er pro­por­tion of the time stay­ing on top of this week’s funki­est new JS libraries and scram­bling to have Wave ef­fects be­fore ev­ery­one has them and they’re bor­ing."

He also links to Ed Finkler’s "The Developer's Dystopi­an Fu­ture" [2] which was on HN a while ago and addresses the same topic.

[1] https://www.tbray.org/ongoing/When/201x/2014/07/17/Discourag...

[2] https://the-pastry-box-project.net/ed-finkler/2014-july-6
Dopamine and Addiction
You shouldn't put the SPE and Milgram experiments in the same basket. His experiments involved hundreds of participants from different demographics (mostly males though) and the conclusions he drew were backed up by his data. The setup he used is today deemed by most as unethical, but similar studies have reached the same conclusions.

A little known fact is that Milgram found, when the studied persons were free to set the voltage to administer, none of them increased it. His conclusion were that most people are not sadists and do not enjoy hurting others.

Edit: Maybe I spoke to soon, see: http://www.psmag.com/navigation/health-and-behavior/electric... But the experiments where still very different in the number of test subjects and how scientifically they where conducted.
There's a lot to be said for reducing the "time to first results" for people getting started on a platform, whether that's absolute beginners or people retraining to the new trendy thing.
Just go in the from the command line and delete the spotlight (V100 etc) files in their root.

Or add them in the "privacy" section of Spotlight preferences, and then remove them, to have the index rebuilt.
The Sharing Economy Just Got Real
SPE is an absolute mess as an experiment, and shouldn't really be regarded as science.

However, you really don't even have to go far so far into the technical details to find it to be flawed. The whole premise seems absurd to me.

You get some students, tell some of them to act like prison guards and the rest to act like prisoners, and then it's supposed to be surprising that they follow through on this?

"Well, we didn't expect them to be so sadistic!"

There's nothing I read that was more sadistic than a fairly typical hazing ritual. All participants knew this was ultimately voluntary and could quit at any time.
It's 5 dollars. Stop being cheap. Buy it if it sounds like something you'd like, if not, don't buy it. You don't get a demo of a movie when you buy it. You can't just watch half of it and then decide if you want to buy a ticket. It's pretty obnoxious when tech-types bitch about $5 yet have no problem billing clients $100+ per hour or making $100K+ per year as a developer of the very types of things about which they complain about paying $5. It's not unlike restaurant waiters not leaving tips when they themselves go out to eat. Not everything needs a demo. Perhaps a quick screencast or something if you feel like the screenshots don't do the product justice. But it's a text editor.. how much demo is actually needed?
>He wants to learn server side programming and suddenly needs to setup a bunch of servers(vm, vagrant or docker)

I didn't use any of those things while learning web/server programming. Just a laptop with Debian and Apache installed.
Yes, there is. Just not in the client side, it's server-to-server, and due to the centralised nature of IRC, it's critical.

For example, here's a paragraph from the UnrealIRCd server protocol (http://www.unrealircd.com/files/docs/technical/serverprotoco...):

> Unreal is very time-dependant. Users and channels, for example, are timestamped, and if server clocks are not synchronized properly, things can go very wrong very fast. See http://vulnscan.org/UnrealIrcd/faq/#67 for more information on this. Note that there is a slight difference between server time and what is actually reported by the UNIX date command or by the C time() function.

The other major side of IRC server protocol is the TS6 protocol (You can see it by yourself at http://irc-wiki.org/IRCd_Comparison). TS stands for TimeStamp, and you can see how critical timestamps are at https://github.com/avenj/irc-server-pluggable/blob/master/do... and https://github.com/atheme/charybdis/blob/master/doc/technica.... You can see TS are what control almost everything related to nicks, channels and their properties.

Before the implementation of TimeStamps and Services, it was really easy to abuse netsplits to take over channels and people's nicks.

There's a complete explanation at http://codeidol.com/internet/irc/The-IRC-Protocol/Timestamp-... (and of course, a Wikipedia link: http://en.wikipedia.org/wiki/Internet_Relay_Chat#Timestampin...).
It does get there already, in some places. I've been in large organizations that have a build person, a source control person, etc. They take care of it all, so the coders can "just code".

Those environments have totally sucked, because to pigeonhole people into those roles in the first place requires a non-flexible, non-creative culture.

There is a proper balance to everything, but few organizations succeed in finding it.
Sure, iOS and possibly also Android developer would be helpful! Shoot me an email, it's in my bio.
And does your styling work in a webbrowser where JS is disabled?
Sense – Wake up when it's right for you
This blog article doesn't tell me that MPE was flawed, either. All of those words criticizing other sources, but nothing summarizing the factual basis for those criticisms other than links to papers that .001% of the people reading this blog entry will complete.

My guess at why textbooks ignore the criticism is because it is not convincing.
Tail self-recursion and mutual cyclic tail recursion are equivalent to looping, but there are other forms of recursion.
Hmmm... Is there a website where I can buy reproductions of pennies in different sizes?
Thanks, working on it! Didn't expect that to directly take to be honest.
Alan Kay is heading up a project to write a whole OS - network stack, graphics and all - in 20,000 lines of code. http://vpri.org/html/work/ifnct.htm The whole project is basically made out of DSLs.
Gracies were good by default. They fought inexperienced competition.

As soon as people caught up to BJJ they became irrelevant in MMA. Also when they faced somebody with ground game they had tons of issues (IE: Sakuraba "Gracie Killer")

Matter of fact recent performances by Gracies in MMA were embarrassing.

>http://www.mmamania.com/2010/2/10/1304038/cousin-renzo-rolle...

Etc.
Mean.io gaining on popular js frameworks (meteor.js, sails.js, strongloop)
I use Clojure a lot, and did more Python in the past. Whenever I come back to Python, I am frustrated by being unable to remember what's a plain old function and what's a method, and the differences defining functions vs classes and methods etc..

In Clojure I know it's always (except for interop) just functions on values. Some functions dispatch to an implementation based on the type of the value, as is the case with multimethods and protocols, but it's still always just function calls from my point of view while writing the code.
It could be a jargon thing:

http://en.wikipedia.org/wiki/Electric_power_transmission#Sub...

If the email is using distribution in the sense that the Wikipedia article is, then it's because the consumers of the power aren't next to the power station.
Yes. That's the official method.

What I'm concerned about is the backdoor that allows pairing without previously unlocking the device. Apple does neither confirm nor deny it exists, so we have to assume it exists.

And when it exists, it could have been given to various law enforcement agencies or stolen by criminals which now use it for identity theft.

Which is why I prefer my hardware not to be backdoored.
Forgot to mention, price was another difficult problem. We were trying to build a low cost system for academic use. The single most expensive component was the flight computer, there were some low cost alternatives, but at the time they didn't perform we'll enough. Perhaps this has changed.
I don't get that argument. Sass manages to avoid $ conflicts while using it for both variables and mixins. Its nice clean, consistent syntax. I don't see why we need different syntax for the two. Eg:

$myColor: #fff;

a {
color: $myColor;
}

@mixin border-radius($radius) {
-webkit-border-radius: $radius;
-moz-border-radius: $radius;
-ms-border-radius: $radius;
border-radius: $radius;
}

.box { @include border-radius(10px); }
Ironic that an app calling itself "Hemingway" would recommend against the word "Utilize". As a key example of "things to avoid" no less.

Utilized in one of the more memorable exchanges in The Sun Also Rises:

"Let us rejoice in our blessings. Let us utilize the fowls of the air. Let us utilize the product of the vine. Will you utilize a little, brother?"

... and so on for nearly ten pages, utilizing wine, pubs, etc.

http://books.google.co.uk/books?id=fAcAd5gFdB0C&lpg=PP1&dq=h...

I bet if you apply this tool to more of his writing, you'd find it neutered it completely, removing much of the magic that makes it so great.
>The point of these complications is that you are able to travel farther and faster on a jumbo jet than on a bicycle and these journeys will take you to many more interesting places

That's a rather insightful thought that I didn't think of while reading the article.

Keeping the analogy going, I'll point out that there is a large difference between bike riding and jetting around the world. As far as traveling goes, one could think of bikes being analogous with enjoying the journey, and flying being analogous with enjoying the destination. Despite the fables and memes, enjoying one over over the other isn't inherently wrong in my opinion, but different people will prefer one over the other.

Some people will prefer the simple act of creating something with your own hands using (relatively) simple tools. Like a craftsman building a nice table. Others will prefer huge projects, the skyscrapers and the like. When I first read the article, I was only thinking of the one side, but your post has helped me see that creativity takes many forms.
I agree with the concept that no one wants to deal with the overhead that comes with working on a distributed product or team, but tools like git have largely reduced the complexity and allowed programmers to get back to coding. without build scripts, you will spend a lot more time outside of coding.
I really like the go(1) approach of testing and profiling, and together with Docker and git it really makes for a easy-to-setup environment.

Library-first (as opposed to framework-first), write your foo.go and foo_test.go, run go test -bench ., iterate, deploy to devenv, run integration tests, push to live. Works great, no hassle.
The real interesting corollary here is that no matter what level you are at, you will probably want to leverage a language that's as powerful as possible, since you will be able to accomplish more with less lines of code[1].

A few months back, I expressed disappointment with Google Maps' dropping of support for displaying KMZs from other servers, and my intent to put together a replacement. When I finally got around to it, I found a JS library[2] (plus plugin[3]) that allowed me to replicate what I needed in about 10 lines of JS[4]. Of course, this is more the power of leveraging a library (and public tile servers), but I think it's still instructive to my point.

[1] - http://www.paulgraham.com/power.html

[2] - http://leafletjs.com/

[3] - https://github.com/mpetazzoni/leaflet-gpx

[4] - http://hardcorehackers.com/~npsimons/photos/2014/07-13:%20Ow...
There's a lot of "internet for Xs". Part of the point of the internet is you can set up your own area for anyone you like.
It goes just as deep for men as it does for women, if not moreso.

Do you see us crying about it?

Grow up already.
Cat-stalking website highlights privacy issues
>a source control person, etc. They take care of it all, so the coders can "just code".

What do you mean a source control person, just someone who manages the source control when it goes wrong? The programmers are still doing the committing, pushing, pulling, branching themselves
I worked at a place that had people whose responsibility was the workflow, precisely so that developers could focus more on writing code. Then people started doing their own projects (good) so they wouldn't have to use .NET anymore (good) but they never took the time to get the workflow right (bad) and each new project worked slightly differently or was built on a completely new and different platform (bad) so now everyone has a more complicated workflow than they used to, and they're all different.

No automated testing, no CI, no reasonable way of deploying code and certainly no rollback, who has time for such frippery? I left.
Is that really Shatner writing that?

The level of technical understanding, including jargon (even trivial and casual to us, like "header image"), and familiarity with posting (custom screenshots, etc), is phenomenal for a celebrity, and at that age!

That's Denny Crane level cool!
I remember, during a short-lived consulting gig back in 2012, trying to convince a company to use Scala. They panicked about the lack of IDE support and refactoring tools.

"IDE support is immature." Response: well, true, but you don't need an IDE. Java makes IDEs mandatory because it's a crappy, verbose language. Scala doesn't. Clojure especially doesn't. Haskell doesn't (although convincing that company to move off the JVM would have been impossible).

"Where are the refactoring tools?" Response: when you have good static typing, the compiler is far better at enforcing refactoring safety than any tools on the market. (Java itself combines the worst of static and dynamic typing.)

People-- especially non-programming managers-- have become dependent on the trappings of productivity that they've forgotten what actual work looks like. Java culture is full of this nonsense. The business becomes so dependent on a convoluted toolchain that it doesn't need for most purposes.

Then there is the myth of the "full stack developer". It's a good idea in theory, but no one knows what it means. It's just management "at the end of the day, it's all about leveraging our core synergies" bullshit. What's really going on is that execs and professional managers can't evaluate the work in most specialties, so they've decided to pretend that specialties don't exist. All types of programming get thrown together into "it's all code; just make the thingy work" and what that means is that programmers get stuck cleaning up any kind of technical mess they have the bad fortune of having thrown to them. The result is that a good number of programmers (those who aren't savvy enough to play the game and be selective in what work they do) end up learning a bunch of crappy, parochial, non-transferrable "how we do things here" details but (a) never get a coherent career or develop the ability to protect a specialty, and (b) are constantly learning "new" but ill-thought-out and incoherent things.

For what it's worth, I used to think that this was a "new" problem, or a symptom of the industry getting worse. I'm not so sure that it's very new. Maintenance programming, 20 years ago, was the same slog that it is today. If anything, the situation is getting better. I agree that Git is not user friendly at all, but the damn thing works, and it's far better than other VC tools (e.g. Perforce).
This is because the BBC is the government and the government is BBC.
I agree with the overall point: tool complexity can be a major downer and impose residual drag throughout a project's life cycle. I too "just want to code".

However, I don't agree with some of the author's examples.

Git has proven to be rather simple, minus the initial 1 week learning curve (of casual use, give or take). I use it in solo private projects and in teams. Branching and merging, in particular, are part of why I love it so much; much better than the CVS and SVN days.

And isn't using SCM considered a best practice? I think so, but I'd be interested in hearing any counters.

I also find build tools essential. Even for web apps, simple ant scripts that automate remote tasks have proven invaluable, especially wrt deployments.
And one thing we should kill it with is GSS. (http://gridstylesheets.org)

Watch the video!
"can only be used online" doesn't make something not a text editor.

The other point is "Save and open" not "save and edit." This is explained in the next paragraph. It's in contrast to the workflow in the online Hemingway app.