NES Classic Mini boot image dump method via UART and USB - <AUTHOR> https://www.ns-koubou.com/blog/2016/11/11/nes_classic/ <comment><USER3> Hardware is definitely SNES throwback ready.

Based on data from [1], the 30 included NES ROMs amount to < 5.3 MiB total. Increase that by roughly an order of magnitude to account for complexity, and it shouldn't take much to tuck 30 SNES ROMs + emulator + OS into that NAND.

[1] [http://tuxnes.sourceforge.net/nesmapper.txt](http://tuxnes.sourceforge.net/nesmapper.txt)

<comment><USER4> I don't think they'll do this. Not because it's technically infeasible, but because of their alternatives.

The Classic NES makes sense as a _business strategy_ , because NES Virtual Console games don't really sell well: people don't think _individual_ NES games on the Virtual Console are worth the money Nintendo wants to charge for them (~$5). So the Classic NES—a fancy, "value-added" shovel-ware package—is the best way Nintendo have to make money from that old IP. If people aren't willing to buy the _games themselves_ , they'll still pay for a cheap bit of hardware with those same games _on_ it. (Consumer psychology is weird sometimes.)

A "Classic SNES" doesn't make as much sense: SNES titles on the Virtual Console _do_ sell, often for much higher prices. There's no _business_ reason to turn them into a shovelware package.

<comment><AUTHOR> How do you know that SNES titles sell well on VC? I can't imagine Nintendo are publishing sales data on these things?

<comment><USER4> On the Wii U eShop, at least (don't know about the Wii or 3DS shops), you can sort titles by "most downloaded." Many SNES (and GBA) games rank highly—often as highly as Nintendo's new releases. Virtually none of the NES titles do, even when discounted.

</comment></comment></comment></comment><comment> david-given English translation via Google Translate:

[https://translate.google.com/translate?sl=ja&tl=en&js=y&prev...](https://translate.google.com/translate?sl=ja&tl=en&js=y&prev=_t&hl=en&ie=UTF-8&u=https%3A%2F%2Fwww.ns- koubou.com%2Fblog%2F2016%2F11%2F11%2Fnes_classic%2F&edit-text=)

It seems that while the u-boot is missing most commands, you can connect sunxi-tools to it by hooking up the USB while holding the reset button down, and then use AllWinner's debug protocol to poke it.

I wonder --- if the SoC has no customisations, could run the ROM on another similar device?

<comment><USER5> I wonder if it will ever be possible to machine translate Japanese into legible English. Some of these translations are so strange they're humorous:

> (Hereinafter, abbreviated as Famicom Mini guy of GBA attention because it is > not)

> By those who exploded before launch was in and out

<comment><USER6> Google is mostly relying on machine learning and can translate between _many_ languages due to it, but better results can be obtained using one of the translators developed by the Japanese themselves which attempt to do actual parsing.

There are also various other apps (largely developed by the anime/visual novel community) that might work better at extracting meaning, although that's more in the direction of quick dictionary lookups.

</comment></comment></comment><comment><USER7> The fact that the NES Classic Mini runs Android means that sooner or later someone on XDA will port the emulator to everything that runs Android.

Not that there wasn't any emulator on Android before, but having one more good choice doesn't hurt.

<comment><USER8> That is _if_ anyone can get there hands on one.

<comment><AUTHOR> I did a non-committing pre-order at a local retailer (Webhallen, Sweden - <USER2> love this feature of theirs, I think it is quite unique) the day it was announced because.. why not. They didn't have an idea what the price would be but later adjusted it down to the eventual local MSRP level.

Picked it up yesterday figuring that I could likely sell it (with a profit) in case I didn't end up enjoying it. But I think I'll hang on to it - or maybe turn it into a christmas gift for someone. It's a really neat little thing. The software has obviously been crafted with a loving attention to detail.

And the games themselves have more depth that I thought - having only experienced them briefly in various desktop OS emulators before, with lots of annoying small issues (like not having an ideal controller, sound issues, no easy/natural way to play them on the TV with nearly instant bootup time, etc).

Also, those ROMs I've heard (ahem) are floating around on the net tend not to come with these fantastic user manuals:

[https://www.nintendo.co.jp/clv/manuals/en/index.html](https://www.nintendo.co.jp/clv/manuals/en/index.html)

(I just wish they would have included them in some neat Nintendo-ish way in the main menu UX.)

</comment></comment></comment><comment><USER9> I really wish Nintendo or Sega would come out with an official retro WiFi appliance that allows one to buy classic games from an "App Store" and play multiplayer player games over the network. They have the extensive catalog of retro games to make money (NES/SNES/N64 or Master system/Genesis) and it wouldn't take that much hardware to do it.

<comment><USER10> Isn't that what Wii with Virtual Console is?

<comment><USER9> Yea but it involves finding and purchasing a (most likely) used Wii. I'm a casual gamer and never heard of virtual console. A dedicated retro console would fare better and be cheaper IMO, just like this one (without any such features) which sold out in seconds on Amazon.

<comment><USER11> To add to that, you've got to buy a sketchy 3rd party HDMI adapter to plug your used Wii into a modern TV.

<comment><USER12> The Wii U and 3DS both support Virtual Console for a variety of old Nintendo consoles (more for the Wii U), and the Switch presumably will too. Though, Nintendo being Nintendo, transferring purchases between consoles is rarely possible.

<comment><USER9> As a casual gamer who likes playing the games of my childhood. I'd prefer a dedicated retro rig that (due to minimal requirements) could be the same form factor as an Amazon FireTv stick without dealing with the "hacky" nature of the emu scene or purchasing a full blown console.

</comment></comment></comment></comment></comment></comment><comment><AUTHOR> My favorite modification to its software would be some controller button combination shortcut to the reset button. Having to reach to the actual device to switch games is so annoying.

Surely Nintendo could have come up with a combination that was not used in any of the included 30 games? For a company that was so focused on user experience early on, they really dropped the ball with that button design, btw. Start, Select _and_ a primary action button ("A")? Anyway, that mishap meant there was room for a rescue now in 2016, to use some unused combination of those peculiar buttons to do the reset. But alas, no.

Other nice things to have that would hopefully be doable:

\- putting the game manuals on the actual device for viewing on the TV

\- the audio is a bit harsh; it sounds like it needs some filtering, maybe just some dead simple high-pass (edit: err, low-pass) filter would do it

<comment><USER3> > \- the audio is a bit harsh; it sounds like it needs some filtering, maybe > just some dead simple high-pass filter would do it

Could you clarify what was meant by harsh?

The HDMI PHY[1] differentially encodes either I2S or S/PDIF (from SoC). This is a lossless digital-to-digital translation, which suggests that audio being _a bit harsh_ is either a consequence of precise emulation of the NES APU[2] or something wonky with the speakers you're using.

I made the assumption that by _harsh_ you meant dissonant sounds of a relatively high audio frequency, which would make sense given how the 2A03 APU synthesizes audio, but wouldn't make sense if you're suggesting that a _dead simple high-pass filter_ would resolve the issue.

[1] [http://www.epmi.com.tw/sayapro03.php?id=78](http://www.epmi.com.tw/sayapro03.php?id=78)

[2] [https://en.wikipedia.org/wiki/Ricoh_2A03](https://en.wikipedia.org/wiki/Ricoh_2A03)

<comment><AUTHOR> I bailed out halfway into my CS/EE university program (to start working in software instead) a very long time ago in part so I wouldn't have to finish the signal theory/processing course, so please bear with me.

"I made the assumption that by harsh you meant dissonant sounds of a relatively high audio frequency"

Yes, that's what I'm hearing. Here is a comparison video where you can listen to the difference between the original NES (via an ADC, presumably) and the NES Classic Mini:

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

Anyway, to me it sounds that by just filtering away some high frequencies you would get a better approximation of the original.

Edit: Oh wait, I see what I did; I mixed up high-pass filter with low-pass filter (again). Doh. I do maintain that whoever named them made a mistake.

<comment><USER3> Ahh, makes sense now. The emulator sounds like it does an outstanding job of functionally reproducing the APU, but clearly doesn't capture the analog LPF contributions of the original architecture[1] (2nd and 4th pages apply).

An improvement to the NES Classic will necessarily have to come in software as a DSP LPF either within the emulator application or at the OS level (someone mentioned seeing alsa during boot??). Nevertheless, a passive analog hack is definitely not going to be applicable.

[1] [http://www.freeinfosociety.com/electronics/schemview.php?id=...](http://www.freeinfosociety.com/electronics/schemview.php?id=2405)

<comment><AUTHOR> Oh come on, do tell us what NES emulator you made? :)

<comment><USER3> What makes you think that I've developed my own emulator?

Not that the assumption was incorrect...

<comment><AUTHOR> The incredibly intricate understanding of the NES sound?

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> I wonder if the boot image contains any GPLv3 software. Could this this allow us to make Nintendo release the OS in a way that allows us to upload custom ROMs (I've heard that there is a home brew community) as well as custom roms (so that we are not limited to 30 games).

<comment><AUTHOR> It does. They published this:

[http://data.nintendo.co.jp/oss/NintendoEntertainmentSystemNE...](http://data.nintendo.co.jp/oss/NintendoEntertainmentSystemNESClassicEdition_OSS.zip)

Containing:

[http://pastebin.com/9SzB2ZFp](http://pastebin.com/9SzB2ZFp)

<comment><USER14> Which one of those is GPLv3 and not GPLv2?

</comment></comment></comment><comment><AUTHOR> For anyone wishing to follow this topic over time the subreddit format works great:

[https://www.reddit.com/r/nesclassicmods/](https://www.reddit.com/r/nesclassicmods/)

</comment><comment><USER15> The u-boot here doesn't seem to match what Nintendo released as OSS:

r16-uboot-fc3061df4dbd4153819b2d2f141d82b88fea51cf.tar.gz

Notice the commit hash.</comment>


Mac OS X install base grows to over 6% worldwide, 13% in the US - <AUTHOR> http://www.appleinsider.com/articles/11/09/03/mac_os_x_install_base_grows_to_over_6_worldwide_13_in_the_us.html

<comment><USER2> 13% means 1 in 8 computers are made by Apple. How does that compare to HP, Dell, Lenovo, Asus, etc.?

It also means that for software and hardware developers, not supporting Mac means losing 13% of the total market. I imagine that to be higher (in creative markets) or lower (in enterprise markets) depending on the niche market.</comment>


Ask HN: Why I cannot find public data on coronavirus single cases? - <AUTHOR> I would expect to find in the internet data about coronavirus single cases: not just the basics (age, blood type, weight, city, ...) but more and much more data, allowing scientists, statisticians or whoever to make inference: maybe as easy as spotting correlation, or much better as principal component analysis/discriminant analysis.
I would expect a web interface, where selected personnel are allowed to enter and share data with the rest of the world (I'm an internationalist)
Tell me that I am just not aware that these databases exists!
(I imagine several nations do provide opendata with the basic, but I do really mean detailed data, collected with some uniform worldwide standard) <comment><USER2> Chinese researchers might be collecting data, now that the initial chaos is Wuhan has been addressed. "Some of the reasons for the lack of autopsies and biopsies include the suddenness of the outbreak, the vast patient volume in hospitals, shortage of healthcare personnel, and the high rate of transmission, which makes invasive diagnostic procedures less of a clinical priority." [https://www.genengnews.com/news/coronavirus-early- pathology-...](https://www.genengnews.com/news/coronavirus-early-pathology- examined-in-lung-tissue-of-symptomless-patients/)

The Italians are obviously overwhelmed: [https://www.theatlantic.com/ideas/archive/2020/03/who- gets-h...](https://www.theatlantic.com/ideas/archive/2020/03/who-gets- hospital-bed/607807/)

The Germans would be my best guess for methodical data collection [https://www.statnews.com/2020/03/09/people-shed-high- levels-...](https://www.statnews.com/2020/03/09/people-shed-high-levels-of- coronavirus-study-finds-but-most-are-likely-not-infectious-after-recovery- begins/) But the South Koreans have done the most tests of their population.

Dennis Carroll points out that addressing the COVID-19 disease requires international cooperation: nautil.us/issue/83/intelligence/the-man-who-saw- the-pandemic-coming

One guy has been collecting lots of resources, including journal articles: [https://virus.travel/cs](https://virus.travel/cs)

<comment><USER2> UK Gov advice to "Stay at home if you have coronavirus symptoms ... testing is not needed" is another reason for the paucity of data. [https://www.nhs.uk/conditions/coronavirus- covid-19/](https://www.nhs.uk/conditions/coronavirus-covid-19/)

</comment></comment><comment><USER3> You're wondering why coronavirus patients have a right to privacy?

</comment><comment><USER4> [https://co.vid19.sg/](https://co.vid19.sg/)</comment>


IPad Peek: See How Your Website Looks on the iPad - <AUTHOR> http://mashable.com/2010/04/05/ipad-peek/

<comment><USER2> "See How Your Website Looks in your current browser with an iPad frame around it"

</comment><comment><USER3> Apple should provide something like this. They could use code from the emulator and post this as a website. Barring that, this might be an opportunity for a business. Someone could develop the infrastructure to automatically create an album of the presentation of any web site on the top 15 mobile browsers. Virtualization technology is perfect for this.

One could do freemium with this easily.

</comment><comment><USER4> It supports flash. FAIL</comment>


Using Python and OCaml in the same Jupyter notebook - l-m-z https://blog.janestreet.com/using-python-and-ocaml-in-the-same-jupyter-notebook/ <comment><AUTHOR> The jupyter-notebook interface is IMO, not really suited for interactive development. Notebooks enforce code to be broken up into pieces of cells to be evaluated. The code must be written in a specific linear way to cater the format of notebooks. Also the distinction between the code & notebooks are too big, it's clunky to move between. You get to resort copy-pasting back-and- forth. It's always frustrating when I try to do development in an interactive way, and finds out that hooking on jupyter-notebook (whether the language is Python or Node.JS or etc...) is the best way.

I think there should be a better integration between editors & REPLs, something like Common Lisp & Emacs SLIME. SLIME queries a server running on Common Lisp to incrementally compile & evaluate code from the editor (like LSP, but not autocomplete queries but evaluation queries). I hope the LSP protocol gains ability to evaluate code for languages with REPLs, it would be awesome if it allows interactive development in multiple editors & multiple languages (like how LSP is facilitating autocomplete).

<comment><USER2> For python, visual studio code has some of this integration. It still runs a jupyter kernel, but will run "cells" directly from your source code file (where the cells are delimited by "# %%" comments) and output to a separate pane with a jupyter-driven repl in it.

I accidentally discovered this after exporting a jupyter notebook to python and opening it in vscode.

<comment><USER3> Emacs and Atom also support interacting with running Jupyter kernels when editing scripts ([1], [2]). In a sense, notebook-less Jupyter kernels already are the "LSP for REPLs".

[1] [https://github.com/dzop/emacs-jupyter](https://github.com/dzop/emacs- jupyter)

[2] [https://atom.io/packages/hydrogen](https://atom.io/packages/hydrogen)

</comment></comment></comment><comment><USER4> Worth mentioning there is an emerging scientific computational framework Owl[1][2] and interesting concept of using OCaml-based languages for more formal protocol or logic description with Imandra[3].

[1] [https://ocaml.xyz](https://ocaml.xyz)

[2] [https://github.com/owlbarn](https://github.com/owlbarn)

[3] [https://imandra.ai](https://imandra.ai)

</comment><comment><USER5> Really nice. Whenever I read a Jane Street OCaml blog article, I wish I had the same thing for Haskell. Oh well, life is not perfect.

I have used the Haskell TensorFlow bindings, but the OCaml examples look more straightforward.

</comment><comment><USER6> There is also a notebook project from Netflix called Polynote that support Scala and Python interop. I think they opted for not making a Jupiter kernel because of the need for fast code completion.

[https://polynote.org/](https://polynote.org/)

</comment><comment><USER7> Why use Python though? Once you are rolling with an ML language wouldn't it make sense to use the C++ interfaces of the machine learning/data science projects that make Python interesting at all?

<comment><USER8> Many python libraries C implementations doesn't have ergonomic C bindings, they were explicitly made by python developers to be called from python so porting them to other languages is usually pointless. They are user friendly thanks to the large amount of python wrapper code, throw that away and you don't have much of value left.

<comment><USER9> One of the worst examples is TensorFlow, which is really, really hard to use from anything other than Python

</comment></comment></comment><comment><USER10> That's pretty cool. Reminds me of mixing blocks from different languages in org mode.

</comment><comment><USER11> Neat! I love FFI and I love functional programming.

</comment><comment><USER12> Very cool, but expected a pic of snake riding a camel

<comment><USER12> ..on Jupiter</comment></comment>


Taco Bell Menu: Calories/Protein per Dollar - <AUTHOR> http://efficiencyiseverything.com/eat-mas-taco-bell-menu-calories-and-protein-per-dollar/ <comment><USER2> 1,500 dollars a year to eat food + someone else cooks it?

Thats not too bad.

I bet Europeans are in disbelief of those prices.</comment>


New Incubator Model? Seems a bit familiar to me.. - <AUTHOR> http://www.alleyinsider.com/2008/5/borthwick_s_betaworks_seeking_that_perfect_and_elusive_balance

<comment><USER2> "Centralized CORE services--engineering, IP, analytics" -- centralized engineering?

I wonder how they achieve deep domain knowledge and focus if 'engineering' is shared among projects.

I thought the whole point of micro-invested startups was uncompromising focus for the key players. If the engineers aren't considered key players, well, good luck.

</comment><comment><USER3> Is it odd that there is zero contact info on the website? I did find a funny easter egg however.

</comment><comment><USER4> It seems everyone is creating an incubator these days.</comment>


Lebanese Startup Scene - <AUTHOR> http://kerningcultures.com/episodes/lebanese-startup-scene <comment><USER2> I work with a lot of Lebanese people, and the sad reality for many of them: Leb is just too damn expensive to live, so many work abroad. They are highly educated and talented, so the brain drain has always meant excellent co- workers for me. I do not complain.

But the quality of life in Lebanon (and I mean like in the general sense; the politics of day-to-day is increasingly dumb) compared to other parts of the Arab world is wonderful. As an American, if I could make money living there, I would be working there already.

Awesome article. I hope to see the startup scene takeoff. I wish these guys and gals well. Make place to employ me so I can escape to Beirut.

Now if they would only fix the traffic problems ...

<comment><USER3> Hey! I really appreciate your comments, and thanks for the words of encouragement.. you're right, the lifestyle in Lebanon makes for something beautiful, despite the difficulties in politics and infrastructure. And, while many Lebanese have left, I also find a good number have stayed or come back, with a clear directive of building their country. Initiatives like the Circular 331 are super encouraging.. I hope we'll see exciting things transpire in the coming years.</comment></comment>


Mozilla signs fresh Google search deal - <AUTHOR> https://www.theregister.com/2020/08/14/mozilla_google_search/ <comment><USER2> I just had a look at the financial documents for Mozilla, and I have to say that, for an organisation that promote transparency, their financial info are quite opaque, minimally detailed, and secretive.

[https://foundation.mozilla.org/fr/about/public- records/](https://foundation.mozilla.org/fr/about/public-records/)

Conveniently for them and curiously, they are only publishing the "consolidated" statements for the Moz Foundation.

But, for example, it looks like that the individual statements for the Mozilla Corp are never published or disclosed. That is very annoying as it is the main "entity" of the organization.

There is also no details about the split of costs and revenues associated with each main projects / services products / groups that are worked on for a given year.

So, for example, no one can have a clear idea of how much money is spent on dev, marketing or administration of Firefox versus Pocket versus VPN versus charities versus fellowships, etc...

If you look at the content of the limited financial documents, you can even have the impression that the foundation has no interest for the development of Firefox itself, and that they are just interested by it as a cash cow that generates (with the search deals) huge funds to give to whatever charities that Mozilla leaders are interested in.

<comment><USER3> This is why I've switched to Chromium Edge on Macos and Windows 10.

With Edge, I'm under no illusions with regard to what I'm getting myself into.

<comment><USER4> Seems like you're jumping out of the frying pan into the fire, no? Mozilla might be obscuring their financial details, but on balance they are one of the most ethical entities on the internet.

Google and Microsoft both have the corporate predator instinct in their DNA.

<comment><USER3> I'm already running Windows on three of the PCs I run, so I'm fucked there anyway.

</comment></comment></comment></comment><comment><USER5> Thunderbird is funded by users. There is currently no way to donate directly to Firefox separately of Mozilla general fund.

Can initial steps be taken to financially firewall Firefox development from the rest of Mozilla, as Thunderbird has done successfully? Start by moving the web standards advocacy brain trust to the separate org. Ask users to donate/subscribe. Begin the transition now, don't wait for the next negotiation with Alphabet/Google.

As donations grow, more Firefox teams can move to the independent legal org.

<comment><USER6> > Can initial steps be taken to financially firewall Firefox development from > the rest of Mozilla, as Thunderbird has done successfully?

It would have to be a fork with user support. Mozilla doesn't have much incentive to distance itself from its core product and even less incentive to provide a means by which their users can dictate what policies and products their financial support is for.

Mozilla has too many individuals in its organization, including its executive, who are not so closely tied to Firefox for this idea to succeed.

<comment><USER7> I would definitely donate to a Gozilla fork.

<comment><USER8> I don't think Gozilla is anything to do with Mozilla is it?

<comment><USER9> > The project took its name, "Mozilla", after the original code name of the > Netscape Navigator browser — a portmanteau of "Mosaic and Godzilla".

<comment><USER8> Yeah I know that... but what does this have to do with Gozilla? I don't think Gozilla has ever been a Mozilla or Netscape product. The names are similar but they're unrelated.

<comment><USER10> The only relationship between "Godzilla" and "Mozilla" is that portmanteau.

I think the OP's sentiment was that the name "Godzilla," is awesome and it would elate him to donate for the name alone.

<comment><USER8> I think you're possibly misreading - they said 'Gozilla' not 'Godzilla'.

Gozilla is proprietary networking software, nothing to do with Mozilla. So Mozilla can't fork Gozilla.

Godzilla is a monster character and where Mozilla gets its name.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> What does mozilla spend money on outside of personal costs?

Mozilla had approximately 1000 employees. If they are grossing 450M a year in revenue and 50% of their expenses are personal costs, tht means on average they are spending 225K per employee. for a non profit (even if its a non profit in the tech field and has to compete with tech firms for employees), that seems high. i.e. if one would compare them to Series A or B startups in SV, those would be reasonably high compensation packages (albiet without the stock option upside, but most stock options aren't worth the paper they are printed on, even for series A companies perhaps a bit more likelihood with series B).

Even if one says its 33%, that's still 150K per average employee expense. while that wouldn't result in a great SV salary, its would probably be competitive in most of the world.

just trying to understand where all the money goes?

<comment><USER12> _> 225K per employee_

That is the cost of these employees to their employer ("fully loaded"). The fully loaded cost is typically about twice the employee's nominal compensation, which would be ~$113k. This is about 60% of entry level comp at a FAANG company and about 35% of mid-career comp. [1]

Mozilla employs a lot of people who are willing to work under market rate to do a job they believe in, but I doubt they would be able to get and retain the people they need if they offered substantially less.

[1] [https://www.levels.fyi/?compare=Google,Facebook,Apple,Amazon...](https://www.levels.fyi/?compare=Google,Facebook,Apple,Amazon,Netflix&track=Software%20Engineer)

<comment><USER13> What the hell, average mid-career software compensation for non-FAANG companies is ~$350k?!

Are you joking?

<comment><USER14> Parent's comment was explicitly about FAANG companies.

But similar numbers apply to companies that are competing for talent with the FAANGs.

<comment><USER12> _> companies that are competing for talent with the FAANGs_

Which I think solidly includes Mozilla.

<comment><USER14> Yes, that is rather the point. ;)

</comment></comment></comment></comment></comment></comment><comment><USER15> Cynical me sees a company that laid off 25% of their workforce _knowing full well they had another 3 years of funding in the bag_. There is no way those lay-offs could not have waited until after the Google deal was inked (which was extremely likely to happen). But of course it is a lot harder to fire people after stuffing your piggy bank at that level. People might ask some pointed questions.

<comment><USER16> What makes you assume that the google deal will fund the previous burn rate for another 3 years?

<comment><USER15> A rough back of the envelope calculation. I could be off by a bit but regardless, you don't fire people in a situation like this. It is indecent. 400 to 450 million per year is what the article mentions. 400 million divided by the former 1000 employees leaves 400K / employee on average. That should be _plenty_.

<comment><USER17> The worker/company relationship is always transactional: As long as companies feel a worker generates (a certain proportion) more in value than their salary they will be retained. A workers value generation depends on both the effectiveness of that worker and the overall financial situation of the company (Eg total revenues).

They thought that they didn't have that ratio right which is why any company makes layoffs. You might personally think that companies have some sort of moral obligation to retain as many of their staff as possible, but the law and economics don't share those views out of the box.

<comment><USER15> It's not the law, it's not economics, it's ethics. I know that's a hard concept for some.

<comment><USER17> Well ethics isn't always a straightforward argument - you could argue that restructures strengthen the long term viability of a business, which can sometimes retain more jobs in the long term.

Additionally for not-for-profits the redirection of funds directly towards their 'mission' can again be argued as an ethical thing to do (eg for charities more money can go directly to whatever cause they are supporting) so ethics is never really a black/white thing.

<comment><USER15> Fair enough, but from the point of view of those just laid off it is probably a pretty clear cut case.

</comment></comment></comment></comment></comment></comment></comment><comment><USER18> Now, this makes the reason for layoffs and the blame on COVID-19 much more suspicious. I thought Google had really shrunk the search engine deal, due to Ad revenue slow down[1] and may be the pandemic reason was indirectly true.

I just hope that the 're-structure' wasn't dictated by the Google itself.

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

</comment><comment><USER19> The new browser wars are weird. Google seems to be weaponizing its stack / fleet of products to make firefox less desireable. Firefox might not have much leverage when this deal comes up for renewal. Really hope they find a way to build some sustainable alternative business models during this timeline. I think thats more of a motivating factor in the recent layoffs + their incubator-ish strategy.

<comment><USER20> Mozilla Corp. need to recognize that running Google Docs better than Chrome is a battle they can't win. It will always be a catch-up game.

I believe that a viable strategy for them would be to instead focus on making Firefox better than Chrome on everything else but the Google Stack. If the Firefox experience is better on all other sites, Chrome will be gradually marginalized. It will be just a program that you keep open to do "work", similar to running MS-Office, while Firefox which will be considered the main web browser. This approach would keep the Google cash (from the default search engine deal) flowing.

But they should also work on alternative sources of income. A Firefox Account that syncs passwords (Lockwise), bookmarks (Sync) and provides file sharing capabilities (Firefox Send) is a service worth paying for. But they have to put some work on properly integrating all these features. And most importantly, they need to get rid from the lock-in mentality and support all the services tied to the Firefox Account on competing browsers by developing/porting the corresponding extensions.

<comment><USER21> >> I believe that a viable strategy for them would be to instead focus on making Firefox better than Chrome on everything else but the Google Stack. If the Firefox experience is better on all other sites, Chrome will be gradually marginalized.

Quite difficult when every developer I see is testing and verifying their product on chrome

<comment><USER22> Hi!

I use FF as my primary dev browser. The debugger lets it down and the JSON viewer in the network tab is annoying... but everything else is excellent. The CSS layout inspectors are particularly good.

<comment><USER23> On the JSON viewer being annoying: is the issue that it shows the information twice for all fields? That's what drives me crazy. I wonder how hard it would be for a newcomer to make a fix for this.

</comment></comment></comment></comment></comment><comment><USER24> FWIW... I work at a (~50 person) engineering design and fabrication firm. Our cost for Sr. scientist level folks is about ~300k USD fully burdened.

At a big pharma company in the bay area... that number was more like ~400k USD for a principle engineer.

So for Moz: ~286k USD per employee in the bay area is cheap, IMO... and I imagine their is a big distribution in that number across employee level and job descriptions.

<comment><USER25> More than half of Mozilla staff are remote , there are very very few companies outside big tech that can support 1,000 strength office in Bay Area, and it would be inefficient to do so.

It is true that for some skills Bay Area is the best and perhaps only available talent pool, even in high tech company like Mozilla that kind of talent is maybe 10-20 % of their overall workforce , for the rest there is cheaper and equally good alternatives available

</comment></comment><comment><USER26> So was it really necessary to lay-off the servo and wasm and security teams?

<comment><USER27> Yes, they need the money to build stuff that will provide them with a steady stream of income from other sources, like online collaborative code editors, a VPN solution, a new diesel powered truck, a Firefox branded amusement park and an adult streaming service.

I love you Mozilla, but please stop. Find a way to make money on what you do best: Firefox.

<comment><USER28> How? Their three main competitors: Chrome, Edge (if that even counts, being Chromium based), and Safari are completely free AND installed by default on their respective operating system(s). "Not being installed by default" is already a very high hurdle for mainstream acceptance. If you tack on some sort of cost, I can't see that working well for adoption.

Personally, I think they're on the right track with the VPN service. VPN services are already something people are used to paying for, and one of the biggest issues with VPN services are trying to figure out who you can trust out of all the nameless shell companies out there. Mozilla is a trusted brand.

<comment><USER26> What I don't get about the VPN thing is, that they're just a reseller of mullvad VPN. So, even if I trust Mozilla, that isn't of any help, if I don't trust mullvad.

And if I do trust mullvad, why wouldn't I buy access from them directly? The only reason to get the Mozilla VPN is, to help them to a little commission for ideological reasons.

<comment><USER29> Mozilla famously signs contracts with firms that secure extra privacy protections for their customers. It's what they did with CloudFlare and Comcast.

If I were to use CloudFlare's VPN service of Comcast's DNS, I'd use it through Mozilla because their contracts stipulate extra protections.

<comment><USER30> Interesting... so Mozilla is kind of acting like a certification and licensing service for other privacy services

<comment><USER29> That's one way to look at it. The way I see it is that these partnerships prove that companies don't need to collect and share private data to make a buck.

</comment></comment></comment></comment></comment></comment></comment><comment><USER31> > As a non-profit open-source operation, Mozilla spends as much as it > receives; its 2018 staffing bill was $286m

I'd sleep easier if Mozilla saved some cash for a rainy day. Is there really no way to maintain a browser with less than a quarter _billion_ dollars a year?

<comment><AUTHOR> In the comments of the article one person mentions that libre offices runs on a little less than a million a year.

I'd argue that Mozilla has a few more repos that need mending (i.e. Rust, Servo, MDN, ...) but if you pay an average of 100k$ salary and have like 10 techpeople per team plus some management/community management/project management you could do a rough estimate of <10 core teams * 15 people * 100k$/year + 5m$ for infrastructure/rent == 20m$>.

Even if you pay your CEO 2,5m$ afterwards, you'd still have loads of money left.

Not sure where all of it goes. And I'm a bit reluctant to just say "bad management" in terms of money allocation. Although I do hate this cut in workforce and feel like it's the worst management decision in tech in recent history.

<comment><USER32> They have somewhere around 750 employees still after the layoffs; it's hard to understand your comment that that both says they should have 150 employees but reducing their teams is a bad decision.

</comment></comment></comment><comment><USER33> I've been using FF for a while now and I like the privacy side of it. When I made the switch, I also tried to ditch Google for DDG, but I haven't been able to make it work. The results in DDG always seem to be pumped by SEO and are more often affiliate marketing blogs. Google often manages to bring me the right results right away.

<comment><USER34> I used to feel that way too but now I feel google is full of results bloat. The serps are full of idiotic social media results and entertainment results than original content results (blogs, news sites, commercial, personal sites, etc). Search has become frustrating everywhere.

<comment><USER35> I switched my SE to DDG on my mobile devices. It is 100% useless when I want to search for local news/events from my country/city (Southern Germany) and I always have to fall back to Google. What's quite funny is that last month a couple of DDG billboards started popping up in my city.

<comment><USER36> Same here for Norway. I can flip the switch for Norwegian results, but it's sticky, so I have to remember to flip it back when I want to search for everything else. All in all way to tedious.

<comment><USER37> Did you try this: [https://duckduckgo.com/settings](https://duckduckgo.com/settings)?

<comment><USER36> What setting are you referring to? The region one is the same as on the search result page. I find it's way too powerful for technical searches, obscuring the stuff I want.

So I keep having to flip it on and off.

<comment><USER37> You can change the settings on that page and get the link which contains these setting in the URL. Next time you go to [https://duckduckgo.com/?kl=no- no](https://duckduckgo.com/?kl=no-no) instead of [https://duckduckgo.com/](https://duckduckgo.com/)

<comment><USER36> Ow, yea ok. Still tedious though.

<comment><USER37> How is it tedious? Are you always entering duckduckgo.com by hand?

<comment><USER36> No, but it means I can't use the search bar and have to keep in mind if I want regional or global search. With Google I just use the search bar and get my results.

<comment><USER37> I think it must be possible to make the new ddg address for search bar. In Google it is always user-tailored and local search I guess.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER38> I'm a Firefox user. I don't use Google search. But I have no problem Mozilla getting money from Google as long as I can choose to use another search engine.

</comment><comment><USER39> >"Crucially, the organization vowed to double down and "ship new products faster and develop new revenue streams" – products like its bookmarking app Pocket, its virtual social meeting rooms Hubs, and its $4.99-a-month VPN subscription service.

>"The people who are included in the reduction are both true Mozillians, and professionals with high degrees of skill and expertise and commitment," CEO Mitchell Baker said in a memo. "This action is not in any way – not, not, not – a reflection on personal or professional qualities."

>Mozilla's Servo team, which was working away on a new browser engine for Firefox in Rust, was closed down by the cuts. The group working on the Mozilla Developer Network – the essential bible for web devs and programmers – was hit hard, too, as were some of its security, policy, and tooling staffers.

How exactly would folks working on things like browsers engines, Security, policy and tooling not be extremely valuable for working on "products like its bookmarking app Pocket, its virtual social meeting rooms Hubs, and its $4.99-a-month VPN subscription service."?

Further the fact that $400-450 million dollars in new funding is announced days after large layoffs is says a lot about CEO Mitchell Baker's management and values. This CEO is the one who should be looking for a new job right now.

<comment><USER40> Teams that instead of fixing their main product, go off and create even larger products that don't have immediate revenue streams do little to "ship new products faster" or help the bottom line.

This is going to be down voted, but if I were running a software dev team charged with producing X and they spent all their time doing Y because they "need" a new tool I would question their value. Particularly if all the competitors are kicking our butts, and don't seem to need said tool.

So, rust is great and all, but is mozilla really the org that needs to ground up create a new langage/ecosystem? Outside of the tiny developer community using rust, what does it bring to the end users of firefox (you know the other few billion people on the planet who aren't developers) that couldn't have been done with just spending the time to fix compiler warnings/errors and enable some basic code analysis/linter functionality on the existing code base?

(which yes, I've fixed some bugs in firefox, its a giant mess, every time a new GCC comes out, firefox needs to have bugs patched just to run).

<comment><USER39> My larger point was why If you have talented developers and hundreds of millions of dollars in new funding can't you simply give those developers the option to stay with the company and refocus their efforts on the new areas in which you seek to grow the business? It doesn't seem like that was even a consideration.

Also there were also far more than just Rust folks affected by this layoff.

</comment></comment></comment><comment><USER41> Mozilla just exists so that Google can lie about there "existing competition" on the browser market.

<comment><USER42> Edge, Safari, Opera, Firefox, Chrome, and new upstarts like Brave seems like a reasonably competitive market to me.

<comment><USER43> Maybe numerically, but Chrome alone has 70% marketshare. When you consider that edge runs off of the Chrome engine, Google controls like >80% of how the world sees the web essentially.

If Chrome adds a new feature, everyone else must adapt as well.

<comment><USER42> For the average user, Chrome is just the best browser. There is nothing wrong with 70% of consumers liking them more than other browsers because the switching cost is free and there are plenty of alternatives.

<comment><USER44> On desktop, maybe. But on mobile? Firefox for Android (or fenix), or any other ad-blocking browser (eg. brave) is unequivocally better.

<comment><USER42> Perhaps. People spend less time on the web then when on desktops though. While on mobile they're prefer native apps.

By the way, Chrome's market share has been trending down for a while. Only at 58% now.

[https://www.statista.com/statistics/272697/market-share- desk...](https://www.statista.com/statistics/272697/market-share-desktop- internet-browser-usa/)

</comment></comment></comment></comment></comment></comment><comment><USER45> This is practically the end of Mozilla, a sad result of horrendous mismanagement. Instead of pouring all its resources to make a superior browser and thus attract more money by having bigger market share, they just stagnated. They bought pocket and gutted Servo for virtual reality. They invested in superficial political activism and paid exorbitant amount of money to execs.

Firefox is inferior in all regards except privacy. People will claim it's just as fast as others, but even if it wasn't obviously false it wouldn't be enough. It should be undoubtedly better in all regards. With all the money of Mozilla they could've built a better, faster browser but they just didn't want to badly enough. And that's the tragedy.

</comment><comment><USER46> To someone who doesn't know better this looks a bit like: "We really like funding you but we don't like this project of yours that looks like it will eventually produce a fast browser without memory bugs and into which we cannot seamlessly introduce data collection, etc. If you can... make that go away then we'll just sign this cheque."

</comment><comment><USER47> Was dispersing the MDN and Rust teams part of the deal?

<comment><USER48> Google may want Mozilla around for anti-trust defense, but it's not like Google's particularly interested in how tightly Mozilla runs the ship.

<comment><USER49> On PCs Chrome has ~70% market share with Firefox being a distant second with <8%. On mobile Firefox's market share is a negligible 0.7% compared to Google's 64%. If Google wants Firefox to stick around it's certainly not because it would give them any plausible defense in an antitrust lawsuit.

<comment><USER47> If it gets any more lopsided than it is, Google will be in trouble.

</comment></comment></comment></comment><comment><USER50> Kind of a, each update for Mozilla Developer version f*cks up the working version before. More and more I have to change the settings "about:config".

I am really thinking to switch from Mozilla Developer and Google search engine to something else.

Any recommendations?

</comment><comment><USER51> How much % loss of revenue for the new deal?

<comment><USER11> article says

"However, our source told us Moz will likely pocket $400m to $450m a year between now and 2023 from the arrangement, citing internal discussions held earlier this year."

so 400-450 million just from google.

per google, in 2018, their entire revenue was only 450 million.

[https://www.google.com/search?channel=fs&client=ubuntu&q=moz...](https://www.google.com/search?channel=fs&client=ubuntu&q=mozilla+revenue)

so if they are making more than 50 million from the rest of their country deals, it doesn't seem like revenue would have dropped that much

<comment><USER52> Revenue had never dropped for Mozilla. COVID had zero affect on their revenue stream as they lied in their layoff post. They get all their money from Google ad money to $500M a year guaranteed, with $500M in the bank, and $500M/yr upcoming. The layoffs were just to secure the execs' lifetime pensions.

</comment></comment></comment><comment><USER53> "mega-millions", so... "trillions" ?

<comment><USER54> No. kilo-billions

<comment><USER55> Microquintillions, surely?

</comment></comment></comment><comment><USER56> So what browser are you switching to?</comment>


Ask HN: How to approach making a 3D Game Engine? - <AUTHOR> This has been a project that I knew I wanted to undertake for years now.
I'm slowly reading books, improving my general programming skills in the process (I'm a CS & Math student also working as a developer of  educational games in JavaScript using a proprietary engine), but it feels like when I exhaust the general-purpose books aimed at turning me into an all-round better developer (Clean Code, Pragmatic Programmer and Effective C++ are ones that currently have my attention) - I'm left with a giant body of information relevant to the task at hand and no knowledge of where to start.
I want to mess with all the nitty-gritty details, and learn how to write neat, performant and extensible code. Do the math. Do it all.
But I have no focus. All I know is that I want to delve into OpenGL and C++, but I don't really have a clear picture of what should be done with them. What are the basics of engine development that I should start with?
I only have tidbits of information gathered from here and there, but nothing is formed in my brain and it's a bit frustrating.
I'm scared that if I just start with no clear direction, I'm going to end up throwing away lots of code and become discouraged.
Would love to hear your thoughts. Thank you. <comment><USER2> The best thing you can do is look at the existing engines out there, and gain a grasp on the subject. The fact is that a lot of the major work behind these engines has already been done - again and again - so in the case of the open source engines, you have a lot to gain by reading code.

Crank out the code for OGRE 3D, Minko, Irrlicht, Torque 3D, and Maratis 3D. Heck, even looking at the code for a 3D game like WakeBreaker (demo game for PowerVR) can give you a lot of insight needed to do what you want to do.

Code reading is a very powerful way to make progress with your goals - and so too, is it good for you to be contributing to these projects wherever you can. I'd suggest a program of discovery whereby you go through these engines in multiple passes - get them all installed/set up, run the demo's, order them by complexity and how much personal effort you feel it takes to gain insight into how they work, and then do another pass from top to bottom on your list, adding features if you can, and so on. In a matter of 4 - 6 weeks of discovery, you can learn a great deal - and may even contribute valuable features/bug fixes too. All too often these engines are fantastic but lack some trimming around the edges - test cases, documentation, sample models, demo games, etc. You can gain a lot of experience by filling in these holes in other peoples' projects, and within a few months you should gain enough of an understanding - if you're serious about it - to venture on your own. But you may find that the existing engines give you what you want anyway .. a way to learn the subject and understand the field productively.

Good luck!

(And in case you're interested in game engines in general - I'm particular enamoured by MOAI, which is 2D game engine albeit built on a core 3D engine - it can do 3D as well, so maybe you want to have a look and see if your interest in the subject can help push MOAI into more 3D-specific territory too..)

<comment><AUTHOR> Thank you so much for your input. This really does sound like the best way to move forward.

At the end of the day I feel like I really want to understand how these engines work, and I felt like the best way to understand that is to create one myself - but I'm not dead-set on that method.

<comment><USER2> You can't beat code reading for learning these things .. it really helps and its a lot fun as you get into it and your understanding gets wider.

</comment></comment></comment><comment><USER3> You could start with a simple raytracer? They're considered small enough to be an intro undergrad project, but it's still a very substantial amount of work.

<comment><AUTHOR> I should have probably mentioned that I'm about to take an introductory computer graphics course at Uni. But I'm thinking a bit more long-term than that.

However I did consider starting out small and making different projects that may accrue into something bigger later on. I feel like my inability to make these decisions really goes to show how lacking in direction I am right now..

<comment><USER4> What's the smallest, easiest thing that you can make quickly? Make that. Then repeat.

<comment><USER5> Yes. Make sure it has a definite end, so the end is in sight. The key is you'll gain a lot of information by doing this: from the work, from the obstacles, from things you notice along the way - and especially, a sense of how you feel about it, and what you think is important.

In short, to inform and develop a sense of direction.

</comment></comment></comment></comment><comment><USER6> Don't write a game engine: write a game. You won't really know what features your engine will need until you have specific requirements. The generic parts - the "engine" \- can be extracted via refactoring once you have a working system.

</comment><comment><USER7> Something I didn't do: try making a game using SDL or some other game library before you go all in on your own. From that, you will learn how it can be done, from the public API. It will give you a sense of when things should happen and why.

</comment><comment><USER8> Have you used other game engines? If not, I'd suggest you start by building games in a few different game engines so that you can develop good taste.

<comment><AUTHOR> I haven't, actually. This is something that I have considered but didn't actually know where I should start.

The transition from 2D to 3D is pretty daunting, though. I do know a thing or two about using a 2D engine (assuming they don't differ that much in fundamental ways) just by working where I do.

Do you think I should stick with 2D engines before going on to develop 3D applications?

<comment><USER4> Have you not heard of Unity? The free 3D engine? You can literally having a functioning game in ~4 hours by downloading it and follow tutorials like these:

[http://unity3d.com/learn/tutorials/projects/survival- shooter](http://unity3d.com/learn/tutorials/projects/survival-shooter)</comment></comment></comment>


Ask HN: How should site owners respond to complete data compromise? - <AUTHOR>

I hacked a local social networking site here in Croatia. I was looking into the innards of how one of their features works and while tampering with HTTP I accidentally sent a request with a semicolon in one of the fields. The rest is history: full access to their database, files, etc...
I informed the site owners immediately and they fixed the hole within a day or so, while expressing gratitude and surprise that somebody would go out of their way to describe the depth of the security problem, etc...
But during the talks with their tech team I realized that they have been aware of the hole for at least two years and had no idea if anyone ever exploited it. What's worse they were not going to disclose the hack in any way.
Considering that this was a hole that'd let you fetch all the data just like the POF hack, and considering that there might have been sensitive user data leaked, I'm questioning the wisdom of their choice of keeping the lid on things.
What does HN think: how should site owners respond to such complete failures of security? What would you do? <comment><USER2> If a bug in my code put my customers' data at risk, I would fix the vulnerability; make sure I fully understood its scope; make sure there were no other similar bugs; write a blog post alerting the world to the problem and providing any mitigation strategies; and email all my customers to make sure they saw the blog post.

<comment><AUTHOR> I'd upvote this twice if it were possible :)</comment></comment>


Random sample of 400,000 Twitter accounts, with metadata - <AUTHOR> https://github.com/jonbruner/twitter-analysis <comment><AUTHOR> In 2013 I wrote an article called "Tweets Loud and Quiet" ([https://www.oreilly.com/ideas/tweets-loud-and- quiet](https://www.oreilly.com/ideas/tweets-loud-and-quiet)) based on a surprising realization: the median Twitter account has one follower, and the median active account has 61 followers.

In order to write the article, I compiled metadata from a random sample of roughly 400,000 Twitter accounts. The entire sample is now available in this GitHub repo.

Although it's almost four years old now, I get requests for access to the dataset on an almost weekly basis. It's no longer a contemporary snapshot of Twitter usage patterns, but it supports interesting research on social dynamics.</comment>


Lightbulbs Could Replace Wi-Fi Hotpsots - <AUTHOR> http://www.cellular-news.com/story/33993.php <comment><USER2> Just in case there are any angels or venture investors out there, we are working on a startup that competes directly with this technology. My co- founder, easily the smartest engineer I have ever known, has been developing LED drivers and controllers for the past 3 years. This evening he called me to let me know he had passed the 4 Mbit/sec threshold. His goal is to transmit full HD video over optical. This is significant because there is no other method for transmitting Hi-def video wirelessly.

It is incredible what can be done with low cost micro-controllers and a little low-level assembly know-how.

</comment><comment><USER3> Bulbs won't work. The article is better than its heading, though. (LED do work.)

</comment><comment><USER4> On a similar note I was wondering if the iPhone (screen or elsewhere) could produce enough IR radiation to function as a TV remote? Any thoughts?

Perhaps flash the screen backlight to produce IR signals?

<comment><USER5> You'd have to flash it at something like 38 kHz, but I have a feeling it doesn't support that.

</comment></comment><comment><USER6> So how do you seed your torrents at night? Sleep with the light on?

<comment><USER7> I think it can use be adapted to use infra-red.

</comment></comment><comment><USER8> Only problem: pockets

<comment><USER9> I wonder how two-way communication would work - flashing your laptop screen?

<comment><USER10> probably a dedicated peripheral, which you need to capture the light patterns anyway (right?).

</comment></comment></comment><comment><USER11> What if I work in the dark?</comment>


Research: What to Do with Online Product Reviews? - <AUTHOR> https://feedcheck.co/blog/research-what-to-do-with-online-product-reviews/ <comment><AUTHOR> Please give us feedback</comment>


Matt Mullenweg on Wordpress - <AUTHOR> http://www.sfgate.com/cgi-bin/article.cgi?f=/c/a/2008/07/17/BU5P11MA4R.DTL

<comment><USER2> I wish there were more details on the engineering team in the article. All they say is "25 engineers working remotely".

Would be interesting to know what the growth in the engineering team has been from the early days, and how they are distributed geographically.

</comment><comment><USER3> I don't know which venture funding they are talking about. This article is like a mini-biography of Matt Mullenwag and Wordpress.

<comment><USER4> I've met him, he's pretty cool.

</comment></comment><comment><USER5> Just a small point - you can use WP as a CMS and make money doing so. I've actually been using WP to house technical documentation for over 3 years now. I've got a couple of plugins built for this purpose available here:

<http://almosteffortless.com/wordpress/></comment>


Gizmo: Inventors and their strange creations (1977) [video] - <AUTHOR> https://www.youtube.com/watch?v=gaVwqraUKxA

<comment><AUTHOR> My family has been watching this movie since as early as I can remember.

If you can't sit through the initial parts the real fun starts around here ([https://www.youtube.com/watch?v=gaVwqraUKxA](https://www.youtube.com/watch?v=gaVwqraUKxA)).

It's largely a collection of clips from early inventors showing off their amazingly horrible and amazing creations. You've likely seen many of the clips individually as they are offered used in other films and commercials.

It's hilarious, insightful and inspirational. Hope others enjoy. Hard to find (I have the VHS).

</comment><comment><USER2> I saw this in the '80s. A PBS station in Los Angeles showed it once, and someone I knew taped it.

He also had another amusing movie taped off of that same PBS station, that is even harder to find than Gizmo. That is "A Natural History of the Water Closet: A Documentary Cantata" (1974) [1], apparently created by WITF-TV [2]. That is exactly what the title says. It is a history of the water closet, done largely in song in the form of a cantata.

It's a shame that these old things are disappearing.

[1] [http://www.imdb.com/title/tt0404271/?ref_=ttpl_pl_tt](http://www.imdb.com/title/tt0404271/?ref_=ttpl_pl_tt)

[2] [http://trove.nla.gov.au/work/21313634?selectedversion=NBD265...](http://trove.nla.gov.au/work/21313634?selectedversion=NBD2654500)</comment>


Netflix signs deal with Disney. Great news for customers. - <AUTHOR> http://www.tekgoblin.com/2010/12/08/netflix-signs-deal-with-disney-more-tv-and-movies-in-15-days/

<comment><USER2> "The deal should add a substantial number of new TV shows and Movies to instant watch. The episodes will be added rather quickly to instant watch only 15 days after initial telecast."

I'm not too excited about any of the specific examples of shows/movies the article calls out, but this is a good thing nevertheless. I hope the experiment proves successful enough for Disney-ABC that they expand their offerings and maybe convince some of the other networks to jump in as well.</comment>


The 'ugliness' of Python - Ruby, Python, functions & objects - <AUTHOR> http://allthingsprogress.com/posts/the-ugliness-of-python

<comment><USER2> The python code here is not very idiomatic. Better would be something like:

        import re
        with open('companies') as f:
            important_companies = set(f)

        articles = ['article1.md', 'article2.md', 'article3.md']
        http_regex = re.compile(r"https?:\/\/(\w+)?(\.(\w+))*\.(com|org|net)")

        def parse_article(a):
            with open(a, 'r') as f:
                words = f.read().split()
                urls = (http_regex.search(w) for w in words)
                companies = (match.group(0).capitalize() for match in urls if match)
                return (c for c in companies if c in important_companies)

        [c for a in articles for c in parse_article(a)]

(Note, I didn't test this; I might be slightly misunderstanding some of what the code is supposed to do; the basic idea should be clear though. I think the original Python code posted might be broken: a regexp match object shouldn't be directly subscriptable, it's not clear why he's opening the file 'atp' for each article, and I'm really not sure what's supposed to happen when the url regexp doesn't match. One nice thing to notice: in Python a file object can be iterated over, and will spit out its lines; passing a file into list() or set() will turn its lines into the appropriate data structure. But if explicit splitting is ever necessary, the author should use foo.splitlines() rather than foo.split('\n'). Finally, compiling a regexp for each word in every file is bad form, and he should really be using "raw" strings for regexps. My guess is that the Python code in the original article was never actually tested.)

Or even better, use a generator:

        import re
        with open('companies') as f:
            important_companies = set(f)

        articles = ['article1.md', 'article2.md', 'article3.md']
        http_regex = re.compile(r"https?:\/\/(\w+)?(\.(\w+))*\.(com|org|net)")

        def parse_article(a):
            with open(a, 'r') as f:
                for word in f.read().split():
                    url = http_regex.search(word)
                    if url:
                        name = url.group(0).capitalize()
                        if name in important_companies:
                            yield name

        [c for a in articles for c in parse_article(a)]

In my opinion, either of these, but especially the second, makes control flow much much clearer than either the ruby or python examples in the original article.

<comment><AUTHOR> I'm not a fan of if statements (especially nested) or for loops (except for side effects), which is why I coded like I did — in the style of a Lisp. That said, thanks for the excellent code. I'm going to look it over.

I'll go back tomorrow and double-check the regex. I'm definitely not an expert with those objects in Python.

</comment></comment><comment><USER3> _numbers.map &:to_s could give different values in the same code—even though its argument doesn't change_

It's a family of functions: <http://en.wikipedia.org/wiki/Indexed_family>

</comment><comment><AUTHOR> Ruby for functional programming ... I realize lots of people don't swing that way. Thoughts?

<comment><USER4> Unfortunately most professional Ruby work is still done within the Rails framework these days, which more or less binds you to a more traditional OO type style. I do find that in regards to everything other than class/object abstraction my coding style gets more and more functional.

Especially when working in a team environment though it's important to stick to some established standards and idioms...

That said, Ruby itself gets more functional with each release, but it would seem unlikely that it'll ever completely shed it's OO-ness.

Rambling aside, some great links.

[http://moonbase.rydia.net/mental/writings/programming/monads...](http://moonbase.rydia.net/mental/writings/programming/monads- in-ruby/00introduction.html)

<http://www.khelll.com/blog/ruby/ruby-currying/>

<http://nex-3.com/posts/43-fun-with-the-y-combinator-in-ruby>

</comment></comment><comment><USER5> This is a fantastic read!

<comment><USER6> This is a terrible read. This is a rant about what the author is used to, and anything else is different and hard.

 _Now, in my mind, these method names are decidedly ugly. They aren't friendly, short, clean, straightforward or simple. I don't think anyone would argue with me there. Certainly no one's actually happy typing the extra underscores._

 _That's true, function passing is painless in Python and a little harder in Ruby. But coll.map &f isn't so bad, and for me, it's definitely not a deal breaker. I've actually gotten used to it. To me, the extra syntax is the price we pay for internal consistency._

These two quotes above are on one hand poopooing some apparently arbitrary naming convention in python and then praising the same kind of apparently arbitrary syntax quirk in ruby.

(I find the double prefixing and suffixing underscores to make sense in python: these methods are called _implicitly_ by other constructs, never called directly.)

<comment><AUTHOR> I'm going to go ahead and guess that you didn't read the entire article. You can disagree with what I say, but it's anything but a rant.

<comment><USER6> Maybe rant was too strong of a word, but I don't think there much meat to this write up, because there isn't much introspection into _why_ any of these differences are the way they are, it's mainly just pointing them out and favoring one over the other based on familiarity.</comment></comment></comment></comment>


Not one Microsoft product on Kaspersky's top 10 vulnerabilities list - <AUTHOR> http://thenextweb.com/microsoft/2012/11/02/microsofts-security-team-is-killing-it-not-one-product-on-kasperskys-top-10-vulnerabilities-list/?utm_campaign=social%20media&utm_medium=share%20button&utm_content=Microsofts%20security%20team%20is%20killing%20it:%20Not%20one%20product%20on%20Kasperskys%20top%2010%20vulnerabilities%20list&awesm=tnw.to_lLo7&utm_source=Twitter <comment><USER2> This is the result of nearly a decade of work from MSFT, across the board. They built better tools, drilled security into every new hire all the way to the execs, made it a part of every engineering and product process imaginable. Happy that is finally being acknowledged on the outside.

<comment><USER3> What can we trace this security priority initiative of Microsoft back to?

<comment><USER4> Jan 15, 2002 email from Bill Gates to all MSFT staff [1]. Includes some real gems, like;

>So now, when we face a choice between adding features and resolving security issues, we need to choose security. Our products should emphasize security right out of the box, and we must constantly refine and improve that security as threats evolve.

1.<http://www.wired.com/techbiz/media/news/2002/01/49826>

<comment><USER5> I was hugely impressed by Bill when I read that memo, I checked with my friends who worked there to see if it was 'real' or a PR stunt, and they universally agreed it was very very real.

I suspect Google is about to be tested in this way given the adoption of Android on mobile devices. It is fortunate that they have a strong security culture to begin with but nothing proves that like being battle tested.

<comment><USER6> Google isn't the first company that would come to my mind. I'd rather go for Apple. Their mobile ecosystem might be a lot more secure than Android's, but the way they acknowledge OSX vulnerabilities and how soon they fix them is a weak spot.

Oracle with Java could also get a lot of heat.

<comment><USER7> Apple regularly loses security shootouts, and is widely derided by security people. Their only advantages are their niche status (which they are losing) and their lack of consideration towards old apps (they can dump old APIs which are hard to secure, and make other backwards-incompatible fixes, because they just don't care that much about backwards compatibility).

<comment><USER8> This is a rather biased view. Maybe check that top ten list again.

<comment><USER9> The one that Apple holds two positions in for arbitrary code execution vulnerabilities?

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> I usually get shouted down when I say this but Microsoft's focus on secure code over the last 10 years has paid off. Not only is the OS too hard a target hence the increase in Java, adobe product exploits, but their software running on their OS has fallen in line too.

I know the saying many eyes make bugs shallow, but so does billions of dollars and years of concentrated effort. Kudos to Microsoft for getting their act together.

<comment><USER11> > I know the saying many eyes make bugs shallow, but so does billions of > dollars and years of concentrated effort.

The saying holds. Billions of dollars buys many eyes.

<comment><USER12> That's not really how secure coding works at Microsoft though. There aren't more eyes on the code, just more developer training and more processes in place. (At least that was my experience working there from 2006 to 2009.)

<comment><USER13> There are more eyes on the code too, though: virtually everything Microsoft ships gets a 3rd party review.

<comment><USER14> ... that still isn't "many eyes" on any particular piece of code, in the sense of the saying, though.

<comment><USER13> Just because Eric S. Raymond says that's how security bugs should be found doesn't mean that's how security bugs are actually found.

<comment><USER14> And that is an interesting point; and it is specifically the point the G*P was making, which was obscured by saying, "Oh, but there are still multiple eyes here."

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> Interesting to note that both Apple vulnerabilities listed exist only for their Windows software. (QuickTime: [http://lists.apple.com/archives/security- announce/2012/May/m...](http://lists.apple.com/archives/security- announce/2012/May/msg00005.html) iTunes: <http://support.apple.com/kb/HT5485>)

I wonder if these are lower priority for Apple or if they perhaps just aren't as good when developing for Windows.

<comment><USER16> Quicktime on Windows is stuck at version 7, which is riddled with numerous problems. It's this old Quicktime codebase that is the source of the Quicktime and iTunes vulnerabilities on Windows.

The current version on Mac and iOS is Quicktime X. This version was a complete rewrite (that started on iOS and eventually migrated to the Mac). The complete rewrite allowed for a vastly more secure design (among other improvements).

<comment><USER17> But the iTunes backend is still QuickTime 7 on both Mac OS X and Windows. QuickTime is really only present on Windows machines nowadays as the backend of iTunes.

</comment></comment></comment><comment><USER18> It's actually this bit from farther down that surprised me the most:

> _56 percent of exploits blocked in Q3 use Java vulnerabilities._

So much for the idea of a managed language runtime being inherently more secure...

<comment><USER19> The runtime isn't written in a managed language, and that's where most of the vulnerabilities happen, right? The holes aren't in application code, but in _running arbitrary code_, which the JVM fails to do safely.

The surface area exposed is larger, because you're allowing the browser to download and run arbitrary programs, something you don't do with unmanaged languages very much.

Edit: Also, just consider how much worse it'd be if Java apps were re-written in a language that allows buffer overflows. Enterprises already cannot get security right; even generating SQL queries results in problems. No way would those teams deal with yet another layer of security issues. Hell, I've dealt with commercial teams writing in C++ thinking a buffer overflow has "something to do with network rate limiting."

<comment><USER20> _> "The runtime isn't written in a managed language, and that's where most of the vulnerabilities happen, right?"_

At least some of those Java vulnerabilities are logic errors in the sandboxing/securitymanager parts that are supposed to prevent applets from accessing privileged APIs, and those checks are usually implemented inside the actual java.* standard library classes, in the Java language.

</comment></comment></comment><comment><USER21> Reading [http://www.securelist.com/en/analysis/204792250/IT_Threat_Ev...](http://www.securelist.com/en/analysis/204792250/IT_Threat_Evolution_Q3_2012), I find it surprising that the Netherlands manages to be the best malware exporter in the world (third in 'production', close behind Russia and the USA (both with a much larger population), but also in the top 10 for 'least consumption', a list that neither Russia nor the USA made).

Does anybody have any idea how that comes about? The only reason I can think of is that Amsterdam is a huge node in the Internet backbone (<http://en.wikipedia.org/wiki/Amsterdam_Internet_Exchange>). Malware authors might want to host their stuff close to such nodes, so that they can distribute their wares efficiently.

<comment><USER22> Amsterdam is a criminal epicenter

<comment><USER23> Any further links or reading? I am very interested in this subject.

<comment><USER24> Just look at the number of banks and high frequency trading shops :D

</comment></comment></comment></comment><comment><USER25> If you're running Chrome please for the love of all that is holy enable Click- To-Play for all plugins. With it disabled it is like running without a pop-up blocker.

You can do so in Settings -> Advanced Settings -> Content Settings -> Plug-Ins -> Click To Play.

When you visit a site which has a plug-in you'll get a UI control similar to the pop-up blocker which allows you to add it to the exceptions list and or to allow it just this one time. You should add YouTube to the exceptions list.

<comment><USER26> Or better yet, switch YouTube to the HTML5 player:

<http://www.youtube.com/html5>

One less site that needs Flash.

<comment><USER27> Every time I join the YouTube HTML5 trial it gets silently turned off and videos start playing in Flash again a week or two later. Does that happen to anyone else?

<comment><USER28> Yes! I have turned that on many times and I always end up watching flash videos again. I wonder if it had to do with my session cookie expiring. Does anyone know how they toggle this experiment on/off for different users?

<comment><USER29> I'm in the beta, I've never had to rejoin. Possibly because I'm logged into my Google account, which is linked to my Youtube account. Note that some Youtube videos are still delivered as Flash, I believe is whenever adverts are shown.

</comment></comment></comment></comment></comment><comment><USER30> And to think that a free (as in it didn't cost me a cent unless I want to pay for it) piece of software protected me from most of this. The phenomenon known as NoScript is quite marvelous in doing its job without eating much of my CPU cycles :-)

Of course, when you get down to the bottom line you know it's not a huge technical feat, but really, neither is anti-virus software. It's a matter of foresight and hard work. Donate today :)

(Disclaimer, I am in no way connected with NoScript other than being a happy user)

Edit: After posting this I realize it comes across as a bit of advertising and not contributing much to the conversation, I was about to delete it, but I stopped myself and wanted to add: I am -truly- happy not having to (even though I do) worry about what links I can click.

</comment><comment><USER31> Haha. Great to see iTunes and QuickTime (Windows versions, probably?) on the list... Apple should really either update them _(I'm not sure iTunes 11 will be released for windows too)_ , or just abandon them (and ask customers to use iCloud for backup). A few days ago I opened a .mov on a Windows machine with QuickTime - it was horrible. I can't imagine how dreadful iTunes probably is. No wonder all PC guys hate iTunes...

<comment><USER32> I hate iTunes on every platform. It's bloated; it tries to do too many things and it does them all wrong. Just as an example, searching for anything with iTunes is a horrible experience, particularly when compared with searching the 'net with any of the top search engines. Book, app and media management are terrible. Cross-computer management of the same is terrible. Backing-up your iPhone, if you are not careful, can result in erasing every single app from your phone and replacing them with what happens to be on the new machine's iTunes. Take a music database that Windows Media deals with without any issues whatsoever (devoid of metadata other than folders with the album name and files with the song names). Import it into iTunes and watch it get mangled. Albums get destroyed, songs end-up categorized in weird ways, etc.

<comment><USER33> I hate iTunes too for all of the reasons mentioned above, however there's one thing it does at least half-ok'ish:

It doesn't eat a ton of CPU while playing a few simple MP3s...

I've tried using Clementine (an Amarok-fork, my favourite music-player by far, at least on Linux) but it's just a resource-hog - comparatively at least.

So yeah - does anyone have suggestions on what to use for music playback? Something that doesn't suck? Something that doesn't waste precious CPU-cycles without reason, generating heat and wasting battery on the go?

<comment><USER34> I've been using <http://www.foobar2000.org/> for almost 10 years now. Though most of my music now is in the cloud, I always keep a heavily modded version of fb2k on my PC.

This is BY FAR the best audio player available.

I had some respect for Amarok when I was on KDE 6-7 years ago. Nowhere close to fb2k though. Nowadays on Linux I prefer just plain old mpd.

<comment><USER35> > Heavily modded version

That's the problem i found with foobar. I always enjoyed WinAmp and still miss it to this day on mac. Itunes is no comparison.

<comment><USER36> But there is a Mac version of WinAMP (tho I've nver used it) <http://www.winamp.com/mac>

</comment></comment></comment></comment></comment></comment><comment><USER37> Oracle took the top 2, but Adobe had 5 runners up. Too bad Adobe couldn't overtake Oracle, they clearly put in a lot of effort at it. And Microsoft.. not even being listed? Are they even trying anymore?

<comment><USER38> but oracle products account for 53 of the malware attacks !

</comment></comment><comment><USER39> Let's take a look at CERT, shall we?

17 Sep 2012 VU#480095 Microsoft Internet Explorer 6/7/8/9 contain a use-after- free vulnerability

17 Sep 2012 VU#389795 Windows Phone 7 does not check certificate Common Names when sending or receive

Hmm. OK, how about #1 service being remotely attacked right now:

MS Terminal Services

<comment><USER40> The OP is a list of vulerabilities by severity. When I look at the current US- CERT database, I don't see any Microsoft products in the top 10 results by severity[1] or by date[2].

[1] By "Common Vulnerability Scoring System": <http://www.kb.cert.org/vuls/byCVSS>

[2] By Date: <http://www.kb.cert.org/vuls/bypublished>

<comment><USER39> Whatever. " Not one Microsoft product on Kaspersky's top 10" implies that Microsoft products are secure. They are not.

<comment><USER36> The notion propagated by fanboys is that Microsoft software is the least secure on the planet, and if you believe that then you might well expect Microsoft to occupy many if not most of the top 10 places. The point of the headline is that it doesn't. It's based on challenging a known assumption, not establishing the opposite assumption.

<comment><USER39> Every time Microsoft releases a new product the Astroturfing goes through the roof and the dishonest message is insulting to experienced system engineers.

<comment><USER36> Maybe. I find serious system engineers tend to ignore the childish fanboy squabbling. They have jobs to do.

</comment></comment></comment></comment></comment></comment><comment><USER41> This reminds me of the bear joke: They only had to outrun oracle and adobe...

<comment><USER13> The implication here is that Microsoft didn't actually improve their security so much as Oracle and Adobe failed to keep up with theirs. I don't know whether you intended to say that, but either way, it's a false statement.

<comment><USER42> ...or a criticism of Oracle and Adobe, which is then 100% true statement.

</comment></comment></comment><comment><USER43> I figured there would be a lot of Adobe stuff on the top 10, but that is _a lot_ of Adobe stuff.

</comment><comment><USER44> Glancing at the list, I see there are only four companies in the world who cannot claim they don't have a single product on Kapersky's top 10 vulnerabilities list.

<comment><USER45> But the fact that the largest software company in the world is among them is what's notable.

<comment><USER44> Yes. I wonder what percentage of vulnerabilities 11-20 belong to Microsoft?

</comment></comment></comment><comment><USER46> Ah Shockwave, good to see you again my old friend.

I can't believe it's still around and kicking, given the last release of Director seems to be about two years ago.

I don't play any online games, but can somebody vouch for whether it is still used to develop browser games anymore?

<comment><USER47> AFAIK its only advantage was 3D authoring support, and Flash has that too now, so I see no reason to continue using it at all.

</comment></comment><comment><USER48> For security reasons, I've stopped using PDF readers based on Apple and Adobe code. I'm now using XPDF through an Automator app as my default PDF program, with Google Chrome as an alternate.

</comment><comment><USER49> Not one Microsoft product on top 10 vulnerabilities affecting Microsoft operating system.

<comment><USER50> That is a more significant finding!

Dropping out of the overall top ten may have little or nothing to do with better security since the calculation is intentionally skewed to measure by number of affected users.

MS bugs got raised to the top in a desktop dominant world, but they've lost ground (and therefore importance in this calculation) against mobile/tablet/etc devices making the most successful cross platform products capable of affecting more users.

</comment></comment><comment><USER51> Sorry for going off topic but, I hadn't seen the nextweb new design before. I found it quite disorientating, there is so much orange "stuff". I just didn't know where to look.

<comment><USER52> I wasn't bothered by the colors so much as the layout. Almost every news source I read has the article all the way to the left, with navigation at the top and secondary content on the right. Having the navigation on the left and the content on the right was disorienting (and I've felt the same with Google's newer blog layouts). I can understand doing this on a tablet, but on a desktop it feels... overly simplified.

<comment><USER53> Worse for me on my (1024 x 600) netbook: the actual content wasn't even completely visible until I shrunk the font size several notches.

</comment></comment></comment><comment><USER54> The fact hat Adobe still ships expensive, crappy, heavy, memory consuming, battery drain and insecure products is not news. 5 of them in the Top 10.

</comment><comment><USER55> Adobe have been embarrassing themselves for a solid decade now as far as security is involved. Might be time for them to step up.

<comment><USER56> I'd be happy with installing their software on case-sensitive filesystems.

</comment></comment><comment><USER57> Sure, the same way there is no danger to heath in fast-food, every advertiser will tell you for sure.)

</comment><comment><USER58> Is it getting safer to say that antivirus software may soon be a thing of the past?

<comment><USER59> My question is, would you run Windows 7/8 without any anti-virus software at all? Do you feel that comfortable? After years of Linux/OS X I can safely say that I won't use an OS that requires anti-virus ever again.

<comment><USER60> I have never run a windows system with anti virus. There is a very simple technique. Don't install viruses.

<comment><USER61> I've had a single virus on a windows machine, and I was about 90% sure that it was going to be a virus and wanted to see what happened.

I don't run anti-virus software, but I think it's only the power users that are capable of doing so. User education is still too low. Would you trust your parents or grand-parents to "not install a virus" ?

</comment></comment></comment></comment><comment><USER62> ...they are so valuable, that they are traded on the black market.

<https://twitter.com/VUPEN/status/263283188175106048>

</comment><comment><USER63> Now is as good a time as any to disable Flash and Java in my browser. Not sure why I haven't done this earlier.

Props to Microsoft though. Nice! :)

</comment><comment><USER64> All those _s functions must be paying off!

</comment><comment><USER65> This is because Adobe is doing a too good job putting its products on the list : )

</comment><comment><USER66> And yet a friend of mine has to reinstall her shiny new netbook because apparently there is some nasty rootkit/trojan that cannot be removed (so easily).

</comment><comment><USER67> Declining marginal vulnerabilities

</comment><comment><USER68> I'm a long time Java dev and lately it's been terrible, totally terrible, for Java from a security point of view. A gigantic fiasco. Flash's track record is very poor too. Saying that something is "less vulnerable" than these two really doesn't mean much.

We're talking about hundreds of millions of zombie PCs due to Java applets + Flash exploits. So being "less vulnerable" than these technologies doesn't mean much.

So no Microsoft product in the top 10? You mean Word is not as big as an attack vector as Java applets and Excel is not as big as an entry point as Flash? Is there any surprise in here!?

That's not the interesting thing: what concerns most people is the browser they use to surf the Web. Is Safari + Java applet plugin more vulnerable then IE + Java applet? Is Chrome + Flash more vulnerable then IE + Flash?

That's what counts.

And also: how do you install Java on your system if you _really_ need it (e.g. because you're a Java dev) and yet make sure it's not available from your browser? Or from another user account? This kind of stuff is trivial to do on Linux: it's been a long time since I'm using a throwaway user account that has no Java installed to "surf the Web" (using Chrome but whatever). It's trivial to do because on Linux you can install Java from a regular user account (no need to be root).

On Windows this is not possible: installing Java requires the admin password and opens a whole can of worms ; )

I can tell you: I'm surfing from Linux using Chrome which has Flash. I also have Java installed in a separate (developer) user account. And I'm pretty sure this is more secure than surfing from a Windows machine, no matter where Microsoft stands in that report from their "friend in bed" Kaspersky...

Also, for a little touch of irony regaring the article, Kaspersky's revenues are virtually entirely coming from sales of anti-virus protecting Windows OSes. Why aren't they succesful on the Linux servers powering the Internet?

</comment><comment><USER69> Beat by Oracle and Adobe. Something to _truly_ be proud of. Aw, no one else finds this to be a strange brag? Should we make a list of all of the companies that aren't up there?

<comment><USER70> I agree, this is a really weird post.

<comment><USER69> Careful, that's a suicidal comment.</comment></comment></comment>


Image Space Photon Mapping: The insanely great near future of computer graphics - <AUTHOR> http://graphics.cs.williams.edu/papers/PhotonHPG09/

<comment><USER2> This is definitely very cool. I was actually fortunate enough to attend a presentation that the first author gave just a couple of days ago. It was a good talk and the slides were substantially based on the ones from the project page, so I'd certainly recommend checking those out.

A couple of notes from the talk (paraphrased):

\- Image-space photon mapping solves the same problem as traditional photon mapping; it does not introduce any extra simplifying assumptions. The performance improvements come primarily from (a) acceleration of the first bounce using rasterization, and (b) the improved radiance sampling technique yielding good results with 100x fewer photons than traditional methods.

\- The slides that I saw included some extra material, including a list of other common numerical problems that can be relatively easily formulated as special cases of the rendering equation. Since image-space photon mapping produces randomized solutions to the full rendering equation, there may be extensions from this work to other important problems. (He drew an analogy between convolution and rendering a scene computing only the first bounce.)

\- Q: It's not clear to me exactly how to convert some of the other numerical problems you mentioned into scenes for rendering. Which of your contributions do you think might be most valuable to people working on these problems? A: The radiance estimate. I think the lesson to draw from that is, no matter what your problem is, it's a good idea to try using fewer samples and extracting more information from each one.

\- Q: Can you handle volumetric effects or sub-surface scattering? A: No, we assume that all scattering occurs at an object surface.

\- Q: Why are you attempting to achieve physical accuracy? Studies have shown that people are really bad at judging whether the scene they're looking at is physically accurate. A: You don't want your artists to have to understand the guts of your rendering techniques. When you start using hacks to capture only a few perceptually relevant effects, the result can be fragile, and as soon as the artists change anything the scene looks terrible. If your renderer is physically correct, though, everything just works.

EDIT: Made point (a) in the first note a little more precise.

<comment><USER3> > I was actually fortunate enough to attend a presentation that the first > author gave just a couple of days ago.

Extremely off topic: I remember implementing an algorithm from the second author almost 10 years ago (before soul-crushing college and work) of the second author (when he was at the University of North Carolina – Chapel Hill). The algorithm was called " View-Dependent Simplification of Arbitrary Polygonal Environments" (from here <http://luebke.us/#Papers>). The algorithm was quite awesome – it allowed view-dependent simplification – even for indoor environments.

<comment><USER2> Neat! I can't say I'm familiar with the paper, but I'll check it out sometime.

</comment></comment></comment><comment><USER4> Awesome. Don't miss the video link. This is very impressive stuff...

<comment><USER5> There's a few video links, but the main demonstration (with the explanatory voice-over) is this one: [http://graphics.cs.williams.edu/papers/PhotonHPG09/ISPM- HPG0...](http://graphics.cs.williams.edu/papers/PhotonHPG09/ISPM- HPG09-video.mp4) (~5 min, 41MB)</comment></comment>