Search Chir.ag 'Blog
Search Results
Search text: "features" found in 32 'blog entries.
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 1: UsTue, 30th Oct '18, 3:45 pm::
This will be a series of long blog entries because it is my attempt to put into words an idea that has been percolating in my head for more than a few years now. Ever since I figured out what newspapers were as a kid, I have attempted to soak up every bit of information I come across, in an attempt to build my grand unified theory of the human experience. Two decades ago I logged on to high-speed Internet for the first time, a whopping 64Kb/s fast track to the information superhighway, and got hooked. The Internet is amazing. But let's back up.
It took humanity one million years to learn how to control fire. It took another hundred thousand years for us to talk right. Then ten thousand years to grow food. Followed by a thousand years to figure out machines. Only took a hundred years to master human flight. Now we are ten years into the great experiment of connecting all of humanity via social networks. And we're barely a year into every tech company walking into our homes. My hypothesis is that we humans as a collective are not ready for this. As individuals we can fly space ships and prove conjectures but as a group, we are no more capable of accepting society-wide changes than our fire-phobic ancestors would have been a million years ago.
What led me to finally write my disjointed thoughts on this topic was a remark by Dr. Milewski in his first lecture on Category Theory. He posits that humans only know how to (1) break down complex problems into simpler problems and (2) solve simple problems. Every bridge every built, every CPU ever designed, every heart ever surgically replaced relied on our ability to break down complex problems into simpler problems and then solve these simple problems. But this is not the only possible way to solve problems. Some alien civilization could solve simple problems as a byproduct of solving multiple complex problems. They could solve complex problems directly without breaking them down into simpler problems. Or they could combine a bunch of simple and complex problems and have one large complex solution to them. But Dr. Milewski argues that we humans only know how to solve simple problems. You don't have to take this as gospel or even agree with it but this is the spark that got my brain-fire burning.
I've been programming professionally for well over two decades now. No matter how complicated the problem, coders like (and better than) me all over the world break it down into the smallest parts possible and then attack each unit independently. How do you get a computer to recognize your face? First level — break it down to image acquisition, image processing, and image recognition. Second level — break down each of these into sub-problems e.g. image recognition into detection, classification, and identification. Third level — image detection can be further divided into features like edge detection, corner detection, Hough transforms etc. Fourth level — edge detection can use first-order approaches like Canny and Sobel or second-order like differential or phase congruency. No matter what field of study we pick, from art and sociology to political science and medicine, beyond third or fourth level, things sound like gobbledygook to anyone outside of the field.
But Chirag, you say, the examples you gave just made things more complex at each level, not simpler! Alas, that's the problem with how our language evolved. The simpler terms are often assigned to the most complex things. Face detection is not simpler than phase congruency. Art is not simpler than avant-garde geometric abstraction. The more general a topic is, the more complex it is, because it is composed of a thousand nested sub-topics, like a tapestry made of textile, made of multi-colored threads, woven warp and weft with picks and piles. But unlike a beautiful piece of tapestry, which we can step back ten feet and marvel at in awe, there's no way for our brains to see the big picture of billions of cellphones feeding our deepest thoughts and emotions.
As a species, we have become quite adept at solving problems. Early on we realized that we had a problem with passing knowledge from one person to next. So we made up numbers and words. Then we realized we had a problem with passing knowledge from one generation to next. So we made up lore and epics, passed down orally. Then we realized we needed something permanent, so we started writing on stones, scribes, and parchment. A few thousand years of that and we realized that a room full of manuscripts isn't enough to pass down the ever increasing volume of information humanity was generating so we came up with fields of study, education system, libraries, and professional teachers. Your college may have just built a new student activity center with virtual reality games but at its core, education today is not much different from Taxila or Plato's Academy.
So great, we figured out a solid way to education the masses. What's the problem with that? There isn't. The way we break down the universe of knowledge into fields, and sub-fields, with different degrees each taking years, broken up into gradually advancing courses is fantastic! This is how we managed to cure diseases, build dams, and send rockets into space. Good job, humanity! The problem is that this only equips us to deal with the problems we had ten thousand years ago - health, economics, and politics. Any new problem we come across, we try to shoehorn it into one of our existing models of study. Sure, we come up with new fields like operations research and management science as we broaden our knowledge-base but all of these rely on the same education system we built thousands of years ago.
Again, what's the problem with that? The problem is that we are now left to solve collective problems using tools meant for individuals. The foundation of our economic, political, and health-care systems is that each individual human is independent in their decision-making and will make the rational choice for themselves. Money is a tool meant for individuals. Voting is a tool meant for individuals. Proper diet and exercise is a tool meant for individuals. It's not my business if you go broke shorting stocks, vote for a guy who wears a boot as a hat, or eat cheesecake for breakfast, you are a free human with the liberty to do as you damn well please. Better yet, we even have laws that protect me if your actions or in-actions have a negative side-effect on me. We have built our society to incentivize human independence in every imaginable way and speaking as an independent human, that's a beautiful thing.
But speaking as someone who has read the news at least once in the last few years, we have some issues. We have some major, unsolvable issues. I don't mean the staples of hunger, poverty, and war. We are actually tackling these at an unprecedented rate. And we're using the tools of individuals (education, money, technology, voting) to chip away at these problems. Go humans! I mean major issues that we barely recognize, let alone know how to solve. Take for instance tourism, or rather over-tourism. Policymakers around the world are trying to curb the ill-effects of over-tourism by restricting length of stays, limiting the number of people admitted to pristine sites, raising taxes, and creating new regulations to best manage the local tourism industry. At a glance, this doesn't seem any different than lawmakers trying to stop any other unwanted human activity like drugs, smoking, or loitering. Lawmakers gonna law-make! But let's flip things around and look at the demand for tourism instead.
Why are so many people going to Easter Island all of a sudden? It is certainly not the steady increase in world population. Analysts at Skift, a travel website, say it's because of bucket lists and perfect Instagram snaps. When Bucket List, the 2007 film starring Jack Nicholson and Morgan Freeman first came out, nobody could have predicted that it would lead to over-tourism in the Easter Islands. Sure, things like this have happened in the past for hundreds of years e.g. Dutch Tulip mania, but this is different. It's different because of the scale and the speed. Every well-off person on Instagram from India to West Indies wants to take that perfect shot under the big Jesus statue in Rio or push up against the Leaning Tower of Pisa. A hundred years ago, relatively few people knew about these places. Now they are must-see globe-trotter destinations, shared and retweeted a million times daily.
What's the big deal, you ask. Policies will be made, locals will adjust, and a sustainable level of tourism will be achieved over time. That's how our civilized world works and it's been doing so for a few thousand years. My problem isn't with the specific act of tourism. Tourism is great. More people should travel the world etc. etc. My problem is that a small photo with a caption can change our mind. My problem is that anyone can make that photo. My problem is that the photo can spread through a vast majority of humanity in mere moments. More people have seen Psy's Gangnam Style video in a few years than the entire population of Earth in 1950!
We have built our entire society on individualism. We now have methods to influence an ever-increasing number of individuals on a global scale. We can change a hundred million minds with a single photo in an instant! And we are all addicted to this steady stream of novelty that we call the Internet. We're on it. Our parents are on it. Our kids are on a slightly different flavor of it because what we use isn't exactly cool. But we're all consuming wholesome memes, outrage-fueled news, corporate astroturfing, rage-inducing CCTV footage, political propaganda, and outright nonsense all day. And most of the time, we have no idea who came up with it and why.
Our brains are addicted to new and we will accept anything that's new. Refresh, close, re-open, refresh. Sort-by-latest. Top-in-last-hour. Show me most viewed. I want to feel the pulse of the world. I want to be connected to my community, my town, my state, my country, my world. It's 2018 and I must form an opinion on every breaking news story. So let me drink from the fire-hose already!
This is the Internet now. The Internet and us. All of us. Yes, even you who deleted your Facebook or don't post on Twitter. You are with us now. Just because you get your fix from a different source doesn't mean you are not one of us. This is us.
In Part 2, I hope to write more about "The Internet" part and how we got here.
Bank Error in Your FavorSat, 8th Dec '12, 1:20 pm::
It's a gorgeous winter day here in Florida. Perfect weather, sunny skies, and best of all, someone else made a mistake in my favor. I went to the county services to file some paperwork and they made a mistake. Since they could not reverse the transaction, they offered to provide me two future services at no charge. Now I don't go around looking for free deals or figure out ways to beat the system; not worth the effort in most cases. But I do appreciate those "Bank Error in Your Favor. Collect $200" instances because more often than not, the error is not in my favor and I have to waste a lot of time correcting someone else's fault.
On the topic of fault, having written quite a few business software applications, I have a tremendous amount of empathy for clerical workers and customer service personnel. Not just because they have to face irate customers and frantic callers on a daily basis but rather because their fault is not usually theirs. I do not blame the clerk today for processing my paperwork incorrectly when she clicked A instead of B. All humans make mistakes. I fault the developers of the system who do not provide her a way to fix the mistake by reversing the transaction with minimal effort.
In defense of the developers, it is not always easy to build an "undo" transaction in every system and there is a significant cost associated with reversing entries that have already been posted. Instead of having just two types of transactions "purchase" and "sales", you now need two more - "purchase return" and "sales return". If you were selling ID tags with serial numbers, now you need "undo issue" and "undo payment" transactions. These additional types of transactions have to be included in every screen, journal, table, and report, increasing the cost of development.
Since I have yet to come across a software development project with infinite budget, usually the features that get cut are the ones that would help reverse human errors. Instead of paying for an expensive undo button, administrators prefer to provide additional training to the users so they do not make mistakes. But humans always make mistakes. And when they cannot fix it, the feeling of helplessness causes low morale, irritability, and overall loss in productivity. If you see a long line and stressed out customer service personnel, be nice to them because the fault is most likely not entirely theirs, even when they type 3 instead of 2.
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.
Amazon.com - A Programmer's RantFri, 16th Mar '12, 4:07 pm::
Amazon.com, we need to talk. I love your service. I happily pay $79/year for Amazon Prime to get free shipping and on-demand video rentals. I buy something from you every week and spend thousands each year on Prime Eligible products. I even used your EC2 AWS service when I had to crunch through a lot of data during my research for KType. So it hurts me to tell you that you have the worst product sort and filter interface that I have ever used. Not because you do not have enough features or the interface is confusing or bland, but because you do it wrong. Here's what's wrong with a typical search on Amazon.com:
1) Incorrect sort order: I searched for 'cat food', filtered for only Prime-Eligible items, and sorted it by Price: High to Low as you can see in the first screenshot. I don't think $34.89 > $38.99 > $39.74. I understand that behind-the-scene, you are trying to calculate the lowest price offered either by you or a 3rd-party vendor and applying lots of complex calculations based on item characteristics, bulk quantity, and other parameters to make sure each item price is calculated correctly but that is not what I asked for. I said Prime-Eligible for a reason - I want to buy directly from you and I don't want to pay for shipping. Most of your 3rd-party vendors charge slightly lower than you but charge a lot for shipping. You need to ignore their prices when I choose "filter for prime-eligible, sort by price"
2) Broken filters: Why is the second item in the first screenshot even shown? At first glance, it doesn't have a price, it is not prime eligible, and it doesn't even seem to be sold directly by you. When I dug in, I found out that Amazon.com does sell this item directly, with free shipping for $42.84. If that is the case, then it should have said Prime-Eligible and shown up higher up in the sort order. Look at the second screenshot. I searched for new, Prime-Eligible 'tv remote' under $25. Why is the first item you show me priced at $69.95? What about the second and third item that are missing prices?
3) Unavailable sort: Why do I have to "Choose a Department to enable sorting"? Why do I have to decide if "disposable nitrile gloves" are categorized under "Health & Personal Care", "Home & Kitchen", "Automotive", "Industrial & Scientific", or "Patio, Lawn & Garden" by you or other 3rd-party vendors before I can sort by price or customer review? Especially since the same products show up in most of the departments. If external sites can do this using your API, why can't you?
It's 2012. Sorting and filtering at the most basic database operations. You created A9.com - a product search engine. You enable programmers around the world to use your servers at low-prices so they can build complex websites backed by your RDS and SimpleDB database services. You have some of the smartest developers around the world working for you. And yet I get frustrated every time I try to find something on your site. I can't be the only person who has a problem with the aforementioned issues. Can you please fix them so my cats don't go hungry? Think of the kittens!
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.
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
Handling Unintentional Multi-Touch Input for KTypeSat, 5th Nov '11, 11:22 am::
I just wrote a short article on how KType deals with the problem of more than one finger unintentionally touching the screen at the same time. It's a real problem for users with unsteady hands because while they try to point with their index or middle finger, their thumb or side of palm keeps touching the screen and dislocates the cursor position. I included lots of diagrams to explain the problem and the solution. Let me know what you think.
It's been almost a year since I hashed out the basic user interface and list of required features for KType. Last night I finished writing the remaining features. I will publish KType version 1.0 in the Apple AppStore after I thoroughly test all the features over the next two weeks. Over the next few months, I will be making instructional videos and updating the KType.net website with FAQs, How-Tos, and support information. It's finally happening! I'm so excited :)
Officially releasing ZetaBee.comThu, 17th Mar '11, 12:40 pm::
I have been working on my side-project ZetaBee.com for slightly over a year now. Over the years I've made a lot of websites and software but they were all built from scratch each time. The idea behind ZetaBee was that I would make lots of small but useful apps under a single site so I don't have to recreate features like user management, shopping cart, billing, and secure access over and over again. So far, I've made three apps in ZetaBee and yesterday I shared them online.
I received tons of useful feedback but more importantly, I got a lot of encouragement to keep working on these in the future. I'm working on KType full-time but whenever I need a break, I add a feature or two on ZetaBee. Working independently on any project for months on end isn't easy and certainly makes you wonder if what you're doing is actually useful to others or just a waste of time. I'm really happy that others found ZetaBee useful.
I use all three ZetaBee apps myself and only created them because nobody else had made something similar that I could have used instead. My personal favorite is Text because I use it to plan every single thing in my life. It's also pretty secure so I don't have to worry about anyone getting a hold of my personal notes and world-domination-plans. I recommend you check out the demo and play around it with yourself to see if it would work for you or not.
Tue, 10th Feb '09, 8:25 am::
I value leisure more than almost any important activity or task. My inner-lazy would rather not do something than do it. I would rather sit around and think about cheaper ways to make a GPS locator for missing cats than to actually go out and do it. I would rather spend all Saturday laying down in the hammock, watching birds fly across the sky above me, than work on even the most interesting projects.
And so that is exactly what I haven't been doing for the past eight months. Currently, the things that occupy my time are: My full-time job (45-50 hours per week), Masters college (16-24 hours per week), SCHED (12-16 hours per week). That's an average of 80 hours of work and school per week. I started working on a new hardware/software project last month to help my cousin Keval communicate better using a data glove. While I only spend 8-12 hours per week on this project, I need to spend closer to 16-20 hours per week to make significant progress and hopefully in a month, I will be able to. Add to that about 10 hours per week of house chores, pet care, paying bills, and immigration paperwork. Did I mention I have a wife who I love to spend time with? So add about 2-4 hours of wifey time on weeknights and 12-16 hours on weekends, and I'm at about 30 hours per week. This brings me to 90 work/study/projects + 10 chores + 30 wifey hours = 130 hours per week of doing stuff.
There are 7 * 24 = 168 hours per week and I'm booked for 125-130 of them. This leaves me with about 40 hours to sleep, shave, and shower or in other words, less than six hours per day to rest and take care of myself. I would rather just chill and do nothing for all 24 but then that would be too easy. My life's probably going to be like this for the next two years after which I will take a few years easy to reprioritize my goals and ambitions. Until then, it's slaving away all day with barely any sleep.
Of course, I love all of the things I do on a daily basis in the big-picture sense. School is tough but I am learning so much. Work is just as demanding but I'm building cool new tools to help manage and grow the business. SCHED is growing faster than anyone anticipated and we're getting a lot of good feedback so it's wonderful to make new features that users love. Juliet's very understanding and supportive of all of my commitments so the few hours each day we do get to spend together, I get to just sit back and relax. I really have nothing to complain other than the fact that I miss having time to go kayaking.
Mon, 8th Sep '08, 7:45 am::
I had a pretty busy weekend. On Friday, Juliet and I went to see Tropic Thunder (one word review: hilarious) and then went to Tampa to hang out with her school friends at a bar/nightclub. Early morning Saturday (that would be about 11am), we signed up for a joint bank account. I can't believe I procrastinated so long to get that done. That brings me to the main activity of my weekend, a new application I'm still working on called untodos that learns about your personality and helps you manage your todo list based on your quirks. If every person is unique and quirky, then why does every task planning software treat us all the same? untodos learns about your personality and tries to assist you in better managing your life todos. It won't replace Outlook and complex calendaring software for everyone but I know it will help me sort out the tons of things I have to do in life. It's not fully done yet but do let me know what you think of it so far. It's completely functional and usable, just doesn't have the "smart" features yet. You are welcome to check it out for yourself and sign up for a free account.
Amidst all the programming, we also watched Spiderman 3, played with the gliders, had lots of yummy foods, and just sat in the Florida room for hours watching the turtles, and talked about life in general. Our lives are exhausting but good. I just have to make sure I don't lose sight of the good things while chasing the important ones. Hopefully, untodos will help me with that.
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!
Wed, 17th Oct '07, 12:05 am::
I'm so proud of my partner-in-chime/crime Tay. Here's an interview where he talks about everything from web design to Chime.TV, from his music sites to his idea of the future of the web. It's so weird knowing someone personally with all their little flaws and habits and then seeing how super cool they really are when someone else points it out. Tay recently helped redesign/relaunch the popular music site Hype Machine with the ever-so-brilliant Anthony. Here's a wonderful article about the relaunch. I absolutely love the new design and I did my part by coding up some Flash stuff for it.
I'm definitely biased when I say this but one of the best features about the new Hype Machine is the sidebar video player. If you search for any music artist, say The Beatles on Hype, it loads 50 Beatles videos via Chime.TV. The songs play non-stop in the usual Chime.TV style and you can hit full-screen too. Like I said, I'm biased about this feature because it's my little embedded player getting some love from a wider audience. Overall, I love how wonderfully Hype has integrated so many different music blogs, mp3s, artist pages, and music video search.
It's good to know my buddies made something so useful and beautiful.
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:
Wed, 13th Jun '07, 11:35 pm::
I didn't think things could get any crazier but I underestimated. A friend of Tay mentioned on our Facebook wall that Chime.TV got plugged on G4 TV's Attack of the Show. And thanks to my friend Fer, I just saw the clip. It's actually a very good intro to the site and they went over most of the salient features. I'll link to the video once I have a better quality copy. It's just weird that Tay's on-the-spur naming of our cute kitties & puppies channel to "OMG CUTE" actually derived so much attention and cooing.
Tue, 8th Nov '05, 9:30 pm::
I got me a new phone: Nokia 3220 - totally love it so far. Has a lot of cool features like camera, hands-free, loud-speaker, web-access, and soon I'll be able to connect it to my computer for more stuff.
Story of my work lifeWed, 25th May '05, 8:30 pm::
Here's the story of my work-life. Some guy explains it from his point-of-view, which is quite similar to mine. This is what happens to me, and pretty much everyone else in the world involved with making enterprise software.
Every project I take up, starts with a tiny minor requirement, "Chirag, we need you to make something that'll help us pay our bills on time." Sounds so simple that a middle-school kid can do it in Excel for Mac between soccer practice and karate lessons! Just put a list of all the current bills in one sheet and type in 'Paid' next to it when you pay. It's as simple as that. But who enters the list of bills? Obviously some from the Purchasing Department. However, they don't want to make a purchase order in paper and have to maintain the list of incoming bills on computer, so obviously, the solution is to computerize the Purchase Order system also. But wait, now that we have the POs in the database, we can easily use the data to help with taking the stock of our inventory because we know what's coming in.
Now all the system needs is something that lets you deduct the stock when we make a sale. Fast-forward tons of meetings with the heads of Production, QA, Regulatory, Accounting, Sales, and of course, Management, and where do you end up at? A full-fledged inventory control system with MRP features that integrate with a live e-commerce website and provides real-time stock figures. It took a while to make but everyone's happy with the system, right? Well almost. The system does everything it promised except one thing - help us with paying our bills on time! Due to some communication gap that occured in the initial stages of design, nobody realized that we do not get billed for each Purchase Order individually, and any bill can be towards a partial PO, full PO, or multiple POs. Sorry guys, if only you had told me this before... oops!
The guy in the link above explains this all quite well. I just wanted to share my experience. And it'll only get more complex 'n confusing as our company grows. Funny thing is that I love it :) Keeps my brain sharp. Of course, just like the guy above, I am not complaining about my job. I'm just saying how and why things take so long and how the simplest thing can and often does end up being so complex. Truth is, there really isn't any ERP Zen in the world. If you ever find it, lemme know! One thing I that I do often is to understand the user needs and find out a way to simplify them instead of just doing exactly what the user wants. Kinda like this guy.
Fingerprint Matching 101Sun, 13th Feb '05, 12:30 pm::
I spent yet another weekend pouring over computer algorithms. This time, it's fingerprint extraction and identification. The whole topic came up from my discussion at work. I foolishly boasted that I could design a system that will let any of the 10-15 people use any of the 10-15 computers to log on to their user account by pressing any of their 10 fingers against a little Fingerprint Scanner. So in theory, if my boss's computer was busy, he could walk up to my computer, press his finger against the fingerprint scanner and it will automatically log him into the new business software that I'm gonna make.
So of course, now that I've told everyone it's possible, it's time to figure out how. The lazy computer programmer in me wants to spend a little money, buy something like the VeriFinger Standard SDK, hook it up to one of the cheap fingerprint scanners, let it do the scanning and recognition, write a small application to manage it all, and call it a day. It won't be cheap but it'll work pretty realiably. A lot of companies around the world have done it. The mathematician in me wants to do it all myself. It's not just the thrill of writing it on my own, it's the additional features that I can add on to it. So, if you are given the task of writing a software to do all of this from scratch, how would you go about it?
It's a known fact that every individual has absolutely unique fingerprints on each of their ten (or so) digits. If you want to design something that can let anyone use any finger to log on from any computer, you need (1) software + scanner on every computer, (2) a server that has the database of every person's every finger, and (3) some way of reliably matching a finger with the correct person no matter what computer they are on. So now we can break this whole operation into two phases. The first phase is the setup phase when we add each users's fingerprint to the database. And the second phase is application phase in which we recognize the user when they press their finger against a scanner. In either phase, a fingerprint has to be read, converted to a form that can be understood by a computer, and transferred to the server. Only difference is that in the first phase it is stored on the server and in the second, it is matched against every existing fingerprint on the server.
What we have are two different operations: Extraction and Identification/Recognition/Matching. Extraction is the process by which a fingerprint is read from the scanner and specific unique qualities about the fingerprint are extracted from the image. Identification/Recognition/Matching is simply looking up the server for other fingerprints with similar unique qualities. So how and what do we extract from the scan of a fingerprint? Look at your own index finger right now or if you don't have any fingers or fingerprints, look at this image. The first thing we notice and actually don't even realize is that the lines are actually ridges and valleys. The ridges are the thick bright protruding highs and the valleys are the thin dark low-lying crevasses. It is this pattern of ridges/valleys that is different for each person's each finger.
The first thought that comes to mind is that, if this pattern is different for everyone, just store a picture of their fingerprint and match it up against the database. Storing a picture to a database is easy. But matching up a picture of a fingerprint against a database is not. How do you match? Based on what? One idea is to just overlay the scanned fingerprint on to each of the 1000 fingerprints in the database and compare each pixel - if 95% of the pixels match, we have a match. That is how the older fingerprint matching systems worked. It works decently in identifying criminals, especially if you can wait 2 hours for it to match with 1000 fingerprints. But it's not fast enough for instant identification and poses a lot of problems, like what happens if your finger is positioned slightly to the left and/or at a 5% degree angle. It wouldn't even match against your own finger with 5% margin of error. So people have moved from the picture (raster) matching techniques on to the marker (vector) matching.
Instead of matching the whole fingerprint against 1000 others, why not extract unique characteristics of each finger and store them. This is called Minutiae Matching. Look at your finger again. If you notice carefully, you can identify many types of markers where ridges end, ridges bifurcate into two ridges, three ridges form a delta etc. If we can somehow chart this information like a graph or a map, then we can store this in a database much more easily. The information stored in the database, if read in English would seem something like this - "At the center of the fingerprint is a 'delta' and 5mm away on the right is a 'bifurcation.' 7mm below the bifurcation is an 'island' and 3mm to left of the island is another bifurcation." If this information is stored in the database for my right index finger, then when I press my right index finger against a scanner, the software asks the server to match my finger against all others who have a delta near a bifurcation and must have an island. This instantly narrows down the search only to those fingers which have deltas, islands, and bifurcations. Then it looks to see if they are positioned similar to my finger.
So now the extraction problem is just to find where the ridges end, bifurcate, or form deltas and map them on a graph. It's like saying plot Singapore, Mexico City, and Cape Town on a map. Not very difficult when you look at the big picture. The algorithm to extract markers looks at every pixel and it's neighborhood pixels. If they satisfy some special characteristics then it assigns it a marker type (delta, island etc.) and stores it in the database, relative to the position of other markers on the same finger.
Now comes the hard part - matching a finger's markers against that of the 10,000 in the database. If you think about it, it's actually an age-old problem that the ancient Greeks like Ptolemy busied themselves with - finding constellations. You must've heard of the constellation Ursa Major (The Big Dipper) or my favorite Ursa Minor (The Little Dipper). Astronomers and astrologers for centuries have stood under the night sky and identified tons of constellations simply by looking up and observing. They didn't need no fancy computers or telescopes to find The Libra in the night sky. We humans have built-in pattern-matching and pattern-recognition abilities that seem so natural to us but it is near impossible to replicate these on a computer.
Given a night sky full of stars, how do you find a constellation you are looking for? You can start by looking for small groups within the constellation. Maybe two of the stars in the constellation you are looking for, are really close to each other. So scan the whole sky for two stars very close to each other. If you find such a pair of stars then look for further signs - like is there a third star directly above or below one of them but at twice the distance. Stuff like this is what we humans are really REALLY good at. You don't even realize that you are performing one of the most difficult patterm-recognition operations right now - reading text from a computer screen. After all, OCR is big business. So is recognizing sounds (especially voice), handwriting, images, and videos - things that we so easily discern and detect.
Anyways, back to recognizing fingerprints. After the extraction process, the software will have to form a constellation with all the markings on the fingerprint. In the setup phase, this is stored on the server and in the matching phase this is what is searched for in the server. Searching a constellation of markers within each of the 1000 fingerprints in the database can be done in the following way. One of the things we need to realize is that due to the randomness of the physical act of positioning a finger on a scanner, you will almost never get two exact readings. However, the marker data in the middle of the finger will be much more accurately readable than the markings on the fringes or towards the sides of the finger. So give more importance to a bifurcation in the middle of the finger than an island at the far left - after all, it could be just a normal fully-connected ridge but the person might not have pressed the finger fully on the scanner.
My extraction method would be to start towards the middle, spiral out in a clockwise direction and note the position of every marker. Note the distance between each marker and nearby ones and store it in a cyclic data format. Now search the database for only those fingers which have similar markings in the center as there is a very high probability that center readings are accurate. Then narrow down the list to only those with similar markings near the immediate area surrounding the center. Keep narrowing down the search till you have at most 5-10 fingerprints. Then just cycle through each of them and compare each of them to the reading. Leave some margin for error, take into account the rotation and position of the markers and we should have a pretty damn reliable match. If you don't account for rotation or slight movement in position, you will almost always get an incorrect reading.
Note that throughout this discussion, we have concentrated mostly on the 1:N and not the 1:1 matching. 1:N matching means that one fingerprint is compared against N (10 or 10,000 or 10 million) fingerprints to identify the person. This is mainly used for easy identification, say to let people into a Government building. 1:1 matching is used for secure authentication - that is to verify that a person really is who they say they are, say to allow you access to your own safety deposit box in your bank. The 1:N method is geared towards faster searching and the 1:1 method is geared towards more reliable matching. It is quite difficult to design an algorithm that performs equally well in both situations for you can either do it fast or do it accurately, rarely both.
Anyways, I'm still writing algorithm for the pre-extraction phase right now. Before you extract markers, you gotta convert the true-color ridges and valleys to two color lines and gaps. Using a very simple algorithm, this is what I've come up with so far. In the next few days, I should get my own fingerprint reader and then I'll improve upon this code and do more cool things with it :) If I'm successful, then maybe I'll open-source the code for scanner and recognition and make it easy for others to use it in their applications. While I'm almost positive I won't be able to make it as good as these guys, if I make it sufficiently workable, it'll certainly make them review their pricing. These people have been doing this for years and have received national awards so I don't think I'm gonna be much of a competition (neither do I care to be). After all, I've only known about fingerprint techniques for less than 24 hours now :) But it seems like the whole scientific world has been at it for ages.
I still dunno what/how I'm gonna be setting this up for my work but all I know is that I really want to. Good thing is that I can add this feature to my work software anytime so even if it takes me months that's perfectly fine. Let's see what happens first once I have a fingerprint scanner sitting on my desk.
Tue, 23rd Nov '04, 9:40 pm::
You know nothing much happens in my life when I don't 'blog. Lately it's been the same routine. Wake up, go to work, come home, play with Giga and Tera, go to bed, wake up in the middle of the night because Tera is purring RIGHT NEXT TO MY EARS, try to sleep, wake up again because Giga is licking my hands, try to sleep, rinse, repeat. But no matter what, I love it. It's been so long since I was genuinely so happy. I look forward to coming home every single day.
Anyways, last night was pretty good. My friend Jessica was going to hit the bars in Tampa with her friend Dana from Kentucky. I drove up to O'Briens and waited as the crowd slowly poured in. Not a lot of casual drinkers on a Monday night - mostly the addicts stroll in ;) Anyways, we just talked about random stuff and had drinks for hours and hours. At two we decided it was time to eat something. Went to IHop next doors and had some good midnight snack. I went to bed around 3am. Woke up at 6am with the worst headache ever! I don't think it was the three Long-Island Ice-Teas though. It was just the total lack of sleep.
So all day at work I was walking around like a zombie. I got home today at 5:30pm and went straight to bed. I took a 4 hour nap and here I am now. My whole sleep pattern is so foobared. It's hard to party and be regular at the same time... It's either I grow up and be all matured and hit the bed exact time every night OR I just live my life and go out and do stuff whenever the opportunity presents itself. Tomorrow, work ends at 12pm for Thanksgiving Vacation and hopefully the coworkers and yours truly are going to sneak into multiple movies ;) Things are great overall. I don't remember last time I was so relaxed about life in general.
Only one major news - I'm making this REALLLLLLY big software for my work starting January. It will take me 6-9 months just to write the basic modules. However, once it's in place, it'll make a BIGGGGG difference to how we operate on a day-to-day basis. There's a lot of cool things I've planned for this software. Let's see if I can create all the features... And that's the news from St. Petersburg, Florida. Back to you Alex.
Wed, 15th Sep '04, 11:30 pm::
I'm so excited about the new project I'm working on @ my job. I go to bed thinking all the cool features I'm gonna make!
Sun, 29th Aug '04, 2:40 pm::
Here's some kickass personal news. Just day before yesterday I joined this new community website called What The Dilly. I joined because my friend Derek told me to join so that he can find me a hottie. Yesterday he made me a Gold Premium member of the site. And today the owner of the site Jeff made me an admin. As of today, I am the official design/code guy for What The Dilly.com :) This means 2-3 hours of coding every night and lots more on weekends. I'll be involved with creating new features and maintaining existing code for this humungous site!
All of this may not mean much to a random reader but trust me this is big. The Dilly has hundreds of thousands of users and at any given time, thousands of them are online on the website. I have to learn to write the code for 10 servers. Right now everything I do is in small scale. Now I gotta think big!
And of course, that's just like me. I joined a dating website and ended up as one of their lead programmers. Haha!
Thu, 29th Jan '04, 3:50 pm::
So I got invited to Orkut by my friend Chris. Orkut is Google's unofficial answer to social networking websites like Frienster and Tribe. The neat thing about Orkut is that it is invite only and so if you want to join, let me know and I'll add you as a friend (even if I don't know you! See I'm THAT nice!) Now that I made my profile in Orkut, put up a little information about me, and added a bunch of friends, I can see who likes what and who knows who. There's a lotta cool features like Communities, Messaging, Rating etc. It's basically everything from HotOrNot to Match.com mixed into one. Maybe Orkut can help me find a job :)
Minimalistic ProgrammingTue, 7th Oct '03, 1:00 am::
For programmers only: I'm extremely weary of the whole get-a-real-job-with-multinationals situation and have forever shunned making a resume. Now, I think I'm gonna make a resume like this one. How about... "I am a super-god high-end extremely advanced Minesweeper..." Anyways, when it comes to programming, I'd like to classify myself as a serious minimalist aimed at providing the highest usefullness/effort ratio. By the ratio I mean, I will put in enough effort to give a high level of satisfaction and then stop. I could put in twice more effort, but since the users will NOT be twice as happy from the extra effort, I don't bother. This means my work will never be 100% perfect, rather just good enough for the purpose. Perfection in my eyes is only viable when there is only one goal. If one has to work on 5 projects at the same time and achieve good results, it's best to do considerably well in each than perfect in one and intolerable in the rest.
Coming back to minimalistic programming, I have found a natural love for no-frill technologies which require the least amount of effort from the developer and the user side. I am drawn to simple php scripts and RAD languages like Visual Basic, instead of all powerful and mighty C++ or Java. Every day some new thing comes along in the IT field, a new language, a new development platform - from EJB to CORBA to SOAP to XML. I could if I really wanted, spend time to learn these tools but often I read an introductory tutorial, just to be aware how it works and then don't bother anymore. Mainly because there is no immediate use for any of these for me. Sure, object-driven databases offer a horde of features over the current relational dbs, however I hardly ever need to make a system that makes ten million queries an hour. Also I highly doubt that most people who DO use these hyped-up technologies really need them.
Yesterday a friend of mine from Newark - Arpit, came to see me with his business partners to get some idea on how to proceed with their new venture: Books for Lease. It's a good concept - why buy/sell new or used books each semester - why not just rent them for $10-15 and then return them in same condition? I might redesign the front-end for the site, which has been functional for over a year now. Other than design, I mainly explored ways by which they expand the site's usefullness by concentrating on the core concept - books for lease. While they can build in new wonderful features that only 5% of the people will use, they are better off creating custom tools that help the other 95%. That means giving up the use of pre-written packages like shopping-carts, that they purchased and write their own code to make the site work they way THEY want. It'll require a bit more effort, but the results will surpass the costs.
The most efficient programming style, lies somewhere in the middle of using tools that are very difficult to implement but very useful once in place and scripts that are really easy to write but have limited uses. They don't need EJB or Struts. But they can't get away with using pre-written packages like E-cart. They need to write some of their own code, and use the stuff that's cheaper to buy than write themselves. And I think this is where most of the IT world lies today. There are millions of websites doing business online, and from personal experience, the most successful ones are those with straight-forward systems - like Amazon and eBay. The concepts are simple, the sites are easy to use, and the back-ends are pretty run-of-the-mill too. Amazon still uses Perl! Yahoo's gonna use PHP from now on. However, Morgan Stanley uses EJBs and Struts and they definitely should. But Google doesn't need to, as it works great with Python.
Big complex technologies come and go, but the simple ones are still here - C and assembly :) Perl, PHP, and Python are going to stay for a while too. But bubye .NET and C#. Hope it goes exactly where Push-technology and Virtual Reality have gone. Here's a good article that says everything I said and more, quite beautifully: "Like any industry, the software world suffers its own fashions..." - Software Reality. Glad to see I'm not the only one who likes simple straight-forward languages and tools. Although subconsciously I'm always a bit nervous that not jumping-onto-the-bandwagon of some cool breakthrough might be a bit of a hindsight. Must admit I am risk-averse on the short run and don't get too excited at mega-world-changing-cool-corporate-tools, though hopefully in the long run, my desire to seek stability, simplicity, and balance will benefit me.
Wed, 24th Sep '03, 3:55 pm::
I just bought a Nokia 3595 over the phone, for free. It's $49.99 but there's a $50 rebate. Only cost is $10 shipping charge. Hopefully it should arrive in 3 days. But problem will be transferring all my phone #s from old phone to new one. A whole weekend afternoon I'm sure. The phone's really cool by the way and has tons of features, the coolest one being the ability to run Java applications. As soon as I get the phone, I'm gonna hook it up to Where is my Bus so that I can track the campus buses from my phone :-P Couldn't be more excited. Hehe.
Had a meeting @ work this morning and class later. Things going ok. Really nice weather outside. Kinda annoyed to be stuck indoors till 4:30pm.
Ok gotta get my work on now...
Wed, 13th Aug '03, 5:25 pm::
I just gave a big presentation to all the graduate students, area directors, and Deans of housing on Rutgers - my new project: Rutgers Residence Life Network. It's a very easy to use system that lets the student monitors and Rutgers staff manage the student issues in the dorms. It was a 90 minute presentation and at the end I got a long round of applause and everybody went home happy. From what it seemed, it's a great success and people loved it. Now I have a list of 20-30 additional features they want. Gonna do all that before Aug. 22nd - that's when I have to give a presentation to over 100 people. I love my job. Couldn't ask for more.
Mon, 2nd Jun '03, 3:00 pm::
Jpeg and Gif formats for images are so 90's. The format for 2000 was PNG - great improvement over both. And now there's even more formats coming. Jpeg 2000 and VFZ. The new Paint Shop Pro 8 supports the J2P format :) Oh and I'm gonna buy PSP8 tonight - $99. Good price for something that practically runs my business. And maybe after spending so much for a piece of software, I might actually start using the hi-q features. Right now I use mostly the basic features of PSP6-7.
Sun, 30th Mar '03, 2:35 pm::
So I was just talking to Taylor online and among other things, I decided I'm definitely gonna give this 'blog a major overhaul over the summer. Not just a basic design change, but implement more of a randomized theme feature, that'll automatically change the look of the site every time you visit it. It might be a nice white/gray combination in the morning, yellow-red in the afternoon, and blue-black in the evening :) Would be pretty cool huh! Of course, no more uploading html pages containing content - it'll all be managed by a remote database :) If wanna add a new quote, then all I gotta do is open the MS Access table - Quotes and type/paste it in. If I wanna add a new poem, just type it in the table - Poems, and it goes live on the site automatically! Ahhhhh the cool features I can think of...
Wed, 18th Sep '02, 12:10 pm::
I'm still looking for bigger 'n better LCD's. I think I have found a potential winner: Princeton Senergy 19". With a 1600x1200 resolution, and wonderful features, this one is a great buy according to TechTv. It'll be around $1,100 though. Damn I'm getting greedier and greedier. I began with a $500 lcd long ago and now I'm thinking in the thousands range. Ahhhhhhhh. Well I'll say this again then: It's for my eyes only.
Fri, 13th Sep '02, 9:10 am::
I have a new web-designer/finance-major buddy: Taylor, who runs a pretty neat site, blogs his way to hell, and features on his webcam @ midnights! Dude, that's like... ummm ME! Cuz I pretty much do the same things (I'm an CS/Econ major - close enough). Scary! But then as a hobby, I collect newspapers from different countries of the world, and Taylor collects random internet chics' tummy pics! So on the 'Whoa Awesomely Cool' scale, he beats me! Now that's something you can proudly show your grandkids some day! Hehe.
Tue, 6th Aug '02, 8:35 pm::
Wow! Yet another perfectly lovely day :) The weather is soooo cool @ the moment - I loveeeeee it. Anyways, had a good day @ job. I'm workin on this website for my university and one of the neat features I made today is server-based dynamic PDF file generation and auto-email daemon for MS IIS. Hehe. Complex but interesting stuff.
Well then I came home and worked out for 40 mins or so and went to water the plants and lawn outside. I feel like fall's here... it's just soooo nice and cool. I hope it stays like this forever *unlikely*. And my aunt made such lovely baigan ka bharta! Normally I don't like baigan (eggplant) but oh my this was seriously good... I think baigan tastes the best when it does NOT taste like baigan. Hehe. And now here I am... just relaxing, listening to Chalak Chalak from Devdas.
Mon, 11th Feb '02, 10:15 pm::
Pretty neat day today. I got myself this nice cell phone (finally!). It's a pretty basic phone w/ basic features. Nothing that great about it, except that I don't have to pay a monthly bill on it... it's a prepaid cashcard phone, good for me.
Also I got my paycheck today and some scholarship money. It was cold to use an ATM machine for the first time!!! Yes I mean COLD and not COOL... I'm sure it was about 20F outside when I was trying to punch in all the weird keys in the ATM machine just so that I could deposit the checks. By the time I was done... my fingers were frozen and I couldn't even start the car... brrrrr...
That brings me to 'car'... I've decided I really need a car once I come back from India (yup! me going home this summer... more on that in the next few days). I'm still considering whether I should buy a good quality used car or a cheapo new car... budget is $10-12k... let's see.. any contributions anyone? Haha... I'm trying to get a permanent job on campus and once that is guaranteed I'll definitely buy meself me own car :) hehehe...
Tue, 20th Nov '01, 4:55 pm::
I was sooo busy yesterday w/ completing my cool new prog: Glass2k that I didn't even check my emails. I think I'm pretty much done with the basic program and will just need to add a few features here and there. I'll release the prog within this week.




