hacker news with inline top comments    .. more ..    18 Jan 2015 News
home   ask   best   4 years ago   
Show HN: Adopted a dog, had no clue what meds she needed, did some research
42 points by youngj  1 hour ago   13 comments top 6
kephra 2 minutes ago 0 replies      
The main question is: In what area/country are the parasites resistant against those toxins. e.g. in Bremen neither advantage nor frontline works against fleas.
madsushi 12 minutes ago 0 replies      
Trifexis is awesome and what I use for my active dog (and we have never had flea problems). The problem is that the pill smells very, very strongly of mold. I have to smash up the pill and mix it into peanut butter for my dog to even look at it. I also administer it outside and use gloves, because it will have your house smelling of mold for days. With a smaller dog (thus smaller dose/pill), you could force it down, but a 30+ lb dog will have too big of a pill and won't eat it normally for any reason.
akshaykarthik 34 minutes ago 2 replies      
Is there an algorithm that would find the minimum subset of these to cover every parasite/bug?
jakobegger 13 minutes ago 0 replies      
Would be really awesome if there was some way to provide feedback on the effectiveness. My experience with cat medicine showed that what it says on the package is not to be trusted (for example all the "natural" stuff against fleas was completely useless)
GFK_of_xmaspast 31 minutes ago 1 reply      
We just asked our vet.
JoshGlazebrook 36 minutes ago 3 replies      
Interesting that nothing protects from everything. Is that just not possible or is that on purpose?
Falsehoods programmers believe about addresses
71 points by ColinWright  5 hours ago   67 comments top 22
FooBarWidget 4 hours ago 5 replies      
I read this article a long time ago and I took it seriously. So instead of asking for address, postal/zip code, city, state/province, I just put up a big text area labeled "Full address" so that people have complete freedom about what to fill in.

80% of the users ended up only filling in their street address, not their postal/zip code, city and state/province, even though they're from countries where (most?) addresses satisfy that format.

We ended up reverting to the previous form where we explicitly asked for postal/zip code etc.

edmccard 2 hours ago 2 replies      
"An address will exist in the country's postal service's database"

This is the one that I've run afoul of -- not because I live in a brand-new building, or a houseboat, or 30 miles from anywhere on an unnamed road; it's just that there is no door-to-door delivery for houses within a 2-block radius of the local post office, so we have a PO box.

The trouble happens when a business that needs my street address uses the USPS database for address verification. One example is online stores that don't ship to PO boxes. Some of these sites have a form with a sort of "Are you sure" prompt when my street address isn't recognized; others just refuse to accept it.

Even worse was when the local company that picked up my trash was bought by one of the larger regional "waste management" operations, and all the drivers' routes were re-planned for "efficiency" (evidently using software that hit some USPS database); the upshot was that everyone on my street had their address removed from the pickup routes.

hawkice 36 minutes ago 1 reply      
A falsehood only distantly alluded to:

That people have addresses at all, or can describe their residence in an unambiguous or clear way (even using GPS coordinates).

I used to live in a place I couldn't even remotely give directions to. It was deep within a neighborhood of a poorer country, none of the streets had names, none of the buildings are numbered. I lived in an building where none of the apartments had numbers or names.

If I wanted something delivered, I would go to a local shop for the company delivering it, and show my ID, and they would have it routed there if it wasn't in the building already.

If you wanted a billing address for, I don't know, tracking me down, initiating lawsuits, something like that? I honestly just assume that's impossible.

UrMomReadsHN 3 hours ago 3 replies      
Is it common to believe that post codes don't start with zero? All of New England (ME, MA, NH, CT, RI, VT) have zero starting post codes. Plus apparently a part of New Jersey. Map here: http://en.wikipedia.org/wiki/ZIP_code

Also, since it brought up naval vessels, here's the addresses of all US Navy ships: http://www.navy.mil/navydata/ships/lists/ship-fpo.asp

Anyways, the post office does a wonderful job delivering mail considering how complex addresses can be and how people can have messy handwriting.

Also - You can have an address that doesn't map to a physical location that totally looks like it should (not just PO boxes). Consider RPIs address.


"Correspondence to and from Rensselaer Polytechnic Institute uses the official address of 110 Eighth Street, Troy, NY 12180. This address serves as a mailing address only; you will not find a building with that number on 8th Street."

nvivo 4 hours ago 2 replies      
There are so many misconceptions from developers, even more when building apps used worldwide. If you plan to accept data from different countries, free text with no validation is the only acceptable answer.

I remember once we had to remove validation from names because some countries don't even have last names, and others have real names with two or even one characters.

pella 4 hours ago 0 replies      
some usefull links:

- The free and open global address collection : http://openaddresses.io/

------ "OpenAddresses Hits 100 Million" https://www.mapbox.com/blog/openaddresses-100m/

- OpenStreetMap "addr:housenumber" FREQhttp://taginfo.openstreetmap.org/keys/addr%3Ahousenumber#val... [ more "14" than "13" ]

- OpenStreetMap "addr:street" FREQhttp://taginfo.openstreetmap.org/keys/addr%3Astreet#values

- OpenStreetMap "addr:postcode" FREQhttp://taginfo.openstreetmap.org/keys/addr%3Apostcode#values

- Derek Sivers: "Japanese addresses: No street names. Block numbers." http://sivers.org/jadr

- Wikipedia : "Address (geography)" http://en.wikipedia.org/wiki/Address_(geography)

oneeyedpigeon 4 hours ago 1 reply      
Of course, they're falsehoods that everyone believes about addresses (except maybe for postal workers), but programmers are the only ones who have to actually think about them.

It would be nice to come up with some sort of conclusion or recommendation. Should addresses just be used as one big blob of text, and never parsed at all? should there be individual per-country libraries for parsing them? should we just address everything by coordinates (which doesn't solve the houseboat problem)? How about a unique identifier for every person on the planet, plus a gps tracking system that guarantees big brother can deliver to you whenever, wherever?

Now that the average piece of post is a prig package that needs signing for, rather than a small letter that can just go through the letterbox, I quite like the idea of centralised pigeon-hole buildings, that have existed in many towns as the only method of delivery, but are now being born everywhere thanks to amazon, etc. That's quite a different problem, though :-)

2ion 3 hours ago 0 replies      
Seldom are the only restrictions that apply to an address only the ones in a single software system. In fact, your address data could be the least of the problems you have to worry about.

When actually using all the addresses you stored for shipping stuff, it is almost guaranteed that the shipping company will cut off or drop lines from labels, and of course every shipping company is going to have its own quirks. Maybe just because not every address is going to fit onto a fixed label area in a fixed font size.

I have in fact lost several shipments to my address(es) due to every single kind of the above caveats.

rmc 19 minutes ago 0 replies      
As someone from Ireland, a country with unusual addresses, this is spot on.
shdon 2 hours ago 0 replies      
It's not even true that a single building has only one address, must exist in one town or even in one country. There's a house that has one address in Baarle Hertog (Belgium) and another address in Baarle Nassau (Netherlands), with different house numbers too.
smcl 3 hours ago 1 reply      
"A road will only have one name"

This one's particularly common in Edinburgh. In fact in the example they use - "Regent Road" connects to Princes Street, which becomes Shandwick Place, then Atholl Place. At this point the main fork becomes Dalry Road which then becomes Gorgie Road which becomes Stenhouse Road and then Calder Road - all of which are roughly a straight line:


jacquesm 3 hours ago 1 reply      
Patrick has an excellent variation on this theme:


I live on a road that has two sets of numbers, both identical (but several hundred meters removed from each other) in two different towns but with the same name. Getting mail and packages delivered here is for want of a better word a challenge.

pcthrowaway 2 hours ago 1 reply      
This article was submitted here nearly two years ago (as you will find out if you click the link to the HN discussion at the bottom of the article). But I thought of one not included in the article.

From Portland's Wikipedia page:

> On the west side, the RiverPlace, John's Landing and South Waterfront Districts lie in a "sixth quadrant" where addresses go higher from west to east toward the river ... East-West addresses in this area are denoted with a leading zero (instead of a minus sign). This means 0246 SW California St. is not the same as 246 SW California St. Many mapping programs are unable to distinguish between the two.

drivingmenuts 1 hour ago 1 reply      
That article can also be read as a list of things that need to be fixed by the various postal systems.

We can issue addresses to computers, many of which cannot be considered to be in a fixed place, yet somehow we can't issue a permanent, unique address to something that's not likely to move around much.

mahouse 4 hours ago 2 replies      
I thought this was going to be about memory addresses. :)
0942v8653 3 hours ago 1 reply      
So I guess this is nothing more than a fantasy: http://www.xkcd.com/208/
chris_wot 2 hours ago 1 reply      
There are so many formats - is there anniversary format for addresses? In all seriousness, this is where XML and XSDs would really shine!
Rygu 3 hours ago 1 reply      
Developers can't know everything there is to know in the world. Developers aren't suppose to know specific stuff like this. Some parts of modern society are easy to digitalize, other (often historical) parts aren't. I think it's up to entrepeneurs to find ways to solve these problems, and create a better world by doing that. Don't blame/shame developers for stuff like this. It's not even remotely fair.

When you're training developers remember that you're not training demigods.

r3pl4y 3 hours ago 0 replies      
Once you look at Korea, all those rules are only the basics...
je42 4 hours ago 0 replies      
awesome! nice list.
Understanding Traceroute [pdf]
18 points by blueatlas  2 hours ago   2 comments top
handsomeransoms 21 minutes ago 1 reply      
Another (incorrect, but hilariously so) interpretation of the output of traceroute: http://youtu.be/SXmv8quf_xM
Conception An experimental modern IDE written in Go
152 points by baumbart  8 hours ago   46 comments top 13
shurcooL 7 hours ago 8 replies      
Author here. I was just about to go sleep when I noticed a retweet and a lot of new stars on Conception; this explains it.

The linked C++ project was the result of an initial year of working on it, which culminated in a winning entry to LIVE 2013 contest [1] and me switching to working on a version of it written completely in Go [2]. I no longer work actively on the C++ version, but I do on the Go one [3].

Primarily, it has been an extremely insightful learning experience. I had a lot of ideas and I wanted to try them, and by building Conception I found out the reasons why certain things that are commonly desired do not actually work well in practice, and why our seemingly outdated practices of writing code no different than decades ago are still so predominant and effective.

It's really interesting to go back to my old notes and goals and, with hindsight, truly understand _why_ they didn't work out, and what it would take to make them work.

The Go version is go-gettable and working [4] despite having lots of dependences (as proven by the green Travis build). This is one of the benefits of using Go and not the case for C++ version. You can easily try it, but at this point the UI is so far from finished, it's not really fit for general use. If you're interested, I highly recommend watching the repo so you'll see further development. :)

[1] http://liveprogramming.github.io/liveblog/2013/04/live-progr...

[2] https://github.com/shurcooL/Conception-go

[3] https://github.com/shurcooL/Conception-go/graphs/contributor...

[4] https://github.com/shurcooL/Conception-go#installation

20kleagues 7 hours ago 1 reply      
Sikuli is also based on a similar idea and is written in Python. I am guessing it boils down to preference, but writing code as it is written now involves a lot less 'mouse' and much more keyboard, which most developers, me included, take for granted. I do agree that currently code written has very high limitations on re-usability, primarily because code is written with a specific project in mind. I believe two things can be done to make it more re-usable: 1) either have all developers write code with the idea in mind that they are writing independent libraries and not code for part of a bigger project so the code becomes much much more modular and decoupled and can be used in other projects on the fly.2) create an extension which creates a project specific visual map for the code, which would in turn allow other developers to pick and choose code to their liking while having a greater understanding of how the code actually works.This being said, the author's efforts are much commendable.
mostafah 7 hours ago 3 replies      
Why should being written in a particular language matter? We see a lot of these written in Gos these days for a lot of new softwares. Im a big user of Go myself. Love the language and use it for almost everything. But I just dont get why an editor or IDE or static site generator or any other piece of software brag about using a particular language or library.
joefreeman 6 hours ago 0 replies      
The images are broken for me (503s from Dropbox, and 404s from GitHub cache) - here's a direct link to the video: https://www.youtube.com/watch?v=DNJ7HqlV55k
keyle 4 hours ago 0 replies      
Lovely. Here is some cheap feedback from a UX perspective.

Give a bit of padding to your text blocks

Identify clearly the input from output

And adding syntax colouring will give it 300% sweetness.

jaked89 24 minutes ago 0 replies      
The images won't load.
bojo 5 hours ago 1 reply      
Is this similar to what Epic Games has been doing with their Unreal Engine, specifically the Blueprint system? The main difference appears to be that you can directly write code, which does seem more powerful. There's a lot of power in bridging the gap between developers and designers, would love to see where this goes.
fishnchips 4 hours ago 2 replies      
This looks insanely cool (congrats!) but from a purely practical perspective I'm not sure if I'd want to use it even if it was a perfect, finished product. After all, I'd have to forget everything I ever learned about text editors and IDEs.
VMG 5 hours ago 0 replies      
I love the instant update and the tight feedback loop. This is what I actually want when I hack together my inotifywatch command in the shell.

But I can't do the clicking and dragging. If the layout was automatic and controllable via keyboard, I'd give this a serious look.

niutech 47 minutes ago 0 replies      
Looks similar to Code Bubbles.
avinassh 7 hours ago 0 replies      
aikah 3 hours ago 0 replies      
All screenshots are gone in the README,please use github pages instead of hotlinking the repo directly.
V-2 29 minutes ago 1 reply      
Sweet lord, https://github.com/shurcooL/Conception-go/blob/master/main.g... is nearly 9k lines long!

What a spaghetti. Is that the author or the language?

Critical Vulnerability in Verizon Mobile API Compromising User Email Accounts
6 points by rwestergren  34 minutes ago   discuss
How Amazon Tricks You into Thinking It Always Has the Lowest Prices
18 points by xmpir  2 hours ago   3 comments top 3
JoachimSchipper 0 minutes ago 0 replies      
Pricing the most-seen items lower is not quite as nefarious as "trick" would suggest, IMHO - and part of it is probably just driven by various advantages of selling a lot of some particular product.
WizzleKake 3 minutes ago 0 replies      
Amazon jacks the price around on a lot of the household items that I buy. There one item that I last purchased for $11.94. I have seen it as high as $29 and some change. Right now it is $23.94.

I've wised up to this tactic and will buy extra when the price is low enough to make it a better deal than buying at the grocery store.

xenadu02 12 minutes ago 0 replies      
This has been WalMart's strategy for decades so it shouldn't surprise anyone.
Linux kernel booting process, part 2
20 points by 0xAX  2 hours ago   1 comment top
rb2k_ 23 minutes ago 0 replies      
On a side note: I can't seem to get instapaper to save part 1 and 2 of this series.

The raw .md file doesn't seem to work and bookmarking the rendered github preview just leads to the projects main repo.

Write a Shell in C
26 points by xvirk  4 hours ago   4 comments top 3
jackgolding 12 minutes ago 1 reply      
This was my first assignment for my Systems Programming course in my undergrad - really enjoyed that assignment as the lecturer gave 20% the total assignment mark for you to implement whatever you'd like
foxhill 10 minutes ago 0 replies      
i really enjoy articles that demystify the tools and programs that we all take for granted. i don't think i'm going to be writing my own shell any time soon though..!
colund 2 hours ago 0 replies      
I really like this article. It shows that we don't need inferiority syndrom and instead can create the next Bash or zsh, etc. I personally think that small unix tools and shells will never cease to feel a bit like magic
Erlang bookmarks
14 points by avinassh  50 minutes ago   discuss
A list of cool features of Git and GitHub
6 points by lmedinas  1 hour ago   discuss
New Snowden Docs Indicate Scope of NSA Preparations for Cyber Battle
420 points by zmanian  21 hours ago   230 comments top 23
lawnchair_larry 17 hours ago 8 replies      
Here's a story for you.

I'm not a party to any of this. I've done nothing wrong, I've never been suspected of doing anything wrong, and I don't know anyone who has done anything wrong. I don't even mean that in the sense of "I pissed off the wrong people but technically haven't been charged." I mean that I am a vanilla, average, 9-5 working man of no interest to anybody. My geographical location is an accident of my birth. Even still, I wasn't accidentally born in a high-conflict area, and my government is not at war. I'm a sysadmin at a legitimate ISP and my job is to keep the internet up and running smoothly.

This agency has stalked me in my personal life, undermined my ability to trust my friends attempting to connect with me on LinkedIn, and infected my family's computer. They did this because they wanted to bypass legal channels and spy on a customer who pays for services from my employer. Wait, no, they wanted the ability to potentially spy on future customers. Actually, that is still not accurate - they wanted to spy on everybody in case there was a potentially bad person interacting with a customer.

After seeing their complete disregard for anybody else, their immense resources, and their extremely sophisticated exploits and backdoors - knowing they will stop at nothing, and knowing that I was personally targeted - I'll be damned if I can ever trust any electronic device I own ever again.

You all rationalize this by telling me that it "isn't surprising", and that I don't live in the [USA,UK] and therefore I have no rights.

I just have one question.

Are you people even human?



pa7ch 19 hours ago 8 replies      
Looking at the comments in support of the NSA here makes me suspect an astroturfing campaign is happening.

Edit: I should add that my suspicion came from noticing that the vast majority of the comments when this was first posted seemed aligned in favor of the NSA's mission.

It wasn't the presence of pro-NSA comments that was interesting but rather that these opinions were the overwhelming majority. This is, of course, how astroturfing becomes effective, it is not the rhetoric that is important but the cognitive bias imparted by the facade of so many people falling to one side of an issue.

This is of course, only a suspicion, but it seemed worth noting.

pdknsk 20 hours ago 3 replies      
There was a long interview with Snowden posted recently, which didn't make it to the frontpage. I guess because of Snowden penalty on HN and Snowden fatigue. Anyway, he kept repeating a point which is quite easy to understand for the public I think.


And the reality is when it comes to cyber conflicts [...], we have more to lose.

We spend more on research and development than these other countries, so we shouldnt be making the internet a more hostile, a more aggressive territory. We should be cooling down the tensions, making it a more trusted environment, making it a more secure environment, making it a more reliable environment, because thats the foundation of our economy and our future.


The concept there is that theres not much value to us attacking Chinese systems. We might take a few computers offline. We might take a factory offline. We might steal secrets from a university research programs, and even something high-tech. But how much more does the United States spend on research and development than China does? Defending ourselves from internet-based attacks, internet-originated attacks, is much, much more important than our ability to launch attacks against similar targets in foreign countries [...].


When you look at the problem of the U.S. prioritizing offense over defense, imagine you have two bank vaults, the United States bank vault and the Bank of China. But the U.S. bank vault is completely full. It goes all the way up to the sky. And the Chinese bank vault or the Russian bank vault of the African bank vault or whoever the adversary of the day is, theirs is only half full or a quarter full or a tenth full.

But the U.S. wants to get into their bank vault. So what they do is they build backdoors into every bank vault in the world. But the problem is their vault, the U.S. bank vault, has the same backdoor. So while were sneaking over to China and taking things out of their vault, theyre also sneaking over to the United States and taking things out of our vault. And the problem is, because our vault is full, we have so much more to lose. So in relative terms, we gain much less from breaking into the vaults of others than we do from having others break into our vaults.

fidotron 19 hours ago 9 replies      
To be fair here, the NSA should very well be doing these things, for the purpose of attacking other states. The reason is very clear as the Russian attacks on Estonia ( https://en.wikipedia.org/wiki/2007_cyberattacks_on_Estonia ) demonstrate a clear need for defensive capability in this area, and where you have defence you end up needing offence.

This persistent confusion between legitimate NSA operations such as preparing to intercept communications of foreign governments and illegitimate such as mass slurping of everyone's email merely serves to discredit the entire privacy defending position, and in the long run will just play into the hands of those that want to read everyone's email for nefarious purposes.

Animats 19 hours ago 5 replies      
Everything at the lowest levels needs to be tightened up now.

Buffer overflows in trusted code have to go. This means getting rid of the languages with buffer overflow problems. Mostly C and C++. Fortunately we have Go and Rust, plus all the semi-interpreted languages, now, and can do it.

We need something that runs Docker-like containers and, all the way down the bare metal, has no unsafe code. We need dumber server boards, with BIOS and NIC code that's simpler and well-understood. The big cloud companies, Amazon, Facebook, and Google are already doing their own server boards.

Companies which put in "backdoors" should face felony criminal prosecution. That doesn't happen by accident.

Latest CERT advisory: "Vulnerability Note VU#936356 Ceragon FiberAir IP-10 Microwave Bridge contains a hard-coded root password ... Ceragon FiberAir IP-10 Microwave Bridges contain an undocumented default root password. The root account can be accessed through ssh, telnet, command line interface, or via HTTP. ... CERT/CC has attempted to contact the vendor prior to publication without success."

All Ceragon customers should demand their money back, and their products should be seized at US customs as supporting terrorism.

zmanian 18 hours ago 1 reply      
There are a number of objectionable elements to the NSA foreign operations.

- Mass surveillance of all humans is objectionable on human rights terms.

- Attacks on civilian infrastructure. The NSA is executing military operations against civilian infrastructure even in NATO countries.

It isn't conventional foreign policy or warfare for a military agency to be actively and continuously attack the civilian cultural and economic infrastructure in preparation for war.

jacquesm 20 hours ago 0 replies      
Judging by the scope of the attack on Belgacom in 2011 that battle is already underway, the surprise I guess should be that it is the allies attacking each other. If China or North Korea would have made an attack like this it would be trumpeted as an act of war, but because it is the UK with NSA assistance it's downplayed as much as possible.
jakeogh 16 hours ago 1 reply      
The premise that we need "beneolvient power" to "protect us" from "evil doers" is the oldest trick in the book. If there is no threat, one will be generated. Almost organically, it does not even take overt orginization. The players know cui bono.
tete 5 hours ago 0 replies      
What I find really frightening is where they write:

From a military perspective, surveillance of the Internet is merely "Phase 0" in the US digital war strategy.


This enables them to "control/destroy critical systems & networks at will through pre-positioned accesses (laid in Phase 0)." Critical infrastructure is considered by the agency to be anything that is important in keeping a society running: energy, communications and transportation. The internal documents state that the ultimate goal is "real time controlled escalation".

This isn't about fighting terrorism. It's also not about the usual warfare it's more like the infrastructure or a set of tools to control nearly every other country or the planet or at least make sure that the US will always be able to keep them from disagreeing.

junto 3 hours ago 0 replies      
I'm pretty late to the party here but there are some fascinating parallels between the USG's actions in the physical world, as in the digital one.

First to USG has made a concerted and successful attempts to place secret digital strongholds and black sites across the globe, including some 'behind the enemy lines' so to speak. In the physical world these are the equivalent to CIA black sites and safe houses, from which you can attack and spy on the enemy, feed in extra weaponry to partisans and rebels (similar to the CIA Benghazi compound, sorry 'consulate', sorry 'embassy'.

The NSA has all these smart dangerous and arguably immoral minds employed to defend the digital borders of the US. But in truth these minds are busier establishing secret pathways through the digital trenchlines in order to have a definive and effective advantage when the cyberwar comes (which of course they are actively encouraging to validate their position, historical actions and future funding).

At the same time they are making a concerted effort to make sure that the security protocols everyone uses are undermined and backdoored. In effect they are making sure that the digital nuclear weapons held by their enemies aren't going to get in the air when the time comes.

Through strong encryption we could make sure that we have the digital equivalent of mutually assured security, but as ever the US isn't interested in this, because the reality is that the military industrial compound aims to make billions of dollars from the industry.

In a world where all communications and hardware devices were secure, they wouldn't make any money. A secure, stable and safe world just isn't profitable.

thefreeman 12 hours ago 2 replies      
The NSA should just leak documents showing all of the other governments doing this stuff so we can move on from the Anti US/UK circle jerk. Seriously if you think your government hasn't invested serious time and money in digital subterfuge you are living in a dream world and need to wake up.
Briguy2k 14 hours ago 1 reply      
Speaking as a citizen, the problem with the US's newest brand of digital weapons, is that they can be used on US population under the radar and w/o killing anyone. This may justify legally their extended use for surveillance unfortunately. The development of the atom bomb and chemical weapons had no "convenient" use on the USs own citizens, and they clearly couldn't get away with it. However, these weapons do, and they are being developed with all the same force, purpose, and financial backing as the a-bomb and chemical weapons were ~100 years ago.
benstein 20 hours ago 6 replies      
How is this whistleblowing? What benefit do we as the public gain from this knowledge?
ancarda 20 hours ago 2 replies      
> the only law that applies is the survival of the fittest.

Is this such a problem? In a world where exploits are used to break infrastructure, isn't the best solution simply to build increasingly more secure code? If that won't solve the problem I don't know if legislation will. Right now a determined hacker can harm a company via the internet (e.g. Sony). Are laws really going to stop that from happening?

If not, please correct me. I know little about cyber warfare and would love to know more.

stickhandle 20 hours ago 0 replies      
The last 2 articles I read were this one and the earlier piece on Google and neural nets [1]. It's easy to connect the two, add the pervasive integration of technology in our lives, mix in a healthy dose of paranoia --> see a SkyNet future.


amirmc 20 hours ago 0 replies      
At best this seems like an arms race but at worst, there are actually battles being fought (of a kind). I wonder what the digital equivalent of a nuke would be such that govts decide that diplomacy is better. Some kind of Digitally Affected Mutual Destruction (DAMD).
SCHiM 16 hours ago 0 replies      
One thing to be said about the offence vs defence side of this story is that the adage the best defence is a good offence definitively applies here. It's so much easier to attack another system than defend your own. It's inherent to the way systems are set up:

A computer system has many services, programs and tasks running on it. Only one of these needs to contain a flaw for a system to be vulnerable, obviously this means that on a secure system everything must be perfect, for 1 flaw compromises everything.

Therefore I don't find it strange that the NSA allocates the resources it does to research and expand it's offensive capabilities, since trying to defend the systems of the US is probably a lost cause. The question remains if this is ethical and/or legitimate. Being a non us-citizen I'm certainly opposed to the practises of weakening standards and harvesting/exploiting services on the internet.

I also find the double-speak of the US government deplorable, on the one hand we have the government declaring that in many ways a cyber-attack will, and can, be reacted upon as if it were a conventional attack. And on the other hand we have the US government attacking and targeting civilians (Belgacom Sysadmins). I fail to see how attacks against the US can be labelled as a conventional attack, but that attacks from the US against civilians are apparently OK.

philip1209 20 hours ago 1 reply      
Domestic surveillance was controversial and surprising. Is a spy agency preparing ways to attack and cripple foreign infrastructure that unexpected or contentious?
ajcarpy2005 19 hours ago 1 reply      
How should NSA spying figure into the public's view of Obama's efforts to help municipalities build out competitively priced broadband networks?
tosser002 19 hours ago 5 replies      
I can understand the support of Snowden for blowing the whistle on domestic spying, but how is this defensible?
squozzer 15 hours ago 0 replies      
I won't pretend to know what's going on here or its implications. So far humanity has lucked out considering our capacity for building some pretty nasty weaponry. We'll probably go through a series of cyberwars before we come to our senses.

I don't blame the NSA for trying to be ready to fight a cyberwar. Other nations probably wouldn't stop their programs even if the US did. Our culture isn't the only one infected with a sense of Manifest Destiny.

Where we might consider drawing the line begins with necessity. Deciding which actions are necessary and which are gratuitous might prove difficult, assuming we even know, which is why I find it hard to fault Snowden for leaking this information.

As fearsome as the NSA sounds, certainly they have some limits. For instance, why don't they just clean out everyone's bank accounts? Might pay their bills for a few days anyway. But why haven't they gone after certain criminals? Many shady operations keep their money in jurisdictions that probably can't compete with our cyberwar capabilities. Maybe these operations enjoy the protection of a powerful entity but probably not all of them do. And probably many operations still use cash and couriers but the US and others seem to have gotten better at tracking movements of people so it's doubtful such tactics will remain viable forever.

Maybe in the end we have to somehow conquer the notion of distrust. Not sure how it can be done except through telepathy and even then the transition to a telepathic society will probably be full of misery.

UhUhUhUh 17 hours ago 0 replies      
There is also this very American reassuring belief that quantity will somehow take you to quality.
qatester 4 hours ago 0 replies      
For me the only bunch of people who wants and loves to start war is USA government, note I am not saying americans, I am saying US government. Why should you prepare if you dont have intention of war? "defense", from whom? from people where you started war? directly with Afghanistan, Iraq and some others, indirectly with Syria, even with Russia (started economically) and many others where they got governments with bribes. Now preparing for D war. Every war started with flag of "Demo hypocracy", defense and some other pseudo defensive words, reality is USA starts war and government fuckingly loves when people die. Probably you are going to downvote, thats because you didnt lost any of your brother, sister or even relatives and friends in such wars which just started because they wanted more oil and more money.
Scripting: Higher Level Programming for the 21st Century (1988)
10 points by networked  2 hours ago   discuss
Is the World Making You Sick?
26 points by dnetesn  4 hours ago   19 comments top 10
enziobodoni 1 hour ago 2 replies      
I run a hospital lab, and I see requests for testing for all sorts of bizarre things, largely by naturopaths, deriving from the "philosophy" expressed here. We refer to people who believe this stuff as being on the "Quest for Purity", a quixotic drive to remove all "toxins" from their bodies. Regardless of whether or not there are substantiated examples of low doses of chemicals causing effects, the worry about this problem being widespread is a very common delusion that consumes an enormous amount of attention and money, is preyed upon by charlatan doctors (or naturopaths, who call themselves doctors), and is incredibly confounding. The rub in these potential illnesses is that you can never actually remove any of these exposures completely, and thus you are required to continue to purchase diagnostics, cures, and consultations forever. If there is a true toxicobiologic effect in here, it will be essentially impossible to discern from the obvious and overriding psychiatric issues and financial conflicts at play.
claar 22 minutes ago 0 replies      
I predict many of the additives in our food and other products will be dimly viewed in retrospective, similar to how we view asbestos & lead paint today.

The preservatives, anti-caking agents, food colorings and other profit-enhancing additives are basically used with an "innocent until proven guilty" mindset.

As usual, you need only follow the money; who profits from adding these things to our food? Pretty much everyone.

There's much less profit motivation for pure food, so it simply won't happen until there's conclusive proof that the additives are bad.

And who's going to pay for that proof -- enough that those profiting from them can't squash it?

stolio 1 hour ago 0 replies      
> In 1962, physicist and historian Thomas Kuhn proposed that science makes progress not just through the gradual accumulation and analysis of knowledge, but also through periodic revolutions in perspective.

Kuhn is almost always referred to as a philosopher because he left physics to be a "philosopher of science".

In a nutshell I see an article about a scientist who worships a philosopher, believes she's the leader of the third major revolution in understanding human illness, and has a theory that's plausible yet difficult to test. Doesn't make the idea wrong, but these are not good signs.

In her defense she's published a few times on the subject* still something about the article's rubbing me the wrong way.

* - http://scholar.google.com/scholar?hl=en&q=claudia+miller

wdewind 2 hours ago 2 replies      
> There are several types of proof. Nick Ashford and I observed the same patterns of inexplicable new-onset intolerances across very different toxic exposures in over a dozen countries. Sheep dippers using organophosphate pesticides in rural areas of Europe, radiology workers inhaling chemicals while developing films in New Zealand, Gulf War veterans, EPA workers in a remodeled and poorly ventilated office building in 1987, cleanup crews breathing fumes after oil spills. Many would get ill, and a small percentage never recovered. They became exquisitely sensitized, as well as disabled.

This doesn't really sound that crazy to me. People working with industrial chemicals need protection. This is a widely known and accepted fact. It doesn't point to the entire population getting sick from small doses of chemicals in their day to day lives, like the flame-retardants in their mattresses, as the article opens up claiming.

intopieces 6 minutes ago 0 replies      
If this topic interests you, you might enjoy the Todd Haynes movie [SAFE] (1995).
Kenji 2 hours ago 1 reply      
What makes me sick is this fear-mongering. Go back to the industrialization in England if you want to see real pollution. We have made astonishing advances when it comes to increasing air quality. Catalysts in cars, all kinds of regulations about emissions. We are constantly trying to remove harmful substances from our lives - but that requires evidence, we can't just randomly blame 'chemicals'. It's far from perfect, I know that. But the average lifespan of humans has steadily gone up.
monochr 2 hours ago 1 reply      
I have a new law based on Betteridge's law of headlines:

Any scientist who claims to have produced a paradigm shift hasn't.

You're welcome to call it Monochr Law of Paradigms.

noonespecial 2 hours ago 0 replies      
There is room for improvement in the modern world. But you know what could be making us sick in our everyday lives? Cholera. Makes bpa a little less scary after all.
Scoundreller 1 hour ago 0 replies      
This is why I do not shed any tears for the decline of most newspapers and TV news.

Even the "good" ones tend to be hit or miss, or not call out BS when it is so obvious. The Economist seems to be one of few publications that I can consistently read without getting frustrated by emotional journalism or poor logic.

michaelochurch 2 hours ago 0 replies      
The reflexive lay dislike for "chemicals" is a bit weird to me, because everything in this world is made up of chemicals. If anything, the ostensibly healthy foods like fruits and vegetables probably have more chemical complexity and heterogeneity than processed foods.

In terms of pollution and the presence of bad chemicals, it's nothing new. Burning any organic matter releases thousands of chemicals, and for all the romance around wood fires and stoves, those are much more polluting than most industrial processes today.

This isn't to invalidate the core concept of the article, which I can't really evaluate. It seems likely that some of the irritating illnesses people get are due to hypersensitivity to certain chemical agents that, in low doses, most people can tolerate. I just doubt that this is a new problem, given that we've always lived in somewhat of a chemical stew and our air and water have always harbored things that can kill us.

SSL certificate chain resolver
30 points by zakjan  7 hours ago   13 comments top 6
laurencei 5 hours ago 2 replies      
Useful script.

A related post worth reading is "Getting an A+ on Qualy's SSL Labs Tester" - https://sethvargo.com/getting-an-a-plus-on-qualys-ssl-labs-t...

Previous HN discussion: https://news.ycombinator.com/item?id=8749931

est 3 hours ago 0 replies      
SSL is hard not only because the pricing barrier, but also setup hassle like these. Thanks OP!
jpetersonmn 3 hours ago 0 replies      
I just went through this issue with my first site I've used ssl on. I thought everything was all good until I visited the site on my phone and got cert errors. Took me all night to figure out how to get them in the correct order, etc... Thanks for sharing this.
praseodym 3 hours ago 2 replies      
One thing to note is that the Qualys SSL Labs test will complain if your server sends the (self-signed) root CA certificate, which will already be in the end-user's trust store. This uses unnecessary bandwidth for every TLS negotiation.

In many cases, the CA (or company you got your certificate from) will include this root cert in the chain. With most web servers it is perfectly fine to simply remove it, but I have seen applications where you cannot (VMware, which wants a complete chain ending with a self-signed cert) and where you'll have to ignore the SSL Labs warning.

peterwaller 5 hours ago 1 reply      
I've lost count of how many times I had to try reordering the certificates I fed to Amazon's load balancer. You get back very cryptic error messages. Which is annoying since it could almost certainly work out the order for you...

This script looks very useful, thanks :)

cfcf 1 hour ago 1 reply      
thank you very much for this! Added a pull request to fix some issues with relative paths :)
Alligator Eggs
143 points by jmduke  16 hours ago   23 comments top 10
tubelite 10 hours ago 4 replies      
Serious question: Has anyone tried this out on actual children? How did it go? Maybe children can more easily accommodate the number of arbitrary elements and rules the game requires, because as an adult, I find the alligator motif actively confusing.

Using concrete names, people, chocolates rather than abstractions usually helps a lot in teaching, because it leverages existing mental models and reduces the cognitive burden of tracking abstract tokens and behaviours. In this case, the alligators and their eggs behave so differently from anything familiar (egg hatching to whatever the parent ate?!) that I find the cognitive burden increases to the point of giving up. IMHO, for adults, a straight-up explanation with abstract symbols would actually be easier to comprehend.

nmeofthestate 3 hours ago 0 replies      
Good idea: express complex concepts in simple forms that children understand: multicoloured alligators that die when they eat other alligators or alligator eggs and then the eggs that they previously laid hatch, resulting in alligators that are the same color as the...

Wait I'll start again...

mrob 9 hours ago 0 replies      
I don't like this alligator analogy because it relies on magic. Whenever an alligator eats it transforms its eggs by no obvious mechanism. If some abstract mechanism is unintuitive then I don't see how decorating it with superficial real life analogies makes it any easier to understand. The unintuitive behavior is still there. At least draw attention to it by making the alligators wizards or something.
bitwize 45 minutes ago 0 replies      
When I first discovered this, I found all this bafflegab about alligators and eggs only served to confuse the issue. If you understand that a lambda expression is a rule for generating expressions which, when applied to a value, substitutes the value for the lambda variable, that is sufficient to have an intuitive grasp of what LC is all about.
learnstats2 1 hour ago 0 replies      
"Do some arbitrary stuff, that doesn't make any sense as an analogy. Oh, look! You just learned the lambda calculus!"

Is this an art project satirising computer science?

bhouston 14 hours ago 2 replies      
Seems fairly complex still. Not completely sure this makes it more understandable. But maybe that wasn't the point?
GuiA 11 hours ago 0 replies      
Previous discussions (I wish HN did this automatically):


Related: "To Dissect a Mockingbird" http://dkeenan.com/Lambda/index.htm

(also previously discussed on HN: https://news.ycombinator.com/item?id=7684210)

rattray 12 hours ago 2 replies      
What is the purpose of learning/teaching lambda calculus? I get that it's cool. In what ways it is an important or useful concept?
fit2rule 8 hours ago 1 reply      
I'm left wondering if anyone has made an app out of this, to obviate the need to print things and as well provide an onboard means of educating the user how the game works. This is still quite a complicated concept and I can't say I understand it better just because I've got toy alligators all over the place .. but with an app it could be a bit more intuitive. That in itself might be an interesting exercise ..
guard-of-terra 4 hours ago 0 replies      
Somehow lambda calculus/fp community has no end of embarrassing produce - be it books, pictures and now images.

Something about pure lack of self-criticism perhaps.

Forcing code out of line in GCC and C++11
85 points by luu  13 hours ago   17 comments top 3
userbinator 10 hours ago 1 reply      
It's interesting to see techniques that are pretty common in Asm programming appearing in higher-level languages - putting the error-handling code "somewhere else" or otherwise trying to keep it out of the way is one of these. The other one related to this, which I haven't seen a compiler do yet, is "chaining the error path" which looks something like this:

        ; some code that sets CY on error        jc some_error        ...        ; more code that sets CY on error    some_error:        jc some_error1        ...        ; etc.    some_error1:        jc some_error2        ...    some_error2:        jc some_error3        ...    some_errorN:        ; error handling code goes here
The reasoning behind this being that conditional jumps to nearby (within +/-127 bytes) targets are far shorter (2 bytes vs 6) and the error path is rarely taken. When the error-handling code is ahead, they are predicted to be not-taken with the common "always not taken" and "forward not taken" decisions, which agrees with their use of being taken only on error. A bit hard to express this pattern with C, however - and chained gotos, which would be somewhat equivalent, aren't so "high level" anymore.

grundprinzip 12 hours ago 3 replies      
I'm not sure, but the assembly code generated when using __builtin_expect looks almost identical.
tacos 11 hours ago 2 replies      
Even the best coders often get this wrong. Let the profiler do it.


The Story of the Intel 4004
5 points by shawndumas  4 hours ago   discuss
On Unicode Normalization or why normalization insensitivity should be rule
6 points by lelf  4 hours ago   1 comment top
adekok 4 minutes ago 0 replies      
They're right.

I spent the last 5 years trying to get i18n working in a protocol:


The working group came to the same conclusion. Whatever crap the client puts in the packet is inviolate. Don't change it. You're not smart enough to do that.

Instead, if you need to do comparisons, compare on the normalized strings. You create a "normalized" version of the string, and then use that for comparisons.

I wish the IETF precis working group had a "recommendations" document. It would make everyone's lives much simpler.

Why the modern world is bad for your brain
20 points by bootload  5 hours ago   5 comments top 4
stolio 6 minutes ago 0 replies      
On the opposite side of the spectrum from too much multi-tasking is what happens if you single-task intensely for 15 hours a day, 300+ days a year. For guinea pigs we have professional online poker players, one of whom started noticing some problems, got some brain scans and wrote about it here[0]. The TL;DR is his doctor told him if he kept it up he'd have stroke before he turned 50.

For reference, if you're "multi-table grinding" as a poker player you may average 750-1,000 hands per hour. At 750 hands/hr that's about 1 hand per 5 seconds. That's a single task repeated over 10,000 times a day.

As with everything, balance seems to be the key.

[0] - http://www.cardplayer.com/poker-news/15033-dusty-schmidt-thi...

elorant 17 minutes ago 0 replies      
Thats why Ive decided not to own a smartphone. Im connected while at work, I dont want to carry my work when Im out. Been idle sometimes looks useful because it allows me to observe the world even if it is other people in the super market. Spending all day looking at various screens I believe will melt my brain, reducing my ability to really focus when I need to. For that same reason Im not a big fan of social networks either, I just dont find any use for them. On the contrary I find them extremely annoying and I believe they'd hummer my productivity if I was to check every hour or so what my friends did online. Of course I know Im a minority.
mrdrozdov 26 minutes ago 0 replies      
This post reminds me of the book "Blur: How to Know What's True in the Age of Information Overload".

My take is optimistic. Charlie Munger uses mental models to handle his business decisions. Maybe we just better mental models to handle high frequency information digestion and distribution.

11thEarlOfMar 2 hours ago 1 reply      
"We are doing the jobs of 10 different people while still trying to keep up with our lives..."

My first experience with Uber was to order a ride for my wife and daughter. As they were en route, it occurred to me: I had unwittingly accepted the job of dispatcher, and was paying for the pleasure.

It shall be unlawful for any person to manufacture..encryption products (1997)
82 points by declan  12 hours ago   28 comments top 6
slowmovintarget 18 minutes ago 1 reply      
The short version: Get it (encryption software) while you can.
chernevik 2 hours ago 1 reply      
Could someone please post a comment or link on the state of constitutional protection for strong encryption?

I think I've read that the courts have ruled that dissemination and use of strong crypto algorithms is protected by the First Amendment, but I'm not sure of that.

tbrake 10 hours ago 3 replies      
Am I reading this GPO link wrong or did that not make it in? Section 2804 here actually eliminates an enforced key escrow, so I don't know.


xnull2guest 8 hours ago 1 reply      
"(3) Encryption

A telecommunications carrier shall not be responsible for decrypting, or ensuring the governments ability to decrypt, any communication encrypted by a subscriber or customer, unless the encryption was provided by the carrier and the carrier possesses the information necessary to decrypt the communication."


"18 U.S. Code 2703 - Required disclosure of customer communications or records

(a) Contents of Wire or Electronic Communications in Electronic Storage. A governmental entity may require the disclosure by a provider of electronic communication service of the contents of a wire or electronic communication, that is in electronic storage in an electronic communications system for one hundred and eighty days or less, only pursuant to a warrant issued using the procedures described in the Federal Rules of Criminal Procedure (or, in the case of a State court, issued using State warrant procedures) by a court of competent jurisdiction. A governmental entity may require the disclosure by a provider of electronic communications services of the contents of a wire or electronic communication that has been in electronic storage in an electronic communications system for more than one hundred and eighty days by the means available under subsection (b) of this section.

(b) Contents of Wire or Electronic Communications in a Remote Computing Service.


(c) Records Concerning Electronic Communication Service or Remote Computing Service.



known 4 hours ago 0 replies      
"Never do anything against conscience even if the state demands it." --Einstein
rokhayakebe 5 hours ago 3 replies      
Many are quick to jump and state that we should all have 100% privacy, and that governments should not look into our communications. At the same time we are asking for the government to protect us. Something like 9-11 happens and we blame our national security officials. Something like the Boston Marathon happens and we do the same.

At some point we have to choose: Natural Freedom or Societal Freedom, but we cannot have both.

I for one believe that we should TRULY consider recording every message we send/receive.

We should have a very high threshold for using these communications against people, and making sure they can only be used for matters of the people's security.

Attacks on 'Insecure' Progressive Insurace Dongle Could Spawn Road Carnage
78 points by thealexknapp  14 hours ago   25 comments top 12
imroot 12 hours ago 1 reply      
This is something that I've toyed around with a CANbus hacker called CANiTM (which is open source hardware) -- while I have Nationwide Insurance, I did call up Progressive and ask for a snapshot; they sent one to my house, and I was able to save me driving around a farm at reasonable speeds.

I then tweaked the CAN bus parameters a bit -- making the VIN number match the VIN of my current vehicle, and replaying that a few times during the trip so that it would seem like I'm a very patient, slow driver, who drives less than 5 miles a day at 8:30 and at 5:15, monday through Friday, and then sent it back to Progressive at the end of my 30 day trial.

Progressive quoted me an insanely small number for my auto insurance -- probably around $22/month -- which is about half of what Nationwide charges me for the same insurance.

It's my understanding that Progressive now is collecting GPS data with their snapshot tool, so I'm not sure that the same attack/replay would work for their system.

jcr 12 hours ago 2 replies      
An interesting aside in all this is potentially getting a free cellulardata modem. Progressive provides a free 30 day trial of "Snapshot"according to their FAQ [1], so it's possible to get the device itself.Inside the device is (supposedly) a cellular data modem by u-blox [2]according to the Forbes article.

Much hilarity and havoc could be wrought if you can get the modemworking outside of the snapshot device. Would you like to be the poorsysadmin at Progressive who notices that one Snapshot enabled car keepstrolling Homeland Security and downloading hermaphrodite dwarf porn?

[1] http://www.progressive.com/auto/snapshot-common-questions/

[2] http://www.u-blox.com/en/wireless-modules.html

ipsin 10 hours ago 2 replies      
We are confident in the performance of our Snapshot device used in more than two million vehicles since 2008 and routinely monitor the security of our device to help ensure customer safety.

There's something about the phrasing of PR statement that really added credibility to the Thuen's claim. Highlighting that it's a seven year old system, or that you "routinely monitor the security of the device" doesn't have anything to do with the actual security of the system.

"Routine monitoring" sounds worthless, because they probably don't mean "routinely dumping the firmware, physically, from the device".

In any event, we'll see soon whether this is a legitimate CANbus bridge, and if so, all the previously-released exploits come into play.

kw71 9 hours ago 1 reply      
I think it's pretty ridiculous to connect motor vehicle gateways, even indirectly, to a network. The Toyotas which can be started with canbus packets can also be shutdown. The diagnostic test routines are not something that I want a troublemaker or enemy to send to my car at any time.

There is no way for the carmakers to secure the applications that use these vehicle networks. Most of them are large enterprises with thousands of sites and some contractors are global enterprises too. Not only do service tools (diagnosis/firmware) get widely leaked, but manufacturing and development tools too: huge enterprises will get their vpn's hacked and their employees will be subject to laptop theft. Since the industry cannot keep a secret, it will never be able to provide security.

ytNumbers 7 hours ago 0 replies      
Looks like it only takes 66 years for science fiction movies to become reality. The Batman and Robin movie serials of 1949 had an evil villain who had the technology to take control of all vehicles within a 50 mile radius. Today, we're darn close to Doctor Evil going worldwide with this. Where's Batman and Robin when you need them?


ianpenney 1 hour ago 0 replies      
Eric Evenchick (@ericevenchick) did a great talk called "Hopping on the CAN Bus" at BSidesTO2014.


jacquesm 10 hours ago 0 replies      
Title fix please: insurace->insurance.
drivingmenuts 3 hours ago 4 replies      
Does anyone find it odd that insurance companies can demand this kind of information?

I pay them a fee (not willingly either - it's required by state law) to provide coverage for me in case of an accident. I tell them how much coverage I want and pay the amount required for that.

Seems to me that should be the end of it, as with any service.

millstone 12 hours ago 0 replies      
Does the usage dongle actually install unsigned firmware updates received over-the-air? That's indefensible if so, but the article doesn't say.
metafour 10 hours ago 1 reply      
I'm surprised he hasn't rearranged his garage to fit his truck in so he can do his testing from there. It's hard to tell for certain from the picture but it looks like it should fit height-wise.
aaronbrethorst 10 hours ago 0 replies      
I wonder what this means for Metromile (https://www.metromile.com). I drive 1-2 times per week, and I'd considered switching from Geico to Metromile for the cost savings, but this gives me real pause.
sotoseattle 14 hours ago 0 replies      
The title alone is worth a point: Violence, fear, Dongles (?), satanic Spawn, and a finale of Carnage.
The Real Kings of Chess Are Computers
6 points by ColinWright  6 hours ago   discuss
Undeveloped Film from a Soldier in WWII Discovered and Processed
239 points by benbreen  1 day ago   112 comments top 11
jdnier 12 hours ago 0 replies      
It pains me to see him unwrapping paper-backed rolls of film in room light, then using a strobe to document the appearance of the the roll (before developing). The fogging you see at the top and bottom edges of some rolls is from light leaking around the edges of loosely-rolled spools; it happens even with modern 120 roll film. There's a good chance he's fogging some of the rolls due to his handling.
dghughes 21 hours ago 6 replies      
Hey! I know that clicky clicky sound well as you ratchet on the film onto the wheel I even have a similar style developer tank only a bit smaller.

I really miss doing that it's been I get 20 years since I've developed any film it's amazing how time flies. Digital photography just doesn't have the soul of actual film photography it's missing the physical connection. Although I don't miss the stink of the fixer.

It's 120 rollfim too for medium a format camera which would give a nice image since it quite a bit larger and has more surface area than a 35mm negative.

For such old film I figured this would have been done in a lab not in a kitchen I'd be concerned with water temperature with such old film. Maybe even soak the film in water to let it hydrate a bit maybe since he indicate they rolls may stick they've been rolled up for so long.

I do wish I had a better method to scan my old negatives and skip the printing part I did try it without much success in the mid 1990s with my first flatbed scanner.

Interesting stuff! It makes me want to pick up the old cameras again.

ncza 23 hours ago 0 replies      
Direct link instead of "relevant third-party content rehosted in a company blog": http://www.rescuedfilm.com/
markbnj 21 hours ago 3 replies      
I've read about this project before. This isn't the first collection of film from a soldier's belongings that he has located. The most melancholy thought, for me, is that there is likely only one reason why the images were never developed by their creator.
TomGullen 23 hours ago 0 replies      
Great project, and fascinating to see them:http://www.rescuedfilm.com/#!rescuedwwii/c1d05

What I like about them is they are obviously taken by an amateur (I don't profess to be any good myself!). Things like wonky horizon lines stand out to me and help bring a bit more or a human connection to these photos and events depicted I otherwise feel quite disconnected from.

They remind me of photos for example my family and friends take on holiday, and make me realise it's just pure luck that it wasn't me, my family or friends who found ourselves in those difficult years.

CamperBob2 18 hours ago 0 replies      
Irony: Site called "petapixel.com" posts images in glorious 1989-era VGA resolution.

As someone else mentioned, these images were basically stolen from http://www.rescuedfilm.com/ , where they can be viewed at higher quality.

userbinator 23 hours ago 4 replies      
This makes me wonder if photos left on an SD card now would still be readable in 70 years... considering the relative fragility of modern flash memory (guaranteed retention specs are at less than a decade now), I'm not so optimistic.
jordanpg 20 hours ago 1 reply      
The recovery of these images is a great story to be sure, but the WWII photos remind me of the kind of photos that I usually take: terrible ones. Mostly just pictures of uninspired landscapes, buildings, and nondescript groups of people. Glad to know that ineptitude with a camera began long before they became ubiquitous.
coldtea 21 hours ago 0 replies      
I think this is artistically fitting to the story:


rquantz 22 hours ago 2 replies      
Yay Hacker News. Top thread: what is the legality of who owns this film? Second thread: debating the longevity of flash memory. Third thread (no responses): direct link to content. Last thread (no replies): the only person who directly engages with the content of the linked article even remotely.
delinka 23 hours ago 9 replies      
The overlapped images: are these simply because the film didn't wind a fill frame?

Also: "Copyright of All Images On This Website is Owned By The Rescued Film Project."

I have doubts about this statement. Can someone with more expertise in this matter explain? It seems to me that the photographer holds the copyright unless the copyright was properly transferred. Simple discovering the film and processing it does not a copyright holder make.

EDIT: there form for donating unprocessed film contains the following: "By donating your rescued film to The Rescued Film Project [] you agree to release full print and publish copyright of all images recovered from the film to The Rescued Film Project and its proprietor(s)."

This suggests to me that someone else may have obtained and donated the film to TRFP.

Getting started contributing to Rust
125 points by adamnemecek  18 hours ago   6 comments top 3
100k 14 hours ago 0 replies      
Thanks to Keegan and the other Rust team members for hosting this event. It was fun to see how things work under the hood.
codys 15 hours ago 1 reply      
A more accurate title for the slide deck might have been "Getting started _modifying_ Rust".

Only a single slide deals with "contributing" the changes made.

And I'm happier with the actual slides than the ones the title implies.

Galanwe 14 hours ago 1 reply      
Anyone having links to the video of the talk?
What Doesn't Seem Like Work?
684 points by achariam  1 day ago   299 comments top 66
dxbydt 1 day ago 16 replies      
This excerpt -

"what he really liked was solving problems. The text of each chapter was just some advice about solving them. He said that as soon as he got a new textbook he'd immediately work out all the problemsto the slight annoyance of his teacher, since the class was supposed to work through the book gradually."

is literally me. I did that. Every year at my school I did exactly that. Once I actually turned in my solutions and my math teacher was quite upset because she didn't know what I'd do for the rest of the year in her class. She thought I was being arrogant and I should take in the material slowly, not swallow it all like a whale. But I wasn't arrogant or anything, because unfortunately this skill didn't transfer to the rest of my classes. I wasn't particularly good at history or physics or anything else, only math. Even now, I have tons of Schaums at my home. Like this one - http://www.amazon.com/Schaums-000-Solved-Problems-Calculus/d... I work problems in it just because it is a craving - I simply have to solve it. Sadly, society doesn't pay for this sort of addiction. I have been a professional programmer for the past 2 decades to pay the bills, but I secretly hate programming, debugging, programmers, git, the whole enterprise - just seems so stupid & futile. But hey, atleast I can spend my salary on Schaums.

delluminatus 1 day ago 9 replies      
Personally, I experienced this with programming. When I learned to program in high school, it never struck me as a chore; it was always just interesting and I enjoyed it.

However, I think the only reason I was able to enjoy learning programming was because of how adept I already was with computers as a "power user", because it gave me the physical skills and conceptual underpinnings required to appreciate the field.

To me, this raises an important question.

If you lack the physical skills or are a novice in a field, it can be frustrating or intimidating to learn even if you would otherwise enjoy being competent. For example, learning to draw: should one accept their dislike of basic beginning drawing practice to imply that drawing is not an appropriate vocation for them? Difficult question; probably depends on the person. The only way to know if you love drawing at a competent level is to reach that level. In a sense it begs the question: how can you tell if you will enjoy doing something until you have the ability to actually do it?

I don't think there is an easy way to solve this problem; you simply have to put the effort into practicing new things even if you don't enjoy the practice. That's where you get into willpower, commitment, etc. My experience of the world is that you simply cannot expect to be successful by only doing things that don't feel like work; sometimes, you have to actually do the work.

stegosaurus 1 day ago 6 replies      
What if the idea of work itself is what you dislike?

There are plenty of activities I can enjoy, and some, quite a few of them in fact, are profitable.

Once you shoe-horn them into the power dynamic situation of a traditional job (with the bureaucracy that entails unless you're dealing with Actual People as opposed to corporations), suddenly a lot of the luster disappears.

As a ridiculous example - I enjoy reading. It's not really work at all, right?

Ask me to read 9am-5pm and I'd start to find it frustrating. Or add in a commute, or very low pay.

The actual job itself is very rarely the issue for me. It's what you miss out on, and also the fact that it invariably involves submission, acceptance of being subordinate, etc.

edit: To be clear here; I'm not talking about work ethic in the sense of 'pushing through something you find difficult'.

More the general idea of not wanting to be a part of a machine, a construct that you don't agree with. Large corporations and their 'policy documents', for example. I don't want to work for a company in which my boss doesn't have the autonomy to speak to me as a human being - this stands regardless of whether my job is backbreaking labour or eating chocolate bars.

cryptoz 1 day ago 5 replies      
This dichotomy, and the realization that it can fuel smart people to use their abilities to do amazing things in the world, is what upsets me most about the startup ecosystem. I'm a programmer. Writing weather software doesn't seem like work to me. However, since going through a startup accelerator, I'm supposed to all these things that are very much "work" - and it gets me down. Things that are important, for sure, like pitch decks, financial modelling, market research, raising capital in general. They're distracting me from the things I like doing but I do them because they're necessary for the business. My "fun work" quickly became "work that I don't like doing", and it's hard to stay in love with your startup after a lot of that.

I wish there were a way for startup founders to do what they love doing, and not what the VC/fundraising cycle tells them they should do.

If someone can solve that problem I'd be really really happy.

ritchiea 1 day ago 1 reply      
Ugh I hate stuff like this. Sometimes programming feels like work, sometimes it doesn't. I write, I make art. A lot of people wouldn't consider either of those real work. Yet sometimes each activity feels like work, other times the activity feels great and feels like something I could do forever uninterupted. Virtually all of the time you find something you enjoy, even if someone else thinks it's work, there will be parts of making it a career that will definitely be work (e.g. programming is always fun but maybe corresponding with your boss isn't).

I have a friend who will program all day. He spends all his time on Project Euler. He loves studying algorithms to understand them completely and trying to devise better algorithms. This is what he does in his free time. He does it all the time because he hasn't had a job in years. My friend is probably a much better programmer than I am but I have steady well paying work because sometimes I like programming and sometimes I like talking to people and the second part helps me work with clients and co-workers. My friend the obsessive programmer for whom it is always a hobby can't hold down a job for the life of him. I hope for his sake he finds something that can support him as well as fulfill him. But the advice pg presents in this article is so trite as to be useless.

chubot 1 day ago 3 replies      
I'm surprised that Paul Graham likes debugging. I tend to stereotype programmers into two camps: one that likes debugging, one that doesn't. I thought he was part of the latter group.

Some programmers are engineers: they deal with the world as it is -- messy, inconsistent, evolved. They are good at debugging, because they are in tune with how things actually work (not how people SAY they work.) They like trying things before reading about them.

Some programmers are philosophers and mathematicians: they like to consider things from first principles, read a lot, and build up systems in their head. They make huge breakthroughs because they question fundamental assumptions. But sometimes they over-model things and ignore how the world actually works, in favor of "elegant" ideas. They may not like debugging because it is often dealing with other people's broken assumptions (i.e. legacy code), and not any real fundamental idea.

So PG clearly seems to have the philosophical bent and has made breakthroughs. But if he really likes debugging, then that means he comes at programming from BOTH the engineering and philosophical traditions, which probably explains why he's a great programmer. (I just stumbled across a copy of ANSI Common Lisp at work -- looking forward to seeing his style more closely.)

I think to be really good at something, you have to understand it in two different ways. Same goes for being able to write code from scratch (maker perspective) and being able to hack into it (breaker perspective).

Although, I have to say, there is a big difference between debugging your OWN code and other people's code. Not sure if anyone likes debugging typical enterprise code. :)

zippergz 1 day ago 3 replies      
I found something that didn't feel like work, turned it into my career, and then realized that when there are real business outcomes riding on it, suddenly it feels like work. To the point that I now don't even like doing it as a hobby.
meigwilym 15 minutes ago 0 replies      
OT: siarad Cymraeg Paul?
spike021 1 day ago 0 replies      
I've noticed somewhat similar issues with my peers in school studying to become programmers. They don't enjoy the long hours of debugging or coding. They seem to have come into the CS program expecting it to be a lot easier and less boring.

For me, I can get frustrated when I'm coding and can't figure out a bug right away. But on the other hand there's nothing I enjoy more than spending N time trying to understand what's going on, solving the problem, and feeling a spurt of elation at succeeding at my task. I'm not sure how people who don't see it the same way could handle that kind of work.

With that said, I do think there are areas where even if you don't initially enjoy the activity, you can come to appreciate it and eventually enjoy it.

rabbyte 1 day ago 9 replies      
Is it common for programmers to dislike debugging? I'm stunned. I never considered the possibility, it's always been something I enjoyed. I don't believe it impacts you either way in terms of capability but I imagine it impacts your desire to continue.
blahedo 1 day ago 4 replies      
I am surprised at how casually he dropped this in there:

"When I was in college I used to write papers for my friends. It was quite interesting to write a paper for a class I wasn't taking. Plus they were always so relieved."

Yikes. Really?

erikig 1 day ago 2 replies      
Reading HN never seems like work. I feel like I could do it all day.
Htsthbjig 1 day ago 2 replies      
The question is : Is that hardwired or is programmable?

I discovered early in my life that by changing the perspective of a problem you could transform something dull and tedious into something exciting and highly interesting.

For example , when I learned to visualize mathematical problems I become much better at solving them.

Mindmaps, and memory tools can make someone who struggle(and suffers as for example when he does not pass an exam) in something to fly around it.

I had a history teacher that went to wars in his youth as a news reporter, learned languages and traveled the world, studied history by correspondence(from a distance University), went back and settled with a young lady as a teacher.

History for us (the class he teached) changed forever. It was not about words on paper, but about real people, real places, interest and fights, and winners and losses, consequences. We saw photographs of the victims of the wars, some of them taked by him,the stories on how politics and decisions affected their lives and their families', other pics taken by his friends.

After that course, even with completely different teachers History was so easy to study, to remember.

About debugging. I believe the best programmer is the one who hates so much debugging that is able to work terribly hard in automating it and not have to debug EVER again.

People who loves debugging is a problem for me. I want things so well documented and well designed that debugging becomes almost non necessary.

The fact that people believe it is ok to have crappy documentation, crappy design, and spend months trying to catch problems(because they enjoy it) is a misfortune.

im3w1l 1 day ago 0 replies      
I love reading (and finding flaws in) proofs. Solving math problems is ok I guess but feels like work. The moment of insight is nice, but staring at the wall with a blank mind, mumbling "come forth, ideas" not so much.

Oh, and trading I love trading. All kinds of trading. I've spent many many nights trading items in various games. Oh, and programming a bitcoin arbitrage trading bot was super fun.

Hmm, it was good thinking these things over I guess.

dm8 1 day ago 1 reply      
How important is it to do something you love that helps you in live comfortable life?

For example, I always loved theatre and plays but I was told in young age that it's very hard to support comfortable life as a thespian (unless you are breakout success); so best not to take that as a career even though it may really work out for you.

CurtMonash 1 day ago 0 replies      
I've made a similar argument for a long time. About my fifth choice job coming out of academia was from an interview in which I was told that 90% of my job would be drudgery, but the same was true for everybody, even the CEO. So I decided that careers were not just about passions, but also about what you didn't hate.

I don't mind writing. I don't mind public speaking. I don't mind grappling with tough problems. I don't mind working alone. I don't mind being indoors.

I do mind physical labor. I do mind cold calling. I do mind having to worry a lot about people's feelings.

If you have different preferences from mine, then you probably should also be in a different line work.

yason 1 day ago 0 replies      
For me, programming is to build mechanisms. There's something similar there as in building mechanical constructs. That's the juicy bit for me.

Building mechanisms of course implies some core problem (i.e. how to model what you need to solve and how to compute the result) and interfacing (how to run that thing at all in a physical computing environment and how to talk to all the other), but those don't raise up as major appeals. One or both can even be trivial and I don't get bored yet.

The play of ideas and experience and using those to build something that works is highly enticing. So, the more I gain experience, the more rewarding programming has become, which in turn gives me more ideas that I try out or problems that I try to solve, which accumulates the experience, and so on.

The most boring part of programming is often interfacing. This means anything from negotiating with other people/teams to learning obscure one-off APIs just to get the juicy bits running.

The actual problem (think in terms of maths or CS) can sometimes be interesting but not necessarily per se. Rather, a tricky problem can serve as an excuse to build a very complex or advanced mechanism.

Debugging is just pure fun. It's like trying to find out that slightly loose part in the transmission of a car that sometimes makes the 2nd gear a bit difficult to engage. Debugging happens when the mechanism is mostly built but not yet completed. You can almost see it working, sans a few problems that you know are there. It's hard to imagine sources of greater motivation and mental satisfaction than debugging.

smoyer 22 hours ago 0 replies      

I built electronic parts for Westinghouse's Nuclear Reactor Simulators (near Monroeville PA) in the mid 1980's. There were a ton of intelligent people working there and since every reactor built had to have an identical training simulator, there was quite a bit of knowledge required to make the systems realistic. Sometimes simulating the required behavior of a nuclear reactor was more complex than what occurred in the real reactor (simulating the pulse shape and randomness of a Geiger counter or driving a synchroscope with hopped up audio amplifiers).

In any case, those guys provided a lot of on-the-job education for a young engineer ... thank your dad for me as I might not have interacted with him, but surely some other "youngster" did.

arbuge 1 day ago 0 replies      
One wrinkle to this is that it is quite possible to become passionate about something which is initially a grind, at which point the state described in the article of it not feeling like work would kick in. In fact there are several successful entrepreneurs out there (eg. Mark Cuban) who openly advocate passion following work rather than the other way round.

If you do know of something which doesn't feel like work to you, but does feel like work to everybody else, there's indeed probably something there. But if you don't, it may be possible to create such a something...

pw 1 day ago 1 reply      
I'm very glad to see that PG's departure from YC has led to a significant uptick in his essay output.
TrysterosEmp 1 day ago 1 reply      
Well this line of reasoning works beautifully for engineers, because solving the types of problems engineers love also HAPPENS to be extremely lucrative.

What if acting doesn't feel like work? Playing soccer? Hiking? It's extremely difficult to make money doing these things. "Follow your folly" career advice can work, or it can just make people feel terrible because they realize they're doing things they don't love because they can't make money doing the things they do love.

hasenj 12 hours ago 0 replies      
There are many activities that I enjoy doing as a hobby, but can't imagine doing them as a profession or for a living.

One of them for example: if I like a song in a foreign language I'm learning, I will look up the lyrics and try to translate it by carefully analyzing each sentence and using lots of dictionaries and Google searches (sometimes asking on Forums or asking native speakers in person). It takes anywhere from hours to days. It might seem to most people that this requires discipline and tenacity, but when I do it I just do it for fun.

I'm not so sure though that I would enjoy it the same way if I had to do that kind of work for a living.

jsprogrammer 1 day ago 0 replies      
>When I was in college I used to write papers for my friends. It was quite interesting to write a paper for a class I wasn't taking.

Sorry, did Paul just say that he helped people cheat in their college classes? Or did the professors know he was writing others' papers?

q845712 1 day ago 2 replies      
i enjoy chopping vegetables much more than most people, and i'm told i'm quite good at e.g. making sauerkraut - an activity i truly enjoy. but i get paid a lot more to write software, which is also reasonably fun.

to be honest i think i only enjoy writing software about as much as the next person! can we be honest that it's an absurdly good job currently?


emptytheory 1 day ago 0 replies      
I had a lot of experience programming in high school. When I practiced on my own, it never seemed like work because it was fun and I had experience telling me that I could accomplish something meaningful. Something made me feel confident in my ability to produce and discover.

When I was an undergraduate, a lot of my peers who didn't have a similar CS background struggled. I experienced this myself when I transferred into the mathematics program. I never had a serious engagement with mathematics until I was in university.

I think reaching the stage where an activity becomes natural requires a serious personal engagement. That is, you have understand the questions which guide the activity (your interests have to align) and you have to have the freedom to ask and answer your own questions (being able to solve your own problems). The activity has to become personal in some sense.

heurist 1 day ago 0 replies      
I like figuring out what other people are thinking. They'll give me a bunch of requirements and I can look at them and their situation and crunch the requirements down into a tight, beautiful solution that addresses the needs they didn't know they had.

I also really enjoy the process of understanding things in general - figuring out the important/disparate parts, determining how they link together, exploring connections, etc. Once I understand something all of the possibilities hidden in that topic are open to me and my creativity.

But I'm terrible at taking time to create things. Once I have the solution it is very difficult to find the drive to actually continue and build on it. It's always a slog, as if I were a kid being forced to eat vegetables. I think I'm slowly improving, though.

stuff4ben 1 day ago 0 replies      
I'm a little late to the conversation, but I need to say this just for myself. But yeah I totally get this. As a rising fifth grader in the mid-80's, "somehow" I heard of or got invited to some summer school computer class. Basically for 4 weeks I went back to school and learned about computers on an Apple IIe. We played some lemonadestand game and even wrote BASIC on some Trash80's. That was my watershed moment. Ever since then I knew I was going to be a programmer. I remember as a senior in high school, the only computer class they had was on BASIC programming. Since I had literally been doing it for 7 years, I aced it. The teacher would hand out exams (yes on paper) and I would be done before she finished handing them out to the rest of the class. I hated that I was out in the sticks in highschool though. If only I had someone I could have been mentored from, there's no telling where I'd be now. But hey, I still enjoy programming (debugging MY code, creating code, etc). I'm attending way too many meetings now and I rarely open my IDE at work. But the thrill of creation and making the computer do what I tell it to do is pretty awesome after 30+ years. I need a side project...
fisheuler 8 hours ago 0 replies      
I just misunderstand the meaning of the word "work".I intepreted it as a verb meaning dosn't operate normally. After reread other people's comment. I realized it's meaning : similar to the job.
duderific 1 day ago 2 replies      
Funny he used the example of popping zits as something that most people don't enjoy. I rather enjoy popping a nice juicy zit on the occasion that I get one - it's quite cathartic. I wonder if I can make a career of it.
davros 1 day ago 0 replies      
If you do something and get that 'doesn't seem like work' feeling - great! Like all the best heuristics it seems obvious once you say it clearly. My question, though, is about the case where something does feel like work - does this imply you should not pursue it? Or are there cases where sticking with it and over time you find the vocation? For example I hated people management at first, but its a huge component of the 'doesn't seem like work' vocation I'm following now. Are there signals to look for that would indicate there is the prospect for this transition?
mkagenius 1 day ago 0 replies      
It can be about the crave to be "different".People want to do things that make them _different_ than others.

People hate programming when they do it with 1000 other colleagues. The same programming is rewarding when they do it alone - since, that lets them do things that no one in the world is doing.

That may be true for startups in general. Doing startups seem cool since only a handful (<10%) of total population is doing it. If everyone starts doing it, it may not be as cool.

dkrich 1 day ago 1 reply      
I think a lot of what makes something that seems like it is work to one person actually enjoyable to another is purely environmental.

For example- I knew from an early age that I liked tinkering around on computers. However when I got to college, I found programming monotonous and boring. When I worked as a software engineer for a large boring company I hated it even more. To the point that I actually quit and switched careers.

Then, a few years later I discovered Ruby on Rails and development on a new Mac. These seemingly small changes to a new environment rekindled my love of computers to a point that I spent nearly every weekend for three years teaching myself Rails. I remember one weekend I flew to a bachelor party in New Orleans and all the way there I read a book on Rails. It wasn't work anymore, but a hobby that I truly loved.

This is not to say that everyone is cut out to be or will enjoy being a programmer with just the right tools. However I think a lot of people take a first glance at something and give up on it without having a comprehensive understanding of the reality of doing the work in an ideal environment. To this day it annoys the hell out of me when non-technical friends ask me questions about coding as if it is some awful task that has to be done- "Why would you ever want to do that?" These people never actually have tried it so they don't know what is actually involved or whether they might actually enjoy it.

teekert 1 day ago 0 replies      
I like playing with Linux and sometimes other OSs. I regularly set up servers, at home or on digital ocean. For fun I recently wrote a Dockerfile that would setup a Drupal install, it worked well on CoreOS. Doing this felt like relaxing, meditating. I like that feeling of having a fresh, secure system running smoothly. I can get pretty distracted and annoying if my systems are not running smoothly (when I was younger I'd skip a night getting Beryl to work on Gentoo with the beta Nvidia driver but those times are over now).

Recently I thought, I have to do something with this and I started a Drupal system for searching locally cultured vegetables for sale. It was fun in the beginning but my wife is a designer and pretty soon I was editing CSS all the time and I completely lost interest. It felt like work. I left it in an ugly, unusable state.

Still, I keep setting up servers with the occasional blog with some articles if my attention span allows it. Who knows what I might do with it some time. I have this vague vision of setting up a web services company with CMSs for sportsclubs but that will come with paper work and I know I will regret it. I have a nice job as a biophysicist by the way and I get to play with large Linux clusters from time to time and I try to take those chances as much as possible.

Some things just start feeling like work as soon as they become work, as soon as there are any milestones to catch or things to finish. To me things feel like work if I can't just quite half way into a "project".

gregfjohnson 20 hours ago 0 replies      
I am 60 and still cannot believe that people will actually pay you to play with computers and robots all day long! The robots I play with know how to breathe air, which involves a lot of interesting fluid dynamics in addition to all of the other interesting things that go into building and playing with robots. (The technical term for these robots is "intensive care unit ventilator".) I love and am probably addicted to programming. RE debugging: while the rush of relief and victory is satisfying when a problem is found and fixed, I find these days that it is more fun to do technical things differently. Consider a Venn diagram with two overlapping circles to describe a given technical problem. Circle A is "have something working happily, but may be overly simplistic." Circle B is "covers the real problem domain adequately, but may be buggy." The intersection is where you want to be. The question is, from which direction do you approach the intersection? I used to start from Circle B and debug to the intersection. Now, I start from Circle A and stay happy/working, expanding that state until it gets to the intersection. Especially in pair programming I find this to be the best way to go. If two pairing partners are "lost in the woods" trying to debug a problem, they can start stepping on each others' toes and get really unhappy. On the other hand, if they are collaboratively growing an ever-expanding "working/happy" program, things usually go an awful lot better. Related topic: I've come to realize that I am good at "really easy" mathematics, and bad at "really hard" mathematics. So, in struggling with a math problem or new area, my instinct is to massage and massage until the problem magically transforms from "really hard" to "really easy". Just last week I had that huge sweet "AHA" rush. In lambda calculus, there is a cute trick called Church numerals that allows you to encode the non-negative integers as functions. The functions to add, multiply, exponentiate, etc. are all easy, but the function to take the predecessor of a Church numeral is really tricky. I knew the predecessor formula and could mechanically apply it, but did not have any clear insight at all as to how or why it worked. Finally, KAPOW! Came up with a beautifully straightforward, satisfying, and intuitive way to derive the predecessor function of Church numerals.
sktrdie 22 hours ago 0 replies      
I used to think this of software development. The problem is that when I started doing it "because I had to" instead of "because I wanted to" it took all the fun out of it.
kabdib 1 day ago 0 replies      
The only time that programming seems like work are when I'm under an artificial deadline, or when I have to use something that is just irretrievably fucked-up (like this morning, an issue with SOAP and WSDL, which I loathe).

Even the artificial deadlines can be fun, though there is a definite cost to working an 80 hour week.

Most days are like playing, really. Sometimes you have to come into work and push a pencil, but hopefully those are rare.

genericone 1 day ago 0 replies      
Dell's origin story follows this idea. Many consumers don't enjoy building their own computer, Dell enjoyed building your computer for you at a fair price.
smaccoun 1 day ago 0 replies      
Very refreshing to see this on HN. Often I feel bewildered and sometimes even somewhat infuriated when I read about people demanding a new work week of X days/hours. For me, as long as I'm programming - which is almost all the time at my job - it never feels like I'm working. I often have to set timers to cap myself for working on a programming problem for too long, else I'll never go to the bathroom! So work is something I love to do and a huge part of my life that I often don't want to cut out.

Further, working with others who are passionate about what they do produces one of the most wonderful pleasures in life, as it blends deep community/social bonds while plugging into life!

giis 1 day ago 1 reply      
>The stranger your tastes seem to other people, the stronger evidence they probably are of what you should do.

Completely agree. I came across similar thing 5 or 6 years back. When one-of my co-worker called me to debug/show a problem with his website-download module to export data as spreadsheet. The data came as some junk characters,even though site-page shows proper data and db-records are fine too.

I clearly remember the following conversion.When I tried, I also got spreadsheet with unreadable chars, and I said, "nice,that's interesting!!" and my co-worker laughed and responded "what? is this interesting???"

paulvs 1 day ago 0 replies      
I spent the first 12 years of my life living onboard a boat with my family, and then on and off throughout my teenage years. My father wanted to give us kids an environment conducive to learning, so I grew up surrounded by his Shaums Outlines, IC pinout reference manuals (thankfully the Internet age has replaced those), dos and qbasic books, etc. and lots of old computers running windows and dos.While I don't think he ever excelled at these subjects, they were his hobby and he was always trying to get us interested in them, too. I remember after some of us kids displayed an interest in tearing out the cardboard subscription forms from his vast collection of Scientific American, he actively encouraged us to do so in the hope that the articles would catch our eye and we might also develop an interest in science at a young age.My siblings and I were rushed through the high school curriculum in a home schooled environment and at around the age of 13 started taking some long distance first-year math courses from universities (Monash University, Australia). I, being the youngest, waded heavily through after my siblings, but never was particularly interested. The temptation to move to a normal home, go to a normal school and have friends was growing, so at the age of 13 I enrolled in ninth-grade at a public school. In the whole time I was at school I never had an interest in maths or science and the library was definitely a no-go zone for me (trying to fit in was a full time job).I applied for uni with a score of 16 out of 25 (1 best and 25 worst). I scraped into environmental engineering with a vague idea of changing to electronics or it (which my score hadn't let me directly into, but it was possible to change engineering majors once in). Uni seemed boring until about 3rd year of electronics and computer engineering.Ever since then I have begun developing a steadily growing interest in programming, science and maths, although I'm not good at the latter two. I'm now two years out of uni, working as an iOS developer. I hope that as my interest grows my learning keeps up. I think my father gave me the spark, but now it's up to me to keep nurturing the interest to get its full enjoyment.
ribs 1 day ago 0 replies      
Paul talks about this subject like it's a breaking of the code or something, but it's just economics. If there's a commodity you can get for cheaper than other people, you stand to gain. In this case the commodity is pleasure, which you can buy for negative money.
lokeshk 1 day ago 1 reply      
That's a fair advice, but I wonder what if we start working on something that at first does not seem like work, but later we realize was merely a hobby? For instance, I enjoy cooking. I love figuring out the recipes of intricate Indian curries, and then I will cook them. I enjoy eating curries even more! :D However, if I was to translate that to a full time job, I would probably hate it. I love my job as a programmer, and cooking just does not have the same breadth of intellectual stimulation, or excitement in it for me.

How do you separate hobby from a potential work/job?

karlb 1 day ago 0 replies      
Jerry Seinfeld says[1]: Your blessing in life is when you find the torture youre comfortable with. Jerry describes writing comedy as The torture I love.

[1] https://www.youtube.com/watch?v=c2GW2JS_A4g&t=32m20s

drawkbox 1 day ago 0 replies      
I enjoy:

Creating useful things, or something that is fun to do.

Making something come to life, a product, a character, a moment, that people use or enjoy experiencing.

It could be in programming, art, a system, a product, something digital, something physical, anything useful that removes part of the monotony of life, reduces drag, and improves the thrust of life.

To me a comic strip, a rocket ship, a new game, a system that takes away boring tedious parts of life, quality of life improvements, and anything helpful to make the day more of an adventure, are all on the same plane.

tegeek 1 day ago 2 replies      
I grew up in a remote rural area of a third world country. My mother & father taught me to read. And I developed interest in reading books at the age of 6 or 7.

When I was 9 or 10 years old, someone (may be my cousin or my fathers' uncle) gave me a book on simple electronics (it was in my native language). That was the first time I read about P-Type & N-Type materials and some other physics. It was so fascinated to me that I used to read it all the time to understand. The book also included about very simple digital logic design and concepts like NAND Gate etc.

I didn't understood at all what it is all about. But It developed my interest in Physics and Electronics.

By the age of 13 or 14 I learned myself about soldering, creating very simple chips and some LEDs on-off work. I never learned any math or could develop any mental model about true electronics but all that work created an infinite desire to know about the nature of "materials" & physics behind everything.

My parents put me in school which was 12 KM from my village, I used to bike every day 24 KM two way with some other friends no matter if it was summer with 43 degrees or winter with -2 degrees. And I was just 9 years old young kid. I started skipping school and start searching more books like that great Electronics books. I bought many but couldn't understand the foundations at all.

That same book had chapters how you can create a sequence of LEDs which keep going on & off one after other and make some interesting visual. I opened every electronic device at home and tried to understand its chips but couldn't get at all what is going on.

None of my friends studies beyond class 8 but I kept going. I started studying physics at the age of 15 at school but it was all so bookish and memorisation that I never liked school at all.

But I studied Physics, Biology & Chemistry myself and enjoyed every single moment of that time. That was the only time I studied Sciences and developed an intuition about the scientific world.

My parents took loan and sent me to a bigger city for my Bachelors degree. But the education was so artificial that I couldn't learn anything more at all. Every single book was in English (which is not my native or national language) I feel so empty & everything useless. At the same time my parents were sending me more money than they could afford.

I went into depression & at some point in my Bachelors' degree I found out about Internet & "Software". I started learning about Web Site development. I learned HTML, Adobe Dreamweaver & Fireworks. Then I learned a bit of C++ & C#. (I remember I started learning about C# in April 2002).

I got a job as a programmer in an off-shore office of a USA company. I then saved some money and escaped from that country and came to Sweden because of free education.

I studied Computer Science & developed an intense love with Mathematics (even though I'm not good in maths) & Programming Languages. Now I'm working as a Software Engineer but I have deep love with Electronics & Physics. And that all goes back to the days when I was reading that simple electronics book.

DenisM 1 day ago 0 replies      
>But you may have to like debugging to like programming, considering the degree to which programming consists of it.

Odd. I barely do any debugging at all. If it compiles, it's usually right, and when it's not, I just kick back and think. Thinking takes a lot more of my time than writing or debugging. Perhaps that's because I work largely by myself on those components - there is no one else's intent to grasp.

amelius 1 day ago 0 replies      
The problem with programming is: in the beginning it seems like fun; but then the system gets bigger, and suddenly it seems like work...
dluan 1 day ago 0 replies      
I wonder if it's possible to do things that others don't like, but doesn't pay - that then ends up becoming something that does pay. I wonder why PG didn't charge his friends for writing papers.

Not sure where this is going, but imagine something like the first public musician. Or the first ever commissioned artist. It must've been valuable, because someone funded them to make it happen.

nnd 1 day ago 0 replies      
Finding to do what you love is easy. I mean anyone can do that by iterating through different activities to find "what doesn't feel like work".

Getting paid for it is difficult. Arguably one has to become extremely good at a particular skill which is in demand and be able to promote himself.

stickhandle 1 day ago 0 replies      
Lesson learned from having 3 kids in hockey: Until you reach a level of "good enough" to participate in "the game", its not much fun. Once there, the better you get, the more fun it becomes and turns into a virtuous circle of try_harder->get_better->more_fun->try_harder->get_better ...
callesgg 1 day ago 0 replies      
I have always had the image that debugging is like this thing that one has to do when one has fucked up.

But thinking of it after reading the last part of the article i realized that i actually find that debugging is quite fun, i have never really thought of it until now.

flipside 1 day ago 1 reply      
Edge cases, I love exploring edge cases and even better, the intersection of edge cases (corner cases?). The more edge cases there are, the more interesting something is and sometimes they lead to discovering entire new spaces. I consider myself lucky to have stumbled into an opportunity with my startup that I find endlessly fascinating.
dogweather 1 day ago 0 replies      
I'm like this, and other successful programmers I know are like this. But I wonder how applicable this is to people in other industries. Does everyone have something they like to do for which the market will reward them?
rjammala 1 day ago 0 replies      
This reminded me of the time when I solved most of the problems in this book just for the fun of it:


noonespecial 1 day ago 0 replies      
This is also why it's difficult for some of us around here to charge customers what our work is worth. It doesn't seem like work to us at all. It feels just like reading comics and playing WoW. It's hard to feel like we should be paid for such things.
alexholehouse 1 day ago 0 replies      
Sadly, I think this is perhaps the only (?) reason to stay in academia any more (albeit a very good one).
capex 1 day ago 3 replies      
Does entrepreneurship feel like work to anyone?
elwell 1 day ago 0 replies      
I enjoyed the short length and poetry of this 'essay'; kind of different from PG.
lisper 1 day ago 0 replies      
Ron's second law: the hardest part of getting what you want is figuring out what it is.
known 1 day ago 0 replies      
You are a product of your environment.
BrainInAJar 1 day ago 1 reply      
What if you don't have anything like this?
thisjustin2015 1 day ago 1 reply      
This just in: do what you love
timetraveller 1 day ago 1 reply      
What the hell Paul? Why you're using image for the title. I can send it to my Kindle.
CmonDev 1 day ago 0 replies      
Being a VC.
dreamdu5t 1 day ago 1 reply      
You can get paid to do that kind of math. But what about stuff that doesn't pay? The things that don't seem like work to me aren't profitable or even monetizable. And please don't tell me something to the effect of "I'm not trying hard enough".
nnq 1 day ago 0 replies      
So if I absolutely hate debugging, it means I'm not meant to be a programmer after all (even if I otherwise love everything about programming)?!

I hate debugging (and more generally "diagnostic reasoning" in general... also went through med school long time ago), that I've actually become a "language geek", researching language after language and programming pattern after pattern in order to find strategies to reduce as much as possible the debugging work that I have to do. I've learned Lisp. I've started learning Haskell. Rust is on my "to learn" list now too. And my absolute hate for debugging work makes me research new things every day in the search for that nirvana where code that compiles always works and where you don't have to work 5x as hard to please the compiler either...

Robert Morris: All About Programming
162 points by avsaro  20 hours ago   42 comments top 8
allendoerfer 16 hours ago 3 replies      
> My father tried to interest me in programming somewhat before high school; it didn't work, and I didn't continue then.

I suspect, that it almost never works that way. Learning programming or hacking as a child is all about figuring it out on your own, doing something, what your parents or your teachers can not understand, defining your own identity.

That is why I doubt that all the programs in the US, which try to teach children programming, will work. They might teach some concepts, but in the end i fear, that they will hinder the children to aspire a career in the field. I see a bad parallel to beauty contests, were parents try to live their dreams through their children.

Of course it is never black and white, but I think you have to be ultra careful with stuff like this. I think naturally interesting, open platforms are a better way to get children to dig deeper. Minecraft is a perfect example.

bcd21 19 hours ago 3 replies      
"Not wanting to look like a loser to the people I most admired, I was pretty late in admitting the obvious about math."

Don't understand this part, what's the obvious thing about math he was late in admitting?Were the Bell labs people right in his opinion or not?

tim333 19 hours ago 1 reply      
Took me a couple of minutes to figure who Robert Morris was so to save others the effort:


galori 10 hours ago 0 replies      
Can someone translate?

Might be some good wisdom in there but that is the most convoluted, badly written several paragraphs I've seen in a while. Maybe they're taken out of context or something or assume some knowledge that is missing?

jarcane 18 hours ago 2 replies      
I stayed away from pursuing programming as a vocation for almost 15 years.

I intuitively knew as a child that there were parts of programming and using computers which "weren't work" for me, but also very much ones that were, and I foresaw the probability that I might cease to enjoy the "not work" parts after being ground down by too much work.

As I come back to it now, I still think that. Increasingly I think it really, genuinely, depends on the style and language of programming you take up, and what you do with it. When I code in something like Lisp or Haskell, it doesn't feel like "work," it feels like problem solving. I tend to focus on CS topics as well; I built a VM, and a couple of programming languages, because they too were fun to think about, not work.

For me, I have progressively gravitated to more and more expressive languages, while moving away from more imperative ones which descend into repetitive "design patterns". I burned out quickly on the world of web programming, which inherently seems to require a whole lot of tedious yak shaving if you're flying solo.

Of course, the flipside which anyone bothering to read this may already be hastening to chastise me with is that none of this is likely to necessarily lead to actual employment.

Someone has to do the "work." And the amount of "work" to be done is a lot greater than there are people who don't find it work, which is why there will always be a lot more demand for that. In part I suspect this is because some kinds of "work" are self-replicating (Java programming begets the need for more Java programmers ...), but I nonetheless find myself fearing that my chosen "not work" is merely a fool's fantasy; and I occasionally have guilt complexes about "why am I not just learning JavaScript so I can at least get a gruntwork job at Rovio or somewhere" ...

GuiA 18 hours ago 3 replies      
> The idea that one should ask questions about one's own life (e.g. your "What seems like work...?") and act on the answers was completely alien to me in those days, and I doubt I could have absorbed any wisdom in this department.

That resonates deeply with me. Until my early 20s, I was terrible at absorbing any form of wisdom from anyone. I just went ahead forward into whatever interested me, with no regard for what anyone would have to say about it. I was fortunate enough to be born with a brain that worked fairly well and allowed me to get away with this behavior for the longest time.

It is for this reason that I consider my time in grad school as mostly a failure - I joined at 19 as a PhD student and left 2 years later with a Master's degree, leaving the PhD for startups, and in those 2 years I didn't achieve anything that I'd consider interesting work (completely by my own fault). Even worse, my immaturity resulted in me making very little of the absolutely brilliant advisor I had (the perfect combo: a researcher whose early work pioneered a new field and gave him enormous peer recognition, but who was still early enough in his career that he had plenty of time to devote to his students), who had high hopes for me that ended up completely unfulfilled.

It was only after a few years of working in the real world with some very smart (and some very dumb) people, getting yelled at, seeing friends get fired (I never got fired myself although I came close a few times), and a few other similar experiences that I realized that indeed my life would be much improved if I stopped and recognized that some people do have words of wisdom that hold value for me. Psychedelics and traveling the world+meeting people who had it way worse than me yet achieved way more with what they had also contributed significantly to my maturing - the rewards of it being that I now am starting to enjoy an amount of success, clarity, and reward in my work that would have been unconceivable 6 years ago (although it still feels like most of the road is ahead, as it should).

For those reasons, it feels like advice such as the one given by PG is lost: the people who need it most won't really get the importance of what he means, and the people who will get it can do so because they've already internalized it.

All that being said, I look forward to 5 years from now, when I will say things about my mid-20s similar to what I just said about my early 20s :)

quaunaut 17 hours ago 1 reply      
This is one of those places where I've been really conflicted for as long as I've been back with programming.

Right now, I'm going with the path that not only makes more money(and thusly induces less stress), but also has a higher probability of making people's lives better, through the kinds of things I want to put my time and effort into being focused around enabling people to create their own jobs.

Yet I know extremely well what I want to do, what makes me happy. It will make some others happy, but a significantly smaller number. It certainly won't change lives for the better. But doing it would make it so the things I think about in the margins of my mind, all day and night, for as long as I can remember, are what I spend my life working on.

In essence: I can't tell if it's a better idea to do what makes me happy, or what makes others' lives better.

aditya 19 hours ago 0 replies      
typo: absorbtion should be absorption
Why Perl Didn't Win
153 points by aiurtourist  14 hours ago   119 comments top 21
beat 10 hours ago 9 replies      
You know what rocked? Perl 4.

I started on Perl 4 in the mid-1990s. It was fantastic! I started replacing thousand-line C programs with hundred-line Perl programs that were more robust and worked better, and replacing shell scripts made of awkward sed/awk pipelines with neat, tight Perl. Arrays and hashes as first class data structures? Marvelous!

Then Perl 5 ruined it all. The ridiculous, bloated "object oriented" syntax rendered it basically unreadable, without adding much useful functionality. The layers of syntax options forced teamwork-driven Perl (I wrote about 10k lines of it) to pay close attention to coding standards, closer than more consistent languages, just to not step on each other or have fights.

Then along came Python and Ruby, which shared most of the benefits of Perl (scripting, mostly), but added very clean, elegant OO syntax. Everyone who actually cared about writing decent OO scripts switched. Plus Python had much better math libs, and Ruby soon had Rails.

And Perl 6? Fourteen years and nothing to show for it, and it'll have to be backwards compatible to all the things violently wrong with Perl 5. There's no use case that isn't already covered by Python and Ruby. Unless some new technology comes along and Perl jumps in firstest with mostest (like Ruby did with Rails), no one will really care.

The average age of Perl programmers has been increasing by about one year per year since 2002 or so. I don't see that changing anytime soon.

sulam 11 hours ago 3 replies      
Speaking as someone who lived through this period during the formative years of my programming career, the author has completely missed the most influential language of the time and, in my mind at least, the number reason why Perl lost.

Yes, I'm talking about Java. It's easy to hate now, but Java back then replaced all the server-side Perl programming that I did in the space of about 3 years, from 1994 where CGI programming was king to 1995 and the applets craze to 1999 when I was still regularly having conversations with people about the benefits of Java vs Perl to 2001 when you were actively hurting your career by not learning Java (not least because it seemed like the only people hiring were doing enterprise Java with horrible things like EJB and CMP/BMP).

Why did Java beat Perl? Well, there's a lot to that -- but at least part of it has to do with that fact that Java was simpler and didn't have nearly as many tricks up its sleeves (also known as the write-only problem). This is similar to the argument people today make when picking Go over other options like Scala. I also don't think it hurt that Java came out of Sun, which on the one hand was extremely influential because they sold the hardware everyone with money used, but on the other wasn't influential at all because they were "big iron" to the web's "why would I buy a Sparcstation when I can just put a PC under my desk?"

Fundamentally, though, Java was very successful at becoming the language you wrote code in if you wanted to be taken seriously as a software engineer building web applications and you didn't already have 5+ years of C++ experience. Perl programmers didn't get the same respect, and so Perl died.

tudorconstantin 16 minutes ago 0 replies      
[probably shameless plug] I first intended to write this as an answer, but I ended up with a complete blog post:


jrochkind1 1 hour ago 0 replies      
The "Maintenance and greenfield concerns are very different" section is relevant to my interests:

> The implications for a programming language are difficult to prove conclusively, but simple to explain: an ecosystem focused more on maintaining existing projects than creating new projects will be less attractive for new projects.

Ruby/Rails provides an interesting example here. The ruby and rails community ecosystem (the author is right it's about "ecosystem" more than the language) -- has, in general, done it's best to focus as much as possible on innovation over stability. That is, has tried to choose focus on creating new projects over support for existing projects.

Much to the frustration of some in the ruby ecosystem with existing projects to support.

(Rails, of course, from one perspective is an existing project; from another is a framework, which has generally over it's history cared more about new projects that will be created with Rails than existing projects built on Rails that need to be supported).

Of course, there still are existing projects, and there are still developers participating in the ecosystem who need to support those existing projects. So you can only go so far.

What has this done for ruby/rails ecosystem? Hard to say. Overall it's been successful, but it still can't make the ecosystem as greenfield as a true greenfield ecosystem, which is perhaps why some are leaving ruby/rails for greener pastures -- more than any qualities of ruby as a language, it's just the opportunity to be in a greenfield ecosystem that is attractive, perhaps.

pjungwir 10 hours ago 1 reply      
I'm curious if anyone really expected Perl 6 to arrive like the article describes ("The problem wasn't apparent in 2000."). I was just a junior programmer, and I loved 5.6, but from the beginning 6 sounded to me like it would be a wholly different language, probably never delivered, and certainly never adopted. Maybe I'm projecting, but I felt that was a broad sentiment back then. By 2001 I was writing Python half time or more, and even though I felt a great fondness for Perl while Python left me cold, it still felt like it delivered everything Perl 6 aspired to (if you could stand the lack of regex literals, grr.....). Once Ruby became popular we got all the good things of Perl without the aridity of Python, so there was even less reason to care. In the late '00s I took a few years off programming to do a degree in Classics, and I kept telling myself half-jokingly that if Perl 6 shipped I'd know I'd been away too long. When Parrot was released I figured I'd better get back in the game.

That's not to say Perl 6 wasn't needed. Among programming languages Perl was probably my first love, especially the linguistics tie-ins with $ @ % etc, but write-only was a real problem, and people were moving to Python on the one hand and Java on the other. Maybe PHP killed Perl for low-end cheap hosting, but for larger projects, among people who would never have considered PHP, it lost because picking it seemed irresponsible.

McGlockenshire 12 hours ago 4 replies      
This article is pretty much spot on. I lived through this era and experienced the downfall of perl web applications first hand.

My employer produced an amazingly popular perl-based web application, using flat files for data storage because so few shared hosts had DBI and DBD::mysql installed. It's some gloriously horrible code. They did a ground-up rewrite and then hired me to maintain it, right as PHP was becoming popular.

They refused to do a PHP version until it was too late. Someone else translated our code into PHP, then rewrote it a few times before releasing it. Over just a year or two, our marketshare plummeted, and now the UBB is a distant memory. We couldn't deliver a competing product.

Even if perl hadn't lost the deployability battle, the perl 6 fiasco was what let python and company eat away at the mindshare that wasn't concerned with just web applications.

inDigiNeous 7 hours ago 0 replies      
Oh man, I remember hating to program Perl. With Perl, there wasn't just one way to do things, but there were 10, and all of those involved different combinations of @{} $[] [#] '%' characters put in seemingly random order and changing completely the context on which they operated, with the logic only clear to those who somehow understood the connection between these symbols and their meaning.

Maybe it didn't win because the language syntax was just a mess, and same variables just in different contexts could mean like 3 different things depending on what way you pass them, what you you return them and what kind of random character is in front of them.

Don't take this personally, just ranting out my feelings for the Perl programming language, and glad that it isn't one of the things I have to know anymore! Good riddance!

etep 9 hours ago 1 reply      
Version number is micro, this is a macro question, to wit, the following:

When I converted a perl script to python and saved 50% LOC I didn't know which version of which I was using. Am only vaguely aware of the Python 2.x vs. 3 issues. Never was aware of Perl 5 vs. 6.

When Python and Ruby fade, I look forward to the hand wringing about how version whatever didn't get pushed out fast enough. But that won't be the reason.

p0nce 4 hours ago 1 reply      
When I was younger I pushed myself to know Perl 5. I tried to learn Perl with one book. It was surprinsingly hard. I took a simpler book. I also failed grasping Perl. Those were the two recommended books for learning.

I've come to realize years after that Perl is simply difficult to learn, lots of little things to memorize. Its community took pride in language arcana. Things that are now simple in other languages are unbelievably difficult in Perl, like "hashes of arrays of hashes" and things like that.

On top of that, it's also difficult to read. No wonder Perl is losing, and to me the faster the world is cleanup from that, the better.

sago 11 hours ago 1 reply      
Rewriting your language, like any other piece of software, is a great way to lose your market position: http://www.joelonsoftware.com/articles/fog0000000069.html
BuckRogers 12 hours ago 2 replies      
I'd disagree with the assessment of Python3 somehow being sunset in 2020. This 2020 End of Life stuff is a marketing tactic to sell it. There are companies with 500K line codebases of Python that won't be on Python3 in 2020, if ever. It's just not feasible when new features have to be shipped. Expect pain (not for the companies in question, for Python3), in the form of a fork. The book isn't closed on this one yet.

I can't help but think that we'll eventually be seeing "Why Python3 Didn't Win". Perl and Python both foolishly abdicated the throne.While shots are fired, I think Python3 could still recover with more compromises from its 'leadership'.

philwelch 12 hours ago 1 reply      
Perl 6 didn't win because the successors to Perl were Python and Ruby, not Perl 6. Agreed, Perl 6 is a sophisticated language, but Python and Ruby have mature VMs you can use today. For values of "today" ranging back in time upwards of ten years.
mrbig4545 4 hours ago 0 replies      
Define won.

This is the way I see it. Perl5 is still being actively developed, perl6 is coming along nicely, cpan more awesome than ever, and there's still work for a perl dev.

If everyone was using the same language, then we'd all suffer because no one would be getting the new ideas.

Competition keeps things healthy.

jimfuller2014 2 hours ago 1 reply      
Perl did win, for a period of time .. expecting an interpreted language to dominate for multiple decades is unrealistic, especially with hardware advances that occur over time.

while I don't do anything with it today, I do know Perl/6 would be in contention for my 'deserted island' language of choice.

yet another dph

Walkman 3 hours ago 0 replies      
nemo 11 hours ago 0 replies      
This was really good. The mix of PHP as a better solution for shared hosting (and its simplicity for beginners) and the horror story of Perl 6 were both big setbacks.

Allison Randal wrote on the death of Perl a while back and had some observations worth nothing to understand how it fell:http://allisonrandal.com/2013/03/31/mythbusters-why-i-still-...

I really liked working with Modern Perl, but rarely do anymore mostly since "nobody uses Perl" kills any suggestion even when it might be the right tool for the job. Ruby has become Perl 6 for me.

riobard 12 hours ago 5 replies      
Anyone feeling that Python 3 is gonna do the same to Python as Perl 6 did to Perl?
pyre 13 hours ago 0 replies      
It's no wonder there are issues with Perl 5 to 6 transition they went from:

> They're going to merge Perl 5.12 and Perl 6

in "mid-2001" to:

> There's a Perl 5.8 on the way

in 2002. ^_~

That said, I think that anyone doing serious Perl 5.x work has long since abandoned the idea that Perl 6 has anything to do with Perl 5.x other than sharing the "Perl" name and Larry Wall. Maybe this is confusing to "outsiders" and the branding needs to change? It's not like the Perl 5.x line is not being maintained. Since Perl 5.10, there were some significant improvements, with consistent point releases coming out.

lacker 10 hours ago 2 replies      
If there was no Ruby, I suspect Perl would still be popular. At one point the scripting language holy wars were "Perl vs Python". That turned into "Ruby vs Python". Similar philosophy, lots of better stuff in Ruby.
EdSharkey 9 hours ago 1 reply      
I think it is cool to think of one's self as the hero in the story of their life. You battle adversaries, have little victories, complete long story arcs, find a sweetheart and have romance.

I feel Perl does not deserve to be mentioned in a hero's tale. There's been too much rankling and nincompoopery out of perl's characters given the size of that community. Far, FAR too much griping. Perl is a bummer, and that is why it did not win.

My philosophy is: live the life of a champion - overcome and be a shining light for others. Your war stories should be mostly glorious victories, no matter how mundane the battles or battlefields were.

kijin 10 hours ago 2 replies      
I don't think Perl will ever recover from the Perl 6 fiasco, and I'm worried for Python for the same reason.

PHP, on the other hand, handled the PHP 6 "failure" relatively gracefully. There was a bit of stagnation in the days of PHP 5.2 when the devs devoted too much energy to PHP 6 and not enough on improving the current version. But soon, PHP 6 was put on hold and some of its better parts began to be ported to PHP 5. Thanks to this decision, PHP has improved by leaps and bounds since 5.3. Also thanks to the lessons learned, nobody is particularly worried about any breaking changes in PHP for the foreseeable future. Everyone knows that any script that works in PHP 5.6 will probably work just fine in 7.0, so new projects continue to be written in PHP. This peace of mind is very important for languages that carry a lot of legacy baggage.

If there's anything for other languages to learn from PHP, it would be their graceful handling of PHP 6 -> 5.3~5.6. The syntax is still terrible, and the default behavior remains borderline insane, but PHP since 2009 has been an exemplar of how a widely used scripting language should handle new versions.

Open Data Structures
193 points by xvirk  1 day ago   17 comments top 10
brudgers 58 minutes ago 0 replies      
Clifford Schaffer's Data Structures and Algorithm Analysis books are online and in their third edition. Hard copies are available from Dover. There's also a full blown open Algorithms and Data Structures curriculum in development.


muyueh 54 minutes ago 0 replies      
Open "Data Structure" instead of "Open Data" Structure.
olalonde 22 hours ago 1 reply      
"Pseudocode edition [...] Python sources". This made me laugh more than it should have. As a side note, I uploaded the Python examples to Github for easier navigation: https://github.com/olalonde/ods-python
araes 22 hours ago 3 replies      
If expanded enough, you could easily arrive at the Wikipedia of data structures. A place where, without the cludge of libraries, you could dive into a topic on data structures, apply search refinement until you find a structure that seems like the best match for what you want, and then implement.

Even better if at the top of code I could just put:

Language c++

Use OpenData (BarnesHutt BubbleSort SVD)

If only these people would tie in with the Computer Language Benchmarks Game so that you would have a feedback mechanism to improve All algorithms (not just the CBG subset) and a natural way to meta rate algorithm implementations vs one another as well as task groups (like "sorting") or languages as a whole.

Gankro 1 hour ago 0 replies      
Oh hey! This is primarily authored by one of my supervisors. It's my go-to source for reviewing basic analyses and implementation details.

Totally worth the read!

super_mario 19 hours ago 0 replies      
How come the PDFs don't have bookmars? It looks like \usepackage{hyperref} is in LaTeX source, but \hypersetup doesn't have bookmarks=true?
fantan 22 hours ago 1 reply      
Links didn't look like links so I was really confused with what I was looking at. Content looks interesting though!
samuell 22 hours ago 1 reply      
Wow, I have no use of paper books, but would easily donate a few $ as a thanks for the free e-book. No donate button?
bJGVygG7MQVF8c 9 hours ago 0 replies      
The bookmark links don't seem to be working for me either. An interesting project, though.
Animats 19 hours ago 0 replies      
It's like Volume I of Knuth, modernized and without as much theory.
       cached 18 January 2015 17:02:01 GMT