Just came across a wonderful resource (or, time sink 🙂) for watching amazing documentaries online. So good that I had to share it!
Check out https://thoughtmaybe.com/
I know what I’ll be doing in my free time!
Just came across a wonderful resource (or, time sink 🙂) for watching amazing documentaries online. So good that I had to share it!
Check out https://thoughtmaybe.com/
I know what I’ll be doing in my free time!
I recently started using an electric toothbrush based on my dentist’s advice. It’s nothing fancy – an Oral-B Pro 4000. I got a decent deal with a 2 handle bundle so that V could use one as well.
What’s interesting is that I never knew how long I brushed my teeth. The recommendation had always been to only brush for 2 minutes at a maximum. Since I never looked at a timer, I always assumed that I was following the advice. This toothbrush has gentle haptic feedback after every 30 seconds to remind you to move to the next quadrant of your jaw. Finally, after 2 minutes it gives you a violent feedback almost as if it’s yelling at you.
When I started, I found myself only about halfway done at the 2 minute mark. It means I was almost twice as hard on my teeth and gums as recommended. And I must have done this for years! I have improved over the last week and now am able to time my brushing just right to finish at just about the 2 minute mark. Good learning!
For someone who recently moved to DE blade shaving, it seems backward to now commit to replacement brushes from the same manufacturer. But, it is different. Brushing with a ‘cartridge’ isn’t nearly as bad as shaving with a razor cartridge was for me. I am also using less toothpaste now (the brush head is circular and smaller) and timing my habit just right. Besides, brush cartridges are cheaper and there is potential to buy generic ones.
So, yes, I must be the last person I know who finally started using an electric toothbrush, but here’s to improving your life!
I just took this picture while on my way back from my morning coffee. It has been more than 5 years (5 years, 8 months, and 3 days, to be exact) since we moved to this charming city, and every day feels like we just arrived. It is easy to get lost in that daily routine of re-discovering the city. There are still centuries old buildings that look like they were just built yesterday.
But, today, the walk home especially struck me. The scene reminded me of that rainy day in our first week in the city when I was standing on that corner, umbrella in hand, while V&I waited for the mini-bus to arrive so I could ride it to my new job. There used to be a blue-colored Stop-n-Go bus service in those days that went around the canals all the way to the Central Station every half an hour or so. It was raining, a bit windy, nothing extraordinary now, but perhaps the first time that I was actually using an umbrella in the morning. Then the bus arrived, I got on quickly, did not find a seat and so grabbed a railing on the side of the bus as I stood and waved at V.
The bus service is no longer there, and I no longer treat the walk from our home to the old office as anything that would require me to use public transport. Life has changed in so many ways, and yet, the city still has me re-living precious old memories.
If you are an Apple ecosystem developer you must be already aware that WWDC 16 has been announced. You have less than a week to decide about your attendance and sign up for the lottery – yes, a lottery to pay up money to attend a tech conference in a different country notorious for its visa rejections.
Geopolitical considerations aside, the question on every mind is – should I really commit to attending the conference? Tickets used to get sold out within months, then weeks, then a couple days, and the last time there wasn’t a lottery (2013), they sold out within about 3 minutes. I have been an attendee twice, once in 2011, and then the last time in 2012. Ever since then, I have tried and ultimately failed to procure a ticket to the annual pilgrimage. It hurt in 2013; felt bad in 2014; felt like a bad bet in 2015, and finally, this year, for the first time since I moved to Amsterdam, I am actually wondering if I should even sign up.
This blog is now fully hosted on DigitalOcean. If you didn’t know, DigitalOcean is one of the ‘cloud’ providers, the main benefit being that it is really simple to set up. Unlike Amazon or Google, the pricing model is really simple, and unless you need all the bells and whistles that these other folks provide, the functionality is really good. They use KVM to provide you root access to a Droplet (in their parlance) that you can configure any way you want. I also liked that setting up a fully functional WordPress server was a matter of a single click from their application directory.
So, the benefits –
Oh, and it’s a whole lot faster than my previous BlueHost setup which was mind-bogglingly expensive. The IPv6 is a nice touch, although I am not sure why Ziggo still does not provide connectivity. They only had a decade to plan for it.
One thing that I really like about DigitalOcean is the Snapshots. All I have to do is turn off my server (which isn’t really that bad since I hardly have enough traffic) and create one. These are completely free and are manual, which means that you can take as many and as often as you want. If you want to restore your server to a previous configuration, you just fire up a new instance using one of your saved snapshots. You could even move them around in different geographical areas. Regular automated backups cost money, though.
Setting up encryption was really easy with Let’s Encrypt. If you have a server, there really is no reason to not do it.
Do give DigitalOcean a try – they also have free trials. I am sure you’d love them as much as I do! If you have any questions about my setup, write in a comment below and I will share my learnings!
Phoenix is the name I chose for this blog years ago. At that time, my goal was to publish a few times a week, ramblings and ideas about anything and everything. This helped me get past one of the most important phases of my life. And then, my world changed a little – I got married, moved around a fair bit, and changed jobs and careers. Social networking became the hot thing where everyone interacted with others. Original thought all but died as we started measuring our network-i-ness by the number of likes and re-shares we accumulated. Apps were, and continue to be, the only way to gather knowledge and ideas.
If you were not building your personal brand you were doing it all wrong.
I have come to believe that the world-wide-web is much more than a backend for our apps. It continues to be the one medium which is still colorful, diverse, and full of the same vigor that it had a decade ago. It also remains the best place to be whatever you want to be. The only rules are your own.
Everything has a tendency to come around full-circle.
And so, here I am again. The phoenix has arisen. I will be writing in the same tone and with the same optimism about our future as I did 10 years ago. There’s a lot more to come!
What is happiness? Some would argue that having access to food, drink, companionship is what makes someone happy. Some are happy by virtue of having access to wealth which makes the aforementioned readily available. Some gain happiness from being successful in whatever endeavors they undertake, irrespective of whatever their motivation. In essence, everyone has their own basis for defining happiness. Who are we to even begin a judgment on whether they are right or not. Bottom line is being happy.
But, I think it’s a bit more than that. Happiness is also about making sure your surroundings are happy. Sure, you can isolate yourself from all that mess, but sooner or later you will see that there’s only so far you can run before the reality of living in a social, well-connected, interdependent world bites you. But, I digress. So, then what is happiness? Is it dependent on others appearing happy? Is it just wealth? Is it just success? Being content?
I don’t know. But, that admitted, I can now say that there is one underlying factor I see in all people who are happy – they live, and I mean really live life without regrets. It’s really not easier said than done. We make mistakes all the time, but only the weak let themselves fall behind and repent all their life instead of picking up and making sure the mistake(s) of their life work for them in the long term. So that’s it – live life like you have no regrets and everything that makes you happy will casually follow.
Here’s how I keep myself happy, and everyone knows I am always cheerful and optimistic –
1. Be dreamy; imagine the good that has yet to come in your life.
2. Stop worrying and just do it. If something worries me a lot, be it whether injustice towards me or someone else, I try my best to take action at the right time.
3. Never say no to yourself.
4. Do unto others the way you would have them do to you. This is not just a biblical verse. It’s one of the first step towards being human. Is your selfish behavior making life worse for someone else? You will never be happy because guilt is subliminal and goes with you.
5. Keep yourself enlightened; Never stop learning. I could learn something new everyday and still know only so much about this wonderful world.
6. Don’t let negative energies or thoughts build up. This one is really hard to adhere to, and I fail often. Maybe that’s why it’s so hard to be 100% happy! And no, this doesn’t fully conflict with being optimistic. You could be largely optimistic and still have negative ideas about something in your life.
7. Don’t let others rule over your life. The only person in control of your life should be you and a very very small group of really close family members. Everyone else doesn’t matter.
8. Be loyal to people you care about.
9. Don’t lie. This is easier done than said, actually.
10. Do whatever it takes to keep the important people in your life happy. If they’re unhappy, you’ll never be happy.
11. Money is immaterial. It’s all about your mind. If you are smart, money will come, if not now, then very soon.
12. Always always think about changing the world for the better with your actions. Everyone is capable of doing so. Just smiling at that person in the train could make their day better and lead them to do something nice for someone else.
13. Be largely immune to selfish thoughts. Avoid jealousy. If you’re happy you’d be more worried about making sure that other jealous people don’t infect you with negative vibes.
14. Travel whenever you get the chance. Embrace change in surroundings.
I think this is it. This is how I stay happy and continue loving my life.
You can, too!
PS: Plato was a genius. If you’re really interested in understanding humans around you on a more philosophical level, you owe it to yourself to read the Republic. I will do so soon, too.
These are interesting times. While there are a couple, if not more, wars going on about protection of freedom(s), on America’s home turf, an organization known as the TSA has been given the legislative mandate to aggressively monitor every single person trying to get on an airplane.
People are being violated in public by these employees, threatened, humiliated, etc. etc. On last count, the TSA was successful in apprehending some drug abusers. But, that’s besides the point of this article.
Every country needs safeguards to make sure that air safety is not compromised by rogue elements. The easiest way to implement them is at the physical level right at the port of entry/departure. This is what the TSA seems to be doing. The reason this is inefficient is that in this day and age, there are more reasons to rely on intelligence and psychological analysis than the brute force method of X-Raying individuals or frisking them at the airports.
The problem isn’t just this frisking. When you take into account that pre-boarding security is often complemented by post-arrival immigration checks, the process is visitor unfriendly at best.
Why cannot intelligence be combined at all levels to make the process seamless? Surely, any country that would bar an individual from entry at the immigration post would like to do the same at the point where the individual tries to even get into a flight into the country. This is what is lacking in the current security regime in the US. It is like different organizations are running their own respective shows.
Compare this to traveling within European countries. There is freedom of movement and hence a lot of intelligence is (presumably) utilized to make the process hassle free for genuine travelers while at the same time keeping checks on shady individuals. When you travel from one country to another, you’re often not even forced to get into an immigration line, because there is no immigration! You just show your travel documentation briefly to the airline representative manning the gate at board time. This is convenience, and this truly signals ‘Welcome to our country’.
This question statement often comes up.
We’re developing an iOS application, and of course, the user would have to input some personal information before he/she can start using the application. What kind of validations should be implement on the device? Which ones on the server?
Most people, especially when starting out on a new project, consider input validation to be a fairly trivial problem statement with fixed states. But, as the application matures, they fairly quickly realize that every input has its own set of error and valid states. The validation problem grows exponentially with the number of user inputs on the device, as every combination needs its own validation, more or less.
I firmly believe that validation should never be done on the client, unless that’s the only place you need to do it. If there’s even a single server side validation component in the project, the team is better off delegating it entirely to the servers. This makes life much more easier for the front end developers and also makes testing easier. If your application depends on a web service (as most iOS apps do), chances are that the web service would in the near future completely rewrite its required inputs specs and then you will find yourself in a situation where instead of adding new features to your iOS app, you are spending valuable time in trying to get all the client side validations in place. This, until the next time this repeats itself.
That said, there is also a need to think about whether that input is really required. Let’s not forget that iOS devices are mostly mobile gadgets where the users are generally in a hurry to complete a particular task. Even if it’s their first time using the application, forcing them to input personal data which is only partially required is detrimental to the entire user experience. It adds unnecessary validation.
Conversely, if you have an input component in your app, then you necessarily HAVE to validate it. If you’re not validating it, it’s not important, and hence, must be disposed off.
Lessons: Abide by the Apple Human Interface Guidelines, always. Don’t force your users to input more information than is logically necessary for the application to do its job. If you have to perform input validations, do them all at one place, and that place is the server where you have the necessary processing cycles.
Much has been said about the newly enacted Border Security Bill in the US (HR 6080 – PDF). At its core, the purpose of the bill (now law) is to provide monies for funding existing and upcoming objectives of the DHS (including USCIS), DOJ, and the Judicial system pertaining to the southwestern border of the United States.
It sounds really simple in intention, except that it really isn’t. The bill’s sponsor, Senator Charles Schumer (Democrat NY) states that it is beneficial to the country because it ‘Would Hike Fees On Personnel Companies That Exploit U.S. Visa Laws’. Wait, what?
Before I state my reasons for supporting this bill, I would like the discuss the exploitation Schumer talks about. The H1-B/L1 visa categories are particularly controversial, in part because they are both what are known as ‘dual intent’ visas. This means that any H1-B/L1 visa holder is allowed under US immigration law to seek a path towards permanent residency in the country. Why this complicates the entire debate – they are both mandated to ‘temporarily employ foreign workers’ in specialty occupations. According to Schumer, ‘It will also avoid adding to the deficit by raising fees on a handful of foreign corporations that abuse U.S. visa programs to import workers from India.’ So, it is clear – the bill’s primary target is Indian IT companies, namely Infosys, Wipro, TCS, and Mahindra Satyam. All these companies are also responsible for the majority of American offshored work as well. So, where is the exploitation? It is clear that the companies bring foreign workers to the US temporarily for a specific work project and for a specific client. Of course, owing to the aforementioned dual intent provision, these temporary workers are free to obtain permanent residency in the US, too, but few do. I bet this mostly due to the contractual nature of such an engagement.
The exploitation Schumer refers to could be the fact that these Indian companies are what are called ‘H1-B dependent’ companies. Simply stated, these are companies with 15% or more employees on an H1-B. These companies pay extra for this ‘privilege’ come time to apply for an H1-B. They also have to provide an attestation that they made ‘good faith’ efforts to hire Americans and that no American jobs would be lost as a result. But wait, there’s a rider. If the company hires workers with a master’s degree or pays them above a threshold salary, they aren’t required to attest anything, not that it’s genuinely easy to find qualified software engineers in the US.
So, please don’t give these companies a bad name. They are not exploiting any visa laws. At best, they are exploiting America’s global push for open markets at open labor rates.
Now, onto why I support this controversial bill, irrespective of the absurdity surrounding penalizing legal immigrants to keep illegal immigration in check. These are my points:
1. This is a good reminder that there are great opportunities elsewhere. USA is the world’s biggest importer, but there are tremendous opportunities in other parts of the world. Infosys, please start bidding on Indian projects as well.
2. This bill is no doubt the harbinger of a greater push towards immigration reform during this presidential term. Schumer has long been a proponent of meaningful immigration leading to a speedy path towards permanent residency. This bill lays the groundwork for such reform. It’s time to tell the world that America would rather import talent permanently than send it back.
3. This is the biggest reason – the bill inherently kills the ‘desi consultant’ business inside the US. These are the real culprits. Basically, these are small time body shops that work at the third or even fourth tier of the consulting business, are almost always owned by first generation Indian permanent residents with another primary source of income, have no business plan, are really H1-B dependent, and have no code of ethics. There are various reasons why someone would join such a company. For most, it’s the easiest path to getting an H1-B (and subsequently legal residence) after completing education in the US. With this new law, such companies would have to shell out extra for every new H1-B petition. This eats into the already meager margins at which these shady companies do business. But, the topic of small consulting companies deserves another blog post of its own.
4. Speaking as someone who earned two graduate degrees from a top American university, I wholeheartedly support any measure that provides confidence to American students that engineering degrees are good and that there is going to a be a job available for them when they graduate. This leads to the much greater issue in my opinion, that of regulating US Inc. such that while global talent and liberal immigration is welcome, steps ought to be taken to ensure a level playing field for people born in the country. It’s not their fault that everything is cheaper abroad. Almost every developed country has such protective measures in place. America should, too. Too bad it would need political might to rein in capitalism.
America is lucky to have a very active immigration debate in this day and age when every other country is on its toes to recruit talent globally. People want to move to America for a better life, better future, and for freedom to take risks that they couldn’t back home. I can only hope that something good comes out of bills like HR 6080. In the interim, I am confident that these steps would lay a strong groundwork towards making comprehensive immigration reform a more welcome agenda in the minds of Americans and would-be immigrants alike.