Original Diablo Pitch Document (1994) [pdf] - <AUTHOR> http://www.graybeardgames.com/download/diablo_pitch.pdf <comment><USER3> The excellence of Diablo lies in the atmosphere of the game. I think it is one of the best games in terms of the overall atmosphere and that general feel of play. All the pieces work perfectly together to deliver this unique sensation while playing the game.

Especially the music. Matt Ulemen has created a masterpiece soundtrack!

PS. It is very funny that reading this pitch document I haven't noticed any of that ephemeral things that build this unique atmosphere. Funny how such pitches are evaluated only on the sole raw description the gameplay and nothing else...

<comment><USER4> Heh, i still recall me and friends checking out the demo with a lan setup and running into the butcher boss room.

From the ouside you see a darkened room with some blobs that may be raw flesh inside. Open the door and you hear "ah, fresh meat" as a voiceover.

Right after that a big, bulky demon with a bloodstained apron and a meat cleaver walks into view.

<comment><USER5> There was supposed to be a cutscene [1] which played when you opened the door (similar to when you first encounter Lazarus), but it was apparently disabled. The video file was still left on the game disc.

[1] [https://www.youtube.com/watch?v=75KB3swIuqU](https://www.youtube.com/watch?v=75KB3swIuqU)

<comment><USER4> And having the cutscene there would perhaps not have been as effective, as it would have removed the player from the "world" if only for a split second.

</comment></comment></comment></comment><comment><USER6> At GDC last week there was a Diablo postmortem, which was the impetus for posting the design doc. The speaker (Blizzard North's co-founder) rhetorically asked the audience if they wanted to see the original doc.

Gamasutra has a good writeup of that session: [http://www.gamasutra.com/view/news/268507/20_years_later_Dav...](http://www.gamasutra.com/view/news/268507/20_years_later_David_Brevik_shares_the_story_of_making_Diablo.php)

Lots of interesting tidbits about the game's development and the company.

Oh, and there was a nice moment during the Q&A - a fan who pirated Diablo back in the day walked up to the stage and gave them some money.

<comment><USER7> I'm still surprised bands, authors etc don't have some sort of "honesty box" where people can make payments directly to them to thank them, compensate for piracy etc. Would cost nothing but benefit them if only a little in most cases. Perhaps their labels etc wouldn't like it if people routinely downloaded their stuff and paid them directly though.

<comment><USER6> I wonder if that could have unintended consequences. Would people feel better about pirating if such a thing existed?

It reminds me of the study in Freakonomics about day care centers and the problem of parents sometimes not picking up their kids on time. Which meant that employees would have to stay after closing. So they started charging parents a small fee for being late. The result was that parents were more late than ever, since it meant they no longer felt guilty. The fine removed the guilt associated with being late.

<comment><USER7> "Would people feel better about pirating if such a thing existed?"

You like an artist, you're honest and not poor. You can buy a cd for x, where some tiny percentage of x goes to the artists. Or you could download the cd and pay x to the artist.

<comment><USER8> Or you live somewhere where the distribution of that product is non existant and have no other option if you want to get your hands on the product.

</comment></comment></comment></comment></comment><comment><USER9> I think from this draft, its quite hard to imagine how successfull diablo would become. It looks solid, but no revolution. The real magic of diablo is artwork, in music and design, the stories and chars. still amazing in 2016!

<comment><USER10> And the music, wow. Never has a game had more fitting music than diablo. I still listen to it some days.

[https://www.youtube.com/watch?v=_tyEb- jO9hU](https://www.youtube.com/watch?v=_tyEb-jO9hU)

<comment><USER11> This is a fun story I like to tell about Diablo.

In Paris, 2008, there was the "Worldwide Invitational", a Blizzard convention much like BlizzCon but much smaller scale (About ~7k people in total went).

Many rumors were going around about the announcement of a new game. Even more rumors about "Diablo III", which had been said to be in the works for almost a decade. After the opening ceremony, Mike Morhaime gave his usual speech and started dropping hints, gave a long lead up to "Blizzard's newest game".

And without saying any name, a musician came on stage and started doing the Tristram riff. Everybody immediately understands what's going on. The lights go red. Everybody yelling and clapping - unbelievable excitement.

Cinematic starts. Chills. Still no name for that "new game". The cinematic starts cutting faster and faster, hinting more and more at Diablo until we see Diablo himself in a cut. And then... three fiery claws across the screen lead into the name: "Diablo III".

There's no way I can do that story justice, but this was one of the most incredible announcement Blizzard has done - and since WWI doesn't get as much coverage as BlizzCon, not many people got to hear about it. Here's two videos:

[https://www.youtube.com/watch?v=PQk_CT7fY9E](https://www.youtube.com/watch?v=PQk_CT7fY9E) (from the audience)

[https://www.youtube.com/watch?v=-ogXqCNkyHE](https://www.youtube.com/watch?v=-ogXqCNkyHE)

<comment><USER12> That sounds amazing.

Sadly I didn't find that D3 lived up to D2 and D1 atmosphere-wise. The ending of the first chapter put me off the game entirely -- I guess they were trying to shift the focus of the story to other characters for a new audience.

I can't put my finger on it, but somehow D3 felt less connected to D1 and D2 than D2 did to D1.

</comment></comment></comment></comment><comment><USER13> 1st page sounds like it's describing every/any rogue like. end goal/boss, random generated levels, lots of race / class combos, turn based gridded movement, increasing danger with depth, improving characters, magic treasures to improve player capabilities.

Maybe I only played DII+, but that doesn't sound like much like diablo that I remember. esp turn based?

<comment><USER14> Original Diablo was originally going to be turn based, but that design was scrapped later, replaced by the more action-oriented stuff. :)

<comment><USER15> Baldur's Gate got it right. Best game since the Ultima Series IMO (well along with Bard's Tale, Wizardry, etc).

</comment></comment></comment><comment><AUTHOR> The book Stay a While and Listen does a good job of explaining the background behind the pitch and subsequent changes that made Diablo what it is today: [http://www.amazon.com/Stay-Awhile-Listen-Blizzards-Video- Gam...](http://www.amazon.com/Stay-Awhile-Listen-Blizzards-Video-Game- ebook/dp/B00G8UL474)

</comment><comment><USER16> As a kid I loved the original Diablo game for how far they went into creating a dark, satanic atmosphere. The music still gives me chills! So I was worried this document would be over-corporate and spoil it.

But those illustrations look like they came straight from The Goetia!

</comment><comment><USER17> It is interesting that the original marketing plan pitched micro-expansions that look a lot like the DLC of today. The expansions seem to serve as a marketing tool and collectors item rather than a cash grab, but I do wonder why there was no followthrough.

<comment><USER18> Possibly because this posed the expansions as floppy disks costing $4.95 – by the time Diablo was released it was on CD, and presumably the art required for expansions was much larger than a CD, and CDs were not as cheap as a single floppy disk.

<comment><USER18> correction: much larger than a floppy :)

</comment></comment></comment><comment><USER19> It is cool to see this on the front page at #6 and a post about NetHack at #5 (EDIT: [https://news.ycombinator.com/item?id=11322591](https://news.ycombinator.com/item?id=11322591)).

Even though I sometimes wished for a deeper dungeon or perma-death like when I played Angband and ZAngband; but I do remember enjoying the atmosphere and story of Diablo and Diablo II and having a lot of fun playing multiplayer with friends. Even with more advanced games out, I remember getting together with some high school friends when home on a college break to setup a LAN and play Diablo II---five years old and still lots of fun!

</comment><comment><USER20> Interesting to see what they pitched vs what they delivered, a turn based RPG with a real life collector card game is not what Diablo turned out to be.

</comment><comment><USER21> So they pitched it as ~1 year from inception to delivery, anyone got any idea how close they were to that schedule?

<comment><USER22> The document says 1994 and diablo was released 31st of December 1996([https://en.wikipedia.org/wiki/Diablo_%28video_game%29](https://en.wikipedia.org/wiki/Diablo_%28video_game%29)). So it was very delayed. I guess that the game underwent some huge changes to justify this delay.

Some of the changes are described in this chapter of the book "Stay Awhile and Listen": [http://www.shacknews.com/article/76406/chapter-8-finale- cond...](http://www.shacknews.com/article/76406/chapter-8-finale-condor-and- blizzard-lock-horns-over-diablo). The part I found especially interesting was how they changed it from turn-based to ARPG:

> Our company was saying, "We're going to take on this developer, Condor, and > we're going to publish their game. It's called Diablo." And for a couple of > months we were working on it not knowing that it was turn-based. When it > came out that it was turn-based, we said, "No, that sucks."

> We actually took a vote. They said, "Raise your hand if you would buy this > game if it were turn-based." I think two people raised their hands. Then > they said, "Raise your hand if you would buy this game if it were real- > time." Everybody raised their hands. Allen went in and called Dave Brevik > and said, "Look, you've got to make this real-time."

<comment><USER23> Don't forget the addition of Multiplayer, and integration with Battle.net. Cheating was rampant in D1, in any case.

The pitch doc also talks about ever popular roguelike trope of perma-death, it's a heavy pill to swallow for a commercial game in 1994.

<comment><USER5> Gotta run that BobaFett trainer with the anti-PK mode!

</comment></comment></comment></comment><comment><USER24> Does anyone know more about the history of Condor and it's original team?

Wiki says Condor was bought by Blizzard nine months before Diablo launched. Then, after Diablo II the team split into two separate companies?

Also, I'm guessing this pitch document was to investors for initial funding. I'm curious to know how much they raised and who from. This doc looks like it came from experienced game devs.

<comment><USER11> Condor became "Blizzard North" after Blizzard acquired them. They were put in charge of the Diablo series, after Blizzard made a lot of adjustments to it (including the move from turn-based, which we see in this draft, to ARPG).

They were shut down after they failed to produce any progress on Diablo III for years (like I said in another post, Diablo III had been expected for almost a decade before its announcement).

Wiki: [https://en.wikipedia.org/wiki/Blizzard_North](https://en.wikipedia.org/wiki/Blizzard_North)

Longer documentary that goes into the history of Blizzard, and talks a bit about Blizzard North: [https://www.youtube.com/watch?v=AHz2ky- jng8](https://www.youtube.com/watch?v=AHz2ky-jng8)

<comment><USER15> Had to stop watching. The Adham guy was beyond annoying. We were the first in everything.

</comment></comment></comment><comment><USER25> Look at that waterfall Gantt chart! Marvel of management!

<comment><USER26> I wonder how well it was reflective of reality, i.e. did Music really take from month 2 until the end, and did the DRLG take only two months?

</comment></comment><comment><USER27> Where they're talking about the small, randomized packs of items... it almost sounds like they were intending a CCG in video game form originally?

</comment><comment><USER28> I love the 12 month development plan. I wonder how long it actually took them.

<comment><USER29> I was very interested to see that the team they pitched included only 11 people, including designers and illustrators. Only three programmers ('One chief programmer and two junior programmers').

Am I correct in thinking that a team this size would be considered closer to an indy game in 2016? I am not a game developer but this seems like a very stark comparison to the current landscape / size of software teams (not just limited to games).

<comment><USER30> No, an indie game is 1-3 people. Often 1 programmer, 1 artist, 1 musician.

<comment><USER31> It's more flexible than that. A lot of indies are just one guy, but you certainly see small studios of 6-12 people doing e.g. Kickstarters.

<comment><USER32> I work in a game studio, I still can't wrap my head around one guy doing it all.

<comment><USER28> My startup now has about 25 coders doing what 2-3 of us did for a few years. I'm still not sure what everyone does. We are actually moving quite a bit slower these days.

</comment></comment></comment></comment></comment></comment><comment><USER33> I think the "randomness" is Diablo games is what makes it really addictive. I remember playing Diablo 1 and I couldn't stop playing because I couldn't wait for the next item to drop.

Also, a low-end machine could run it!

Diablo II, still the same thing - it was basically a better Diablo I.

Diablo III on the other hand came out with an Auction House - which basically killed it. I played in the early parts of DIII, it was okay but not as fun as DI and DII. However, things are very different now. There have been lots of updates in Diablo III and Blizzard killed the Auction House - So can't say how it feels now. But I'm pretty sure the "randomness" is still there - <USER2> basically what drives the game.

<comment><USER34> Intermittent reinforcement is the basis for a lot of behavioural addiction. Random loot games are basically just pretty pokies.

</comment></comment><comment><USER35> "No two games will ever be the same."

Does anybody know how big the seed is for Diablo's RNG? I'm guessing it would have to be 1 value for the environment (to ensure saving/reloading into the same world) but would that 1 value determine all pseudo-randomness (AI aside) in the game (e.g. item drops and their stats).

<comment><USER36> The seed is a 32-bit signed integer [1]. Diablo 1 was using the Borland C/C++ pseudo-random number generator algorithm, with a multiplier of 0x15A4E35 and an increment of 1 [2,3]. A Go implementation of the PRNG used in Diablo 1 is located at [4].

So I guess there are 2^31-1 unique dungeons per level. Storing, rather than dynamically generating, these dungeons would require a huge amount of disk space. For each level, a 112x112 two-dimensional array of 32-bit integers is used to store the piece IDs which make up each tile (a tile consists of four pieces) [5], and a 40x40 two-dimensional array of 8-bit integers is used to store the tile IDs [6]. Thus, a total of 51776 bytes (roughly 50 KB) is required to store the contents of each generated dungeon.

In total, more than 100 TB would be required to store the contents of each unique procedurally generated dungeon per level. The game contains 17 levels, so to store each unique dungeon for each level, a storage capacity of about 1.7 PB would be required. This might be possible today, but was definitely a challenge back in 1996.

[1]: [https://github.com/sanctuary/notes/blob/master/bss/engine.md...](https://github.com/sanctuary/notes/blob/master/bss/engine.md#seed) [2]: [https://github.com/sanctuary/notes/blob/master/functions/eng...](https://github.com/sanctuary/notes/blob/master/functions/engine.md#engine_rand) [3]: [https://en.wikipedia.org/wiki/Linear_congruential_generator#...](https://en.wikipedia.org/wiki/Linear_congruential_generator#Parameters_in_common_use) [4]: [https://github.com/sanctuary/d1/blob/master/rand/rand.go](https://github.com/sanctuary/d1/blob/master/rand/rand.go) [5]: [https://github.com/sanctuary/notes/blob/master/bss/gendung.m...](https://github.com/sanctuary/notes/blob/master/bss/gendung.md#piece_id_map) [6]: [https://github.com/sanctuary/notes/blob/master/bss/gendung.m...](https://github.com/sanctuary/notes/blob/master/bss/gendung.md#tile_id_map)

</comment></comment><comment><USER37> What is remarkable to me about Diablo is how little it has changed. Dungeons and environments are more sophisticated, but at its heart it remains the game described in that doc, just better.

</comment><comment><USER15> Reminds me of Wizardry.

</comment><comment><USER38> "Diablo is a role playing game wherein a player creates a single character and guides him..."

Reading this now, the use of the male pronoun here felt extremely surprising to me. And indeed Diablo 1 was ultimately released with the female rogue character class. I wonder if that was just a mistake, or whether something significant changed throughout the game's development process.

Note that in Diablo 1 (1996) and Diablo 2 (2000), the gender of each class was fixed (with more male than female options), but in Diablo 3 (2012) gender choices became available for each class.

I think this should be considered a victory for feminism, and a real sign of progress taken over these past ~20 years.

<comment><USER39> > Reading this now, the use of the male pronoun here felt extremely surprising > to me. And indeed Diablo 1 was ultimately released with the female rogue > character class. I wonder if that was just a mistake, or whether something > significant changed throughout the game's development process.

It's standard in English to use the male pronoun in cases where you would refer to both or either gender.

<comment><USER40> Its common. But standard? No, just woefully sexist.

<comment><USER41> It is standard. It being standard does not preclude it being sexist, but it is standard. Sorry if your world view doesn't fit the facts.

<comment><USER40> Even here on HN we see mixed gender pronouns all the time. In fact I see it more than just seeing 'he did' etc. This world view fits the facts just fine thanks.</comment></comment></comment></comment></comment>


IRS manual detailed DEA's use of hidden intel evidence - <AUTHOR> http://www.reuters.com/article/2013/08/07/us-dea-irs-idUSBRE9761AZ20130807 <comment><USER2> So now that we know that the DEA is not merely a paramilitary force, but also a rogue intelligence agency that is in the business of lying to judges, prosecutors, and defense attorneys, can we please disband them? As an agency the DEA is one of the most (maybe even _the most_ ) destructive forces in this country.

<comment><USER3> Sounds great, but my bet is that it ain't happening as long as the cult of Reagan persists in the GOP.

<comment><USER4> The cult of Reagan is less powerful than the cult of private companies that exist due to government money funneled through DEA programs.

<comment><USER5> I wouldn't blame just Republicans for drugs not being legal and the DEA being intact. Democrats get campaign contributions from police unions, private prisons, alcohol companies, pharmaceutical companies, and prison guard unions too.

The fact of the matter is that our politicians don't work for us they work for corporate interests. Also, before someone says we should elect politicians, please realize that the problem isn't the politicians. It's the American people. Americans are dumber than a box of rocks. They love their low prices they get at Walmart and don't realize how much we subsidize the company's employees via welfare programs because they refuse to pay them a living wage.

The baby boomers (and possibly my generation) will have to die off before cannabis and other drugs are legalized.

<comment><USER6> The problem is not the American people. If a system requires nearly the entire populace to be as active (intellectually and financially) as every individual vested interest just to be successful, then it is a bad system. Its easy to call people dumb as rocks when they aren't rich and need to spend their time working really difficult jobs, and then choose low prices and tv for the leisure they have left as opposed to researching the complex web of interests that define the political actions of this country. The reality is that even the people that are "well informed" have wildly different beliefs about what is going on.

The government represents an entity capable of on the one hand restricting just about anything, and on the other hand propping up other things. It is thus a completely natural and logical result that thousands of vested interests will start vying for its favor. Now all of a sudden the entire population needs to go on defense for each of these issues. Its madness and completely unsustainable. You happen to care about and understand drug legalization, but I guarantee you that there are hundreds of other issues you aren't even aware of that are equally bad. Does that make you a bad person or dumb? Of course not.

<comment><USER5> "If a system requires nearly the entire populace to be as active (intellectually and financially) as every individual vested interest just to be successful, then it is a bad system."

We can't even get half of the country to make informed decisions. Americans are definitely the problem. They vote every couple of years to elect rich politicians that don't give a fuck about them. And they vote based off of arbitrary reasons. They find out we are being constantly spied on and they just don't care. Just like they didn't care when Japanese Americans were thrown into camps during WW2. Just like they didn't care when we were lied into Vietnam and then again into Iraq to make a few people richer. Americans are complacent.

<comment><USER7> With drugs it's even worse than that: otherwise intelligent and well meaning people have been brainwashed into thinking that we have to be protected from these dangerous drugs.

Lot's of people will say legalize pot but not the "hard stuff" (only because they want legal pot for themselves).

<comment><USER8> I'm not sure "brainwashed" or anything like it is right, or at least the one's I've discussed this with who were beyond thinking were _terrified_ about their children. I pointed out the choices of liberty or a drug war, which they did not deny, and they preferred the latter.

<comment><USER5> Brainwashed is the right word. Have you seen any of thr old drug propaganda videos? Check them out on YouTue. Also look up and watch Referrer Madness. In D.A.R.E my brothers kid learned that LSD stays in your system forever and drips acid down your brainstem, among a whole slew of other non-factual information.

<comment><USER8> These were people around my age or a bit younger, pre-D.A.R.E (which was started in 1983), and _Reefer Madness_ was considered camp at best by my time.

Never heard any outrageous things like that LSD stuff (can't say for sure about the people I talked to), but it was very well established by then, without any lies needed, that hard drugs are very bad news (by that time psychedelics weren't a big concern, they were long out of fashion).

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> I honestly don't see how "parallel construction" isn't considered "fruit of the poisoned tree" in considering evidence.

This whole "SOD" thing explains how minor traffic infringements end up as major drug busts so often. Perhaps it also explains why possession of kiddy porn is so often among the auxilliary charges on major criminals. The NSA dragnet catches it, and the DEA SOD tips off local police to it, or maybe the DEA uses "parallel construction" to be able to charge someone with drug crimes.

<comment><USER10> It likely is fruit of the poisoned tree. That's why they've been ordering everyone to cover it up.

<comment><USER11> I wonder what happens to inmates who discover they were prosecuted with illegal evidence.

<comment><USER3> They get to file appeals, and they do. Such appeals have a fairly decent chance of success, although I don't have numbers to hand.

<comment><USER5> How are they supposed to know if parallel construction was used in their case or not?

<comment><USER12> They are not supposed to know, the government is attempting to cover up it's crimes again[1] until it can work out immunity and monetary compensation for the actors involved[2].

[1] [http://www.independent.co.uk/news/world/americas/cia- chief-w...](http://www.independent.co.uk/news/world/americas/cia-chief-wanted- in-italy-for-rendition-on-his-way-back-to-us-8721235.html)

[2] [http://www.theguardian.com/commentisfree/2012/oct/10/supreme...](http://www.theguardian.com/commentisfree/2012/oct/10/supreme- court-telecoms-win-immunity)

Edit: To the user below, this is various arms of the government passing around information amongst it's branches to avoid accountability and exposure as much as possible. Rather monolithic.

Keep the ready made mantras out of this please.

<comment><USER3> For the _n_ th time, government is not monolithic. It's misleading (mainly of yourself) to operate on the basis that it is.

<comment><USER11> > For the nth time, government is not monolithic

In what sense? A government is a monopoly on violence. I find monopolies to be monolithic.

<comment><USER13> Government is not monolithic in the sense that (at least in the US) its sheer size and complexity prevents all the actors involved from correlating their actions and ideologies into a single conspiratorial entity like swallows in flight. Not even in regards to tyranny and violence.

<comment><USER14> Large and complex systems can coordinate in a decentralised way to form a monolithic entity. Local interactions can lead to global convergence. Swallows in flight is a good example - each swallow only pays attention to the others nearby, yet the whole flock is coordinated. I'm not saying that is how it is in the US government. However, the closer the agencies work together, the more monolithic the government is likely to be (otherwise they wouldn't be able to cooperate).

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> Wow. Words are failing me as to how asinine the US government has become.

I don't post much on political stories, but this really upsets me. I don't feel like as a single citizen I have any power to fix things either.

</comment><comment><USER16> _First they came for the foreigners..._

<comment><USER17> "He that would make his own liberty secure, must guard even his enemy from oppression; for if he violates this duty, he establishes a precedent that will reach to himself." \-- Thomas Paine

<comment><USER18> Thomas Paine is rolling in his grave given how libertarians have perverted his message to mean freedom to own lots of guns and not pay taxes.

<comment><USER19> Thomas Paine was no friend to taxes:

"War is the common harvest of all those who participate in the division and expenditure of public money, in all countries. It is the art of conquering at home; the object of it is an increase of revenue; and as revenue cannot be increased without taxes, a pretence must be made for expenditure. In reviewing the history of the English Government, its wars and its taxes, a bystander, not blinded by prejudice nor warped by interest, would declare that taxes were not raised to carry on wars, but that wars were raised to carry on taxes."

Rights of Man

[http://ebooks.adelaide.edu.au/p/paine/thomas/p147r/complete....](http://ebooks.adelaide.edu.au/p/paine/thomas/p147r/complete.html)

<comment><USER20> Thomas Paine's objective was not what you think it was.

"The first step, therefore, of practical relief, would be to abolish the poor- rates entirely, and in lieu thereof, to make a remission of taxes to the poor of double the amount of the present poor-rates, viz., four millions annually out of the surplus taxes."

Rights of Man, Part the Second

<comment><USER19> I very much doubt Paine would be in favor of what's passing for government at the moment.

<comment><USER18> Compared with what was common his time? I wouldn't be so sure. And we have no way of knowing for sure.

<comment><USER21> I think we can be more definite than that. Based on "Common Sense" and "Rights of Man" it is pretty clear that Paine was oppossed to any kind of government that was more concerned with furthering its own power than the social good.

<comment><USER18> Meaning he wouldn't be satisfied with any government in his time or ours? Ok, I can agree with that.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER22> Here are some summary snippets:

        "As Reuters reported Monday, the Special Operations Division of the DEA funnels information from overseas NSA intercepts, domestic wiretaps, informants and a large DEA database of telephone records to authorities nationwide to help them launch criminal investigations of Americans.",

        "While the IRS document says that SOD information may only be used for drug investigations, DEA officials said the SOD role has recently expanded to organized crime and money laundering.",

        "According to the document, IRS agents are directed to use the tips to find new, \"independent\" evidence: \"Usable information regarding these leads must be developed from such independent sources as investigative files, subscriber and toll requests, physical surveillance, wire intercepts, and confidential source information.",

        "Sen. Rand Paul, R-Kentucky, a member of the Homeland Security and Government Affairs Committee, said he was troubled that DEA agents have been \"trying to cover up a program that investigates Americans.\"",

        "The DEA database, called DICE, consists largely of phone log and Internet data gathered legally by the DEA through subpoenas, arrests and search warrants nationwide."

</comment><comment><USER23> This is what happens when you industrialise law enforcement and incarceration. There is an incentive to prosecute and convict as many people as possible, regardless of any real evidence of a crime or the existence of a victim.

</comment><comment><USER12> Where are the users that come in to say "I disagree with this, but consider it's validity because.."

I would love to hear a thoughtful argument for how hiding the source of an investigation, including evidence used, is just under the letter of the law. Followed up with how 'overreaches' are bound to happen but are acceptable as long as results are shown(but evidence is not).

<comment><USER14> Well, I suppose the defence would be some argument that the fruit of the poisonous tree doctrine doesn't apply, because there's nothing illegal about the NSA sharing information with other agencies, and there's no obligation to share every piece of evidence in an investigation. The prosecution is required to share all exculpatory evidence with the defence, but this wouldn't be exculpatory. There is an obligation to provide probable cause in order to justify each search, seizure, warrant, arrest, etc. but this obligation was met - that would be the purpose of the parallel construction. Cases were tried based on probable cause that was shared, and so that probable cause must have been sufficient. The investigators simply did not disclose ALL the probable cause they had, (because some of it was secret).

There will be some contention over whether investigators lied or simply didn't share all evidence. This will probably lead to some slippery wordplay. For example, in the case of a "random" traffic stop that was actually targeting an individual, the word "random" could be stretched to mean "without reason" \- meaning that by saying it was a "random" traffic stop, investigators were really just not giving a reason for the stop. Since no reason is required for a random traffic stop (under this new definition), that's all fine.

Perhaps the real problem here isn't that the NSA was sharing information, but that it is easy to find probable cause when properly motivated.

<comment><USER21> Good try, but these won't wash. It's hard to argue against it because the facts seem quite clear and straightforward.

1\. If the origin of the investigation is revealed to be illegal, the entire investigation is thrown into question and the resulting evidence could be suppressed.

2\. Random traffic stops are illegal. There _must_ be a reason for every stop.

[https://supreme.justia.com/cases/federal/us/531/32/case.html](https://supreme.justia.com/cases/federal/us/531/32/case.html)</comment></comment></comment>


Remote frame injection PoC by exploiting an A-MPDU vulnerability in 802.11n - <AUTHOR> https://github.com/rpp0/aggr-inject

<comment><USER2> Very interesting. It's a fault injection attack causing content from the highest layers to be misinterpreted as coming from the lowest layers, with the "fault injection" part being done by the noisy wireless medium itself!

This reminds me of the classic "+++ATH0" attack, where sending that string in for instance an IRC message caused some modems to hang up.

One solution is to scramble the data, so parts of it cannot be misinterpreted as lower-level framing, even if a few bits are corrupted. One good way to scramble the data is encryption, so even a trivially encrypted network (for instance, the password being the same as the SSID) would be immune to this attack.

<comment><USER3> _One solution is to scramble the data, so parts of it cannot be misinterpreted as lower-level framing_

Since the scrambling must be reversible, it would still be possible to generate the framing sequence with a different stream of data. It also only reduces the chances of the framing sequence appearing, but doesn't eliminate it completely.

The real solution is to ensure that the framing sequence is impossible to produce with normal data, by making it out-of-band with e.g. a different frequency or modulation.

</comment></comment><comment><USER4> It says this is for unencrypted networks, so do most coffee shops use n?

<comment><USER5> Given that this can affect anyone from a web page, any coffee shop which uses "n" is vulnerable. And I know of a few I frequent which use 'n'.

<comment><USER3> If this is 'n'-only, would going down to 'a' or 'g' mitigate it completely? Especially in a coffee shop where the outbound connection is unlikely to be very fast anyway, the bandwidth difference probably won't be noticeable.

<comment><USER6> Since 802.11n was the first standard to support packet aggregation, then dropping back to a/g will probably work, unless clients cannot be told by the AP to not treat the network as a mixed a/g/n network.</comment></comment></comment></comment>


We're five members of the Google Docs team - ask us anything - <AUTHOR> http://www.reddit.com/r/IAmA/comments/hylnw/were_five_members_of_the_google_docs_team_ask_us/

<comment><USER2> Valuable morsel: Ctrl-F "ergobiblio" and just keep reading his replies. They're the only ones worth bothering with.

Useless opinion: Not to throw in my lot with the most downvoted (and barely visible) of comments here, but seriously, these "Ask us anything about our product!" AMAs from big companies are uniformly marketing chaff. Total yawnfest since no one dares answer challenging questions for fear of running afoul of their legal team (or, in fact, the legal system down the road when their words can be used against the company).

This rigidness makes this sort of "community outreach" exceedingly boring. In my terrible, stupid opinion, companies worth asking questions of never have time to get a bunch of managers, a PR/marketing person and a single engineer together to answer only the most sycophantic or safe questions (again, I don't blame them for being concerned with self protection).

Give me email responses from Gabe Newell to completely random gamers any day over this sort of canned interaction.

<comment><USER3> I mentioned this down-thread, too, but while it might not be terribly useful for any of us directly, the feedback the Docs team gets from users could be very valuable when it comes to prioritizing development of new features.

So you could think of it as marketing chaff, or think of it as a product team listening to their users. I'm an optimist so I choose the latter. :)

</comment></comment><comment><USER4> I'm really glad that companies, developers, etc. are using reddit as a platform for discussion. The user base has some smart folks in it, and the commenting system is fantastic for holding large intelligible discussions.

For instance, in the submission for Facebook's development on the Android application, there was an entire thread with devices affected by a specific bug.

Google seems to use reddit's commenting system far better than their own "Google Moderator" (<http://www.google.com/moderator/#16/e=7f3> p.s. does anyone know if any of these 3K+ questions were ever answered anywhere?)

</comment><comment><USER5> Probably the most important note to come out of this AMA: Offline Google Docs is coming back later this summer. Offline apps in general is really going to put a nice jump-start in the newly produced line of Chromebooks.

<comment><USER6> This was already announced during the Google I/O 2011 keynote. It seems prudent now that Chromebooks are going to be shipping.

</comment></comment><comment><USER7> Sad I didn't see this earlier. Would love to see a couple issues addressed in spreadsheets. Namely conditional formatting based on a formula and merging of cells vertically.

<comment><USER8> What do you like to use conditional formatting for?

<comment><USER7> Formatting like this is helpful for things like...

if cell < 0 make entire row red

This isn't currently possible because the conditional can only check the value of THIS cell, not others. As the other comment indicates, it also helps expand what values you can evaluate. I use excel heavily and this is one of the largest gaps between it and google docs for me.

<comment><USER8> I work on this kind of thing (not at Google) and your answer here is helpful. If you'd be up for an offline discussion about other gaps between Excel and web-based spreadsheets, please email me (address in profile).

</comment></comment></comment></comment><comment><USER9> Well, it seems the HN bump is enough to bring down reddit...

I kid, but it's sad that reddit is still so unreliable. It had a pretty good run lately. I wonder how they're coming with the transition off Amazon EBS.

<comment><USER10> <http://redditincident.com/>

<comment><USER9> I was getting "you broke reddit" pages when I tried to visit the link.

</comment></comment></comment><comment><USER11> Why didn't anyone ask any questions?

<comment><USER12> I asked a question (and got it answered :D), and saw lots of other questions in there. Were you expecting a bigger turnout?

<comment><USER13> I suspect the parent comment was just hacker news v reddit elitism flaring up.

</comment></comment></comment><comment><USER14> We're five members of a sub-team of a sub-team of a large corporation whose recent products are used solely due to the critical mass of users built around the previous generation of our company's developers' products.

Herein we will pay lip service to a barely innovative also-ran office product that happens to use a lot of complex JavaScript (which is fashionable), answering any questions posed with vague responses whose only substance is an alignment with our corporate goals. In truth we've probably spent the best years of our lives fixing bugs relating to the pixel-perfect positioning of the buttons in a particular form in the application.

Our motivation for writing this IAmA is most likely to convince ourselves that despite our cog-like position in a massive corporation wherein our only career path is sideways or into middle management, our jobs and lives have some semblance of meaning, and have created significant value for the planet. If upper level management approved our IAmA, they did so only for the goodwill and free PR that may result from it.

In truth, we are but 5 representatives of a company whose massive weight is being used to shape the future of the industry in ways favorable only to itself and its stockholders, and deeply unfavorable to small, independently controlled companies. Its recruitment drive has been turned so high in recent years that the mere name-dropping of "Google" is unlikely to mean much with regard to our individual skill-sets. We are mediocre developers with limited vision, working for a company that chooses our direction for us. \--

I'm sorry for being so negative, but honestly there is almost nothing of value to be derived from these kinds of posts, it's not like these guys are authorized to tell us anything of substance with regard to future product plans. Guaranteed 90% of the comments are feature requests and self- congratulatory nonsense.

<comment><USER5> Wow. Someone woke up on the wrong side of the bed this morning.

If you bothered to actually look through some of the thread, it's actually a pretty nice read. A good chunk of upcoming features and design decisions were revealed, they took note of a number of feature requests, and some nice personal questions were answered as well, putting a nice human face on some of the invisible hands working on one of the world's largest online office suites.

<comment><USER14> I'll admit to being in a slightly bad mood, but there are literally multitudes of blogs dedicated to news about Google and preaching its praises.

I don't particularly consider this kind of endless, banal content centered around a handful of behemoth companies and trendy news topics interesting, especially with legitimately insightful articles buried in the new queue and receiving hardly a click (example: [https://www.nytimes.com/cwire/2011/06/09/09climatewire- this-...](https://www.nytimes.com/cwire/2011/06/09/09climatewire-this-weeks- solar-flare-illuminates-the-grids-63979.html) ).

If I tire day in, day out of reading the same rhetoric on Hacker News that I can find covered on the BBC (e.g. the ~5 articles they currently have dedicated to LulzSec on their technology home page, kids finding SQL injections really classifies as content for a boutique technical news site?), and can't respond with a little sarcasm, then perhaps HN isn't worth my time.

<comment><USER15> You will be deeply missed. It would be a shame if you spent the best years of your life making cynical comments on HN.</comment></comment></comment></comment>


Success & Motivation: A Lesson & The Worst Sales Letter Ever..  - <AUTHOR> http://blogmaverick.com/2010/01/05/success-motivation-a-lesson-the-worst-sales-letter-ever/ <comment><USER2> My gut says, this was not written by a native english-speaker. I don't know if it was pieced together by a computer program, or outsourced Chinese labor, or outsourced Chinese software, but it looks like the combination of two unrelated high-performing pieces of spam email. Giving the name of a fictional acquaintance is a strong tip-off.

</comment><comment><USER3> That's an advance fee scam, nothing more.</comment>


Blue Apron shares sink after Amazon files meal kit trademark - <AUTHOR> http://www.marketwatch.com/story/blue-apron-shares-sink-after-amazon-files-meal-kit-patent-2017-07-17?mod=mw_share_twitter <comment><USER2> I posed the idea of "standard pantry" here on HN some time ago..

There is one thing where meal startups want to harvest monies from millennial techs with high paychecks, but I'd like a system that teaches and empowers and feeds those making minimum wage.

A standard pantry should be a subsidized allotment of goods, which allow one to make a series of recipes based on a weekly meal plan, then, the inventory should be maintainable by a couple both making min wage and supporting feeding two kids.

The meal plans should be varied enough that you have four different weekly meal plans covering a month.

Week one will be veggetarian focused, two; poultry; three fish; four beef... or some such.

The service should work with "ugly fruit and veggie" suppliers: have you ever shopped at a "Mexican mart" \- they have amazing "cosmetically challenged" veggies- for the best prices.

Work with these supermarkets for all vegggies as they already have both the target market and the connections for produce.

\---

I recently saw a "meal kit" at a grocery store near me, it was $22 for the kit to feed two people and the portions were small, and everything was packaged individually in plastic, in a plastic tray that would become trash with an overly large cardboard printed wrap and shrink wrapped in plastic film... what a fucking waste!

\---

The standard pantry should also be 100% glass containers (atlas mason) and refillable with minimal marketing and packaging.

\---

A +1 to "Classico" spaghetti sauce who, as a company, makes all their pasta sauces in actual atlas mason jars. They are typically on sale at Safeway for $2 - which is $2 for both an actual mason jar and the freaking sauce.

If you go purchase a mason jar individually, it is typically more than $2 just for the jar - and these from Classico even have the measuring indicators on them, plus the company is wise enough that their labeling uses weak, water- soluable glue such that one can remove the label easily under hot water...

\---

So, in short: fuck the current meal delivery systems and they should all fail unless they provide a value much much greater than "im too stupid lazy and rich to cook my own meals"</comment>


PyTorch Should Be Copyleft - <AUTHOR> http://keithcu.com/wordpress/?p=3847 <comment><USER2> You come off as very unsympathetic.

License change request are never something maintainers are looking forwared to, but your first mail was at least on point and factual.

The following is certainly not a charitable view of what you've written, but this view is defensible, and you should really change the way you approach people.

You start by questioning their right to make that decision and their personal standing ('When you say "we", are you talking about Facebook or the random smaller contributors?').

You pretty much attack them ('I hope you realize you could be biased.' – and no, "could" doesn't make the recipient read it more charitably).

You call them idiots ('At the same time, you should know ').

You helpfully point out that their baby isn't really theirs, but belongs to humanity everafter ('You won't be there forever').

You order them to give you more fodder to attack them ('When you say "thought", have you written any of it down').

Because you really want to try to start a shit storm ('I may quote your non- defense').

You accuse them of wasting your time ('I just spend several minutes looking')

Another attack ('Your last dismissive answer'), followed by an open threat ('create a copyleft fork').

They were visibly pissed, but replied nonetheless, albeit very short (that's a clue!).

Now it gets better!

You don't even know them ('It don't know any of these names:' / 'I don't know who the authors are of this project'). Obviously they should just roll over.

Then the exposure theory that all artists so dearly love ('relicensing would get you plenty of news articles'). Of course, I haven't ever dabbled in ML, but even I know the name PyTorch. Clearly they need another news article to take off.

The rest of your mail was actually quite okay, but still feels like nagging.

I also have my problems with effectively communicating, but really, you should run mails like these by someone else before sending them.

<comment><AUTHOR> I didn't question his right to make a decision, I just wanted to know who was involved.

It isn't an attack to remind someone they might be biased.

It's not a threat as I have no interest in getting involved with a PyTorch fork.

I didn't order to give more information, I asked. I want to quote him and his first answer didn't give very much info.

I didn't accuse him of wasting my time by saying I spent several minutes looking. I just wanted to make it clear that I wasn't being lazy and wasn't able to find any public information on how PyTorch came to be lax.

I didn't say they should roll over. My point is that I don't know if this is an effort built by a small group who have done most of the work and want to keep it a lax license, or if this is a codebase that has a large community of random people who might want that protection.

You might know of PyTorch, but tons of people don't compared to Google's Tensorflow.

Thanks for the tips!</comment></comment>


Programmer Competency Matrix (2016) - <AUTHOR> http://sijinjoseph.com/programmer-competency-matrix/ <comment><USER3> While there are some parts of this matrix I agree with, I have to say that it seems rather "old school". The matrix seems to assume that all programmers are systems-level programmers working with compiled languages. Dynamic languages are only listed in the "scripting" knowledge section. There are tons of huge projects written entirely in dynamic languages. Assuming that dynamic languages are only for writing small scripts is disingenuous.

The next improvement I can suggest is to remove the implications that knowing the FP paradigm somehow makes you a better developer, or that only a good developer can use FP. FP is a useful tool just like OOP or imperative programming. Generally speaking, a good developer should be able to compose multiple paradigms together where they fit in the problem space. Maybe if this section of the matrix were reworded to say something along the lines of "Able to use multiple paradigms in their equivalent problem space including OOP, FP, and imperitive programming to create quality software." it would be better.

I do like how the author included a section for communication skills. Too often we, as developers, forget that we are ultimately only as good as the team around us is. We should work our hardest to improve our team in order to increase the quality of our work. That starts with effective communication.

<comment><USER4> Yeah, this is clearly out of date. "Experimented with Git" is the highest level in the version control row? Git is the standard now and has been for years.

I think a bigger issue, though, is that some of these skills are very valuable, and some of these skills are the ones companies hire on, and those two sections are not always the same. Personally, I see myself as being somewhere around the n level on the algorithms stuff, but well into the log(n) level at the engineering/communication stuff. I've harped over and over on the weirdness of prioritizing theory knowledge over practical skill in day-to-day jobs where the practical is what matters - it's nice to see all the different dimensions so clearly laid out and given (roughly) equal attention.

<comment><USER5> > Git is the standard now and has been for years.

Only in the open source world and a few SV darlings.

I am yet to do a project at a Fortune 500 among our customers that isn't based in Subversion or TFS.

I have been using Git only on personal projects.

<comment><USER6> > Only in the open source world and a few SV darlings.

In the last year I've built internal-only systems for two Global Fortune 100 companies, both of them in Git.

I believe you are very incorrect.

<comment><USER5> You forgot to read the part "among our customers".

<comment><USER7> I don't think they forgot anything. You mention your observations among your customers, in order to support a more general point.

They are questioning whether that generalization follows from your observations (using observations of their own).

<comment><USER5> For these customers it doesn't follow "Git is the standard now and has been for years.".

<comment><USER6> Right. I am asserting that your experiences are not the norm, but in fact outliers. Which means that Git is the norm, and those that do not use it are outliers. Basically the opposite of your original claim.

<comment><USER5> To see who is actually right, we would need to take a measurement of SCM systems across all Fortune 500 companies.

Writing statements about Git's adoptin on HN posts don't make them into facts, unless they are baked by actual numbers.

The fact is that both of us are wrong, because neither of us have the data of those 500 companies, only anecdotes.

<comment><USER6> Nope. I didn't make any claims that "all" Fortune 500 companies, or even "most" Fortune 500 companies use Git. You said, verbatim:

> Only in the open source world and a few SV darlings.

This statement is _factually_ incorrect. None of the companies I've worked for/done work for/communicated with were in SV and _all_ of them used Git. AKA it is in fact _not_ just "a few SV darlings," because the companies I've mentioned that use Git were neither of those things.

<comment><USER5> It is as factually correct as "Git is the standard now and has been for years.".

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> Obviously as I am a well-above average programmer, any of these metrics that do not clearly document this obvious fact about me are either old-fashioned academic fashion that have nothing to do with the way real programmers write code or pointless fads that will soon go out of fashion as we return to how real programmers working on real problems have always done it. Of course, the few that demonstrate my superiority are accurate, valuable insights into the way true scotsmen program.

<comment><USER9> I originally skipped over this comment as too sarcastic, but you're hitting on _so many_ of the responses below, that I had to come back to vote it up.

My only complaint about the matrix myself is that I only scored a level 1/partial 2 on the "books" section. I guess I don't own enough books. I don't like learning from books, though.

Otherwise I hit level 3 on almost every single row, so when I see the folks complaining about how this or that skill is irrelevant, well I have to say that _every single row_ of the matrix has good information, and they should hit the (virtual) books if they want to level up.

</comment></comment><comment><USER10> If I could zoom or scroll, I might be able to figure out where "allowing content to be read on a mobile device" fits in this very interesting matrix.

<comment><USER11> On an iOS device Firefox will let you zoom out.

<comment><USER12> Reader mode (also Firefox) will probably help as well.

</comment></comment></comment><comment><USER13> This matrix uses period-sensitive knowledge as milestones and is esentially focused on knowledge (how much one knows) as opposed to proficiency in the programming activities.

I found it more useful to evaluate competency based on activities instead of particular data structures / algorithms / languages: [http://science.raphael.poss.name/programming- levels.html](http://science.raphael.poss.name/programming-levels.html)

<comment><USER14> This is so much better. More universal, less fady.

It also declares the intended use of a the matrix, unlike the topic article, and I find it agreeable.

</comment></comment><comment><USER15> My workplace uses a rubric for determining when a developer qualifies for a promotion (+raise), which seems very similar to this. I'm not sure why both spur an immediate sense of revulsion in me, but they certainly do and the feeling is intense. Just wondering, but does the same happen to anyone else? Did you ever figure out its root cause?

<comment><USER16> I have no clue. I mean, on the one hand I don't like evaluating people by checklists/matrices, but on the other hand - assuming that having to evaluate people for raises and promotions is a given - what's the alternative?

<comment><USER17> _assuming that having to evaluate people for raises and promotions is a given - what 's the alternative?_

... by looking at their accomplishments?

Ultimately, productivity is not about how many tools/frameworks/languages/etc. you claim to "know". It's about what you can _do_ with what you know.

<comment><USER18> _... by looking at their accomplishments?_

Absolutely agree, but with the caveat that the software world currently seems to be on something of a "teamwork is everything" kick which can sometimes obfuscate what individuals are capable of. So judge results -- but be sure everyone is getting a chance to spread their wings at least some of the time.

<comment><USER16> Exactly that. You do agile, you do teamwork is everything, but at the same time you see people perform at more than their pay grade and you want to promote them. Some modicum of objectivity is needed - accomplishments are _mostly_ the team's accomplishments (I guess that is the main reason we all want lunch&learn talks, so you have some individual accomplishments), so looking at skills seems to be a decent next best thing.

</comment></comment></comment></comment></comment><comment><USER19> While this can easily be reduced to petty arguments and farm animal related epithets, I think this at least a reasonable enumeration of skills one can aspire to learn in their free time.

</comment><comment><USER20> This matrix is older than from 2016. It was posted on HN in 2015 already: [https://news.ycombinator.com/item?id=9341146](https://news.ycombinator.com/item?id=9341146)

edit: and in the comments of that earlier post, someone mentioned that it was posted in HN in 2008 already ...

<comment><USER21> The 2008 version: [https://news.ycombinator.com/item?id=232192](https://news.ycombinator.com/item?id=232192)

(edit: Mods, can we get a 2008 on the title?)

</comment></comment><comment><USER22> Oh, no. Not this bullshit matrix again.

<comment><USER23> We need a competency matrix on Matrix Competency.

</comment></comment><comment><USER17> _code readability Mono-syllable names_

This just seems to encourage enterprise-y ridiculous verboseness, which does not help with readability either. By this measure, people like the original UNIX authors would be deemed incompetent; and the opposite would apply to the architecture astronauts.

<comment><USER3> I've always taken the approach of making variable/function/class names as verbose as they need to be. I do not use any sort of abbreviation in function or class names. However, I will sometimes use abbreviated variable names or function arguments. For instance, if I had a function that searched for and returned an object that has a specific property from a list, I might use the name 'find_object_with_property'. The arguments might be 'list' and 'prop'.

It's been said many times that naming things is the hardest problem in programming.

<comment><USER24> Abbreviations are appropriate in methods/classes/variables often enough as long as they're unambiguous. Some common ones are Camera->Cam, Position->Pos, UI/GUI/HUD, and of course you wouldn't type out the full names of XML or TCP.

<comment><USER25> I would argue that consistency in the creation of abbreviations is also important. It is a headache to take over a codebase written by several people who abbreviated things differently.

</comment></comment></comment></comment><comment><USER26> This matrix is an interesting way to show many of the area's that are important to becoming a well balanced software developer.

That said I don't agree with many of the criteria for the levels. And in general its a bit too theoretical rather then practical.

The next thing that is important is how do these criteria map to your organizations needs?

I do notice as someone who has built tools for just about everything imaginable I lack of awareness of UX and its subtleties. Also optimization, GPU, graphics in general. He has obviously never worked as a game developer. The "systems programming" section should be a section in and of itself. Having "code organization" a sibling of system programming is a joke. But its a start.

<comment><USER27> Hey, don't diss code organization, it is the only part I can score above a 2 on!

</comment></comment><comment><USER28> Readers may be interested in seeing previous discussions of this item - <USER2> everyone thinks it's a "Good Thing(tm)".

Here are some previous submissions of exactly this, nearly this, or closely related items:

[https://news.ycombinator.com/item?id=4626695](https://news.ycombinator.com/item?id=4626695) (122 comments)

[https://news.ycombinator.com/item?id=1949915](https://news.ycombinator.com/item?id=1949915) (106 comments)

[https://news.ycombinator.com/item?id=9341146](https://news.ycombinator.com/item?id=9341146) (51 comments)

[https://news.ycombinator.com/item?id=1022394](https://news.ycombinator.com/item?id=1022394) (40 comments)

[https://news.ycombinator.com/item?id=554338](https://news.ycombinator.com/item?id=554338) (33 comments)

[https://news.ycombinator.com/item?id=232192](https://news.ycombinator.com/item?id=232192) (33 comments)

[https://news.ycombinator.com/item?id=5905330](https://news.ycombinator.com/item?id=5905330) (13 comments)

[https://news.ycombinator.com/item?id=12081124](https://news.ycombinator.com/item?id=12081124) (2 comments)

[https://news.ycombinator.com/item?id=2823912](https://news.ycombinator.com/item?id=2823912) (1 comment)

There are also submissions with no comments:

[https://news.ycombinator.com/item?id=8966791](https://news.ycombinator.com/item?id=8966791)

[https://news.ycombinator.com/item?id=3434350](https://news.ycombinator.com/item?id=3434350)

[https://news.ycombinator.com/item?id=298135](https://news.ycombinator.com/item?id=298135)

</comment><comment><USER29> The "software engineering" section seems like it was composed by a person who has conflated "configuration management" with engineering, and also asserts that "TDD" is something that describes a "high level" of proficiency (an assertion which isn't generally true, in my view). In fact, a lot of the items under the "Programming" section should be under "Software Engineering."

<comment><USER30> I couldn't have said this better-I read that section and immediately thought "Production" or "Infrastructure" engineering.

</comment></comment><comment><USER31> This appears to be a refresh of a 2008 post? He originally links to it from this post:

[http://sijinjoseph.com/2008/04/30/programmer-competency- matr...](http://sijinjoseph.com/2008/04/30/programmer-competency-matrix/)

Also of note is that he explicitly says it is biased towards non-visual (I think he means non-GUI) developers.

</comment><comment><USER32> This table isn't readable in mobile- I can only read most of the 2nd tier for each category. I can't slide it around or zoom out.

</comment><comment><USER33> I'm a 2^n programmer being paid a n programmer salary. I love capitalism!

</comment><comment><USER34> Interesting and useful but in my opinion some of these are a little bit unfair.

In python level 3 error handling is unpythonic.

I've written libraries on top of apis i haven't memorized.

Also I'd argue that the ability to efficiently start using a new api is a bigger skill.

</comment><comment><USER35> This matrix seems very inconsistent, or at least you wouldn't want to rate someone based on simply counting the number of checkmarks in the higher columns. For example "Wrote his own macros in an IDE" rated the same as "Author of a framework", or "Able to visualize and design complex systems with multiple product lines and integrations with external systems" valued the same as "Has tried out Bzr/Mercurial/Darcs/Git". Seems skewed also towards classical compiled language or systems programming.

</comment><comment><USER36> > _Working with someone who has a good topcoder ranking would be an > unbelievable piece of luck!_

There's a difference between "is this person capable?" and "is this person personable?

You kinda want both.

</comment><comment><USER37> What level is "makes a website that's usable on mobile"?

</comment><comment><USER38> Opinions on the importance of algorithms and data structures aside, can one acquire the requisite knowledge to pass most interview questions related to those categories by focusing explicitly on interview questions, or will there be too many gaps to be effective in interviews if one tries to "shortcut" completely learning the categories?

</comment><comment><USER39> I prefer this Steve McConnel's Professional ladder:

[http://www.construx.com/uploadedFiles/Construx/Construx_Cont...](http://www.construx.com/uploadedFiles/Construx/Construx_Content/Resources/White_Papers/Construx%20Professional%20Dev%20Ladder.pdf)

</comment><comment><USER40> I think this misses an important part: collaboration in a team. Ability to explain their preferred solution, experience with effort estimation, reading, reviewing, and improving other people's code, being able to compromise between the perfect solution and the practical solution, teaching colleagues...

</comment><comment><USER41> One thing which I find very frustrating is that I don't remember some concepts which I have studied and understood in the past. So, in my case, that matrix should have to be filled with dates, not only with ticks.

</comment><comment><USER42> So log(n) in 2016 has used prolog professionally... what kind of matrix is this seriously!

</comment><comment><USER43> I am still n __2 programmer :)

</comment><comment><USER44> I wonder how this matrix will look like when AI becomes better in programming. :)

</comment><comment><USER42> 2016 and he says "Proficient in using CVS and SVN features."... fail

</comment><comment><USER45> How can you trust someone that disable horizontal scroll on smartphones?

</comment><comment><USER46> I just wonder how someone like Jamie Zawinski would score.

</comment><comment><USER47> There should be an n·log(n) column.</comment>


Open Source Game Clones - <AUTHOR> http://osgameclones.com <comment><USER2> I understand why publishers don't freely license their game engines (e.g., under the GPL): if users and the gaming community had the ability to modify the games they purchased and create their own content, companies wouldn't be able to get away with selling horse armor DLC, releasing yearly rehashes of the same game, locking purchasers out of their own games with DRM, or sabotaging their own games ( [http://www.tweaktown.com/articles/6450/ubisoft- gimping-watch...](http://www.tweaktown.com/articles/6450/ubisoft-gimping- watch-dogs-on-pc-opened-a-can-of-worms-for-pc-gamers/index.html) ). I don't see any merit in the "stopping piracy" routine you might hear; DRM has never done anything to prevent unauthorized sharing on PC, and art assets aren't any easier or harder to share if the engines are free software. Proprietary software is purely an instrument of control by the publishers over the users in order to keep short-term profits high, even if it means mistreating the customer.

But why don't we see more companies following in id's footsteps and re- licensing old engines as free software? It keeps interest high and people coming back to purchase the art assets needed to run the games. There are several games on Steam that continue to sell well under this model (e.g., Duke Nukem 3D, Doom 3)

<comment><USER3> Now this might sound like a rude and blunt answer but it's true - it's because most of those other engines suck.

This is coming from game dev trenches. :)

<comment><USER2> That doesn't really make a difference though, does it? The community has shown at every opportunity that it loves being able to hack with game software. A small group of volunteers has even completely rebuilt Morrowind from SCRATCH! Even if the original code sucks, I think people would love to be able to hack it, port it, and play with it. This sort of activity can only lead to increased sales for original publisher, who otherwise would never get anything after their game falls into obscurity.

<comment><USER3> I'm not saying it wouldn't be (probably) better if they did release it but that the fact that they do not isn't surprising.

</comment></comment></comment></comment><comment><USER4> Should point out that OpenTTD is also an excellent open source engine for Transport Tycoon, fixing many quirks and irritations in the original game.

It's not truly open source because it requires the original files, but then they've listed emulators for ScummVM and the Infinity engine, so I don't see the difference.

<comment><USER2> > It's not truly open source because it requires the original files,

Art assets are not software, if that's what you're talking about. Character design, dialogue, plotlines, etc. will remain under copyright even if you do go in and replace every image and sound with freely licensed art.

<comment><USER5> The Debian project believes things like art and sound files and documentation are software. The FSF does not.

<comment><USER2> I know the Debian project only officially supports art assets that are in the public domain or licensed under a Creative Commons style license, but I can't imagine they actually consider these things software. Can you show me where they call these things software? Because if that's true, I find that use of terminology to be quite ridiculous.

Stallman thinks all users should be able to share and remix artwork freely, btw.

<comment><USER5> Sorry for disappearing for a couple days.

I'm well aware of Stallman's subtle and well developed stance with respect to human freedom and software, art, and documentation and I think it's perfectly consistent and reasonable.

The Debian project has adopted a stance that everything distributed as a part of the project should come with a set of rights, whether it's executable programs, game textures, or documentation.

Every part of Debian must conform to the Debian Free Software Guidelines, even if it's just a text document describing a library. So text files are considered software in Debian for purposes of the DFSG. That's all I was implying by saying that Debian considers non-executable parts of a project to be software.

</comment></comment></comment></comment></comment><comment><USER6> I would say that AM2R deserves to be on this list (it's a remake of Metroid 2): [http://metroid2remake.blogspot.com/p/about- project.html](http://metroid2remake.blogspot.com/p/about-project.html)

<comment><USER7> Is it open source though? I agree it's a terrific game (I was really impressed by DragonDarch's speedrun back in April/May for a Metroid marathon), but I can't find a link to get the code and build it myself.

</comment></comment><comment><USER8> Recent addition of The Neverhood to ScummVM is a great release.

<comment><USER3> I still listen to Terry S. Taylor's soundtrack to it on basically a regular basis.

<comment><USER8> Same here ;)

<comment><USER3> Then you upvote! Like I did!

</comment></comment></comment></comment><comment><USER9> (Originally) open source games seem to be a lot less popular than their commercial counterparts. I wonder if there is any systematic reason for why this might be true, or if it's just a matter of the different ways in which their creators invest effort in their creations.</comment>


Pictures of the first GUIs from Xerox - <AUTHOR> http://www.digibarn.com/collections/screenshots/xerox-star-8010/index.html <comment><USER3> There are a few demos of the Xerox Star floating around on YouTube. Seeing it in action gives you a much more complete picture of the system.

<http://www.youtube.com/watch?v=Cn4vC80Pv6Q>

The "look" was obviously hugely influential, the "feel" not so much. It is quite an odd beast, as the mouse is actually only used for selecting objects.

The Lisa GUI prototypes are also and interesting bit of GUI trivia. It's easy to see the Star's influence on the final shipping version of the Lisa GUI compared to its prototypes.

<http://www.jeremyreimer.com/apple_screens.html>

<comment><USER4> _It is quite an odd beast, as the mouse is actually only used for selecting objects._

It's an interesting design. The mouse appears to be strictly reserved for establishing a source object and a target location on-screen. The action to perform using these two inputs is determined by physical buttons on the keyboard -- Copy, Move, Show Properties...

(It is slightly confusing because some operations don't need two inputs. Does "Show Properties" act upon the selected source object, or whatever is under the location of the mouse cursor?)

The mouse-oriented design that won in the market (introduced with Mac, adopted by Windows) ended up avoiding the keyboard in favour of much more complicated mouse action gestures such as double-clicking, drag'n'drop, right-click menus.

I wonder if the Star design would have been more user-friendly in the end. When I've helped older people with their computers, it seemed that they don't make use of drag'n'drop or right-click menus at all. With this limitation, they couldn't do something like duplicating a document without starting the producer application and performing a "Save As" from its main menu.

<comment><USER5> > The mouse-oriented design that won in the market (introduced with Mac, > adopted by Windows) ended up avoiding the keyboard in favour of much more > complicated mouse action gestures such as double-clicking, drag'n'drop, > right-click menus.

Nit picking here, but right-click was obviously not introduced with the single button Mac mouse. And the awful double-click gesture was made necessary because of this single button mouse, the original Apple sin.

<comment><USER4> Sure. What I meant that Apple diverged from the Xerox UI path by designing the Mac around the mouse, so that the keyboard was not necessary for any actions. Microsoft basically took up that idea wholesale, simply extending it with more widespread keyboard shortcuts (Alt key for menu accelerators) and new mouse- centric gestures like right-clicking (borrowed from elsewhere of course).

In PC history, there were two opportunities to redesign the input hardware for a new kind of GUI...

First was in 1987 when IBM introduced the PS/2. It was a play for IBM to regain control of the wild west PC clone market, and failed as that, but the PS/2 keyboard and mouse connector standards lived on for more than 15 years. If IBM had revamped the keyboard at that point with something like the Star action buttons, they would have become a part of the OS/2 GUI and subsequently Windows.

Another junction was in 1995, when Microsoft launched Windows 95 and introduced new keyboards with the Windows key. At this point Microsoft carried so much weight with OEMs that I think they would have been able to push through something more radical on the input device front, if they'd wanted.

</comment></comment></comment></comment><comment><USER6> I'm impressed by the utmost attention to details. I remember similar care when working with educational software for Apple IIs - we limited our 50% checkerboard pattern to 279x191 (instead of the 280x192 maximum) in order to be able to do exactly the same rounded corners on all four corners of the screen.

At times, the guy who came up with these ideas infuriated me, but, in hindsight, I am very glad I surrounded myself with such perfectionists.

<comment><USER7> Likewise. The way the document icon evolved ([http://www.digibarn.com/collections/screenshots/xerox- star-8...](http://www.digibarn.com/collections/screenshots/xerox- star-8010/xerox-star-8010-14.jpg)) is impressive. Seven iterations and the result is so good we're still using that icon today.

And, as a designer colleague pointed out, look how they thought out how the corners of things would interact with 50% dot fill: [http://www.digibarn.com/collections/screenshots/xerox- star-8...](http://www.digibarn.com/collections/screenshots/xerox- star-8010/xerox-star-8010-18.jpg)

</comment></comment><comment><USER8> From the same site, stories from back then:

 _"My Cajun country upbringing had never taken me any further west than Dallas. And since I wanted to make a good first impression on my new California friends, I purchased a spanking new three-piece navy blue polyester suit, super-wide '70s tie, platform shoes and the finest imitation naugahyde briefcase I could find and made my first reservations at Rickey's Hyatt House.

I arrived at the lobby of PARC, resplendent in polyester and cheap Old English cologne, and was met by Charles Irby… ponytail, scruffy beard, tie-dyed t-shirt, khaki shorts and Birkenstock sandals. He welcomed me warmly, and then took me around to meet the eclectic cast of colorful characters and future luminaries that made up the Star development team. As we toured the offices, and the more folks I met, and the more beanbag chairs I saw, the more conspicuous, foreign and puritanical I began to feel… a penguin in the company of parrots. And yet, I was embraced and welcomed into this cadre of characters. It would not take me long to assimilate."_

</comment><comment><USER9> I'm old enough to have used these machines and what's interesting is that I remember well how much of a 'wow' it was to get to use a lovely user interface like that. Since then I haven't seen a real step change in user interface until we moved recently to sensitive touch screen devices.

</comment><comment><USER10> This is amazing! It's hard to imagine these images are real given how complex and beautiful the UI design is.

· Multiple fonts.

· Multiple, simultaneous languages.

· Dithered graphics to simulate value, tone, and shading.

· Rounded buttons.

· Use of line-weight to simulate dimension.

</comment><comment><USER11> I remember I was working on the desktop part of the system, and we were implementing "background copy" - and the hardest part was figuring out what the UI should be for doing a foreground copy vs a background copy. (The Star had tiled windows, not overlapping, so there wasn't a model of just letting a status window overlap.)

<comment><USER11> Whoops! Context lost when I posted that. What I was saying was .. I was a programmer on Star from 82-89. I went straight from college to Xerox - and it was like working in a time machine. Network based file and print servers, email, directory services, mouse, GUI, etc etc. All on machines that had _at most_ 1.5 megabytes of memory.

</comment></comment><comment><USER12> Actually the first GUIs from Xerox were on the Alto, which the Star is based on (see: <http://en.wikipedia.org/wiki/Xerox_Alto>). Although this is certainly from the first that was available commercially.

Nonetheless, these screenshots are amazing and show how groundbreaking the GUI concept was at the time.

</comment><comment><USER13> Worth to check out the "Mother of all demos" too, where Douglas Engelbart shows of the mouse, email, wordprocessor etc. in 1968!

<http://www.youtube.com/watch?v=JfIgzSoTMOs>

<http://en.wikipedia.org/wiki/The_Mother_of_All_Demos>

<comment><USER14> And if you're into watching long videos of what the digital future was supposed to look like, Douglas Adams and Tom Baker made a documentary called _Hyperland_ , and you can watch all 50 minutes of it here: <http://video.google.com/videoplay?docid=7190175107515525470#> or if you want a shorter video, here's Ted Nelson with a short demo of Xanadu as it existed in 2008: <http://www.youtube.com/watch?v=En_2T7KH6RA>

</comment></comment><comment><USER15> The typography demos are oddly tasteful. [http://www.digibarn.com/collections/screenshots/xerox- star-8...](http://www.digibarn.com/collections/screenshots/xerox- star-8010/xerox-star-8010-05.jpg) seems like a dig at the Lisa - it does seem woefully inadequate there for DTP.

<comment><USER16> Xerox Star 8010 came out before Apple's Lisa. In fact, Jobs had his team grab sneak peaks in Xerox PARC prior to the release of the Lisa.

<comment><USER15> Oh dear - then I have no idea how the Lisa screenshot got there :O

</comment></comment></comment><comment><USER11> This shot - [http://www.digibarn.com/collections/screenshots/xerox- star-8...](http://www.digibarn.com/collections/screenshots/xerox- star-8010/xerox-star-8010-10.jpg) \- third row down, second across - <USER2> actually a screenshot of XDE, the Xerox Development Environment. The window is Hardy, the XDE mail tool.

Note the use '!' to mark commands that you can click on.

</comment><comment><USER17> Very impressive. One inconsistency stands out given the careful attention to detail. In this image, they make a point of emphasizing that background pixels should be split to form a cleaner edge:

[http://www.digibarn.com/collections/screenshots/xerox- star-8...](http://www.digibarn.com/collections/screenshots/xerox- star-8010/xerox-star-8010-15.jpg)

...but this image shows that most of the top of a folder icon (not including the tab) did not split the background pixel:

[http://www.digibarn.com/collections/screenshots/xerox- star-8...](http://www.digibarn.com/collections/screenshots/xerox- star-8010/xerox-star-8010-12.jpg)

<comment><USER18> What do they mean by splitting background pixels? Something like dithering?

<comment><USER19> The background contains vertical bars 2 pixels high. The edge of the icon should therefore be positioned so that only 1 pixel of the vertical bars is showing rather than having both pixels showing. Also the left and right edges should have the whitespace between the vertical bars showing rather than the vertical bars directly adjacent to the left and right edges.

Also, I'm only seeing the inconsistency in the concave parts of the icons. The outer border is fully consistent with the design guidelines.

</comment></comment></comment><comment><USER20> Wow, I see the Mac, Amiga and other next gen UIs that came soon afterwards in these. I'm also struck by how much more appealing these screenshots appear than the early versions of Microsoft Windows.

</comment><comment><USER21> Seems to be down for me - gotta love CoralCDN: [http://www.digibarn.com.nyud.net/collections/screenshots/xer...](http://www.digibarn.com.nyud.net/collections/screenshots/xerox- star-8010/index.html)

</comment><comment><USER22> Am I mistaken, or is this a whole-cloth Lisa screenshot?

[http://www.digibarn.com/collections/screenshots/xerox- star-8...](http://www.digibarn.com/collections/screenshots/xerox- star-8010/xerox-star-8010-05.jpg)

</comment><comment><USER23> I'm pretty sure someone could come up with a skin for a desktop (KDE, Gnome, whatever...) very close to these screenshots and it would still feel very modern.

Timeless classic?

ps: Too bad the JPG compression is that heavy!

</comment><comment><USER24> Over thirty years later and so _little_ has changed... I think Alan Kay had a quote about there being no significant new inventions in computing since 1980.

<comment><USER14> It wasn't just a quote, he posed the question to StackOverflow. [http://stackoverflow.com/questions/432922/significant-new- in...](http://stackoverflow.com/questions/432922/significant-new-inventions- in-computing-since-1980)

<comment><USER24> I remember this from before StackOverflow existed, but nice to see it there.

</comment></comment></comment><comment><USER25> This get's us back to basics. It's interesting how some things like "Title bar" and Scrolling never changed.

</comment><comment><USER26> I'm getting a "Network Error (dns_server_failure)" when I try to load the site.

</comment><comment><USER27> Wow, it even had a wallpaper.

</comment><comment><USER28> I will never understand why Xerox did not sue the pants off Jobs when he stole 99% of this visual gui design and then claimed forever onward that Apple was responsible for it.

The thing that killed this was at that time no company was going to spend close to the salary of a typist to outfit said typist with this kit. (I believe it was in the 10-20K range.)

<comment><USER29> Because in exchange for letting Apple engineers visit their research labs for three days, Xerox got a million dollars in pre-IPO Apple stock.</comment></comment>


3 Pillars of Job Satisfaction - <AUTHOR> http://www.nomachetejuggling.com/2009/08/21/my-personal-3-pillars-of-job-satisfaction/

<comment><AUTHOR> I found this interesting since he doesn't have money as one of his pillars. I thought it would be on there for me, but looking over my 12 year career, I've never left a company because of money. I left my first job because I felt the company was going under (they did 6 months later). The next two companies I worked for were bought out and both were going through major layoffs so I left before that happened. The next company I left because the project and the people pillars started to suck. And my last company I left because the company and project pillars really truly sucked. The company I'm at now has great people, project, and ok company pillars. But the money ain't all that great so I may leave because of that in the future.</comment>


The future of photography is code - <AUTHOR> https://techcrunch.com/2018/10/22/the-future-of-photography-is-code/ <comment><USER2> The implicit subtitle of this article is: In Smartphone Cameras.

The modern smartphone certainly adds computational strength that likely exceeds the image processing sophistication of even pro-level DSLRs. After all the performance gap between desktop and mobile CPUs is quite narrow at this point. The author rightly implies that the form factor of the phone creates an inherent set of limitations.

Outside the phone realm there are fewer and somewhat different limitations to deal with and that is where really interesting things are happening in photography today. Modern sensors have made great strides towards closing the gap between film and digital in terms of dynamic range. Full frame sensors with a large number of pixels allow for far greater resolution in images. Looking on DXO mark on how far sensors have come in the last decade is amazing. When I look at images created on my Nikon D200s they were very good and acceptable for a broad range of applications. Compared to the images from my D850, however, there is a quantum difference. Shooting RAW files gives me unprecedented creative control over the final image using a laptop instead of expansive requirements of a full darkroom. While, I shoot Nikon other companies like Sony, and Canon are more or less in the same place. We have reached the point where output from a DSLR sized body compares very favorably to a medium format sensor.

While computational adjuncts to image acquisition, whether in the form of phone software or Adobe like products, will play an increasingly important role in photography, there are still areas where hardware such as sensors, lenses, and physical stabilizers will improve.

<comment><USER3> Certainly true (I'm the author). As a photographer I look forward to more interesting techniques in the non-smartphone world too but ultimately I think what will advance them is also code, not a major advance in optics or sensor tech.

It's kind of a lame argument in a way (mine, that is) because code underlies just about everything these days. But I do think we've mostly tapped out the physical side of things, barring clever new constructions like the L16 and successfully wrangling hyper-sensitive, hyper-noisy sensors.

Anyway it's exciting no matter which one is advancing the art. Consumers are winning (as with a consolidation in mirrorless form factor, which is another piece I'm working on). Thanks for reading!

<comment><USER2> I agree that at this point everything is computational. And you are right that consumers are winning big time. I'm pretty serious about photography and there are far fewer situations that arise where I think, "crud, I've only got my phone". My hope is that there is still room to squeeze low light, low noise performance out of future sensors. Again, great article, a good read!!!

</comment></comment></comment><comment><USER4> I like this text and I agree that a large part of the future is in code yes, but there are still fancy optical techniques not tapped yet. Like wavefront shaping (for the flash) or using other parts of the spectrum or deformable lenses or ultra-thin lenses from meta-materials (with a negative refractive index?) And then there is the lyttro camera (which can be combined with the techniques mentioned before). I've never heard of smartphone camera's with a Fresnel lens, is this because we can't manufacture them with molecular precision yet? Perhaps there will be camera's with ultrasound sensors, non- optical (active?) sensors that still yield optical information. Perhaps we find smarter ways to use polarization information... etc. I'm not an expert but I have spend some time in the optics field and saw some quantum optics talks that may at some point lead to significant improvements of the physical aspects of cameras again, imho. Of course, combining all the input together into something humans would like will require... computation :)

</comment><comment><USER5> I wish there was better software supported robotics cameras. You can buy small csi-mipi modules to capture frames from a ton of imaging sensors. But all the nice tricks Apple/Google use to improve image quality like capturing multiple underexposed images to create a clearer composite are not implemented in OpenCV. All these machine vision sdks are stuck to idea that you will only get a single matrix of pixels to glean info from, forgetting that you need to integrate pixel accuracy into your machine vision code!

<comment><USER6> I think it's a question of division of responsibilities OpenCV focuses on the CV part of the equation. You don't have to feed OpenCV the raw camera feed there can be a separate step that does the kind of image processing you're talking about.

<comment><USER5> I usually use openCV capture. Which is nice because it works pretty well. Adding some capture modes like the one I listed would be nice, but I see how a separate capture software module might be better.

edit: The CV part isn't really separate, how you capture affects the chance that the pixel is incorrect. This information is useful, maybe you'd want to integrate this into your CV.

</comment></comment></comment><comment><USER7> Just a few thoughts.

For the vast majority of people, the future of photography will depend on how many of the techniques in the article are implemented in smart phones (as they don't have a dedicated camera).

For high-end camera users, the main providers are still in the early phases of introducing mirrorless devices an an alternative to DSLRs. Early mirrorless offer advantages in terms (e.g. framerates, weight, silent ops, previews, etc) but are still largely 'conventional' with respect to the computation techniques in the article. Many of these users are motivated to keep their existing lenses, which may impact the types of computational technique that are relevant (why compute bokeh when you can apply it in glass?)

I wonder what the sweet spot is for devices that really push the computational side.

</comment><comment><USER8> > What those devices do with that light, however, is changing at an incredible > rate. This will produce features that sound ridiculous, or pseudoscience > babble on stage, or drained batteries. That's okay, too. Just as we have > experimented with other parts of the camera for the last century and brought > them to varying levels of perfection, we have moved onto a new, non-physical > "part" which nonetheless has a very important effect on the quality and even > possibility of the images we take.

I'm confused. What do "those" devices do or could do except capturing an erzatz, a frozen view of world? What is this new non-physical "part"? Cameras captures photons (from one [1] to many) and display a composite image, post- processing or no.

[1] Photon-efficient imaging with a single-photon camera: [https://www.nature.com/articles/ncomms12046](https://www.nature.com/articles/ncomms12046)

<comment><USER9> Point and shoot photography will move more and more to gathering information, and then painting a scene. Is a detail blurred? Try to guess what it is based on training data and fill it in. Is someone blinking in a photo? Look back through previous photos of that person and figure out what they'd look like with their eyes open. etc.

[https://www.youtube.com/watch?v=HvH0b9K_Iro](https://www.youtube.com/watch?v=HvH0b9K_Iro)

</comment></comment><comment><USER10> Photography has never really been about the limits of the camera. Your average consumer will look at megapixels and just assume more is better. A more astute consumer might look at things like aperture size, dynamic range, noise levels, etc. And those things do matter in extreme cases, but a good photographer will be able to produce great photos even with a well below average camera.

People like Ansel Adams aren't known because they had the best camera of the day. Adams is mostly known for what he did in the darkroom, that's where his ability to take a piece of crap the film originally recorded and turn it into a work of art.

Any serious photographer will tell you it's a lot more about what you do before and after you press the button, than the equipment you have. And some really good photographers don't do any post processing, just like some photographers won't move a leaf. But post processing both digitally and in the darkroom have been at the heart of most photographer's toolbox since the beginning.

</comment><comment><USER11> This should be pretty obvious regarding almost everyone outside professional photography. Jane & John Doe clearly don't have the time or inclination to learn a few things before they start taking photos (or even afterwards). If instead you can whip up some software that makes every last shitty shot look passable, you found yourself a money printing machine.

</comment><comment><USER12> The future of everything seems to be code. And yet, surprisingly few are aware of it, it seems...

<comment><USER13> That doesn't mean there isn't money to be made with old tech though. Jack White (yeah, that Jack White) recently opened a film processing lab.

[https://thirdmanrecords.com/photo-studio](https://thirdmanrecords.com/photo- studio)

<comment><USER14> This was mentioned in the book The Revenge of Analog: Real Things and Why They Matter [https://t.co/5HJdzJPGC5](https://t.co/5HJdzJPGC5)

</comment></comment></comment><comment><USER15> I'm very much reminded of this image of a camera with a slew of lenses:

[https://www.notebookcheck.net/fileadmin/Notebooks/News/_nc3/...](https://www.notebookcheck.net/fileadmin/Notebooks/News/_nc3/MANY_CAMERAS.jpg)

I keep thinking about house fly and spider eyes. I suspect their 3D view of the world is much better than we realize. They're basically Light Field Cameras.

</comment><comment><USER16> Can it really outperform my analog Leica M6 + Summicron 35mm bokeh?

<comment><USER17> Eventually. Smart Cameras will soon remove unwanted objects from pictures so you no longer have to wait for the person(s) behind the subject to get out of the way.

<comment><USER18> One day they'll just generate the exact image you wanted to see and you won't even have to have the actual experience of the real scene.

Then they'll just generate the corresponding chemical releases in your brain to make you feel the same pleasure of seeing the image, so you won't even have to open your eyes.

Finally, they'll invent a perfect, euphoric euthanization process that'll be objectively more pleasurable than being alive.</comment></comment></comment>


How do dat:// sites interact with servers? (2018) - <AUTHOR> https://pfrazee.hashbase.io/blog/dat-and-servers <comment><USER2> Since it's not linked in the article, this is about this: [https://dat.foundation/](https://dat.foundation/)

And here's a walkthrough of building a simple chat application: [https://docs.dat.foundation/docs/kappa](https://docs.dat.foundation/docs/kappa)

</comment><comment><USER3> This experimental API seems rather weak? A dialog box speedbump is both inconvenient and insecure.

It seems like peer-to-peer should imply that you can connect to mirrors without trusting them? Any data you download gets verified. But I guess that means you have to trust that there are no security bugs in your client, or eventually you'll hit a server that exploits it.

In practice, I think picking one caching server might be more reliable. (Much like setting GOCACHE when fetching Go modules, or configuring DNS with a list of servers.) We should be aiming for making caching servers interchangeable, but not necessarily connecting to random servers all the time.

This moves the problem one step back, since the caching servers will be connecting all over the place (much like recursive DNS), but at least it's running in the cloud with better connectivity.

</comment><comment><USER4> Dat was discussed yesterday as well: [https://news.ycombinator.com/item?id=22909998](https://news.ycombinator.com/item?id=22909998)

</comment><comment><USER5> I get the joke, but using a very common phrase and a well known url that's already heavily overloaded seems like a poor choice. Searchability and clarity are important for this kind of thing.

</comment><comment><USER6> Honestly I think this should be something that regular websites be allowed to do too. It seems odd that something like Postman can't exist as an client-only "offline" PWA.</comment>