A sunny decade laterMon, 23rd Jun '14, 12:25 am::
What a busy weekend we had! Juliet and I are both halfway between introverted and extroverted. We love entertaining friends and family but we can only do that comfortably in small groups for a few hours at a time. We have been trying to plan a 50-60 people party at our house for three months now but have not made any progress yet. While we haven't been able to pick a date due to circumstances beyond our control (landscaping guys took too long, house projects got delayed because of damaged shipments etc.), I think even if everything was lined up perfectly, we would still be hesitant to get started because we're just not the big-party-for-no-reason kind of people.
In the meantime, we have been inviting all of our friends to come visit us any time they want. Coincidentally, a dozen folks visited us this weekend and it was awesome. It felt like Diwali back in India! My godson Jackson, his mom, and his cousin visited us Saturday morning so they could play with our home zoo. Then my buddy Brian came over for some serious table-tennis time, followed by Juliet's friend Karen and her three kids. Sunday morning my friend from Philadelphia Megan and her husband Chris dropped by to spend an idle day by the pool. In the evening, our friends Cary and Laura stopped by to bid us farewell before they move to Arizona this coming week.
Ten years and a week ago, I moved to Florida with the help of my buddy Arthur. For the past week, I have been trying to come up with something meaningful to write about the whole decade that passed by - words of wisdom, lessons learned, top 10 most embarrassing moments - anything to summarize the ten years of life I have built here. But now I realize that is pointless because it doesn't matter if I'm still driving the same car I bought in 2004 (I am!) or gained weight (15lbs/7kgs, mostly due to my awesome beard) or have lost friends or made new ones (who hasn't?). Life happens to all of us and while I made mistakes and learned or didn't learn from them, so did everyone else in their own respective lives. All I know is that ten years ago I was alone in the whole state of Florida and this weekend I couldn't find one minute of alone time to write this entry.
You have no email. Enjoy your day!Wed, 11th Jun '14, 12:05 am::
I used to fear ending up with a life where I would have a full, busy schedule. I was and still remain fiercely against living an eventful life where a lot of things happen every day. If a scheduling genie was granting three wishes, I would ask for (1) my email/voicemail inbox to be always empty (2) my to-do list to contain only one important item per day, and (3) absolutely no preset meetings or appointments.
Since I have not yet met a scheduling genie, my life continues to be a constant barrage of planned and unplanned events, tasks, commitments, and projects. Something is always going on. Be it house projects, work deadlines, or social obligations, there is something new happening every day. I have to maintain detailed to-do lists, from "server deployment plan" to "garage cleanup list" just so I can keep up with everything.
I am living the exact life that I feared.
But it's ok. I am getting a lot done in the meantime and I am slowly working towards a life that is closer to my ideals of doing just one thing and doing it right. Be it work or play, I avoid distractions and interruptions. I have never been a fan of multitasking. I don't check my phone when I'm having dinner or plan dinner when I'm on a conference call. Even though I am not in a position to live the idyllic leisurely life I want right now, I will never going to stop trying. I truly believe that nothing is more productive and beneficial than distraction-free single-minded focus, be it in work or play, business or charity. And a full, busy schedule is the antithesis of that.
Just one ticket pleaseSat, 24th May '14, 12:00 am::
In 2008, Iron Man I came out. I really wanted to go see it. I asked a few friends and nobody could make it. I asked coworkers and nobody could make it. I got bold and asked out a cute girl I knew and she couldn't go either. I went home and went to sleep early because I was so distraught. Over 7 billion people on this planet, a million of them in my own town, and not a single person wanted to go watch a movie with me.
But then suddenly out of nowhere, I thought, "Hey I can just go by myself. It's 10pm, late enough that chances of any embarrassing run-ins will be low, but not so late that I'll be late for work tomorrow." So I go out of bed, dressed up like I was going out with friends, bought a single ticket, and enjoyed the movie thoroughly. As I drove home, I called my best friend to say how great the movie was and that he should definitely see it. Next day I talked about the movie with my other friends and coworkers. I was constantly scared of them asking me "Who did you go see it with?" but surprisingly, nobody asked me.
Without realizing it, I had overcome my fear of rejection. The next day I told the same cute girl that I was going to the local mall and she should meet me there. She liked how confident I was and said why not. We had a great time at the mall and met up more often later. Soon she moved in with me, then we got engaged, then we got married. It's been the happiest six years of my life and I don't think any of that would have happened without that single ticket to Iron Man I.
I decided to write this down because I came across someone else online who didn't have a friend to go to the movies with.
We went to my old college friend Michele's wedding this weekend and had a great time. I'll post the photos soon.
Right now, we're in the middle of a lot of house projects: reorganize garage, level backyard, setup goat area, fix up bathrooms, and lots of minor upgrades. As soon as the goat area is ready, I'll share the pics.
Life's pretty busy with a lot of different things lately. Other than coding projects that keep me up all night, I've been dealing with a lot of boring but important paperwork for insurance, health, travel, and financial planning. I calculated that we pay more for insurance than any other expense except for taxes. We have home hazard insurance, flood insurance, mortgage insurance, health insurance, term life insurance, accidental life insurance, disability insurance, professional liability insurance, and auto insurance. On top of that, we pay for cellphone insurance (which I've availed of twice already thanks to my recklessness), pet health plans, and travel insurance for every trip we take.
Speaking of travel, now that I'm a US Citizen, I have to apply for a visa to travel back home to India and the paperwork for that is surprisingly exhaustive. I'm hoping that my schedule will become a bit more relaxed over the next few months once I've dealt with all of these tasks. Until then, it's just one thing on top of another every day.
This is NOT meSun, 20th Apr '14, 2:55 pm::
I don't know who this guy is but he is making me question my existence more than Descartes or Nietzsche ever did. For the first time in my life, I have found a doppelganger. Well, it was actually Juliet wondering what I was doing on a beach without her. It appears we both spend quality time on beaches flailing our arms around, wear garish clothing, sport a manly beard, and refuse to bow down to the tyranny of barbershops. To you Sir, I say "Congrats on being almost like me!"
The Goats have arrived: Marco & PoloMon, 14th Apr '14, 7:50 pm::
They constantly call out to each other when separated. Hence the names: Marco - Polo. Marco's the older black & white baby goat and Polo is the little waffles-colored kid.
The first four photos are from two weeks ago when we first saw them at a farm up north and the rest are from this weekend at our house. Right now, they're staying in a make-shift enclosure in the porch. Over the next few weeks, we'll setup a nice shelter for them next to the Prairie Dog and Rabbit enclosures in the backyard, and build a protection fence around the whole area so they can safely chomp grass all day.
I also uploaded the pics from our weekend trip to see family in Utah last month.
Enchanted!Sat, 5th Apr '14, 12:55 am::
Tonight, we went to see the comedy musical show Disenchanted with our friends Cary and Laura at the Straz Center in Tampa. I knew it was going to be funny but I had no idea it was going to be utterly hilarious. The play is a sarcastic take on the Disney's Magic Kingdom universe, comically yet bitterly mocking tropes like damsel in distress, prince charming, once upon a time, and happily ever after.
While I had read many positive reviews of the show prior to the ticket purchase, I expected the quality of the performance to be mediocre. Instead I was blown away by how beautiful the artists' voices were and how well the live orchestra performed. The lighting, sound, set design, and costume design were very well done, and although the theater and stage were small, it felt no different from any big budget Broadway show.
Guess whatSat, 5th Apr '14, 12:40 am::
Take a look at this cellphone photo I took at my friend Rick's house, peeking directly into his telescope. Try to guess what it is. Scroll down for the answer.
It's the sun through a special solar filter. You can clearly see the sunspots as the dark smudges.
Building an awesome home surveillance systemTue, 1st Apr '14, 12:10 am::
During the first year of moving into our house, we focused on function: fix what's broken, replace what can't be fixed, and make everything work as best as possible. The second year we focused on necessary furnishing and organization: bedroom sets, dining table, floor mats and so on. The third year we're splitting the upgrades - Juliet's in charge of paintings and decor and I'm geeking out on home automation and surveillance. I'm quite happy with the technical decisions I've made so far and would like to share what's worked for me:
Home Network: The cheapest, easiest, and most reliable way of controlling all the different systems in your home is over the good ol' LAN. Since every system in my house was going to be controlled via the LAN, the first thing I did was buy a powerful router: Netgear WNDR4500. In addition to having 4 Gigabit ports, the WNDR4500 supports dual band WiFi at 2.4ghz (usually 802.11g - good: long range, every WiFi device supports it; bad: all your neighbors use it, microwaves interfere with it) and 5ghz (usually 802.11n - good: better speed, less noise; bad: shorter range, only supported on latest devices). Connected to the router is my cable modem, couple of TP-LINK Gigabit switches and a TP-LINK Gigabit Power-Over-Ethernet (PoE) switch. If you want a solid home network, make sure all your core switches support 10/100/1000mbps and only use CAT5e or CAT6 cables. All my wired devices are connected to the TP-LINK Gigabit switches. The TP-LINK Gigabit PoE switch is connected to all of my wireless access points.
Wireless Access Points: Even though my router has very good WiFi connectivity, it does not cover my entire house and definitely not the yard. We installed four EnGenius EAP600 units around the house and porch so that almost every corner of my house gets blanketed with perfect signal strength. The EAP600 gets power from the Ethernet so mounting it on the ceiling is a very simple step if you have easy attic access. The best thing about EAP600 is that in addition to supporting dual-band WiFi at 2.4ghz and 5ghz, it supports band steering, "a technology that detects whether or not the wireless client is dual-band capable, and if it is, it will push the client to connect to the less congested 5GHz network." This means my iPad and laptops that support 5ghz automatically connect on that frequency while my older devices continue to work on 2.4ghz. The best part is that there is a single wireless network (SSID) to connect to. Having a good wireless network is necessary if you want to view the surveillance videos from anywhere in the house on any device.
Devices: Speaking of devices, I am absolutely in love with my iPad Mini Retina and highly recommend it as the remote control for your entire house. I find the regular iPad too bulky and the iPhone/iPod too small to operate. I can't speak for or against any Android or Windows tablets as I don't know if the software I use is available on those platforms. As for the hardware to record my 12 camera feeds, I went with something unconventional - an Acer Travelmate P6 laptop that was on sale! I set it up to never go to sleep, operate with the lid closed, and removed all unnecessary software since it was going to use a lot of CPU/RAM 24/7. Believe it or not, a modern laptop with Core i3 and Gigabit Ethernet is more than capable of recording 12+ cameras. Best part is I can hide the laptop somewhere inconspicuous for added security and not worry about it being a target itself. Only problem with a laptop is storage. While 500 GB ought to be enough for a week's worth of video for 4 cameras, it barely records two days worth from my 12 cameras.
Storage: I attached the Acer laptop to my Synology DS211J NAS. I cannot profess my love for the Synology brand enough. I've bought, setup, maintained, and troubleshooted probably 30 different brands of network-attached-storage devices in the last decade and absolutely NOTHING comes even close in performance, price, quality, and robustness to Synology - not even products 3-5x more expensive. Even the low-end DS211J version is very reliable and works great for home backups, media sharing, and in this case, recording video footage. Pop-in a couple of 2TB drives, create a shared folder, map the shared folder in Windows, and drive S: is now ready to store two weeks of videos!
Software: Before I arrived at the current laptop, storage, and software solution, I spent months trying out various software (both free and commercial) and hardware (plug PCs, mini PCs, even VMs). My requirements were pretty fixed from the start: (1) Must work on iPad and iPhone (2) Must work from inside and outside the house (3) Must support at least 12 cameras (4) Cost under $500 in software/device licenses (5) Must allow real-time video and easy playback of recorded footage. While I came across many different solutions, the one that worked best is the free-for-personal-use video monitoring software Genius Vision NVR. It only took minutes to install on the Acer laptop and barely 30 minutes to configure to record all footage from all 12 cameras. It has companion apps for the iPad and iPhone and has decent security to make sure nobody can access my cameras without the right credentials. When adding the cameras to Genius, make sure you name each camera channel properly because there's no way to change them later and the iOS apps automatically sort the cameras based on the channel name. Since you cannot rearrange the cameras on the iOS apps, you really want to get the order correct beforehand. I prefixed my camera channels with 01, 02 etc. to get my desired sort order. Once Genius was configured properly, I opened a random port on my WNDR4500 firewall and made it point to the laptop's IP and Genius port 3557. On the iPad and our iPhones, I added two NVRs (a) At Home (b) Away from Home. The At Home connection points to the internal LAN IP of the Acer and Away from Home points to my WAN IP. Since my ISP rarely changes that, it is not a big deal for me to update that if necessary. I could've used a dynamic DNS service but oddly enough, most of the popular ones are no longer free and the ones that are, I don't know well enough to trust.
Video Surveillance - IP Cameras: Having used many different IP cameras in the past, I knew this was going to be difficult. I wanted 12 identical cameras that worked perfectly in day and night, in full brightness and pitch dark. Nearly all of my cameras face East or West and so it was critical that as daylight fades away the infrared mode kick in automatically and vice versa at sunrise. Additionally I wanted outdoor PoE cameras that could handle moderate rain, high humidity and temperature changes. Weeks of research led me to try out Dahua IPC-HFW2100 (IP66) and I can honestly say that I am pleasantly surprised at how well they work and meet all of my requirements. I must add that configuring them was a pain times twelve and that without this Amazon review, I would not have been able to setup the RTSP stream necessary for Genius Vision NVR. Make sure you get an IP camera that supports NTP and point it to pool.ntp.org or another NTP server so that you never have to worry about the camera's internal clock, which is usually displayed on every stream. If you setup the camera to overlay the current time on the stream, you can immediately tell if any camera stream is frozen by just looking at the on-screen clock.
PoE Switch: I highly recommend getting PoE cameras so that you only need a single cable to the camera instead of power adapter and electric sockets everywhere. In terms of performance and reliability, PoE will always beat WiFi + power adapter. Problem with PoE is that the switches are usually expensive. Most PoE switches with 8 ports only have 4 PoE ports. I did not want to buy 3-4 PoE switches and instead got a BV Tech 16 port / 100Mb PoE switch. I was originally quiet worried about having just a single 100 Megabit cable connect all of my 12 cameras but believe it or not, it has worked quiet well. Even if all of my cameras are streaming at 4Mb/s, that is still under 50Mb/s, well below the theoretical capacity of a 100Mb switch. The best part is that since this device has individual switches to turn on/off the power to each port, I can use it to reboot any camera without unplugging the Ethernet cable.
It has taken me a good six months to plan, budget, purchase, test, and deploy all of the above and finally I feel content with it. I would like to setup Genius Vision NVR to record on motion detection instead of bulk 24/7 recording but that will take a lot of tweaking for each camera. Regardless, we now have a system that we can access from anywhere in the world and it works as well as any professionally installed solution that would cost 4x as much.
Other than the surveillance project, I've also replaced all of our regular A/C thermostats with CyberStat WiFi thermostats that Juliet and I can control from our phones. No more wondering if we left the bedroom heating on while we go on a weekend trip - we can check it and change it from anywhere with Internet access! Next up, I'm thinking of installing electric switches that can be controlled from the Internet and of course in person. And then some day, I plan on writing an algorithm to control colored LED lights in our living room based on a variety of factors.
Last minute heroicsSat, 15th Mar '14, 1:05 am::
I don't remember a single instance in my academic life when I finished my homework well in advance of the due date. Yet surprisingly, I can't recall being late for any assignment unless I had a serious excuse. For as long as I can remember, I have always scheduled my homework to be completed just moments before it was due. Or in other words, I have always waited until the last possible moment to get started. You might think that this negative personality trait is sooner or later going to get me into serious trouble. I'm not cocky enough to deny that possibility but due to the reasons I list below, I highly doubt it.
While the disciplined students and obedient employees were working on their big projects months in advance, pacing themselves cautiously, providing adequate buffer zones in case of problems, I was learning how to improvise at the last minute, regardless of the subject matter at hand. While they were trying their very best, I was unknowingly learning how to ration the resources I had (time and energy) while delivering my desired quality of work. On the surface, this makes me look like someone who does just enough to get by but nothing could be further from the truth. Not only have I always aimed for the best results, I have forever challenged myself to be more ambitious. It is that innate desire to do more things juxtaposed with my inherent laziness to do no more things that has fine tuned my ability to "just wing it".
I am not writing all of this to show off my improvisational skills but rather to encourage the last minute heroes to continue procrastinating tasks as long as they do not miss the deadlines. I spent my school and college years participating in many different activities and programs simultaneously, waiting to do everything until just before the cutoff time. The amount of self-inflicted guilt I bore for not being more disciplined was demoralizing and unjust, especially since the results of my efforts were almost always top quality. I made myself feel bad for not following the path I was told was "right", even though I was surrounded by disciplined students who took weeks to write their essays and ended up receiving lower grades than the papers I wrote in the final two hours.
It was not until I joined the workforce over a decade ago that I realized that my lifetime of last minute heroics had prepared me to excel in the face of impossible deadlines. In school, you get four months to do your research, collaborate with your classmates, and design your presentation. In real life, you get pulled from an already-delayed project you're working on, to take over an urgent do-or-die assignment that you know is a bad idea in the first place. Given that situation, would you rather be the disciplined student who needs a four month plan to accomplish anything substantial or the champion of procrastination who has been living on the edge all their life?