"Disable Javascript" option removed in Firefox 23 - <AUTHOR> https://bugzilla.mozilla.org/show_bug.cgi?id=873709&resub <comment><USER2> Here's a very relevant blog post by Alex Limi of Mozilla: [http://limi.net/checkboxes-that-kill/](http://limi.net/checkboxes-that-kill/)

 _Most sites these days that aren't just displaying content will fail in interesting & mysterious ways if you don't have JavaScript enabled. For the general population, Firefox will appear broken._

 _And yes, I know that some people have reasons (privacy, web development) to turn off JavaScript. There are many add-ons that can help with this — but it's not something that we should ship to hundreds of millions of users._

(EDIT: this is the relevant quote, but worth reading the whole article)

<comment><USER3> I have to say that this article is actually quite terrible, as is the opinion that any option that might ever be confusing to a user is an option that shouldn't ship with the product. The thesis of the article is:

"Well, we have met the enemy, and he is us.* In the currently shipping version, Firefox ships with many options that will render the browser unusable to most people, right in the main settings ui."

The solutions offered? Kill it all with fire. I'm paraphrasing, of course.

Problem: People today change some feature then have a "broken" browser (basically, they forgot to turn it back to the default, or they didn't realize they changed it in the first place).

Solution: reset button, also notification to the user that "this page might not work correctly", some sort of an extension of how Chrome shows you that a popup and/or a cookie was blocked, based on your settings. Don't treat your users like idiots, just provide information that clears up certain odd states by explicitly informing them of something like:

"The webpage you are viewing may not work correctly because the following options differ from their default values:

1\. Enable automatic loading of images. 2\. Enable JavaScript.

These features of Firefox are essential for most webpages to run properly. If the webpage you are trying to access is behaving strangely or appears to be working incorrectly, <click here> to load the page with the default browser configuration."

Done, and done. No removing useful features from the browser, no treating users like morons, but now I have a new, useful, awesome, self-debugging feature which is user friendly, and doesn't require a pesky IT guru's assistance navigating the sea of 10 trillion options.

<comment><USER4> This was true 10 years ago. These days, every additional setting the application has is a liability. There is a growing group of people, who are scared to have conversation with their browser and make any informed decisions. They ignore such messages. Other people will change any setting they can find and then forget about it. Then they will be surprised and angry at the application that it is not working.

My experience shows that the more options an application has, the lazier the author was. What do you do as a software developer when there are two ways how to solve a problem? Ask the user which way to use? That is the wrong approach these days. The computer should not ask the user stupid questions. "Do you want to enable JavaScript?" is a stupid question for more than 98% of browser users. Instead of asking questions, software developers should invest the work to come with answers and "read the user's mind". Successful apps can do just that.

<comment><USER5> "Do you want to disable JavaScript?" is a stupid question, as you say. "Do you want your browser to tell Google, Facebook, Twitter, Omniture, DoubleClick, and six other companies you have never heard of, that you visited this site?" is not a dumb question. Given that option, 98% of users would say "hell no."

You are absolutely right that configurability is a sign of laziness, the opposite of hard work. But removing configurability is _not_ the sign of hard work. Hard work means addressing the interests of all parties, and Mozilla did not do that.

Why do those 2% of users disable JavaScript? It's in reaction to how JavaScript is used: it enables popups, enables distracting advertisements, lets all sorts of companies track me, makes sites load more slowly, etc. For this 2%, these uses are so odious as to outweigh the beneficial uses of JavaScript. So the hard work would be finding a way to distinguish between the user-friendly and user-hostile uses of JavaScript, and just disable the user- hostile ones, so that the interests of both classes of users would be satisfied.

This would not be new: Firefox's popup blocker is enabled by default, which demonstrates that JavaScript is already disabled for a particular use case, because it proved to be annoying to users. Why not take that a step further? If Mozilla wants to force JavaScript on, they should also address the reasons why that 2% of users go out of their way to disable it today. If those 2% say "I used to disable JavaScript, but now I don't have to" then Mozilla will have done their job.

<comment><USER6> _" Do you want to disable JavaScript?" is a stupid question, as you say. "Do you want your browser to tell Google, Facebook, Twitter, Omniture, DoubleClick, and six other companies you have never heard of, that you visited this site?" is not a dumb question. Given that option, 98% of users would say "hell no."_

Assuming you're correct (which I'm not convinced you are), when you then continue, "I have a checkbox that will make it so they don't track you, but it will also break those sites. Is that ok?" They will also respond "hello no".

 _Firefox 's popup blocker is enabled by default, which demonstrates that JavaScript is already disabled for a particular use case, because it proved to be annoying to users. Why not take that a step further?_

Right, because you can easily say that a non-user-triggered window.open() is almost always unwanted. I can't think of any other cases where it's so clear- cut and related to JS, or that disabling a particular facet of JS always would be a net win.

If you're going to claim that there's something like that, provide examples. How do you know people at Mozilla haven't already thought hard about this problem and decided there isn't much more they can do? I bet they have.

<comment><USER7> > "Do you want to disable JavaScript?" is a stupid question, as you say. "Do > you want your browser to tell Google, Facebook, Twitter, Omniture, > DoubleClick, and six other companies you have never heard of, that you > visited this site?" is not a dumb question. Given that option, 98% of users > would say "hell no." -> This overstates the case, because you'd still > presumably load the 1x1 tracking png with ?resid=<X>&uid=<Y>.

> "I have a checkbox that will make it so they don't track you, but it will > also break those sites. Is that ok?" They will also respond "hello no".

This overstates the case most of the time because doing this generally breaks relatively little for those domains listed, and to the extent it doesn't, making that decision on a domain-by-domain basis seems to work pretty well (ask any Noscript user)

</comment></comment></comment></comment></comment></comment><comment><USER8> Here's the bug where the option was removed: [https://bugzilla.mozilla.org/show_bug.cgi?id=851702](https://bugzilla.mozilla.org/show_bug.cgi?id=851702)

Limi's blog post "Checkboxes that kill your product" is cited in the bug as a good explanation of the motivation behind this: [http://limi.net/checkboxes- that-kill/](http://limi.net/checkboxes-that-kill/)

The option has been added to the DevTools for developers who find it useful: [https://bugzilla.mozilla.org/show_bug.cgi?id=864249](https://bugzilla.mozilla.org/show_bug.cgi?id=864249)

And of course addons like NoScript or js-switch are available if you still want this in your UI: [https://addons.mozilla.org/en- us/firefox/addon/noscript/](https://addons.mozilla.org/en- us/firefox/addon/noscript/) and [https://addons.mozilla.org/en- us/firefox/addon/js-switch/](https://addons.mozilla.org/en- us/firefox/addon/js-switch/)

<comment><USER9> Sure, blame the 'checkboxes' and not your own failure to handle disabled js gracefully.

I'd be mad about this, except I haven't used firefox in years. One less reason to go back I guess.

<comment><USER10> > "failure to handle disabled js gracefully."

How are we meant to handle AJAX requests that fetch data to display on the web page that allows users to achieve the goal of their visit? Without JS enabled, that part of the page will be blank, and many modern, rich content-heavy sites now pull data from different places on the fly, it's just how it is.

Is your idea of gracefully handling this situation putting a noscript tag there saying "please enable JS"? If so, what exactly is your problem with removing the option which we only ask users to re-enable anyway?

As many others have pointed out, you can still disable JS if you really need to. It's average non-technical users who don't require that option.

<comment><USER7> Let's not forget that not every page is meant for humans to read, and not every reader is attempting to consume information the same high-bandwidth (visual) way.

You might think AJAX is amazing, but I call it an accessibility nightmare.

<comment><USER10> I know exactly what you mean by AJAX being an accessibility nightmare, and perhaps my own recent over-indulgence in using AJAX to populate the website I made will come back to bite. Time will tell, and I'm willing to eat humble pie over it. But in my defense the client's requirement was to get that content on the page, and AJAX was the only method available to me.

</comment></comment></comment></comment></comment><comment><USER11> A few months ago, I switched to using w3m inside emacs as my primary browser.

w3m is not capable of handling Javascript at all. And you know what, for 90% of the websites I visit, it doesn't matter. They function fine and look fine without Javascript. And if w3m could manage to make most websites look fine without Javascript, so could Firefox -- if its developers cared.

As for non-technical users -- they're probably not going to be opening Firefox's Preferences dialog in the first place. And if they do, they probably aren't going to start randomly checking and unchecking stuff to see what it does. That's something an adventurous geek might try, but certainly not your typical non-technical user.

If Firefox developers wanted to additionally protect the average user from this dangerous button, they could have simply stuck it in the Advanced tab of the Preferences dialog, or added a scary warning about being doubly sure that the user knows what he's doing (like they do with about:config).

That said, I'm happy to use NoScript for this functionality anyway, as it's far more flexible than a blanket "turn off Javascript everywhere with no exceptions" button.

<comment><USER12> " _As for non-technical users -- they 're probably not going to be opening Firefox's Preferences dialog in the first place. And if they do, they probably aren't going to start randomly checking and unchecking stuff to see what it does._"

You would be surprised what non-geeks tend to do when they have no clue what to do.

<comment><USER13> My mother-in-law emailed my wife a one line message today asking why she's seeing ads on Facebook that she hadn't seen before.

You are on the mark.

</comment></comment></comment><comment><USER14> I like this! The option is still there for power users (who most likely _know_ why they want to disable Javascript) and normal users can't accidentally disable it. Win-win!

<comment><USER15> It's even more relevant now with all the front end JavaScript frameworks that so many web apps rely on these days. In an age where web sites are now web apps that rely almost totally on JavaScript to function removing this option except for those who really have a good reason is acceptable and probably preferable. I feel like educating users is becoming harder and harder due to how hard we've all pushed for "it just works" type experiences so rather than fight the tide Mozilla is going with it.

Plus, apart from security concerns which can be dealt with other ways, JavaScript engines are now capable of running multiple web apps in many tabs simultaneously without being noticed. Wasn't performance one of the primary reasons for having this option back in the day? Now its not an issue. Going forward we might not see a disable js button and think it just as normal as not seeing an option to disable CSS or even html. It's kind of a non-optional piece of the web now.

<comment><USER16> > It's even more relevant now with all the front end > JavaScript frameworks > that so many web apps rely on > these days.

Hardly. The number of people who chose to disable JavaScript is utterly dwarfed by the factors that get in the way of JavaScript successfully executing on the page.

Very simply: A browser can not execute JavaScript it hasn't received: [http://isolani.co.uk/blog/javascript/DisablingJavaScriptAski...](http://isolani.co.uk/blog/javascript/DisablingJavaScriptAskingTheWrongQuestion)

You are reliant on factors outside of your control. For example, a well- intentioned DNS Blacklist took down loads of Fortune 500 companies: [http://www.theregister.co.uk/2012/01/05/google_opendns_clash...](http://www.theregister.co.uk/2012/01/05/google_opendns_clash/)

</comment></comment></comment><comment><USER17> I supppose too many people accidentally disabled Javascript in recent months while trying to disable Java. As long as there's an about:config option that does the same thing, I don't think it's a bad move to remove that option from view.

I will, however, miss the "Advanced" button next to the "Enable JavaScript" checkbox (if that button is going to go away, too, which the article isn't clear about). I use those Advanced options all the time to prevent websites from messing with my neatly tiled windows and trying to prevent me from using the right mouse button. Here in South Korea, the majority of blogs and forums have right-click protection enabled (and refuse to display any content if you disable Javascript altogether) due to ridiculous defaults in popular platforms, and every other website feels like they have the right to go full- screen. Firefox is the only thing that makes this stupid trend bearable. I guess I'll have to go and check whether NoScript has a similar option.

<comment><USER18> I can confirm the "Advanced" button is gone.

At least for the moment, the dom.disable_window_move_resize and dom.event.contextmenu.enabled preferences still exist in about:config, though.

<comment><USER19> This is what will be the major issue for me. I toggle the right click override option on and off on a very regular basis.

<comment><USER20> Shift + right click is the shortcut to always go to the browser context menu.. No need to toggle preferences.

<comment><USER21> Thank you. I'm not familiar with JavaScript but would it be possible for websites to block shift+right click as well?

EDIT: Per this comment [1] holding shift causes Firefox to bypass event handlers, so hopefully that wouldn't be possible.

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

</comment></comment></comment></comment></comment><comment><USER22> > This destroys a non-technical user's grasp of the differences between static > HTML and programatically manipulated HTML.

I think this line says it all.

Non-technical user don't even know what HTML is, the concept they'd ever "grasp of the differences between static HTML and programatically manipulated HTML"? Do these people live in the real world?

<comment><USER23> well said. The fault lies in assuming that the rest of the world works like the way we (hackers) do. The fact is that they do not. Further, many of end users actually do like some of those animations that we find shitty.

JS makes the web feel responsive and interactive. I helps keep the user engaged with you site if used in the correct manner. Removing the option that easily disables it for a majority of users if the right step. Hackers will always find a way around it.

<comment><USER7> I will say this: it confuses the hell out of daihyou, who spends a lot of time on linkedin.

One man's 'responsive and interactive' is another man's "Did it work?"

I'm not going to make a value judgement on this bit. If snappy, responsive, and interactive are priorities, they should be handled in a way that doesn't involve opening the gates of hell and letting Javascript out. If the standards don't provide a clean way to do that that ensures accessibility and that pages don't discriminate against programmatic displays, then they damned well should so that we can exercise the hellspawn that is Javascript once and for bloody all.

</comment></comment></comment><comment><USER24> I can't remember the last time I wrote an application that didn't rely on Javascript for even parts of its basic functionality.

I simply don't understand why you would want to browse the web without JS enabled and the average user definitely would never turn it off except in error, causing them to think the browser is broken.

Every single common-use browser on the Internet supports Javascript, there is no reason to assume it is not there as a developer.

<comment><USER25> > I simply don't understand why you would want to browse the web without JS > enabled

It's faster. Much faster. Every time I disable noscript to use some website (90% of the time it's video that doesn't work) I'm always astonished how much GARBAGE most website have. Totally useless stuff.

Popup boxes, annoying underlining with mouse overs, certificate verifiers, bookmarks, social network promoters, chat boxes, and helpers galore.

I suppose that stuff pays the bills? Maybe. But pages are so much faster without it.

<comment><USER24> But that stuff is all important for the website owner.

Advertising for paying the bills, analytics tracking to work out who is using their site, chat/comments boxes for social interaction.

<comment><USER26> Disabling Javascript isn't equivalent to installing an ad blocker. Ads not showing are just a side effect if it. If sites can't integrate ads on the server side it's not my problem. Same with analytics: you can still use regular web server logs. Everything beyond that is too invasive for my tastes.

<comment><USER27> Not quite. As lockers are common enough that they need to be considered. However, far less than 1% of users disable JavaScript (on the sites I work with). I'd be supporting IE6 again with those numbers, because the real cost is having to build and maintain the different versions of the site.

And all for what? Someone who isn't going to make us anything near the time it will take to develop.

I'm not saying what you want is wrong. Rather, what you are asking for is to have a game written in c to be rewritten in python because you don't want to use c applications.

<comment><USER25> > because the real cost is having to build and maintain the different versions > of the site.

Personally I don't block javascript that comes from the same domain as the page. Just 3rd party stuff.

This cuts out the majority of the garbage while still letting most sites work. (I've whitelisted a bunch on CDNs.)

</comment></comment></comment></comment></comment></comment><comment><USER28> > This destroys a non-technical user's grasp of the differences between static > HTML and programatically manipulated HTML. It hides the setting amidst > hundreds of other obscure settings, and does not emphasize the extremely > powerful tool that JavaScript is, and the fact that it is optional.

Most 'non-technical users' don't have a clue about HTML, Javascipt, static features, etc. To them the internet consists of Facebook, Google and Youtube.

Arguably users who want to disable Javascript could be classified as 'technical', at least enough to be able to Google either a) how to do it from within Firefox, or b) install a plugin such as NoScript to do it for them.

<comment><USER29> Right. Non-technical users do not think that way, at all. Javascript and HTML are _implementation details_ of the website they are using. Even people who hire IT consultants tend not to understand these things much, although they might think they do.

I can imagine most web developers who freelance have dealt with a complaint from a client who had mistakenly turned off JavaScript, at least once.

<comment><USER30> Non-technical users do not even know what a browser is, much less anything about HTML or JavaScript.

<comment><USER31> What exactly _is_ a non-technical user?

I read threads like this all the time: someone talks about "non-technical users" or "your grandma" or "pointy-haired bosses" or the like, and then goes to great length to discuss, in detail, the capacities or cognitive styles or knowledge base of members of these hypothetical categories.

It all seems like a bunch of arbitrary assumptions.

<comment><USER32> I don't know about anyone else's experience, but these assumptions are pretty dead-on in my own personal experience. Non-techies(my mom, or somebody who only uses home computers for email & turbo-tax and some super-locked-down PC at work) don't have a clue what/how it's doing what it does. The blue "E" on the desktop is the internet, sometimes it's even the whole computer when they say "My computer doesn't work". They most _definitely_ don't have a clue what HTML or javascript is, or what that blue "e" on their desktop is. That being said, not to come off as some arrogant know-it-all, I admit I know very little about how my car works. I just take to the dealer and do the suggested maintenance. I'm sure I'm paying more than I should somewhere but I don't care... however, I'm starting to think it's more dangerous not to know how a computer and the internet work than it is to not know how your car works.

<comment><USER29> Cars are regulated and require state inspection. A computer OTOH is still a mad max device.

</comment></comment></comment></comment></comment></comment><comment><USER33> Firefox is the most customizable browser available. It's about time they cleaned-up their Preferences panel and leave that stuff for extensions to tackle.

I personally never disabled Javascript from the Preferences panel because I never find anything in that panel. To disable Javascript, I use the Web Developer toolbar, which is much more convenient, although not convenient enough - since one might want to enable/disable Javascript automatically on a domain basis, which is why this should be best handled by extensions that are free to innovate the UI.

And while we are at it, I wish Firefox would add a search box in that Preferences panel. Its usefulness has been demonstrated in Chrome's Settings and Windows' Control Panel.

Also, Firefox rocks and I'm so happy to see it improve.

<comment><USER34> Have you tried opera (not the latest Chrome-bastard but earlier versions)? I'd challenge your statement, opera seems much more customizable to me.

<comment><USER33> When I said "customizable" I didn't mean in terms of settings, but it terms of what you can do with Extensions/Add-ons.

Name another browser where the Firebug-like functionality is an extension and not something built-in.

<comment><USER35> That's a very arbitrary line to draw. Some "alternative browsers" exist that wrap the IE rendering engine in a different UI (and some of those include their own firebug-like functionality), does that mean IE is more customizable than firefox (which, after all, forces you to use GTK for your UI)?

<comment><USER33> Wrapping the IE rendering engine in a different UI is a different browser, but further than that, you can also embed Gekko, Firefox's rendering engine in a custom UI.

Examples of browsers that embedded Gekko: Camino (a Firefox fork for OS X that happened in a time when Firefox wasn't as polished for OS X), Flock and K-Meleon. Google's Picassa for Linux was also using Gekko.

Also, Firefox's UI toolkit is not GTK, but rather XUL+XPCOM, abstracting over the various native toolkits: [https://developer.mozilla.org/en/docs/XUL](https://developer.mozilla.org/en/docs/XUL)

Only Firefox on Linux uses GTK. Even on Linux, there have been previous attempts at supporting Qt as the backend for KDE, but all failed because of the easiness with which you can make GTK look like whatever KDE theme you've got selected - not perfect, but the flaws where not enough to gather interest in further development.

There's even XULRunner, for easily building and packaging XUL+XPCOM standalone apps: [https://developer.mozilla.org/en- US/docs/XULRunner](https://developer.mozilla.org/en-US/docs/XULRunner)

This isn't to say that XUL/Gekko are perfect as their complexity was often the subject of criticism, which is why Mozilla replaced XUL completely with HTML5 in Firefox OS and will probably do so in future Firefox versions - as they are also working on Servo, a next-gen rendering engine that doesn't do XUL anymore: [http://www.mozilla.org/en- US/research/projects/](http://www.mozilla.org/en-US/research/projects/)

Imagine a browser who's every facet and functionality is customizable by HTML5/Javascript extensions that you can install with one click. That's what Firefox already is - the Emacs of browsers.

For example, if my Firebug example wasn't enough, when Chrome was released, many people loved the light download progress functionality that wasn't opening an annoying modal window. Pretty soon an extension called the Download Statusbar happened: [https://addons.mozilla.org/en-US/firefox/addon/download- stat...](https://addons.mozilla.org/en-US/firefox/addon/download-statusbar/)

<comment><USER35> >Wrapping the IE rendering engine in a different UI is a different browser, but further than that, you can also embed Gekko, Firefox's rendering engine in a custom UI. >Examples of browsers that embedded Gekko: Camino (a Firefox fork for OS X that happened in a time when Firefox wasn't as polished for OS X), Flock and K-Meleon. Google's Picassa for Linux was also using Gekko.

True, but only goes to show my point - if firefox's extension mechanism made it so super-customizable, surely there would be no need for such browsers?

>Firefox's UI toolkit is not GTK, but rather XUL+XPCOM

Fair enough, but the point stands; when writing extensions you're restricted to using the XUL toolkit. Contrast with e.g. activex-based add-ons in Internet Explorer, where AIUI you get the standard windows API and can thus use any toolkit you like.

>Imagine a browser who's every facet and functionality is customizable by HTML5/Javascript extensions that you can install with one click.

I'm happy to believe that Firefox is the browser that's easiest to customize _in HTML5 /Javascript_, I just think that's a very arbitrary line to draw. IE addons can be any language you like (because again they're just using the standard APIs) and can be installed with one click.

There are plenty of good things about firefox, but I don't think you can say it's more or less customizable than the alternatives without defining customizability in a very arbitrary way. All browsers have a succession of methods of customization, from simple userjs to custom extension formats to embedding the engine in a new executable, with the power and complexity increasing at each step. That firefox's "extensions" lie at a bit more powerful and complex point along the line than chrome's is not the basis for this blanket claim of greater customizability.

</comment></comment></comment></comment></comment></comment><comment><USER36> The following rant is somewhat tangential but, as a front-end developer that takes pride in progressively enhancing websites I work on, I think this is a shame for a different reason.

So many times when speaking to employers/product owners about progressive enhancement of JavaScript components, the answer I get back is along the lines of "we don't care about that" or "we don't have the time". Sometimes in conversations with other developers too. I think this change will contribute to an increase in that attitude.

Progressively enhancing a website enables you to still deliver a whizz-bang, fancy-pants UI but ensure that it degrades to a sane text document when viewed in, say, lynx [1]. And it doesn't mean doubling the development time of every feature, which I often hear cited as an argument against. Often it can involve providing a very cut-down equivalent that takes relatively little time to build.

Should we care about people that turn off JavaScript or use a non-JavaScript browser enough to write code for them? Given that the web is an open, standards-based platform, I think we should.

[1] [http://lynx.browser.org/](http://lynx.browser.org/)

<comment><USER37> Shouldn't progressive enhancement be part of best practices, rather than a billable feature on the invoice? Or in other words, used by default.

<comment><USER36> Absolutely! But I still find myself having to make the case for it, when others are looking for ways to cut corners.

</comment></comment></comment><comment><USER38> Way too many Geeky answers here. I could understand that, after all this is Hacker News.

But Majority of Users, My guess that is 60-70% of them, wont even know what Javascript is or mean.

My bet is that there is Less then 10% of users who cares about this. And less then 5% who just cant stand to disable it in about:config instead of UI.

And It is true what Mozilla have pointed out, Disabling even some totally unrelated Javascripts like tracking will somtimes make a mess of Websites. I have seen it far too many times with Ghostery.

For those 5% who REALLY cares about Disabling Javascript for any reasons because you think you _know_ so much. I dont see why using an Add-On or going to about:config searching for Disable Javascript is such as big hassle.

And if you DO have such a big concern over a missing UI features, you can always go to Opera.

</comment><comment><USER39> Is it just me, or do most of the commenters here seem to believe that it's no longer possible to disable JavaScript, as opposed to it simply being removed from the UI?

</comment><comment><USER40> One aspect of this that I haven't heard people get into very much: the idea that a lot of people have, including (probably) most developers at Mozilla and many web developers such as myself, is for the web platform to be a ubiquitous way to deploy applications.

The idea is that JavaScript allows a relatively safe way to do that in a sandboxed environment (the browser) that is available on almost every computer.

The developers who really want the web to just be a bunch of static HTML are actually inhibiting that vision of a web platform. Because if disabling JavaScript were to become popular, that takes away that capability of web browsers to run applications. The conversation would go from something like "we can use JavaScript and this application will run for anyone who has a new version of Firefox, Chrome, or IE10/11, or Safari" to "we can deploy our application to the latest browsers, but we will have to first present a screen asking users to enable JavaScript on our site" or something along those lines. It goes from being a ubiquitous cross-platform solution to one that will only run for people who like JavaScript.

JavaScript in the browser is by far the best option we have now and in the foreseeable future for easily deploying applications across different types of operating systems and even devices.

Its amazing to me how many people don't appreciate that goal or really take it into account.

<comment><USER41> I still completely disagree making the web an application platform. Because of the absurd HTML5 cult, many websites are obtaining unpredictable and inconsistent behavior. The difficulty of explaining it to my old parents is increasing day by day. Moreover, browsers are getting fatter unlimitedly and only a few vendors can survive and develop them. It gives browser vendors special privileges. As we are experiencing now, no one can stop this "Disable JavaScript" removing. How can people say this is "open" movement? The good old web is dying.

The web should be words and documents first (I think this page is worth reading [http://justinjackson.ca/words.html](http://justinjackson.ca/words.html)). It's too late to say but if you want a sandboxed application platform, develop it out of the web. I still believe the plug-in was not a that bad idea, not the best idea though. At least you can disable it anytime and you have freedom of choice.

I suspect that the back button will be eliminated next. Because it collapses most web applications and "user experience".

If the web want to become a perfect application platform, all virtue of the web will be lost.

<comment><USER42> Good old web? What's that? The one with dancing baby gif? Or the old ARPANet?

Web has always been about managing documents in one way or the other. Now those documents are interactive and interesting to watch and listen.

I mean, if my old chem book had cool animations I could tinker with I'd probably be having fun with it right now. I don't understand the outcry for GOW. It's still around and you can still make those sites, but they are usually hard to read (no fancy column layout to make it easy on the eyes) and you have to be a great writer to really engage the audience.

Going back to GOW won't make bad writters instantly better. No more than returning to 8-bit graphic won't instantly make all games better.

</comment></comment></comment><comment><USER43> Okay, since Opera seems to have gone the way of the dodo: Is there a browser for power users? I mean, good luck to Firefox and Chrome, but considering I rarely use flashy websites, I really would rather use something that only works with half the sites, but has the experimentation and hunger for ideas for the sake of ideas more than for the sake of market share these so sorely lack.

<comment><USER44> Why do you think Opera has gone the way of the dodo? It's an excellent browser, by far the best browser in my opinion. Furthermore, they're changing their renderer to webkit which will ensure no more Opera incompatibility. If anything, Opera just keeps getting better.

<comment><USER45> The newest version of Opera strips away most of the tools power users like. It's one step away from Chrome's UI.

They'll probably add most of it back, but it'll take a long time.

<comment><USER44> I thought Opera Next is just a beta for testing the renderer. I don't think they consider it the new version of Opera yet, as it doesn't come up as a new version. I'm sure they wouldn't be so stupid to remove all the nice new features they've recently added and that their loyal following rely on.

</comment></comment></comment></comment><comment><USER46> There was a talk (or podcast?) that discussed how cluttered with vestigial options Firefox and other browsers are. One of the examples was JS - if you turn it off entirely it makes the entire web seemingly broken. As long as the option is there for power users, this is the kind of thing that removing will probably cause less headaches for people in the long term.

<comment><USER47> You're probably thinking of "Checkboxes That Kill": [http://limi.net/checkboxes-that-kill/](http://limi.net/checkboxes-that-kill/) \- and I believe it's what inspired Firefox to remove the option.

<comment><USER46> That's exactly what it is. Thanks!

</comment></comment></comment><comment><USER48> This is unnecessary panic/upset.

It's only being removed from the UI

The backend ability is still there.

Extensions like no-script and yes-script (I prefer) will still function.

<comment><USER49> A lot of the anger in this case is because Mozilla is once again removing useful functionality from Firefox for very nebulous reasons.

Even if such functionality can be restored by using about:config, or by installing extensions, it becomes a hassle.

They did this with the menu bar, and it hurt Firefox's usability. Now many of us have to waste time and effort reconfiguring it to make the menu bar reappear every time I install Firefox.

They did this with the status bar, and it hurt Firefox's usability. Now many of us have to waste time installing extensions to restore this core functionality.

This case may be even worse, because it's not a one-time fix. Now we'll have to go digging through about:config options each time we want to disable JavaScript, or wait until Firefox 24 so we can disable JavaScript through the developer tools.

Many of us are just plain getting fed up with Mozilla's bad decisions, and very justifiably so.

<comment><USER50> \- disabling javascript via about:config is no harder than through the settings if you know about it

\- How does removing the status bar hurt usability? You still see links when you hover over them, and the add-on bar can be toggled instantly with Ctrl+/

\- Always displaying the menu bar by default is a waste of space, it can still easily be accessed with Alt or configured to always display.

Honestly you seem to just dislike change, and I'd advise you to simply turn off automatic updates. The rest of us are happy for improvements to be made.

<comment><USER49> I'm all for change that improves usability, efficiency, and performance, for instance. I'm not for changes that obviously inhibit such things, like the changes that Mozilla has made recently.

about:config is not as convenient to use as a checkbox in the preferences dialog. If what you're suggesting were actually true, then there'd be no need for a preferences dialog at all, and all users would configure Firefox using about:config. But we both know that isn't true. It is not convenient to remember the name of a specific about:config option, especially when the names change periodically. Even filtering by part of the option name isn't convenient, as that requires remembering Mozilla's terminology, and using a general term like "javascript" still leaves many options to sift through manually.

As for the status bar, the URL popup shown when hovering over links is much less usable than the status bar. It is harder to quickly focus on, for instance. Having to remember yet another obscure keyboard shortcut for functionality that should be enable by default, like the addon bar, does not promote usability, as well.

The menu bar is not a "waste of space" because it more than pays back its cost by making a huge amount of commonly-used functionality very easily accessible. It is especially valuable because of the cross-application conventions it embodies, making it take even less effort to perform common tasks.

We shouldn't have to manually enable core functionality like menus or the status bar, for example. Such functionality should already be enabled by default when Firefox is first installed. Anyone who doesn't like the menu bar or the status bar should have the option to disable them, of course. But they should not have been disabled by default, or even removed completely.

</comment></comment></comment></comment><comment><USER51> Wow, how times change. The smart advice was to never use Javascript. (Years ago pg even wrote, " _I would not even use Javascript, if I were you. Most of the Javascript I see on the Web isn 't necessary, and much of it breaks."_ ) Javascript has gone from horribly flaky -> occasionally useful -> necessary -> mandatory.

<comment><USER52> That's because more people are actually taking the time to understand the browser, dom, markup and language itself, instead of copy/pasting some poorly written image-swapping script. (God I've seen too many of those)... JS has been capable of doing some fairly impressive app-like functionality since the late 90's. I'd say NN4/IE4 was the beginning of that ability, despite dramatically different approaches.

Today, browsers have far more in common (regarding js/dom) with each other (IE8+ too) than at any point pre-2005. And it is about damned time. I still think the likes of jQuery round out a ton of those rough edges, and it still disappoints me to see so many who hate JS because they want it to be (insert preferred language here).

JS is, and has been my favorite language for a very long time.

</comment></comment><comment><USER53> That's a good move to make considering the numerous JavaScript-dependent web applications present today!

</comment><comment><USER54> disabling javascript is the most effective method against XSS, so it's really bad choice to not be able to do it simply. not that firefox would be that security-minded in other areas regarding to javascript (XSS + form autofill without SecureLogin addon = fun & profit for hackers)

</comment><comment><USER55> Didn't gnome3 taught us a valuable lesson on dumbing things down on the expectation that users are dumb/can't read?

<comment><USER29> I hope you realize that the users of Gnome and other X11 desktops have already passed a serious level of technical literacy. In the event they haven't, it's because they're the direct family member of some techie.

</comment></comment><comment><USER56> If Firefox's developers are worried about people not understanding why a page doesn't work, another potential solution would be to provide users with some feedback. For instance, if Javascript is disabled but present in a page, perhaps show a (simplified?) small debugger box showing the next lines of Javascript which _would_ have been executed and some sort of an obvious Run / Play button to start the script.

I'd prefer if browsers treated the Web as less of a black box, and if they erred more toward helping users understand the world they are exploring.

<comment><USER57> This is a great idea, but should probably be simpler for the average user. Eg "You have JS off, which will break some websites. Click here to turn it on. The simple option you used in the past to toggle this has gone. Click here to find out how to toggle it now"

</comment></comment><comment><USER58> As a Firefox user, I feel like most of the people complaining are Chrome users just looking to pick a fight.

Hey, Chrome folks, Firefox has this great thing called NoScript. I realize Chrome doesn't have that, so you have to manually disable/enable JavaScript. We just use NoScript, as we have for years, which does a lot more. Firefox users don't rely on the "Disable JavaScript" option, nor ever did.

This is a nonissue, but continue to make it more than it is.

</comment><comment><USER59> As long as you can still disable JS via about:config or NoScript, this is hardly worrisome.

</comment><comment><USER60> The bug was resolved as invalid with no explanation. I hope that by the time this makes it to regular release the transition is handled better.

</comment><comment><USER61> I'm surprised that checkbox hung around as long as it did. I imagine only maybe .001% of browser users actually really cared enough to turn that off, and if they did, they were probably already running something like NoScript since toggling it in the preferences all the time is way too blunt an instrument anyway.

</comment><comment><USER62> I can't stand engineers who assume that they know better than those who use their products. Not just hiding the ability to easily disable javascript, but RE-ENABLING IT AGAIST THE USERS EXPRESSED DESIRE via an update - seriously, your head is so far up your ass you'd have to shit twice just to see daylight.

</comment><comment><USER63> This is a heavy-handed solution that could be better solved simply by adding more explanatory tooltips. Something like:

[x] Disable Javascript. This will break or significantly reduce the functionality of many websites, but will also prevent them from gathering marketing and other data on you. [Details]([http://www.mozilla.org/javascript](http://www.mozilla.org/javascript))

Make the primary tradeoffs clear, supply a link to a mozilla.org site with a more comprehensive explanation of what you give up and gain.

Programmers like to simplify, abstract, and modularize, but that isn't always the best strategy with language. Sometimes, even with control panel tooltips, it's better to be a little bit more verbose, take up a little more screen real estate, if it saves your users some trial-and-error time or a trip to Google.

</comment><comment><USER64> I commented on this elsewhere, but to all the people who assume that developers can just build websites and assume that JS is enabled, please Google "Section 508".

FWIW, I don't think we should avoid educating users. Pandering to the dumbest common denominator only makes dumb things in the long run.

</comment><comment><USER65> Well JS can be disabled with the help of plugins however I find it ominous that you have to be an expert user/programmer to disabled javascript.

There are a lot of websites out there that use javascript for less than reputable purposes so not being able to disable it when you know you might run into them is insecure.

Like say using tor where having JS enabled is like asking to be tracked.

I know disabling JS is not an option on the modern web but then ship with something like noscript instead don't just leave users exposed.

This is not a feature that can just be removed it needs to be replaced instead.

</comment><comment><USER58> This will obviously receive a lot of hate from the tech community.

Fortunately they are the 1%. For everyone else in the world, this is a welcomed change. Most people don't even know what JavaScript is.

</comment><comment><USER66> [https://addons.mozilla.org/en-us/firefox/addon/js- switch/](https://addons.mozilla.org/en-us/firefox/addon/js-switch/)

</comment><comment><USER67> At this point, I'm fine with disabling options if the program is sufficiently scriptable / programmable to allow someone to write a plugin to duplicate the "turn off" behavior. For browsers, we seem to be in a plugin replaces options universe. If a browser plugin cannot duplicate the behavior, then the browser needs to be changed to allow it or the option needs to stay.

</comment><comment><USER68> There are more people who disable JS unintentionally than those who do it intentionally.

This is a good move. Option still exists in about:config.

</comment><comment><USER69> Why is taking away features "in" now?

<comment><USER70> <proselytizing> Software needs to empower the user. Writing arbitrary limitations in to code to make certain functionality harder to achieve is a seriously repulsive attitude for developers to have.

The current trend in removing features from software seems like a great way to have a dire shortage of engineers in 50 years time. The attitude that "software is a magic and untouchable black box, you can only use it to do the specific thing the developer wants you to" destroys the true power of the computer as a tool, it might as well be a radio or a TV that incessantly produces other peoples ideas.

Write useful, empowering and well tested modular code. Let the user work out what crazy and wonderful ways they arrange those modules. Don't make changes that serve only to glob more functionality up in to impenetrable, monolithic black boxes. </proselytizing>

Also: Overriding peoples existing preferences during upgrade? Nice work guys :/

<comment><USER71> Have you ever actually met any normal users? They have work they need to do, and the software is just a means to an end.

They don't want to be 'empowered' by developers, and they definitely don't want to have to deal with arranging a bunch of poorly documented modules that make no sense if you are not familiar with the underlying architecture.

<comment><USER72> Then have another checkbox, something like " _enable advanced settings (warning: if you don 't know anything about cars, would you really mess with your car's breaks?)_", that toggles the availability of these kinds of settings. Everybody wins.

<comment><USER73> We have that. It's called about:config.

<comment><USER72> Good point.

</comment></comment></comment></comment></comment></comment><comment><USER74> It makes sense to me. You can't even do Internet banking these days without needing Javascript enabled and to disable it you'll always have the plethora of addons that allow you to disable Javascript anyway. I think this is a welcome removal from Firefox, it's 2013 not 1925, Javascript is everywhere.

</comment><comment><USER54> Looks like the reason behind the move is that preferences UI has become incomprehensible ... which actually doesn't have anything to do with javascript. Perhaps a move towards Eclipse-like preferences would be a wiser choice?

</comment><comment><USER75> Stop disabling Javascript, you Luddite. The entire web depends on it.

</comment><comment><USER76> Classic Brendan Eich.

</comment><comment> marco-fiset The thing is that non-expert users generally leave javascript on, because they don't even know what it is, let alone disabling it.

</comment><comment><USER77> I'm surprised no one has posted this xkcd strip yet.

[http://xkcd.com/1172/](http://xkcd.com/1172/)

<comment><USER77> Oh, and I didn't post this to bash the sincere concern about discoverable options. They could disable JS, and they still can, using an extension or going through a menu which clearly states that those configurations may break the 99% of the web.

Every change is prone to break someone's workflow. But if there is a good enough alternative and if the change is better for everyone, I think that should be left alone. If there was no way to disable JS after this update, I'd be pretty mad as well. But having an option deep enough to keep away from unsuspecting eyes is only sane.

</comment></comment><comment><USER78> WOOOOHOOOO Best knews I've heard for Firefox! Now if only every other browser would do it.

</comment><comment><USER79> Maybe Firefox can replace it with a don't tender html checkbox </sarcasm>

</comment><comment><USER80> The title isn't entirely accurate: it's been moved not removed.

</comment><comment><USER81> many web sites don't work without cookies either, specifically the authentication.

if the functionality of "modern" sites is the only rationale, it is simply a wrong decision by Mozilla.

<comment><USER82> You can't make authentication to work safely without cookies because HTTP isn't stateful.

</comment></comment><comment><USER83> Look on the bright side. At least we'll never, ever have to hear about the Principle of Least Power again from Mozilla/HTML5 advocates lionising the "Open Web" against smartphone apps, Native Client or what have you.

</comment><comment><USER84> About time. JS is an integral part of the web experience.

</comment><comment><USER85> Not surprised. Mozilla, being an important entity in JavaScript ecosystem, obviously wouldn't disapprove web developers willing to shove JS down everyone's throat.

</comment><comment><USER86> That spencer guy really sounds like a smartass; I mean, we're too stupid to be around him and not seeing the light that shines through his ass; vent off

</comment><comment><USER87> It's about time.

</comment><comment><USER88> Good!

</comment><comment><USER89> I exclusively surf with javascript disabled by default. I only turn javascript on on websites that i trust or the site has to give a good reason to do so. i wont turn on javascript to display your crappy jquery menu or slideshow.

So many pages are totally broken without javascript. You dont need javascript to have a good layout, a complexe menu or display images. Yet some "professional" sites dont even work without javascript on, All you see is a blank page.

And by the way, there is a tag called noscript , but it seems webdesigners that only think about demonstrating their "html5" talents dont know their basics.

Javascript is the new flash. Stupid cheesy animations , heavy pages , memory leaks that kill your browser, javascript intros that you cant skip ,broken parallax scrolling , slow scrollbars so it feels like you are on ipad , it will be worse than flash when designers start abusing Adobe Edge on all their websites.

So long firefox...

<comment><USER11> Javascript, Flash, HTML 5, and virtually all the rest of the HTML "enhancements" are a cancer on the web.

Honestly, the only website that I can think of where using Javascript actually does something useful that I'd have a hard time doing better on a standalone app on my own machine is Google Maps, where it's nice to be able to scroll around by dragging the map with the mouse.

But even there, I'd gladly sacrifice that feature for a standalone mapping app on my own machine, so I don't have to worry about Google spying on me whenever I decide to go somewhere!

Geez. The web has become a gigantic spyware advertising network, and Javascript, Flash, and related garbage are some of the main enablers of it.

</rant>

<comment><USER90> Youtube needs either Flash or HTML5, do you think it's worthless?

<comment><USER91> <object/> works well for playing video without any JavaScript.

<comment><USER35> <object/> is W3C gunk, with its crazy and pointless clsids. <embed> works fine, as it has for 14 years.

</comment></comment></comment></comment></comment><comment><USER92> Javascript is not required to read articles on the web. It's optional. That's why "Reader" mode is so handy, just show me the article so I can read it. Sometimes I don't like waiting for my browser to struggle with poorly written JS.

It sounds like a classic noobie mistake... "Why are users able to turn off Javascript?" "No idea." "Remove the feature!"

If anyone says Javascript is not optional, they are trying to sell you something: probably web apps!

<comment><USER93> > Javascript is not required to read articles on the web.

Agreed. However, the web consists of far more than just "articles", and quite a bit of content legitimately uses JavaScript for required functionality. Disabling it needs to have the kinds of huge "this will break things" warnings associated with installing an extension like NoScript; it shouldn't have a checkbox in Firefox's preferences.

<comment><USER43> I have a _crazy_ idea: a popup with an explanation the first time the user toggles the feature.

<comment><USER94> That's a terrible idea. The explanation would have to be very long - practically an essay. And the only people that will understand the explanation (or even care) are folks who are competent enough to quickly google how to disable javascript through about:config.

Increased software complexity and no tangible benefit. Lose-Lose.

<comment><USER95> What? If you can't explain in one sentence the fact that disabling JS will break most websites and it should only be done if you know what you're doing, then you've got bigger problems.

<comment><USER96> People will still do it without understanding and then complain that Firefox broke. There is no legitimate reason your average user should have access to this checkbox. Especially when if you actually want to disable Javascript it's still very easy.

<comment><USER43> _People will still do it without understanding and then complain that Firefox broke._

If that is true, then point me to all those complaints.

 _There is no legitimate reason your average user should have access to this checkbox._

That's called kicking away the ladder, and fuck that with a rusty chainsaw. How are people supposed to even get curious about what Javascript is, when they never hear of it?

<comment><USER97> Somehow the dark corner of a preferences pane doesn't seem like the place _anyone_ would choose for an introduction to Javascript.

<comment><USER43> That's the point, you don't _choose_ when to first come across something you haven't heard of before. You don't wake up one morning and say "I guess I'll go to the library and get a book about Javascript" because you dreamed about it.

There are a million ways to display and to drill down into options that would make the FF options less cluttered, more logical, while having even more options than it does. There are ways to inform users pretty much exhaustively via built-in tooltips and documentation -- all of this has been working great in the 90s and got better since then. Icon > Title/Tooltip > Short Description > Verbose Description, so you learn everything you "stumble over" once when you need it, and from then on just use it, with the option to refresh your knowledge anytime.

Just compare about:config in Opera and Firefox, and simply accept we're dealing with different levels of skill and taste here, not just different choices.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER98> Firefox

2002-2013</comment>


Ask HN: Recommended path for self-study math and CS? - <AUTHOR> I've been programming since I was 12 or 13, all self-taught, but I went to college for Business.  I've been a full-time freelance developer for a little over a year now, and I've been inspired by a lot of the deep technical stuff I've read here on HN.  I've always really enjoyed math and programming, and delving into more rigorous CS and/or Math really interests me.<p>I'm just wondering if people would recommend seeking a grad degree at this point, or going more of a self-study route.  And if the self-study route, are there any particular books or online courses you would recommend to start? <comment><USER2> I'd definitely recommend trying some self-study before grad school-- better to find out on your own if the work really interests you enough for the required investment.

As to recommendations, I second the recommendation for SICP, but I'd also suggest the video lectures: [http://groups.csail.mit.edu/mac/classes/6.001/abelson- sussma...](http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman- lectures/)

Then, I'd move on to various online courses (with video)-- besides the MIT OCW resources, there are some good CS courses from UC Berkeley. Specifically, for someone getting started, I'd recommend MIT 6.046J (Introduction to Algorithms), and the Berkeley CS 61A/B/C and CS162, but your interest may vary.

Naturally, there are a lot of good video course for mathematics as well-- I enjoyed Gilbert Strang's Linear Algebra from course from MIT as a nice brush- up in Linear Algebra, for example (and as a companion to his textbook).

But the guiding thread has got to be your own interest.

<comment><USER2> Just to add to my own list: don't forget the Knuth "Computer Musings" video lectures at Stanford!

</comment></comment><comment><USER3> I would recommend SICP <http://mitpress.mit.edu/sicp/>

<comment><USER4> Ok this is a great book, but also boring as hell esp for self study. The MIT course also has switched to using python. For algorithms this one <http://en.wikipedia.org/wiki/Introduction_to_Algorithms> is a pretty awesome read.

<comment><USER5> _The MIT course also has switched to using Python._

I've always assumed that was because of the Feynman effect [1]: The freshmen (of _all_ engineering majors) who were the ostensible audience of SICP were getting more and more frustrated by Scheme, a language that feels impractical to the average know-it-all first-year mechanical engineer.

In my experience, if you name-drop SICP in front of the _average_ MIT student, there's a good chance that they will cringe and mutter some rude word about Scheme. Not _everyone_ is born to love computer science.

But if you want to self-study math and CS then you should seek out SICP in Scheme, just as (given the choice and the ability) you should reed Dostoyevsky in Russian instead of in English translation. Use the language the authors really want to use.

[1] Which I name, of course, after the _Feynman Lectures on Physics_ , a series of legendary lectures that is beloved by physics grad students but is rumored to have been a failure as an actual first-year physics text. Though accounts differ, the legend is that the lectures were just a bad fit for the average Caltech freshman -- for one thing, Feynman puts relatively little emphasis on solving math problems, which he did as easily as breathing but which the average freshman needs lots of practice in -- and the course was only taught once. Does anybody know of another first-year course that tried to use these as texts? I've never encountered one. But they have certainly been used for self-study by many people, including bright high-school students.

<comment><USER6> All engineering majors at MIT were _not_ required to take SCIP, just the EE/CS majors. Back when I was a student, the rest of us either took 1.00 (C as taught by civil engineers) or 2.10 (Fortran, by mechanical engineers), or we simply learned a language on our own time.

That being said, the purpose of 6.001 (SCIP) was not to learn Scheme, but to use Scheme to introduce students to some of the fundamental concepts of computer science.

As for Feynman, the reason he only taught the class once (over three semesters, I believe), is that there was only one Feynman, and he had a pretty full plate of other things to work on. The "Feynman Lectures" were never meant to be textbooks. They were what they were: lectures, to be read by students seeking additional insights in physics.

<comment><USER5> Thanks for the clarification. This is why I like posting random scuttlebutt on the web; I get authoritative corrections from people who were there!

Yeah, the Feynman lecture analogy should not be taken too far. Like SICP, the Lectures were aimed at the _very_ interested majors, possibly at the expense of others -- but perhaps that's as far as the analogy goes. The Lectures were indeed a special event, whereas SICP was designed as a proper textbook: It was used for many years and by many teachers besides its authors.

</comment></comment></comment></comment></comment><comment><USER7> One of my favorite things about graduate school is that you can be a complete information glutton. Go as ridiculously far as you want in your research, and then justify some of it later with a degree :-)

If you've got the time, money, and diligence to do it, it can be a lot of fun. By fun I mean lots of hard work and suffering, but yeah, "fun." :-)

</comment><comment><USER8> I'd recommend grabbing a book on Discrete Mathematics. It's the foundation for much of CS theory and will get you into the terminology there. MIT Press's Introduction to Algorithms should be penetrable if you've had some basic calculus at some point. It's worth its price tag. I'm not sure that I'd recommend the Discreet textbook we used at it's going price of $130 now though...

<comment><USER9> I found "Concrete Mathematics" to be a great read for maths relating to CS. I don't have a strong math background (took "calculus" in high school...) and haven't had a problem while reading it yet.

<comment><USER10> How many of the problems did you do?

<comment><USER9> All the warmups and homework excersizes, most of the exam problems. Research problems not so much.

I'm still working my way through it. I'm not trying to say it isn't challenging - just that it's approachable. It's extremely challenging.

<comment><USER10> Challenging, but approachable. That's a good characterization of 'Concrete Math'.

</comment></comment></comment></comment></comment><comment><USER11> MIT OpenCourseWare is a valuable resource for college curriculum type stuff. You can get a cursory overview of the ugrad/grad CS courses, and pick which ones interest you. Some courses have audio/video.

ocw.mit.edu

</comment><comment><USER12> ArsDigita University still has all their lectures online in RealMedia video format: <http://aduni.org/courses/>

Here is the direct link to all the Discrete Math lectures, for example: <http://aduni.org/courses/discrete/index.php?view=cw>

Much more is up there, including SICP, Algorithms, some AI etc.

</comment><comment><USER13> My favorite is Sipser's book on theoretical cs: <http://www- math.mit.edu/~sipser/book.html>

</comment><comment><USER14> I was in the exact same position you are now. I went to the University of Florida and received a degree in finance. I have always had an interest in computers, physics, and mathematics.

It took me three years to finally make the decision to go back to school. I am now pursuing a second and third BS (mathematics and physics), however, I am applying to grad school for 2009. I am hoping that the work I have done since returning to school will be enough to get me into a program for which I don't have an undergraduate degree.

My recommendation is this: If you are really interested in mathematics and computer science, pick up a copy of How to Prove It by Daniel Velleman. Work through every single problem. If you don't enjoy doing the proofs, scratch mathematics off of your list. I can't speak about the computer science side of things, but maybe someone could add a respone to mine for a suitable computer science book.

</comment><comment><USER15> At this point I've learned a little bit about exactly this. If you work at a large company, grad degrees are somewhat essential. On the other side, no one can take an education away from you.

Having said that, I know many cs grad students who know little and couldn't bootstrap a startup like self taught autodictacts.

</comment><comment><USER16> Oh yeah Logic in Computer Science: Modeling and Reasoning about Systems by Huth and Ryan. We used this as a textbook in a formal methods class. The book teaches techniques for developing proofs and for specifying and proving properties about systems. All the way from basic logic, to proofs for structured programs, to using model checking for verifying properties of distributed systems. These techniques will allow you to call your work engineered when you can apply them.

What I appreciate most is the consistent structure for teaching each logic. Each logic is taught by introducing the syntax with the BNF and parse trees. The semantics are then introduced. Then there is a mix of relevant algorithms and toy examples of how to specify systems. This is book you could teach yourself formal methods from.

</comment><comment><USER17> What are your goals? General success? A flourishing startup? CEO of Google?

Regardless of your end-goals, the steps you take to achieve them depend largely on your personality. Are you a natural born entrepreneur? Do you enjoy networking moreso than coding? Are you prone to take risks? Would you rather improve an existing project or jumpstart a new one?

The only advice I can give you is not to grow too comfortable with the educational arena. If you're interested in pursuing a career in education, it's a different story. But I've met quite a few bright individuals who've grown too accustomed to life at the university to do anything else.

</comment><comment><USER18> Keep the suggestions coming. I'm currently kind of in the same situation, except I just started Business School and I have been full-time developer and occasianally a entrepenuer over 4 years.

What happened to me was that I got tired of hacking little things. I never kind of had the time or motivation to learn any advanced cs or math(since I suck even in basic math).

I didn't choose CS school since I got quite a variety of intrests(like business, economy, arts, cs...) and I'm not sure that I have such a burning desire to be a hacker, or work as one, but I still want to learn more.

</comment><comment><USER19> Well if you consider learning what you want to learn or grad school as a middle step, what do you want your destination to be?

If you want to go into research or teaching, then a higher degree is probably a very good idea. If not, it might not be the best. That is not to say that you can rule it out with certainty.

If you're doing it purely to satisfy your curiosity and desire to learn new things, I would (and did, and am) just pick up some recommended books on the topic and try to absorb what you can. I find if you force yourself down a path on what you currently find interesting, it can begin to feel like a chore.

Find some like-minded people, join a community, start a project and never stop learning.

In terms of recommending books, you'd have to be more specific what interests you. If you don't know, which is fine too, you can read about general things you find interesting on Wikipedia and crawl links starting there. You're almost guaranteed to stumble on something interesting.

</comment><comment><USER20> For Math, I'd really recommend The Road to Reality and Beardon's Algebra and Geometry. TRtR is ostensibly a physics book, but it is one of the best math lessons I've ever read. (I have a bit of a review of those two up at <http://arantaday.com/blog/the-new-classics/>)

</comment><comment><USER21> Look at the course outlines for the math dept. at a few good uni, make a list a the most used textbooks, then head off to your local uni's library.

That's what I _would_ have done if I'd known better. I regret getting into the B.Sc.

<comment><USER10> For me it's easier to put in hours each week if you have a professor to go to -- instead of sitting at home.

</comment></comment><comment><USER22> hello,

if you are in california, you have a way of measuring your interest in cs before you commit. i would suggest you take a course or two at a community college in your area. i know that there are many in the bay area that act as feeder institutions to berkeley etc. community college is usually less demanding than a university, so it is an excellent way to find out if you can handle the demands that will be placed upon you if you decide to do cs (undergrad/grad).

best of luck!

</comment><comment><USER16> On the topic of reading SICP and other things. I find the exercise of porting programs/concepts from the presentation language to one I use helps me reinforce what the book/paper says. It also helps me honestly contrast my tool choices with what is out there.

</comment><comment><USER23> Work through Spivak's Calculus, then Springer Verlag's Undergraduate Texts in Mathematics

SICP is as foundational as Spivak, however Comp Sci still doesn't have the equivalent of UTM, you have to target what you're interested in and go from there....

</comment><comment><USER4> Uh courses! Just install visual studio and start hacking some c#, its super easy to build something cool. A lot of tutorials out there. Start with a screen saver!

Then, 1\. Get a mac 2\. Look around MIT open courseware stuff. 3\. Keep hacking.

<comment><AUTHOR> Step 1: done

Step 2: in progress

Step 3: never ending :-)

</comment></comment><comment><USER24> There are some good things you can do to learn on your own (like SICP), but some CS grad courses or even high level undergrad courses will be more effective if you are interested in theory.

</comment><comment><USER25> Well... If you would like to go into CS a little with some rigor, a book on compilers would actually be very helpful, if only because compilers have to deal with some of the most complex problems in CS today. I would advise starting with the purple dragon book and then moving on to research paper to get a feel for the current state of the field. The dragon book is a bit outdated imho (I don't think it even covers SSA and advanced value partitioning, etc...)

<comment><USER10> Compilers are an excellent choice to deepen your knowledge. I fared well with 'Modern Compiler Design' (<http://www.cs.vu.nl/~dick/MCD.html>).</comment></comment>


Ask HN: Why is there no development of paid ad-free Twitter clients for Android? - rajesh-s Is this an inherent restriction with the platform itself? I've used Flamingo even before it was shut down and is the only great app for Twitter on Android I've come across.<p>The Twitter app is full of ads that makes it a painful experience. How do you deal with this? <comment><AUTHOR> Nitter looks like a potential candidate:

[https://nitter.net/](https://nitter.net/)</comment>


One Cloud Broker to bring them all and in the darkness bind them - <AUTHOR> http://www.fortycloud.com <comment><USER2> So, in other words, they'll rent your cloud resources for you, and mange all your keys and everything.

Great, so now they can alert you if any of "your" they are managing is compromised. But who'll alert you if their account is compromised?

Way to much trouble to put all your eggs on the same basket. It would be simpler to just get locked-in in a single cloud provider, and cut the middle men.

<comment><AUTHOR> Not exactly. No need to share with us any keys etc. Even if you choose to be "locked-in" into a single cloud provider you may have security challenges, like: working with multiple regions, enforcing access control policies that are inline with your AD etc.

The Cloud Infrastructure Security Broker can help you address those challenges in a very effective way.

</comment></comment><comment><USER3> I had to click too many times and watch a video to figure out what fortycloud does.

<comment><AUTHOR> Let me try and help with that: FortyCloud is a Cloud Infrastructure Security Broker providing an abstract security layer that is easy to control and configure and is not limited to specific cloud platform. The FortyCloud solution encompasses a variety of security elements including remote VPN access, encryption of data in transit, firewall policy and automation, access control and real-time monitoring.

<comment><USER4> ... Not making it better, to be honest</comment></comment></comment>


Letter to all customers from the CEO of 23andMe - <AUTHOR> http://pastebin.com/kBbJtxRN

<comment><AUTHOR> I hope that 23andMe can get this sorted out soon. I'm a customer for many years and have purchased a number of kits as gifts. Of course I bought a kit as a gift on Sunday, the day before the FDA letter. Good luck 23andMe!</comment>


How to make your tables less terrible (Image) - <AUTHOR> http://i.imgur.com/ZY8dKpA.gifv <comment><USER2> Actual critique: The before and after should have been shown side-by-side so that the user can decide for themselves whether or not the changes are an improvement.

The real reason that I clicked on the link: To read the comments. A lot of people don't want to give up Calibri!

</comment><comment><AUTHOR> Generally I wouldn't post an image link, but I found this on reddit and found it useful. Lot of designers and entrepreneurs here so decided to share it. Hope that doesn't break the rules.</comment>


Why are you Still Making Crap? Open Source to the Rescue - <AUTHOR> http://www.w2lessons.com/2011/01/why-are-you-still-making-crap-open.html

<comment><USER2> Be very careful that you do not use copyrighted source code for which you do not have right, which includes open source licenses like the GPL in your proprietary codebase.

When the time comes for your company to be purchased, it's likely that the acquirer will scan your source against known OSS codebases. There are companies whose entire business is to perform these scans for potential acquirers.

If they find a match, it raises red flags and the acquirer could walk away. Buyers get uneasy when it appears they may not actually own what they're buying.

<comment><USER3> Kinda curious if those companies pay for the rights to use the code that they check against too…

<comment><USER4> Turnitin? They get the works from students/academics who submit works to turnitin system. By get, if the students/academics want to pass the course/check, some graders/reviewers require use of Turnitin. Compulsory courses tend to be big and graders use it as a tool to reduce grading time. I even saw a lecturer requirement to submit code in via Turnitin.

The system works well but some people do not appreciate their works being devalued and reused forcefully. In my last two years, I've attached a licence to my works that's uploaded. I suppose if I find my works used elsewhere with profit made from access to it, then they're infringing on the licence (CC Non- commercial).</comment></comment></comment>


The Addicts Next Door - <AUTHOR> http://www.newyorker.com/magazine/2017/06/05/the-addicts-next-door <comment><USER2> Why do these opioid epidemic articles keep making the front page of HN? They seem extremely off topic to me.

<comment><USER3> To be perfectly frank: everyone on the coasts suddenly cares a lot about poor rural flyover-country and Appalachian people's problems because they elected Trump and they'd really like them not to do anything like that ever again. His election is being taken as a cry for help of the involuntary, show up at the bank without pants and reeking of alcohol while screaming about how lawn gnomes are out to get you sort.

The articles are on HN because they're all over the media generally, and because most of HN would probably also prefer that someone like Trump not be elected again in the future.

<comment><USER4> I don't think it's wrong to work to understand the motivations and needs of a newly visible and politically active (and potentially destructive) demographic.

We don't need to degrade anyone to ask, "what can we do to find reasonable candidates that represent the views of these constituents?" when the alternative is the election of people like Trump.

<comment><USER3> I wasn't trying to degrade anyone with that description, just present the point of view that I think is driving these sorts of articles in such quantity and prominence. I think it's fair to say that Trump's winning the nomination, let alone the election itself, was seen as an _alarmingly insane_ thing to have happened by many (liberals and conservatives) and, by those who've taken it as a sign there are issues that need to be addressed, is seen as more than a little similar to an individual, very public display of desperate lunacy of the sort warrants intervention and assistance. Like, "whoa, _that_ seemed like an OK thing to do? Oh man, you _must_ need some help, let's figure out what's gone so wrong in your life and try to fix it."

I doubt his voters see it that way, though, hence the "involuntary" part. I don't think they were attempting to get across _quite_ that impression with their vote, though the effect of having some of their problems addressed may be the same in the end. Certainly many were expecting Trump himself to be the agent of change in their lives, not a bunch of liberals and "RINO"s who now want to (metaphorically, but also kind of literally) help them sober up, get some counseling, and maybe get signed up for public assistance and job training.

<comment><USER5> Well, I can't speak for anyone else, but - and I've said this before on HN, actually, to no more effect than I expect it to have this time - I voted for Trump precisely in order to scare the everloving bejesus out of the US progressive left. Because, from where I sit, either that happens, or something a hell of a lot worse.

Because if you guys don't get your shit together and start looking after even those people who don't agree with your politics, and believe things you think are contemptible, and live lives that you don't understand and don't want to - we're going to end up seeing the kind of enormities which will make history forget Hitler's genocide, just as Hitler made history forget what the Turks did to the Armenians.

A nation which once sought to be - which once _was_ \- a bastion of hope for a better world, a beacon for downtrodden people the world over, will instead collapse into the kind of ruin that poisons the world for decades to follow, that taints the very ideas in which it originated. Every hope that anyone has ever invested in this nation - uncounted millions of immigrants, including your ancestors and mine - will become worth less than nothing.

Also, you and everyone you care about will almost certainly suffer and die, and just as likely so will I and everyone I care about, and so will more millions than in any such atrocity before, because - as with so many things - every time we go this route of horror, we get that much better at it. So there's that.

Maybe I sound like I'm scared shitless. If so, it's only because I am, all the time now. If you're not, why in God's name aren't you? Because we're both sitting on the same pile of sweating dynamite and gunpowder. If it goes off, I doubt either of us will find much consolation in the fact that the other one's also just been blown sky high. I'm not asking for a bomb squad to swoop in and save us all like something out of the last act of an episode of 24. It's just that I sure think it'd be nice if people would stop playing with all these goddam matches and do something _constructive_ for a change.

<comment><USER6> Nobody doubts that you're afraid, but many reasonable people, especially after looking at the quantified facts, dispute that you should be.

The health and welfare of western civilization is at an all-time high. We live in a society that enjoys safety and stability unthinkable to our grandparents, who threw themselves bodily into machine gun nests and across long fields zeroed by artillery not only because they were called on by their country, but because the preceding several hundred years of history led them to expect that obligation. In contrast, most of us raise children knowing that they'll never be asked to put on a uniform, let alone required to, and send them off to schools in cities experiencing all-time low levels of violent crime. We earn more than our grandparents and enjoy a standard of living that approaches "offensive".

But then, something that those of us who have had company exits can attest to: for some people, the more you have, the more afraid you get.

That's understandable, but it's no principal on which to build a government!

<comment><USER5> I appreciate you taking the time to try to allay my fear! But your comment lends itself to no other conclusion, on my part, save that you have fundamentally misgathered its origin.

There's a lot to unpack here, too, and doing so will, I suspect, require considerable time and effort. Unfortunately, at the moment I haven't sufficient of either to spare for such a task. No doubt, too, you have many more demands upon your time than I do on mine, and I'm not inclined to presume upon that precious resource. So: If you're interested in pursuing the matter further, then say as much, and in response I'll put together the reply that I'd have given here had I the time. Otherwise, I'll refrain.

(Or maybe I should just start a damned blog, the way some people here have suggested. But it doesn't feel right, not having anyone to talk to. And why should anyone bother to read it?)</comment></comment></comment></comment></comment></comment></comment>


Show HN: Svglinkify – add hyperlinks to inkscape PDF exports - <AUTHOR> https://github.com/oxplot/svglinkify <comment><USER2> Nice, I've desired to have intra-document links for hierarchical schematics (so you click on a block and it brings you to the page it represents, and you can click an up arrow symbol to up hierarchy). Your tool possibly provides an outline to add this..

<comment><AUTHOR> Was pretty trivial to add. Done in v0.2 [1]. See the internal link comment in the usage text.

[1]: [https://github.com/oxplot/svglinkify/releases/tag/v0.2](https://github.com/oxplot/svglinkify/releases/tag/v0.2)</comment></comment>


Denialism: what drives people to reject the truth - <AUTHOR> https://www.theguardian.com/news/2018/aug/03/denialism-what-drives-people-to-reject-the-truth <comment><USER2> Maybe instead of calling peope "denialists" the respectful and correct term would be "sceptic".

I.E. Someone isn't an evolution-denialist, but rather an evolution-sceptic.

Or vaccination-sceptic.

Or climate change sceptic.

This way the conversation doesn't shut down and people's minds don't block all input. Maybe if you ask WHY are you a vaccination sceptic you can compare facts.

</comment><comment><USER3> Simple, there is no truth. Null is the truest thing you will find. Believe is a carefully stacked house of cards built on that, out of thin air, hanging in the air.

<comment><USER4> You mean like the way the natural numbers can be built from Church numerals? Are you saying that nothing exists, or that there can be no true knowledge of reality?

<comment><USER3> I mean, "ex falso quodlibet" \- from wrong (assumptions) follow arbitrary (conclusions). "Zero is ..." is a contradiction, whatever predicate follows it.

In CS, null is false, indeed. Hence I'd rather use at least one underspecified symbol, say 1, instead of to construct the initial element of sets.

<comment><USER5> Isn't null normally neither true nor false? Perhaps I've spent too much time writing SQL.

Null = True is false Null = False is false

<comment><USER3> In many algol like languages 0 == false == null, and all other numbers are equivalent to true.

"Null" is e.g. German for zero, from Latin nullus, from ne ("not") + ūllus ("any"), from an older ūnus ("one").

This is way more interesting though. It seems that words for zero are related to the sun (an empty, shining sky, also consider the form), to grain, core, again by the form (zero was also drawn just as a dot, historically), and to root, which would explain why the zeros of a polynomial are also called the roots.

<comment><USER5> I know, I learned BASIC, Pascal, C, C++, and Ada before SQL and Perl.

But see the way Ruby does it:

"only nil (Ruby's null value) and a special false object are false, all else (including the integer 0 and empty arrays) is true"

vs Perl:

"The number 0, the strings "0" and "", the empty list (), and the special value undef evaluate to false. All else evaluates to true"

The SQL way seems less like an arbitrary mess to me.</comment></comment></comment></comment></comment></comment>


Ask HN: Help required for a  - <AUTHOR>

I am not building MS or Google here.
We have a group of dedicated and competent teachers in some subjects which have very high demand in our locality.
We have got free infrastructure. No one with us expects any salary for the time being.
Given that we dont have much experience in building a startup and there aren't any approachable and affordable mentors with us, we will be highly grateful if you can point to any good resources for us.
Obviously we have searched Google before putting this query. We have gone through a zillion BP templates, tips and so on.
But since I dont have any expertise in judging these sources for their merit and usefulness compared to the situation we are in, I thought of asking you guys. <comment><USER2> Forgive me, but I have no idea what your question actually might be.

</comment><comment><USER3> Is "bp" buddypress[1][2]? I think that would mean you're looking for a Course Management System.

You might want to look at Moodle [3], but there's not much more help I can give unless you're more descriptive.

[1] <http://buddypress.org/>

[2] <http://en.wikipedia.org/wiki/BuddyPress>

[3] <http://moodle.org/>

<comment><AUTHOR> Business Plans

</comment></comment><comment><USER4> If you spend 2-3 months reading HN daily for 10-15 minutes you will get a great base level exposure to startups. I also highly recommend <http://steveblank.com>

Assuming BP = business plan templates, lesson #1 is forget those.

<comment><AUTHOR> This is what I was looking out for. Thanks a Ton.

</comment></comment><comment><USER5> Have you seen Google For Educators? What kind of resources are you in need of?</comment>


Microsoft: How Windows 8 KO'd the innovative Courier tablet - Part 2 - <AUTHOR> http://news.cnet.com/8301-10805_3-20128045-75/how-windows-8-kod-the-innovative-courier-tablet/

<comment><USER2> For those wanting the courier experience, besides the mentioned kickstart project for ipad, there's also the Samsung galaxy note: [http://www.samsung.com/global/microsite/galaxynote/note/inde...](http://www.samsung.com/global/microsite/galaxynote/note/index.html)</comment>


Fun cheap places to get resident and startup - <AUTHOR>

I'm in the valley and stuck in immigration paperwork hell on a h1b. I'm about to hand my boss her head on a plate so am considering a new gig.. probably a startup. I have $500k burning a hole in my pocket from a previous fun gig... my ideal is a fun place where that will last several years while I bootstrap something. Any suggestions for warm geek friendly places to do it? Excellent internet availability is required but after that..<p>(My home country is ridiculously overpriced, cold and not geek friendly) <comment><USER3> Notice weredone's profile. Is this a joke on Yahoo employees?

      user: weredone
      created: 3 hours ago
      karma: 5
      about:

</comment><comment><USER4> Hawaii (still in the USA) is great in that it's a warm place, but the cost of living is high.

However, great hackers in Hawaii cost 50-75% what they would in Silicon Valley. A lot of intelligent, quality people move back here after going to school at fairly good schools (many go to USC,UCLA,Berkeley,Stanford - <USER2> smaller amount Harvard and MIT before returning home for cultural/family reasons).

I know this because I left Los Angeles for a 30% pay cut to come home to Hawaii. I get paid less, but I can walk around in my tank top all year. Call it an extreme sunshine tax.

The highest profile startup we've had recently are the guys that built Sprout Builder. ilovephotos.com (Blue Lava Technologies) is an amazing product that I'm not sure I'm allowed to discuss, and also built out of Hawaii.

They also have a few incubators/innovation centers where you can get cheap office space (and cheap everything else). They're nice offices,, but subsidized considerably by the local government specifically to spur more innovation here.

</comment><comment><USER5> Melbourne, Australia -- The place to be!

Startup scene is pretty good and improving:

[http://www.readwriteweb.com/archives/australia_top_web_apps....](http://www.readwriteweb.com/archives/australia_top_web_apps.php)

<http://www.futureexploration.net/topweb2apps/>

<comment><USER6> I second this recommendation of Melbourne (and coming from a Sydney native like me, that really means something). But I'm not sure if an Australian visa is any easier to get than a US one.

<comment><USER7> An Australian visa is _much_ easier to get than a US one. You apply online and get an answer within weeks.

</comment></comment></comment><comment><USER8> Last I checked, Costa Rica had pretty liberal immigration for high tech entrepreneurs. If you are willing to invest a certain ammount, ($30K last I checked) you can get residency. And, they do have a decent high tech sector with a number of online gambling websites being hosted there. Intel also has a fab there.

Weather is phenomenal, it's about 75 degrees F year around in the capital city, San Jose. And, because it's an isthmus, the Pacific is 2 hours away from San Jose and the Caribbean is 3 hours away.

I lived there in the 80's and it was great. My brother just moved away (had to move away because of work) and said that traffic was getting a bit burdensome, though.

If you go, drop me a line and I'll tell you some great places to go snorkeling.

</comment><comment><USER9> Canada is good (particularly Vancouver, which probably comes second only to San Francisco in the race to be the most socially liberal place in the English speaking world), and is far more immigrant-friendly than the US (especially if you're educated and speak English or French).

EDIT: Just noticed the word "warm". If this is a reference to the physical climate rather than the social climate, you'd definitely want Vancouver or Vancouver Island rather than anywhere else in Canada.

<comment><AUTHOR> I would love Vancouver but the downside is that 1) I'm not rich enough to skip the queue and 2) the queue is 16 to 44 months long (depending on place of application). Its very high on my list of preferred locations but no joy in discussing with the immigration people.

<comment><USER9> _[immigration queue]_

Yeah, that's the one problem with Canada... we're too popular. :-)

The immigration rules are in the process of being changed, though (legislation currently before the parliament, I believe) to make the queue somewhat less rigid -- the current process is broken (e.g., each office must consider applications in the order they were received, even if the applicant has died in the years since they applied), so the government is putting forward a "let's consider applicants in whatever order we feel like" bill. If this passes, there's a good chance that highly qualified applicants won't have quite as long a wait in the future.

Another option, of course, is just to send in the application and let the government chew on it while you go somewhere else for a year or two.

<comment><USER10> I'm actually a dual citizen, so I can go up anytime, I believe. thhhhhp!

But seriously, are there good reasons for me to go from the bay area to Vancouver? I imagine I would just be paying more in taxes...

<comment><USER9> _I'm actually a dual citizen, so I can go up anytime, I believe._

You don't even need to be a dual citizen -- if you're a citizen of the US or Canada, have a job offer, and have reasonable qualifications (a Bachelor's degree in most fields is enough) you can drive up to the border, mention NAFTA, and get a visa on the spot.

 _are there good reasons for me to go from the bay area to Vancouver_

I haven't lived in the bay area, and I don't know your circumstances, so it's hard for me to give a good answer here. I know when Google offered me a job in Mt.View, one of the factors which led me to not accept was that between Vancouver and what I had seen of the bay area, I much preferred Vancouver -- but I grew up in Vancouver, and my tastes have probably been molded by that. If you grew up in a dry, polluted, urban sprawl, you might prefer the bay area.

 _I imagine I would just be paying more in taxes..._

Don't be so certain. Canada has publicly-funded health care, which tends to raise taxes, but it also has much lower per-capita military spending than the US. I can't make much sense out of US income tax forms, but Google found me <http://dbaron.org/views/taxes-2007.html>; comparing it to an analysis I did last year <http://www.daemonology.net/blog/2007-05.html> it looks like a single California taxpayer typically pays a marginal tax rate of about 40% of income while a single BC taxpayer typically pays a marginal rate of about 26% of income -- of course, in BC we have provincial and federal sales taxes which add a combined 12% to most things you'll be buying (does California have any sales tax? I don't know), and gasoline taxes which are higher than you have in the US. In short: I suspect that the difference between taxes you pay in the bay area and taxes you'd pay in Vancouver could be either positive or negative depending on your individual situation.

Then of course there's the issue of real estate costs: Vancouver is the most expensive place in Canada, but I understand that it's still far cheaper than the bay area...

</comment></comment></comment></comment></comment><comment><USER11> Why don't you try the Philippines? Manila and Cebu have plenty of hackers. It's cheap, warm and friendly. And we all speak English.

Singapore might be another consideration.

<comment><USER3> Does Cebu have air pollution like Manila?

<comment><USER11> Not as bad. But there is a new area (city actually) within Metro Manila called Fort Bonifacio that's new and less polluted (the public transports in/out of FB are regulated).

Lots of residential buildings, restos and a few office buildings designated as economic zones (you get a 5 year tax holiday on corporate income tax).

<http://www.fort-bonifacio.com/>

The con: traffic in Metro Manila is bad (not bad in FB though). Wise to live and work in same area.

</comment></comment></comment><comment><USER12> If criteria are a) living cost b) climate c) geek friendliness (tech/business culture, infrastructure etc.) then Singapore will probably win. Bonus: you get exposed to booming Asia.

</comment><comment><USER13> India. Technically you wont be outsourcing too !!!

</comment><comment><USER14> Your home country is Norway, then? In any case, I'd really like to know which cold, overpriced country is not geek friendly (and why).

</comment><comment><USER15> Cambridge Ma is pretty fun, but doesn't fit the bill of being not in the US etc

</comment><comment><USER16> Are you looking for a place to live or a job?

<comment><AUTHOR> First thought is place to live so I can build a new product. However, given a sufficiently fun job and ability to get residence.. then I'm interested in that too. Getting residence is required for my wife to stop going crazy not being able to work etc. H1B+H4 is an ugly visa combination for a couple to live on.

<comment><USER3> I'm interested in hearing where you end up going.

</comment></comment></comment><comment><USER17> Isn't $500k enough for an investor visa?

</comment><comment><USER18> because you need 2 things (residency and geeks) no matter where you live you have to be mentally prepared to live there for a year or 2 before you move permanently. i would suggest to file for immigration for canada and in the mean time find a temporary place to live couple of years. the best thing is to shortlist top 2 places and then apply for immigration at one place and move temporarily to the place that was 2nd on the list (who know you may like 2nd place more than the first one).

Also if you file for canadian PR (while you're in US) then it won't take longer - US cases are faster than other countries but you need to file while you are living in US.

Your choices: Asia: Singapore, India, Indonesia, Philippines

Europe: any eastern europe that has good weather and geeks.

Far East: Australia (btw australia also has immigration policy, and fantastic weather)

Middle East: Abu-dhabi and Dubai (most happening place, no tax, you just need to find good geeks or import it from India).

Good Luck. P.S: Find out everything about Australia and Canada - they both have immigration policy - in fact i recently heard that australia has something like temp work visa for people under 30 and then you can file for permanent residency.</comment>


Lisp:Good News Bad News How to Win Big - <AUTHOR> http://naggum.no/worse-is-better.html <comment><AUTHOR> In the essay "The 18 Mistakes that Kill Startups" Paul Graham mentions how it is impossible for business guys to hire good programmers. I posted this essay because it shows why it is impossible and will give business guys a deeper understanding.</comment>