'Women write more expressive, sensitive code' - <AUTHOR> http://www.theinquirer.net/articles/printView/gb/inquirer/news/2008/06/09/women-write-expressive <comment><USER2> This article is disgusting.

There's one source, and she's...playa hating, to say the least.

Advocating underrepresented minorities is like riding a tank. It's fun, nobody will disagree with you, and if a "tank man" (cf. Tiananmen square) shows up, you can effectively lynch him (cf. Lawrence Summers, James Watson).

Now, blatant reverse sexism aside, is the writer correct? There's one source, who may be an itsy-bit biased, but yeah, I believe it. It could be true that women document more. I don't think that they're categorically superior coders, though, as this article seems to imply, and I'm not exactly eager to work at that database company.

</comment><comment><USER3> "forcing men to write more detailed accounts of their coding issues, and expressing their programming problems before each new block of code is written. Lovingly written."

Hmm.. I know I wouldn't last there long. My first reaction would be to explain my problems like this:

 _It was a dark and stormy node; the files served from torrents -- except for occasional intervals when checked by a violent gust of spam which swept up the subnet (for it is in the colo that our scene lies), rattling along the interfaces, and fiercely invalidating the scanty lines of the caches that struggled against the load._

</comment><comment><USER4> I assume this is a parody, and as such, it is very well done.

If not, I can only assume that women has never met Steve Yegge.

<comment><USER5> It is not a parody. If you follow the link to the original article, you can see that she is just claiming that women are better at documenting code, which is a reasonable hypothesis. The Inquirer on their own account added the slant about womens code being more "sensitive" and so on, probably to make here look like an idiot. (Also fun to see how "user-friendly and gender-neutral" coding standards in WSJ becomes "womanish" coding standards in the Inquirer :-)

Sine there are far fewer women programmers, I would expect the average female programmer to be better than the average male - including being better at documenting code.

However the article sounds like she is only basing it on anecdotal evidence. It would be quite interesting to see a more scientific study.

<comment><USER4> In any case, I absolutely loathe the kind of coding standards she is trying to enforce. It sounds like micromanagement bullshit, forcing developers to do stuff they resent. The extreme endresult are those comments on getters and setters in Java:

/ __* gets the variable */

int getVariable() {...}

I could scream and climb up walls when I see that or worse, have to write that. If you don't write the comment, though, some fascist "quality control" algorithm will show a read flag and make the managers unhappy.

I thought the consent by now was that understandable code is to be preferred over comments, especially since comments have a tendency to become stale.

<comment><USER6> I think the comments here do a better job of reflecting the problems women are up against as coders, than they do of reflecting the constraints this particular woman has imposed upon her team.

Despite the fact that absolutely _no_ details were provided in the article about her standards, or what she's trying to achieve (other than a few "pithy" interpretations by the author), you've jumped to the conclusion that it's _"micromanagement bullshit"_. You've also taken the most absurd interpretation of her remarks. Why? I'm quite confident that any experienced developer knows the difference between your example, and good documentation practices. Since this particular woman has managed to rise to a position of high authority, perhaps we should give her the benefit of the doubt, hmm?

Anyway...if they weren't so sad, the anguished geek cries of "sexism" in this thread would be hilarious. It's hard to be oppressed by discrimination when you're in the clear and obvious majority.

<comment><USER4> "You've also taken the most absurd interpretation of her remarks"

Where do you read that? I have not referred to her remarks in any way, I only referred to the practice of enforced comments in general. I don't even know if she's a Java Developer.

I see this kind of commenting every day, from experienced developers, too. There are now tools that run automatically (like during the nightly build) and rise red flags if a Java method doesn't have comments, so people write those stupid comments to shut up the tool. I have also seen the "get the value" comments in enterprise level open source projects. It is the way developers kill time these days.

<comment><USER6> _"I absolutely loathe the kind of coding standards she is trying to enforce. It sounds like micromanagement bullshit, forcing developers to do stuff they resent."_

Unless you work for her, or know her personally, you have no idea what kind of coding standards she's trying to enforce. You've referenced her management and called it bullshit, because you've _assumed_ that she's doing absurd things that you've experienced on bad projects in the past.

<comment><USER4> Quote from the WSJ article (italics by me): "In an effort to make Ingres's computer code more user-friendly and gender-neutral, McGrattan helped institute new coding standards at the company. They require programmers to include a _detailed set of comments before each block of code_ explaining what the piece of code does and why; developers also must supply a detailed history of any changes they have made to the code"

That is more than enough to make a judgment in that case.

<comment><USER6> No, you're jumping to conclusions.

Requiring a "detailed set of comments before each block of code" doesn't imply that the comments have to be there if they're inane.

<comment><USER4> I have stated my personal preferences. It is fine if you disagree (I honestly don't care), but it is not OK to call me sexist for it.

<comment><USER6> Who called you sexist? I haven't even _used_ the word in this thread.

I've said that you're jumping to conclusions, and implied that your reaction to this one woman is hostile, but I've never accused you of being sexist. Perhaps you need to take a step back and re-read what I've written.

<comment><USER4> You have written

"I think the comments here do a better job of reflecting the problems women are up against as coders [...] if they weren't so sad, the anguished geek cries of "sexism" in this thread would be hilarious. It's hard to be oppressed by discrimination when you're in the clear and obvious majority."

If I somehow misinterpreted that, my apologies - english is just my second language.

<comment><USER6> Ah...I see. I wasn't talking about you (or calling anyone sexist), but the wording was kind of subtle. I was referring to the many other comments that were/are complaining about the "sexism" of the story.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> I've worked in this biz a long time, and have worked with several women, and I've yet to see useful documentation...

</comment><comment><USER8> Something I have learnt the hard way: Comments are bad for you.

I used to be a big proponent of comments too, until I realized that having the right variable and function names makes for much better documentation. Any time a chunk of code gets complicated enough for you to feel you need to comment it, you should just abstract it into another function. If you look at arc.arc it is very much written in this fashion.

The problem with comments is that they are not tightly coupled to the implementing code .. if someone comments something and then someone else comes along and changes the code without changing the comment, and then someone else comes along and tries to figure out the code by reading the comment ...

</comment><comment><USER9> I've found this to be true in a bad way. One female co-worker writes comments like this:

//Get the HttpSession from request.

HttpSession session = request.getSession();

To anyone who knows Java, that comment is just a waste of space that gets in the way.

</comment><comment><USER10> "The superwoman of code ..... forcing men to write more detailed accounts of their coding issues, and expressing their programming problems before each new block of code is written"

You know much better your programming problems after starting writting code. Prototyping facilitates thinking and designing. The "superwoman" is clueless.

</comment><comment><USER11> interesting... care to show us this 'wonderful superwoman code' so we can emulate its style?

</comment><comment><USER12> What a load of sexist bullshit. I've worked with several women coders. Some were better than others. It's only possible to make this kind of ridiculous blanket statement because so few women coders exist in the first place. Small sample size, nada mas.

(Yes, I accused a woman of being sexist. If that doesn't make sense to you please Google sexism instead of bothering me.)

<comment><USER6> Two words: crocodile tears.

I'd think I'd trade 80% of the sexist men in this industry for a few more sexist women.

</comment></comment><comment><USER13> I've been in this business a long time and have yet to meet any women who write code.

<comment><USER14> Ever heard of Grace Murray Hopper?

<comment><USER15> Please prefix her name with Rear Admiral, per proper usage.

</comment></comment></comment><comment><USER16> And men write more code, period.

<comment><USER16> I guess I should have made the tongue-in-cheek humor a bit more obvious (my reply was referring to the sensationalist headlines) - I actually have two brilliant women working for me and their coding is awesome :)</comment></comment>


Find out which of your friends are online on Tinder using the Tinder Social API - <AUTHOR> https://github.com/DiSiqueira/TinderOnline <comment><USER2> Thanks</comment>


Rouwam: An Ambitious Project - <AUTHOR> http://rubyforge.org/docman/view.php/3784/1190/ROUWAM.txt

<comment><USER2> If I understand correctly, _Ruby our universe with algo's and math's_ (Rouwam) tries to bundle all algorithms obtained from Wikipedia as a Ruby package.

I'm unsure about the handiness of that, given that I usually do not struggle do find a working implementation of an algorithm (think Rosettacode <http://rosettacode.org/wiki/Main_Page>) but rather _which_ algorithm I actually want to use. I appreciate Python's standard library largely hiding the implementation details from me but rather concentrating on _use cases._

Edited to clarify: the _list_ of algorithms is fetched from Wikipedia. I _think_ he wants to publish his algorithms in Wikipedia, not sure abut that though.

</comment><comment><USER3> "RubyForge Could Not Connect to Database:"

Too ambitious, perhaps?</comment>


Small changes that have a big impact on the planet - <AUTHOR> https://www.smallbigchanges.earth/ <comment><AUTHOR> Hey everyone! It's hard to be indifferent to global warming and, initially, I felt powerless. Different news outlets and websites report on small bits of it and it's hard to see the full picture. All the information flying around made me feel overwhelmed, confused and didn't help me make sense of it all. Turns out, a few changes to our lives can have a significant impact to reduce our footprint. So I compiled these changes, along with how much emissions they can save, making them easier to compare. If you want to contribute, ping me and let's do this together </comment>


Prisoners Strike in Georgia (2010) - <AUTHOR> http://mobile.nytimes.com/2010/12/12/us/12prison.html?_r=0&referrer=

<comment><USER2> This is a totally off-topic post, from 2010, submitted from an account with an ideological agenda (a comment history dominated for months with anti- capitalist comments) in response to a top-of-the-front-page story about Soviet slave labor on which they also added a derailing comment comparing Polish slave labor to modern US prisons.

Being anti-capitalist is of course totally fine and this person is a bona fide contributor in lots of other ways, but throwing off-topic ideological grenades onto the HN front page is not totally fine. Flagged.

<comment><AUTHOR> I submitted this as a response to a comment and certainly didn't expect it to go into the front page. Glad it got the up-votes it did though.

In response to ideology. Are you implying HN is supposed to be ideology free? Hacker News is a place created by a VC firm. This is already a place with deep ideology of pro-capitalism. As an anti-capitalist I can't help but have my own opinions and interests be colored by my beliefs. Just as you can't help to have yours colored too.

For example, what does capitalism have to do with the US prison system, and why would I as an anti-capitalist be against prison systems?

<comment><USER2> I am not at all implying that commenters on HN must avoid having ideologies. There is nothing at all wrong with being opposed to capitalism; many productive HN commenters are.</comment></comment></comment>


Resume-building and talent-acquisitions. - <AUTHOR> http://sahillavingia.com/blog/resume-building-and-talent-acquisitions./ <comment><USER2> You can find other ways to market your app other than writing and submitting such an empty post. You've written other pieces on the importance of starting and creating stuff, all which have received their fair share of discussion around here. I don't see what this adds to the concept besides a cheap attempt at plugging your app. I get you're trying to market it, as you've said here before, but just not here. Come on, man.

<comment><USER3> Couldn't agree more. I liked your other articles, so when I saw a new post from you. I was looking forward to reading it. Being on my mobile, I was trying to scroll down to find the rest of the article...but it was done</comment></comment>


Jailbreak firmware turns cheap digital walkie-talkie into DMR scanning receiver - <AUTHOR> http://phasenoise.livejournal.com/1142.html <comment><USER2> I'm instantly in love with the International Journal of PoC||GTFO. How did I not know about this before? It feels like the old Apple ][ hack/phreak days again.

[http://www.sultanik.com/pocorgtfo/](http://www.sultanik.com/pocorgtfo/)

<comment><USER3> OK I'm in love too now:

>>Technical Note: The polyglot file pocorgtfo10.pdf is valid as a PDF, as a ZIP file, and as an LSMV recording of a Tool Assisted Speedrun (TAS) that exploits Pok´emon Red in a Super GameBoy on a Super NES. The result of the exploit is a chat room that plays the text of PoCkGTFO 10:3. Run it in LSNES with the Gambatte plugin, the Japanese version of the Super Game Boy ROM and the USA/Europe version of Pok´emon Red.

<comment> semi-extrinsic Then there's the articles by Natalie Silvanovich, who's specialised in hacking different versions of Tamagotchis. I mean... they're Tamagotchis, for crying out loud. A tiny plastic box with a 16x32 pixel monochrome screen, a speaker and three buttons. But this awesome hacker goes out of her way to pwn that 6502 and run her own code on it...

<comment><USER4> You've got to see her CCC video! [https://media.ccc.de/v/29c3-5088-en- many_tamagotchis_were_ha...](https://media.ccc.de/v/29c3-5088-en- many_tamagotchis_were_harmed_in_the_making_of_this_presentation_h264)

</comment></comment></comment></comment><comment><USER5> So does this mean you could listen to police/fire radio and such like back in the old days?

<comment><USER6> Depends on the city/county. Most in the US are on P25, which has been listenable by clued members of the populace, but many (most?) are now encrypting traffic (usually w/ AES, iirc).

<comment><USER7> Unencrypted transmissions are easily received by scanners (note, though, that older scanners can't pick up P25) -- they aren't cheap, though (I think mine was ~$450 USD). In my area, one local police department is the only agency that has chosen to encrypt their communications.

It is, supposedly, also possible to pick up P25 using RTL-SDRs, though I've never tried so I can't say for certain.

<comment><USER8> If the wikipedia information is right (6.25kHz signal at ~700MHz), then it should be trivial on RTL-SDR. Just need the right antenna.

<comment><USER9> From my experience: You usually need 2 dongles and the software under Linux to do it is barely existing unfortunately.

<comment><USER8> So is wiki not correct, or am I reading it wrong? Is the channel bandwidth larger than 6kHz?

</comment></comment></comment></comment></comment></comment><comment><USER10> When police use encrypted radio channels, they can't interoperate with EMS, other agencies or in disaster zones. So becomes a problem.

<comment><USER11> > When police use encrypted radio channels, they can't interoperate with EMS, > other agencies or in disaster zones. So becomes a problem.

Depends on the system. TETRA (used in europe) can be optionally encrypted, so the police can have radios with encryption for their talk groups, but still do unencrypted communications with the medical or fire services.

Around here, they run it with encryption off though, because apparently the key management is a pain in the ass and I guess the criminals they mostly interact with aren't the types to sit around with RTL-SDR dongles capturing their voice comms.

</comment></comment><comment><USER12> What might potentially come from this ground-level work? How wide ranging could hacks for this radio support custom software, custom audio and data encoding/decoding, custom modulation, etc etc?

</comment><comment><USER13> The server appears to be down?

<comment><USER14> Works for me -- video URLs here [https://youtu.be/QSq_bVX2to8](https://youtu.be/QSq_bVX2to8) and here [https://youtu.be/_6s9IP8hY0k](https://youtu.be/_6s9IP8hY0k).</comment></comment>


The Ghost in the Browser: Analysis of Web-Based Malware [pdf] - <AUTHOR> https://www.usenix.org/legacy/events/hotbots07/tech/full_papers/provos/provos.pdf

<comment><USER2> It's a great paper. Nearly anything by Neils Provos is great, but this is from 2007 and a lot has changed since then. You should probably edit the submission title and append "(2007)" to it.

</comment><comment><USER3> From the paper's conclusion:

        ...adversaries take advantage of powerful scripting languages such as Javascript
        to determine exactly which vulnerabilities are present on a user's computer and
        use that information to request appropriate exploits from a central server.

Even though this has been a well-known problem for a long time now, we still have a HUGE number of people here on HN that trash talk the very idea of not using javascript. An industry is in a very bad place when using the latest fad tool (e.g. Angular) trumps user safety.

<comment><USER4> Approximately 1% (order of magnitude) of users have JS disabled. If users wish to disable it they can, but most of the web will break.

I don't particularly see this as an indictment of the industry, rather, it's an indication of the risk-benefit trade-off that most people are willing to make. A little risk, a lot of functionality.

Put a different way; driving is WAY more of a risk, but it doesn't seem to stop people doing it.

We've mostly gotten rid of Java and Flash at this point. That seems rational. The investment in browser (and JS engine) security at this point is massive. If you've got missile launch codes on your computer or something, by all means, don't browse! (or browse with JS disabled, or use Qubes, or otherwise sandbox your browser).

Realistically, at any given point in time my browser IS vulnerable - but on the other hand, my CC details and DOX aren't worth burning a reliable 0day on, so I'm cool with JS enabled.

<comment><USER3> So I'll take that as yes, you insist that people must accept additional risks to red your pages. You place ease of development (or maybe unnecessary-but- shiny features) over the safety of users.

> 1%

That just proves my point about how widespread this disregard for safety is in this industry. Saying "but those people make broken products as well!" isn't a justification to do so yourself.

> driving

is off topic, and in no way comparable. I am not being forced to accept risk from driving to read document or submit a simple form.

> Java and Flash

Not documents. More importantly, this is another example where saying "but he did it to!" isn't a justification.

> missile launch codes

This is just cheap hyperbole intended to distract.

> don't browse [unless you let us force risk on you]

At least you admit that you agree with this ultimatum.

> my browser IS vulnerable

Yes, it probably is - so maybe you should start to work on fixing that situation. A good place to start would be limiting the use of the main vectors for infection... which is javascript. The paper even discusses (and I quoted) how the use of javascript enables auto-selection of attacks.

> my CC details and DOX aren't worth

Ahh, the "but I'm not interesting enough to be a target" fallacy, where you only consider targeted attacks.

<comment><USER4> I respect your opinion, but still feel that you fail to understand the fundamental nature of risk.

P.S: I write browser exploits (mostly FF, I'm not pro enough to do Chrome!). Usually use-after-free. Myself and my colleagues still browse with JS on. BTW, NoScript bypass is do-able.

<comment><USER5> Can you maybe elaborate on the main non-js vectors? I know image/video is one, is webgl/canvas maybe a big one? or webrtc? Or would you say js is by far the biggest vector? I currently browse with developer edition (daily patches) with noscript and requestpolicy to make firefox as secure as I can but I still feel using a browser, and Firefox in particular is very unsafe practice and the code is a mess. Am I right in this as far as you know?

<comment><USER4> JS is by far the biggest vector. Even if you have a good bug in another component (those you listed are good candidates) you will typically need JS to massage the heap or trigger it.

SVG is another good source of bugs that comes to mind.

I don't think FF code quality is particularly worse than other browsers. Part of the problem is that it is simply a very large very public project. Some of the code is very old. Mainly though, they have been a bit slow to implement architectural features (e.g. privilege separation / sandboxing) which would improve resilience.</comment></comment></comment></comment></comment></comment>


Mentor Saturday - <AUTHOR>

Two previous threads [1][2] show that there are some interest in such threads(the second one did hit frontpage though, only /ask). Let's continue this experiment, and match mentors and mentees.<p>[1] https://news.ycombinator.com/item?id=7825900 [2] https://news.ycombinator.com/item?id=7862082 <comment><USER2> I'm the technical sole-founder of a startup that restructures semantic RDF triples to create a fast and intuitive BI interface to open data. (See here: [https://vimeo.com/87414567](https://vimeo.com/87414567))

I could use help on the non-technical aspects. (E.g. What are the best ways to identify customers? etc.) My email is david at brodlist dot com.

</comment><comment><AUTHOR> Intrestingly, the third thread is the least popular. It seems like once a week is too frequent. But maybe I'm missing something. Is there any other reason?

</comment><comment><USER3> I've been building websites and web apps for over 15 years now. Email is in my profile. Let me know what you're struggling with.</comment>


Detecting Methane from Miles Away - <AUTHOR> https://cires.colorado.edu/news/detecting-methane-miles-away <comment><USER2> Since humans don't exhale methane, it's weird of the article to use "¼ of a human exhalation" as a measure of volume.

<comment><USER3> I think they missed a great title opportunity. A "fart detector that works a mile away" seems to be great way to phrase it; it's concise, easy to imagine, relatable and comical. The article could then go into the specifics of what the detector actually picks up (e.g. CH4).

I find the diffusion of the smell of flatulence to be a better comparison, because it invokes a visceral reaction ("eww", "yuck", etc.). Imagining a device which does this seems easier. I have a worse idea of what "1/4 of a human exhalation" means.

<comment><USER4> Unfortunately for the fart detector (but fortunately for us!), human farts average around 100ml [1], whereas an adult male breath averages about 500ml [2]. That could still be sorted out for your title, but we also have to consider that a fart is only about 7% methane [3]. This suggests the one mile sensitivity is going to be at around 18 simultaneous average farts, or 5 at the record-breaking end of the scale -- conditions which might indeed justify further surveying the region _at altitude_.

If we're willing to get closer than a mile (questionable in the above scenario), we can apply an inverse law for gas diffusion [4] (I was surprised it wasn't inverse square!) and find that the apparatus can can detect a single average fart at a distance of around 30 feet -- easily covering most elementary school classrooms and automating away the "whom smelt it dealt it" dilemma.

[1] [https://www.chemistryworld.com/news/explainer-the- chemistry-...](https://www.chemistryworld.com/news/explainer-the-chemistry-of- farts/2500168.article) [2] [https://en.wikipedia.org/wiki/Tidal_volume](https://en.wikipedia.org/wiki/Tidal_volume) [3] [https://en.wikipedia.org/wiki/Flatulence](https://en.wikipedia.org/wiki/Flatulence) [4] [https://physics.stackexchange.com/questions/290059/inverse-s...](https://physics.stackexchange.com/questions/290059/inverse- square-law-equivalent-for-concentration)

</comment></comment></comment><comment><USER5> Well, that's a terrifying device for finding humans.

<comment><USER6> Terminator: a thousand humans. Tracking.

Terminator: Acquiring target. Distance 200m.

150m

100m

50m

Cow: MOOOOOOOOOO!

Terminator struggles 30 seconds to eject head from cow butt.

<comment><USER7> [https://en.wikipedia.org/wiki/People_sniffer](https://en.wikipedia.org/wiki/People_sniffer)

</comment></comment></comment><comment><USER8> headline should read "a mile away"

also i don't think that methane comes out when a human exhales.

<comment><USER9> Perhaps a tiny fraction, and that's detected (?)

<comment><USER10> I'm not entirely sure about it but I guess they used "human exhalation" as a somewhat relatable unit of volume for a gas but the actual system has nothing to do with detecting humans? That's the only way that makes sense to me, although if that's the case that's really needlessly confusing.</comment></comment></comment>


Why Are TV Ads So Danged Loud? - <AUTHOR> http://screenrant.com/why-are-tv-ads-so-danged-loud-brusimm-1426/ <comment><USER2> I get just annoyed when I watch a movie. I raise up the volume to hear the actors talking, next thing you know they play really loud music for a scene, I do mean 2x louder than the actors are talking. I have to watch movies fiddling with the volume, it's a nuisance. I don't watch TV as much as I used to, but yeah there's definitely some commercials that are on their highest volume possible, it's really absurd!

<comment><USER3> That's the result of a 5.1 mix improperly downmixed to stereo.

<comment><USER4> Yeah but why is my TV not able to recognize manually that I use the TV's default speakers and therefore only have stereo? Would there be a way if I watch over a Linux under my control, like on a Rasperry?

</comment></comment></comment><comment><USER5> I thought the FCC /does/ regulate the loudness of TV commercials, for a few years now.

[https://www.fcc.gov/guides/program-background-noise-and- loud...](https://www.fcc.gov/guides/program-background-noise-and-loud- commercials)

<comment><USER6> Yeah, article from ~2008, FCC regulated loud commercials ~2012: [http://www.fcc.gov/encyclopedia/loud- commercials](http://www.fcc.gov/encyclopedia/loud-commercials)

I like that HN isn't afraid of older content, but you know, caveat lector.

<comment><USER5> Ahh, thanks for pointing that out; I didn't notice it was an old post. Usually those have the date (2008) at the end of the title.

<comment><USER7> Would be nice to have it added. Mods?

</comment></comment></comment></comment><comment><USER8> We had this all figured out here in the Netherlands, a law prevented this behavior (which in turn prevents muting during commercial so why the hell they kept raising the volume no one knows) and it seemed to work. But now we have made the switch to digital and we are back where we started (I really wonder why)... Back to hands on the mute button as soon as the logo disappears (which signals incoming commercial break.)

</comment><comment><USER9> (If you know what the difference is between an amplifier and an attenuator, you should probably skip this comment.)

The point that the article tries to establish (and, IMHO, fails) is that there are two things going on:

S: The signal that comes in.

V: The perceived volume that reaches your ear after the signal is decoded, amplified, and transduced by speakers.

S influences V, but so does the volume control on your TV or receiver, the efficiency of your speakers, and how far away you are. The fact that S and V are different is what allows your TV station to claim with a straight face that the perception of sound is not under their control. But they're also lying, because...

TV stations take content from many sources (local commercials, network commercials, local programming, network programming) and while they probably pass the network stuff straight through, they still have to adjust the level of everything else so that it is not too distractingly different from what the network feed. Local advertisers will complain vociferously if Billy Bob Auto's 35 seconds of dancing cheerleaders clustered up around old Billy Bob himself is a smidge quieter than Jesse Ventura's minigun chopping down trees in the edited-for-TV rerun of Predator that just went to commercial break.

So they run all the sources through compressors, expanders and limiters to get a more or less equalized top output volume. The sources have all been produced with this expectation, so we have the exact same loudness war that has been mentioned on HN recently, only on TV instead of on CD and FM and MP3.

In the end, you get problems at every commercial break where the program has lots of dynamics and ends on a quiet bit. The "normal" Billy Bob Auto ad wouldn't sound so loud if it had happened right after the car chase.

</comment><comment><USER10> My cynical and most likely incorrect theory is that a lot of people use commercials as an excuse to get up from the couch and go to the kitchen, bathroom, etc. and the advertisers still want them to be able to hear the commercial. :P

<comment><USER11> I think that's a good start, and that we can go further if we get more cynical.

From the advertiser's perspective, the main point of a TV commercial is to manipulate you into buying stuff; the show is just bait. We all know from personal experience that people pay more attention if we suddenly get louder. Presumably the people who make commercials know that, too. I'm sure some people even resisted, but once other commercials are loud, you sure don't want to be the quiet one that people can more easily talk over.

Presumably volume levels will go up until more likely purchasers are put off by the level than are influenced by the now-heard message; it's only at that point they'd see a dip in the numbers.

<comment><USER12> Advertising is the main reason I don't watch TV anymore. It just irritates me too much. (Also, if a website pops up an add, I immediately close the page.)

<comment><USER13> Same, especially the repetition of pretty cringe-worthy content (stupid jokes and skits seem to be a mainstay of TV advertising). Many TV ads are just about bearable the first time, but I cannot stand to see them 5 or 10 or 50 times, which means that I can't watch TV regularly without becoming irritated about it.

</comment></comment></comment></comment><comment><USER14> The same reason why music on the radio is so dang loud– excessive compression. See: The Loudness War (just 1:54 mins long): [https://www.youtube.com/watch?v=3Gmex_4hreQ](https://www.youtube.com/watch?v=3Gmex_4hreQ)

</comment><comment><USER15> Serious people avoid this shit-show by simply not watching commercial television, except through DVDs or subscription downloads.

<comment><USER16> Many DVDs still have ads, unskippable "look, here is this super loud 20 second fade in of the distributor logo" sections and very loud menus. They also have mandatory unskippable "warnings" about how evil you are and how you are forbidden from watching the film on an oil platform. The only effective way around those is ripping and re-recording if you want to play it on anything but a computer with non-crippled software.

</comment></comment><comment><USER17> One of the reasons I like old recordings is because they still cared about the dynamic range. Accent is a core component of music and is completely lost in the compressor/expander wars of today. Try listening to something like Patsy Cline or John Coltrane and then contrast it with something newer and heavily compressed, like White Zombie. The accents in the older music give it an extra dimension comparatively.

</comment><comment><USER18> I've noticed TV ads also becoming _visually_ "louder." Not just in the number and quickness of cuts, but in the deliberate "strobing" of their visual effects.

Cuts switch between dark and light scenes. Within cuts, there are often effects that "flash" the screen repeatedly. They are effects that are ostensibly part of the scene -- not just inserted white frames or the like. But they are composited to create this very attention-grabbing "strobing".

I started noticing this because I would have the TV on in the background, e.g. with the mid-day news on while I was at the computer. It was in my peripheral vision, and I noticed it increasingly grabbing my attention when I was not interested in the content. Even when muted.

 _Even when muted._

This, I think, is a key point.

People are, when not fast forwarding through, at least muting the commercials. So... no longer to they "shout" at us; they flash and flicker in attempts to make sure that we are still -- willingly or not -- paying attention to the screen.

I've moved on largely to streamed content. Nonetheless, a "mute" feature I would like would be one that also sets the screen brightness, intensity, and/or dynamicism to e.g. 50% or somesuch of normal. Enough to see what is on screen, but to make this "strobing" much less intrusive.

Of course, business models will suppress this ever happening, in the mainstream commercial sphere. But from a technical perspective, it would be a nice, simple addition to the product features.

P.S. Once you are aware it is occurring, have a look for this visual gaming. It then quite stands out.

</comment><comment><USER19> They're also fibbing about not having a way to objectively measure and meter loudness.

It's existed for years as ITU-R BS.1770 in the U.S. (there a very, very similar recommendation called EBU R128 in the EU).

There are standard methods to meter percieved loudness and output energy, there is widely available hardware to implement this.

My solution is to not watch live television. Every once in a while I'll buy a boxed set of a show, or a backup of such a boxed set. I listen to it at the level of my music, metered with the recommended method from EBU R128.

In addition to the benefit of not being jarred by the loudness contrast, I get the benefit of being able to actually experience the whole movie or television show as one continuous feed, usually the way it was intended to be watched. The audio is also often lossless or close to it, the movies not cut awkwardly, my audio equipment is better on my personal computer than it is on anyone's living room.

Don't watch live television; it's expensive, offensively formatted, and usually not really that good.

</comment><comment><USER20> It's not just the ads. The shows are louder too. This is in large part due to the poor quality of speakers in many modern TVs. Same reason for the loudness war in music. The audio is mastered to sound good on bad speakers. It's more dramatic / noticeable in ads because you're watching a bunch of spots run back-to-back in a a relatively short period of time. The content of the ads are produced to be more attention grabbing and clearly define the start/end of each spot. IMO trying to regulate something like this is pointless. They'll just find new ways to be irritating until that model stops working for them.

</comment><comment><USER21> In Germany we're adopting the EBU Recommendation R 128 and don't have the problem that much anymore.

</comment><comment><USER22> I have watched very few TV ads in the last 10 years or so thanks to the SageTV DVR software and the Comskip commercial detection and skipping plugin. It isn't perfect, but it is pretty close.

Despite being acquired by Google, the founder of SageTV recently announced that SageTV source will be released as open source soon, so we can expect a healthy future for this great DVR platform!

</comment><comment><USER23> Have anyone tried to completely avoid TV ads...I mean, just turn the damn thing off when the ad starts.

Thinking about that, could we make a thing, which can receive start frames of commonly appearing ads from a server, which will be dynamically updated, and when the frames in the transmission match, do a user defined action. Either turn the TV off or switch channels...

<comment><USER24> Commercial skipping is very doable from a tech perspective, the challenge is with the business implementation. Some background links:

[http://www.cnet.com/news/directv-sitting-on-tv-commercial- sk...](http://www.cnet.com/news/directv-sitting-on-tv-commercial-skipping- technology/) [http://en.wikipedia.org/wiki/Commercial_skipping](http://en.wikipedia.org/wiki/Commercial_skipping) [http://www.nytimes.com/2012/05/17/business/media/dish- networ...](http://www.nytimes.com/2012/05/17/business/media/dish-networks- hopper-cuts-ads-and-causes-tremors-at-tv-upfronts.html)

</comment></comment><comment><USER25> Many cable set-top boxes have "Dolby Volume" as a feature in a hidden sub menu. It's off by default, as is the feature that prevents your TV from stretching 4:3 channels across your 16:9 screen.

So this 2008 post is timely for me; just last night I spotted that menu item, and wondered what it was.

</comment><comment><USER17> I wonder if this could be solved with two volume knobs - one to raise low volumes higher, and the other to lower high volumes.

This way the user can change the overall volume and dynamic range, instead of just the overall volume. The greater the delta between the two, the greater the dynamic range.

<comment><USER26> Perhaps you jest, but if not, what you've described here the general function of an audio compressor. Compressors are repsonsible for a lot of the lack of dynamics in modern recorded (and some live) music.

A compressor has a setpoint above which it will only allow volume to increase at a set ratio (1 dB for every X dB over the threshold), effectively curving off the peaks. It also usually has a setting for "makeup" gain to raise the volume floor. There's a lot more to it (knee, attack, release, etc.), but that's the general gist - they're designed to manage the dynamic range of a given channel.

<comment><USER17> True, it is audio compression (or expansion, depending on the settings).

If the audio signal dictates the balance, why have a left and right balance knob? We have a volume knob, but no way to adjust the compression. We are letting the audio signal dictate the compression. It should be set by the user, just like the balance. It could also be a compressor/expander setting, but IMO musical accent is so core to music that it should be a part of the volume control.

I doubt any of this would work as the original range is lost after it is compressed.

</comment></comment></comment><comment><USER4> What I wonder more is why voice consistently is more silent than action. I am just watching Avengers 1, and I have to scale the sound every two minutes, because action scenes are too loud and dialogue scenes are too silent. I have no 5-1 sound system, but I think my modern TV has a Linux inside. It should have the power to scale accordingly!

*edit: Sorry I haven't read the other comments before. Thus, this is merely a +1 to them. If you want to comment about this topic look at the other discussions. Thanks.

</comment><comment><USER27> I lived with some guys who had a TV that would mute automatically during commercials. This was about 5 years ago, but I think the TV was older than that (it wasn't a flat screen).

I assume it took advantage of the fact that commercials have different audio signal properties (which we perceive as loudness) than regular programming.

I haven't seen a TV that can do this since, although the fact that I only use my TVs now for streaming and gaming means it's not exactly a feature that I'm on the lookout for.

</comment><comment><USER28> "Published 7 years ago by Bruce Simmons , Updated February 15th, 2014"

Well, today it should be practical to have something that does that, and it doesn't need to bee too expensive. But you need a way to tap into the audio channels (so for example, between TV and a cable box)

But it's doable

</comment><comment><USER29> Or just don't watch TV.

<comment><USER30> It still blows my mind when I hear about or remember that people still watch Television. Not just the furniture its self, but the scheduled programming its self. Whaaa? Do they have no autonomy? Do they have no desire to follow their own interests?

The only exception I can think of is sports. Cable channels seem to have a pretty tight reign on live coverage.

<comment><USER22> There is a lot of crap out there but on the other hand many consider it to be a new Golden Age of Television. Granted I think the sans-advertisements HBO has as much to do with this as its ad-driven counterparts.

Breaking Bad and Mad Men? I think those are examples of great commercial television.

I think one could easily go without though and probably live a richer life if you choose a more productive alternate activity in its place. But sometimes you just want to zone out on some pop drama for an hour.

<comment><USER31> I think you and the parent are subtly not talking about quite the same thing. You advocate good television _shows_ , he is talking about watching television in front of a television, as controlled by a television station, at their schedule.

It is quite possible to watch the shows on your terms, when it fits into your schedule - who is to say that you need to zone out at same time your favourite show in on air?

</comment></comment></comment></comment><comment><USER32> Because they know you are off to the bathroom.

Idea: BlockAds/MuteAds for TV.

Idea 2: A DVR like device that delays your entire programming by 5 minutes so that it automatically wipes out ads.

</comment><comment><USER33> You know what doesn't have loud ads? Good, old-fashioned print books.

I've been meaning to go back to them over a lot of other entertainment media consumption.</comment>


Show HN: A FUSE Filesystem on Noms - <AUTHOR> http://dtrace.org/blogs/ahl/2016/08/09/nomsfs/ <comment><USER2> This is really cool. I like how simple it feels the datastructure is. One thing i hate about some storage..things is that they can sometimes feel like you're locking your data in. This format looks simple enough that you could write a bash script to pull your files out of the database if you really wanted.

Any idea if it's possible to duplicate/backup a noms database to an encrypted remote? Eg, if you wanted to just encrypt and duplicate the database to cloud storage, how might that work?

<comment><USER3> It would not be hard to do an encrypted remote.

We already have to support moving between different versions of the noms format, which changes all the hashes. Encryption is the same. You can look at an encrypted remote as just a different version of the format, and use the same approach.

Star this bug, and when the migrate program is landed, you could basically just fork it to support encryption:

[https://github.com/attic-labs/noms/issues/2272](https://github.com/attic- labs/noms/issues/2272)</comment></comment>


The Startup Visa (update) - <AUTHOR> http://www.avc.com/a_vc/2010/02/the-startup-visa-update.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+AVc+%28A+VC%29&utm_content=Google+Reader <comment><USER2> Such a good idea, and It's made an excellent start, it would be great if this got through. Although I can imagine that it would be difficult to keep it air- tight to its purpose (as you pointed out with immigration abuse)... but doesn't mean it shouldn't be in effect.

</comment><comment><USER3> I hope it gets passed. I also hope they simplify the visa system. It's a friggin mess already. If you've ever seen the US visa page it's an alphabet soup of letters and numbers. Tourists need a D, I have a hard time distinguishing between an H1 and L1 visa. Performers need an O, family gets K, and students get a F/J/H?.

Instead of adding yet another Visa classification pair it down to 5 or 6, and make the terms reasonable. Currently, the easiest visas require you to be either really rich, or really poor and willing to do manual labor. The educated middle wants you to jump through ridiculous hoops (a lottery? really!)

</comment><comment><USER4> This is part of the argument which states: "immigrant labor and skills are vital to new business development". That might be a fact, just as "pervasive outsourcing of U.S. jobs harms the U.S. economy". If legislation is to be meaningful, it should be more complete.

I'd be willing to support legislation such as that proposed, if it included dis-incentives (i.e. significant tariffs and fees) for companies who outsource. If it's really all about developing business and jobs _in_ America, then make it complete. I vote against half-measures and one-sided legislation, though.

<comment><USER5> I downvoted you, but I shouldn't have, I should have just responded with why I disagree. So I apologize for that. Here's my thoughts:

> I'd be willing to support legislation such as that proposed, if it included > dis-incentives (i.e. significant tariffs and fees) for companies who > outsource.

In the modern economy, setting tariffs is akin to declaring trade warfare. A few years ago, then-President Bush was advocating a tariff on steel to protect U.S. businesses, and the EU responded that they'd counteract with a broad set of tariffs on American exports. The plan fell through.

The only countries you can get away with placing tariffs on are countries you hurt tremendously by doing so. Things like the tariff on sugar which really hurts Caribbean countries while making American High Fructose Corn Syrup the #1 alternative. The Chinese and Indian markets are already and will continue to become more important to American companies. It might even be impossible to place a tariff/tax/penalty on companies who outsource due to Most Favored Nation terms in treaties, but even if it was - you really don't want to mess around with two countries that have a combined population over 2 billion, who are growing rapidly, and who are very important to the USA. Never mind the economics of how it'd change prices - setting a tariff creates a nasty domino effect of hostility in international relations and isn't really feasible in the modern world. So, count me firmly against that idea, but I do apologize for downvoting you. You expressed an idea you had that I disagree with, and I should've responded without voting.

</comment></comment><comment><USER6> The U.S. already has investor visas. The only difference between the investor visa and the start-up visa is that the latter dispenses with the capital requirement. I don't see what entrepreneurs are gaining by locating new businesses in the U.S.--people forget that the U.S. taxes the worldwide income of its residents. That's not the case with the U.K. or Canada. You can do all kinds of business without living in the U.S. and subjecting yourself and your company to U.S. laws. Where's the advantage?

</comment><comment><USER7> A step in the right direction. If the US (once again) starts to embrace qualified immigrants, there will only be one way to go from here - up.

</comment><comment><USER8> This is great. Helping out the economy and creating jobs that stay in the US.</comment>


Why I Studied Full-Time for 8 Months for a Google Interview - <AUTHOR> https://medium.freecodecamp.com/why-i-studied-full-time-for-8-months-for-a-google-interview-cc662ce9bb13 <comment><USER3> I worked at Google. This makes me sad. Sad to see people are treating a for profit company like a religion. Google is a good workplace compared to other companies but it's not a religion and it's not perfect. As other commenters said it's not the thing it was before either.

I left Google to work on something more interesting and I can't be happier. If we're going to hire people, I'm not putting any weight on their work background.

<comment><USER4> It reminds me of graduates who want to get into investment banking. They have a ranking in their head of which bank is better than which other, and make a massive deal out of getting into #2 instead of #1 or #3. The reality is that down to #10, they will likely get a very similar experience and chances are they will have gone through 2 or 3 of those banks on their list anyway by the time they are 30.

And at the end of the day, what makes most of your experience is the team you work with rather than which of the 50,000+ employees organisations employs you.

<comment><USER5> There is signalling content associated with being at the number 1 bank (and a top group within that bank for that matter; e.g., the financial institutions group at Goldman Sachs). If you planned on staying at an investment bank for your whole career then this might not be so important. The majority of people who start these jobs hope very much to jump ship as soon as possible to work on the buy side (hedge fund or private equity), and in that regard the signalling content is very important because there are so many good candidates for any available spots.

</comment></comment></comment><comment><USER6> > I've spent thousands of hours reading books, writing code, and watching > computer science lectures, all to prepare for the Google software engineer > interview.

Shouldn't you just be doing this anyway if you want to be a good computer scientist? That's how you learn. You constantly take in new information and attempt to apply it and Computer Science is one of the most enabling fields of this form of learning since 1) we all love to churn out an "Experiment" every once and a while and have it fall into being a small side project that makes us a few k and 2) almost EVERYTHING is free! All the info is made by basement- dwelling nerds who sit at home and build cool ass shit and as such they put it all on the internet! Being one of these basement dwelling nerds, it's frigin amazing to have a wealth of all of the fields best research at my fingertips just a google away and I love learning this stuff not for an inevitable goal of "Being a Googler (tm)" but instead of furthering what I know about the world.

If the author is reading this, good on you for learning but don't worry about being a googler if you can do this then you're better then the average googler because you're in the top 1 maybe 2% of all computer scientists if you continually want to learn more. Google even thinks that way, look at their higher level employees like Rob Pike, people who think programmers must be limited because they aren't able to think as well as him about abstractions. Don't waste your time at google. Start a company, build something amazing for yourself or do contract work for others, write these blog posts to get more clients, and make the world a better place. If you're this smart you don't need to run a hamsterwheel for a huge Google-sized corporation.

<comment><USER7> I agree he's way ahead of the game; being an engineer at Google would be a step back unless:

1\. He gets placed as a staff engineer or director.

2\. He gets a new shiny project that for some reason he has reasonable autonomy over.

Otherwise he'll get tired of the big-company politics. I can't imagine why a self-starter like this would want a set of bosses.

He's already at the next level, building his own companies (likely an app here and there). He may not be making millions but he's got the fundamentals down. I would think that most folks on HN would much rather be able to own their own businesses rather than being an employee at a large company.

Edit: further down some commenters investigated and figured it out: this blog post is marketing for a Google interview-prep training he intends to run.

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

<comment><USER8> Interesting how you consider "building his own companies" to be the next level. Maybe indeed this is a commonly held HN view. I've always thought doing a start-up (or working for a medium sized company) is what you do early on, in order to gain the skills needed and prep for the end goal: Working for one of the top prestigious companies. Look at all the start-ups that are evidently founded for the sole purpose of being acquired by one of the Big Boys.

<comment><USER6> He's an ex-mil, current-genious computer scientist. Working for google would restrict him to google work.

Working as a contractor, with a military background and a well documented solid computer science background (not traditional of course but still rock solid), he can pretty much right his own tickets in any R&D field. I can't think of a better person to contract out too: worked intel, speaks Korean (Southern dialect I presume), and proably has held a clearance because of his MOS.

He could work on anything that goes kaboom, vroom, flys, or pushes the boundries of human understanding (maybe even a combination of the three!).

Hell, you could even just do "boring" old software development on contract and make sure the infrastructure behind the world doesn't fall apart (That's what contracting programmers do). If you can branch into embeded development you could work on medial, networking, sensor, mining, and aerospace gear.

I understand the appeal of Google, but I'd probably say that if you're the type who likes to self study, who is so motivated that you will devote 8 months of your life to getting something right, who will pour over a book for days on end until you've soaked up every bit of knowladge, and you're someone who can take all of that and put it into solving problems then I don't think your talent will be adaquatly used at Google. Google isn't that special unless you're going to Google to say "I work at Google!"

Working for yourself, on your own timeframe, doing what this person obviously enjoys (learning and applying that learnt knowladge), all while being paid exorbitant amounts of money to build or help build things that push the boundries of human knowladge and possibilites sounds more fufilling then fixing support ticket #449,823,335,465 for Module #32,388,556 in Chrome/Search/AdSense/Cloud software.

But I don't know, that could just be me.

<comment><USER9> Why are you calling him a "current-genius computer scientist" for studying the foundational subjects of an undergrad CS degree?

<comment><USER6> Because I've found most masters and PhDs don't have a rock solid understanding of ALL of the Computer Science undertones.

Some are good at datastructures, some are good with algorithms, some are still studying concurancy, parallelism, and distributed systems, and the rest know cryptography (which I hold as not being a Computer Science discipline).

Very very few people have a rock solid grasp of everything (that I consider) in the CS field. If he underwent this curriculum and actually learned all of what he said he did he's a genious. He'd run circles around most people in a university who claim to know the material but are 5, 10, 15 years out of study.

One of my professors is running a class on C and writes everything like K&R (and doesn't use free after he allocates memory. He just allocates and forgets!). Another I have is teaching a programming language concepts class and he says "All of these crazy lazy evaluation nonsense languages are useless" in regards to the entire LISP liniage.

Again, by doing all of these you're far ahead of the curve.

<comment><USER9> What are you talking about?

This guy doesn't know all that. He might have it on his list, but he's still in the middle of learning the core subjects of a CS curriculum.

And pretty much any programmer could take the time to study these topics in depth and achieve that level of competence with them. Most choose not to.

<comment><USER6> > Most choose not to

That's the point I'm making. He's ahead of the game just for trying.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> I feel like this is some sort of promotional piece, but I can't quite get the angle - is he a fictitious individual made up by Google? Is this an attempt by Apple to make Google employees look weird? Is he a real person who's looking to publish a book?

Perhaps it's entirely legit, but it just seems so, so strange to me.

<comment><USER11> There are those of us, of a certain age, for whom the "web" was at best a novelty while we were in school. Even through the original .com bubble, becoming a web programmer wasn't the same as "CS". EE and CS were disciplines for which you got hired at Microsoft (gold standard at the time), Oracle, Western Digital, HP (on the decline), etc. It wasn't that cool.

Then Google happened. Google elevated the Web into a real software engineering platform, and suddenly this novelty thing we were doing was taken over by the hardcore CS graduates.

Our friends and family were like "why don't you go work for Google" and we had to explain how what Google does and what we do are different.

I think that for some people, especially those who have worked in Web their whole careers, the desire to work in that kind of product environment is very appealing. So I would say this person is probably legit in their desire to work at Google.

I have no opinion on whether working at Google is worth it or not. But even if you end up not liking it, I suspect just being there opens a ton of future doors. It's a win-win if this guy is successful.

<comment><USER8> Yea, I got similar advice during undergrad (back in the nineties, when dinosaurs roamed the earth): The web is a toy. It's not for Serious Developers™. Serious Developers™ do real time embedded systems, device drivers, systems programming, control systems, etc. Don't worry about HTML (which isn't a "real" language for Serious Developers™). Learn C and assembly, and microprocessors. Then Netscape happened and I found myself wondering if I bet on the wrong horse....

2 decades later I'm still not sure!

<comment><USER11> An interesting grass is always greener perspective. I have an impression that if you studied C and embedded programming, switching into a Google environment and working on the web is much easier than if you started with Web/HTML and tried to switch into embedded systems.

I took the web route and always dreamed about tackling C and embedded systems. I did some hobby work to learn it but without doing it every day at work, tough to keep it going.

</comment></comment></comment></comment><comment><USER12> The very fact that "preparing for 8 months for a Google interview" is a thing highlights all the things that have gone wrong at Google and their widely panned bad recruitment practices.

The process has become about recruiting people that are good at the silly process and not about recruiting the best people. Probably OK if Google is in 'megacorp looking to feed more skillled cogs into the machine' mode (which it mostly is), but unlikely the process finds the person that builds the next Google.

<comment><USER13> He studied C++, Unix, algorithms, data structures, and system design. Is learning that stuff a "silly process"?

<comment><USER14> For the express purpose of working at Google? Yes.

</comment></comment></comment><comment><USER15> (disclaimer: I work at Google)

Google is a great company to work for, but there are many great companies out there. Don't close off other possibly-great opportunities because you're focused on working for a single place. Some random thoughts:

\- Hiring at Google, despite our best efforts, is a mostly-random affair. The process is optimized to avoid hiring bad engineers, at the expense of frequently rejecting good engineers. If you get rejected, it doesn't mean anything.

\- The average kind of eng work at Google is much like that at any other extremely well-run coding shop. You may spend a lot of time working on backend code that unglamorously glues two communications protocols together. It won't require a deep knowledge of fancy algorithms, but it will require a dedication to code quality, sustainability, testing, and personal productivity.

\- Or you may get to work on the Next Big Thing, but keep in mind that most NBTs never see the light of day. It's an exciting work environment, but you have to deal with a lot of chaos and a lot more politics and uncertainty.

\- The benefits are great, the work environment is great, and the average quality of your coworkers is great. This is the best thing about Google. If I were going to work somewhere else, I would prioritize these aspects.

\- Google, like all large companies, is an uneven experience. Some excellent engineers get hired here who never really "click" \-- they get put on projects they don't find interesting, they don't get on with their coworkers, etc. The vast majority of your coworkers will be really outstanding, but there will always be at least one person who you think is kind of an idiot. Most managers are great, but there are still a few assholes. If yours is, then you won't have a good time. Google does its best to minimize all of these problems via things like how it handles promotion, but there's only so much it can do.

Long story short: self-improvement is its own reward. Doing things is how you prove the truth of that improvement. If you can combine that with a great work environment, you're pretty set.

</comment><comment><USER16> It fascinates me the extent to which he regrets not getting a Computer Science degree, and says it impacts how hireable he is. Obviously, data point of one here, but I don't have one and it hasn't come up once in my career.

 _You may not see web development and software engineering as different positions. Both involve programming and craftsmanship, but software engineering adds to it knowledge of data structures and algorithms, compiled languages, memory considerations, and understanding the impact of coding and architecture decisions on the machines where they reside._

I think that's a simplistic view of what "web developer" is these days. I work in the web for most of the time and I absolutely have to do deal with memory considerations as well as code and architecture choices. And if you're a full- stack developer you're likely dealing with some kind of compiled language on the backend.

 _In brief, Google is a company that hires smart, creative people, and treats them well. Google rewards merit, encourages big ideas, and gives employees the freedom to make good decisions for the user._

I very much question that, in 2016.

<comment><USER17> > It fascinates me the extent to which he regrets not getting a Computer > Science degree, and says it impacts how hireable he is. Obviously, data > point of one here, but I don't have one and it hasn't come up once in my > career.

Same here, except for when I interviewed at Google. :) I was interviewing for a frontend position, and I got through the interviews ok and was passed along to a few departments. Payments was interested in hiring me, so I got passed back to the "hiring committee" who has the final say. I started receiving emails from the Google recruiter (who was the go-between between me and the hiring committee) with specific questions about my degree (Anthropology from Berkeley), the timeframe I attended and what my GPA was. In the end, they decided not to hire me, even though the Payments team had expressed interest in hiring me, even saying "we'd love to have you on board." I can only conclude that it was specifically because of my education (or lack thereof).

<comment><USER18> Google HR seems generally terrible at keeping things straight since they're such a massive company.

I had a recruiter call me up "hey just wanted to follow up, I see you interviewed with us 6 months ago and did great, wanted to know more about why you aren't working here and if you might be more interested now" and had to tell him "well, I didn't ever get an offer, so that would have something to do with it..."

</comment></comment></comment><comment><USER19> This has been posted quite a few times in the last few days: [https://hn.algolia.com/?query=why%20i%20studied%208%20months...](https://hn.algolia.com/?query=why%20i%20studied%208%20months%20for%20a%20google%20interview&sort=byPopularity&prefix&page=0&dateRange=all&type=story)

Most of the relevant comments are at [https://news.ycombinator.com/item?id=12649740](https://news.ycombinator.com/item?id=12649740)

</comment><comment><USER20> Something wrong with this guy...all this future Googler talk with disclaimer asides about "what if I don't get hired"...and yet he's talking about how you can do it and your success plan.

Anyhow, in general it's getting really weird hearing more stuff like "Google is the best" and "I just have to work there". I question your judgement if you are making these sort of statements as an outsider. At least join the party before you drink the koolaid.

<comment><USER21> Honestly, if I'm a hiring manager at Google, this would turn me off. I wouldn't reject him outright, but it's a yellow flag in terms how effective he'd actually be performing his job.

</comment></comment><comment><USER22> This makes me wonder...

The idea of studying for the sake of making it a certain company, for some reason, turns me off. Never had the personality to do things only because a parent/teacher/company wanted me to do it.

But, if there was something more fundamental to study for, like a certificate, or a project, or a competition (something more advanced than a hackaton), that'd actually be really interesting. The relative success or failure with it could, then, provide feedback. I guess Project Euler is kind of close, but it's a bit too much of a one-person affair, and only the right answer matters. In other areas, there are often communities where more experienced people help out the less experienced while collectively getting better, and there are tangible goals at every step. Video games come to mind.

Unfortunately, all I've seen is always around data structures, small scripts and hacks, time-gated, overly simple, and promote what I would call bad code or shallow understanding. It makes you good at the events in question, and you can get some certificate, but whether or not it's actually making you a better developer is suspect and the correlation is often backwards, if anything.

So the only solid goal a lot of people see is getting hired by X company, and, by extension, getting better at interviews. Because that's something you can measure and get good feedback from and it's a lot simpler than trying to figure out what being a good software developer means.

<comment><USER23> I would bet that a lot of companies consider certifications to be a negative signal when evaluating candidates.

Likely because the certifications aren't meaningfully standardized, so there's not much point in seeking external validation unless you're not confident in your skills.

</comment></comment><comment><USER24> I used to think the CS-y whiteboard interview stuff was a complete waste of time. But now I look at it as a way to prove objectively you have a computer science skill/knowledge-set. Which is nice because it evens out the playing field because many who have the degree don't have the skills and many who don't could acquire them. So its like a bar exam.

There is still an issue though because computer science base knowledge generally lags behind industry-relevant practical knowledge. For example, algorithms and data structures generally accepted as core knowledge do not take enough advantage of today's relatively high RAM availability. And there is not enough emphasis on higher-level components.

You could argue that everyone has to know that old-fashioned basic stuff well and then layer on newer knowlege or perspectives, but I think some of what is considered computer-science core knowledge should be replaced with newer practical things like understanding components and modules and being able to use contemporary tools.

So maybe less emphasis on optimizing algorithms at the procedure level for starters. It might be more important for most engineers to be good with profiling tools and understand the order-of-magnitude differences between memory/CPU/network latency etc. than do be able to do a third-degree low- memory optimization of a function.

<comment><USER25> "For example, algorithms and data structures generally accepted as core knowledge do not take enough advantage of today's relatively high RAM availability."

Wouldn't it be prudent to keep your algorithms as lithe as possible? I would think an algorithm/scheme that chews up large amounts of ramm would be perceived as inefficient?

Kinda like the dumpster fire that is Chrome, currently.

<comment><USER24> Case in point. Read the Google engineering articles describing the work optimizing V8's memory usage. That primarily involved using profiling tools on lots of web pages and then changing the initial size of buffers.

But they still have to use relatively large buffers from an old-fashioned CS algorithm perspective and they couldn't make them smaller without impacting performance the other way. And they can't know that without doing the profiling on the whole system.

So yes you want functions to be lithe but you have to also focus some time, skills and knowledge on optimizing the entire system using tools and real- world data.

</comment></comment></comment><comment><USER26> > Wherever I end up, I'm going in as an entry-level software engineer. I'm not > going in with 15 years of software engineering experience because I simply > don't have it. When it comes to this stuff, I'm the equivalent of a fresh CS > grad.

Talk about selling yourself short. You've been a web developer for 15 years. I would think you've progressed a little further than entry-level.

<comment><USER27> You'd be surprised! I've interviewed many "veterans" (and worked with a few!) who just don't have the chops.

In the world of web development, the developer who knows just enough to skate by without a proper understanding of algorithms and design patterns seems to be the rule rather than the exception.

Kudos to him for acknowledging it and trying to do something about it.

<comment><USER28> _skate by without a proper understanding of algorithms and design patterns_

In your estimation, what are the most important algorithms and design patterns to know for _web development_?

<comment><USER27> When I say web development, I am really talking about web application development. The same skills that apply to a native developer apply to a web developer.

On the design pattern side, MVVM and MVC are integral to modern web development. Inversion of control and delegates are used in many JavaScript frameworks in server side frameworks like Node and .NET

Knowing about different search algorithms comes in handy, as does knowledge of data structures and encoding. With understanding basic CS fundamentals, you can better understand how the framework is doing things under the hood and make informed decisions with how to proceed with a given implementation. It also really helps with troubleshooting when things go wrong.

<comment><USER28> That 99% of algorithms and design patterns are apparently "nice to haves" in web development means deficiencies in them do not constitute "skating by." I only raise this point because there appears to be a huge (and possibly intractable) disconnect between practical needs and theoretical ones when it comes to hiring.

</comment></comment></comment></comment></comment><comment><USER29> The thing about constantly learning new things is that after about 10 years you start to forget the old things. The new stuff kind of overwrites the old stuff after a while.

What I find annoying about technical interviews is that they force me to review useless, basic stuff that I learned 10 years ago instead of asking me about all the cutting edge (and much more interesting/difficult) stuff that I have learned more recently.

<comment><USER30> If you're forgetting it after 10 years, then maybe it's not important. And the alternative shouldn't be the new stuff, because we don't know if that's important yet. It should be the old stuff that people don't forget.

<comment><USER29> Exactly. It's not important... Except for the interview - Which is my point.

</comment></comment></comment><comment><USER31> Sorry, the concept here is mildly depressing.

Go study for 8 months to be awesome, focusing your time on subjects directly related to improving your awesomeness.

If your awesomeness happens to match a need at Google, great. Otherwise, you're still awesome and will wind up somewhere worthwhile....

</comment><comment><USER32> When I saw that title, I was torn between "because you're an idiot" and "because you know what you really want". I'm old enough to know that everybody has an opinion, but I can't help but thinking that studying full-time for 8 months for a job interview is wrong. 8 months is a very long time, and I can easily think a dozen professional contexts where such a time could be put to much better use. It is sad.

<comment><USER33> Put the possible self-promotion, what not aside, I'd be happy to study for a few months without worrying about working full time if I have revenue generating on the side. This is like attednding hacker school for 3 months and my sole goal would be to learn to make something I never had a chance to do it.

This is like preparing for marathon for 12 months every weekend. I am happy to do this just to make myself more knowledgeable with computer science.

I graduated with a degree and I am sorry to say I haven't really make use of my knowledge greatly because there isn't much to use algorithms or data structure in my position (I work as a DevOps) to the extend of building something truly amazing.

</comment></comment><comment><USER34> I started reading this thinking it was nuts to put so much effort into targeting one specific company. But by the end, I couldn't help but admire his willingness to set a goal and put in some serious work to accomplish it!

</comment><comment><USER35> It reads like a PR piece. If it had stopped at "Now I want to be called a software engineer and I'll study for that", it would have been a nice story about setting goals, and working to get there or whatever. But the whole "Google is so freakishly awesome dude! I need to work there!! it's the most better company in the world!" is kind of a turn off.

I can't believe that Google Careers site actually recommend that candidates should study "Cracking the Coding Interview, 6th Edition". This is completely nuts to me.

<comment><USER36> honestly, that book has become like the standard now. i agree that it's completely nuts but here i am, reviewing it even after being in the industry for at least 3 years.

</comment></comment><comment><USER37> How are these people that study for what ever company so certain they'll even get an interview? I'm still waiting for Google to acknowledge my application from last year lol.

<comment><USER38> he has a referral, it's said on the post.

<comment><USER39> And now he has the post, so even Google can google the magnitude of his devotion to them.

<comment><USER40> [https://news.ycombinator.com/item?id=13195131](https://news.ycombinator.com/item?id=13195131)

</comment></comment></comment></comment><comment><USER41> This should not be promoted as a case study, or a success story for people to aspire to emulate.

I hope this guy the best, but he obviously has some mental issue and he's trying to find solace in talking about it publicly.

<comment><USER28> What's the obvious part?

<comment><USER41> I think it's the goal he chose that is making it obvious: devoting his time on earth to landing an entry level job at some company -- a hyper materialistic and anecdotal "goal" at best.

Calling it a goal is funny because it has no value for life, to go all Nietzsche about it.

This is just drinking the capitalistic kool-aid and confusing it with something loftier. I call this a mental issue.

<comment><USER28> Nietzsche had his own mental problems, not the least syphilis, but in the spirit of life's values let's go to the text:

"Much that passed for good with one people was regarded with scorn and contempt by another"[1]

1\. [http://4umi.com/nietzsche/zarathustra/15](http://4umi.com/nietzsche/zarathustra/15)

</comment></comment></comment></comment><comment><USER42> Isn't it really, "Why I studied full-time 8 months for a Google job." This is actually shorter than the 4 years of a BS in Computer Science for the Google job.

</comment><comment><USER43> [https://en.wikipedia.org/wiki/Goodhart's_law](https://en.wikipedia.org/wiki/Goodhart's_law)

I'm sure he has learned a lot, but when you study with an interview in mind, you're not necessarily studying to be a good developer; you're studying to look like one. There's some correlation, but it's not the same thing.

<comment><USER44> This is so true. There are coaching centres here in India, pulling in millions each year to prepare kids for the premier engineering institutes here. Hundreds of thousands of kids join these, but I am still to see even 10% of them working on interesting problems. Like another comment here notes, most of them are becoming a commodity.

</comment></comment><comment><USER45> Hmmm... I can't quite fault the guy if that's what he really wants in life - <USER2> put about 3 months (an entire summer) into unpaid studying for grad school prelims (i.e. I didn't request a teaching assignment for the summer) and ended up being the only person to pass all three exams at once that fall (Note: I think there were a couple people that passed the exams by spreading them out over the space of a year or two).

On the other hand, this seems like something you can only easily do if you are young / no kids / or have tons of savings (rich)... (I strongly doubt my wife would put up with me doing this now) so hopefully for the crop of people that want to work there it is not the norm / maybe their age diversity would benefit from making applicants work record count for a bit more or something, idk.

</comment><comment><USER46> I appreciate all the effort this guy has gone to in order to document his process and progress. I don't know if I agree that the end goal is worth the effort, but along the way he's collected a nice corpus of knowledge that any strong computer engineering person should know and made it accessible to others.

For myself personally, I don't have a strong formal education in CS, I'm just a smart cookie who picks things up as a I go along. I've also never worked as a purely software developer type role, since I'm Ops/Hardware/Sec focused. But all of the information in here is stuff that is gold to know. I'm definitely going to be using this as a resource to understand the pure CS stuff better, even though I have no intention of ever pursuing a job at Google.

</comment><comment><USER47> Most Google engineers, if asked nicely, will give a mock interview and give feedback on if you're (in their personal opinion) above the hiring standard.

There are thousands scattered all over the internet - just scout one out and ask.

</comment><comment><USER48> Did he actually get hired?

<comment><USER49> Rejected for being over 30.

<comment><USER50> I've been expecting somebody to point that out. Google is notorious for finding excuses to reject otherwise competent interviewees who happen to be above a certain age. They always hide behind "You're a great candidate, but..." and then list a weak excuse to not give them an offer. It's illegal and immoral but almost impossible to prove.

</comment></comment></comment><comment><USER51> This is just "preposterous". Either the author has an overblown image of Google or has no selfesteem.

</comment><comment><USER52> This makes me feel weird. I interviewed at the Googleplex one time for an SDE position and got an offer that I turned down. I didn't prepare at all. I didn't even get very much sleep the night before.

</comment><comment><USER53> I think we need to make a clear distinction between 'Working for Google is cool' and 'There are many cool people working at Google', otherwise this cult worshiping is never going to stop.

</comment><comment><USER54> Great write-up, thank you to the OP for putting this on the web! I have a few thoughts on it.

First, I'm not all that surprised someone would study for 8 months for an interview at Google. I interviewed there (no hire) and gave myself 3 weeks. It wasn't close to enough time, and I've taken a lot of formal math and basic CS plus data structures. Just too rusty, especially at a whiteboard. I could easily have spent 3 months.

Various people here have cautioned against working at Google, and I know people who worked at Google (as SSE's) who cautioned me about it when they heard I was interviewing. No, not in a "run away" sense, more of a "don't get too starry eyed here, it's not that great" sense. But salary-wise, a SSE role at Google would have paid a hell of a lot more than I make right now. I'm just saying, I can see why people put in the time. And plenty of people do love it there.

My advice to people who have more of the fundamentals is to get a copy of "Cracking the Coding Interview" and just making damn sure you can do the hard problems in 45 minutes at a whiteboard. Memorizing won't help you, you need to understand what you're doing on a deep enough level that you can solve similar problems you haven't seen before.

I also recommend knowing basic data structures like the back of your hand. Really, you can't be trying to remember how to program a queue or stack, or traverse a tree, not if you need to use these concepts to solve a more complicated problem in 45 minutes at a whiteboard [1].

Now, on to the other side here...

I love a few things about software. I love it that an econ major who self studies intensely can get "high level" jobs. I love it that no cartel controls entrance, and can force everyone to do a 3 year grad degree with tuitions at 50K+ a year. I love it that really smart people can move at a faster pace because they learn quickly.

However, I don't love it that corporations are essentially our gatekeepers. The "google interview" shouldn't e called an interview, it should be called the "google exam". Calling it an interview creates an ambiguity that confuses people outside our industry. I know people who work in other fields, and while knowledge is probed during interviews, what they go through is vastly different from what we go through in software. My "interview" at Google was a series of whiteboard exams.

Here's what I don't like about this - someone like the OP here studies, intensely, and takes his exams. Suppose he didn't get the job. Well, how _did_ he do? If you take the actuarial exams, or the nursing boards, or the bar, you get a sense of how you did. There is more transparency around the test. There has to be.

As far as I know (based on what I've read about this interview process at Google from people who know, including the author of Cracking the Coding Interview), my name, along with very formal numerical scores, along with photos of the whiteboard after each interview/exam, are in a database at Google. However (yes, for legal reasons), I am not allowed to know more that the vaguest details about this.

A formal exam, in almost every field, has a published study path. It is graded in a way that is audited to ensure fairness and consistency. It must not be capricious. A student has an opportunity, often, to try again. Your hard study, should you pass, leads to a lasting credential respected by industry.

We get none of this in software. I honestly do believe that the tech exam is a big part of why a lot of people quit software development or never enter it in the first place - this in a field where CEOs regularly lobby congress and the president to lament a shortage of tech talent.

We do need to fix the technical interview. I think the first step is to realize that it is a formal exam, and that as such, it needs to come with the usual benefits and considerations afforded to people who take formal professional exams in other fields.

<comment><USER55> Did you factor in cost of living when doing the salary comparison?

<comment><USER54> I already live in SF, but yeah I agree it should be a consideration.

</comment></comment></comment><comment><USER56> This guy is sad. All those people on Quora who ask unending questions about Google are sad. They're suckers. They've eaten up Google's marketing.

You want to know the reality? Whatever's special about Google is long gone. Management let the smoke out a long time ago. Nowadays, Google is just another big software company, with all the opaque politics, purposelessness, and random nonsense that comes with being a big company. It's sad to see people strive to be a faceless drone.

<comment><USER8> (Disclaimer: not a Googler)

Like it or not, Google is consistently ranked near the top or #1 on all of those "Best places to work" lists that get published from time to time. Everyone I know who has managed to get hired there sings its praises, and none of them have left (yet). I think it's unlikely that each one of their opinions is fueled by Kool-aid. There's something to it.

I don't think this guy is sad at all. I really admire what he did. It's pretty inspiring/motivating actually.

<comment><USER57> The median employee tenure at Google is only 1.1 years, so clearly lots of people are leaving. [0] They are right in line with much-derided Amazon.

[0] [http://www.slate.com/blogs/business_insider/2013/07/28/turno...](http://www.slate.com/blogs/business_insider/2013/07/28/turnover_rates_by_company_how_amazon_google_and_others_stack_up.html)

<comment><USER58> Median employee tenure is almost entirely dominated by things other than employees leaving. A company that is not hiring will not have any new employees and as a result have a really high median tenure.

The question you really want to ask is: what's the percentage of people leaving each year?

<comment><USER59> ~40% which is a _really_ bad sign.

PS: Median tenure of 1.1 years + company sizes this and last year gives you a good estimate of turnover.

</comment></comment></comment></comment></comment><comment><USER60> So desperate. It is like going to gym to date with Adriana Lima.

</comment><comment><USER61> For crying out loud, what is wrong with people today.</comment>


Neutrino shape-shift points to new physics - <AUTHOR> http://www.newscientist.com/article/dn23909-neutrino-shapeshift-points-to-new-physics.html#.UenaklS4Y_Q.hackernews

<comment><USER2> Physics is just mindblowing. When I think deeply about the fact that things that are moving will keep on moving forever unless a force acts on them, and the fact that no one knows why it's true (and that the question may not even have any meaning), and that my body is nothing more than a very advanced method of propagating genetics, then... well, it's just a lot of fun to think about!

The fact that there are mysteries that no life will ever have answers to is quite humbling.

If you find physics interesting, then you'll love these Feynman lectures. Feynman is so good at explaining these concepts that you don't even need any formal training to understand them.

Lecture 1: The Law of Gravitation [http://www.youtube.com/watch?v=j3mhkYbznBk&list=PL8976CAAD2A...](http://www.youtube.com/watch?v=j3mhkYbznBk&list=PL8976CAAD2A22AE3F&index=1)

Lecture 2: The Relation of Mathematics to Physics [http://www.youtube.com/watch?v=kd0xTfdt6qw&list=UUR3AOHJ5xJv...](http://www.youtube.com/watch?v=kd0xTfdt6qw&list=UUR3AOHJ5xJvHMARCaa1hKgQ&index=10)

Lecture 3: The Great Conservation Principles [http://www.youtube.com/watch?v=r_IfV9fkBhk&list=UUR3AOHJ5xJv...](http://www.youtube.com/watch?v=r_IfV9fkBhk&list=UUR3AOHJ5xJvHMARCaa1hKgQ&index=3)

Lecture 4: Symmetry in Physical Law [http://www.youtube.com/watch?v=zQ6o1cDxV7o&list=UUR3AOHJ5xJv...](http://www.youtube.com/watch?v=zQ6o1cDxV7o&list=UUR3AOHJ5xJvHMARCaa1hKgQ&index=9)

Lecture 5: The Distinction of Past and Future [http://www.youtube.com/watch?v=zQ6o1cDxV7o&list=UUR3AOHJ5xJv...](http://www.youtube.com/watch?v=zQ6o1cDxV7o&list=UUR3AOHJ5xJvHMARCaa1hKgQ&index=9)

Lecture 6: Probability and Uncertainty [http://www.youtube.com/watch?v=Ja0HSFj8Imc](http://www.youtube.com/watch?v=Ja0HSFj8Imc)

<comment><USER3> I suppose those are the Messenger lectures he gave at Cornell?

<comment><USER4> Yes, but sillysaurus omitted one:

Lecture 7: Seeking New Laws [http://www.youtube.com/watch?v=MIN_- Flswy0](http://www.youtube.com/watch?v=MIN_-Flswy0)

</comment></comment></comment><comment><USER5> I'm confused. Neutrino oscillation has already been confirmed in 1998 IIRC. What is the novelty in this specific result? Not that confirmation isn't important at all, it's just the wording suggests a new result rather than a confirmation of a known result.

Presumably it's that a _known_ muon-neutrino flux produced a higher than expected e-neutrino detection.

Given the difficulty with detecting weakly interacting particles that flavour shift I'd have thought far more data would need gathering to demonstrate "subtle differences".

<comment><USER6> I'm confused too. If I understand correctly it's the first time that the neutrino oscillation is measured in a muon-neutrino ray. As far as I know it's a difficult task, but the result is totally expected. The "new physics" claim looks like a link-bait.</comment></comment>


Raytheon gets $10.5M to develop "serious games" - <AUTHOR> http://www.networkworld.com/community/blog/raytheon-gets-105m-develop-serious-games

<comment><USER2> While we'll have to see how it works out in practice, I'm happy to see that someone is finally trying to attack this problem in a more systematic, organized way. It's more and more important, as the world we live in becomes increasingly complex.

BTW. personally I don't really trust 'educational games' at all, especially the ones that target children. Most of the stuff I've seen is silly and is barely deserving the name 'games'. I believe that it's much better for an educational game to be a game first, and education second, not the other way around. I don't like the attitude of treating education like a pill for a cat, so that we try to trick children into swallowing it.

<comment><USER3> I grew up playing a lot of educational games. Some of them were great, others not so much. My favorite by far though, was The Logical Journey of the Zoombinis [1]. It was fun, and it wasn't forceful in trying to "teach" things, but it did force me to think logically and consistently, and did a good job of ramping up the difficulty at appropriate times.

On the other hand, you have games like Jump Start Second Grade [2], which are incredibly forceful in trying to "teach". I can't remember learning anything from them.

I think the big difference between these games was that in one case, there is a finite set of actions that one can perform and all that the player learns is the result of one of those actions (jump start second grade). In the other case, there is a much larger set of actions, where there is not one right answer, but instead lots of correct actions, which are correct because they follow consistent and rigorously defined criteria (The logical journey of the zoombinis).

This may just be a personality trait for me, but I still have this preference. It's why I prefer Minecraft to Final Fantasy.

[1] [http://en.wikipedia.org/wiki/Logical_Journey_Of_The_Zoombini...](http://en.wikipedia.org/wiki/Logical_Journey_Of_The_Zoombinis) [2] <http://en.wikipedia.org/wiki/JumpStart_2nd_Grade>

<comment><USER4> I agree on that explanation; I feel I learned a lot from educational games that had a more simulation/exploration flavor. We played some oil-prospecting game in elementary school that was pretty informative (I doubt I otherwise would've learned in school how searching and drilling for oil works). I also learned most of what I know about bridge engineering from the game Bridge Builder, though it was an indie game not explicitly targeted as "educational".

There is some vague background knowledge you can also learn just be making a game fun against a backdrop that kids can pull in via osmosis. There are miscellaneous things I know about the American west's geography mainly due to Oregon Trail, for example.

<comment><USER2> > There is some vague background knowledge you can also learn just be making a > game fun against a backdrop that kids can pull in via osmosis.

I think this concept is heavily underexplored and I'd be happy to see more of this kind of games.

I also wonder if anyone tried to embed some learning into gameplay in a more goal-oriented way. I personally had some ideas about what would be an arcade/logical platform game with physics oriented gameplay. The game might ask you to e.g. solve an equation to succeed or reach the goal faster (like, find a right angle for cannon to fire at, so that it knocks down a bonus thing you need, opens a door, etc.). Maybe not _force_ you to do it, just hint towards it while allowing for a more direct solutions - creating an environment in which using maths can help player achieve better in-game results. Real game results, not silly 'multiply this-and-that to get 1000 points'. Game first, education second. I wonder if anyone ever tried that.

</comment></comment></comment></comment><comment><USER5> I was at the aerospace data facility, Colorado (ADF-C) on Buckley AFB on Sep 17th for an open day (rare for a secure environment like this) and played with a 3D walkthrough training app Lockheed had on display that was very game-like. It's built from recent arial reconnaissance photos and turned into a very realistic walkthrough for mission planning. Raytheon, the NSA and NRO are in the same facility.

</comment><comment><USER6> It depresses me to see BBN Technologies referred to as Raytheon. Although they were acquired, it's as if Bell Labs were referred to as Lucent or Alcatel.

<comment><USER7> The current Bell Labs is a spin off of only the US Government contracts that were in place when the Lucent-Alcatel merger occurred. This was done because Alcatel is a foreign owned company and cannot be a part of sensitive government contract. All of the other research was kept with Lucent-Alcatel. So what's now known as Bell Labs is really just a name.

Lucent-Alcatel disbanded all research in 2008.

<comment><USER6> I hadn't heard of the spinoff; thanks. I worked at both Lucent Bell Labs (pre- Alcatel) and BBN (pre-Raytheon). I definitely keep track of BBN, it's an amazing company and I hope it continues to have it's own identity under Raytheon. Lucent Bell Labs was already dying when I was there back in 2003–but even then had some great active projects and Unix gods still around. So yea, perhaps the real "Bell Labs" is now AT&T Labs or perhaps Bell Labs is really dead.</comment></comment></comment>


Read this one if you have no idea what to read - <AUTHOR>

I dabble in technology but I am not very good at it. I want to learn but when I try to learn a new tool I generally end up on pages like this (Python) - http://www.python.org/download/ - and I have no idea which version I should be using. I realized this when I was on the Notepad ++ site today - http://notepad-plus-plus.org/download/v6.1.2.html - and it explicitly says, if you don't know, use this.<p>Not ripping on Python, I like it, but they should tell me what to use. Same thing with your products. Their is probably one tool or pricing plan that your users choose 90% of the time. Tell everyone to use it. If they have refined tastes, they will be able to find what they are looking for. <comment><USER2> There is a bit of an issue amongst the Python community about support between 2.7.x and 3.x.x

Lots of things still only target/support the 2.7 releases, and 3.x.x stuff is only slowing coming around.

I had read (via a link here on HN months ago) someone explaining that Python used to have a solid versioning strategy for these changes, but I'll have to leave it up to those more qualified to explain exactly what the issues behind 3.x.x adoption are.

It's definitely a pain, as I always want to install the newer version, but practically every library I want to use seems to target 2.7

Also, on that Python download page, they actually do tell you which one to use if you're not sure:

"If you don't know which version to use, start with Python 2.7; more existing third party software is compatible with Python 2 than Python 3 right now."

It's just above the download links.

<comment><AUTHOR> Thanks. And again I have nothing against Python. I just don't know which production version I should use. The regular one or the X86-64 Installer.

<comment><USER2> If you have a 64bit PC, use the one with 64bit on it. If not, use the "Regular" one.

If you're unsure if you're 32bit or 64bit, right click on "My Computer" and go to properties. In there the OS will identify itself with 32 or 64bit.

</comment></comment></comment><comment><USER3> You mean this piece of text:

      If you don't know which version to use, start with Python 2.7;
      more existing third party software is compatible with Python 2
      than Python 3 right now.

Which is almost directly above the link to the 2.7.3 installation link for windows.

<comment><AUTHOR> Sorry, good point. Thanks for pointing it out. I am not good at reading instructions that aren't blatantly in front of me. I stopped at, the current production versions are Python 2.7.3 and Python 3.2.3</comment></comment>