HNHacker News
TopNewBestAskShowJobs

anupshinde

535 karma · joined April 16, 2013

https://www.anupshinde.com/
submissionscomments
anupshinde··on Visual Studio for Mac
This is great news! I was a c# developer for many years and absolutely loved it. But then I gave up the Microsoft ecosystem 7 years back just because it felt like a lock-in and also a bit backward compared to non-MS tech.

But in the past one year, Microsoft has got me in again: a. Moved to TypeScript from JavaScript (including my hobby projects) b. Moved to VSCode from Sublime c. C# is a great language and I just hate Java. Hope this and more steps make it easy to use C# and deploy in non-MS environments.

anupshinde··on Lessons from Outsourcing to India, China and the Philippines
Nice article and on the spot.

There is a difference between offshoring and cheap-shoring (i.e what I call offshoring at very low costs). Most of the bad experiences you get from India are a result of cheap-shoring. You get what you pay for. Cheapshoring undervalues good engineers and overvalues a lot of bad engineers.

I have seen this for almost 15 years (from the Indian side), and I don't like it. While some people see Indian IT as growing with the likes of Infosys, TCS, Wipro, etc - I personally saw that as crippling good CS talent in India. However, all that is coming to an end - probably sooner than later. These biggies will either have to trim down significantly or collapse under their own weight

If you want equivalently good engineers from India (as of now), be ready to pay half(45-50%) of the pay in US. So if you are paying 120K in the US, the same should cost you 54-60K USD when the engineer is in India. This will also reduce friction. One may get lucky in the early days hiring at cheaper costs, but sooner or later the good engineers will see their worth and will most likely leave instead of asking for a raise. You have to do your due-diligence selecting a worthy engineer - that is like finding a needle in a haystack.

If somebody chooses cheapshoring, they are planning for a higher cost that is at least more than the 50% mark mentioned and in most cases if you analyze retrospectively - it would have cost lower if you did not cheap-offshore in the first place. The release may seem less costly, but the maintenance and operating costs will ultimately outgrow.

anupshinde··on What do you think of Indian Government's decision to demonetize 500, 1000 notes?
"white money" = Money that has been received via legitimate means after paying appropriate taxes. Usually this stays in the bank. Only the necessary amount is carried in cash.

"black money" = Money that has been tax evaded or received via illegal means. This is mostly kept in cash (in boxes, mattresses, hidden rooms) or converted to gold or bitcoins or foreign currency(via currency gray/black market)

Example1: You earned 100 and were supposed to pay 20% tax. So the post-tax amount is 80.

If you paid the tax, 80 is white money and 20 was paid to govt.

If you did not pay the tax, you save 20 but entire 100 is your black money.

Example 2: Black money - could be money received by accepting a bribe.

anupshinde··on What do you think of Indian Government's decision to demonetize 500, 1000 notes?
Good things happening to India.

They just pushed a reset switch on the parallel economy. But its not something that won't grow up again. This step was necessary. After this, they will have to bring down taxes for effectively preventing a parallel economy. And sometime in the future, something like a max-100Rs note will push users to use digital payments everywhere.

I think this is a safe experiment towards removing high-value currency notes. Won't be surprised if 2000 notes are recalled after some time and those might have been introduced just for convenience.

Its also a veiled attack on political parties, including his own (and they can't even complain)

anupshinde··on Donald Trump is the president-elect of the U.S.
First - Trump is not Modi. Modi is much better and experienced leader than Trump (or Clinton). I like Trump too.

Second - The entire election season was nasty. US is now seeing the real face of democracy with diversity.

Third - The voters did not have a great choice. If the elections were to occur like India, it would have ended up in a hung parliament. And that would be the worst thing to happen.

Fourth - Would you like if your job is offshored for low-costs? NO!... or Would you like to see veterans, elders or seniors live unhappily? NO!... The US (govt) will not be able to stop offshoring without allowing lower minimum pay. The only way to do that is by applying protectionist measures that will work in the short term. And most-likely that would weaken the currency over a longer term.

anupshinde··on Donald Trump is the president-elect of the U.S.
>>"Not paying taxes" He did it legally by exploiting (hacking) the loopholes. But is he responsible for having those loopholes? He is just acting like any other smart human. Just like us humans who found fossil fuels and irresponsibly burn those off.
anupshinde··on India's demonetisation of Rs. 500 and Rs. 1000 notes
Black money and such a large parallel economy had become a big problem. And like it or not, we were being forced to stay a part of it while trying to get out of it.

This sudden demonetisation has not curbed the problem, but it has hit a RESET switch on the parallel economy (black money). That is great news. First, people will not want to lose their money and this will result in huge tax-inflows. Second, some people will get prosecuted for tax evasion - sending a strong signal. High tax rates will still drive a small percentage of people to evade taxes. But upgraded technology will delay recurrence of large scale black money problem, probably for decades to come.

Long queues at ATMs and petrol(gas)-stations. I thought it could turn into an anarchy kind of situation. But most people feel happy about this inconvenient but necessary decision.

anupshinde··on Show HN: Make an app by adding JSON to this app
This looks very cool. And tempting at the first glance. As I read more of the documentation, I can't help stop comparing it with React-native for the rendering part. I remember somebody mentioning server-rendered mobile apps in one of the early react-native apps. This is pretty much achieving that.

However, the comparison ends there. This is great! Its just too simple to make an app and probably when the app grows one could create a transpiler to generate this json

anupshinde··on Google AI invents its own cryptographic algorithm
"no one knows how it works" - That caught my attention, having seen computer evolved ASTs. Probably no one knows because no one has put effort to reverse engineer the internals - most of which would be unnecessary complexity that is very likely with neural nets.

Many years back, I had once experimented with PyEvolve to develop a custom trading strategy which was kind-of code with a custom instruction set. The output of a strategy was a string (program AST) that was uglier than most obfuscation outputs with many unnecessary statements. For example "a=1;b=2;c=a+b;d=c/3;if(d==1).." - expand that to many more variables. The program evolved strategies that made small profit and therefore the output was worth analysing. But decompiling that output used to take me hours - and few of those were tweaks of well documented strategies. Others I never understood because it was too much effort for a relatively small profit (and other trading parameters).

anupshinde··on Angular 2 docs for ES6/7
After switching to TypeScript, I am not sure whether I will ever go back to JavaScript (after so many years of using JS). I don't use or like Angular2 - but I use React with TypeScript.

Even if we could use ES6 JavaScript in the browser, transpilation isn't going away completely because we need HTML, uglification, vendor-libs, etc to be brought in together before deploying to production.

WARNING: If you are starting off with React+Typescript, expect to bang your head for may be, a couple of days, to get that stuff working. However, once it does work, it saves much more time and effort

anupshinde··on MacBook Pro
It seems like they built the touch bar first and then asked people to build use cases around it. A touch screen with a software enabled touch bar would have been much better
anupshinde··on Next.js – A small framework for server-rendered universal JavaScript apps
Awesome, took me like less than 10 minutes to create a basic server side newsreader app with React. Simplicity of PHP and power of React combined and brought to Node. I also like how the consolelog statements are shown in dev console
anupshinde··on North Korea claims success in fifth nuclear test
What you are asking is to proactively affirming national security interests. Every nation has the right to place their national security first, including NK (if it can be called a sovereign nation) . But there is a point where the larger nations end up bullying just because they can do that.

> North Korea's government is simply... unstable, in both senses of the word. > They cannot be allowed to have a permanent nuclear deterrent.

Yeah yeah, that has been said about quite a few countries in the past. Based on what - flawed mathematical models? The sole purpose of those was to create new war grounds. If the country has such great prediction powers, let's first use it in economics.

I don't mean to support North Korea here. It might be an irresponsible, undemocratic state. But non-proliferation cannot be done by saying "I'll keep my gun but you are not allowed to keep yours because I think you are an irresponsible unstable person". Whereas history since WWII clearly shows who has been the trigger-happy entity.

anupshinde··on How to Test Drive Your Business Idea Before Quitting Your Job
I was given the exact advice few years back. If I could go back in time, I would have given myself a couple of years more at the job while trying to carve out a earning-product on the side.

I followed the consulting path, but now I would caution against the consulting/freelancing path, unless one was building a consulting-agency. Theoretically everything sounds good, but has many problems in practice.

1. If you are successful at consulting, it means money (and potentially a lot of it). It takes stupidity, insanity and courage to leave the money on the table when work keeps pouring in. For last 6 months, I have halved my work hours to 20-25 per week to work on developing products. That was not an easy decision ( I still work total of 50-60 hrs per week). I had a few ideas that fizzled out quickly and now I can't say what exactly I'll be working on - I still have a few good ideas that I need to try. But last 6 months part-time consulting did make me miss out on the money and opportunity cost. And the pressure mounts every day because I gave myself 1-1.5 years to try out. I might be trapped too because if I fail at products it makes sense to start a consulting agency instead of searching for a job.

2. You might think - "I'll earn from consulting and invest in products". Really! That did not work for me. Bad hires, management-stress, and lack of focus was pretty evident. Not saying it won't work for others - but less likely to work if you don't invest focused time in products. I just let many go(in a nice way) and decided to start afresh.

3. I worry constantly and this also pushes me hard to do more work. I haven't made a successful cut into products, I am losing out my years and the opportunity cost is way too high compared to being an employee. My life is much better as a consultant-freelancer in absolute material terms, but this is not what I headed out for.

4. Hard to do justice to consulting project and product both. When I was doing multiple consulting projects, it was easy to switch between those. But now for some reason, its hard not to think about my product when I am also developing someone else's product. On one hand you want your customers to be successful and on the other hand you envy them and crucify self because you made the product work for them but haven't done it for self. That is just a feeling, but it hurts!

There are positive points for consulting - One gets exposed to the world of business, paces up, upgrades self, learns stuff like selling and negotiating. These can be done as an employee too (but slower).

If one starts on the side as an employee, there is only one issue to take - Getting out of the comfort zone and focusing on one thing. Employee is very comfortable in that setting and finds it easier to blame others/circumstances for failures. As far as that attitude can be avoided, starting up while being an employee is still a better thing.

P.S: Freelancing/Consulting is not a bad path - its wonderful, just check priorities.

anupshinde··on Legislation would restrict H-1B visas
Misuse must definitely stop. But wouldn't this force businesses to outsource to offshore offices... Losing talent, losing jobs to other country and losing out on taxes. And the jobs that cannot be offshored would require higher/complex skillset
anupshinde··on From Chrome Apps to the Web
As a developer, I was pretty concerned on what to chose between Chrome Apps and packaged apps with Electron. Chrome apps didn't make sense.

I chose Electron for obvious reasons, but still wish there was a some simpler way to package and distribute Electron apps. And a way to restrict app-permissions on Electron desktop apps - similar to what we do on mobile .

anupshinde··on Millennials Don’t Use Credit Cards Because They Have No Money
A simple rule for credit cards - pay full dues every month. And get all the benefits of a credit card.

Since millennials are already in debt (as the article suggests) and not having a regular income yet, credit cards will make it easier for them to buy beyond means - So it is better they delay owning credit cards. Whats wrong in that!

anupshinde··on U.S. Army fudged its accounts by trillions of dollars, auditor finds
Are you suggesting "Trillions of dollars goes into black ops"? And I think complex accounting internals is the furthest of the concerns any field-operative army ranger would have.
anupshinde··on Less stress, more productivity: working fewer hours is good for you and your boss
Unfortunately, I do not have such luxury. I do have flexibility within a work-week. i.e. I could be working on client project on MTW or FSS or in between, but I prefer doing much work within Tue-Fri. Fortunately, I have been with one very good client working on challenging stuff yet does not have tight deadlines. It is a risky strategy to stay with just one client - but I am not worried too much about it now. Since its billable hours, I don't see automation would help reduce my hours - it increases efficiency though.

I tried a startup with some partners and recommended a flexible schedule, but unfortunately partners got too flexible and it never took off. It is better to slog and make others do that in a startup.

anupshinde··on Less stress, more productivity: working fewer hours is good for you and your boss
I think the key is less-stress and not shorter hours. Meetings, especially long ones, induce stress.

I've tried reducing hours (as a freelance remote developer). I cut my working hours to 25 per week from somewhere around 60ish per week. (And I could afford losing out money)

At first, I felt I was missing something. I thought it was the money. After being completely off work for a month, I realized I was missing the people (Slack chats, meetings, fire-fights)

When I started back with another client, working just 25 hours per week was much much much harder. None of these worked: 8x3days, 4x6days, 6x4days, 5x5days. Few weeks I could not even complete 15 hours, and other weeks I was over-working. I was still stressed. Finally, what worked was odd - (10-12 hours)x2.5 days. So I ended up working a bit more hours than I wanted to. It was proven again that it takes time and focus to pickup momentum and costs a lot more to loose it frequently. And I still work on my other stuff totalling to about 45-50 hour work-weeks and still feels much less stressful.

anupshinde··on Ask HN: Best passive income method for a solo developer?
Same here - looking for some advice to generate a modest passive income source. I am a freelance web developer and have delivered some awesome SaaS products (both solo and as a team) in the last few years. And have been around for 12 years.

But when it comes to starting my own thing, I just get stuck - unsure what to start at. I used to blog based on unique problems, and have pretty much given up on it as its not that passively-rewarding unless one likes doing keyword based blogs. It does help getting more work which I don't want as of now.

anupshinde··on Uncovering the truth about the British empire and the Mau Mau uprising
No, I am no westerner. I know what I am talking about. My country was oppressed by the British Empire and was left independent severely impoverished. But we are on our way up, slowly and steadily. People have moved on and have learnt to stand united in diversity
anupshinde··on Uncovering the truth about the British empire and the Mau Mau uprising
Shouldn't we as humans bury the longer past and move on and look at the present-day scenario? I know many will say - "What about justice to our ancestors?". Justice is done to them when their children(descendants) do not suffer similar injustice and/or live a better life. How many parents want their kids to live in a war-waging world?

I understand what she did was very hard work. But what's the point? People who raise these issues now probably and unintentionally end up generating hatred amongst individuals who might otherwise be perfectly fine with each other. Then there are people who get emotionally touched, take an absolute stand and create an uprising. The people (experts) who raised the issue first get sidelined. The govt tries to control the situation and gets labelled as oppressive. Politicians and media take control now. It goes on and then starts a racial and a religious divide and all the wars in the world. The true purpose is lost and what exists past those wars is just pieces of hazy truth mixed with spiced up vigilantism.

The British did very bad and evil things in the past. But why not talk about evil things performed now by another powerful and smart country that uses methods incomprehendible to most people.

anupshinde··on Is anybody else using ridiculously long variable names?
Code is for humans to read and machines to execute. So as far as it is readable, I won't change long variable names. I've used long names many times, when it is deserved. Most of the times it is longer function/method names, or constants or configuration variables.

However, if a method/function is too long (i.e. too many lines in that single method/function) then it is very likely to have longer variable names within the scope and that method itself is likely to be a good candidate for refactoring. Sometimes the same applies to configuration variables (for example- stuff you read from a json config)

anupshinde··on React is mostly hype
I've used React in four projects (after many projects in Angular[1])

1. In terms of best practices, React for serious development is a disaster just by itself. Read on.. This is what happened in my first project (when I didn't use Redux). By itself it is only good(and great) for POCs. And React-ecosystem is complex to start with. React-Redux, Router, Axios, Webpack make React complete for use in any serious project.

2. React makes web-componenting pretty easy. However it is counter-intuitive when you start thinking about the all important Smart Vs Dumb components separation. I don't know about others, but I like to see components as behaviour-complete stuff and not just view-complete. React with its ecosystem does things in a view-complete way. Yes, it does result in much much lesser bugs.

3. React is hyped because of its simple examples. As I said earlier, it makes it easier to create behaviour-complete web components. But then the ecosystem says "NO. NO.. Think in REACT way". That is not wrong but its complex. The first project in React was a disaster because of the complex state management I did without using redux or flux.

4. After working with React - when I tried Angular2, I moved back to React again. And I did React+TypeScript which makes coding even easier. The only thing I still like in Angular2 is now-not-default two-way data binding.

Do I love React? May be not so much - but its the best I have seen. But I love the way my apps remain bug free without a lot of front-end testing code. And once you add TypeScript, development is just a bit more easier and bugs get thrown up at compile/transpile time

anupshinde··on Ask HN: How to get out of Tech and still make a decent living?
>"No respect for experience"

I felt the same for few years. It takes getting used to

> "How to successfully get out of tech?"

Probably not get out of it, but move away from this role. Delegate, delegate and delegate. If consulting, take a huge pay cut for sometime. It is harder in the beginning, especially with that much experience and/or being an expert. But it is easier to "earn time" and probably respect by that way.

People, and mostly experts, sometimes say "I don't want to get into management". They like what they do and I can totally understand why. However, when they do not delegate and not teach a team how to do great things - they also end up doing a huge disservice to the industry. As a result, we have so many idiotic management guys who just shouldn't exist in the industry

Optionally, Banking and Finance is one industry where you might be able to get in and may be grow easily because of your tech experience. But you will definitely feel burned out and might be working 16-18 hours a day including weekends. After a few years you just know some things - like writing a for loop. You have to keep learning and exploring, but the basic framework doesn't change.

Medical school - It takes a lot of time to just learn and then you will be working for 12-15 hours. And the life you live isn't really independent as you might think. Docs make a really good living. You do have to learn new stuff, but its not like learning a new living organism every year (compare to language/frameworks). And experience is valued.

Law - same thing, good lawyers have to work a lot. And they make a huge living, 100K might be peanuts. Experience is valued.

anupshinde··on I Don’t Care How Well You Code, Understand Your Compensation
Couple of interesting quotes that resonate with this.

1. "Company doesn't care about you (employee), and you shouldn't care about the company"

For few years this resonated in my head and I disbelieved it for obvious reasons. Its just demotivating. But after more than a decade I know this is completely true.

2. "Customers don't care how good the code is"

True. As far as the functionality is reliable and acceptable quality. Good code is only a value-enabler.

anupshinde··on Ask HN: Help me see why everyone seems to love TDD?
The #1 benefit of a TDD is - Identify bugs earlier. Nobody wants to ship bugs to a customer. This is much more beneficial when we have larger dev teams. And add CI that runs tests and reports build/test errors. Overall the team becomes more efficient too.

However, I have found that much of the TDD approach needs to be tweaked to the requirements. TDD can become a huge overhead - and overheads don't get maintained.

For example, when writing an API service - the endpoints are important and expected to work correctly. Yeah we need to test those specs with tests. But the API endpoint might call 10 different methods within the code. But TDD will mention each method should be tested - this is where the overhead begins. And then people are very opinionated about how to define a unit/method. When TDD focuses on code-test-driven-development instead of functionality-tests-driven-dev, the overheads add up significantly. (NOTE: I am not at all discounting the benefits of code-testing and code-coverages. Just saying these tend to be value-enabler-overheads that many times yield very little)

The #2 benefit for developers is ability to develop faster. However non-TDD devs will not immediately buy into this and will need quite some practice before they reap benefits. Also I have noticed certain kinds of projects are better off starting without TDD and introducing tests benefits only after the code grows to a xyz size (and when refactoring makes sense). If it was an application without unit-tests, I wouldn't try to fix it. However, I would write tests to make sure application performs in a certain way in a sandboxed environment - even if it meant testing the functionality via some headless browser.

anupshinde··on Ask HN: Why don't companies hire programmers for fewer hours per day?
If you are feeling stressed staying productive 8 hours a day, try comparing your productivity with others in the team. If yours is higher you deserve a better pay.

1. Everybody doesn't have similar productivity. There could be a Nx(or 10x) programmer who would finish off his work in say 2 hours. And there would be a 1x programmer who would finish the same task in a 8 hours. Both programmers are good - but the 10x programmer will get tired, burnout and eventually become less than 1x if made to work 8 hours every day. For employers and management - this is pretty hard to figure out (or understand)

2. "Wouldn't you accept a proportional salary reduction?" - Yes, only if everybody in the team exhibited similar levels of productivity. Unfortunately that is rarely true. I have faced this scenario as a freelancer when I worked 32 hours a week. Some team members have worked much much slower than me, wasted my time in meetings outside my work time, asked for help on simple things that were well documented and still got paid higher than me. I almost doubled my rates for that client.

3. One needs few hours to get-in-the-zone and task-switching costs are higher with lesser hours per day. At least that is true for me. Once I am in the flow, the outputs are much faster. I would work one 80-100 hour workweek and finish the work. If I were to do the same work in 40 hour workweek, I might finish it in 3-4 weeks. And if 20 hour week - that same work would finish in 7-8 weeks. That is simply because of the switching costs. Obviously, I cannot do 100 hour week consistently

anupshinde··on India's Flipkart Has an Amazon Problem
Only the top 2 are comparable:

1. amzn.in (90)

2. flipkart.com (80)

3. snapdeal.com (40)

AND

4. shopclues.com (<10)

← PreviousPage 2 of 5Next →