21 Jul 2013
Even though I am a long time Linux user, and a big time fan of the many Linux distros that I’ve tried out over time, I still go around recommending Windows to people who ask me for advice. The only exception I make is when the person in question is a developer, in which case I try to convert them to the Church of Linux.
The main reason I recommend windows to non-developers is because it is a far better operating system than most Linux distributions (for general public). Now, before you bring out your pitchforks, hear me out.
The first and foremost reason that I give is that Windows sports a far better integration across all its services. Nautilus/Nemo in the Linux world do not reach same level of integration that Windows Explorer does. For instance, just look at the way the “Send To” feature works in explorer. To add a folder to the send to entry, you just have to add a shortcut to that folder inside the special “Send To” folder. On nautilus, the equivalent would be going about installing an extension, and editing a configuration file by hand.
Or take a look at how the “Play All” feature in Explorer. Or the “Libraries” feature in Windows 7. Or the simple way that you handle file sharing in Windows. Even though Linux has (arguably better) Samba support for files sharing, you have to go about editing a handful of files to make it work. I personally find apache easier to configure to just share files one way.
Games are another reason. Even though Steam is available on Linux, all of the non-Valve triple-A titles are missing on Linux. Even though I continue to buy and play the Humble Bundles that offer Linux as a platform, I’m reminded of the stark reality every day when my friends ask me if I’ve played a recent title such as Call of Duty, Metro, NFS or even Swapper.
The next peeve that comes to my mind is the ridiculous driver support. It has been improving since a long time, but its still not there. Even Ubuntu needs to fetch proprietary drivers for my WiFi support on Broadcom, which needs an internet connection in the first place. This means I need to find out a LAN network connection to even start using Ubuntu. Similarly the pain I’d to go through to install drivers for Ralink network drivers on a friend’s laptop was immense. I can never use circular scrolling or touchpad zoom on my laptop in Linux because there are still no drivers available anywhere for it. And don’t get me started on UEFI boot issues. No matter what people believe or pretend, hardware support is just not good enough to be relied on in the Linux world. As a side note, I haven’t synced my iPad in Ubuntu since I shifted to iOS 5, and apple driver support on Linux will remain abysmal forever just because iTunes will never be released for Linux. The last version of iOS that had music sync support (via libimobiledevice) was iOS 4.0 (released 3 years ago in June 2010).
Next I want to point put out the upgrade pain that everyone has to go through. It’s like a constant rite of passage, which turns a Linux noob into an actual user. I am yet to do an Ubuntu upgrade which went smoothly and didn’t break a thing; and I’ve been upgrading my Ubuntu since 10.04 was released. The upgrade tag on askubuntu is chock full of horror stories.
Another thing that frustrates me to no end is that the Ubuntu Dash, and the GNOME Overview are both slow as hell. I’m currently using Cinnamon, which is faster than both of these, but still an order of magnitude slower than the Windows Start Menu. Synpase is better, but cannot be set as the deafult.
I was using Windows 7 on my cousin’s laptop these last few days and I remembered the favourite app that I used to no end: Everything. It is the quickest file search I’ve ever used. The alternatives, in the Linux world are synapse, zeitgeist, and plain old locate command. The only issue is that I’ve to manually run updatedb manually, while Everything was always up to date, using the NTFS File Journal. To this date, I am yet to find a good enough alternative to Everything.
It is true that Windows lacks many of the good things that Linux distros provide, such as the excellent package management support, POSIX compatibility, and the plethora of tools we get on the command line; but at the same time, it is also a better operating system for most of the masses. I’ll continue to recommend Windows to all my non-developer friends till “The year of Desktop Linux” arrives.
27 Dec 2012
For the past two years, I have been involved in a student group in our campus called SDSLabs.
It has been the most fun two years of my life. I have acted as programmer, developer, manager,
monkey-coder, event-manager and all other roles one might expect in a startup. However, I have
never really blogged about any of this. Someone pointed it out recently to me, the truth is I
have been meaning to write this since a very long time, but its kind of hard to put down in
words. I’ll try my best. This post is highly specific to iit roorkee (you have been warned).
Chronology Of Events / Timeline
Back in my first year, after joining something called SDS as a proficiency in the campus, I was learning PHP.
With no-one to guide me, I had only attended a single talk by Shobhit Singh where he talked about dynamic
websites. I was instantaneously hooked. I did something called lion, a twitter clone and it won 3rd prize
in Srishti. It had follow, unfollow, messages, tweets, and groups (one feature which set it apart from twitter).
The code was a mess of php and inline html, and I have never looked upon it since. I did a couple more projects by myself
, learning the in and outs of php (I was still to hear about ruby/python). At the end of my first year, I did a project
management system under Kumar Shashank who taught me about MVC and the need of architecture in a software application.
At the very end of the project, a group called SDSLabs was formed. Along with a few people
Shobhit sir had found, we founded SDSLabs. Everyone in the group was passionate about building things.
And somehow, magically, I was in it. And there began the most beautiful chapter of my life..
Coding & Learning
After completing the PMS (Project Management System), I moved on to work on Filepanda, and then the entire framework
application for SDSLabs. All our applications are powered by a single API, which I wrote. Meanwhile, Harshil was working
on DC++, and other awesome things. I met pranav sir, and was introduced to the thousand-quirks-of-css. It shifted to mint, and
then to ubuntu. I learned the ins-and-out of managing a linux system. Back then SDSLabs was limited to the small committee
room in Hobbies Club (with Shobhit Sir working tirelessly on funding for a better lab).
And I met Ishan Sir. If you are reading this, thank you for teaching me how to learn. I had tons of night-outs with him
discussing things I barely remember now. I became a creator. I executed on tons of ideas. Most never saw the second day in
their lives, but I still have them with me, as memento of the past and what was to be. Ishan Sir was a gold-mine for learning.
Everything I could ever ask, and he’d hand over a resource. Some of my most productive learning days were spent with him.
After a single semester of work, we held our first recruitments. I wrote my
first blog post for the lab at the time noting
down my amazing reaction to the awesome people that had joined the lab.
It is difficult to distil into words the awesome learning experience I had with all these people. Going to chapos, thinking
about how we could expand. What else awesome stuff we could do? One night hackathons, where we coded awesome stuff.
And I started to work on Muzi, which was to be my application. It stands at 811 commits today, with over
200 issues in our project management system.
I went into the development knowing PHP and bits of AJAX, and came out a JQuery fanboy. Muzi has been my primary music player
for almost an year now. It feels awesome to listen to music on a music player you coded. The initial version was
based on Zune’s design on Windows. We kept on improving it till it was exactly what we wanted. Today, people have listened to
almost 1 lac songs on Muzi, and it feels awesome to have been behind something that is so widely used (within the campus).
The next semester involved our actual launch (11-11-11) of all our applications.
We had all converted into semi-breathing coding machines cum zombies by that time though. Sleepless and exhausted, we did prevail,
and launched a few hours early. The Launch was appreciably recieved in the campus, although I had to leave for the
Deloitte CCTC Contest the very same day(which we won!).
I ended up doing a rewrite of Codematics (codename CodeBot) in node for the launch. It has a geeky, command line interface
which was inspired by goosh and xkcd’s unix interface. Along with that, Muzi was
launched to huge appreciation as well.
This was the semester where our group actually expanded. Our count is almost 42 now, and nothing could
make me more glad than actually being with all these people.
I donned lots of hats teaching, guiding, coding, and managing people. Linux became one of my top skills, and I learnt a lot.
We shifted to Redmine for management, and I ended up doing a lot of server-administration related stuff (gitolite,redmine,vhosts
It has almost been a year since our last recruitment. We have been working of tons of things; some of which
will be launched soon. I took lectures on far apart topics from
“Usability Designing” to
[“Software Development 101”].(https://speakerdeck.com/captn3m0/software-development-101) I mostly
worked on internal features, improving our API, and something called Presence. We also
and we won both of them.
Our group is still nascent, and although I have not mentioned every project that the group (or even I) have
done for fear of making this post too long. That itself speaks volumes about what we’ve done in a short
span of two years. Our tagline reads “iDream. iCode. iInnovate”. I wish for the group to continue on that
path. Develop things that make life easier; for everyone around the world.
Throughout this journey, there have been lots of people, without whom this blog post would never have been written.
You all know who you are. Keep being awesome.
I used to call myself a programmer, but now I’m in a more management-esque role in SDSLabs. Its my share of the work to manage projects,
and track progress. That does not mean that I’ve given up coding, and I still do code a lot for our internal projects. I have also become
somewhat of a UX enthusiast, taking care of most ux work done in lab. I have also found myself becoming an avid learner, and have Ishan
Sir to thank for that.
Anecdotes & Stories
This post already reads more like a things-i-did-at-sdslabs, which is something I was hoping to avoid, instead of why-i-love-sdslabs, which is what i wanted. So I’m gonna stick a few moments and events that stand out to me…
- We have a board with three defining people on it: Steve Jobs, Dennis Ritchie, and Linus Torvalds.
- We have had mind-blowing pizza chapos. So many pizzas that they were brought in 2 rickshaws from dominos. Yup.
- I am known as the bot in lab. Mostly because of my highly rational unemotional responses, and other things. There is another person, who is trying to get that title, though.
- I am famously known for turning down “writing a letter that could have fetched us lots of funding” for coding instead. (In my defense, there were other people who could have handled it better than me, and we didn’t need it badly at the time)
- Almost every group in the campus describes their group as a second home. But in our case it is partially true. We spend almost all our free time in lab. I spent close to 500 hours in the lab in this semester alone. Where does this all this time go? Talking, discussions, development, teaching, lectures among other things.
- SDSLabs feels more of a startup than an actual student group to me (and Shashank as well). We have to fight for our funding, manage people, and develop products.
- I have done way too much copy-editing to be called “just a developer” anymore. I have spent hundreds of hours fighting Pinta and its numerous bugs.
It has been a great experience working with all these people. I can just hope that the group keeps moving to better
innovation, and grander ideas in the future. We are recruiting from first year in upcoming January. If SDSLabs feels like a place you’d
enjoy, just come over and take our test. It changed my life, maybe it will change yours too.
22 Dec 2012
I’d been one of the most eager users of the new outlook.com redesign.
I’m a real fan of Metro (sorry, I must call it the New Windows 8 Design),
and think that the correct typgraphy mixed with the correct design language should help the users in a great way forward.
Unfortunately, outlook.com is not there yet. The application was made to resemble the Windows Mail app in Windows 8, with 3 tiles per screen. On Windows, the application works in 1/2/3 width modes differently. It changes its navigational strategy to allow you to browse your emails easily. While this could have been easily accomplished using responsive design techniques on the web, outlook does not use it and loses sorely needed funcionality.
The typography of the app is horribly broken, especially in Linux. The font of choice for the app is Calibri, which is missing in Linux, and as such, uses the default system font from the browser. The font sizes are inconsistent, and the application shortcuts are horrible, even though I am using GMail shorcuts option.
The “Insert Link” option is horribly designed. It does not respond to enter keys, and has no place to add “Text” for the link either.
There is no mechanism for quoting messages properly at all. There is no such thing like Conversation View, and I have to waste large amounts of time just to figure out what was added new in the reply to my own mail. As such this becomes largely cumbersome to keep up with.
The archive option from GMail (which keeps my inbox clean) is notably missing as well. (Update: This was added later, with the
ability to use archive to move to any custom folder)
The “Active View”, which seems to be a quick preview mode, only works on Windows, because it uses Silverlight. I tried using
Moonlight (Silverlight’s OSS clone for Linux), but it seems that Active View uses new Silverlight features. Hence, I can
only download pics from Outlook, and not browse them online (which is a huge pain-point for me).