NASA Buys 12 Seats On Soyuz - <AUTHOR> http://www.nasa.gov/home/hqnews/2011/mar/HQ_C11-013_Soyuz_Contract.html

<comment><USER3> It's easy to see this as tragic or humiliating, but I think if you look deeper the current situation is actually quite exciting. It's true that the US has stopped building spaceships and has stopped going to space on its own, but this is very very temporary. The private companies (specifically SpaceX) are picking up the slack fast and should be able to do full ISS resupply missions within a few years.

And I'd definitely bet that the NASA will be the first organization to build the epically huge rockets, the heavy lifters to take people to asteroids and eventually to Mars. They'll take longer than any of us want to wait, but they'll do it properly and safely and it'll be magical.

Here's to hoping the Russians or Chinese decide they can beat us to Mars. That'd do the trick nicely, get the competition going and the excitement in the air.

<comment><USER4> Yes, it would get the competition going again, but I think it may be China that have the determination and drive to pull that one off (if they keep to their schedule). Although the US has been known to pull a few rabbits out of their hats from time to time. But perhaps not as willing to take risks any more and that may be what is needed.

<comment><USER5> Sadly I agree with you. The loss of a couple shuttles was a very public event and I think that has taken some steam out of the drive to push the edge. Exploration is by its nature risky and you just can't make it completely safe. All the money and time you spend trying to eliminate (not reduce, eliminate) the risk factor only destroys budgets and delays advancement.

I use the analogy of ships of explorers/settlers heading for the new world. Some ships never made it, some did but the settlements never took. Today we cross the oceans almost without thinking about it. Space is no different, just on a grander scale. But when those early settlers board the ships they will be taking the risk too. If our ancestors didn't do it we wouldn't have explored the world until the late 1900's. Nor would we have learned to build reliable ships as quickly.

<comment><USER6> That's the risk - you make an unnecessary manned vehicle to launch satellites because you can get funding for it being 'our brave heroic astronauts' then when it goes wrong the same publicity comes back and bites you.

Exploration of the West wouldn't have been possible if Nasa had been in charge: [http://www.spacefuture.com/vehicles/how_the_west_wasnt_won_n...](http://www.spacefuture.com/vehicles/how_the_west_wasnt_won_nafa.shtml)

<comment><USER7> Or, to put it bluntly, if you are not killing people, you are not pushing hard enough.

I may be a weird person, but since when strapping yourself to a tank, the size of a building, filled with high explosives and riding it to orbit could be expected to be a safe thing?

If astronauts wanted safety, they'd be accountants.

<comment><USER6> The problem is that Nasa don't seem to have a reason for having astronauts there - other than without the astronauts there would be no interest and no Nasa.

You could make it safer by replacing the Shuttle with an Apollo era capsule and sticking it on the front of every commercial ArianeV / Atlas IV launch. Wouldn't be any point in having the man there but it would be safer manned spaceflight.

<comment><USER7> There is not much reason to have astronauts up there other than to have astronauts up there. You can do a lot of science with unmanned probes, you can launch satellites with unmanned rockets.

OTOH, you can't repair the Hubble without meatware close to it. And no machine can tell you an inspiring story of adventure and exploration.

And that's what NASA should focus on. Returning scientific data is important, of course, but stories of exploration are what inspire us.

<comment><USER6> OTOH Hubble cost 3x as much to build because it had to be serviceable by the Shuttle and it's scientific use was greatly compromised by the orbit it had to be in. Each service mission cost (in real $) as much as building a non-shuttle HST.

Compared to the Herschel space telescope I don't see Hubble as a great advert for manned space flight.

<comment><USER7> You don't need a shuttle to repair a Hubble. Hubble's orbit was limited to what a shuttle could reach and the cost of repairing it compounded by the operational costs of the shuttle.

You could send a repair crew on an expendable vehicle or, even better, launch a tow that could bring the satellite being serviced to the ISS and reinsert it into any desired orbit. The Hubble service missions greatly extended its useful life. I doubt Herschel will last as long.

<comment><USER6> Herschel is cryogenic so can't last anyway.

Hubble was in a particularly bad orbit specifically because of the shuttle but any manned servicing would still require it to be in LEO, there is no way you are servicing something at the Lagrange point.

A lot of Hubble's cost and problems were also the result of Nasa in the 80s - things have got a lot better.

The point is more that a series of disposable satellites, especially sharing common parts, is much cheaper than a single upgradable one. Otherwise we would make other satellites (GPS, comms etc) shuttle rated.

<comment><USER7> > Herschel is cryogenic so can't last anyway.

Couldn't we ship a load of coolant?

> there is no way you are servicing something at the Lagrange point.

It depends on what Lagrange point we are talking about. It can be easier than a trip to the Moon or more or less like a trip to Mars. Anyway, you could tow it to a service orbit humans can reach and then boost it back to its original (or any other convenient) orbit. Herschel is pretty far to receive a human crew, but it can be towed to a more manageable orbit.

I like the idea of cheap satellites with high commonality, but I also like being able to upgrade and repurpose them. After all, the worst part of the work - launching them - was already done, and the cheaper each satellite gets, the more the launch weights in its overall costs.

<comment><USER6> Not allowed to fly cryogens on the shuttle as a safety feature. You also aren't allowed to carry propellant or use propellant on serviceable satellites, that was one of the design problems with the HST + shuttle.

It's not a shuttle specific thing it's the problem of anything man rated - <USER2> can't put anything dangerous onboard.

<comment><USER7> Then the shuttle is the problem. It's like saying crossing the river is impossible because you are required to use a school bus as a vehicle.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> SpaceX looks like it may do a great job in the currently envisioned outside contactor role. The Constellation program under Mike Griffin would have done a great job, but now that's billions of dollars wasted. Keeping the shuttles going would have done a good job in the interim at least, but now the upcoming, indefinitely long gap in national manned spaceflight capability threatens to erode the workforce. Having NASA's programs totally reworked every time there's a new president, on timescales smaller than those of developing new spaceflight capabilities and programs, has been a disastrous recipe for waste. Yet, it's hard to knock its record of accomplishment in the 60's when it had a clear mandate that was kept stable for long enough. If only it could be shielded from the whims of political leaders.

</comment><comment><USER9> Outsourcing: The way large american businesses do business when it requires innovation.

</comment><comment><USER6> I thought that they weren't allowed to because Russia is an axis of evil / evil empire / not in the coalition of the willing/ eats peas with their knife - or whatever the term of the day is.

<comment><USER6> Apparently they have a special exemption. It's illegal for dell to let somebody in Russia download a driver but it's OK for the US government to pay for Russian rocket launches.</comment></comment>


NASA Captures New Images of Large Asteroid Passing Earth - <AUTHOR> http://www.nasa.gov/mission_pages/asteroids/news/yu55-20111107.html

<comment><USER2> from slashdot:

 _The article explains why the asteroid looks like a pixelated sprite taken from the era of Monkey Island.

For those that didn't want to bother reading both articles and just wanted to have a look at the image but then thought "WTF" after having a look at it:

"The individual pulses can be timed very accurately as well, so that the shape of the asteroid can be determined, too. If there is a bump on the asteroid, like a hill, then a pulse hitting that won't travel quite as far as a pulse that hits a crater. It gets back sooner, and this can be measured. The spatial resolution of this method at the distance of YU 55 will be about 4 meters, so they'll be able to make an image that's about 100 pixels across of it."_

<comment><USER3> I'm not really sure why that needs an explanation. All our imaging technologies have a certain maximum resolution. The asteroid is small and far away, ergo we are not going to get many pixels.

<comment><USER4> I agree, about resolution.

But, people looking at the image may not understand it is a radar image, not an optical image.

People might think that the highlights on the top of the image are sunlight, and the dark area below is shadow, but of course they're not, because radar doesn't care about sunlight.

In fact, I'm not sure how they pseudo-colored the images. In vanilla radar imaging, you get the highest return off surfaces that are perpendicular to line of sight (generally speaking). Here's a (model) plane radar image: [http://www.fhr.fraunhofer.de/fhr/site/drucken_c336_f4_en.htm...](http://www.fhr.fraunhofer.de/fhr/site/drucken_c336_f4_en.html) A lot of the radar imaging work is classified.

</comment></comment></comment><comment><USER5> I feel like I'm about to ask an incredibly dumb question, but why does the radar image show such a pronounced crescent shape on the asteroid? What's causing the radar "shadow"?

<comment><USER6> It's possible that those images show a side view generated from the radar response, rather than a front view. The pixel intensity could be sample intensity, so the more reflective surfaces there are at a distance Y, angle X, the brighter the pixel at (X, Y) will be. Since the back of the asteroid is shadowed by the front of the asteroid, the radar provides an image of the side facing the radar only.

This is how I generate side and top view images from Kinect data in my lighting automation software, anyway (Shameless plug: see <https://github.com/nitrogenlogic/kinradar> for an ancient ASCII art version you can play with, or <http://www.nitrogenlogic.com/> for the real thing). I don't actually know how the NASA images were produced.

</comment></comment><comment><USER7> This asteroid has a page on WikiPedia, <http://en.wikipedia.org/wiki/2005_YU55>

_"On 19 January 2029, 2005 YU55 will pass about 0.0023 AU (340,000 km; 210,000 mi) from Venus. The close approach to Venus in 2029 will determine how close the asteroid will pass the Earth in 2041."_

</comment><comment><USER8> Additional information from <http://neo.jpl.nasa.gov/news/news171.html> :

\- the asteroid is 400 meters in size

\- it's a "C-type" asteroid (<http://en.wikipedia.org/wiki/C-type_asteroid>)

</comment><comment><USER9> I think they just took a screenshot of some video game from the 90s. Duke Nukem? Doom?

Seriously does this kind of image do anything for the scientists or is this just PR?

<comment><USER4> Tone is annoying but the question is good. Here's some background on why this is being done:

<http://echo.jpl.nasa.gov/introduction.html>

Briefly: asteroid geology, better orbit prediction through understanding of mass distribution, modeling for evolution of solar system studies.

There would have to be a rationale, because time on the telescopes is limited.</comment></comment>


Writing Boot Sector Code (2007) - <AUTHOR> https://susam.in/blog/writing-boot-sector-code/ <comment><USER2> _At the time of this writing, most such code examples available on the web were meant for the Netwide Assembler (NASM). Very little material was available that could be tried with the readily available GNU tools like the GNU assembler (as)_

That's largely because no one wants to use GNU/AT&T assembler syntax. In the official Intel syntax, the important 4 lines of code would be more like

        mov ax, 0b800h  ; ax = b800
        mov ds, ax      ; ds = ax
        mov byte ptr [0], 'A' ; ds:[0] = 'A'
        mov byte ptr [1], 1eh ; ds:[1] = 1e

...and I immediately feel compelled to optimise it to (186+)

        push 0b800h
        pop ds
        mov word ptr [0], 1e41h

Also, especially with newer CPUs and on a laptop, it's a good idea to put a HLT in the infinite loop, like so:

        idle:
            hlt
            jmp idle

A halt causes the CPU to spend most of the time waiting for an interrupt, instead of spinning in a tight loop and wasting far more power than necessary.

<comment><USER3> > no one wants to use GNU/AT&T assembler syntax

I am the one who enjoyed using AT&T syntax. It remainded me old-days PDP-11 assembler.

</comment></comment><comment><USER4> This is an obsolete way to do that. In UEFI you don't need to play with assembly, look:

[https://www.rodsbooks.com/efi- programming/hello.html](https://www.rodsbooks.com/efi-programming/hello.html)

<comment><USER5> I agree UEFI is the way to go. Just curious, how do people debug their programs though? Older non-pc systems had really decent debuggers built in.

<comment><USER4> There are couple ways. You can compile UEFI for QEMU (OVMF package or possibly compile coreboot with Tianocore payload). Another way is just output. UEFI gives you shell, so you can see output and in UEFI it's much easier to deal with this stuff.

If you use coreboot and libpayload it's much easier because it offers you built-in GDB server you can connect to via serial port.

</comment></comment></comment><comment> non-entity Boot sector programming has always seemed like ln of the cooler ways to play with writing lower level code,but am I wrong to assume it won't work on systems with UEFI?

<comment><USER6> That's correct. UEFI firmware will execute a PE image (the same format that Windows executables use) on a FAT32 file system, and can access UEFI services to execute a kernel.

EDIT: as pointed out by a sibling comment, the UEFI firmware may support a CSM (compatibility support module) that can boot a legacy BIOS loader.</comment></comment>


Verizon, AT&T, Comcast Say They Will Not Sell Customer Browsing Histories - <AUTHOR> https://tech.slashdot.org/story/17/03/31/1938218/verizon-att-comcast-say-they-will-not-sell-customer-browsing-histories <comment><USER2> They never wanted to sell this data -- it's far too valuable. They merely wanted US gov't approval to use it in any possible way they choose to, which they have not had previously.

E.g. [https://www.eff.org/deeplinks/2017/03/first-horseman- privacy...](https://www.eff.org/deeplinks/2017/03/first-horseman-privacy- apocalypse-has-already-arrived-verizon-announces-plans)</comment>


A Tale of Two Sisters - <AUTHOR> https://www.psychologytoday.com/articles/201511/tale-two-sisters <comment><AUTHOR> I love this article. Not only is the story of a champion gymnast born without legs fascinating, but the fact that the protagonist happens to be gold medalist Dominique Moceanu's really adds an extra dimension. Then, you're hit with some really great context regarding twin studies in psychology.</comment>


T-Mobile used a 5G-connected robot to give someone a tattoo - <AUTHOR> https://www.cnet.com/news/t-mobile-used-a-5g-connected-robot-to-give-someone-a-tattoo/ <comment><USER2> [https://en.wikipedia.org/wiki/Idiocracy](https://en.wikipedia.org/wiki/Idiocracy)

You have selected "Not Sure".</comment>


Ask HN: Why small businesses and some companies shut down? - <AUTHOR> They don't have cash reserve or what ? I don't understand <comment><USER2> Many small businesses do operate on thin margins and have little cash reserves. Most restaurants, for instance, won't be able to pay their rent and salaries with no customers in the dining room. Heck, many large and very profitable businesses don't have a lot of cash reserve either, because of shareholder demands. It goes into stock buybacks, dividends, and other investments. They're not holding anything for bad times. Which means, when this is over, they'll get eaten by the ones that do.</comment>


Zoom admits some calls were routed through China by mistake - <AUTHOR> https://techcrunch.com/2020/04/03/zoom-calls-routed-china/ <comment><USER2> So more proof the company cant be trusted? Check, and Thanks!</comment>


Leak of Microsoft Salaries Shows Fight for Higher Compensation - <AUTHOR> https://onezero.medium.com/leak-of-microsoft-salaries-shows-fight-for-higher-compensation-3010c589b41e <comment><USER2> It seems like a strange premise to share salaries on the basis that if we both have the same experience and work at the same paygrade, we are worth the same amount of money - or even for me to know the range so I know whether to ask for a raise.

The underlying problem is still that it is very hard to accurately measure someone's worth as a developer (or manager for that matter) and that there are many who are "experienced" who have not improved in any meaningful way over time and that's why they might not get a rise or a promotion. Pay grades are quite arbitrary and personally, I don't think that a lot of these "super coders" are worth as much as they think unless they also do management (except perhaps for really niche skillsets).

<comment><USER3> At the engineering departments of most large tech companies including Microsoft, people at the same pay grade are _supposed_ to be making about the same amount of money. The idea is that if you deserve a raise, you deserve a promotion too. So your job title and your salary aren't like two different things.

Differences arise for many reasons. The most common in my experience is people who negotiate a higher starting salary. You don't want to just give them more money forever so every year they get their salary tweaked back a bit toward the average for their level. There are also some bonuses that operate outside the normal system.

<comment><USER4> > At the engineering departments of most large tech companies including > Microsoft, people at the same pay grade are supposed to be making about the > same amount of money. The idea is that if you deserve a raise, you deserve a > promotion too. So your job title and your salary aren't like two different > things.

This is not true. At FAANG companies and Microsoft, the total compensation bands for levels at or above "Senior SWE", "Senior SDE" are really wide. This is by design, and its widely communicated that this is the case. Most of the variation is in equity grants and bonus, rather than salary - if your management chain recognizes that you made a huge impact last year, you'll probably get huge equity refreshes and a giant bonus, although your salary might not rise by much.

Promotions are a separate thing, because promotion beyond "Senior" implies a change to your role and expectations (more leadership, more "people coordination" even if you're not a people manager, etc.) It's totally possible that you're making an amazing impact in your current role in a way that merits additional compensation, but you're not meeting all the criteria for the next step on the ladder. That's fine - you're still going to get paid a huge amount more than the average for your level.

<comment><USER5> > This is not true. At FAANG companies and Microsoft, the total compensation > bands for levels at or above "Senior SWE", "Senior SDE" are really wide.

Ehh, not really. Up to the director level (well above senior), if you give me someone's level and last two performance evals, I can probably tell you their TC to within 5%. There's certainly a wide variance within senior and above levels, but it's not as bonus based as you suggest, and sustained high performance will often (although not always) lead to promotions.

It's not like there are two senior SWEs with one making 2x what the other does. At least not at Amazon, M, or G. Since netflix doesn't have levels, that's possible, and my understanding is facebook has huge bonuses on occasion, but I'm also pretty sure you'll just end up getting promoted if you get too many of those.

<comment><USER6> helllll no this is 100% not true. I worked at Google, and there is an internal spreadsheet with compensation that is contributed to on a voluntary basis, and has n=1000+ for many levels. The variance is far greater than 5%.

*for Googlers, you can find this at go/salarycomp or something like that, I can't remember

<comment><USER5> I'm well aware of it. It doesn't include performance ratings. Which I mentioned ;)

</comment></comment></comment></comment></comment></comment><comment><USER4> If you're at a big company and want a significant compensation increase outside of what you'd get from the normal performance review process, the _only_ way to do it is to interview elsewhere and get a better offer.

If you succeed in getting a better offer, you can take it to your management chain and ask them to match it. In my colleagues' experience, they frequently will match it, but not always. In particular, if there are certain firms that have a reputation for "overpaying" for engineers (e.g. Uber in 2016-2017), there might be a blanket policy of "we don't match offers from firm X".

If your offer gets matched, all is well - enjoy the money, but don't expect big raises through the normal review process for a while, since you're probably at or above the expected pay band for your level.

If it doesn't get matched, you're in a tough spot, because your manager may view you as a "lame duck" who is interviewing elsewhere and liable to leave. If you choose to decline the offer and stay and your company, then handling this perception will be very important.

A side benefit to interviewing around and receiving offers - you may realize that your aren't as underpaid as you may have thought. I've had a few colleagues who were unhappy about their pay and chose to interview around, but were surprised to find that the only higher offers they could get were at firms with a much more difficult work/life balance. They realized that their current arrangement was actually pretty good!

Anyway, all this is to say that exercises like this don't have any effect unless people are actually willing to walk. Microsoft already pays for compensation survey data from across the industry - they know how much people are paid, and have set salary bands where they think they're competitive. Unless you're willing to take another offer somewhere else, complaining about comp just hurts morale on your team and makes people less happy.

<comment><USER7> If you get another offer, bring it to your employer and they don't match it or at the very least come up with a counter you both agree to, then you need to quit and take the other offer. That's the risk of this move. As you say, you will be viewed as a lame duck at the very least and possibly even get fired. Even if your company agrees to match, they may see you that way and have plans for you to leave as soon as you transfer all your knowledge. This is a power play and it can backfire so it's only advisable to do this if you're ready to accept the other offer and move.

</comment></comment><comment><USER8> I lived in Finland of a while. Tax declarations are public information there and you can find out the salary of anyone pretty easily. IMHO that kind of transparency is actually a good thing to have and helps prevent unfair practices where e.g. men get more than women or nepotism gets you access to better salaries.

<comment><USER9> > Tax declarations are public information

What was historical reason for this? I see it as a privacy invasion. Is it a case for GDPR?

<comment><USER10> The underlying reason is that we have a default that says that all documents produced by the different levels of government is public by default. This allows journalists and other investigators to expose bad stuff that is going on. Also note that just because something nominally is public, it doesn't automatically mean it is easily accessible. It can mean you have to go somewhere, submit forms and pay for the induced work load to produce the documents.

Things can still be made secret if there are actual reasons to do that, like privacy reasons or security reasons etc. Taxes have traditionally not been counted into the things that require privacy here in Sweden.

</comment></comment></comment><comment><USER11> "And there's really no upside for individuals to upload and share their own private salary information, other than contributing to a grander vision of pay equality."

What a weird way for the author to end the article. Does there need to be a reason beyond pay equality? I benefit by having an understanding of the bands at a company. That only works if many people see value in this data and share theirs.

<comment><USER12> Yes, leverage is one of the most important parts of salary negotiation. If you know what a target is (i.e. what other people make), you are in a much stronger position.

For example, let's say you are just starting out, or are a couple of years in. You don't really understand how the business and hiring side works, you just want a programming job at a well known company. You might settle for 80%, 75%, 50% of what the market truly values you, because you don't really know what you can get. That's the important piece. It's hard to know your market value when you are a single data point while the hiring companies have entire teams analyzing the market for them.

This also compounds. All your raises over your entire tenure at a company are based on your existing salary. They typically won't think, "wow, we're only paying him $50k, we'd better bring it up to market rates." Managers don't get bonuses for thinking that way; they'll just give you a set percentage based on your current salary. You can start to see how important initial salary negotiation is; it affects your compensation for your entire tenure at that company. When hiring companies ask how much you make at your current company, they're trying to extend that discount to their company. All based on what you agreed to because you didn't have the pertinent data.

That visibility is so important, it's enshrined into US labor law (back when politicians gave a hoot about labor):

>Under the National Labor Relations Act, enacted in 1935, private-sector employees have the right to engage in "concerted activities for the purpose of collective bargaining or other mutual aid or protection."

[https://www.npr.org/2014/04/13/301989789/pay-secrecy- policie...](https://www.npr.org/2014/04/13/301989789/pay-secrecy-policies-at- work-often-illegal-and-misunderstood)

<comment><USER11> I think you and I are in agreement. Sharing this data gives others power in their negotiations, and you benefit from others sharing. That seems like enough of a reason to me...

</comment></comment></comment><comment><USER13> This is one of the reasons I hypothesise that you don't get to hire good programmers in India. It's not that there is a lack of talent. I've seen many enormously talented developers. However, the very best won't work for Indian salary levels, since they know they can command better salaries abroad or become entrepreneurs. As a consequence there is an adverse selection effect in play in India. The very best won't offer their services and the quality of the talent pool declines over time in a viscous cycle, as companies lower salaries even further to compensate for a poorer talent pool. Obviously this is not the only dynamic at play in the enormously complex Indian IT labor market, but it is a factor that I think that might be worth pondering.

<comment><USER14> Wait what? If you are a senior software engineer at a good company in Banglore you can easily make 40k - 60k USD an year. After taxes and expenses it becames equalent or better than salaries in most places except for San Francisco(USA), London and Singapore. USA is super hard for an Indian software engineer to immigrate. London is doable but for most of them it's not worth all the travel and staying away from family. People immigrate only if they makes way too much salary abroad compared to India which is hardly the case. Nobody is going to immigrate if they will save a few hundred dollars more a month. So good software engineers mostly immigrate for reasons other than salary (Like living in Europe etc).

Edit: Looks like even London don't offer good enough salary for a good software engineer when compared to cost of living.

<comment><USER15> London is fairly notorious for low SE salaries outside of high end consulting, I'm not sure why it would be listed with those other two cities.

The biggest problem with India is that talent migration doesn't really work the other way (same with China), so you have to build companies solely with local talent. That works for lower end software services, but for higher end R&D generally requires some amount of draw from a world-wide labor pool.

<comment><USER14> I mentioned London because it had one of the highest salaries in Europe. I don't have personal experience myself apart from what I saw in Glassdoor.

<comment><USER16> In Europe, Switzerland is most similar to the Bay area: high salaries, high cost of living and low taxes.

<comment><USER14> Low taxes? California has high tax right?

<comment><USER17> Not compared to Europe I suppose?

<comment><USER18> Last time I checked take home pay was lower in NY than London for someone earning around 150k before tax. Not sure if that holds true in California...

<comment><USER19> According to this calculator: [https://www.thesalarycalculator.co.uk/salary.php](https://www.thesalarycalculator.co.uk/salary.php)

120k £ (equivalent of $150k at current exchange rate) becomes net 71135 £ which is 61.8%

In the state of New York: [https://smartasset.com/taxes/new-york-paycheck- calculator](https://smartasset.com/taxes/new-york-paycheck-calculator)

$150k gets you a take home that is 68% of gross. NYC imposes an additional local tax between 3 and 3.8% so in the worst case you're still taking home more than 64% of gross.

Maybe the last time you checked $150k was a lot less in £ and therefore taxed at lower rates in the UK?

<comment><USER18> Potentially- I think I added in property taxes (about 1-2k/year in the uk) and healthcare (free on the nhs or if you're earning 150k you're likely getting heavily subsidised private care from your employer).

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER20> Co-Founder of Levels.fyi here (mentioned in article). We aim to share salaries for all companies. You can see the salary bands for example of google as well here: [https://www.levels.fyi/salary/Google/](https://www.levels.fyi/salary/Google/)

Would love feedback and suggestions to help make this a better resource. Our next feature is regionalization. Look out for it in next few weeks!

<comment><USER21> Its interesting how completely different the numbers are on your site vs everything else I've ever seen.

Why do you think that is?

Example: [https://www.indeed.com/cmp/Google/salaries](https://www.indeed.com/cmp/Google/salaries) vs [https://www.levels.fyi/salary/Google/](https://www.levels.fyi/salary/Google/)

<comment><USER22> Not sure where indeed is getting their numbers, but I can assure you levels.fyi are well calibrated. Glassdoor also has weirdly low estimated salaries.

<comment><USER23> Has anyone done the sums of the numbers of people on l1->l9 vs the mean salaries estimated?

What does the estimated salary bill for each of these companies come out as and how does that stack up vs. their public declarations?

<comment><USER20> I haven't done that specific analysis but stock based compensation is given out in public quarterly financial statements. See here for example that Google spent ~9.35 Billion (!) in stock compensation last year: [https://www.macrotrends.net/stocks/charts/GOOG/alphabet/stoc...](https://www.macrotrends.net/stocks/charts/GOOG/alphabet/stock- based-compensation)

</comment></comment></comment></comment></comment><comment><USER24> I find these type of sharing salaries interesting since you never know if the people having a significant higher salary, want to share it. It might be a skewed way here high salary earners don't want to put their salary in harms way and therefore don't submit theirs to the system.

Therefore no real conclusive arguments can be drawn from this

<comment><USER20> Don't think it's fair to say that nothing can be drawn from it. Sure there's less statistical significance but I wouldn't discard it completely. There's a large altruism component involved. Nearly every other week folks email us (levels.fyi) willing to help us out with site development for free because we helped them negotiate a higher offer. If there's anything I learned from this project it's how willing people are to help others. Open-source is proof of this.

</comment></comment><comment><USER25> One thing that has always struck me about compensation is that it is incredibly infrequent where I can actually implement the type of fundamental changes a company most needs due to most opportunities for major throughput gains being hidden in the mires of interdepartmental communication breakdown.

I've actually gotten grudgingly bored of technical implementation/testing as at this point, I can look at a set of specifications, and generally have the code that underlies it it be almost immediately apparent. Migrations are a bit more interesting, however, at the end of the day, I get the most out of untangling or unobstructing human communication pipelines.

The work is irregular, generally novel, completely underappreciated, and nigh impossible to get anyone to agree to let you do regardless of the throughput increase you can enable. Especially if politics/an imagined threat to someone's budget becomes a sticking point somewhere in the chain.

So often times a job degenerates to the work an office will allow you to do.

It is one of the things I miss about startup culture sometimes. It's amazing how much a couple of people can get done with a process based on the right abstractions and a tailored vernacular/set of efficient protocols.

<comment><USER26> > One thing that has always struck me about compensation is that it is > incredibly infrequent where I can actually implement the type of fundamental > changes a company most needs due to most opportunities for major throughput > gains being hidden in the mires of interdepartmental communication > breakdown.

Then solve those problems. At higher levels, solving organizational problems is a job expectation for engineers. "Process is preventing me from having impact" is not an excuse.

</comment></comment><comment><USER27> Seems like the higher levels are a bit undercompensated compared to other FAANG companies but otherwise pretty average for a company like them

<comment><USER28> Yeah, it's an interesting trend, back in the day (day 10 years ago) it was conventional wisdom that moving to Amazon was a good move (financially) for more junior levels, but that more senior levels (64+) did better at MS.

From personal experience, the principal/staff band now pays significantly better at FAANG than it does at MS (considering total comp, because above a certain level salary isn't a useful comparison)

</comment></comment><comment><USER29> No one's going to comment on the fact that when Microsoft employees want to collaborate, they turn to Google Sheets?

<comment><USER30> nice catch

</comment></comment><comment><USER31> Comparing US salaries to Indian salaries or anywhere else for that matter is like comparing apples to oranges. $50k equates to 35 lakh rupee per annum which is considered a great salary in Indian standards.

I know of many good developers in India who earn less than this figure but are generally very content in their life. Stop trying to look at everything through the lens of silicon valley.

</comment><comment><USER32> I'm not sure "leak" is the right word for this, it looks like employees are voluntarily anonymously sharing their salaries.

<comment><USER33> It sounds like they agreed to share it with each other but not necessarily with the general public. So leak is appropriate for sharing it with the journalist.

</comment></comment><comment><USER30> Damn all these salaries in the 200-250k range. I worked as an engineer in the bay area for 12 years and never made over 150k or so. Guess I wasn't that good or didn't know how to play the game right.

<comment><USER34> I think the game is just leetcode and interviewing regularly at large companies.

</comment></comment><comment><USER35> Can someone copy paste. Medium pay wall blocking me

<comment><USER36> Just open the article in a private tab.

</comment></comment><comment><USER37> Can someone here explain why companies pay only 40% of US salaries in India? One person from my team is leaving for India soon. He is paid $200k/yr currently in Bay area. But he is being offered INR50 lakhs which is roughtly $80k USD. What stops MS from paying something like $120k USD (converted to INR) because fully loaded costs in US (with FICA taxes) is abot $250K?

Especially, if the quality is the same in both places?

<comment><USER38> Assuming $80k is market rate in the new location, if this person was paid $120k it creates another kind of risk: the person might be disgruntled and hate the job, but never leave, because they aren't going to get $120k anywhere else.

As an employer the ideal is to pay at or slightly above the market. Enough to make money a non-issue, but not so much that people who secretly hate you still work for you.

</comment></comment><comment><USER39> This just seems like a really complicated, roundabout way to do something a union would do automatically.

<comment><USER40> A union seems like a really complicated, roundabout way to do this.

<comment><USER41> What would be an easier way?

</comment></comment></comment><comment><USER42> Discussion on Reddit: [https://www.reddit.com/r/programming/comments/d3znww/leak_of...](https://www.reddit.com/r/programming/comments/d3znww/leak_of_microsoft_salaries_shows_fight_for_higher/)

</comment><comment><USER43> Shouldn't these kind of sites also include a productivity indicator next to each individual salary? Considering how much individual productivity varies for IT workers knowing just the salary is like knowing the price of a bag of, say, flour in a supermarket, without knowing the volume.

Also, to push the analogy forward, how about the flour quality? One employee could be more valuable for the business due to stuff like his willingness to help in tough, boring but critical moments. Or learning more outside of work to be able to apply that knowledge in new and innovative ways inside the company.

And so on... Are all those factors sufficiently captured by a single number like "level"?!

<comment><USER20> How would you collect productivity? I think that's quite subjective. As you mentioned, 'Level' is a signal of an individuals' performance to some degree. If you're performing well, you will move up quickly (broad statement but holds true probably in >80% of cases).

<comment><USER34> Perhaps performance reviews ratings? That should already get factored into the bonus at least.</comment></comment></comment>


Show HN: Online challenge: Build a CPU from scratch - <AUTHOR> http://nandgame.com/ <comment><AUTHOR> This is an attempt to make an educational online game, where the mission is to build a microprocessor starting from simple logic gates.

Hopefully it is both fun and challenging, while at the same time educational about some of the fundamental principles of how a CPU works.

It still lack some explanatory texts, but is should be playable as it is.

It is inspired by the first chapters of the brilliant Nand2tetris course (and I have gotten permission to use the same general CPU design). My hope is this is more accessible since it is web-based and does not require any text-based coding or CS background.

<comment><USER2> This is really neat, good job!

This reminded me of "Code" by Charles Petzold, which I saw you reference in the About page. As a software engineer with an interest (but no professional training) in hardware design, I think it's useful and interesting to have at least a basic understanding of how a CPU handles logic.

Can I ask what library (if any) you used for the canvas interactions? I'm looking for something similar for a project of my own.

<comment><AUTHOR> Thank you. I'm using Angular, but no library beyond that. I was looking for a library for the diagram, but didn't find anything that suited my needs, so it is just custom code. I would like to find a library which could draw nicer arrows at least, since the diagram currently gets pretty confusing when there are many connections.

<comment><USER2> I know what you mean about libraries. There are so many out there that cover 80% of my use case, but they're all missing 20% in different areas.

I think I've finally found what I'm looking for in Raphael.js + Raphael.FreeTransform though.

</comment></comment></comment></comment><comment><USER3> I'm not a huge fan of the fact that when I want to drag a component, if I initiate the click&drag on the little "i" information button, it lets me drag the component but when I release it snaps back to the previous location and opens the info.

Perhaps a toggle for the info boxes on components?

Overall, I love this though.

</comment><comment><USER4> Cool! Very similar to MHRD -- give that a look if this is your thing.

[https://store.steampowered.com/app/576030/MHRD/](https://store.steampowered.com/app/576030/MHRD/)

<comment><USER5> I had a lot of fun with MHRD but I hope the developer some day updates it to not be a sluggish Java implementation. The puzzle of working through all the levels was a fun throwback to my processor design courses 15 years ago, but the unresponsive typing in the IDE was a little less so.

</comment></comment><comment><USER6> This is fun. Reminds me a lot of Euclid the Game: [http://eu.jugregator.org/Level1/](http://eu.jugregator.org/Level1/)

Would be awesome if you compare your answer to the "best" solution, i.e. which uses the minimum number of components (or even the minimum number of nand gates!)

<comment><AUTHOR> Great idea! I don't know the optimal solutions, only that each task can be solved. Perhaps someone smarter than me can prove that a certain solution is optimal. But I could record the solutions provided and show if someone else have solved the task with fewer components or less nand-gates.

It would also be cool to show the overall cost in nand-gates or even transistors. And to be able to show the solutions decomposed into only transistors and wires.

Didn't know Euclid the Game, but it seems very cool and close to what I wanted to achieve.

<comment><USER7> Gate count is interesting from a "how much would this const to make" perspective, but I think minimum clock cycle time is a more interesting metric, as that will show how fast you can run the thing. Maybe a two dimensional plot? It would be very interesting to have a worldwide "leaderboards" section with a dot on the plot for every entry, and a link to see how they did it.

<comment><AUTHOR> Interesting idea, but how should this be determined? Would it be a "cost" per transistor and wirelength, and then the minimum clock cycle time would be the "worst case" path through the circuit?

<comment><USER7> Yes exactly. The 6.004 course at MIT already has software that does this sort of thing.

<comment><AUTHOR> Thanks, it is a very cool idea. I wanted to make the game really simple and accessible, but there seem to be interest in optimization challenges like finding the smallest/cheapest/fastest possible solution.

</comment></comment></comment></comment></comment></comment><comment><USER8> I'm enjoying this; but it looks like a few of the levels might be out of order. In State Selector uses Decoder in the library but it is before decoder. Then in the Arithmetics the "Bus" comes into play before it's described (I forget exactly which ones are out of order)

<comment><AUTHOR> Doh, you are correct about selector - the decoder should no be available here (and is not needed). And the bus definitely needs an introduction.

</comment></comment><comment><USER9> I had more fun with this than I expected to. The only problem is that I got to the Full Adder level, then clicked on "About" and when I went back, my progress was not saved. It would be nice to have a way of saving and a way of showing how I built each component.

<comment><AUTHOR> Yes that is annoying. Also all progress is lost if you leave the page. I am considering saving the state in local storage so you can return to the page and continue where you left of. Also a great suggestion to save previous levels so you can go back and review them.

</comment></comment><comment><USER10> The usual convention for logic gates is to draw them so that information flows from left to right (or, less usually, top to bottom) and they're connected in the direction of information flow. Is there any reason why these conventions aren't followed here?

<comment><AUTHOR> No, just ignorance on my part. I would be easy to flip input and output though.

</comment></comment><comment><USER11> In the full adder level, shouldn't the input/output table in the specification read 01 for the h/l on row 3? Had me a little confused trying to get my head around how the adder works.

I'm really enjoying the whole thing though, great work!

<comment><AUTHOR> Thank you. You are correct, this is a bug. Thank for pointing it out. Fixed now.

</comment></comment><comment><USER12> Holy crap! this brings back memories. I actually did this many years ago with real logic gates, eventually ending up with a 4-bit CPU that could address an entire 16 nybbles of RAM. That was so much fun!

<comment><USER13> same! We actually built an 8-bit cpu, and while debugging some very strange, seemingly random bit flips, learned why you coil wires.

</comment></comment><comment><USER14> I always want to read The Elements of Computing Systems, but never finish it. Playing this game for a few minutes let me pick up the book again.

</comment><comment><USER15> Feedback....

I wanted to send a bit into two separate components and I was looking for some sort of "hub" object. It wasn't clear (to me) that you could connect many lines to a single node.

Removing lines takes a lot of clicking.

Is my design the best possible? Rather than just being told my design fits the requirements, I'd like to be told that I could have done it with one less component and offer to try again.

<comment><AUTHOR> Yeah I'm unsure how to clearly communicate how the connectors work.

</comment></comment><comment><USER16> Looks as if we have hugged it to death

</comment><comment><USER17> I can't see why my instruction decoder is failing: [https://imgur.com/a/PCgkQhb](https://imgur.com/a/PCgkQhb)

Otherwise, it's fun, although the node connections are fiddly! Maybe allow dragging from either end? Or snapping together.

Edit to add: and on the next level, the m flag doesn't exist. So, will stop there, but fun!

<comment><AUTHOR> You need to special case "target a", it should be 1 in case bit 15 is 0. The error reporting could definitely be improved. It should probably display the exact mismatch, something like "with input XXX connector Y was 0 but was expected to be 1". Otherwise it gets to tedious to debug.

The m issue is a bug in the spec, thanks for discovering it.

Thank you for the feedback, it is much appreciated.

<comment><USER18> I've looked through the code a bit, I think your assembler is actually buggy. The expected results for the tests are correct, however the encoded instructions that you're feeding to the decoder are not. For example, A=1 should be 0x89F8, but you're encoding it as 0x8FE0. This causes the tests to fail despite the logic being correct.

<comment><AUTHOR> Actually there was a bug both in the text and in the code. A=1 _should_ be 0x8FE0, but this was not specified correctly. I have fixed it now (I hope).

<comment><USER18> Thanks! I think this could be improved further by changing the names of the destination and source flags (all four of them) to make things clearer.

While I'm at it, here's another bug: the last test of the program engine feeds a 5 into j, which breaks things because the counter doesn't expect it at all. Also the final level doesn't have any tests but I'm sure you know that.

I want to add that besides some issues that have already been pointed out, it's a really nicely made tutorial. I went through all of it pretty fast because I already have a good background, but I would definitely point a beginner to it as a learning resource.

<comment><AUTHOR> Thank you for finding the bugs! It shouldn't even be possible feed a 5 to a one-bit connector.

Yes I think I shot myself in the foot by designing the connectors so the labels could only be one or two letters. There is no technical reason they couldn't have descriptive labels like "clock" rather than "c". But it would probably require to turn the design "on the side", so the connectors are left- right rather than top-bottom.

I know I miss tests for a few of the levels.

Thanks for the nice words, it is encouraging!

</comment></comment></comment></comment></comment></comment><comment><USER19> This is really awesome. I just killed about an hour playing it part way through.

I was saddened by the fact that I lost progress when I left the page. It would be nice if progress could be save via cookies or something.

One other thing that would be nice is the ability to offer hints. These could even be just an external link to relevant material on wikipedia or equivalent.

</comment><comment><USER20> I can't figure out why this isn't accepted as an answer for latch? Admittedly there's probably something simpler, but this seems to adhere to spec.. [https://i.imgur.com/mnePQc7.png](https://i.imgur.com/mnePQc7.png)

<comment><AUTHOR> The design does not seem to fully adhere to the spec. If you have output 0 and both w and d is 0, and then set d=1, then output changes to 1. But output should only change when w=1. Admittedly the specification is not very clearly written.

</comment></comment><comment><USER21> Really nice! Ideas for features i missed: Reset button. Way to see diagram of previous components. Level goal text is not equal to whats shown left. Possibly mislabeled C in full adder level. Hint option to show the count of needed components.

<comment><AUTHOR> Thanks for the suggestions, much appreciated.

Reset for clearing all components off the canvas, or for resetting the input signals and state? Or both?

</comment></comment><comment><USER22> The level on subtraction doesn't mention how negative numbers are handled at all.

<comment><AUTHOR> Thank you for noticing this error. I will add the necessary information.

</comment></comment><comment><USER22> In the chapter on RAM, it says we can index upto 64KB of memory in a 16 bit architecture. Shouldn't it be '128K words of memory', since we can index '2 words' with a single bit.

<comment><AUTHOR> You are correct, the text is wrong. It should be 128KB, not 64KB. A word is two bytes (on a 16-bit architecture) so we can address 64K words which is 128KB. (I think you mixed up byte and word in your comment, but I understand what you meant.)

The explanatory text for the level does not really define neither "byte" or "word", so beside fixing the error it also need more details. (But I want to avoid going down the rabbit hole of explaining that bytes can have different sizes than 8 and so on)

</comment></comment><comment><USER23> That's certainly easier compared to that Build a standard conforming C++ compiler along with std libs from scratch challenge, awhile ago.

</comment><comment><USER24> Will it be released under an opensource license? It would be nice to try to improve, especially because it is an educational tool.

</comment><comment><USER25> Love the game. What's a good solution to the increment gate? My answer worked but seemed way too complicated.

<comment><AUTHOR> Thanks! A possible solution [spoiler alert!] is inv(add(inv(input), inv(0)) where inv(0) is an inverter without any input.

By the way I suppose the subtraction component should be available in this task. This would make is simpler. I had trouble deciding if increment should be before or after subtraction.

</comment></comment><comment><USER26> There is a very annoying bug that causes a component to get stuck (output triangles disappear) and if you try to move it a copy is created.

<comment><AUTHOR> May I ask about browser/platform and what you did to make this happen? I am not able to reproduce the issue.</comment></comment>


Religious zealot(s) using DMCA complaints to shut down atheist YouTube channel - <AUTHOR> http://www.youtube.com/user/QualiaSoup The channel itself has several good videos, which present interesting arguments for atheist views and/or against mystical ones.  Check them out if you're interested, before they disappear.<p>If the linked video is too bland for you, the main guy (I think) behind QualiaSoup has also posted this angry rant: http://www.youtube.com/watch?v=GQgA0zACaJM <comment><AUTHOR> The channel itself has several good videos, which present interesting arguments for atheist views and/or against mystical ones. Check them out if you're interested, before they disappear.

If the linked video is too bland for you, the main guy (I think) behind QualiaSoup has also posted an angry rant: <http://www.youtube.com/watch?v=GQgA0zACaJM></comment>


"The Right Tool For The Job" Isn't - <AUTHOR> http://blog.joingrouper.com/the-right-tool/

<comment><USER2> Some additional thoughts for the author:

\- Training / warmup overhead for new employees: the amount of time a new developer needs to warm up when joining a company grows exponentially with the number of different technologies / tools used on the job. It's not just learning Redis - it's learning _your Redis_.

All of the configuration details, deployment procedures, setup, integration with other services, data model, etc specific to your company. This can be a killer for small companies, where everyone needs to know a little bit about everything...

\- Future-proofing: the greater the number of different technologies used, the higher likelihood of future driver / server / runtime / etc incompatibility issue. A future release of Cassandra which has a mission-critical feature for your business, but the CQL drivers that support it all require a later version of Node than your background workers currently run. Unfortunately, if you upgrade to a later version of Node then your Redis driver won't work because it hasn't been updated to support the past 6 months of Node releases due to breaking changes Node.JS introduced into a critical security update and ad nauseam...

There will always be a level of this even in a tightly integrated stack, but you're setting yourself up for more frequent headaches the greater the number of technologies you have to maintain in parallel.

\- Operational complexity: beyond the basic stuff like service outages, there's dealing with less catastrophic but more frequent ops such as monitoring and configuration management. While there are a number of great generic solutions for monitoring the health of processes, services, and VMs, there's a level of requisite application monitoring that needs to be deployed for each service too. Need to monitor the query plans and cache hits for PostGREs, the JMX metrics for any JVM application, compaction and read/write latency for Cassandra, etc...

Setting up that level of monitoring and _actually using it_ on a day-to-day basis for a large number of different platforms is expensive and cumbersome. If you're Facebook, it may not be a big cost to manage. If you're a 6-person engineering team at a startup, it's a bitch.

Great article!

<comment><USER3> Yeah, tool-specific monitoring is always forgotten. There was a great article I once read on how your second datastore inevitably turns into a ghetto. People overestimate how many things they can keep track of.

</comment></comment><comment><USER4> Yeah, I agree, I wince when someone uses that phrase. The truth is that most technology choices, whether languages or databases, are designed to be general purpose. They are designed to fill as many needs as they can. Because no one wants their product to be a niche.

</comment><comment><USER5> The author should really change that font contrast. It's almost the same color as the background.

</comment><comment><USER6> Failing together usually only make sense for the simplest of apps, not for anything that has a lot of moving parts. If my pub-sub message queue falls over, I'd rather the web workers still stay up so visitors can see the site - they'll just be without realtime notifications. If the background workers die, those tasks should stay on the queue, but everything else still runs as normal.

So really, the math works out such that if you fail together, you'll have X amount of downtime. If you fail seperately, you'll have X*3 amount of degraded service.

<comment><USER7> This assumes that only one of X parts is essential and the others can just fail and you only get some degraded service -- which is not always (or even often) the case.

E.g if the DB fails, you're down. If the web server fails, you're down. If you're a photo service and the file storage service fails, you're down.

</comment></comment><comment><AUTHOR> I've had similar experiences with poorly-architected SOA.

If your services are inter-dependent, your uptime probability suddenly becomes probability^n, for n services.

</comment><comment><USER8> ha, so true. much like "judgement" is the best technical skill you can hire for - far too many tech wizards spend 6 wks for +5% perf gain :(

<comment><USER9> > too many tech wizards spend 6 wks for +5% perf gain

depends how much is that 5% gain worth. yes, judgement.

</comment></comment><comment><USER3> Author here. Added a clarification that services can go down for reasons other than data center issues. Who knew?</comment>


I used HTML Email when applying for jobs, here's how and why - <AUTHOR> https://dribbble.com/shots/2873870-HTML-Email-Cover-Letter <comment><USER2> You need to monetize this. Having the analytics of what is happening to your application would be a godsend to job seekers. It doesn't provide any real benefit, but I think people would pay for piece of mind.

</comment><comment><USER3> Given that I use script blocking plugins this would be really interesting in discovering the inner works of this kind of stuff. Can you share some code?</comment>


Reddit admins caught editing DNC whistleblower Seth Rich's Reddit comments - <AUTHOR> https://www.reddit.com/r/WikiLeaks/comments/6cbrje/reddit_admins_caught_editing_dnc_whistleblower/dhthpfl/ <comment><USER2> Deletion is different from editing

However it is _still their prerogative_ to remove non-appropriate content (like personal info). Reddit is hard on doxxing and I think that's how it should be

</comment><comment><USER3> Wait three days and they will be "sorry" again and they "won't do it again" again.</comment>


Lisp NYC: If you're tired of waiting for Paul Graham to release Arc - <AUTHOR> http://groups.google.com/group/comp.lang.lisp/browse_thread/thread/e2764cbec47cbe57/5c597b31df6be557#5c597b31df6be557

<comment><USER2> I'd rather wait five years than use something mediocre.

<comment><USER3> The real tiger can never compete with the paper one. Facebook and Flickr use PHP; MySpace uses ColdFusion and/or ASP.NET; doing it NOW with crappy tools is scrappy, the start-up way. Start-ups don't wait for the stars to align.

<comment><USER2> I need to be more careful with my words. Clarification #2: I'll wait patiently until Arc is ready, instead of complaining about how long it's taking. To complain will just encourage mediocre design. It's great that two smart people can really take their time on something and make it excellent, rather than push something when it's not ready. It's the _opposite_ of the start-up way, and that will inherently produce higher quality results. The aim of a startup isn't perfect quality, but rather better quality than the #1 competitor.

That does not have any correlation with whether or not I'm waiting to do my startup. I'm launching a site on Friday using Rails.

<comment><USER4> PG has to have read 'worse is better'. I wonder what his motivations are for going against 'release early, release often'? Perhaps it's a case of people's expectations being pretty high, and ready to pounce if it's not perfect, which it probably isn't, given that it hasn't been shaken down that much (or at least not by a wide audience).

<comment><USER5> One of the stated goals for arc is to make a lisp dialect that will last 100 years. In that context, "release early" can be a pretty long time.

</comment></comment></comment></comment></comment><comment><USER6> Is this an instance of the Graham-Tiedemann Law?</comment>


If you sleep naked, you are probably in favor of marijuana legalization  - <AUTHOR> http://checkthis.com/ypn

<comment><AUTHOR> We can cross any two questions on <https://poutsch.com> so please let us know what questions you would like us to cross for the next #opimetrics!

</comment><comment><USER2> This large degree of correlation just doesn't seem right. How was the data gathered?

<comment><AUTHOR> We overlap the communities of both questions while making sure all the opinions from unregistered accounts are excluded.</comment></comment>


Compositor: Iso - <AUTHOR> https://compositor.io/iso/ <comment><AUTHOR> Super good customer support. Highly recommended. Awesome product so far, blurring the lines between traditional web design and development.</comment>


The Brilliant Uncertainty of the Grateful Dead's 'Dark Star' - <AUTHOR> https://www.nytimes.com/2019/02/27/opinion/grateful-dead-dark-star-anniversary.html <comment><AUTHOR> Further commentary on the song: [https://amp.reddit.com/r/gratefuldead/comments/7mrwdb/what_i...](https://amp.reddit.com/r/gratefuldead/comments/7mrwdb/what_is_a_third_stage_dark_star_europe_72/)

And the lengthy Dark Star document : [http://www.deadlists.com/dlsite/dark_star.txt](http://www.deadlists.com/dlsite/dark_star.txt)</comment>


PlanGrid's Playbook for Startups to Crack Big, Established Industries - <AUTHOR> http://firstround.com/review/plangrids-playbook-for-startups-to-crack-open-big-established-industries/ <comment><USER2> Having built a field management system in the construction industry[1], I can confirm, it's a tough market. And, most of it comes down to getting in front of people. A lot of my time is spent going to trade shows and pitching, just like Tracy did, when I'm not coding.

There's a stigma that this industry is full of people who resist technology, but I really don't think that's the case. People in this industry resist change because change is risky. There's too much money at stake, and delays associated with new technology can ruin an entire job. Paper processes are usually terrible, but you're never going to have to battle wi-fi connectivity to flip through your spec, or experience your pencil throwing a 500 when you fill out a safety analysis. It takes a while for anyone in the field to get comfortable with the pros and cons of a new process versus a paper process that's worked for years.

It's changing incredibly quickly, though. There's a lot of new products getting funded, and a big opportunity to integrate between them.

[1] [http://safety.voyager.vc/](http://safety.voyager.vc/)

<comment><USER3> _Paper processes are usually terrible, but you 're never going to have to battle wi-fi connectivity..._

I noticed this point made in the article as well. Are cellular tablets simply out of the question?

<comment><USER2> The company I work with gives everyone a verizon cell hotspot and an android tablet. These work fine in city areas where this company does a lot of utility work.

But, when you do an install of electric wire towers on a mountain, you might not have cell connectivity. Most apps get by this by saving data locally, and then transmitting on the next connection.

<comment><USER3> Well of course remote work is going to have its own challenges, but I don't get the feeling that that's what's going on here. So, besides corner cases, is there any reason not to consider cellular tablets in the construction world?

<comment><USER4> Job sites, especially those in the throes of major structural construction, are a horrible place if you are seeking consistent wifi or cellular coverage.

Generally: The thick concrete walls, exposed rebar, and intentional and unintentional geometric structural elements combine to form a giant Faraday- esque electromagnetic exclusion zone. Even with wifi repeaters on each floor you aren't assured a connection.

I worked for LATISTA as a product designer and spent a significant amount of time on-site speaking with users about this exact problem. It's getting better, especially with the larger construction management / development firms, but it's not a solved problem (unless your firm spends a significant amount on portable IT infrastructure).

<comment><USER3> Thank you.

</comment></comment></comment></comment></comment></comment><comment><USER5> > Break the rules. Max out your credit.

Survivorship bias?

That's terrible advice. It worked out in their case and we get to hear their story, what about the people who did this and failed? Don't extrapolate what worked for them into generic advice, to say the least, it's dangerous.

<comment><USER6> I'd probably roll this advice back to the more general case of "don't be afraid to spend money to acquire the first users". The PlanGrid team may have done this by maxing out credit, but that's just one (and possibly the most risky) way to do this.

</comment></comment><comment><USER7> My first concern would be display resolution: A blueprint is big, and mobile displays are small. How the heck to see a big blueprint on a small screen? Maybe use some very high resolution funny glasses -- but the OP didn't hint at any such thing and, besides, wanted the mobile devices to cost less than $100 each.

The product design work, that is, go to the customer, e.g., if trying to help truck drivers, then ride with some truck drivers and maybe get a job as a truck driver for a while, is old advice in operations research.

The material on thinking about and planning whom to approach, understanding what to tell them to get their interest in under two minutes, etc. is good industrial selling.

The article describes for the product planning a lot of worker hours and expenses for travel and lodging: Sounds like PlanGrid burned a lot of cash before they got much revenue.

<comment><USER8> The display resolution isn't a problem. Just like Safari on the iPad you zoom in when you want to see more detail.

I don't want to disclose too much but you're completely wrong. PlanGrid was profitable within its first year.

PlanGrid is a great company, still have friends working there. (Disclosure: I wrote PlanGrid's sheet compare feature).

<comment><USER7> Sure, I thought of zoom. My concern, having drawn and looked at some blueprints, was that a lot of zoom would have the person lose sight of the big picture and that there would be no substitute for a big screen with a lot of resolution.

Okay, if I'm wrong -- good for PlanGrid.

Amazing that they were profitable in the first year -- good for them. That was likely, I'd guess no doubt, tough to do.

<comment><USER8> People did hook up to large TVs, use the website with a big monitor, etc.

The mobile app is about being able to look things up and input data right there next to the problem you're dealing with.

Construction is odd in many ways. The superintendent is more powerful than the CEO. If he/she doesn't want to use your software all the IT mandates in the world can't make him/her. Big construction companies are one major fuckup away from bankruptcy at all times. The superintendent is only as good as their last job and can make the difference between a profitable year and a money pit of lawsuits.

<comment><USER7> > People did hook up to large TVs, use the website with a big monitor, etc.

I can believe that.

</comment></comment></comment></comment></comment><comment><USER9> And there's the full-screen popup with a passive agressive message. No thanks, I prefer to not read the article.

</comment><comment><USER10> All the advice in the article sounds very generic to me. Standard startup fairytale. I wonder where all the upvotes are coming from

<comment><USER11> Have you tried selling a new, unproven product to an entrenched industry like construction? I have, and it's much harder than refactoring spaghetti code or learning Haskell.

>To bring them into the fold, the team started running superintendent "Ask Me Anything (AMA)" sessions at the office, where the two goals were to celebrate them as experts in the field, and to learn as much as possible about their lives, work and problems.... During these events, the superintendents got to know individuals at PlanGrid too, and walked away bigger evangelists than they were before.

I haven't seen this done before, and it's a great idea.

<comment><USER3> It sounded to me like one-person focus groups, AKA interrogation (with donuts).</comment></comment></comment>


What do you expect from a social network? - <AUTHOR> https://www.prisvo.com/+movies <comment><AUTHOR> Please give your feedback about our platform. Thank you so much.</comment>


Turn any page into Katamari Damacy - <AUTHOR> http://kathack.com <comment><USER2> Woo - nice to see this on HN (I'm one of the creators).

EDIT: We're serving this off ec2 + apache. It's all static html + js. Any quick tips for speeding things up?

<comment><USER3> If it's static, serve it directly from S3, and turn on cloudfront for even better delivery.

<comment><USER2> ok, I think we managed to switch <http://www.kathack.com> over to S3. Thanks for the tip!

<comment><USER3> No problem. Love the script.

</comment></comment></comment></comment><comment><USER4> I thank you from the bottom of my heart for helping me fall into a haze for about 45 minutes. That was remarkably ingenious.

Rolling around on a huge page like the Wikipedia article for World War II (<http://en.wikipedia.org/wiki/World_war_II>) caused a pretty significant slowdown. Interestingly, once the ball got to the size to pick up larger images, the rest of the ball would clear and there would be a noticeable boost in speed. It was intriguing to observe the dynamics of the ball rolling on different sized pages.

</comment><comment><USER5> I loved this a lot more than I probably should have.

</comment><comment><USER6> Awesome! Even works on an iPad.

And if you like this, check out this other amazing bookmarklet game:

<http://erkie.github.com/>

</comment><comment><USER7> This thing is hilarious! I love how this renders the picked up objects so well; it really shows if you try to pick up images! Nice work!

<comment><USER8> I didn't think it picked up images. I guess I needed to roll my ball a bit bigger before trying that!

<comment><USER9> If you uncheck realistic pickups, images stick much better.

</comment></comment></comment><comment><USER10> This is amazing. I'm definitely going to keep this in my bookmarklets collection! That said, can you give us a way to re-generate the grid data? I want to roll up everything in Google Reader. (Maybe when the bookmarklet is run, if it's already active, re-generate the grid. It currently creates a second Katamari, which is also awesome.)

</comment><comment><USER2> New update out: Now you can select controls (left/right click, or touch). Try running it twice, once with right-click, and again with left-click.

Also for dynamic pages, run the script after the content changes and click the "x", and the new content should be pick-uppable.

</comment><comment><USER11> Very entertaining, especially when it picks up images. Too bad it loses them too fast. Can you please add an option to keep images for longer? I love Hitler spinning around.

</comment><comment><USER9> Multiball works!

</comment><comment><USER12> I helped teach and judge at about 10 of the Hack-U competitions while I was at Yahoo and it always amazed me how ingenius the students are.

Congratulations to the team on a great project and it's really nice to see how savvy about web technology the students at Wash-U are.

</comment><comment><USER13> Is there any way to play this on a Macbook trackpad without connecting a USB mouse?

<comment><USER14> On the multi-touch trackpad you can just click with two fingers.

<comment><USER15> To elaborate, I got it to work this way:

      * Hold two fingers on middle of track pad
      * Click thumb on bottom of track pad; katamari should start to move at this point
      * Release two fingers on middle of track pad
      * Use single finger to move cursor while still holding down thumb

<comment><USER13> Oh awesome, that worked beautifully. Thank you!

</comment></comment></comment></comment><comment><USER16> #winning</comment>


Show HN: Phoenix Startup – Soft-Material UI Kit - <AUTHOR> http://phoenix-startup.com/ <comment><AUTHOR> Greetings sirs. We are proud to present you the v2 of our product.

Phoenix Startup is a huge pack of ready to use HTML cards. Hundreds of happy clients, many great feedbacks from major digital communities and huge daring ambitions.

Would be great to hear your feedback.

</comment><comment><USER2> Nice. Wish I didn't have to click to see the price though.

It's also feels a bit long winded, with loads of info coming at you, tutorial inline and examples. Not sure if this is bad or good though, whatever converts right :)

<comment><AUTHOR> Thanks a lot for the kind words! Your notice about the price is a strong point. Me and the team will definitely discuss it soon.</comment></comment>


Yet Another Framework Syndrome (YAFS) - <AUTHOR> http://blog.tastejs.com/yet-another-framework-syndrome-yafs <comment><USER2> I believe it sometimes happens organically.

Code can be a very intimate affair. When taking on a new requirement that can be fulfilled by an existing framework, there's a lot more to consider than just "did someone already implement this"?

In the corporate world, we often remind younger developers that most of the cost of the code is in the maintenance, not in the development, of software. Having to tackle feature changes dependent on 3rd party software can be really expensive.

If I'm working on a hobby project, I don't have enough time to do a full evaluation of all options out there, nor do I have time to understand the intricacies of a given framework to meet my unique requirements.

So, often, it takes just as much time to come up with my own mini-framework and build it up as my requirements increase. If I reach a certain level of functionality, then I may have something that I can share with other developers. Everyone always touts the benefits of open source, and I may want to get in on that, too. Besides, there's more glory in starting a project than being the 51st person to contribute.

Disclaimer: I don't have my own framework, and has in the past been the Nth contributor to what was then a de facto standard framework.

</comment><comment><USER3> I don't think this article is giving enough consideration to what's going on with web application development.

JavaScript is the de facto language of the web, so everyone is using it whether it's the right tool for the job or not. The web is also rapidly evolving its capabilities, so web applications are constantly changing in nature.

YAFS is not really the problem, it's a symptom of a massively developed for, single language, massively used platform. I'm sure it's exacerbated a bit by javascript being such a poorly designed language, but this is more minor.

The solution isn't "research and mold what's already out there to your problem", because this is only addressing the symptom. There's an explosion of frameworks because there's an explosion of different use cases and application goals on the web.

Rather than having to choose between 20 different programming languages, you have to choose between 20 frameworks.

<comment><USER4> I'm skeptical about all these new frameworks solving uniquely new things. This is not a syndrome of the Javascript community alone but of all IT: we never look to previous solutions and research, and think we are discovering the wheel every day.

Be it IT vendors rediscovering "cloud" concepts that were published in the 70's or a JS developer releasing a new framework that he rewrote using more functional idioms because object orientation is so-yesterday.

Besides it getting boring for us old farts, it feels exactly how the author describes it: more noise than value.

<comment><USER5> _" cloud" concepts that were published in the 70's_

Not only published, I did use _cloud computing_ in the 70's - we called it _time sharing_. And our keyval, schemaless databases obviously couldn't be called noSQL before the advent of SQL!

<comment><USER6> Cloud computing and time sharing are not the same thing, though. Time sharing was just a way for multiple people to access the same computer at the same time. In cloud computing, people aren't accessing a particular computer as far as they're concerned; they're accessing a service that's out there _somewhere_ , and they might even have two consecutive requests handled by computers in different data centers.

<comment><USER5> _...they 're accessing a service that's out there somewhere..._

Exactly what IBM offered in the late 70's.

<comment><USER7> If you want to distill all of what "the cloud" means into just "accessing a service", then sure. Nothing's changed in 40 years because it's all still just "clients" accessing "services".

Also, transportation hasn't changed in millenia because we're still just humans moving places, and information retrieval hasn't changed since the invention of the written word, because we're still just absorbing information from glyphs on something that has distinct colors.

<comment><USER8> He's not saying "hasn't changed". He's just saying that he was using something that could easily be described as "cloud computing" four decades ago.

<comment><USER5> You are right. The technology has evolved but the concept is the same; we had terminal servers connected to the nearest point of their private network over a dedicated line and they run our software in one or more of their servers.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> I would say there is a proliferation of immature libraries and a dearth of _mature_ JavaScript frameworks and libraries that meet the needs and desires of today's app developers. Mature frameworks are typically the work of many developers over several years, and they require time, money, and good product management, among other things. Five years ago it seemed a little off the wall to start a company whose customers were JavaScript programmers (I did it), but that's no longer the case, so I expect times will change.

I hope people invent lots of new ways to do things, and I hope the go-to software of five years from now is not the go-to software of today. I hope we aren't using jQuery and Mongo in ten years.

</comment><comment><USER10> IMHO the problem is more about front-end javascript than nodejs since Javascript doesnt have a module system,there is no rule as to how to write a library and include it in one's code. CommonJS and AMD are not JS specs. Ajax and the DOM are not javascript.

So front-end devs , instead of writing libraries that depend on other solid(and maintained) projects, either include dependencies or rewrite stuffs they will not maintain. That's the nature of javascript.

As for the question is there too many frameworks, I disagree. devs will mostly use frameworks that are well documented and maintained. If the last commit in your project was 2 years ago, if you dont have an issue tracker set up or you dont fix bugs, if there is no test other devs aint gona use your library that's a fact.

But again , open source projects are basically free work,so let's not complain. Let's also not forget that Javascript is usually easy to read and to fix. We are not talking about fixing some C++ here...

As a dev it is also your responsability to vet libraries.

</comment><comment><USER11> A framework without documentation, is not a framework at all. The article spends a bit of time on this, but I believe it's worth reiterating. The reason for using a framework is to not have to rewrite common functionality. Without good, complete documentation (both in code and external to the framework) one cannot even evaluate a framework in a timely manner.

While doc-blocks and comments are crucial to all code, and especially crucial to framework code, a framework that relies solely on auto-generated documentation is one without complete documentation. There is more to documentation and the coherency of a framework and its use cases than describing its microscopic parts.

<comment><USER12> Angular documentation is awful, and its one of the most popular out there.

</comment></comment><comment><USER13> After spending some time in the JS and NodeJS world, I feel there are waaay too many immature libraries out there.

It's very easy to publish a library in the JS world. Just add some boilerplate and everyone can grab it through npm or bower. In the Java world getting it in a repo through maven is a bit harder. But that leads to fewer projects to maintain and focus on, in the JS world it's a bit too "forked" for my taste.

</comment><comment><USER14> After years of dealing with the same issue in PHP, I have come to the conclusion that frameworks should be evaluated based on two criteria:

1) How quickly can a developer who is competent in the language (ie. a non ninja-rock-star) but has never heard of the framework understand what's going on?

2) How hard is it to take the value that I create (ie. the code I write) and move it to a different solution?

Of course the result of these is that the best framework is no framework at all... In the case of PHP, at least.... in JS it may be the case that some minimal framework is required, but as much as possible I think that libraries, more than frameworks, are the key to this issue.

<comment><USER15> Actually I think in PHP's case the best framework is at best minimal, but something more than none at all. Anything beyond Composer and a PSR autoloader to manage libraries, a router to abstract requests from the filesystem and (arguably) a templating engine is nice but not absolutely necessary. But I think PHP is a nightmare without at least that.

</comment></comment><comment><USER16> If you constantly find yourself looking at new frameworks to save time, reduce boilerplate, make development and debugging easier, you may want to acknowledge that it's not the _framework_ at fault, but the language itself...

<comment><USER17> The reflection may not stop at the language. Many of these "terrible" framework/languages have plenty of folks accomplishing a lot of stuff with them.

Not trying to claim that everyone that complains is bad/wrong. Rather, the field often acknowledges that learning a new language can help "learn a new way to think." Seems that sometimes we neglect that one needs to learn the way of thinking for the language/framework they have, and less worrying about the language/framework they wish they had.

<comment><USER18> The amount of 'bad/wrong' frameworks that are present in PHP (as an example, don't mean to hate-monger) is astounding. These are usually the 'discontinued' ones that people have gotten used to and find a hard time moving on from, so in some cases I think it is reasonable to look for a new framework rather than continuously hacking their way to the finishing line.

<comment><USER17> That may be, but when the rubber hits the floor, you are often better learning to "think in the framework" that you have, than you are trying to reinvent yet again. This can be just as true when considering new frameworks. They may be better, but that doesn't mean you have time for them.

And I fully acknowledge that this is an art. Knowing when to consider making a change is a tough piece of knowledge to try and hammer down.

</comment></comment></comment></comment><comment><USER19> And yet, if I were to meet someone who was a few months into a new js web app, I could probably guess which framework they were using with 5 guesses or less 95% of the time. Also, I would bet that all 5 of the top frameworks will be reasonably supported for the next 5 years. As for the many frameworks that make up the last 5% of usage and have shakier futures, I doubt many new devs are actually using them.

It is always a red flag for me when someone starts arguing for less choice, more monolithic frameworks, and the inevitable lock in that comes along with having only one or two options.

</comment><comment><USER20> This sounds an awful lot like what they were saying about python 10 years ago.

Perhaps the problem is that we have a large opportunity before us and it isn't obvious which frameworks are going to win.

</comment><comment><USER21> I'll donate $100 to anyone who wants to build a wiki-style community-owned comparison of the various frameworks, tools, libraries, books, etc.

<comment><AUTHOR> We added a sidebar with learning resources to the demo pages in the last release of [http://todomvc.com](http://todomvc.com) which we constantly update. Obviously, that's only an entry point for further research, but I think for most libraries or frameworks it's easier to maintain those kinds of information in one place.

<comment><USER21> Nice! I'm donating $50 to you for project now. (And $50 to Wikipedia)

</comment></comment></comment><comment><USER22> The biggest issue is the glorification of web-development. It's just a GUI layer in a weak script language in the end of day. Just pick any framework you like at the moment, there will ten new ones by the time your next project starts.

</comment><comment><USER23> Corollary of YADSL, Yet Another Domain Specific Language.</comment>


Mobile Dev platforms - Anyone have a preference? - <AUTHOR>

We are moving forward with putting our app on mobile and are investigating Sencha, Jqtouch, Appcelarator.<p>We are leaning towards appcelarator since its seems to build something closer to native apps. Where as the others seems to use front end html/js to replicate functionality. Any insights would be appreciated <comment><USER2> Appcelerator seems to be the right choice, however developing a 'complex' application (ex: Twitter client) won't be an easy ride.

<comment><AUTHOR> SO you'd go native in that case?

<comment><USER2> I really believe Appcelerator has the right approach in providing a solution for easy, quick, cross platform with native look and feel apps but they aren't there yet. I use Appcelerator for prototyping and if necessary I'll go for native app.</comment></comment></comment>


Wireless Subscribers Used 10 Trillion Megabytes of Data Last Year - <AUTHOR> http://www.msn.com/en-us/news/technology/wireless-subscribers-used-10-trillion-megabytes-of-data-last-year/ar-BBtnAId?ocid=ansmsnnews11 <comment><USER2> Ten exabytes, in other words.</comment>


Stack Exchange has decided to shut down the Vi/Vim proposal - <AUTHOR> http://discuss.area51.stackexchange.com/questions/18170/closing-the-vi-vim-proposal

<comment><USER2> Didn't realize that there's an Emacs StackExchange in beta.

[http://emacs.stackexchange.com](http://emacs.stackexchange.com)

I use Sublime a lot more these days. It would be nice to see a StackExchange for that too.

</comment><comment><AUTHOR> Discussion on reddit:

[http://www.reddit.com/r/vim/comments/2iniu2/stack_exchange_h...](http://www.reddit.com/r/vim/comments/2iniu2/stack_exchange_has_decided_to_shut_down_the_vivim/)

</comment><comment><USER3> Stack Exchange has a ton of totally pointless, 100% opinion based exchanges, but they close something that would actually be helpful?</comment>


Kyro: Early stage search engine for video spoken content - <AUTHOR> https://kyro.ms <comment><AUTHOR> Hi! Search for a words in videos and get the results as the time these words were said, you can submit urls from YouTube and Vimeo, or upload a video or audio file (submitting video needs registration)

Would love to hear your notes and feedback :)</comment>


Google Fiber problems become more evident - <AUTHOR> http://voices.kansascity.com/entries/google-fiber-problems-become-more-evident/

<comment><USER2> > Yes, the digital divide that people thought was out there really exists: > People in low-income neighborhoods in Kansas City and Kansas City, Kan., > aren't signing up for faster Internet service. And that's despite aggressive > publicity and the fact Google is offering a pretty low-cost version of its > service to people.

It's disturbing to hear this, but not surprising. People in low-income areas tend to be less educated, right? If that's the case, then it stands to reason that you are going to have to educate them on the benefits. I don't think "omg this is superfast!" is the kind of education we need here. If I'm a lower income guy with a family and I get a flyer about "Google Fiber", I might think:

\- I pay $19.99/mo for DSL/cable. Seems fast enough to me, why go through all this hassle?

\- I don't see a lot of sports mentioned. I'm not switching to something without ESPN and lots of football on the weekends! (I'm not being mean here. This is in fact THE reason I haven't "cut the cord" and gone streaming only.)

\- That one-time setup fee is a lot of cash. I could come up with it but, again, why is this thing _so much better_ than what I already have?

\- Is there going to be a credit check? (this is a big reason the "poor" might like to keep what they already have. Getting signed up for services of any kind when you have bad or non-existent credit is an exercise in frustration, humiliation, and "security deposits". Once you finally get the damned cable hooked up, why would you want to go through that again?)

<comment><USER3> > \- That one-time setup fee is a lot of cash. I could come up with it but, > again, why is this thing so much better than what I already have?

If you are getting the free tier you can pay the one time fee in monthly installments of $25. One thing to consider about low income neighborhoods is not that people have $19.99/mo DSL/Cable and are happy with it, but that they may have NO internet connection at all because $20/mo is food money. My wife teaches in a low income neighborhood with a very high rate of homelessness and most of her students have no computer and those that do typically don't have internet access.

<comment><USER2> And yet they probably have power and running water. I can foresee a day when internet access (of some speed) is seen as a basic utility and society would no more tolerate entire neighborhoods of homes without internet access than we would an entire neighborhood of homes without electricity.

That will be a good day.

</comment></comment></comment><comment><USER4> Is there any evidence to go along with any of this dude's claims? He makes three points:

Point 1 isn't about Google fiber. Point 2 has been self-evident since the day the product was announced. Point 3 is incorrect. Google's promise on wiring public libraries and schools has never changed.

Crap article. (Disclaimer: I work at Google, not on Fiber).

</comment><comment><USER5> Why would a low income household want to pay $120 a month for Google Fibre when they might be getting by on $20 for a cable connection?

Yes you get more bang for you buck but what possible applications of high speed internet could justify $100 more a month?

In my opinion Google Fiber is being marketed to the common people prematurely. There is no clear justification for it yet unless I'm missing something?!

<comment><USER6> You can also pay $25/month for a year, and then get free internet for the next 6 years after that (5/1 mbps I believe).

</comment></comment><comment><USER7> Why nobody is mentioning free internet service (for households not public buildings)? You pay $25/month for 12 months (or $300 one time fee) and then it's free. Wouldn't it make sense for low-income family?

<comment><USER8> IF the family had $300 in disposable income to spend then yes, but if you are living paycheck to paycheck and have little to no savings that $300 is a lot of food for the family or is going to keep the lights on for a few more months. Many are probably aware that it is a good deal in the long term but if that investment makes you late on the rent or gets the power shut off then it isn't worth it.

<comment><USER9> $25/mo is a lot easier to manage and justify, especially since it's a guarantee of free access for _at least_ 6 years past the last payment.

</comment></comment></comment><comment><USER10> I agree with the author that people in low income areas do not care about high speed internet access. In my experiences developing healthcare software for people living in South African townships, people in these areas get along just fine with feature-phones. Feature-phones are easy to use. They allow people to check Facebook, email, and chat. This covers 99% of their needs so they have little motivation to purchase a computer, figure out how to use it, and then pay the money (which they do not have) for monthly internet.

There is hope however. People here love smartphones only they cannot afford them. If Google wants to provide internet and computer access to people in low-income areas, then I suggest they create an Android phone that costs less than $50 and can be used on a pre-paid voice and data plan. After this I suggest they create an affordable tablet.

Also, it is surprising how few people have the technical capacity to understand the amazing ness of Google Fiber. When it was released I shared it with my friend who studies medicine at Yale. My friend did not even understand or care about the difference between a 1Gb/s internet connection and a 1Mb/s. He thought the internet was fast enough as it is.

</comment><comment><USER11> Can someone explain why Fibre isn't being released in Silicon Valley first, where they would almost certainly find buyers? If its a case of scaling it up, they could release it community by community, couldn't they?

<comment><USER12> A bunch of Bay Area cities applied, judging from this map [http://googleblog.blogspot.com/2010/03/next-steps-for-our- ex...](http://googleblog.blogspot.com/2010/03/next-steps-for-our-experimental- fiber.html) but maybe releasing it in Bay Area first would provide a distorted impression that everybody is bananas about fiber access and willing to pay through the roof to get it.

<comment><USER13> California also has a notoriously difficult regulatory climate. It might be easier to start the process somewhere else, where permitting and other requirements are favorable.

</comment></comment></comment><comment><USER14> If Google are smart but evil they'll discriminate a lot, then force the government to sweeten the deal (which isn't crazy, given it's arguably the government's responsibility to provide infrastructure to the poor).

<comment><USER15> Discriminate? They are giving people the opportunity to sign up for their service, and bringing connectivity to those that want it.

I don't see why Google should be forced to support users that don't want to pay for their service, unless it was part of their original deal with Kansas City (which I expect it wasn't).

<comment><USER16> Discriminate doesn't mean being bad. People get confused with English having several definitions of discriminate some being bad socially (like discriminating against people because of their ethnicity). If Google choses to discriminate based on neighborhood interest that is a sound economic decision.

The tricky political issue (in this particular instance) is if there is a correlation between the neighborhoods choosing to participate and ethnicity and Google ends up running fiber to a bunch of white neighborhoods and not to a bunch of African American neighborhoods.

If the rich white neighborhoods all decided it wasn't worth it no one would care if Google didn't run fiber to them. Most social scientists would say the issue of poor not having access is a concern that society should care about. But if there isn't an ethnicity component I doubt it has any political "heat."

If I was Google and the poor neighborhoods were too underrepresented I would likely create a some system to make it easier for at least some lower income areas to get fiber. This is all a bigger game plan for Google - not really an attempt to get rich off KC. I, and I believe Google, thinks fiber to everyone is good. It might be Google can't afford to do that given the real economic conditions. Even in that case hook some up, provided data for the government to decide if it is a social need worth funding (if it doesn't end up working without government help).

Google wants to find a solution that shows what they did in KC can be done across the country. If it is just for the rich 15% that doesn't help Google much. They want to find a solution that works to get fiber, at reasonable prices, with net neutrality to a huge portions of the USA (certainly above 70%).

If they need to tweak their starting plan I am pretty sure they will do so. They are pretty smart most of the time though, they do behave idiotically at times. Like how horrible their help systems are still (they can't organize even just the information they create to help people use software they write even today).

</comment></comment></comment><comment><USER17> I can hear this guy talking. But is he saying anything?</comment>