Ask HN: How much raise should I be looking for when moving to US from India? - <AUTHOR>

I'm a Software Engineer working remotely from India. My current compensation is $200K. My current employer wants me to move to San Francisco. I've read that the cost of living there is very high compared to the other cities in the US itself and several times when compared to India. To address my concern, my employer has promised to increase my compensation to $250K. I have two questions here:
1. Does the raise justify the increase in the cost of living there?
2. If the answer to 1 is not, what is a reasonable equivalent compensation?
While looking for an answer online, I found an equivalent income calculator[0] based on PPP. It tells me that the equivalent salary in the US should be ~$714K. That number looks rather outrageous. Hence, this post.
[0]http://salaryconverter.nigelb.me/ <comment><USER3> That's quiet a high salary you currently get. Usually when foreign companies hire developers in India, they do it to reduce costs(for what you get, your company could easily hire 5 really good developers, or 10 good ones). I'm guessing that your company believes that compensation should be based on what they believe the developer is worth and what they are willing to pay, instead of where the developer lives.

$250k/year is probably twice the median salary for a developer in SF. Yes it's not quiet the same as it would be in India, but still is pretty good. I personally would take it, just because I feel it's a better place to live and work.

To put it into perspective, Google pays it's CFO a base salary of $650K a year. Of course there are bonuses, and stock options that make it much more than that, but I doubt you'll get anywhere close to what the converter says.

<comment><AUTHOR> @elssar: Yes, my company actually pays based on what the developer is worth and pays the same amount for same work across the world.

>I personally would take it, just because I feel it's a better place to live and work.

This is what is vexing me. I feel the same but I know that my family would need to make some pretty big lifestyle changes if I were to move there.

Thanks for the Google's CFO base salary number. That puts the converter out of equation now.And thanks for your overall perspective too.

EDIT: The salaries in product companies in India have significantly gone up in the last year and a half with so many FIIs pouring in funds. So, I think $200K would only get 2 good developers at my experience level now.

<comment><USER3> > my family would need to make some pretty big lifestyle changes

That is something I don't have to consider. That makes the decision harder. I know someone who chose to work on his own startup in India, over moving to Mountain View, because he didn't want to move his family there.

</comment></comment></comment><comment><USER4> The math will always come out in favor of staying in India with a $200K salary versus moving anywhere else in the world.

However, based on your other answers about what you do, it's unlikely that this current $200K salary is sustainable. Your company can easily replace what you do with a local developer for less than $200K. They are actually doing the right thing by giving you the option to stay and move to the US.

The bigger question is, do you want to stay in India and can you accept living there with something closer to a market salary in India?

The way I see it, your savings/spending rate has to go down either way, so you might as well come visit for 2 weeks and see how you like it, and then decide.

<comment><USER5> > However, based on your other answers about what you do, it's unlikely that > this current $200K salary is sustainable. Your company can easily replace > what you do with a local developer for less than $200K. They are actually > doing the right thing by giving you the option to stay and move to the US.

This is the most important thing to consider here, in my opinion. So OP, answer this: You're fired from the company tomorrow, and you're out looking for a job again. Where would you rather be? Which market would you prefer to sell your services to? You're already making a killing, and you will continue to make a killing after moving to the US. What happens _after_ this gig is what's important here. This is potentially a rest-of-your-life decision. You can always move back to India.

</comment></comment><comment><USER6> 1\. Absolutely not.

2\. That's hard to answer really: That's a life-changing decision. Living in SF might be liberating for some and very daunting for others. SF has a (considerably) lower pay-check in your case but it might offer you opportunities (startups, job offers, career choices, etc.) that you will probably not have access too in India.

The 714k as a starting salary is out of proportion, you're never going to get that in cash, but to me at first glance seems rather accurate as _disparity indicator_ between making 200k in India and 250k in an expensive US city like SF.

<comment><AUTHOR> Thanks for your inputs! _Disparity indicator_ is a nice phrase to know. I had not considered it from the opportunity perspective but will add it to the list of pros and cons. Some of the cool start-ups I'd love to work with are definitely in SF.

</comment></comment><comment><USER7> Payscale shows The top salary for a software engineer in Índia to be around 130k USD. If we are talking about The same currency, and considering India's economic reality, I'd say you have the sweetest deal ever. Why move to SV and barely be able to pay the bills with a 250k USD salary? Of course money isn't everything and it might be a great cultural experience, but since you ate asking here, I assume that's not your priority.

<comment><AUTHOR> Thanks for the answer. Yes, cultural experience is not my priority right now though I like visiting from time to time and interact with diverse individuals.

</comment></comment><comment><USER8> Disclaimer: I moved to the US from India as a teenager and now I am in my 30s. I visit india often. So I have a few things to share.

Moving to US from India should not just be about salary even though a salary of 200K is decent anywhere in the US even an expensive place like SF. But I will give you more things to consider than just salary:

1\. Health Insurance. This is a huge one in the US. Very expensive if you pay anything out of pocket and you are at your employer's mercy for this. OF course good employers have good plans BUT what if you have to get your own ? Imagine this. Without insurance, a lot of places will give you a HUGE bill even for basic things like X-ray which are commodity in India. Yes there are lot of pluses compared to India but the costs of health in US is a huge factor to consider specially if you will live here for a long time.

2\. Cultural differences. Another biggie. How open are you and your family (if married) ? Even if you are from an Indian metro (mumbai/delhi etc), the culture in the US is very different. People are a lot more independent and on a general basis, like their privacy. Indian culture is more about sharing. For example little things like salary discussion to religion to more personal things. Ppl here like to be left alone (again i m not generalizing but you get the point).

3\. Access to human resources or labor. This is another biggie. In india, even if metros, you can hire a nanny real cheap. For like 5000 Rs a month, you can get a decent nanny for kids. That is less than $100 A MONTH!! Here, anything less than a $1000 is extremely unlikely to get you a decent service. That is 10 times more. I am sure this number is even higher in SF (more like 2K?). Want to hire a cook ? forget about it because not happening for $100.

So the point is that there are lot of things that Americans do on their own as access to labor is not cheap. Not the case in India. If you are used to having people do work for you in India, you will have to be a multi-millionaire to get the same service in US.

And last, think hard about the cultural differnces again. Are you willing to mingle with the local culture ? Are you willing to understand before judging ? Initially, a lot of things/people will seem weird to you but remember, they will think the same about you. Take your time, learn the culture and then try and take the good things out it and ignore the bad stuff. Don't be too one sided in your thoughts.

In my honest opinion, unless you are ok with all the points above, 200K in India beats 250K in SF hands down. You are like the top 1% in India and not even top 10% in SF.

<comment><AUTHOR> I am going to discuss insurance with my employer. It looks like it is a pretty big deal in the US.

We've visited several countries in the past. So, cultural differences should not be a big problem but since so many people are emphasizing on this point, I think I'll come and stay for a few weeks as a worker rather than as a tourist and check it out again.

3 is definitely what is troubling for my family which is used to such comforts now.

Thanks for all your inputs!

</comment></comment><comment><USER9> What about US insurance? Travel costs? Relocation costs? Etc.

The baskets of goods that most PPPs use are usually skewed towards basic necessities rather than goods that middle/upper class people spend most of their money on. So wouldn't look at that.

<comment><AUTHOR> Interesting. We haven't discussed anything about insurance. They are willing to reimburse the travel cost for me. I'll need to buy tickets for my wife though. I haven't really considered relocation costs but I think that'll be a one-time expense.

</comment></comment><comment><USER10> Wow. Nothing can match a 200k salary for a dev in India. SFO is intellectually more satisfying but maybe you can do a to and fro for a few weeks in a couple of years.

</comment><comment><USER11> Partly out of curiosity, but it also might help get an accurate answer - <USER2> kind of work are you doing?

<comment><AUTHOR> That's actually a little hard to describe exactly. In short, I do whatever needs to be done on the technical side of things - from front-end development to setting up the servers. There are two particular things that I think I'm good at - debugging and performance tuning.

I think I'll be able to call myself a full-stack developer in a few years time but for now I'm happy to be called just a RoR web developer.

<comment><USER12> Don't sell yourself short. You're a full stack developer currently. Your salary reflects that (and then some).

<comment><AUTHOR> Yeah, at times I like to think so but I've had so many humbling experiences that I'd wait a little longer before making that declaration.

I had once worked with a senior colleague who would run process traces on the live Oracle database and uncover bugs in Oracle's code. I am at the level where I can find bugs in open source code bases about which I've no idea but not where I can find bugs only with the binary.

Then again, I see so many comments on HN about which I've no idea and which still seem relevant to what I do.

So, you see where I am right now.

<comment><USER12> Seems like you're confusing seniority with your general role. It's alright to be a mid-level full stacker. :)

<comment><AUTHOR> Agreed.

</comment></comment></comment></comment></comment></comment><comment><USER13> I doubt the converter would work accurately beyond the salary bellcurve.</comment>


We Made It! Google Selected Clojure for Summer of Code - <AUTHOR> http://clojure-gsoc.org//2017/03/06/we-made-it.html <comment><USER2> Awesome!</comment>


Ask HN: Is there a guide to applying for a new SWE job for the first time? - <AUTHOR> Been 3 years at my first post grad job and it's time for a change. I've collected a couple of potential ads which look nice. But I have no idea where to start in terms of preparation - DS and algos - is there an ultimate guide somewhere for this? <comment><USER2> Hi,

I have created an ultimate guide for technical interviews:

[http://www.codespaghetti.com/interview- success](http://www.codespaghetti.com/interview-success)

It contains full interview process, how to prepare, interview questions, resources, tips and tricks.

I have created this guide after my 10 years of both giving and conducting technical interviews.

And If you follow through this guide, you will learn enough to crack any technical interview in the world.

Good luck</comment>


Yahoo Board to Weigh Potential Sale of Internet Business, Sources Say - <AUTHOR> http://www.wsj.com/articles/yahoo-board-to-weigh-potential-sale-of-internet-business-sources-say-1449015461 <comment><USER2> Let's say the first domino falls and they decide to sell. Next Google buys them and converts all Yahoo! search traffic to Google search traffic. That leaves Mozilla in a really odd spot. Most of their revenue comes from Yahoo! so they would eventually have to either go back and make a deal with Google or move over to using Bing as their default.

Search engine competition gives Mozilla an upper hand at the bargaining table, this could be not great for them.

<comment><USER3> Wouldn't such a merger be prevented by anti-trust laws or something?

<comment><USER2> I don't know. I'm not a lawyer.

<comment><USER4> Neither do the lawyers, usually.

<comment><USER5> [http://www.unclaw.com/chin/teaching/antitrust/herfindahl.htm](http://www.unclaw.com/chin/teaching/antitrust/herfindahl.htm)

disclaimer: recovering attorney who studied this in law school long ago. no longer practicing.

</comment></comment></comment></comment></comment><comment><USER6> > Activist investor Starboard Value LP last month called on the company to > halt its Alibaba spinoff and instead find a buyer for its Internet business. > In a letter to Yahoo, Starboard said its position changed following the > federal government's decision not to rule on whether the Alibaba spinoff > would incur billions of dollars in taxes.

Does anyone know anything about Starboard Value LP? What is an activist investor? The term itself screams adversarial. Do all CEO's have to deal with this? I can't imagine having to both plan how to pull a company out of the water and have to deal with people outside of the company who think they know better.

<comment><USER7> An Activist Investor is an investor who purchases a not-insignificant stake in a company in order to pressure the board into making a decision that will make that investor a lot of money, generally in a very short period of time. The high-profile investors tend to want to shutter the company completely or to downsize immensely. Basically gut, maximize profits for a quarter or two, and sell.

Biggest example is probably Carl Icahn. He's well known in the tech world for trying to do these types of things to Apple, Netflix, and Dell. Not sure about the others, but Netflix actually has a Carl Icahn rule that prevents any one investor from gaining too much control. If I remember correctly, Icahn sold his stake almost immediately after the rule was put in place.

<comment><USER8> Netflix adopted a poison pill ([http://money.cnn.com/2012/11/05/technology/netflix-poison- pi...](http://money.cnn.com/2012/11/05/technology/netflix-poison-pill/) \- more professionally labeled a shareholder rights plan) to prevent Icahn from getting too crazy; he was basically threatening to make Netflix acquisition- bait. Icahn recently sold off his Netflix stake, but managed to make a ridiculous amount of money as the company saw some solid growth while he held a position.

</comment></comment></comment><comment><USER9> Reminder: in 2008, Microsoft offered to buy Yahoo for $45 billion, and Jerry Yang turned them down. Whatever they get for the core business (which, as jonkee says, the street thinks is worth nothing), I'm guessing it's going to be a lot less than $45 billion. something something looking a gift horse in the mouth.

<comment><USER10> Microsoft has probably burned in that neighborhood to get Bing to where it is now, they probably would have been better off if they had been able to close that $45b deal.

<comment><USER11> That's an unreasonably high estimate, and there is some data to support the idea that it's unreasonable[1].

Microsoft has been losing, at most, a few billion[2] a year on Bing. Assuming they've spent $45B since 2009, that's $6.4B per year spent on Bing. A net loss of $2B on Bing would mean Microsoft is making $4.4B per year, which isn't in the ballpark.

1\. [http://www.businessinsider.com/chart-of-the-day-microsoft- on...](http://www.businessinsider.com/chart-of-the-day-microsoft-online- operating-income-2012-10)

2\. [http://hal2020.com/2013/01/18/about-that-2b-annual-loss- from...](http://hal2020.com/2013/01/18/about-that-2b-annual-loss-from- microsofts-search-business/)

<comment><USER10> Even if the real number is only in the $20-30B range I'd still consider that "in the neighborhood" as I said. And they would have had a much stronger start by not having to build a brand from scratch.

<comment><USER11> I take your point, but I want to add a couple more things.

Buying a company costs a _lot_ more than the purchase price. Due diligence, regulatory compliance, legal expenses, HR expenses, lost productivity due to changes, employee turnover, and other factors put a huge premium on top of that price.

Plus, a company that you buy has its own cash-flows, assets, and liabilities, and those might be costly, too. It's not always a good idea to buy a ship that's slowly sinking.

I think Microsoft has done incredibly well without Yahoo, and it's also using Bing in interesting ways that don't require direct competition with Google (powering Cortana, for example).

<comment><USER12> You forgot break-off risks related to the buyer.

</comment></comment></comment></comment></comment></comment><comment><USER13> here's the reason why every six months you read this same headline:

previous yahoo investors invested with almost zero dividends. that means, yahoo kept all its profits.

now yahoo is still profitable, it's just not growing as fast as the competition. those money reserves are still in the bank.

new investors think they can just pony up a few dollars for YHOO shares, pay a magazine to say yahoo is worth nothing, and convince the board to force a sale.

that would then expose those big money reserves to the current holders, giving them instant huge profits for nothing.

and this is the reason you see that every six months.

</comment><comment><USER14> They have a robust delivery platform. I have no idea why they don't hire a notable CEO and entertainment team snatched from the entertainment industry and start producing content like Amazon.

<comment><USER15> Is there any evidence that Amazon's original programming is anything more than a loss leader to sell Prime subs and increase the amount of stuff people buy through Amazon? Loss leaders only work when you have some sort of gain follower to go with it.

(And they DID try this, with Community and Other Space.)

<comment><USER14> I am sure it did lose money but the series is still an asset, much like rental property. Breaking Bad, The Shield, Mad Men will be making money for years in streaming, syndication releases, and whatever technology is next. Breaking Bad and The Shield cost more than the advertising dollars brought in but they are profitable now.

</comment></comment></comment><comment><USER12> Nice to have a board that leaks like a sieve.

<comment><USER16> Agile board!

<comment><USER12> Move fast and break stuff...

</comment></comment></comment><comment><USER17> This is the third #nottheonion article today. "Ford considers selling off car business".

<comment><USER18> Where did your read that? It would be really huge news here in Michigan.

<comment><USER19> I think the joke is "isn't that all they do?"

Obviously it's not true for either company. Like any corporation that big the revenue sources are diverse.

<comment><USER18> Well in the case of Yahoo I think that it is only a matter of time. You could buy Yahoo, sell the shares in Yahoo Japan and Alibaba and end up with Yahoo for free and have a couple of billion dollars in the bank to boot. This is a takeover artists dream deal.

</comment></comment></comment></comment><comment><USER20> It's interesting that they are talking about the Board directly and not Marissa Mayer. Is it common for the press to do so ? Isn't the CEO like the spoke-person of the board of investors ? Why would the board side step the CEO that way in the media ?

<comment><USER11> > _It 's interesting that they are talking about the Board directly and not > Marissa Mayer_

They're talking about something the Board, and not Marissa Mayer, is doing. Marissa Mayer is not deciding these things. There's no reason to bring her up.

> _Is it common for the press to do so ?_

It depends on the situation. If the Board is doing something, the media talks about the Board. If the CEO is doing something, the media talks about the CEO.

The first confusing exception is when the CEO owns most of the company, which makes the Board irrelevant. This is the case with Facebook: Mark Zuckerberg owns the majority of voting shares, so he has absolute control over Facebook. The Board has no power to overrule his decisions as CEO.

The second confusing exception is when the CEO and Chairman of the Board are the same person. This was much more common in the past.

> _Isn 't the CEO like the spoke-person of the board of investors ?_

No, unless the CEO is also the Chairman of the Board. The CEO can have very conflicting opinions and actions compared to the Board.

<comment><USER12> > The CEO can have very conflicting opinions and actions compared to the > Board.

Which usually does not end well for the CEO.

</comment></comment></comment><comment><USER21> Wall Street was valuing the web businesses as worthless so this should be interesting (Yahoo's total market cap was about equal to its remaining stake in Alibaba). Shares are up 5% after hours on the news.

<comment><USER22> Actually many times Yahoo had negative valuation (ie: Yahoo market cap was lower than Yahoo shares in Alibaba, thus if you discounted Alibaba value, Yahoo had negative value).

<comment><USER21> There are still big tax issues with the Alibaba stake so that definitely has something to do with it. If they can get it to be a tax free spin off the value should increase quite a bit.

</comment></comment></comment><comment><USER23> The most stupid decision was to stop their own search engine based on Hadoop (Yahoo run the largest Hadoop cluster ~ 2009). Nowadays Yahoo could run their own cloud hosting platform, etc.

<comment><USER24> Stupider than deciding to shut it down and outsource to Bing was outsourcing and not shutting it down. (outsourcing to Microsoft was a poor decision as well: Microsoft did about as well for Y! as Y! did itself with less flexibility; but outsourcing to google again was nixed by regulators)

<comment><USER25> Search still is a significant source of revenue and growth for them.

1\. [http://adage.com/article/digital/yahoo-s-display-search- reve...](http://adage.com/article/digital/yahoo-s-display-search-revenues- growing/298173/)

</comment></comment></comment><comment><USER26> What are they without the "internet business"?

<comment><USER27> Compelling investments in Alibaba and Yahoo Japan.

<comment><USER26> Yes, but what's the point of existing?

Sell the investments, return money to all shareholders. Bye bye Yahoo.

<comment><USER28> If they sell the investments they have to pay taxes on the gains. These tax issues are the driving force behind everything going on at Yahoo right now.

</comment></comment></comment></comment><comment><USER29> The idea makes a lot of sense, but why can't Yahoo! simply spin off their core business? They ran into troubles spinning out the Alibaba stake, but spinning themselves out would split their valuable Asian assets from their core business, which has an implied negative valuation. Would the IRS frown upon them leaving behind what is effectively a holding company?

</comment><comment><USER30> What I can't understand is why they already spun off Yahoo Small Business to the holding company for the Alibaba stock, Aabaco. [https://www.aabacosmallbusiness.com/](https://www.aabacosmallbusiness.com/)

</comment><comment><USER31> I've always thought of companies as mining a local maxima of their solution space.

Whatever you say about Yahoo! They are extraordinarily successful at extracting the maximum revenue for display advertising. I'd let them sell display ads for me.

</comment><comment><USER32> oh no! please keep yahoo yql finance api up and running! i need that data feed

<comment><USER33> Yahoo Finance is the only reason I ever go to Yahoo. I feel like they could beef up their finance news and products and do something with that.

</comment></comment><comment><USER34> Bah paywall.

<comment><USER35> scroll to the top and click 'web'

<comment><USER34> Yeah, thanks. I was impatient last night. :-/

</comment></comment></comment><comment><USER36> Steve Ballmer will buy Yahoo after all.

</comment><comment><USER37> Goddamnit, time to migrate everything off Flickr. Anyone got good alternatives? I only need ~50GB of space.

<comment><USER38> I've been really happy with 500px. Their interface is quite pain-free to use. They're more geared towards photographers looking to host their portfolio

<comment><USER39> I'm having issues with both the philosophy and more, the forced square cuts of 500px.

Also: [http://www.naturephotoguides.com/blog/photo-consumption- conf...](http://www.naturephotoguides.com/blog/photo-consumption-conformity)

<comment><USER38> I agree with the popularity aspect being sort of a pissing contest. As for your concern regarding the forced squares--I assume you're talking about the layout of portfolio photos--they seem to have moved away from that a bit, with wide landscapes being more reasonably displayed. They actually updated a bunch of their UI as of late. It's not the ideal service but unfortunately I don't know of any other options that are much better overall as mentioned in the piece you linked.</comment></comment></comment></comment>


Switch.co finally has a native mac app - <AUTHOR> https://www.switch.co/download <comment><AUTHOR> Be sure to scroll down, as it still shows the Chrome app at the top, but as of Monday they list a Mac app lower on the page.</comment>


Airbnb for physical goods, lease your items to others - <AUTHOR> https://www.daylui.com/ <comment><USER2> \- The item detail page doesn't show the distance. The actual location is hidden on the map tab.

\- Show information on packaging? If I rent an Xbox with 60 games. Do I get that in multiple bags. In a sport bag. In a case ... ?

\- I found objects by the same user in vastly different locations (i.e. London + Rio de Janeiro)

\- AirBnb only shows a rough location. Never a specific location due to security. It seems that you show the precise user location.

\- You expose quite a bit of server information through HTTP headers... X-Powered-By: PHP/5.5.9-1ubuntu4.14

</comment><comment><USER3> It's not like it wasn't tried before, e.g. with tools.

<comment><USER4> This has been tried a couple times. At least 2 of the categories here, drones and cameras, are just begging to have disputes over damage.

Need to think about the model more if it is going to have a chance to succeed. As it is now it will now.

</comment></comment><comment><USER5> Cannot sign-up because my name is Bøcker-Larsen. Really?</comment>


Python Bytes Podcast – Episode 12 - <AUTHOR> https://pythonbytes.fm/episodes/show/12/expanding-your-python-mental-model-and-serving-millions-of-requests-per-second-with-python <comment><AUTHOR> [http://pythonbytes.fm/12](http://pythonbytes.fm/12)

* Python Functions aren't what you think: Functions are objects. The name of a function is just a variable name referring to the object.

* The Tao of Python: Jupiter notebook discussion of the relationship between objects, classes, and metaclasses.

* Why Learn Python? Here Are 8 Data-Driven Reasons

* Testing Python Applications with Pytest

* A million requests per second with Python

* RethinkDB is alive and well

* Python Top 10 Articles for the Past Year (v.2017)

* Red Hat Software Collections for Python 3</comment>


I Want Off Mr. Golang's Wild Ride - <AUTHOR> https://fasterthanli.me/articles/i-want-off-mr-golangs-wild-ride <comment><USER2> Fine article, but flagging as dupe:

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

717 points by whatever_dude 4 months ago 498 comments

</comment><comment><USER3> tl;dr Windows sucks, and Go sucks on Windows.</comment>


It's France's Turn to Worry About Election Meddling by Russia - <AUTHOR> https://www.nytimes.com/2017/04/17/world/europe/french-election-russia.html <comment><USER2> How is this different to the US/Britain meddling in the French Election? - [http://www.latimes.com/entertainment/tv/la-et-st-john- oliver...](http://www.latimes.com/entertainment/tv/la-et-st-john-oliver- french-election-marine-le-pen-20170417-story.html)</comment>


Rare 'polio-like' disease reports in California - <AUTHOR> http://www.bbc.co.uk/news/health-26289614

<comment><USER2> Kind of scary. Here in the San Francisco Bay area I had a bad cough a few weeks ago for the first time in a long time. I felt bad for taking BART into SF and potentially getting others sick. A lot of people have been sick, working from home. Probably not related.

<comment><USER3> Are you a kid? Cause the article implies that only children are affected.

<comment><USER2> No. But what's affecting kids might be spreading among adults as well, without causing symptoms.

</comment></comment></comment><comment><USER4> Anyone else think this is weird being reported by the BBC?

<comment><USER5> I guess he meant "they reported it first, instead of any other major US news outlet"

<comment><USER6> The LA Times is a major US news outlet which reported it: [http://www.latimes.com/local/lanow/la-me-ln-polio-like- paral...](http://www.latimes.com/local/lanow/la-me-ln-polio-like-paralysis- california-20140223,0,4064386.story) .

It's being distributed through the AP. There are 18 newspapers listed on Google News which reported on this in the last 24 hours: [https://www.google.com/search?hl=en&gl=us&tbm=nws&authuser=0...](https://www.google.com/search?hl=en&gl=us&tbm=nws&authuser=0&q=polio- like&oq=polio-like&gs_l=news- cc.3..43j43i53.243.1911.0.2322.214.171.124.22.214.171.124.530.1j2j1.4.0...0.0...1ac.1.GlCOtSJgBVQ) .

For what it's worth, West Nile virus can cause polio-like paralysis( [http://www.dallasnews.com/news/metro/20140211-west-nile- trig...](http://www.dallasnews.com/news/metro/20140211-west-nile-triggered- millions-in-hospital-costs-lost-productivity.ece) and [http://www.newyorker.com/online/blogs/elements/2014/02/the-l...](http://www.newyorker.com/online/blogs/elements/2014/02/the- limbo-between-a-life-worth-living-and-death.html) ).

<comment><USER4>
      I guess he meant "they reported it first, instead of any other major US news outlet"

This is exactly what I meant. In hindsight, I hadn't checked other news outlets (it's clearly evident that they had already reported on the topic), and I suppose it's not all that strange because there may well be BBC representatives in California, or at least in touch with people in California. It was a very poorly thought out comment, and I apologize.

<comment><USER6> It appears that the news articles (Google News now reports 149 hits for the term "polio-like") are due to the following:

[https://www.aan.com/PressRoom/Home/PressRelease/1246](https://www.aan.com/PressRoom/Home/PressRelease/1246) (EMBARGOED FOR RELEASE UNTIL 4 PM ET, February 23, 2014)

> PHILADELPHIA – UPDATE: The research study authors related that there are now > between 20 and 25 reported, suspected cases of this polio-like syndrome. > Researchers have identified a polio-like syndrome in a cluster of children > from California over a one-year period, according to a case report released > today that will be presented at the American Academy of Neurology's 66th > Annual Meeting in Philadelphia, April 26 to May 3, 2014.

There's no reason to have a physical presence in California. For example, the writer might be on a mailing list for announcements from the AAN, and perhaps even access to the embargoed information. Make a few phone calls (including to the researchers in California) and the article is done.

</comment></comment></comment></comment></comment><comment><USER7> Reminder that vaccines may not always be safe. Often when vaccine safety comes up, people with concern are "voted down".` The fact is, not all immune systems are the same and some cannot handle particular vaccines. An attitude of "most scientists think it's safe" is not real science; it's a appeal to authority. We need to figure out why some are endangered by some vaccines.

<comment><USER8> No -- An attitude of "someone on HN says 'vaccines may not always be safe'" is not real science.

Unless you want to provide any actual studies to back up your claim, you're just spouting the sort of pseudoscience that gets children killed.

While it's true that some very small percent of the population can have an allergic reaction to some vaccines, the risk of your child dying from, say, polio is much much higher than the risk of him/her dying from the vaccine.

<comment><USER9> > the risk of your child dying from, say, polio is much much higher than the > risk of him/her dying from the vaccine.

That isn't the case, assuming you're non-Amish in the US is it? The last naturally occurring case of polio in the United States was in 1979, and health officials consider the disease eliminated in the Western Hemisphere. So your risk of contracting wild polio is effectively 0.

If the death risk of the polio vaccine is 1:1,000,000, you would still have a higher risk of dying from the vaccine.

NB: I believe in vaccines, but I don't think it's wise to try and make arguments in the quoted way.

<comment><USER10> > So your risk of contracting wild polio is effectively 0.

Hardly. Polio has been detected in sewage in the Middle East (multiple countries). So far the only actual cases are in Syria, but that's pure luck (1% chance per disease per person), it could spread very very easily.

<comment><USER9> I can't believe you quoted that and missed where I said specifically I was talking about the non-amish US population, and the western hemisphere.

<comment><USER10> I didn't miss it at all. That was _exactly_ what I was replying to!

There is this perception of immunity in the US, but people travel. A lot. If the US slows down polio immunization they will see cases.

(Not sure what Amish has to do with it, but Amish have lots of contact with non-Amish people. Most especially they grow food which is a very common vector.)</comment></comment></comment></comment></comment></comment>


New York's high-rise jails: what could go wrong? - <AUTHOR> https://www.theguardian.com/cities/2019/dec/09/new-yorks-high-rise-prisons-what-could-go-wrong <comment><USER2> I believe building massive jails within the city is not a good idea and will do more harm than good, especially with a lack of privacy and having so many people living in such a small space. This is not a solution.</comment>


Ask HN:The actual benefit of Open Courses? - <AUTHOR>

I just joined my college this year. I was not at all satisfied with the teaching done at my college, so I started to search for materials which will aid my learning (and in some subjects entirely do the part of the lecturers). I knew about MIT OpenCourseWare but knew that wouldn't help in the least bit for two reasons, one it is made to be taught at MIT so sometimes it may go above my head, second...umm...because it is made to be taught at MIT...so it would not match the curriculum taught at my college. So then after some research I found about NPTEL(nptel.iitm.ac.in) while searching for video lectures on YouTube(I feel ashamed that I didn't knew about what my countries Elite Universities are doing in the first place and knew about MIT, but more on that later). I looked at some videos and quickly realized the content absolutely,and I quote, "god sent". I have not seen much due to bandwidth issues (which will be solved next month with an unlimited connection), but it was enough of a stimulus for this question to come into my mind:-
"What exactly is the actual benefit of Open Courses like NPTEL and MIT open course ware?"
I ask anyone who has used such means for his personal education: When you think of being tutored by the High Priests of engineering in india the IIT professors but in an long distance way, what is the main advantage you get above people not using it. Like is it just about better marks?Or a better understanding is what matters to you?In anyway you are going to get a degree from whatever college you are in, then why opt to give time to such an activity.
Disclaimer: In the above post I in no conceivable way am denying the importance and significance of such initiatives.This post is just for an academic discussion :) <comment><USER2> _I knew about MIT OpenCourseWare but knew that wouldn't help in the least bit for two reasons, one it is made to be taught at MIT so sometimes it may go above my head,_

So? If something goes over your head it's just a sign that you need to learn prerequisite concepts. Click pause and read a more introductory text, even wikipedia helps to clarify things. Then go back to following the lecture and it shouldn't be too difficult anymore.

Not wanting to take difficult courses is a sign of laziness, and unwillingness to push yourself to keep pace.

 _second...umm...because it is made to be taught at MIT...so it would not match the curriculum taught at my college._

Who cares? You would be a dysfunctional human being if you only learned what it's prescribed in school curricula. In fact, the school syllabus is an invisible fence that could hold a mind captive; smart students learn to rush it, jump over, and run free in the vast open fields of knowledge.

Get over your obsession with school brands, btw. You need to lose that respect you have for "esteemed" institutions, specially the ones in India, like IIT, which are intellectual concentration camps. The students there are miserable, what not with all the pressure from parents and society.

<comment><AUTHOR> Well nice reply dear, exactly what I was thinking this morning (a sleep indeed helps to clear up your thoughts). To tell you the truth, I never dreamed of joining the IITs, didn't even give the JEE. But that was because I knew without a two year preparation (which I just didn't have) I couldn't compete to get my desired subjects, and I am just too stubborn to study subjects like ocean engineering or mechanical engineering even at the IITs because I don't like these subjects. But on the other hand I wanted to go in the research field and knew of the importance of a degree from a very good college. When I went on a flunked my AIEEE, and had to settle for a state level college I was crushed. That was the seed for my obsession with the brand name. Trying to get over it but I find myself attracted towards every ad in the paper or TV from IITs or IISc or other foreign elites and just can't stop thinking about them. While on the other hand I would not want to waste an year (that too after I have secured admission in a very prestigious college of my state).

I know I am messed up, but should get over it in time.</comment></comment>


What can Jevons' Paradox tell us about energy law? - <AUTHOR> http://www.questionable-economics.com/jevon/

<comment><USER2> One positive way of looking at this is we can get Jevon's Law to work for us by applying it to renewable energy sources: something that we see right now. As the price of solar energy in the home falls, we'll see increasing adoption, and it will be put to more uses. At some point, it will fall to the point that it becomes attractive to commercial users.

I'm not trying to imply that this will happen automatically, of course. However, there's ample opportunity to get a virtuous cycle of efficiency and increasing demand for renewable energy.

</comment><comment><USER3> Except it isn't counter-intuitive at all, even to undergraduate economists.

All the interesting economic decision activity takes place at the margin, efficiency improvements move the margin and the unprofitable becomes profitable.

It's not even paradoxical.

<comment><USER4> But it's extremely counterintuitive to the general public, which favors energy efficiency mandates (even more than energy taxes or cap-and-trade) as a means to reduce energy usage, without realizing that such measures may actually increase energy consumed, while leaving you with worse products.</comment></comment>


Uber's Operating and Marketing Chiefs Step Down in Leadership Shakeup - <AUTHOR> https://www.bloomberg.com/news/articles/2019-06-07/uber-operating-marketing-chiefs-step-down-in-leadership-shakeup-jwmiwpn8 <comment><USER2> From uber's S1, pages 235,236,239,240: [https://www.sec.gov/Archives/edgar/data/1543151/000119312519...](https://www.sec.gov/Archives/edgar/data/1543151/000119312519103850/d647752ds1.htm#toc647752_14)

It looks like Hartford walks out the door with at least $10M (based on IPO price) in immediate stock vesting due to his termination.

</comment><comment><USER3> I see they waited until Uber finally returned to their IPO price.

<comment><USER4> Well yeah, I'm still not convinced that the market is bullish on Uber and Lyft.

</comment></comment><comment><AUTHOR> The outgoing COO earned up to $47.6 M for his performance in the men's individual fail: [https://twitter.com/MikeIsaac/status/1137125244756357120](https://twitter.com/MikeIsaac/status/1137125244756357120)

<comment><USER5> Earned up to is correct but somewhere less than that amount since he wasnt there long enough.

<comment><USER6> The actual values are in the S1: [https://www.sec.gov/Archives/edgar/data/1543151/000119312519...](https://www.sec.gov/Archives/edgar/data/1543151/000119312519103850/d647752ds1.htm)

Under Potential Payments Upon Termination or Change in Control.

</comment></comment></comment><comment><USER7> Doesn't bode well for their path to profitability.

</comment><comment><USER8> Always happens when a new CEO comes on board. I'm surprised it took Dara this long, but I guess his first job was to get Uber out of the PR nightmare and through IPO.

<comment><USER9> except that in this case, the new CEO is the one who hired the COO and brought him on with him

<comment><USER10> Marissa did this at Yahoo as well. [https://techcrunch.com/2014/01/28/marissa- mayer-on-henrique-...](https://techcrunch.com/2014/01/28/marissa-mayer-on- henrique-de-castro/)

<comment><USER11> I'm sure there are hundreds of CxOs coming and leaving within one CEO's reign. Is there any reason to single our Marissa Mayers?

</comment></comment></comment></comment><comment><USER12> Uber used to work so well for me but ever since Travis left the service has rapidly degraded to the point where I try not to use it if I don't have to. This goes double for Uber Eats. I don't know if the original leadership change caused to problems but it's very noticeable. The software used to be very tight (for lack of a better word). Responsive, always did what I wanted. Always a satisfying experience. Now it's slow, laggy, more prone to drivers flaking, has arbitrary UI changes... Sadly none of the competitors offer a UX on par with early Uber.

<comment><USER13> Did you ever think that maybe drivers are flaking more now because Uber realizes as a company they eventually need to to make money, and therefore they need to cut how much drivers get, and now drivers are picky over what rides they take, and it has nothing to do with Travis?

<comment><USER14> I'm not sure if Uber is actually paying drivers significantly less or if drivers have simply wised up to the full costs of driving for a ride sharing company + the jobs market is better than it was a few years ago so there are fewer people who need to drive just to make ends meet.

I have personally noticed that overall average cost of Uber/Lyft for me has gone up over the last year or so unless there's a promo going on. It's now to the point where I think twice before hailing a ride instead of driving myself or looking for another option.

<comment><USER15> > I have personally noticed that overall average cost of Uber/Lyft for me has > gone up

I took a taxi last month for the first time in something like 6 years because uber was 15 minutes away and surging. The taxi was already there and cleaner than almost any uber ive ever taken - and cheaper than the surge.

<comment><USER16> I find that metered taxis are cheaper for about 80% of the trips I make. The exceptions are during periods of extremely high traffic where your Uber/Lyft Price is fixed, but the metered taxi price could really shoot up if you're sitting in traffic too long.

Essentially, unless I'm traveling in rush hour, I'm always better off taking a metered cab, and it's usually faster to boot.</comment></comment></comment></comment></comment>


Ask HN: What problems do you have on the Windows platform? - <AUTHOR>

Probably in the minority here on HN, but I love Windows, Windows Server, .NET and the Microsoft development tools - although it has to be said, I am still partial to a lot of the Alt.NET solutions.
What bug bears / pain points do you experience? As well as developing, I just love the idea of 'perfect' development, testing, deployment etc, particuarly the deployment of the same app across many servers and then a consistent upgrade process.
I'd love to know what fellow HNers struggle with on Windows because I fancy looking at building something in this area - perhaps open source, perhaps not, but either way, hopefully this can be a melting pot for those of us intereste in Windows centric software and solutions <comment><USER2> The operating system ships with absolutely nothing that I consider useful for modern development, and it doesn't ship with several things I consider crucial. SSH. A decent terminal. A decent text editor. Perl. Python. Name- your-core-Unix-tool. A decent web browser. Windows is actually quite pathetic _out of the box_.

Now, _yes_ , Windows _can_ be brought up to par (and I've done it). I am not saying it is impossible to use Windows to be productive. But, I am past the point where I see this as worth the trouble; why the hell should I spend hours downloading and installing all the things Microsoft doesn't provide (oh, and _re-install_ them, every 6 months, when invariably the OS falls apart and one has to start over)?

</comment><comment><USER3> This is of course completely subjective, but, from the top of my head:

Painful user interface. No good package management system. Instability and unreasonable hardware requirements for even simple tasks. Missing good command line tools and light-weight methods of remote administration, development and testing.

</comment><comment><USER4> Licensing. Every time I install a version of windows, it's a hassle I wouldn't otherwise have to deal with. (Also not a problem I expect you to be able to do anything about, but you asked...)

Installing programs - Ninite.com is a startup dealing w/ that.</comment>


In Toledo, Ohio, Residents Warned Water Unsafe to Drink - <AUTHOR> http://online.wsj.com/articles/in-toledo-ohio-residents-warned-water-unsafe-to-drink-1406992024

<comment><USER2> A non-login-wall version: [http://bigstory.ap.org/article/ohio-city-issues- water-warnin...](http://bigstory.ap.org/article/ohio-city-issues-water- warning-over-algae-toxin)

</comment><comment><USER3> I've been curious whether a home RO (Reverse Osmosis) filtration system would filter microcystin. I found two references, both saying it depends on the pore size and contamination level. These sources also mention other purification techniques. PDF warning for both references:

[http://www.who.int/water_sanitation_health/dwq/chemicals/mic...](http://www.who.int/water_sanitation_health/dwq/chemicals/microcystin_sections.pdf)

> Dissolved microcystins have been shown to be removed by some reverse osmosis > and nanofiltration membranes. As removal will depend of membrane pore size > distribution and water quality, site specific tests are recommended

[http://water.epa.gov/scitech/swguidance/standards/criteria/n...](http://water.epa.gov/scitech/swguidance/standards/criteria/nutrients/upload/cyanobacteria_factsheet.pdf)

> Nanofiltration and reverse osmosis are effective in removing > cylindrospermopsin and microcystin. However, site specific tests are > recommended as removal efficiency depends on the membrane pore size > distribution and water quality.

<comment><USER4> Not sure is RO can, but a regular carbon filter will remove it.

</comment></comment><comment><USER5> The bulletin: [http://www2.nccos.noaa.gov/coast/lakeerie/bulletin/bulletin_...](http://www2.nccos.noaa.gov/coast/lakeerie/bulletin/bulletin_current.pdf)

And a report from last year: [http://www.ijc.org/files/publications/Draft%20LEEP- Aug29Fina...](http://www.ijc.org/files/publications/Draft%20LEEP- Aug29Final.pdf)

</comment><comment><USER6> This not only affects water from faucets, but vegetable hydration at the grocery store, plant irrigation systems and others that I'm failing to think of off the top of my head. This is very serious. Luckily it is only Toledo and not other surrounding areas as well.</comment>


Results of the 2013 State of Clojure and ClojureScript survey - <AUTHOR> http://cemerick.com/2013/11/18/results-of-the-2013-state-of-clojure-clojurescript-survey/

<comment><USER2> Didn't see this survey in time to contribute, but I'm one of the tinkerers who's used CLJS more than Clojure. Most of what I've been interested in doing is in-browser. For my last project[1] I used a regular Clojure REPL to clarify my understanding of the standard lib and paste in little functions for testing. Don't remember why I didn't use a browser-connected ClojureScript REPL. Maybe it just didn't seem worth typing "rlwrap lein trampoline cljsbuild repl-listen" when I can type "lein repl" :P

My biggest wish is for the ClojureScript compiler to be less accepting of stupid code. I've made all kinds of moronic mistakes[2] that would ideally yield a warning or even a straight-up error, right at the source, but they don't and I just end up finding data structures full of nils at runtime. I've also hit a few traps with lein-cljsbuild[3][4]. This is all definitely improving though.

I've now started my first real Clojure project, a web app built on Luminus[5]. Luminus kind of strikes me as training wheels for Clojure. It's easy to get started with, and minimizes the sense of foreign-ness coming from a Python web development background. But I doubt I'll still use it once I have more experience, as opposed to simply putting its component libraries (Compojure, Ring, lib-noir, etc.) into a project directly. Which is fine; it fills a valuable role in the ecosystem anyway.

1\. [https://github.com/graue/dumbbell](https://github.com/graue/dumbbell)

2\. Example: [http://dev.clojure.org/jira/browse/CLJS-639](http://dev.clojure.org/jira/browse/CLJS-639)

3\. [https://github.com/emezeske/lein- cljsbuild/issues/239](https://github.com/emezeske/lein-cljsbuild/issues/239)

4\. [https://github.com/emezeske/lein- cljsbuild/issues/248](https://github.com/emezeske/lein-cljsbuild/issues/248)

5\. [http://www.luminusweb.net/](http://www.luminusweb.net/)

<comment><USER3> The intent behind Luminus is that it's training wheels, but you're still using the "real" tools you'll use when you're making your own services. It's a way to teach people patterns without needing to reify them into a rigid and unnecessary framework.

</comment></comment><comment><USER4> I recently undertook a serious effort to learn Angular.js for a work-related project. After some time, I reached the point where I think I finally "got it", and I was feeling pretty good about Angular.

Then I did a bit of work with ClojureScript and core.async. _WOW!_ The difference is night-and-day. Even with ECMAScript 6 generators, vanilla JS will have a hard time competing with the CLJS/core.async combo.

Of course, CLJS is very young (somewhere between pre-alpha and beta), and core.async even more so. For that reason, I don't think it's that unexpected that there aren't many people using CLJS exclusively...but I would not be surprised _at all_ if this changes in the coming years.

<comment><USER5> David Nolen wrote an interesting blog post about how ES6 generators can be used to create core.async/Go-style concurrency: [http://swannodette.github.io/2013/08/24/es6-generators- and-c...](http://swannodette.github.io/2013/08/24/es6-generators-and-csp/)

It still doesn't read as nicely, but it's interesting to see how it could work.

</comment></comment><comment><USER6> I tried using Clojure to build my personal website. I love it, and can't wait to see where it goes next. However, the documentation problem is pretty real. Clojure libraries get updated and deprecated really quickly (because the language is so new) and tutorials on the web quickly get out of date. I had a lot of experiences where I would pick up a new library or framework because it was in a tutorial, only to find out that:

-It had been abandoned by its creator in favor of a newer framework.

-The functions used in the tutorial had been deprecated.

These are definitely just growing pains and not something intrinsically bad about Clojure. However, I hope that the next year or two bring more stability and more ease of learning.

One thing that I wish was better tutorialized is LightTable. I understand Chris Granger is a one man IDE developer and that LT is still in development. However, if we could get more tutorials from users like the one that was posted earlier today, that would be fantastic.

Eventually I ran into pedestal.io. Those guys have a great framework. It covers front and back end, and involves Functional Reactive Programming, something I'd never seen before. They have an excellent tutorial that they update in sync with the framework. It's a bit overkill for my personal (mostly static) website, but after taking the time to learn it I feel like I came away with a real new skill.

One last thing that struck me about the Clojure community is how many workhorses there are. Guys like cemerick, technomancy and Chris Granger (the guy behind LightTable) have been working fast to build TONS of stuff, and a lot of it works really well. In particular, Leiningen is awesome and I imagine (I've never not used it) that it makes the process of getting started that much easier.

<comment><USER7> _It 's a bit overkill for my personal (mostly static) website_

Yeah, while you can use pedestal-services to create normal websites, it seems Luminus (or one of the others) would be better suited. Pedestal really shines when you build single page applications.

</comment></comment><comment><USER4> I don't have much time to drill down right now, but a quick search of the responses for "Name _one_ language feature you would like to see added to Clojure" reveals 8/563 respondents wrote "Clojure in clojure" verbatim (disclaimer: I was one of those 8). The good news here is that this effort (in the guise of tools.reader, tools.analyzer, and tools.emitter) is very active and looks like it will yield many positive results in the near future.

(If you're curious _why_ Clojure in clojure is important, in the recent Cognicast episode with Ambrose Bonnaire-Sergeant he give's a perfect example of how these tools make it possible to add a type system to Clojure.)

<comment><USER8> Are there places where a newcomer to the Clojure project could help with this effort?

<comment><USER4> The libraries I mentioned are all located in the Clojure GitHub group ([https://github.com/clojure/](https://github.com/clojure/)). Actually, the Clojure community has thus far done a very good job of keeping the core language relatively small and implementing the "interesting" bits as libraries. (Personally, the idea that Go-style/CSP concurrency is a language feature of Go, but can be implemented as a library in Clojure is rather appealing to me.)

As these are Clojure-Core libraries, I'm fairly certain you'd need to submit a CA before you can submit a pull request (details here: [http://clojure.org/contributing](http://clojure.org/contributing)). Probably the biggest help you could provide in the near-term, though, would be to find interesting uses for these libraries.

</comment></comment></comment><comment><USER8> > "Staffing concerns" is new as the #2 reported frustration, which I think is > significant: I certainly know that companies using Clojure have a hard time > filling openings lately.

I'm profoundly surprised by this, and would have expected the opposite -- frustrated Clojure programmers wishing for opportunities to use the language in their day job. Is there a market failure here and can we fix it?

<comment><USER9> If you could on expand why you would have expected that, that would be interesting to hear.

<comment><USER8> Stereotypes about functional languages I guess, as well as the relative dearth of posts on [http://clojure.org/jobs](http://clojure.org/jobs)

</comment></comment></comment><comment><USER10> I'm curious if the issue with "lacking documentation" is an issue with explaining function inputs and outputs (like types would give you in other languages), expected behavior, or just bad discoverability for the long list of core functions.

When I was starting, I ended up just learning to read the function source because of the lacking documentation. It's a skill that has paid off in the end, but i'm not sure it was the best way.

<comment><USER11> Did you use [http://clojure.org/cheatsheet](http://clojure.org/cheatsheet) ? I think it's helpful for discoverability.

<comment><USER10> I eventually found the cheatsheet and it remains useful to this day. But, my specific point was trying to dissect what survey respondents were looking for when asking for more documentation, because each item I listed has a different possible solution.

Documenting function inputs and outputs could use core.typed's annotations to enhance the docs.

Documenting expected behavior leans towards adding content and examples, where the examples can be manually curated or pulled from available opensource code. (Similar to getclojure.org, but bigger.)

Solving bad discovery could be approached by improving the search/organization/unification of the clojure.github.io, the cheatsheet, clojuredocs.org, clojure-toolbox.org and clojure-doc.org.

So, what did they want exactly?

<comment><USER11> Totally agreed on the question. I have been trying to engage people more actively in the details of this question as well.

There are actually many, many documentation resources right now (seemingly enough for anyone to get started), so the question is really whether actual docs are lacking or just the right place(s) to start for specific kinds of docs.

</comment></comment></comment></comment><comment><USER12> >How would you characterize your use of Clojure today?

 _More than half of respondents are using Clojure at work, which is a big jump compared to the last two years, when only a third of respondents were so lucky. This is nothing but good._

People using Clojure in their work environment is a great thing.

</comment><comment><USER13> Nightcode wasn't on the survey, but I hope someone besides me wrote it in! I should've held a write-in campaign.

<comment><USER2> If you're going to comment mentioning it, you should probably tell people what it is :)

For those who haven't seen it, Nightcode is a new, open-source Clojure and Java IDE written by the person I'm replying to. Has project templates, paredit mode, REPL and CLJS build integration. I only played around with it for 5 minutes and went back to Vim, so I can't really endorse it but it looks cool.

[https://nightcode.info/](https://nightcode.info/)

</comment></comment><comment><USER14> I'm glad the survey highlighted the issue with clojurescripts repl ease of use. I know for myself this is the number one issue I would like resolved. If I could interact with the browser in a painless way I would probably ditch Javascript as my primary browser language and push for it at my company.</comment>


The Alphabet of AI - <AUTHOR> https://medium.com/1-one-infinity/the-alphabet-of-ai-8e8c7ebc6ce2 <comment><USER2> Oh, I was hoping this would be like a periodic table, or a list of fundamental building blocks, rather than just a list of entries that start with different letters.</comment>


How to go about designing Data structures/models for a large program? - <AUTHOR>

I am writing a chess program but my experience with writing large programs from scratch is limited, and I would like to get better at it. Can anyone suggest me good practices/best way to start with the design of the classes and data structures. <comment><USER2> I suggest starting with a simple, straightforward representation for the data model, and start programming the functionality you want. As you implement this functionality, you will encounter pain-points which make you wish you'd used a different representation. After a number of these, you may have some ideas for a different, more appropriate representation you wish you'd used. If the two representations are close enough, you may be able to just refactor what you have into this new form, then continue. If they are different enough, declare what you have done so far a learning experience, abandon it, and start over, using your new idea(s) for a new representation.

I can think of two different major projects I've done in the past five years in which I started again from scratch, after major revelations made it clear to me that it was the right thing to do. In one I settled on the third object model, and the other I know I did at least two. These were quick iterations though: I settled on the third and final object model within a month of starting, and the project completed in seven months, so it's not like I was throwing out that much work.

Avoid premature optimization with all your might.

Fowler's book Refactoring might be helpful with ideas of how to morph data models.

A couple of quotations from More Programming Pearls by Jon Bentley:

"Plan to throw one away, you will anyhow." [Fred Brooks's law of prototypes] "It is faster to make a four-inch mirror then a six-inch mirror than to make a six-inch mirror." [Thompson's rule for first-time telescope makers]

<comment><AUTHOR> Thanks a lot! I am also looking for some resource which would help me design classes well in C++

<comment><USER2> I'm afraid I don't know C++, so I can't offer any suggestions there. I can recommend that you take advantage of the type system, since you have one, to enforce constraints in your data structures rather than enforcing them in code. By this I mean (for instance) that if one object can have a relationship with any of a subset of the rest, strive to make it impossible for that object to relate to one of the other objects. In Java one would perhaps do this by making those objects implement a special interface, and having the one object relate to things with that interface. I know C++ has an equivalent (pure virtual classes?), but I don't know what it is.

One caveat is that it is quite possible to take this advice a little too far, and wind up with an overly complicated object model. It's a fine line, and quite hard to see where it is. I know that early on, I used to have a lot of simple object models whose constraints were enforced in code which seemed easiest, but much later in the project it made the program overall much more complicated, because as I built more and more code to manipulate the model, I found I was repeatedly having to enforce constraints that I might not even remember properly (or worse, not enforcing them at all, and encountering runtime errors due to situations that shouldn't have arisen in the first place). Later, I tried for more complicated models, but occasionally got paralyzed in attempting to capture every single constraint in a hugely complicated model. There's no principle for seeing the line that I can see, just painful experience.

If you have a C++ guru or mentor, try to get them to recommend a good C++ codebase with a good data model that you can use as a reference. If you can get one, you might study it carefully and contemplate the way they designed the model, considering what the alternative representations were, and what consequences would have arisen from using one of these alternatives. If you can discuss them with a guru, so much the better. I'd say this is how I learned the bulk of what I know (or think I know) about the design of object models.

One of the most influential experiences in my career was integrating a third- party framework that was under development into my employer's system, also under development. This meant that I didn't do much coding of my own, instead I was regularly taking new versions of the third party system, and figuring out how to weld it into our constantly changing codebase without changing either too much. To do this I had to spend a lot of time studying both systems and talking with developers and designers on both sides. I learned a lot from that. Fortunately, the designers of both systems (of the parts relevant to me, anyway) were really talented, and strove to do things the right way, even if it meant throwing things away or slipping the schedule a little. To this day I will often solve design problems by thinking back and theorizing how the designers of those systems would have done it.

I should also mention that the final redesigns I mentioned in my previous comment were almost always the result of my taking my hard-won lessons of the first month or so of coding, and sitting down for a week with a pencil and paper and just drawing object relationship diagrams instead of coding. I'd draw the diagrams, then mentally go over the various tasks the program would have to perform, imagining how it would manipulate the object model I had drawn before me. This exposed many flaws very early in the process, preventing me from doing much unnecessary coding. You can use a semi-formal methodology here (like UML, but without all of the formalism - you just need to have a clear way of representing object hierarchies). Simple boxes and lines are fine too.

</comment></comment></comment><comment><USER2> Using version control and frequently checking in your changes (I'm thinking several times a day, not a big checkin once a week) will allow you to pursue avenues of exploration, possibly realize they are dead-ends, and roll back to an earlier state with no difficulty. This can be really liberating. Don't worry if they are non-working checkins (do those on a branch if you want), just make sure you have preserved significant stages in case your subsequent work doesn't pan out.

Implementing some form of "print myself" function (operator<<, I think - it's toString() in Java) on each object in your data model, so you can see something within a debugger, beyond the usual "object at address 0xDEADBEEF" type of information can be very helpful.

Since you are working on a program in a well understood domain (chess), there is a lot of available data (PGN databases) and a number of other implementations. I think it would be worth spending some time building some scaffolding that will let you take advantage of these for testing. For example, if you are building a move generator, you can build some harnesses that will take libraries of PGN games, and use your move generator to successively generate the candidate moves for each move of each game, and make sure that the move that actually followed is one that your move generator is capable of generating. You can also build a harness to compare your move generator's candidate moves to another implementations', and make sure that they agree. This kind of thing can take a long time to run, but if you set up some continuous integration kind of thing to do it continuously, asynchronously, or to do it overnight, you can catch some problems early enough that you can handle them more gracefully than later, especially if the cause is ultimately the object model - you want to fix that before you build lots of code that depends on it and is resistant to changes.

I'm not sure whether this is as easy in a non-GC language, but I've found using immutable data objects makes many things more easy to understand. I'd seriously consider making a position (a particular state of the chess board) be immutable, and applying a move to that position produces a new position instead of modifying the position. The functional language literature has a fair bit to say about the benefits of this approach with respect to understanding what a program is doing at any given time.</comment>


Show HN: Infinity - <AUTHOR> https://vimeo.com/136291755

<comment><USER2> Interesting. Could I use this to give my existing large dataset (self-hosted) a nice interface like this?

<comment><AUTHOR> Thanks! You would have to import it, though, since the spreadsheet reflects a new and different data model.</comment></comment>


Racket for Everyone (Else) [pdf] - <AUTHOR> https://dustycloud.org/misc/racket-for-everyone-else.pdf <comment><AUTHOR> found a year (2018) and recording now: [https://www.youtube.com/watch?v=pv0lLciMI24&t=4210s](https://www.youtube.com/watch?v=pv0lLciMI24&t=4210s)</comment>