The last few days have been all about how the IT sector in India is collapsing. The top 7 IT companies are about to layoff 58000 people this year. Reading headlines like these make me sad.
IT has been a promising carrier for the many who are now graduating. The demand started about 6-7 years back and each year the number of companies showing up for campus interviews kept increasing and so did the number of people joining IT even though they did not envision IT being the end result of that engineering degree which taught little about how to support IT systems.
It’s tough to know what to do next in life after you graduate. The possibilities out there are literally endless. When you are presented with an offer in hand, even if it’s not that the thing you are passionate about, you end up saying yes, cause everyone else around you is.
Find your passion and work at it can be a simple but a really hard to follow advice. After all nobody tells you how the thing you are so passionate about would put food on the table.
“What is that thing that I am really passionate about? The thing that makes me happy?”. I hope everyone who has not found the answer to this question keeps asking themselves this every day.
Like engineering and medical courses, IT too is going through the phase where there are too many people than what the market needs. If you are passionate about this field, there is a place for you here. It might be difficult to get in now, but keep at it. Keep improving your skills and keep reading about what the industry is looking for.
If you are one of the people who is affected by these layoffs and IT was not the thing you were passionate about, maybe this is the time to pickup on your passion where you last left it. It could take a while to replace the income you last made, but keep at it. I hope you do.
We've largely moved away from billing by the hour. Two main reasons:
:: It sets up a negative relationship with clients right from the beginning. We want to bill as many hours as possible, they want us to bill as few as possible.
:: It penalizes us for efficiency.
What’s your billable rate?
After writing about React Native the last time, I never got around to writing more about my experience with react native.
I released the first internal prototype of the app built using React Native two days ago and the experience of working with react native has been great.
Some of the tools and libraries I used to build the initial version:
Native Base for UI
React Navigation for Navigation
react-native-vector-icons for Font Awesome icon integration.
I used Expo.io when starting to build the app. If you are new to react native, do give Expo a try. Makes it easier to build and share react native based apps. Think of it like rails for react native.
I also did try react-native-elements for UI framework but ended up choosing nativebase due to number of extra components nativebase has along with a well written documentation.
If you are looking to do nested navigation within your app i.e start with stack navigation but then move to tab based navigation once on the second screen, do read through this page. Would have saved me more than 6 hours if I had just stopped and looked at the docs sections are bit more.
Planning to write more about React Native as I spend more time building the app.
I have never stared at a blank page for this long, but after 20 mins of looking at this screen, I finally have my thoughts together.
A good friend of mine passed away 2 days ago and the last two days I have not been able to focus on all the work that I have lined up. The week was well planned for, yet the news of him passing away changed everything.
I last met him a month ago, when he was down for his treatment. He was in pain, yet he wanted to meet another friend who lived close by and go out for dinner. Malwani food he said is something he had been wanting to eat since long. We found a good restaurant on our way back and enjoyed the spicy curry and fish.
We took a trip to Manali a few years ago and that was one of the things we spoke about every time he came down to India. I remember having a great time with him. The trip to Goa though was the highlight for the time I spent with him. Taking an overnight train to goa while telling your parents that you had a seat booked in a luxury bus so that they dont worry. Sleeping on the beach on 31st night cause you were too broke to be able to afford a room. Roaming around on the beach looking for card board boxes so that you can use some to start a fire and some as a blanket. Thanks Goa for being expensive on new years eve. Some memories are just priceless.
Rest in peace Sunil. You will be missed.
I have been thinking about this question since the last 4 days, ever since reading this post by Josh Pigford Getting out of the startup rat race – Baremetrics Founder’s Journey
So what if you changed what “success” is? What if success was paying yourself $150,000 a year and building a real sustainable business that you build up for 10 years and sell for a few million? (No, that’s not considered a success in Silicon Valley.) Or maybe you never sell it?
What if “success” was paying yourself $30,000 a year and traveling the world with your family?
“What if it was paying yourself $150,000 building a real sustainable business which helps a lot of people and being able to travel the world with friends and family”. This is something I am aiming for.
I have had a few discussions with friends over the years about what success means to them. For some it’s buying an Audi or any other luxury car, for some it’s a fully paid 2-3 BHK in the best place of the city, for some it’s being able to retire early, sit by the beach and relax and for some it’s being able to work at Google, Microsoft or any of the best company in their profession.
Somehow I have never chased any of those things. Do I not want those things? Of course having those things would be good, but the tradeoff I would I have to make in the short or long term to get to them “as soon as possible” don’t seem to be worth it to me.
Doing good work, building software which helps people and is a joy to use is something I aim to do every day. Being able to spend more time with friends and family making new memories and being able to travel has always been important to me. If I am able to check at least two of these three boxes every week, that would define what success mean to me.
2017 has been a welcome change for how I looked at my task list. A lot of this has to be due to choosing to do focused work.
Until last year I would work on the weekends, trying to catchup on things I missed completing during the week. It’s not that I did not work during the week, its just that with more things being added to my list during the work week, some tasks on the list kept slipping to the bottom.
A change in perspective has helped quite a lot. Rather than look at the tasks which I did not complete in the week, as I plan for the next week, I now look at the tasks I completed during the week. Now I realise why I did not get to some of the tasks.
I could work on the tasks I did not complete during the weekend, but deciding to set boundaries to when I work and the time I spend thinking, writing and with friends and family mean that I now choose to not feel guilty of missing tasks.
ImageMagick is a great tool which helps create, edit, compose, or convert bitmap images. If you use ImageMagick to resize images on your app server, then it’s good to have it configured to combat pixel flood attack.
#390 Pixel flood attack - HackerOne
I recently came across this issue for a service I help maintain and here are the steps I took to fix the issue.
Navigate to /etc/ImageMagick folder and find the policy.xml. It’s usually write protected.
Edit the file and add these lines.
<policy domain="resource" name="memory" value=“500MiB"/>
Set a limit on how much memory an image can occupy.
I have set it to 500 MB, but you should set it a limit based on your server and app requirement.
<policy domain="resource" name="width" value=“5MP"/>
Set a limit to how large a image you want ImageMagick to read in Mega Pixel format. This avoids excessive memory usage.
Megapixel calculator | toolstud.io should help convert Mega Pixel to width and height you want to support.
<policy domain="resource" name="time" value="120">
Set a limit on how long you want an ImageMagick process to last.
These three policy additions to policy.xml helped stop the flood attack for now.
Flood pixel attack in Imagemagick - ImageMagick
My first text editor when I started using Mac was Textmate 1. I had heard good things about Textmate from a few people I follow on twitter and they were indeed right.
Textmate is now considered an abandoned software by a lot of people, but it is far from abandoned. I wish macromates.com highlighted all the work in progress for Textmate 2.
Atom, Sublime Text 3, Visual Studio Code, WebStorm, PhpStorm and a whole lot of others alternatives now exist and I have tried them all. The editor I used the most other than Textmate, Visual Studio Code. If you are looking for an alternative to Textmate I would definitely recommend Visual Studio Code.
As for me, I am sticking with Textmate 2. It is under active development and getting better with each release. GitHub - textmate/textmate. Textmate just feels right to me. I like that Allan continues to focus on making the underlying editor better.
I do miss not having split screen editing and autocomplete suggestions for function. I really liked these features in Visual Studio Code.
Medium recently announced that it’s laying off 50 staff members to renew focus. Renewing Medium’s focus – 3 min read I have always liked Medium as a platform and continue to follow a few publications there.
Venture capital is going to murder Medium is a good post which talks about a few downsides of running a business with venture capital money.
Medium did get a few things right though:
I have been wanting to move this blog to Medium since a few months now, but following that post, will continue to host it on a VPS. I am looking at alternatives though. ghost.org being of top of the list to move to.
Cross platform mobile frameworks have always been how I built my mobile apps. A big reason for this being the team size I often work with. Building native for each platform was never an option.
My first mobile app 4 years ago was built using Phonegap, after which I have been using Ionic to build mobile apps.
Webview based apps never felt right though. Compared to native apps, apps built using Phonegap and Ionic could never achieve the same experience. I have been looking for an alternative since an year now before settling down on React Native.
React Native vs Titanium
If you are like me, you have asked Google this question.
Although I did look at Titanium to build my current app, Titanium always felt more of a package in terms of IDE, App Designer and MBaaS. I was looking for something more simple. A framework which let me build using my own editor(Textmate 2) and did not enforce(although not a mandatory requirement with Titanium) a whole lot of choices.
Day 1 and 2
Hoping to document my progress here as I continue to learn React in more detail.
Installed React Native, Components, ListView, ScrollView, Props and State.
Created the login screen for the app I am working on.
Navigators and Scene’s. Who knew moving from one state to another could be this tricky. Turns out I am not the only one.
Redux. For state management.
Resources I am referring to
React Native Docs