charge - 2006.04.23: lake okechobee, fl

'blog > search

Search Chir.ag 'Blog


Search Results

Search text: "app" found in 34 'blog entries.

GratefulSat, 15th Jul '23, 12:45 pm::

I started running again recently. Today I ran (and partially walked) 5mi at our local park. Twenty years ago when I started training for marathons and ultras, all I needed was my youthful ambition and gumption. Now at 42, I bring multiple herniated discs, varicose veins, and some extra weight with me on each run. And if I want to go far, I need to plan and prep properly. I also need a lot more motivation and discipline. After a few short runs, I started buying new running gear - running shorts, shirts, compression socks, headband, headphones etc. I will likely buy new shoes and water bottle/pack soon. I am excited because all of this modern gear is so much better than what was available in early 2000s. The shirts don't chafe, the shorts have pockets with zippers, the headphones conduct the audio through my bones, keeping my ears open!

The best thing I did was sign up for Nike Run Club App. I setup my running goals in the app and have a weekly plan that works well for me. The first week, Nike's Coach Bennett guided me via the app at every stage of the daily runs. Every run has a purpose, whether to get far, get fast, or just get started, said Coach Bennett's voice in my head. With every guided run, he suggests topics for me to think about as I try to keep moving.

Today it was about being grateful. What am I grateful about as I run today? Who am I grateful for? Who brings a smile to my face and makes me laugh so hard it hurts? The moment he said "grateful", I immediately pictured Juliet in my mind. I am grateful she came into my life. I am grateful she is here with me. I am grateful she is still doing her best to take care of me and our kids. I am grateful she loves me.

Three years ago when she first got diagnosed, our whole life turned upside down. Leela was a newborn, Naveen was not adapting well to school life, and the pandemic shutdown all travel and large events. Not surprisingly, I never got back into long distance running by my 40th birthday. Instead I took her from one healthcare specialist to another. 2020-2022 were tough years.

I am grateful that things are better now in many ways. Both the kids have adjusted well to our life in Illinois. Juliet has made a number of local friends and spends a lot of time doing arts & crafts. Her medical conditions have not drastically improved but we have both learned what works best for her - temperature control, no long drives, lots of breaks, minimal stress. And best of all, we are surrounded by beautiful nature and kind people. I could not ask for more.

I am grateful that I can run again. A lot of pieces had to get fall into place for me to be able to run again. For now, the chaos has died down enough for me to take an hour of my day to go running. I still have a ton of chores, paperwork, and medical stuff to handle, on top of actual IT/programming work, but my head is not on fire 24/7 these days and that is wonderful.

Video GamesWed, 7th Apr '21, 12:45 am::

I have vague early-childhood memories of my parents and their friends hooking up wired remote controllers to an old black & white TV in the early 80s to play pong. I never got to play it but soon after we got a handheld pinball video game that my sister and I loved, similar to this Nintendo. I was never good at it but it was fun. Few years later we borrowed a ZX Spectrum from a family friend for the summer and played JetPac. This was around the time PCs were becoming common in India and I got to try out the original Prince of Persia. My friends were playing Contra on NES but I never got into it.

Few years later we got our own PC, a brand new Intel 486 DX2 with 8MB RAM and 500MB Hard Disk, and over next few years my sister and I played so many games on it from Gods and Jazz Jackrabbit to Aladdin and Lion King. As I was still pretty bad at games, I discovered the wonders of Game Wizard, a background app that allowed me to freeze the number of lives I had so that even after my character died, I could play over and over again without losing. I made a few simple PC board games around mid 90s but didn't really go down the gamedev path. Then Wolf 3D, Doom, Need for Speed, and Terminal Velocity came out and my cheating apps didn't help.

After I started coding business systems in late 90s, I stopped playing games. In early 2000s, during my college years, I only finished one game, Splinter Cell because a good friend of mine, Chris, loved it and gave me tips. My favorite part of Splinter Cell was that I could save and load any time. So I would save right before I entered a room full of bad guys and keep loading the saved game until I managed to shoot them all without dying. I was terrible at it but I finished it without needed a modern Game Wizard cheat.

In 2005, I came across Falling Sand Game and loved it. It was more of a toy than a game but I'm fairly certain that when I decrypted the Java code and resized the tiny game to be full-screen, it launched the genre. I didn't write the game but I'm pretty sure I pushed the metaphorical "GO!" button and I think I also came up with the name itself. Other than this, I don't think I played any games until after I married Juliet and we tried Portal. It took us a few weeks but we loved solving the puzzles together and finished it after much effort. I listened to the Still Alive song from the game for months after. We tried Portal 2 a few years later but never completed it.

I rarely played games on my phone but Juliet tried a few ones like Candy Crush. Then my parents got me into a few word game apps but it was under 20-30mins per week. When Naveen turned 4, I installed Terraria on his Kindle and he started playing it. Couple of years ago I bought Oculus Quest and tried out Beat Saber and enjoyed it until our living room was once again overtaken by baby toys.

Last year we started playing a few games together on the Apple TV and during the initial lockdowns, Naveen and I got into Oceanhorn 2. We played it all summer and when the game was over, I was crushed because it was such a great experience just sitting in the living room with kids, looking for hidden treasures to collect on-screen. Thankfully for Naveen, he and Juliet started playing Sneaky Sasquatch soon after and I believe they are still exploring that game 9-10 months later today.

Earlier this year, I bought the new Xbox Series X and we all started playing games together again. We absolutely loved Call of the Sea and What Remains of Edith Finch. I finished Gears 5 on my own, with Naveen occasionally telling me to "go there" or "pick that up" from the sidelines, but the experience was nothing like when we played Oceanhorn because Gears is not really a kid-friendly game.

I haven't started a new game with Juliet yet but after trying out a LOT of different games, Naveen and I finally have a new game we love to explore together, Outer Worlds. It is a surprisingly feature-packed game with so much to explore, ton of player customization and upgrades, and great story-line and interactivity. Naveen uses his experience from Terraria and suggests how I should modify my gear, barter items, or select newly unlocked perks. We haven't finished it but we've explored a lot of the game already and can't wait to see where it goes.

Three decades after getting my hands on a video game, I am still terrible at them. I can barely fight an enemy boss without half a dozen attempts to save and reload. I often get lost and have to go into the same rooms and hallways repeatedly just to find my bearings. And despite all of it, I thoroughly enjoy playing video games, especially with family. I miss the days my sister and I would stay up all night just to get past one tricky level. Now I get to relive those exciting moments and nerve-racking emotions again with Naveen in every new game we try, and someday maybe with Leela.

Books, films, TV shows, and music each have their own place in my heart when I want to engage in passive entertainment. Board games and outdoors adventures are wonderful for active entertainment. But video games for me hit the perfect spot as a blend of both active and passive activity and best of all, since I am so bad at them, last for weeks and even months! And I think it is this prolonged participation in each particular game that leaves such deep, wonderful memories in my mind. Because when we're playing a new game, I am living in that world for a long time, unlike a 2-3 hour movie or a few evenings worth of reading a good book.

I have watched every Marvel and DC movie made in the last 20 years, most of them multiple times. Last summer we spent over 120 hours playing Oceanhorn. That's twice as long as all of these movies combined and then some. And best of all, I spent every single one of those hours engaging with Naveen, asking him why he wants to go there or pick that up, letting him come up with the winning strategy, working with him on his decision-making process. Sure, at the end of the day it's all just games but we needed the escape from reality when Juliet was alone in the hospital after her diagnosis of MS. And now while we await the results of her secondary, possible diagnosis of Myasthenia Gravis, I'm just glad that Juliet seems interested in playing Fallout 4 next.

Tech Things I was wrong aboutSun, 29th Nov '20, 11:25 pm::

For centuries, people have made predictions on what the world will be like decades and centuries into the future. I am a lot more interested in 5-10 year predictions than 20-50-100 year ones because the former are more actionable. Like many others, I could easily see that streaming services were going to take over the world and that nearly everyone was going to have a smart phone. Nothing worth bragging about as it was pretty obvious since 2005 unless something went terribly wrong.

What fascinates me are the things that I was wrong about 5-10 years ago, not because I lost money or respect over it (trust me, I care for neither of those) but because it means I was imagining a different world than the one we live in now. It means that today when I see 5-10 years into the future, I could be similarly wrong and it is best that I take some time to look back and alter my underlying assumptions that turned out to be wrong.

1. Bandwidth: I grew up with 28kbps and 56kbps dial-up connection and personally experienced the jumps to DSL, then cable modem, and right into the 2G, 3G, 4G/LTE speeds. And now I manage fiber and cloud networks at 5-10gbps daily. So you would think that someone in my place would be optimistic about there always being enough bandwidth in the future. But turns out I am not. At each of these stages, I could not foresee things getting any faster and instead spent my time optimizing and building for the current speed. While this sounds like a bad thing, it actually works in my favor in day-to-day work situations because it makes me build things that work fast now, not after everyone upgrades to 5G. However, if I was more "futuristic" in my thinking, I would build things for the future. So when 7G comes, my bandwidth-hog 3D video-streaming game-simulation app will be just what people try out first.

2. Video Streaming: Tagging along with my bandwidth shortsightedness, has been my ever pessimistic view on how much video streaming will really be possible. I always thought Netflix wouldn't be able to support streaming a hundred million streams simultaneously so they will come up with alternatives like P2P streaming, DVR-style recording/downloading, custom devices with terabytes of storage etc. But instead they did something that just blew my mind because of how plainly logical it was - they worked with major ISPs and put Netflix servers right on the ISPs internal network and wrote code that cached the most commonly viewed streams. This means that when I click 'Play' on my TV to watch a popular Netflix show, the file is coming to me straight from my ISP's building in my city a few miles away, not across the Internet from New York or California.

3. Compression: I was wrong about how limited the video quality would be too, as I watch nearly everything in 1080p and some 4K today. Compression has continued to blow my mind at how great things look and how small lossy video/audio files are. Sure, nothing beats 70mm film in theory but I can barely see any blurriness or distortion when watching a YouTube video on my phone. Even now I scoff at 8K videos, who needs that! But based on how wrong I have been in the past, within a few years I will surely be annoyed when the 8K stream I'm watching on my virtual glasses hiccups a bit. All of this is made possible due to the insane level of compression thanks to literal geniuses in math, signal processing, and computer science.

4. Battery vs. Phone Weight: I have absolutely been wrong about this and I still don't know why the world doesn't see it my way. My phone is thin and light enough. Even when it's brand new, the battery barely lasts 8 hours. Just make the damn phone thicker and give me a 3-7 day battery! Stop making the screen bigger. But turns out I was wrong. People want thin, light phones that they have to charge 3x a day. Literally every person I know connects their phone to charge the moment they sit down for an hour. I'm not saying I thought batteries would be better by now. I thought people would realize that long battery life was worth the excess weight. But turns out I'm wrong.

5. A.I.: I'm still every pessimistic about strong or general AI i.e. computers with human-level intelligence or beyond (super AI). I don't think that's happening any time soon. I was also always optimistic about weak or narrow AI that has a very specific task like image recognition or text to speech. What I could never imagine was that throwing a data-center's worth of computing resources into a narrow AI can actually make it perform close to a general AI for most purposes. In simpler words, while we don't have a magical smart AI genie, we have really good software that can translate between languages, and if we make that software learn the entirety of everything ever posted on the Internet, the resulting AI will not only be great at translating between languages but it will also be capable of translating between languages it has never seen before. It will also be capable of writing new text in any language, like news reports, based on a few key inputs. This isn't necessary strong AI but for all intents and purposes, it is good enough. If you've read a stock market summary of the day in the last 5 years, it's AI.

6. Bluetooth: I was more optimistic on this than reality turned out to be. I thought we would have better alternatives to crappy Bluetooth by now. Turns out we don't. I don't even want to get into why because it is just 500 pages of depressing.

7. Social Media: I easily saw where Twitter and Facebook were going to end up and the reality is not too far off from my expectations. I am not surprised with walled gardens and information bubbles etc. That was only natural. What I am surprised about is how easily you can still live without them. I don't use LinkedIn, Facebook, Twitter, Instagram, TikTok or any number of cool social media apps. I still read and infrequently post on reddit and watch some of my favorite science/tech channels on YouTube regularly. However, I've easily gone weeks without so much as looking at reddit and I signed up to watch my YouTube creators on Nebula for $5/mo. Literally nothing in my life is going to change if any or all of these social media sites went away instantly today. I might have some more time to kill and maybe will read more. I am utterly shocked that something hasn't compelled me to start using them like kids school programs or neighborhood or medical community chat. As relieved as I am to say all this today, I am also still pretty pessimistic for the future. I'm fairly certain there will be a time when I absolutely will have to sign up for some social media site just to go about my life. Note that I don't hate them or anything. I just don't have the time or energy to maintain an online presence beyond this blog.

8. Remote Desktops: I was more optimistic on this too than what really transpired. I thought by now, we would all have an individual "computer" in the cloud that we'd pay $5-10/mo for and it would have all of our files and software that we could access from any computer, phone, TV etc. I thought may be a small token or app on our phone would make any computer/monitor into a full-blown desktop with all of our data. Technically this is absolutely possible today and it was possible 10-15 years ago too. I just thought it would be common. So if a friend came over, they would just connect to their remote desktop on our living room TV and show vacation photos. Instead, people text each other entire movies (hello #1-3 above) or "cast" their phone to a Android/iOS device connected to the TV. The latter technically mirrors my original vision but the phone is the source of the data, not a gateway to the cloud server, so it's not the same. I think if you are in the Apple ecosystem, there are some signs of going this way with AppleTV playing your iCloud photos/videos, sharing your purchased apps/games with family members etc. However, it's all connecting to computers that Apple controls and manages, not you.

9. Self-driving automobiles: I still can't believe we have these and that they work in most environmental conditions. I also can't believe that they are not already the standard in every new car. I thought it would take forever to have cars that drive on their own. Or rather, the whole world would need to install magnets or sensors underneath every road and highway so trucks and cars would detect them and stay in the proper lane. Instead Narrow A.I. (#5 above) got so good at image recognition and depth perception that it can drive cars and identify road markers in real-time. Totally blows my mind. I also thought that the moment one car company came out with self-driving cars, it would be just a few years before every new car would self-drive because that's the best way to ensure safety and remain competitive. But instead every company is selling a few self-driving features like lane-keep and adaptive cruise control in their higher-end models while completely skipping on these for their economy class. I get why they do this because of costs but I thought consumer demand would necessitate these safety features. Nope, I'm wrong for now.

10. Video Conferencing: COVID-19 did more for video conferencing in 2 months than tech advocates did in 20 years. There is literally no way I could have predicted every person with a laptop or phone totally being ok with multi-hour Zoom sessions. Sure, there is still a lot of room for improvement but my 5 year old spends 4 hours each weekday on MS Teams video conferencing with his classmates and teacher in virtual school. That is amazing!

I'm sure I have many other current assumptions about the future that will be proven wrong eventually but for now I am just happy that many of my pessimistic predictions turned out wrong. I am glad Netflix can do 4K on a thin, light cellphone that can also educate my kid during a pandemic. I think I'm going to spend some time on what I believe the upcoming 5-10 years in technology will be like and maybe come up with ideas on how I can create tools for that future instead of just making things for immediate use today.

The Internet and Us - Part 3: A Joke OnlineTue, 18th Dec '18, 12:30 am::

It started off as an elaborate April Fools' joke in March of 2019. I wanted to prank my friend so I wrote a simple script that used Google's new Duplex AI digital agent to call him at odd hours. The AI voice was "human" enough to fool almost anyone, interjecting pauses with "umm" and "aha", repeating the same thing using different words. Gone were the days of Prof. Hawking's monotone voice. My friend was now being nagged by a believable set of voices who were trying to book a scuba lesson in his non-existent swimming pool, buy his not-for-sale hair, and apply to his world-famous clown college! My script emailed me every hilarious interaction he had to put up with but by the sixth one, he started asking the bots if I was paying them to call him. On April 1st, I called him up and asked him to review some code I was having trouble with and waited until it dawned on him. I heard a series of loud cuss words followed by uproarious laughter.

"You know I totally believed it was real people," he said. "I mean the accents could use some improvement but I honestly believed someone was posting my number on Craigslist or something. I had no idea these were computer voices!"

Over the next few months, I got busy with life and forgot about the script until one evening I had to call my cable company. They had unexpectedly raised my monthly rate without increasing the Internet speed and I figured it was time they heard my true feelings. But I was on hold for so long, I realized that it wasn't worth my time or sanity. "Only a robot could hold patiently for 30 minutes and not get enraged at the poor customer service rep for an unexpected charge," I thought. Maybe it was frustration, maybe it was the prospect of another funny story, but I spent the night rewriting my April Fools' script to bargain with the cable company. The logs showed that it took about 3 tries before an agent at my cable company said "I totally understand you frustration. How about I revert back to your old price but you keep the new speed?" My pre-programmed script sighed "Ok, that will work I guess." I didn't want it to sound too happy lest they might think I was trying to pull a fast one over them.

I shared the story of lowering my cable bill with friends and family and they all wanted to try it out. I just needed them to send me their cable company name and account number. I already knew most of their home addresses. It took a few days but eventually I had a very detailed, realistic script written that could handle most of the top 10 cable companies and it could even change the tone when talking to supervisor. I analyzed the logs and the script worked right off the bat in 60% of the cases and took at most 3 attempts to get 95% success. I eventually created a simple online form for friends of friends to enter their cable company name and account number so I didn't have to manually type things out.

I woke up one morning with a billing alert from Google. Apparently I had used $150 worth of Duplex agent credits in one night! A quick peek at the site analytics told me things had gotten out of hand. Someone had posted my app to their Facebook page. So I did what any broke person who just got his 15 minutes of fame would do - I put a big banner on the page that said "Lower your cable bill by $10/mo" and put a $1 PayPal button under it. No privacy policy, no terms of service. Just gimme a buck and my robots will take care of your problems! It only cost me 10c/call so there was barely any risk. I figured maybe in a few months, the PayPal button will make me enough to offset the $150 I lost.

I woke up next morning with a $540 PayPal balance. Positive balance! Someone popular had mentioned my site on their podcast. By evening, it was $1400 and PayPal shut down my account thinking it was scam. Took all next day to get it unlocked. After a few days, I started getting calls from people saying Company X had started training their employees to ignore my script. So I spent a few hours increasing its vocabulary and fed it a few books on negotiation and customer service. That worked. First month sales were $24,000 and expenses were barely $500!

The next few months leading into January 2020 are a haze. I was receiving feedback and requests from people around the world at an overwhelming rate. I expanded the basic cable-company caller system to handle health insurance claims, Craigslist inquiries, and even added a business-ready module that could reschedule Outlook and Gmail appointments. But the one that went viral was the car purchase negotiator. You simply enter the car make/model and your zip code and my AI bots would look online and call up every dealership in a 100-mile radius. Then it would negotiate the best price, essentially making each dealer bid against the others in near real-time. Once the script reached optimal pricing, you would get an email summary and then could call the dealership to finalize the purchase. Only cost you $25 or if you joined the monthly Gold plan or higher, it was free.

Growth was good and rapid. Soon I had a team of talented coders, a horde of eager investors, and a following of lazy slackers who never wanted to make a phone call again. But replacing phone calls wasn't the end-of-line for us. We had stopped using Google's Duplex once Mozilla released their open-source AI agent framework Firefish, which could do a lot more than talk. It could intelligently fill out forms. So we added a premium "No Snails" service. All of your boring postal mail comes to us and we handle it. Late fees on car rental? We negotiate it down to near $0. Bill for a "free" service that keeps auto-charging you? We cancel it for you! $49/mo is not a lot to live a hassle-free life. The only mail in your mailbox is birthday cards and wedding invites. No more scary IRS bills. Our Platinum plan members got their tax issues resolved automatically.

Maybe it was the public's lack of technical understanding or their faith in our brand, but people stopped thinking of us as an algorithm company. As far as they were concerned we had a call-center full of 100,000 people fighting on their behalf. It was barely 10,000 cloud servers! By the time we needed a million servers, we had acquired ten million paying customers. We were still private, IPOs having lost their charm by the market failures in late 2020s. We wanted to do something special for our ten millionth customer and the folks in travel department came up with an ingenious solution - World Citizen plan.

We already had Full-Life management plans where we took care of almost every issue you could have from picking health insurance to finding the right job. But no matter what we did, everything was location dependent. Even if our system could help a Canadian citizen find a job in US and automatically handle the filling, mailing, and replying to all of the paperwork needed to get passport and work-visa, the person still had to go for an in-person interview for security reasons. What if we could negotiate some sort of deal between both US and Canada where citizens of either countries could bypass the interview as long as they met certain criteria? Well, since most of the politicians in both countries were already Full-Life management customers, it didn't take long for us to convince them to support our World Citizen plan. After all, we already knew our customers in more depth than any interview or background check could reveal.

As far as I was concerned, I had no interest in selling anyone's data or getting hacked. Sure we experienced the odd instance of run-of-the-mill corporate espionage but securing our systems remained our top internal goal. This helped sell the World Citizen plan to more than the North American politicians. Soon Europe, Africa, and India joined in. Beauty of the World Citizen plan was that since we managed the application and approval process on both side of member countries, our customer's didn't even have to proactively apply for a visa. Instead our travel department would suggest places for them to visit as soon as they became eligible for a visa.

It took a few years but we finally worked out the kinks in the visa-free travel process. Terrorism had always been the primary threat to visa-free travel and we found a unique solution, that our customers surprisingly didn't hate - bank with us. Once a customer moves 100% of their banking, investment, and credit accounts to our system, we could easily detect and prevent illicit activities. We weren't as interested in preventing crime as in having non-criminal customers. Shady financial stuff got you banned from our service permanently. And if you wanted to appeal, you would have to fill out the forms manually and make the calls personally. There was little incentive for criminals to join our service.

For the next decade or so, we continued to acquire more customers and around the time the ten billionth baby was born, we added our third billionth customer. Of these three billion paying customers, 400 million were on the World Citizens plan. We were essentially the fifth largest nation in the world albeit without sovereign borders, currency, or elected officials. We did have a flag though and although it wasn't planted on any planet or moon, it was quite popular among new customers.

Things seemed to be going well for us and our customers well into the mid-2040s but then things took a turn for the worse quite quickly. Our non-customers revolted globally and continued to do so with an unyielding frenzy. We all understood why but we didn't know what we could do that didn't further spread violence. They either made too little to afford our service or had history (criminal or objectionable as per our internal standards) that prevented them from signing up for even the Bronze plans. These folks rarely got approved for visas now that most of the UN countries had signed up to the World Citizens registry. They had a hard time beating our AI at finding decent jobs, dates, or even restaurant reservations. Our AI lawyers beat their AI-aided human lawyers in 90% of the cases and our banking system was better insured than most countries' reserve banks. In nutshell, if you were our customer, you did not have to worry about bureaucracy. Sure it cost you a bit more to get your kid enrolled in a prestigious school but you can be sure that once you set a $3500/mo budget, our system found the most optimal school that fit your budget, education goals, and even your morning commute. The school didn't have to update their enrollment process or website. Our system did everything like you as a human would have via phone, snail mail, and web, just at a thousandth of the cost and with nary a care.

As proud as we were of everything we did for our 3/10th of the human population, it wasn't great to be part of the other 7/10th. So after a few tumultuous years, on Jan 1st 2050, we made the entry-level plan free for everyone without a bad history. Bam! Five billion new users in a day! The rest were mostly kids under 13 or ineligible to sign up.

Looking back at my life, I am proud to say that I helped improve the world in my own unique way. No, I didn't cure cancer and didn't eradicate world hunger. I barely donated to charity beyond what my Full-Life Tax AI suggested. But I'd like to think that I made the world a better place because I got rid of stress and misery on a global scale. We are all but human. I never expected us flawed humans to always do the right thing and I could never convince politicians to fix the laws or update their convoluted processes. All I could do was write a few automated scripts to make living less bothersome. Who knew it could end up touching so many lives! And to think it all started as a joke online.

Happy 60th Dad!Sun, 16th Jul '17, 2:00 am::

We had an amazing time in Kolkata, India last week celebrating my dad's 60th birthday. It was a very short but fun-filled trip and the memories we made will last a lifetime. Earlier this year my dad said that he wanted to come visit us in Florida for the summer but I wasn't too keen on that because that would mean he would be away from all of his friends and family on his 60th birthday. So instead I suggested that we have a party in India and invite everyone.

It took about 6 months of intense planning and organization (his favorite activities) and last week about 60 of his closest friends and family arrived at Sun City Resort in Mandarmoni for a weekend of fantastic food and fun activities. From private water-park hours to foot massages on the beach, he planned countless activities to entertain everyone from kids and young adults to my 85-year old grandmother. The only thing I didn't let him plan is the game show that my sister Roshni, my wife Juliet, and I put together for all the guests last Saturday evening.

Over the past 3-4 months, I developed a customizable game-show app that runs in any modern web browser, does not need internet access, and displays videos, gifs, and team score on a separate monitor that can be hooked up to a projector. During the main event, Juliet was controlling the app from a laptop while my sister and I were walking around the room with wireless mics, coordinating the games. The games could have easily been played without the app but having a big-screen that showed funny videos, played background music, and displayed team member names and scores enhanced the audience's experience. Kind of like how well-made PowerPoint presentation can improve a product demo.

We pitted our dad against our mom in a "Race to the Big 60" and played 7 rounds of games (6 of them made by Juliet, remainder by yours truly). During each round, 3-5 guests would randomly be selected to join my dad's team and similar number to my mom's. Then we would explain the rules, Juliet would start the timer, and the conference room would erupt into a pandemonium. I am so happy that every single guest excitedly got up to play and many were trying to influence the game play from the audience. While I would love to take credit for the extraordinary audience participation, looking back it is clear that the simple reason everyone was so excited to join in was because they love my dad and this was a celebration of his lifelong friendship, generosity, and genuine affection for everyone he has ever met.

Juliet and I spent a lot of time making each game and thinking about what we could add or remove to make it more exciting, not just for the players but also the audience. For instance, in the "Auditions for Indian Idol" game where 4 members of a team sing 20 songs out loud and their 5th team member standing 10 feet away has to identify the song, we gave all the members of the audience birthday noisemakers (whistles, horns etc.). What transpired during that game can only be described as raucous cacophony.

In the end, my mom's team won narrowly by 2 points. After the game, many of his friends took the mic and shared memories and stories about him. The most wonderful gift he received was from a friend's daughter-in-law Purvi - a beautiful album of family photos with handwritten notes by all of us. Juliet and I gave him a set of custom-etched Jenga blocks and asked the guests to write a few words on each block to remind them of their friendship and love when they play the game.

Beside the games and fun activities, this was a huge experience for us because it was Naveen's first trip to India and the first time I got to hold my sister's son Aayansh in my hands. And naturally, this was the first time Naveen and Aayansh met. There were lots of cute/funny incidents but my favorite is when Naveen woke up in the middle of the night and started to pat Aayansh's back just like I do when I try to put Naveen to sleep.

So much happened during the short time we were in India that it is impossible for me to write down everything. But the most important thing that happened is that my dad spent an exciting and memorable weekend with the people closest to him and I got to see him insanely happy.

KType is now RocketKeys!Thu, 31st Jan '13, 3:35 pm::

Little over three years ago, I took a long walk and came back determined to build KType - a tool to help people with speech disabilities. It took over a year of intense independent research and development but I finally released KType Pro in late 2011. I went to India in early 2012 and beta-tested it with the inspiration behind KType - my cousin Keval - who took mere minutes to start typing full words and sentences. Eight-months later, I released KType Free to help spread the word. Throughout the process, I received unbelievable amount of support from my wife, family, friends, and even complete strangers. Best of all, I regularly received words of encouragement from actual users and their families.

In October 2012, I was contacted by a brilliant researcher-turned-CEO, Alex Levy, whose company MyVoice develops "life-changing aids for people with speech and language disabilities." Over the years I met numerous developers, speech-therapy experts, and families of people with speech disabilities and I always had a difficult time explaining to them what KType really was. Yet from the very first minute of our conversation, it was clear to me that Alex truly understood what I was trying to do with KType and he could explain the app better than I ever could. Wasting no time, I flew up to Canada the next weekend to plan the future of KType and to attend my first Halloween party.

Since my return from Canada, I worked with Alex and his team on releasing the new version of KType. I am so happy to say that KType is now RocketKeys, part of the MyVoice family of apps, and available in the Apple App Store. Tomorrow, I'm driving up to Orlando, where Alex and his team are exhibiting RocketKeys at the Assistive Technology Industry Association 2013 Conference. From what Alex tells me, we have a very popular booth in a prime location, so I should be prepared to talk to attendees all day non-stop. I can't wait!

Three years ago when I decided to change my entire life around and take such a huge career, financial, and social risk, I asked my wife what her thoughts were. Without a blink, she replied "Do it." I told her to take some time to think clearly about it because it could mean lots of personal stress and financial difficulties. She immediately said "You'll figure it out. I'm not worried." For a while, I thought she was just being nice or didn't want to discourage me by saying anything negative but now I realize, she was just being honest. She truly did believe that I would figure it all out even though at that time, I had no experience in the assistive technology industry, had never built an Apple iPhone/iPad app, had never done multi-year independent research, had no experience in building prediction engines, and had absolutely no support from anyone in the field.

It took a few years but she was right, I slowly figured it all out. And she supported me the whole time in the most-likely-to-make-Chirag-succeed-way, by telling me that "it doesn't sound too difficult for you." There are two surefire ways to encourage someone: (1) tell them it is impossible (2) tell them it is trivial. The latter works better on me because when everyone tells me it is impossible, at least I have an excuse when I fail, like when I ran just 50 miles instead of the 100 miles that I signed up for. But when someone says it is too easy for me, my ego won't let me quit, no matter how difficult it really is.

I have no idea what the future holds but I know I couldn't have gotten here without my wife's support. Juliet, I love you and hope you're ready for my next big project after this :)

This is what it's all aboutWed, 2nd Jan '13, 11:55 pm::

A review of KType I received today:

    "Thanks to Chirag Mehta for this wonderful app. I've searched high and low for a speech machine for my cousin who has Huntington's Disease. This is the only one I tried that my cousin wants to use. It's simple, customizable, reliable, and the word prediction feature is so fast and right on that it's almost spooky. As a rule, my cousin can say an 8-word sentence with only 12-15 keystrokes. This app also has a feature to customize for people with unsteady hands. As my cousin continues to lose her motor skills, she will be able to continue to speak with this same app."

For the past month, I've been working hard on the next version of KType with a brilliant team of developers and can't wait until it is officially launched.

KType progress reportFri, 12th Oct '12, 5:25 pm::

I released KType Free a couple of months ago and it has been gaining traction steadily ever since. I'm getting regular feedback from SLPs around the world with feature requests, usage questions, and suggestions for improvement. Pat Mervine, a well-known SLP who runs Speaking of Speech forums, shared it with her followers and someone even pinned it.

Today I came across a wonderful video showing the film critic Roger Ebert using a powerful new communication app called TalkRocket Go by MyVoice. Roger Ebert lost his voice in 2006 after a jaw surgery and it is endearing to hear him "speak" using technology. This is why I wake up every day and stay up all night programming.

KType FreeSun, 12th Aug '12, 7:25 pm::

After months of coding, I finally released KType Free. If you have an iPad, you should download it right away. The free version is identical to KType Pro, except for the voice quality. For KType Free, I used the freely available OpenEars library which embeds the CMU Flite text-to-speech engine. For KType Pro, released over six months ago, I licensed a commercial text-to-speech engine that offers realistic human voices.

With the release of KType Free, I'm hoping that those who cannot afford the cost KType Pro's superior audio quality, can still benefit from all the other features that KType offers. Additionally, now people can try out the KType interface at no cost and if they like it, upgrade to the Pro version for better voice quality.

It's been less than a day since KType Free has been available on the Apple iPad AppStore and I've already got tons of downloads and emails from potential users! Over the next few weeks, I want to make tutorials and get in touch with more potential users.

iTunes Match download error - AppleScript solutionSat, 16th Jun '12, 12:45 pm::

This blog entry is for those who are trying to re-download their entire iTunes Match library on OS X for any reason and getting tons of errors like "This item cannot be downloaded: The item you have requested is not available for download", "There was a problem downloading. An unknown error occured (11111). Please check that the connection to the network is active and try again." When the error message pops up, iTunes stops downloading any more files and if you are like me and have thousands of songs queued up to be downloaded, manually having to click the "Ok" button will take weeks or months. Here's my solution to at least downloading the other files:

1. Create a new blank AppleScript and save it to your desktop as "iTunes-Enter.app" via File > Save. Make sure the File Format is set to Application and check the "Stay Open" option. The script will not work without this.

2. Copy-paste the following code into the AppleScript Editor:

on idle
  tell application "System Events"
tell process "iTunes"
if (count of windows) > 1 then
set frontmost to true
key code 36
end if
end tell
end tell
return 2
end idle

3. Save the file and close all windows except for iTunes. Make sure only one iTunes window is open and begin your downloads.

4. Double-click the iTunes-Enter.app icon on your desktop.

5. Sit back and watch as all the iTunes error messages are clicked automatically. I recommend you don't try to multi-task while this is going on because iTunes will be brought to focus any time there is an error message.

Wed, 4th Apr '12, 2:33 pm::

If you love languages, dictionaries, or word-tools, check out Ultralingua's monthly newsletter.

They just featured my web & iPad/iPhone app 'Tip of My Tongue' in their April 2012 newsletter under the 'Tools to Try' section. In addition to neat language tools, they often interview polyglots, linguists, and logophiles. If you like planting eggcorns in garden path sentences, give them a shot.

New mission in lifeThu, 29th Mar '12, 2:50 pm::

I have a new mission in life - spread the word about KType to the whole world. One would think that being technical, I would use some sort of affiliate-marketing search-engine funnel-optimizing analytics-dashboard to let everyone know how useful and accessible KType is but after much consideration, I have taken the old over-exuberant-salesman route - I'm making phone calls! Instead of getting better search-engine placements to directly attract end-users, I want doctors, speech-therapists, and non-profit organizations to recommend KType to users who might benefit from it.

One of the best ways for me to do that is to contact the Assistive Technology Device Loan Programs for all the US States and offer them fully-functional copies of KType at no cost. Users with speech/motor disabilities can borrow iPads preloaded with KType from their state organizations and try the app out for up to 30 days. I'm also offering to train (over the phone at present) any potential users and their caretakers at no charge. Since most organizations already have funds preallocated for iPads, there is no additional cost to them to offer KType.

It is a very time-consuming process but I think it will ensure long-term growth of KType. While I would like to take out magazine ads and rent trade-show booths someday, for now I just want to find potential users and work with them to improve the app. I know it worked for my cousin Keval (the K in KType) but I don't certifiably know if it works for individuals with stroke, cerebral palsy, or ALS.

If you would like to help, suggest Assistive Technology organizations, speech-therapists, and medical caregivers that I can directly contact. Or better yet, ask them to check out the KType Demo.

KType - First UseSun, 12th Feb '12, 2:26 pm::

After 18 months of research, learning, and coding, tonight was the first real-world test of the KType iPad app and I couldn't be happier at the result. My cousin Keval was very happy to 'say' something on his own!

Indian GPSThu, 2nd Feb '12, 6:07 pm::

We're driving 250 miles from Varca, Goa to Mahabaleshwar, Maharashtra today and really need a GPS to navigate. It will take about 8 hours to drive over the hilly, back-country roads and writing down the 94 steps of directions won't help. I have my iPhone but the data plan is exorbitantly expensive so I can't use Maps on it normally. My parents have a USB mobile internet device but it doesn't work with my Macbook Air or iPhone. Thankfully, it does work with the new Windows 7 laptop I bought for my mom. So after some jury rigging, here's my Indian GPS solution:

Connect the USB mobile internet device to the Windows 7 laptop, share the connection using Ad-Hoc wifi, and turn off the screen to save battery. Connect a USB power cable from my iPhone to Macbook Air, that also has the screen off. This should hopefully ensure a day's worth of uninterrupted power and internet access to my phone. Then use the iPhone Maps app to navigate till we reach destination. In case of failure, stop and ask any trucker or motorcyclist for directions. They usually know the way to the next town over, if not more. *fingers crossed*

KType v1.0 released!Mon, 19th Dec '11, 2:26 am::

KType v1.0 is finally live on the App Store! I just finished updating the website with the list of features.

If you know anyone who could benefit from the app, feel free to contact me and I will provide a promo code to get the app at no charge. My plan for 2012 is to work with as many end-users as possible to make KType more accessible. Over the next few weeks, I will create video tutorials on how to configure and use the app.

Fri, 2nd Dec '11, 11:18 pm::

The latest update of my iPad/iPhone/iPod app: Tip of My Tongue is now on the Apple Appstore. Tip of my Tongue makes it very easy to find words that you just can't seem to recall. It contains a list of 125,000 words and you do not need Internet-access for searching through the word list.

Making a product demoSat, 12th Nov '11, 11:55 am::

I'm making a product demo for KType and wanted to study some examples of well-designed demos before I got started. I'm looking for products that aren't straight-forward (buy plane tickets on your phone) but rather have slightly difficult to explain concepts (home media server that provides playlist sharing and wifi media-streaming without DRM issues). I want to learn how they've taken a complex idea and managed to explain the core concept in a few dialogs or slides.

KType is one of the many software projects out there to help people with speech disabilities. Saying that it "helps people with speech disabilities communicate better" doesn't really drive home the point. There are a hundred apps and devices that try to do the same. What sets it apart is that it is built for unsteady hands and works well even when the user has difficulty in using the iPad touchscreen. In addition to the tons of neat features (make your own keyboard, intelligent suggestions/word-completion), KType is simple enough that anyone can customize it. It is easy for me to write a paragraph extolling the virtues and features of KType but it is really difficult to compress that down to 60-90 seconds of digestible, non-boring video.

After going through hundreds of demos, here are some that I liked for one reason or another (please excuse the lack of capitalization/spelling in my raw notes below):

ipad-app demos:
early edition - http://vimeo.com/30786501
paperlinked - http://vimeo.com/15369816
qwiki - http://vimeo.com/22633007
flying books - http://vimeo.com/25833596

media-sharing/viewing:
goab - http://vimeo.com/21386019
soundcloud - http://vimeo.com/31084756
reader - http://vimeo.com/27194571
sugarsync - SugarSync - Access All Your Data Anytime.
mediarover - MediaRover Product Demo
boxee - Boxee - Media Center

software-as-a-service:
emailcenter - http://www.emailcenterpro.com/video.php
appointment+ - Appointment-Plus Product Demo

big-company:
salesforce - Salesforce.com: Sales Cloud Demo
cisco click - Give a Click to Change the World
ms crm - Microsoft CRM Product Demo

accessibility:
iportal morse - iPortal Accessibility demo
my first aac - My First AAC Demo

actual use:
ebay - eBay iPad App Demo Video
mixrank - MixRank Overview
exacqvision - exacqVision iPad app

Tue, 25th Oct '11, 2:40 pm::

KType brochures designed by my sister Roshni. I just received a shipment of 500 brochures printed by UPrinting.com. The quality looks amazing. So excited! Will soon be handing these out to doctors, speech therapists, and others in the accessibility & special-needs field. Working on the KType iPad app non-stop this week.

Sat, 10th Sep '11, 7:10 pm::

I've been working on designing the public-facing KType.net website the past few days. The site doesn't have to be complete until the KType iPad app is launched (hopefully by the end of 2011) but I wanted to get the design/theme planned so I could use the similar layout for brochures, presentations, and other literature. All suggestions and criticisms welcome.

High-frequency HijinksSat, 20th Aug '11, 7:03 pm::

I'm having way too much fun torturing my dear wife in the name of science. I'm working on the KType iPad app and need to figure out a reliable way to detect whenever an external button is pressed. Instead of requiring my users to touch the iPad screen, I want them to be able to press a physical button with their hand/foot/chin and register it as a click on the iPad app.

One of my initial ideas was to pair a low-cost bluetooth num-pad with the iPad and detect whenever a key is pressed. While it sort of works, there are some technical issues that cannot be resolved trivially. So I'm still looking for a better/cheaper way to detect from my iPad app that an external button has been pressed.

One idea I've considered exploring is high-frequency sound. It's easy to make a small battery-powered device that emits a specific high-frequency tone when pressed. If the iPad's microphone can detect this tone easily, then it can register a click. Of course, the sound must be inaudible to humans and pets but still be detectable by the iPad microphone. To test it out, I started playing these clips at a low volume.

I could hear 8kHz-16kHz sounds fine but not the 17kHz and above clips so I cranked up the volume all the way. Juliet started freaking out in the other room as she could clearly hear everything up to 20kHz. While it was hilarious to watch her get so flustered, it is also bad news for my research. It appears I might not be able to rely on high-frequency sound for input and need to keep looking for a better way.

Life plansThu, 14th Jul '11, 4:10 pm::

After over three years, I went grocery shopping all by myself today. Usually Juliet does all the shopping and sometimes I tag along but she's been pretty busy with work lately. Now that she is qualified to assist in surgeries at a number of local hospitals, she leaves the house by 6.30am and gets home after a long 10-12 hour shift. I'm keeping pretty busy myself with my research and consulting work but thankfully I'm not as busy as her. So I've started to become more of a house-husband and help her out with chores.

It's finally starting to feel like normal life now. I hope to visit India next year and have my cousin Keval try out the KType app. For the next year or so, I want to work with him and others like him to improve KType and make it more accessible. Only time will tell what happens after that.

Juliet and I want to start our own family in a year or two and we'll most certainly need a bigger house. I bought my 750 sq. ft. house six years ago as a single, care-free guy and never imagined that someday I'd get married and need more space! While it's a bit early for us to buy a house, we still spend hours on Zillow each week, fawning at all the pretty houses with lots of rooms and space. We want a 2,000 sq. ft. house with half an acre of land or more but in the area we live in, large plots of land almost always come with a huge 5,000 sq. ft. house. Unless there is a big reason to move, we'd rather stay in this area because the weather is great, the people are nice, and we like the relaxed pace of life.

I know it sounds lazy but our long-term plan is to organize our life and standard of living such that we don't have to have full-time jobs. We want to travel, raise a family, and spend time with our loved ones without having to work 40-60 hours per week. That means while we can technically afford a gorgeous Mediterranean-style waterfront villa, we have to resist the urge to sign our lives away to the God of Mortgage and the Deity of Bills and instead live below our means when it comes to big-ticket items - house, cars, gadgets.

For now, our hunt for a mid-sized house surrounded by lots of evergreen trees in a large plot of land continues. Here's hoping we find it within a couple of years.

Sat, 18th Jun '11, 11:50 am::

People ask me all the time about the status of KType. I had a demo running in February and since then I've spent hundreds of hours coding with nothing to show so people wonder what is it that I'm really doing. I'm doing SCIENCE! And that's the problem. While I can code up a whole new menu system in a day, doing actual research takes a lot of time. But I do have something interesting to share.

KType suggestions are coming along great. When a user types "wy so srs", KType can now suggest "why so serious". KType will run on the iPad and cannot rely on an internet connection to make suggestions. So I have to come up with these suggestions in real-time as the user is typing, based on the data already stored within the KType iPad app. My goal is to make 5 good suggestions within 0.5 seconds of the user pressing a letter. With a dictionary of over 600,000 words and phrases saved on the relatively slow iPad storage, it is no easy task to pick the best 5 choices in under a second. Just reading the 600,000 phrases takes over 8 seconds! So I have to be as clever as I can be and only search within words that I can predict might match.

To put in more bluntly, I have been spending months just to save milliseconds. Because in the end, the user's experience matters more than anything.

KType.netFri, 4th Feb '11, 4:45 pm::

Happy B'day to Keval! To celebrate his birthday, I launched KType.net today. I've been working on the iPad app for a few weeks now and things are coming together quite well. I'll have a video demo soon. For now, you can checkout the demo online.

KType & LifeTue, 16th Nov '10, 7:05 pm::

I have been working nearly full-time on KType for a couple of weeks now and things are finally starting to take shape. If you're unfamiliar, KType is my research project to build software/hardware tools for improving communication for people with disabilities. For the past 6-8 months, I've been talking about it to everyone I know and I'm glad that things are coming together now. I bought a Mac Mini two weeks ago, spent the past week learning how to program iPads, and finally created the initial design of the KType iPad app. Check out the screenshots. I am nowhere close to being done but I know I'm slowly getting there.

As part of my research project, I'm maintaining a wiki at ktype.net and updating it with anything useful that I come across. I have a basic reference page with links to news articles and products about assistive technologies. Over the next few months, I will be post detailed case notes as I work with my potential end-users. Now that things are moving at a good pace, I will post regular updates.

I know I've barely started working on KType but just getting to this point in my life where I can put a good 40-50 hours a week into such a project has been a challenge. People thought I was stupid when I told them that I was planning to quit my job so I could work full-time on a multi-year research project that will not get me a degree, money, or fame. And when I explained that I intended to drop out of a prestigious MBA program so I could work on this 8-10 hours a day out of my house, they thought I had gone insane. Of course, once I talked about the project goals, applications, and end-users, I got a lot of support from everyone.

The real difficulty about KType is everything that is NOT KType. Programming and computers are easy. Life is hard. Just because I'm working on KType doesn't mean I don't have to worry about family, pets, house, cars, mortgage, bills, and taxes anymore. In fact, my money-related nightmares have quadrupled since July. I have been using my cashflow application diligently to plan our spending and thankfully so far, things look good. Giving up my job meant giving up on a stable middle-class lifestyle in exchange for financial uncertainty. Once Juliet gets a job next year, I will worry less, though I doubt I'll ever stop.

Not knowing our future financial situation means not being able to plan the big changes in life, something that I love doing. We want to buy a bigger house so my parents can come stay with us whenever they want, for as long as they want. In the current housing market, I doubt I'll be able to sell my house easily so we might end up renting it out for a few years, which comes with its own set of responsibilities. Juliet and I want to start our own family and while I am ready for it personally, I don't know if and when we'll be able to afford her student loans, two houses, and a baby or two on top of everything else.

What I'm trying to say here is that life's going on as usual. I'm working on something I truly love while doing my best to take care of everything else. It's tough but worth it. I have a wonderful partner who understands my dreams and supports my decisions even if it means postponing someone of our plans. As my favorite Doctor says, allons-y!

Presenting Cakesy.comSun, 3rd Oct '10, 11:10 pm::

I'm turning 30 tomorrow. Instead of getting emotional about the event, I made a cute little website called Cakesy.com that lets you write messages using fake-frosting on cakes. You can finally send a cake like this to your friends to tell them how you truly feel. My friend Tamara came up with the original idea for Cakesy and helped pick the different cake designs. She was also the inspiration behind the Team Maker app I wrote earlier this year. I don't know how she comes up with ideas that have such a high popularity to effort ratio.

Earlier today, Juliet and I went to play mini-golf with her family. We had a great time, had some yummy birthday dinner, and now we're watching Doctor Who on Netflix. Happy 30th to me in just under an hour :)

Google Narratives Series - InterviewSat, 11th Apr '09, 9:00 pm::

A couple of weeks ago, a wonderful lady from Google, Christine interviewed me for their "Google Narratives Series." She is seeking out developers who make novel use of Google technology and is writing about them on the Google Code blog. A few months ago, I used their programming tools to create Wiki Search app and tons of people use it now daily. Yesterday, her brief Q&A-style interview with me went live on their Code blog. It's a pretty nerdy interview unlike the meant-for-general-public WSJ interview from a couple of years ago. Right now, the Google interview is also displayed on the Google Code website.

Working as a teamFri, 29th Feb '08, 11:55 pm::

Last Sunday when I woke up lazily around noon after a long kayaking trip the previous day, my partner-in-chime-and-crime, Tay showed me a new site he was working on. He has been going to the South-by-South-West (SXSW) Music & Film festival in Austin, Texas for a number of years now and has managed to make a name for himself by making easy-to-use-and-print calendars for the event. SXSW features over three thousand music shows and hundreds of film premiers, along with hundreds of interactive conferences and panels over the span of ten short days. For the twenty-five thousand people that go to SXSW each year, deciding where to go is a hectic process because so many interesting events are taking place at the same time in downtown Austin. The last thing you want to do is miss your favorite band or a book-reading by your favorite author because you were stuck at a boring party and didn't know what else was going on just around the block.

This year, I'm going to SXSW with Tay - March 7th - 16th. I saw the new design for his schedule and immediately wanted to help turn it into a wonderful, easy-to-use, auto-updating event-planner. Thus Sched.org was born. Every evening after work this past week, Tay and I worked on refining the design, layout, features, and content of Sched.org. We launched the site early this morning and already have over 200 users signed up for 4000 events. Frankly, all we wanted to do was make a neat way to find what events (films, music shows, discussion panels, and parties) were worth going to. So it's pretty amusing that not even 12 hours after launch, we're being considered among the SXSW Breakout App of 2008 contenders and getting some props.

The way I see it, I hopped on to Sched.org (I picked the name by the way - go me!) was to accomplish two things. First, make sure my ten days in Austin will be exciting and memorable (here's my incomplete sxsw schedule). Second, and more importantly, get in the groove of working in a fast-paced project development mode with Tay. I've worked on many projects online with a lot of people but over the last four years, my professional rapport with Tay has continued to improve and strengthen like no other. It's not all bunnies and butterflies because we disagree on a lot of fundamental design and business points of view. However, the fact that we always come to an agreement that actually works better than our own personal choices, is why it's always a pleasure to work with him. Simply put, I want red and he wants green. We yell at each other for 10 minutes and in the end one of us picks yellow and we both immediately say "That's perfect!"

Just like Chime.TV, our newer projects aren't about making yet-another-typical-website. Both of us are too lazy to make something that already exists, even if it's not free. Consequently, it doesn't matter to me personally whether every tiny app we build goes gold and garners publicity, though positive feedback is always wonderful. What does matter is that in the end, we feel proud of what we made and manage to help a bunch of people in tiny little ways. Here's to Sched.org and a hundred more creative deviances in the future!

Sat, 29th Sep '07, 11:55 pm::

I made something neat for Chime.TV tonight. Soon you'll be able to embed your Chime.TV channels or any YouTube/Google etc. videos from almost any website on your own website in a non-stop playlist. Currently most video sites let you embed one video at a time but this new app I made tonight will let you make your own TV channel and display it on your site. It's not fully done yet and I will be adding more features soon. Since it can be embedded on your own site/blog, it means you can customize it to blend in with your site nicely. For example, here is my own music channel. Click on the big play button to begin. Then try the previous and next buttons to go up and down the playlist.


Get your own TV Channel on Chime.TV!


Here's my random selection of interesting videos that my friend Tay and I have found online:


Get your own TV Channel on Chime.TV!

Fri, 17th Aug '07, 12:05 am::

Check out this nifty little tool I made tonight: Name that Color. Being a typical guy, I have no clue what Lavender and Mauve look like. You can show me Indigo and I won't know if it's more like Violet or Purple. So I made this little app where you can create a color on the screen (or copy-paste CSS hex# color) and find out the name of the closest matching color. The list of colors is pretty small now but I will soon compile a much larger list for better accuracy. My favorite color is somewhere between Steel Blue and Cerulean Blue, close to #5082B9. What's yours? Find out here.

Oh and did you know Magenta and Fuchsia are exactly the same (for computer screens)?

Wall Street Journal article on my Tag CloudTue, 23rd Jan '07, 12:35 am::

Last week I received an email from journalist Aaron Rutkoff at The Wall Street Journal Online for a phone interview to discuss my US Presidential Speeches Tag Cloud app. We had a good chat over the weekend and for a limited-time, you can read his article about my work at: Web Site Tracks a History Of Presidential Buzzwords. If the link doesn't work anymore (since WSJ is a subscription-site), let me know.

I'm quite pleased at how clearly and sincerely Aaron wrote about this project and my motivation for developing it. Having had a few "interesting" experiences with media folks in the past, I honestly have so much respect for the WSJ because of how friendly and genuinely interested in my work he was. I think I showed off a bit too much about my kayaking while we chatted, him being in the freezing New York City and me living in sunny Florida :)

It's way past my bed-time now but here's hoping the link stays up free for a few days so my family and friends can read it all, since it's not available in print.

Fri, 19th Dec '03, 4:15 am::

I just spent about $500 in one night of reckless online shopping :) I figured since I hadn't bought myself anything for my b'day, I could use a few New Years gifts. I sure hope everything arrives in a week or two. First of all, I bought 4, and yes I said FOUR Seagate Barracuda 120 GB hard drives for about $283. That's less than 60 cents per raw GB! I remember in 1998, I paid over $200 for just TWO GBs! I sure hope CDW honors this awesome deal. So I'll use these four 120GB hard drives and create a RAID 5 setup that will give me about 360GB of space using RocketRaid 1640 Serial ATA controller that cost me $90. RAID is basically a system of connecting two or more hard drives in such a way that if one of them fails, the others can recreate the data on the failed hard drive and thus manage to recover all your lost data. The cost is of course that 1/4th of the space used for backups. RAID also stores parts of each file into multiple hard drives at the same time, so that when you read the file back, it actually reads from multiple drives, which is obviously faster. Kind of like having more lanes on a highway - it's expensive, but works great. So now RAID 5 will combine these 4 hard drives and give me one big hard drive of approximately 360GB that will protect my data no matter what :) Plus it'll be two-to-three times faster than each of the drives individually.

Next, I bought a $1 microphone because I have no idea where my old one is and on top of that bought this gorgeous A4Tech RP-649 wireless optical mouse for only $33. This mouse has two scroll wheels, five configurable buttons, works from a distance of 5-6 feet, comes with 4 recharable batteries, AND includes a two-battery recharger! That's a LOT for the price. And finally, I bought a pair of Sennheiser HDC451 noise-cancellation headphones. Sennheiser makes one of the best speaker-systems & headphones. These headphones are normally priced at $150 but they were only $70 on Amazon! Noise-cancellation means just that - once I wear these headphones and turn them on, they basically cancel almost all of the surrounding noise :) So I can sit in the noisy buses, turn these on, and listen to my music as if the whole world is quiet and peaceful :)

So let's see: $284 HDD + $90 RAID + $1 Mic + $33 Mouse + $70 Headphones + $16 Shipping/Tax = $494. I think these are enough gadgets for me for now. Hehe. Oh and I still have an Econ exam left. It's in about 7 hours, so I better go to sleep soon! I <3 my gadgets and gizmos.

Mon, 8th Dec '03, 9:45 am::

Everyday I get about 2-3 emails from unsuspective Indians for employment. Basically they see Chime and think it's some company that they can work for. It's always Indians so I wonder how they find me. It's possible that I'm either listed on some job directory or they just see this app and assume I'm Indian. Well, at least someday when I do wanna hire people, I don't think I'll have a shortage. Now off to another long day...

Computer Science, Philosophy, & Quantum physicsFri, 21st Nov '03, 3:35 am::

(If you're a CS major, you should read the original article I wrote this long blog entry on. If that is too confusing, feel free to read my interpretation and extension of it.)

Here's a long article linking computer science, philosophy, and quantum physics, by Jaron Lanier. You probably haven't heard of him (I certainly didn't) but you've definitely heard one little term he coined in the 1980's, "Virtual Reality. He looks more like a English major with a Philosophy minor than a computer scientist who "co-developed the first implementations of virtual reality applications in surgical simulation, vehicle interior prototyping, virtual sets for television production, and assorted other areas." In this paper, he looks at computers from an entirely different angle than we have been used to. Computer scientists (and in turn the rest of the world) basically think of computers as a bunch of electric signals being passed over wires at a very high speed. At any given time, there's really only one thing happening on your computer. You may think you are reading this website, listening to music, moving your mouse, and chatting online at the same time, but at the lowest CPU level, only one of these programs is running for a few split nanoseconds of time and then the operations for the next software are run. The context switch happens so fast that we get a perception that everything is running at the same time, which it isn't. Just like a 30 frames per second film reel, which is composed of a small number of pictures that are played just fast enough to give us perception of motion.

Real world of course doesn't work in this way. There isn't really some smallest amount of measurable time (at least not that we can measure with the current technology). Also in real life things do happen at the same time, that is you can be driving and drinking coffee while talking on the cell phone and scratching your head. Computers can only fake this kind of multitasking and that is where the problem lies. Fifty years ago it was very easy to conceptualize computers as simple straight-forward machines that receive input and product output. This led to instantenous implementations of the mathematical models of Turing machines and the first software. Sadly that is exactly what we are doing five decades since ENIAC - giving input and getting output. That, explains Lanier, is the reason why image recognition, voice recognition, video analysis and almost every application of artificial intelligence fails to product smart, intelligent results - because the current computer architecture is built to be perfect under perfect conditions.

Think about it this way. Theoretically, if you move your mouse cursor to the left, it MUST move to the left. There is nothing written in the software code for the mouse driver to move your cursor otherwise. But mouse cursor isn't the only process running in your system. Your stupid Word document will crash the system because there was a big photograph in it and your mouse is now stuck on the right corner of the screen, refusing to move. Theoretically, the code for mouse cursor did not fail, but your operating system did, and as a result brought down the perfectly functional code for the mouse cursor. The mouse cursor code is thus written perfectly to work under only perfect conditions. The alternative to this, he offers, is to write individual pieces of code, that don't rely on perfect protocols and systems to function with high accuracy. In his own words, "Wouldn't it be nicer to have a computer that's almost completely reliable almost all the time, as opposed to one that can be hypothetically perfectly accurate, in some hypothetical ideal world other than our own, but in reality is prone to sudden, unpredictable, and often catastrophic failure in actual use?"

Now if you've used a computer for more than a week, you know that computers are NOT perfect. In reality, of course not. But in theory, the science behind computers is perfect and predictable, mainly because it is built on the logics and functions of mathematics. If you add 2 and 2, you must get 4 under all circumstances. Find me a computer on which the Windows calculator gives anything but 4 for 2+2. However, the problem he says is that on small scale, perfection is relatively easy to achieve. Making small programs that work to specifications, is easy. But making a 10 million line program that analyzes the structure of the DNA is never going to be perfect, simply because of the scale. And Microsoft Windows has 50 million lines of code! How can one expect every line to function in tandem with the other 49,999,999 lines?

One obvious solution is to write better code and reuse the same code modules. I'm sure the brains at MS have thought of that before I just said it. And surely they tried to reuse as much code as possible. Yet they end up with 50 million lines. This only means that today's computer technology requires them to write 50 million lines to accomplish what they want - to provide us with an operating system that can play music, burn cd's, run datacenters, operate critical hospital equipment, and let you sell stuff on eBay. The keyword here is "today's", because there is nothing other than the limits of current technology that restricts anyone from writing smaller more efficient code. There is no need to obey the speed of light in order to write more compact code. There is no mathematical formula which predicts that in order to accomplish 'burn a cd' operation, someone must write 30,000 lines of code. Theoretically, we could design a CD burner that knows everything there is to burning a CD and all we have to tell it, is what songs or files to burn. But instead, we use a full-fledged CD-burning software to help us burn CDs. Then when the software fails, the burn process stalls midway and the CD has to be thrown away. Sure there is error correction built into the CD burner that will avoid jitter and prevent buffer overruns, but that is a unique solution to a unique problem. According to Lanier, there really should be no need to perform error correction. The CD burner should talk to the computer and as long as the computer managed to say 'hey I'm all ok' with 99% accuracy, it should go ahead and burn the CD.

Yeah I agree this sounds just as theoretically perfect and practically useless as every marketing campaign for some quasi-revolutionary killer-app released every other day, but it's hard to deny that with the current state of technological affairs, unless something is done to reduce the complexity of code being written for large projects (think, your utility company, the telephone companies, the stock market etc.) there is only so much that computer programming will be able to accomplish. Using pseudo-smart code can let credit card companies determine if someone's credit card might have been used fraudulently, but that means they have to first write the exact code to catch it. We humans don't learn anything exactly. When I drive a car, I drive with my left hand on the left-side of the steering and right-hand on the bottom, though my driving instructor taught me to put both hands in the 10-2 position. With him as my instructor (programmer), I learnt efficient driving but made my own adjustments to function better. Given the current logic circuits and architecture of computers, it's almost impossible to build an artificial intelligence system that can adapt to the world as humans. That is why we don't have talking robots and flying cars yet. Because it is not possible to design complex systems using zeros and ones. We've gone as far as possible using fuzzy logic to mimic true quantum states. But if there's ever a next stage in computers, if computer scientists ever want to break through the bounds of for-loops, return-values, and type-casts, they'll have to think of computers VERY differently from today.

How differently would you say? Think about magna-lev trains and dog-pulled sleds. Both do the same, take you from point A to B, but on entirely different levels. Today's technology is the bullet speed train that can achieve something at a really fast pace as long as the electricity is running, the magnetic track is well maintained, the passenger-load is within specifications. The pack of huskies pulling a sled on the other hand, may be 50 times slower, but they will easily walk around a big rock on an icy terrain without being reined to do so. Today's best computer software fail to achieve that. Think about it, as breathtaking as it was, the Mars Polar Lander was barely able to move around the mildly rocky Martian surface on it's own. A two year old child can run around faster and better. Why? Because the child's brain has millions of neurons and billions of connections that work at the same time, unlike the CPU of the robot, which no matter HOW fast, will always perform one-instruction at a time.

That is why Kasparov remains undefeated by the machines. Because he can think of 10 moves at the same time, while remembering 50 different layouts from the past, while the computer can only think of each move and layout at one time, although a billion times a second. A billion is still not larger than 10 to the power of 50. Someday the computer will be fast enough, sure, but it still wouldn't be able to laugh at a blonde joke. This is, I mean, if computers and software progress in the direction they currently are (and have been for fifty years). What is needed is an entirely different perspective on algorithms to get to the next generation, otherwise we have to stick to feeling 'intelligent' for writing software that opens doors for cats.

In addition to the current state of computer science, Lanier also connects computers with philosophical ideas, like the existance of objects, something that Peter Unger did in few of his papers. At the moment, I feel obviously unqualified to analyze Lanier's philosophical theories. Hopefully someday I will be qualified enough.

Sun, 4th Aug '02, 11:55 pm::

I just made a decision. It's a big one for me, small for you - I'll now start programming my new progs in C. No more Visual Basic. I wanna be a REAL programmer now. It's about time... The only bad thing is development time: It'll now take me 3 times more long to code a similar app in C than would've taken in VB. But well I'm in no hurry and who knows, if I'm good, I might get almost as fast as VB in C.