Microsoft prepares U-turn on Windows 8 - <AUTHOR> http://www.ft.com/cms/s/2/330c8b8e-b66b-11e2-93ba-00144feabdc0.html#axzz2SbWWnYCE <comment><USER3> U-turn? I don't think so. A company like Microsoft doesn't change its logo and completely redevelop its _entire web presence_ so that for the first time ever its entire product line-up is consistent unless it has really, really carefully thought through its plans, and is pretty damn committed to them. And, even if Windows 8 wasn't a rave success, it would be incredibly weak (not to mention idiotic) to cave to pressure from short-sighted consumers and pundits and return to the old desktop. Besides, I doubt anyone at Microsoft is that upset about Windows 8's reception - it was a truly foundational release, with so much work done in so many areas, and so obviously a work in progress, that even modest success was probably a good result.

Windows 8 was just the start of a massive transition process for Microsoft. Inevitably there were a lot of rough areas, room to improve, etc. Microsoft will have gained a huge amount of feedback, done a huge amount of work thinking about how to build on 8. I expect to continually up the polish, improve the features, smooth the split between both the new UI and the desktop, as well as improve the transition between different form factors, handle integration for users with multiple devices and so on better - but I don't see any significant reversal of direction. The old desktop is simply too antiquated and if Microsoft were to remain fused to it for any longer it would put them in an extremely dangerous position, given the quantum leaps in UI happening at the moment. The big question mark is how Microsoft is going to handle legacy app support while unifying the overall experience and setting sensible guidelines for what new apps (both Metro and Desktop) should look like. There is a lot of inertia in the Windows ecosystem and it will take a while to shift, but the results will definitely be worth it I think.

<comment><USER4> I'm a long time Windows user. I gave Win8 a try and had to google "How to shut down Windows 8" and "How to close apps in Windows 8". It's ridiculous. Just go to google and type in "how to shut " and it'll suggest you the rest. Same goes for "how to close apps ".

<comment><USER5> I've heard this a few times from people and the really baffling part of it for me is how many people still shut down their computers these days. Maybe I'm a special case, but for laptops I close the lid and it sleeps until I need it again and for desktops, I get up and walk away and it goes to sleep until I need it again. The only time it shuts down or restarts is when an update requires it.

<comment><USER4> I've used Win7 for years and I always use "WinKey+RightArrow+RightArrow" and then I either press 'r', 's' or sleep or restart or whatever I want (it's super quick onece you're used to it). I don't want my lid to do anything. I have SSH session open and don't want them to kill (and don't start about screen...). Also, my power button would've just shut down linux since the Win8 was in a VM.

</comment></comment></comment></comment><comment><USER6> What a ridiculously over the top hack article. In Windows 8, Microsoft did a lot right, and a couple of things wrong. In 8.1 they are trying to fix those couple of things.

If they put the start button back and default to the desktop, that would address 90% of people's concerns. The only other major issue is that Metro apps are so far pretty useless, but they are very easy to avoid until they get better (or just ignore them permanently).

As to it being "widely panned", I saw a lot of positive reviews of it when it came out. Even the Verge, who usually hate anything and everything Microsoft gave it a good review.

<comment><USER7> The absolute number of things done "right" or "wrong" doesn't matter so much.

Many small "right things" will not balance out even a single, massive "wrong thing".

Keep in mind that the single "wrong thing" can in turn spawn new problems of its own, like a tarnished reputation and uncertainty among consumers.

It should be quite clear now, although it was pretty clear during the preview releases, that the UI changes were overwhelmingly bad. Even if such problems are fixed with a subsequent update, there are enough people who still just won't trust it, based on the poor initial experiences.

<comment><USER6> But there aren't any massive "wrong things".

Missing start button and not booting to the desktop are by far the two biggest complaints I hear about Windows 8. These are, in the scheme of things, not exactly massive issues. There are numerous programs out there that fix this issue, and Microsoft can fix them with a minor tweak.

Metro apps have a load of problems, but since they are completely avoidable (and I think most people are just completely avoiding them) it's not a major issue. It's like widgets in Vista.

That workspace all the way to the left on OS X with widgets, whatever it's called. I've literally never seen anyone use that feature, but I wouldn't consider it a major problem that it's there.

<comment><USER8> _> These are, in the scheme of things, not exactly massive issues._

The perception can be very different though. There are those that _really_ don't like it, and it is rubbed in their face every time they login to their machine. They are small matters, I agree: Metro apps can be completely ignored and most of what I used the start menu for is just as it was (ctrl+esc, start typing, pick from list) and is in some ways better, _but_ it is still a change in look and feel that for a novice user adds friction.

Worse for a marketing/sales point of view: there are people who have not really formed an opinion and have decided to avoid Windows 8 (not upgrading, buying a machine with 7 instead, or getting the option and downgrading to 7 like many did from Vista to XP) because there is a lot of press questioning the UI changes. These people might not know that the change is minor when you consider their entire day, but it is being talked about it loudly enough that MS don't want to take the risk.

Another problem for Windows 8 is of course that many people simply have no real need to upgrade and no end of additional UI options is going to change that. If people have no problem with Win7 then MS can make Win8 look exactly like Win7 and it'll make no difference to that class of user (a very large class of user) unless they offer the upgrade for free.

The only reason I have 8 is that I was rebuilding my main home PC, it was a very cheap upgrade a the time, and I might have need to do Windows Phone 8 development in the not-too-distant future (the SDK for that will not install on older Windows).

<comment><USER6> So I think we agree that there are only fairly minor issues, but many people feel that they are major.

I really think that a lot of this reaction is just because it's popular to hate Microsoft - so any small perceived missteps are blown massively out of proportion (particularly by the media).

Microsoft could have gone down the path of keeping everything exactly the same, and providing no innovation; that probably would have worked great in the short term - but they are trying to do something new and there are growing pains associated with it.

<comment><USER8> _> So I think we agree that there are only fairly minor issues, but many people feel that they are major._

Essentially, yes.

 _> Microsoft could have gone down the path of keeping everything exactly the same ... that probably would have worked in the short term_

I'm not sure it would, as people would have even less reason to upgrade. The man on the street is not going to be impressed by under-the-hood improvements to the point of spending upgrade cash so while they'd have saved some hassle on new sales they would have lost revenue on upgrades. Admittedly the reception has made that upgrade income smaller than they hoped for anyway, but that is hindsight talking.

 _> but they are trying to do something new and there are _growing pains* associated with it*

This is a bit part of the perception problem I think. A proportion of the of the people who have upgraded (ignoring those who have opinions despite not having tried it) feel that Windows 8 is using them as guinea pigs for the new tablet stuff that they don't feel fits with their desktop use well. If MS had made the new UI changes more easily turn-off-and-on-able initially they might have avoided some of this friction.

</comment></comment></comment></comment></comment></comment><comment><USER9> Err ... Good?

I've not used it extensively but found it confusing. My Father (non-techy) absolutely hates it. He hated Vista too but likes his Win 7 box.

Very dangerous for MS to screw around with this as inertia and familiarity are a huge force in keeping them dominant. In their position the worst thing they could do is force big changes, which is what they've done.

<comment><USER10> As another random anecdote: my technically not-inclined girlfriend loves it. Finds it super easy to use: use the desktop mode for her architecture apps, and metro for all her personal stuff.

I even like it, although I did just wipe it on my new laptop for Ubuntu 13.04 - it's quite nice to use in my humble opinion.

<comment><USER9> Interesting. Obviously anecdotes != data so assuming my experience is universal would be quite wrong.

Have you or she customised the interface at all? I found the lack of start menu odd and hard to work with.

<comment><USER10> Nope, stock standard. The way to think about it, is that Metro IS the start- menu.

So, hit the Super (windows) key, and start typing, just like you would to quick launch via Windows 7's start-menu.

Pin your most used desktop apps to the bar in Desktop mode, and I promise with those two tips, you'll find it quite a bit easier to handle :)

Now, hot corners on the other hand... those are a bit annoying. I will add that all this is on a laptop: having gestures enabled is a big plus. I also use a trackpad for my iMac and have one on my desktop at work, so I kinda can't live without them, and Windows 8's are pretty decent. Not OS X level yet, but getting there.

<comment><USER9> So how about app discovery?

I found myself having to poke around in the program files directory in explorer (very sub-optimal) in order to find out what was actually installed on the machine.

<comment><USER10> Fair enough, that's something I've not run into myself :) Although, hit the Super key, bring up the Charms bar (swipe in from right on a trackpad, mouse in top right hand corner with a desktop) and there should be an Applications menu that lists them? It's just a standard vertical list of all applications. I think that's where it is, anyway, let me know.

<comment><USER9> This seems somewhat less than intuitive!

I'll give it a go next time I have to intervene in a parental computing experiment.

<comment><USER10> See the thing is, intuitive is an odd concept. We've learned how Windows works over the years, so now it seems "intuitive", but from observing people learning PC's for the first time, this sort of stuff is just as hard for them on 7, 8, or XP!

Now: that's the cause of the problems with Windows 8. We've all had to go back to square-one. Windows 8: the great equaliser ;)

There's a few things I don't like in it, just like every OS. But, it's not bad, I think. Good luck!

<comment><USER9> Well yeah, what's intuitive is indeed subjective and depends entirely on what the user has already learned, which harks back to my first post - <USER2> things so much is a very dangerous game for an incumbent whose market-share pretty much relies on them not upsetting their users.

Many of their users have taken many years to learn how to operate previous iterations of Windows satisfactorily, and switching stuff around frustrates them.

Myself I'll be sticking with Debian/XFCE because I like it and I don't feel like I'm constantly being told that I'm doing it wrong!

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> Not really a u-turn. More like re-fining.

It's like the Windows Vista to 7. Little tweaks here and there.

Win 8 has many changes. Some to the UI, some under the hood. Pretty impressed at the boot speed of Win 8 on a PC with an SSD.

Took a few days to get used to the UI changes, utilising shortcut keys the same way I do on every other windows installs means I see very little of the metro/start screen unless I want to.

My most used apps are all pinned to the start bar (eg: Chrome, Notepad++, etc).

I think most average users probably have 4-5 most used apps, those apps should be pinned to the task bar. Doing that, it kinda acts a bit like the OS X dock and so they just need to click straight on those without searching through menus etc.

</comment><comment><USER12> One problem I have had with my various PCs over the years is the file and shortcut clutter that accumulates on my desktop, a fault purely my own. Windows took this annoying habit of mine and made it a core feature of Windows 8.

</comment><comment><USER13> IE10 is already close to passing IE8 in market share.

[http://gs.statcounter.com/#browser_version-ww- daily-20130407...](http://gs.statcounter.com/#browser_version-ww- daily-20130407-20130506)

It would be really nice if Windows users decided that Win 8.1 was the version for them. Those XP machines have to be pretty old by now. IE10 could easily hit 25% next year.

<comment><USER14> Windows 7, which for my uses, is a better OS than Win8, has IE10 as a recommended update. So for most installations of Windows 7 boxes they will automatically update to IE10.

</comment></comment><comment><USER15> I would consider upgrading to Windows 8.1 if they just made Metro the _default desktop background_ while also keeping the Start button and the taskbar. That would be an interesting combination, since the desktop background is usually wasted space anyway. Sort of like the "active desktop" thing that they tried in Windows 98, but much more elegant. It would also eliminate the nonsense of having to leave the desktop in order to pin programs to the taskbar.

<comment><USER16> Completely agree. I don't get this stubborn dichotomy between start menu and tiles when we can easily have both.

On a side note, I've installed a Windows 8 beta on my Mac about two years ago and I liked using it. On the other hand I always found the start menu to be a clunky solution.

</comment></comment><comment><USER17> Microsoft will add features to the UI and give users more time to learn Metro. The comparison to New Coke is a good one, the analysis weak. New Coke gave CocaCola the cover for switching from sugar to high-fructose corn syrup across the product line in the US. "Classic" was a new product.

Metro is the right direction. It will just take time for businesses to catch up. And now the narrative will be about Microsoft's improvements.

</comment><comment><USER18> What if Mircorsoft had called Windows 8 as some Neo OS v1 (or beta)? What if they had said that this OS is:

1\. Optimized for low power chips and is very power efficient 2\. Cloud centric and integrates all the modern breed of sensors like accelerometer, GPS, proximity, ... 3\. Supports touch and pen inputs as natively as Windows supports keyboard and mice. 4\. Super fast 5\. Runs your legacy Windows applications 6\. Supports most of the devices like cameras, scanners, printers meant to work with Windows 7\. Runs in several form factors 8\. Gives a familiar .NET and HTML environments to develop applications

I think, calling it Windows has set an expectation for start button and desktop as the landing screen and led to this widespread disappointment. Microsoft failed to get users to approach it with a desire to explore. By making their new OS the mainstream OS shipped with every PC sold (with or without necessary hardware support), they neither chose the initial seed users right nor gave the OS a good chance with right devices.

</comment><comment><USER19> Is it just me, or is this article and the news in it just way too vague to justify the title? What U-Turn? Pure guesswork yet they make it sound like nobody will be able to work with Windows anymore.

For all we know MS is just going to add an option to set the desktop as default instead of the tiles now. Which would be a good thing, and listening to cutomers, but not quite a U-turn.

</comment><comment><USER20> I've bought a new laptop last week that came with win8 preinstalled.

I feel like I've boutght a very expensive tablet with a big screen and a keyboard... :P

Really it doesnt feel like a PC, and the desktop is like an app that you use WTF?!

</comment><comment><USER21> Can someone explain to me why is Ballmer still in charge, really? Please?

<comment><USER22> Because MSFT still makes enough profit every quarter.

<comment><USER23> With those two (Windows and Office natch) cash cows a sufficiently tech-savvy bonobo could CEO Microsoft and turn a profit each and every quarter. Heck, even I could. The momentum that behemoth has must be unnatural. I don't think that this (quarterly profit or whatever) should be the metric by which Ballmer is judged. He should be judged on percentage of penetration into various market segments or something like that. So: consoles, yay; mobile, boo; desktop, yay (you can't beat a good monopoly); server, not so much; media forays, boo; net search, ho-hum; and so forth ...

<comment><USER24> So, fun fact.

Ballmer has taken Microsoft from two cash cows...to roughly six in his time frame as CEO. Take a look at how many billion dollar businesses have come to fruition under his tenure. You might be surprised.

The guy gets a bad rap, but its annoying that people want to blame him for the things that are wrong with Microsoft but won't give him credit for the things he's done right.

<comment><USER23> Sorry, wasn't keeping an eye on replies - I just kind of threw my original comment out into the ether.

I'd like to ask you though. What are the other 4 (5? 3? you said roughly) cash cows do you reckon, and in all seriousness are any of them even close in scale to Windows/Office? Honestly, I mean :)

</comment></comment></comment></comment></comment><comment><USER22> I suspect this is just marketing for the upcoming Windows 8.1 (Blue). Which is more of a L-turn than a U-turn.

</comment><comment><USER25> My experience with Windows 8 has been through Surface RT. After using iOS, OSX, and Android for years, going to Windows 8 RT has been fun and easy to learn. Maybe, its because UI works on a tablet. I look forward to Microsoft creating a more refined experience around the Metro(modern) interface.

Microsoft dropped the ball on forcing OEMS to create great touch centric devices and marketing. People purchased PCs expecting their traditional Windows experience and received something much different.

</comment><comment><USER26> Malware detected on website. Can someone post the content?

</comment><comment><USER27> I am utterly lost when it comes to Windows and people opinions.

Edit: .... and what MS are up to.

I start with the notion that, IMHO, XP SP3 was and remains a great OS. Its like the OS that Win 95 was building up to. I then replace my main go to desk top machine and it comes with Vista installed. Im worried because every geek and his dog hates it. I buy my new machine intending to wipe the HD and install XP instead. It wrong to hate with out trying, so I give Vista a go. 3 or so years later, Im still using Vista with zero problems. In my eyes its XP with added stuff and a bit of a fluffing. Fine.

Now, kids get new machines and this time its Windows 7. IMHO, good thing it was the kids machines because IMHO Win 7 looks like a kids OS. I try to do some set up stuff and it takes me ages to get anything done. So, that's that for me. Don't want 7 any where near my computer(s). Although to be fair, the kids get on fine with it. Next up, last Christmas, more computers for the kids, laptops with Win 8. All I see its a tablet OS forced on non tablets. Get by the tablet interface and its mangled Win 7, worse to use and find my way around than 7 was. Two identical laptops, but both have different issues. Wireless being the most frustrating.

Right now Im wondering a) why people hate Vista, and b)what my next OS should be. I want XP, I'm happy enough with Vista, but the idea of Win 7 or 8 fills me with dread. And if any one says Linux or Mac, I'll die laughing. Neither even begin to be suitable. (Mac devices are brilliant for the kids, but never me)

I am NOT a serial MS hater, I have always been happy enough with their products as long as I never have to use the first release, and wait for the first service pack and decent drivers. Not great, but the system works. But now I feel un-catered for. Win 7 and 8 are miles away from what I want and I can only see it getting worse. It feels like MS have annoyed all the usual suspect, but now they are going all out to annoy the people who still like them and their products.

And lastly, why on earth force a tablet UI on to desk tops and lap tops? What one earth is that about? Why not a core OS, and you just buy a tablet or PC version?

Like I say, the whole MS thing has me utterly lost. And that is really sad as, as it turns out, with out realising, I'm a loyal MS customer. But right now, Im sticking with Vista until I literally cant.

<comment><USER28> Yours is the first opinion I've read of someone preferring Vista to Windows 7. Win7 is pretty much superior to both Vista and XPSP3 in almost every way, though especially from a usability and secuirty perspective. It's actually not all that different from Vista in my experience (and you can make it look like Vista pretty easily, if the color scheme bothers you).

Windows 7 likely is the next XP - people will stick with it for 10+ years if they can.

In fairness, I gave up and switched to a Mac.

</comment></comment><comment><USER29> Whoa - I get a malware warning when trying to visit this site with Safari 6. It seems um.equads.com (presumably linked to from ft.com) is infected!

</comment><comment><USER30> I only have one Windows PC (dual boot Ubuntu / Windows 7 laptop). Still, I like what Microsoft is doing with Windows 8 and hybrid tablets and laptops. When my two Mac laptops are no longer supporting my work because of malfunction or obsolescense I will likely buy whatever the next version of surface pro is.

One thing that I don't understand is why older desktop non-touchscreen PCs don't default to a Windows 7 style interface.

I would like to have one small device (with a huge external monitor when I occasionally need it) for everything. Whether that is a small hybrid tablet/laptop or a powerful cellphone with great docking station support, I would like one universal device. I was very surprised to find a very functional Java/Android IDE for my Galaxy S III - no reason why a future more powerful smartphone with great wireless docking couldn't meet all of my computing requirements.

</comment><comment><USER31> Paywalled on mobile. Was it really news?

<comment><USER32> No, it contains no news that isn't readily available on other sites, but it has a linkbait title targeted at the clueless.

</comment></comment><comment><USER33> mumble grumble previously posted <https://news.ycombinator.com/item?id=5666844>

</comment><comment><USER34> Can't read without registering.

<comment><USER35> FT has this incredibly aggravating policy of forcing registration on mobile devices. If you're on a mobile device, request the desktop version of the site, and you should be able to view the content.</comment></comment>


RBS software issues likely to continue into third week - <AUTHOR> http://www.siliconrepublic.com/business/item/28081-ulster-bank-problems-may/

<comment><USER2> I'm a customer with these guys. The problem started on the 21st of June, the only transactions on my account are small ATM withdrawals. No card payments or more importantly no salary!

Tried to pay the rent. Didn't work. Tried to pay the phone, didn't work, broadband? Nope didn't work either.

From what I understand its some old mainframe-ish style legacy infrastructure that broke down. Ulster bank downsized anyone who was working in that area a year ago and shipped it all out of the country.

<comment><USER3> The Register had some decent coverage of what went wrong [1].

If this does prove to be the root cause, it just highlights the costs of cutting costs irresponsibly.

For customers, as has been said elsewhere, second bank accounts and cash buffers can be cheap insurance against the incompetence of others.

[1] [http://www.theregister.co.uk/2012/06/28/rbs_job_cuts_and_off...](http://www.theregister.co.uk/2012/06/28/rbs_job_cuts_and_offshoring_software_glitch/)

<comment><USER4> Boy, some of that described experience is pretty familiar.

</comment></comment></comment><comment><USER5> I can see this going down in IT folklore, "Remember to do test your backups and roll back plans, or you might end up like Ulster Bank"

<comment><USER6> I work with some people who used to work for RBS IT, they tell me that the department was as bureaucratic as they come (presumably to reduce risk) but once all the hoops had been jumped through, it came down to single team who would put code into production, and they were often quite poor at it.

When I think about the scale of this mess, and the hundreds of millions that RBS is going to loose in compensation and lost customers, I hope that RBS (and in house corporate IT in general) starts to appreciate the need for automated deployment and fault tolerant IT systems rather than yet more process as the answer (I'm looking at you ITIL).

<comment><USER7> ITIL is not a problem, in fact it is a good thing that has happened to IT. However, the problem is the non-IT people running the ITIL. They end up sidelining the developers, or the developers badmouthing the processes, which causes all sorts of separation and issues. When people follow processes appropriately, things work out well and on time.

<comment><USER8> ITIL _is_ a problem. It's extremely rare that an organization has problems because nobody's ever thought about how to do things better rather than having broken internal structure or incentives – ITIL can't help with either of those but the huge amounts of time and money it soaks up will make it much harder to actually do anything about them.

</comment></comment></comment></comment><comment><USER9> Its really not an IT problem, the upside to this for RBS is they can keep a very tight grip of their deposit to loan ratios. They aren't bothered about the customers, its about keeping the bank above the waterline.

[http://www.reuters.com/finance/stocks/incomeStatement?stmtTy...](http://www.reuters.com/finance/stocks/incomeStatement?stmtType=BAL&symbol=RBS.L)

Just look at how very close the Deposit vs. Loan values are, and also consider the timeline of this whole debacle.

RBS downgraded, more loans than deposits, suddenly a "IT problem" that lets them even out the odds a bit, so they can afford to borrow to cover the remainder, and gain much needed liquidity.

[http://hat4uk.wordpress.com/2012/06/25/rbsulster-glitch- slog...](http://hat4uk.wordpress.com/2012/06/25/rbsulster-glitch-slog-survey- of-users-plus-analysis-of-the-numbers-raise-further-doubts/)

<comment><USER10> Given that both payments in and payments out seen to have been affected, this isn't really likely, not to mention that the fallout from events like these in terms of press coverage and regulatory interest would outweigh any benefit from such an act. Lastly, organisation of such an event would require way too many people to stay secret.

</comment></comment><comment><USER11> I'm beginning to wonder if Ulster Bank have reached the event horizon beyond which they don't have the computing power to recover from this.

<comment><USER2> Interesting. I wonder what would happen in this instance. They have admitted losing some transaction information forever. Wonder what the financial impact will be

</comment></comment><comment><USER12> Thanks online news source for just reposting twitter comments without adding anything. Would have been nice to actually contact a poster to get more details or like...do more work than search for a hashtag.</comment>


Ask HN: Estimate Market Size - <AUTHOR>

When you are creating a new product, how do you know if your target market is big enough?<p>How big do you think it needs to be before creating the idea? <comment><USER2> Well ultimately you'll be the judge of whether a market is large enough--it just depends on your goals really. As far as actually quantifying it though, there's several methods.

I personally think the easiest traditional way of doing it is called the break down method. This involves taking a total population, and then applying various percentages to whittle that number down until you got your target market. To illustrate, lets say you're selling an iPod hookup for cars. You're targeting US only so you have the total population _n_. You also know that x% of people drive cars and that y% of people own an iPod. To get your market size you multiply _n_ by x and y--voila.

A less traditional way of doing all of this involves a little facebook hack I've been tinkering with. If you go through the process of creating an ad on their network, it will give you the number of users for the various filters you place on it (you can specify your demographic by location, age, sex, keywords, education etc etc). In certain areas of the world the % of people on Facebook is so high that you can basically use this figure as a solid estimation. I haven't tested this for accuracy but it works well enough for most purposes.

</comment><comment><USER3> Some times it pays better to be the big fish in a small pond (find niche markets that you can dominate.)

Be careful with the "we only need 1% of the market to make millions." You can fool yourself into thinking getting that 1% will be easy. Depending on the product, the sales channel is different. Focus on how many customers you can get to the top of your sales funnel. You loose a certain % of customers along the funnel and you end up with a certain number of paying customers. Even if the market is 5 million people, if you only get 100 in your sales funnel, then that is an issue.

If you are going with Adwords, there are pretty standard conversion rates you can follow to figure out how many customers you need to look at your product in order to earn X dollars a month.

If you have expensive product that requires a salesperson, then find out how many deals can get done in a day/month/year. Even if the market is big, but sales are slow, it doesn't matter in the end.

</comment><comment><USER4> I have one answer to this question: google keyword suggest tool/adwords.

it depends what sort of market you're in and what you're doing. Because you're in this forum, I assume you're building an internet app and intend on receiving traffic from search engines and social sites.

You can use google keyword suggest or wordtracker to see how many people are searching for what you're making, and if anyone else makes it.

Yes this works for ISV products too.

</comment><comment><USER5> Quite similar to @ABrandt, I estimate the market using the stats of website visitor from compete.com/quantcast/alexa, etc. E.g. let's say my nearest/closest competitor(if any) get around 100K visitor per month, let's say I get around 20% of his traffic, and if 3% these traffic convert to be customers. I get a high level figure of the market size for my products.

</comment><comment><USER6> gut; talk to other people; reports/trends; inspect companies in your space.

the potential market should be at least _1_ :) it depends what kind of company you're building.

If you're building a really large consumer business you want a product that can have over 50M users. If you're after a tidy lifestyle company you can dominate a small niche and thrive.

<comment><AUTHOR> what if you are building a product in top of other product? Is there a way to know how big is your market?

<comment><USER7> You should look at the total market for the parent product, and come up with a reasonable percentage of those users who will buy your add-on. For example, if there are 5 million iPhone users, and 5% buy a screen protector, then you're looking at a total available market of 250,000.

From here, you'll have to figure out what percentage of the market you can reach, etc.</comment></comment></comment>


Tolerance and Prosperity - <AUTHOR> http://www.avc.com/a_vc/2012/05/tolerance-and-prosperity.html

<comment><USER2> I was discussing with a friend saying that in almost every other field the world is changing for the better quickly (relatively speaking...) - poverty, hunger, health, education, sanitation, communications etc....

Except in one key area- our tolerance and acceptance of those unlike ourselves.

Sure- there has been and will continue to be great and positive change on the "tolerance" front as well.

40 years ago - the world seemed to have come together to solve a "vertical/one off" tolerance problem around blacks and civil rights.

Now- the African American community (not everybody of course!) themselves are opposed to Gay marriages: [http://voices.washingtonpost.com/postpartisan/2011/02/whats_...](http://voices.washingtonpost.com/postpartisan/2011/02/whats_with_african_american_op.html)

Why has there no concerted effort to horizontally and structurally attack the tolerance problem so that we are not solving new tolerance problems towards a new class of people every generation?

Why hasn't the Bill and Melinda Gates or any of the large non-profits large/stealth/public marketing/branded/communication effort to solve this problem.

Maybe- the argument for structural tolerance has to be linked to prosperity and capitalism that Paul Romer is suggesting.</comment>


Ask HN: I'm lost in my journey to become a developer - <AUTHOR> I've been having trouble on my path to become a professional software developer, and I would really love some help/advice. A little over a year ago I moved to NYC to attend a Full Stack Python Coding Bootcamp. I flew through the course, and upon finishing had bright eyes and a lot of enthusiasm to begin a career in tech. The teachers threw their support behind me, and let me know that I was a strong developer (and more importantly a fast learner) and should have no problem finding a job. Fast forward to now - I have been looking for a career full time since July 2016 with no luck. I've been interviewing a lot, but ultimately get passed over for people with more experience. I'm going into debt at this point, and don't know where to turn or what to do to get my shot.
I know companies here are really pressing a CS degree - which I don't have. I do have a BS in Petroleum Engineer, and have work experience as an engineer. I also managed a Oil & Gas service company in Africa for years before making this transition, so I have quality professional experience. I left my career to embark on this journey into technology, so I have proof of my passion and commitment to this change. I'm not sure where to turn or what to do at this point, but I know I want to be working in tech.
I have been a finalist for many jobs, but no offers to date. Some companies are great about going in another direction and giving feedback, and other companies give me none. Last month I interviewed at Foursquare - two phone interviews, a project, two more in person interviews - wait two weeks and receive a generic email ("While we felt your experience was great, it didn't quite align with what we're looking for at this time."). I've sent emails asking for more feedback and received no replies.
If you have any thoughts as to what I can to do get my first job in technology, I would be grateful. <comment><USER3> You only mentioned Foursquare as one of the companies you've applied to, so without more info from you I'm going to take a shot in the dark here: are you only applying for those types of companies that are very well known? It's pretty rare for your first job out of education (whether it's a degree, or a bootcamp) to be "SWE at <Company Your Friends Know>". There's a whole world of companies out there that aren't as sexy but can be amazing stepping stones to the job you want.

To add personal experience to this comment, I've worked at two places before landing such a "dream" job - a < 50 person startup, and a company with businesses around its satellites that employs ~5000 people but I guarantee your average citizen hasn't heard of it. Some former coworkers at that startup were there as their first job, and went on to work for Google/Palantir/themselves. These less sexy companies and startups are waiting for great applicants.

<comment><AUTHOR> I only used Foursquare as an example because they are a "dream job" company. I've been trying for all kinds of companies, smaller start-ups included. I think I'd be great for a start-up due to my past work experience, but I've not had luck there.

</comment></comment><comment><USER4> Just a bit on my background so you know what perspective is behind my advice. I came from an Aerospace Engineering degree and transitioned early into Aerospace systems engineering and software, eventually moving to more traditional software positions (still systems oriented I guess, but different system domains).

It sounds like you're applying for web-industry type jobs which I think you should continue to apply for in your situation. However, with your background, you should have a great advantage for industry + software type positions which would play to your experience as well as your new skills. I would expand my search beyond just "software category" jobs, and search for companies which have products/services in in oil & gas, find companies in that sector, (also companies building software tools for that sector) then go look for listings on their individual websites to see if they have openings of software jobs (look for networking for friends who might be in that industry too - maybe an instance where Linkedin is very useful). I would suspect that there is a lot of software work for embedded, industrial controls, data collection, analysis, even project mgmt, calculation/coordination widget software in that field. I might even expand to searching companies looking chemical, and construction companies from what I can glean from the description of your experience.

What I'm terming "Industry" jobs here are likely culturally different than your standard HN software work, but even if it's not what you're aiming for over the long term, it might be a stepping stone to more "software" archetype software positions.

<comment><USER5> I strongly second this, you may be more lucky with your search by combining both of your expertises for industrial / petroleum / similar engineering jobs. Good luck!

</comment></comment><comment><USER6> > I have been a finalist for many jobs, but no offers to date. Some companies > are great about going in another direction and giving feedback, and other > companies give me none...

Understand that companies DO NOT give feedback. That's not their job. Especially when dealing with HR Flunkies and Recruiter Bozos. They regularly churn through tons of candidates. Time simply does not permit thoughtful, individual dialogue.

There is a numbers game aspect to a job search. Can you increase the number of targeted applications? Beyond job board posts, start emailing likely hiring managers direct.

Also, understand the importance of personal referrals. Increase your network in the Python space. Start attending Python Meetups, Conferences, Events, etc... Fortunately, there several in the NYC area > [https://www.eventbrite.com/d/ny--new- york/python/](https://www.eventbrite.com/d/ny--new-york/python/) Also,> [https://www.meetup.com/NY-Quantitative-Python-User- Group/](https://www.meetup.com/NY-Quantitative-Python-User-Group/)

<comment><AUTHOR> Understood. Just sucks when you go so far with them - and I reached out to the hiring managers for feedback, which is why I was hoping for more. I've been trying to target more, but also blasting. I take an approach of blast in the morning, and then target in the afternoon. I've attended many Python meetups, and my bootcamp was one that popped up for a lot for a lot of those. I was hoping their network would help me, but it has been nonexistent. I do need a better network, but I feel like my wheels are spinning from going to meetups and events like Techday last week.

<comment><USER6> > I take an approach of blast in the morning...

Try to take the emotion out of the equation. You can not control how companies will respond. Blasts have a low-hit ratio, huge time suck. Suggest contacting individual people you can help-- managers, directors, CIO's in companies that use Python. Linkedin search is excellent for sourcing these targets.

</comment></comment></comment><comment><USER7> I am in a similar position (career transition at 37yo to software development), mostly self-taught through the internet (freeCodeCamp and building my own stuff following documentation and tutorials online).

I still haven't got a job, so I can't say I have a good answer for you. I am just speculating from a similar position.

I don't think I would even apply to fancy, well-known companies that lots of developers coming from strong branded college education in computer science. I am not diminishing myself, I believe I can deliver more than any young talent on a range of software development positions (not all of them, I think some places like security demand a more solid theoretical knowledge that a CS graduate has and I am not even close to having). I just think these companies have the luxury to nitpick and they value a good college and a young age more than anything that I have an edge on.

So, I am trying to find jobs on more 'humble' places that match the work environment I want, ie, companies with tech as a core product and a strong tech culture, where I can learn from more experienced developers. This leaves out agencies where software is seen as just an operational department and developers just have to endless do 'transform Photoshop in css+html' stuff.

As I am kind of focusing my learning in React and React is hyped right now, I am optimistic with my ability to land a job. But... I could be in the same position that you are now in a year! Who knows ¯\\_(ツ)_/¯

<comment><USER8> >This leaves out agencies where software is seen as just an operational department and developers just have to endless do 'transform Photoshop in css+html' stuff.

I worked at a web agency before so I know how that is. If software is just a means to an end, what are they exactly selling if not software? Websites as a service, perhaps, but that still doesn't support the business model that focuses on hourly billing, that puts a perverse incentive for developers to produce less satisfactory results.

</comment></comment><comment><USER9> The company I work for took on some people from a bootcamp recently so I can perhaps offer perspective from the other side. The final decision came down to personalities and life stage: we knew that hiring people with relatively shallow experience (not a criticism, just true relative to others in the company) was going to be, initially, a large time sink and investment in development of these individuals. So the decision boiled down to: once this person is productive, how long do we think they will stick around? If that time is shorter, do. they have the increased energy and great attitude to make up for it? Are we a momentary stepping stone for this person or do they want to learn what they can from us and jump off to bigger and better things quickly? The main decision was around this. Whether our investment in the person would yield a payoff.

Also a big consideration but not as much: What are their strategies for learning, and will those strategies withstand the forthcoming onslaught? What are their instincts when something doesn't work?

Hope that helps.

</comment><comment><USER10> Have you worked with any recruiting agencies? I'm a big fan of Mondo - <USER2> folks there are great and have been incredibly helpful and responsive. Feel free to drop me a line if you want an intro. (I mainly work in Rails but I'm sure they can help you find something in Python.)

(There are a lot of great technical recruiters, but I've personally only used Mondo. I'm sure others have some they love as well.)

<comment><AUTHOR> Yes, I've worked with some. They have gotten me some of my interviews with companies where I have been a finalist. I will check out Mondo, thanks for the tip!

</comment></comment><comment><USER11> Are you having "informational interviews"? Asking a engineer to coffee or for a 20 minute phone call, while scary, has the largest return on investment of any type of outreach I've seen. Basically your have to build out your network and then keep in touch with that network until one of those people have a role you would be good for.

Also you shouldn't expect companies to give you feedback. While its nice when companies do many avoid it for a number of reasons. The biggest issue I saw in the past was if specific feedback was given say, "You didn't implement x correctly in y problem" it opens the door to candidates responding with, "Yes I did" or arguing. I'm not saying that you would do that but it only has to happen once or twice for a manager to stop giving feedback.

<comment><AUTHOR> Yes, I've had some informational interviews. I should probably do more following up with them as time moves on. That is great advice - I usually see if they have anything for me, and if no I move on. Will follow up now.

Also, I understand the no feedback policy, just really sucks when you go so far.

</comment></comment><comment><USER12> In my experience there's two key pieces of landing a job that a lot of applicants don't put any emphasis on.

"Culture fit": In the startup world everyone is looking to hire people who fit their culture. They don't even necessarily have to know why they're doing it or what it ought to look like in an applicant, but they look for it anyways. So ways to make sure you're ticking this checkbox are making sure you're enthusiastic about coding and speak with excitement about what you're doing and the be excited about the company's core values. For example, most companies are consumer facing, so you need to get jazzed about providing the best user experience possible and be motivated by seeing people use your product and interacting with users and their feedback. The best advice I could give here is to make sure you do your research on the company, tailor your resume/cover letter/responses to match them, and just fake it till you make it.

Personal Projects: The other piece that applicants tend to not have (particularly people just entering the field) is solid portfolio work. One key aspect of that is open source contributions. Get excited by a framework or a library and not only become an expert on it, but get involved in the developer community and start contributing to the project on Github. The other important piece is projects that are real. Something that is original and actually solves a problem, something that people outside of your circle have used. Everyone and their mother has class assignment projects or online tutorial walkthroughs (kanbans, todo list, simple fetch from api and display, personal website). Only a very small fraction of people coming out of college or a bootcamp have a project that goes beyond the basics and teeters on being an actual product.

So my advice is to put more emphasis on those two aspects, make sure you're getting involved in the community online and in person via meetups (referrals are gold and trump just about anything), and avoid shotgunning for interviews (pick a few companies and focus on them).

</comment><comment><USER13> Keep going man it's a lot of luck involved. I graduated App Academy and I've heard of people who didn't get a job for over a year and then landed at Uber. Apply to 1000 companies, it'll happen.

</comment><comment><USER14> I can give you a list of 400 Companies. Many will be hiring. If you cold email all of them, you will get a job.

<comment><USER15> This is basically the worst way you can attempt to get a job. In the time you apply to 400 jobs with any serious attempt at a curated approach, you could be meeting directly with hiring managers and developing a network.

</comment></comment><comment><USER16> I would suggest you look at some of the LinkedIN profiles of software developers at the kinds of businesses you want to work in. And observe the kinds of roles and businesses they started out in. You could even try reaching out to them and asking directly.

Good luck!

</comment><comment><USER17> As an aside, what's wrong with petroleum engineering? Is it the drop in oil prices, or something wrong with the profession in general?

<comment><AUTHOR> Nothing wrong with it - actually I wanted to eventually combine the two. I thought that due to the drop in oil price, now would be the right time to leave and gain the skills that would help me build tools for the oil industry in the future.

<comment><USER18> Don't know where you're located or if you're open to relocation, but check out osisoft.com

They make software to handle real time data (since the 80s), and a majority of their clients are oil companies. I worked in IT department for a couple years. On their client support side, they hire a lot of chemical engineers, and I'm sure petroleum engineers fall in the same category for them.

If you have a resume, I can forward it to a contact of mine. email in profile.

<comment><USER19> The company looks exciting, because I want to get into IIoT industry to build data pipelines / analytic platforms.

I come from a mechanical engineering background.

Is it ok I send my resume to you? Thanks.

<comment><USER18> Sure.

</comment></comment></comment></comment></comment><comment><USER20> What have you built between finishing your Bootcamp and now?

<comment><AUTHOR> Several web applications, three of which are served. Some websites. A lot of coding challenges - some take a few hours, some days.

<comment><USER20> Good! It's worth pushing that as much as, maybe more than, the bootcamp.

Do you have a mentor? Someone in the industry who can give you feedback? There may be something simple that you can change

<comment><AUTHOR> I have a few people in my life who have been giving me advice. I've been given mostly minor resume changes, and then "you should find something soon". Most people I've gotten advice from sympathize because it is difficult getting the first job - but also tell me they are shocked that I haven't found anything yet. I'm always trying to change what I'm doing if it can help.

<comment><USER20> If you have been growing/honing your skill set, is your code available on github? Has anyone reviewed it for you?

One of the challenges with growing in isolation is the lack of feedback from peers.</comment></comment></comment></comment></comment>


How Carnegie Mellon Increased the Proportion of Women in Computer Science - <AUTHOR> http://www.hackingplay.com/carnegie-mellon-study-on-gender-and-computer-science <comment><USER2>
         A more inclusive admissions process

Isn't this basically saying "we're admitting more, less qualified females and fewer more qualified (relatively) males". I see this all the time in STEM related admissions and I'm not sure I like it. I'm for encouraging women in STEM and I love that lab culture is much more open and welcoming of women nowadays (of the programs I work with, many of them have >60% women) but there does come a point where we've built a whole new level of institutional discrimination. I know of many well qualified male applicants that were denied to make room for substantially less qualified female applicants all in the name of "equality". It's not equality if you're elevating one gender to artificially make things "equal" on paper.

<comment><USER3> You're presupposing that whatever admissions standard existed before was "neutral" and any deviation from that involves discrimination. But consider the specific changes made:

"In the past, admissions gave preference to people with lots of previous programming experience. The new criteria focused on potential by targeting students who showed science and math aptitude as well as non-academic strengths like leadership. The department made it explicit that no prior experience was required."

None of these measures seem to me to discriminate against men. Also, the enrollment gender ratio of 40-60 isn't that far off from the representation of women and men among high school students who score 750 on the SAT Math (CMU's interquartiles for SAT Math are 690-790), which is roughly 35-65.

MIT's experience evening out its gender ratio is illustrative. Unfortunately I can't find the link right now, but MIT found sometime in the 1990's that women were outperforming their admission predictors, based heavily on SAT scores, relative to men. So they rebalanced their admissions process to put less emphasis on SAT scores and more emphasis on high school GPAs.

Also, "equality" here is a more complex issue than you're making it out to be. Social conventions are self-perpetuating. You can't just remove the overt discrimination and assume things will shift back to a healthy equilibrium. Once you have bent a metal beam outside the elastic region you can't just remove the external force and wait for it to straighten itself out! Illustrative here is the legal industry's experience with fairly aggressive affirmative action for women in the 1970's and 1980's. Law firms went from being 95% men to being almost even, and that new equilibrium was self- perpetuating. The ratio stayed roughly equal even after the measures were phased out.

<comment><USER4> _You 're presupposing that whatever admissions standard existed before was "neutral" and any deviation from that involves discrimination._

No he isn't. The question is whether or not merit is the ultimate criteria for admissions. If gender is to be elevated above merit, all we've done is exchanged one form of discrimination for another.

We should be constantly scrutinizing how we judge merit and filter out discriminatory practices. The danger is of course that this is very hard, and it's much easier to weight our decisions in favor of those who have been discriminated against rather than strive for getting the judgement correct. To my heart, this is worse than the original inequality.

<comment><USER3> > The question is whether or not merit is the ultimate criteria for admissions

Again, you're begging the question. You're assuming that the original admission process measured "merit" in the first place. To me the original process measured exposure (people who had been exposed to programming before), not merit. The new process seems more meritorious if anything else (focusing more on people with general aptitude).

> The danger is of course that this is very hard, and it's much easier to > weight our decisions in favor of those who have been discriminated against > rather than strive for getting the judgement correct. To my heart, this is > worse than the original inequality.

No, it's not. It's not worse for a small number of marginal male candidates to be denied admission as a side-effect of a larger effort to counteract the impact of centuries of discrimination against women. Not even close. Not even a little bit. Not on any day of the week.

The fact that a few workers might get killed doesn't stop you from building the skyscraper...

<comment><USER5> > Again, you're begging the question. You're assuming that the original > admission process measured "merit" in the first place.

He (that is, yock) did not beg the question. I quote "If gender is to be elevated above merit, all we've done is exchanged one form of discrimination for another". Perhaps the old policy favored prior exposure in contrast to merit; now the new policy favors gender over merit. Perhaps aroch is assuming that the original process was merit based, but yock's argument in no way reflects or depends upon such an assumption.

>No, it's not. It's not worse for a small number of marginal male candidates to be denied admission as a side-effect of a larger effort to counteract the impact of centuries of discrimination against women. Not even close. Not even a little bit. Not on any day of the week.

The root of the problem, at least as far as I understand the Feminist Movement to be saying, is that an attitude of discrimination based upon factors which aren't inherently relevant to the issue at hand (such as choosing not to serve someone food just because of their skin color) is wrong, regardless of any history of transgressions.Vengeance is not justice. Besides, we don't actually know the net number of people who are unfairly (i.e. for reasons other than merit) prevented from entering CS as a result of this policy change.

> The fact that a few workers might get killed doesn't stop you from building > the skyscraper...

While not an unreasonable analogy regarding the trade-offs and risks of progress, it is not the most flattering of you. More than a few movie plots have villains who take more or less the same attitude. Of course, they were less scrupulous about prevent unnecessary worker deaths, especially when they "had it coming"... Full Disclosure: I worked at a plywood mill that, in the past, suffered a few too many workers deaths until the workers formed a union and OSHA stepped in.

</comment></comment></comment></comment></comment><comment><USER6> Does anyone know what are the 'serious consequences' we face if there aren't as many women studying computer science as men?

The male-domination unfortunately persisted since 2000 but the industry has still grown leaps and bounds beyond anyone's imagination. So what seems to be the problem?

<comment><USER7> The industry has grown, that doesn't mean it can't be improved.

I'm not sure where the term "serious consequences" came from, but I think it's pretty straight forward that a group comprised of similar individuals will come up with similar ideas. More women, means more diversity, which means differing ideas, which means more innovation.

Silicon Valley is already referred to as echo chamber.

<comment><USER8> IT exhibits behaviors that are hostile to (approximately, or at least) 51% of potential employees. Talk about excluding talent and insight.

</comment></comment></comment><comment><USER9> When I went to CMU, there were allegedly more "Dave"s than women in SCS.

<comment><USER10> That was only in one particular year IIRC.

</comment></comment><comment><USER11> The question that arises for me is how the changes affected the performance of the department, however that's measured (e.g. entrepreneurs, investment, placement, grants, average graduate salaries, etc.).

The outcome, good or bad, wouldn't necessarily reflect on the changed proportion of women; it might just as well indicate something about the particular measures they took to achieve it. For instance, they shifted focus more to potential than to prior experience; were their markers for potential the right ones? Were leadership, math, and science emphases balanced properly?

Getting more women into the program is a great start, but do they go on to be successful? Is leading with gender the right way to do it?

</comment><comment><USER12> I wish the author would "do the math": of the 42% female freshman class of 2004 entering in 2000 (which at CMU for this major requires a direct application for one of 135 (last time I checked) seats), 29% failed to graduate in the major within 4 years.

Now, that might be partly an artifact of the dot com crash convincing a subset to transfer to another major, but it otherwise looks _very_ bad; if that happened at MIT for any reason other than transferring out (which I can check on if desired, the department _did_ lose more than half its enrollment during this period as measured by freshman declaring a major), there would be serious hell to pay.

<comment><USER13> Or a lot of men transferred/changed majors _into_ CS, whereas very few women did—which wouldn't be too surprising since the outreach was aimed at freshmen.

Definitely an oversight in the article either way.

<comment><USER12> I get the strong impression from many sources that transferring into that department is very hard, just like it has its own admissions process (unique among the top 4 CS schools (Stanford, UC Berkeley, CMU and MIT)).

</comment></comment></comment><comment><USER14> [https://en.wikipedia.org/wiki/Positive_discrimination](https://en.wikipedia.org/wiki/Positive_discrimination)

</comment><comment><USER15> HN ddos seems to be at work.

Here is the cached version.

[http://webcache.googleusercontent.com/search?q=cache:TGYuw9a...](http://webcache.googleusercontent.com/search?q=cache:TGYuw9a2Ij4J:www.cs.cmu.edu/afs/cs/project/gendergap/www/+&cd=1&hl=en&ct=clnk&gl=us&client=firefox-a)

</comment><comment><USER16> Awesome work! I wonder if the effect will be long lasting.</comment>


A Solution to CPU-intensive Tasks in IO Loops - <AUTHOR> http://williamedwardscoder.tumblr.com/post/17112393354/a-solution-to-cpu-intensive-tasks-in-io-loops <comment><USER2> _A watchdog thread can be running every n milliseconds. This is very low load on the system. [...] If the loop has not moved onwards since the last sample or two it can be deemed stalled. [...] But you can move the other events in the affected loop to a fresh thread; you can go sideways when you've detected a blocking task._

Congratulations, you just invented (a very inefficient version of) pre-emptive multitasking.

<comment><USER3> (article author)

Spot on except for the bit about being inefficient; presumed performance is very much the thing that makes the complexity worth it.

<comment><USER4> What are your thoughts on the disruptor pattern? It seems to me to be something that tries to eat the cake of multithreading while still having a lot of the simplicity of eventing.

( <https://code.google.com/p/disruptor/> )

<comment><USER5> The disruptor is just a very efficient event loop. It doesn't prevent you from blocking the handling thread.

<comment><USER4> True, if you do blocking stuff in the handler instead of in the worker threads.

</comment></comment></comment></comment></comment><comment><USER6> The final question/answer is resolved around,

 _Hellepoll has the concept of a task tree - tasks can be subtasks of others, and this simplifies tidy-up when one aborts. This explicit linking of tasks and callbacks can be used to determine what gets migrated when a task blocks, to ensure that the cascade of events associated with a request do not themselves get split, but fire in the originating thread and in the right order even if at some point the thread triggers the blocking watchdog._

He asks, in closing,

 _I am not a node.js user but I wonder if this approach could be transparent in node and not actually break any of the API contract there?_

This is the work being done on 0.8, with domains and isolates. It is explicitly to allow this kind of task/work parenting to be made: [https://groups.google.com/forum/#!msg/nodejs/eVBOYiI_O_A/-mA...](https://groups.google.com/forum/#!msg/nodejs/eVBOYiI_O_A/-mACjP- CHtsJ)

<comment><USER7> Isolates have been removed.

[http://groups.google.com/group/nodejs/browse_thread/thread/c...](http://groups.google.com/group/nodejs/browse_thread/thread/ccbceea36f76857d/6b8b8a487d2ab817)

</comment></comment><comment><USER8> Why don't you just lock each connection handler to one thread at a time and dispatch events on a thread pool ? That way connection level events are always synchronous, but event handlers are spread over the thread pool, you get optimal load balancing because events fill the pool (no processes) and thread pool can use it's own logic to grow if one channel handler used blocking IO and is blocking the a pool thread.

This is pretty much what netty does with OrderedMemoryAwareThreadPoolExecutor ?

[http://netty.io/docs/stable/api/org/jboss/netty/handler/exec...](http://netty.io/docs/stable/api/org/jboss/netty/handler/execution/OrderedMemoryAwareThreadPoolExecutor.html)

               </comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>-> Timeline </comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>>

     Thread X: --- Channel A (Event A1) --.   .-- Channel B (Event B2) --- Channel B (Event B3) --->
                                          \ /
                                           X
                                          / \
     Thread Y: --- Channel B (Event B1) --'   '-- Channel A (Event A2) --- Channel A (Event A3) --->

<comment><USER3> It does have advantages from code-organisation, but not from all-out performance.

One of the complexities of this is ensuring that a selector doesn't return a handle as being read/writable when another thread is still executing a previous trigger.

</comment></comment><comment><USER9> Check out lthread_compute_begin() and lthread_compute_end() functions. It allows you to block inside a coroutine without affecting other coroutines. (example at the end of the page)

I prefer coroutines over IO loops because they result in simpler and cleaner code. And with lthread_compute feature, you get the advantages of real threads + the lightness of coroutines.

<https://github.com/halayli/lthread>

</comment><comment><USER6> _So the server has multiple threads. If a handler blocks in one thread, another thread can pick up incoming requests. So far, so good. In return for needing to carefully synchronise access to shared state, we get to efficiently share that state (even if its just a hot cache of secure session cookies - things you don't want to be validating every incoming request etc) between many threads and multiplex incoming requests between them._

Sharing state is bad, m-kay? Allow Node to do it's thing ( _So the server has multiple threads. If a handler blocks in one thread, another thread can pick up incoming requests._ ).

It's aggrieving that this model requires any given handler to be able to service any given request, tbh. Shared state is a folly. A serializing token scheme might work well: if a request fails to find the data local to it's core, it passes a serializing token of the request around the ring of handlers, asking either a, for the required data, or b, take the token and run the data.

Serializing tokens are a concept Matt Dillon spoke of often at the inception of DragonflyBSD; much like locks, except that ownership is not relinquished, someone always hold the token, but instead phase changed, yielded to another. it's a responsive less a stateful ownership.

Sadly that token ownership negotiation requires some kind of interruption in the currently-occupied worker thread: if that thread could be interrupted to do other things, this serializing token negotiation might be an acceptable argument (ending with a) no, i'm busy using that set, b) sorry, i had the data and was free, so i completed it, or c) here's the data, i'm busy and not using it). But it does still require thread-interruption. If the worker thread can yield frequently and resume, finding the answer might be a small enough invisible enough calculation to help plaster over there being interruptions altogether; that's essentially the hope. The result would be the mating of green threading to with location aware latency aware multi-processing.

<comment><USER3> Tokens are very interesting.

A key thing I've learned on my travels is how critical shared state is to performance.

At its crudest, lots of web frameworks read a request, wait to receive it all, dispatch it to a handler, gather all the output from the handler, buffered, and then write it.

This is great from the code organization perspective.

Hellepoll is so very much faster because it streams the requests.

Without a green threading approach, this necessarily makes the code slightly uglier, and much more for the coder to juggle.

Of course there are at least three layers in an event loop framework:

* the programmer making the event loop itself who has to juggle everything;

* the prorgammer making the various protocol handlers who has to understand everything too but fits the framework conventions rather than creates them;

* finally the programmer who is using the framework who gets to use the utility and decoration and wrappings made by the protocol programmer and who hopefully doesn't have to understand in anything but the broadest terms the way the framework ticks.

I'm a big fan of Clojure and STM, but that's correctness over performance. I would hope whoever makes some other platform puts as much effort into hiding and protecting the inner shared state that is so critical to performance.

</comment></comment><comment><USER10> This is almost exactly what ASP.NET and IIS do in recent iterations.

[http://blogs.msdn.com/b/tmarq/archive/2007/07/21/asp-net- thr...](http://blogs.msdn.com/b/tmarq/archive/2007/07/21/asp-net-thread-usage- on-iis-7-0-and-6-0.aspx)

<comment><USER6> I like how they admit right out that they pass off requests to a ThreadPool and that it's non-optimal for application performance.

 _Similar to IIS 6.0 (classic mode, a.k.a. ISAPI mode), the request is still handed over to ASP.NET on an IIS I/O thread. And ASP.NET immediately posts the request to the CLR Threadpool and returns pending. We found this thread switch was still necessary to maintain optimal performance for static file requests._

Author goes on to say it was done because static file serving is blocking, which ate away too heavily at a unified threadpool between IIS and ASP.NET.

I'd call out SEDA here again. Passing work items around between executors is in-advisable. That said, the typical problem to "you need a responsive request handler" is "offload the work item asap and yield," and done well there's many many right ways for that effort to look like SEDA.

<comment><USER10> It's a pretty good trade-off with a heterogeneous application workload.

There is a "to the metal" mode in ASP.NET/IIS now, mentioned in that article, that lets you use the IOCP thread directly in your applications and avoid that context switch. But, of course, if you do blocking things there it will completely block your web server.

</comment></comment></comment><comment><USER11> Doesn't erlang effectively do this, allowing its processes to only execute a certain amount of vm instructions before allowing a switch to another process?

<comment><USER3> Yes, it is one of the neat languages with the green threads that I alluded to towards the end of the article.

Your description also fits CPython, though ;)</comment></comment>


Responsive Web Design with DevTools' Device Mode - <AUTHOR> http://blog.chromium.org/2014/09/responsive-web-design-with-devtools.html

<comment><USER2> Been using this for a while now. One very annoying thing is the weird caching behaviour of the settings: If I switch into emulation mode on tab #1 and then open the dev tools in tab #2, the second tab will also emulate the same screen resolution. However, when I reset the emulation in tab #2, tab #1 will not be changed. Is there any sense in this behaviour?

<comment> at-fates-hands My other beef with this is not being able to close the tools in order to see the bottom of the screen. This something you can do in Firefox Aurora. You can open the dev tools, hit the emulator tab, and the responsive window runs on its own you so can see the whole window.

The one thing this does really well is the touch events. Firefox dev tools have it too, but it doesn't seem to work as well as on Chrome.

<comment><USER3> The "Fit" checkbox will scale the viewport you've set to fit within the available space. It's actually awesome to have regardless of you needing to emulate a device or not. And yeah, right-docked tools work great here. We've recently changed the default to that. :)

</comment></comment></comment><comment><USER4> Hasnt this been in Chrome Canary for forever? Not being a smartass but I don't see whats new here. Maybe I need a coffee.

<comment><USER5> Yep I've been using Canary for at least 6 months and It's had it. Moving it to mainline chrome is a big deal however, a lot of people don't use Canary.

</comment></comment><comment><USER6> The throttling combined with disabling the cache make this a really handy tool for testing 'mobile'. I agree with the emulation comments — this doesn't replace an emulator and it doesn't replace real device testing.

This should be about getting everything working across a variety of viewports and ensuring a fast experience which I think it does a great job at.

<comment><USER7> I am very happy to see the throttling.

</comment></comment><comment><USER8> Firefox has had this feature for a long time...

<comment><USER3> Firefox is doing awesome work and had something similar in place a while ago. But there are some significant differences between these two.

* devicePixelRatio emulation. If you have density-dependent assets (srcset/image-set()), it'll retrieve those. You can also pinch-zoom and it'll behave like it does on the device, it's easy to see that low dpi assets are not sharp.

* viewport emulation. Whatever values you have in your <meta viewport> we honor and apply the same way.

* Network throttling, the interactive view of media queries, device presets, UA spoofing. Geolocation and accelerometer sensor emulations.

That said, Firefox has an easy screenshot button that we like a lot and will add something similar. So you can get a png of your site, but within the actual device. Maybe a nice shadow underneath. Something to drop into an email and send around. :)

<comment><USER9> Do you know when the new iPhones will be added to the devices menu? Or whether we will be able to save devices and curate the list?

I'd like to add 1080p and 720p screens into the list for some tv screen sized apps I'm building, and to be able to star some of the more common devices while demoting some of the less common ones.

<comment><USER3> We'll add the new iPhones as soon as we confirm their metrics and UA; should be this week.

You can already save custom presets. A better UI is coming, but right now. click the "…" icon on the right to expand the full emulation menu. Then set your UA or device metrics and click Save As. [http://gyazo.com/fa0ae2fe62482e372989f3099d72bfc6](http://gyazo.com/fa0ae2fe62482e372989f3099d72bfc6)

</comment></comment></comment></comment><comment><USER10> This has been out for a while on the Chrome Canary release channel (the nightly build).

It's really a great tool, and helps a ton with responsive and mobile development. Kudos to the Chrome team for finally pushing this to the stable release.

</comment><comment><USER11> Is the network bandwidth limiting functionality a common feature in browser dev tools?

<comment><USER3> Not as far as I know. This is the first time we've been able to do per-tab throttling. Up until now tools like Fiddler, Charles Proxy or Link Conditioner throttle the entire connection. This now lets us take an entire tab offline (to test ServiceWorker or AppCache) and your other tabs are still good.

</comment></comment><comment><USER12> I hope this works better than the current way. Emulating a device on Chrome isnt really accurate. There are more differences than similarities when I go and test it on an actual device.

<comment><USER13> Of course, nothing beats testing a site on the real thing (which you should do anyway). However, the Chrome tools are a big step up in development from just using the regular desktop browser. At least you can easily switch resolutions and emulate touch events.

<comment><USER12> Well management doesnt want outside devices on their network so its hard to test an internal app mean for technicians on a VPN.

</comment></comment></comment><comment><USER14> And... time to update chrome.

</comment><comment><USER15> Freaking awesome!

</comment><comment><USER16> I rather use Monochrome [http://lucianmarin.com/monochrome/](http://lucianmarin.com/monochrome/) than that. Why? Because I get the device's "feeling" right there on my desktop.</comment>


Ask HN: Websites and contents for Kids? - <AUTHOR> I am tired of showing my kids (3-5 years) youtube videos of animals, blippi, Kids TV and so on. Despite being addictive and informative, I somehow (strongly) feel video consumption may dumb the kids down.
I guess, many of us have worked on, and/or explored some of the web contents for own kids during the Covid-19 stay home time.
What are some of the interactive, informative, inspiring, educational, funny web sites, games, contents that you have come across and tried for your kids?
Please share. :) <comment><USER2> Khan academy kids is one of the goto things we are using, they also really like tuxracer. Generally I try to limit screen time and try many offline games (I can recommend moebius noodles and avoid hard work has books for mathematically inspired games).

<comment><USER3> +1 for Khan Academy kids. My 6 year old is not a native English speaker, but his English (+maths) really improved after using it. He also learned some stuff about animals and a few other things. It's really well made. It has some gamification elements that are very sweet and keep him motivated. I wish there something even close for other languages.

</comment></comment><comment><USER4> [https://www.splashlearn.com/](https://www.splashlearn.com/) has some good math games</comment>


Google Zeitgeist 2011 has some awesome 3D HTML5 Diagrams - <AUTHOR> http://www.googlezeitgeist.com/en/top-lists/global/google-maps-fastest-rising

<comment><USER2> I still can't really interpret them easily though even after looking at them on separate occasions, they still don't make any sense to me without really thinking.

I guess I'd rather see a line graph for each in a different colour with time on the x-axis - as it is I can't get it in my head which column is which, and it's really hard to get a feeling for how they change in relationship to each other over time.

Also, they aren't really that HTML5y, they are made up from a sprite sheet: [http://www.googlezeitgeist.com/img/graphs/toplists/spriteshe...](http://www.googlezeitgeist.com/img/graphs/toplists/spritesheet.png), so aren't being rendered using CSS transforms, canvas or SVG. Also, the developer hasn't rounded things properly, so you get things like heights being set as 147.75700934579436px. It's not exactly a problem, but this could have been handled in the JS.

Other than that though, they do look nice.

</comment><comment><USER3> Technically impressive, but horrible at being charts. The depth and angle make it very difficult to compare heights.

</comment><comment><USER4> Awesome technically. Horrible in design.

</comment><comment><USER5> Seems not working on iPad</comment>


Richard Feynman, sexism and changing perceptions of a scientific icon (2014) - <AUTHOR> http://blogs.scientificamerican.com/the-curious-wavefunction/richard-feynman-sexism-and-changing-perceptions-of-a-scientific-icon/ <comment><USER2> It's clear that the guy who wrote this never read "Surely You're Joking, Mr. Feynman!". Nor did the author of the article he links to.

Pure drivel.</comment>