<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Gaurav Mali</title>
		<description>Personal website of a software engineering undergrad at University of Waterloo</description>
		<link>http://gauravmali.com</link>
		<atom:link href="http://gauravmali.com/feed.xml" rel="self" type="application/rss+xml" />
		
			<item>
				<title>Trrnd - Consumer product discovery</title>
				<description>&lt;p&gt;This is social consumer product discovery app that is in works right now. Take a look at the concept mockups!&lt;/p&gt;

&lt;div id=&quot;myCarousel&quot; class=&quot;carousel slide&quot;&gt;
  &lt;!-- Carousel items --&gt;
  &lt;div class=&quot;carousel-inner&quot;&gt;
    &lt;div class=&quot;active item skedulr&quot;&gt;
        &lt;img src=&quot;/img/posts/Trrnd_1.jpg&quot; alt=&quot;Trrnd&quot;&gt;
    &lt;/div&gt;    
    &lt;div class=&quot;item skedulr&quot;&gt;
        &lt;img src=&quot;/img/posts/Trrnd_2.jpg&quot; alt=&quot;Trrnd&quot;&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;!-- Carousel nav --&gt;
  &lt;a class=&quot;carousel-control left&quot; href=&quot;#myCarousel&quot; data-slide=&quot;prev&quot;&gt;&amp;lsaquo;&lt;/a&gt;
  &lt;a class=&quot;carousel-control right&quot; href=&quot;#myCarousel&quot; data-slide=&quot;next&quot;&gt;&amp;rsaquo;&lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;&lt;/p&gt;

&lt;p&gt;More to come soon! It is being developed in Ember.js and Node.js. If you want to get early information on what it&#39;s about and how it works, &lt;a href=&quot;/contact/&quot;&gt;come talk to me about it&lt;/a&gt;.&lt;/p&gt;
</description>
				<pubDate>Tue, 21 May 2013 00:00:00 +0000</pubDate>
				<link>http://gauravmali.com/apps/Trrnd/</link>
				<guid isPermaLink="true">http://gauravmali.com/apps/Trrnd/</guid>
			</item>
		
			<item>
				<title>Plank - Employee Onboarding App</title>
				<description>&lt;p&gt;This was a product that our team &lt;a href=&quot;http://www.hackathon.io/plank&quot;&gt;Hip Hip Array!&lt;/a&gt; built for the &lt;a href=&quot;http://launchhackathon.com/&quot;&gt;Launch Festival Hackathon&lt;/a&gt; in San Francisco, CA. We had 50 hours to conceptualize, design, develop and create a demo for the judging. Here is the end product of our efforts.&lt;/p&gt;

&lt;p&gt;&lt;br/&gt;&lt;/p&gt;

&lt;div id=&quot;myCarousel&quot; class=&quot;carousel slide&quot;&gt;
  &lt;!-- Carousel items --&gt;
  &lt;div class=&quot;carousel-inner&quot;&gt;
    &lt;div class=&quot;active item skedulr&quot;&gt;
        &lt;img src=&quot;/img/posts/Plank_1.jpg&quot; alt=&quot;Plank&quot;&gt;
    &lt;/div&gt;    
    &lt;div class=&quot;item skedulr&quot;&gt;
        &lt;img src=&quot;/img/posts/Plank_2.jpg&quot; alt=&quot;Plank&quot;&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;!-- Carousel nav --&gt;
  &lt;a class=&quot;carousel-control left&quot; href=&quot;#myCarousel&quot; data-slide=&quot;prev&quot;&gt;&amp;lsaquo;&lt;/a&gt;
  &lt;a class=&quot;carousel-control right&quot; href=&quot;#myCarousel&quot; data-slide=&quot;next&quot;&gt;&amp;rsaquo;&lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Plank is an onboarding service for companies. Any company that hires new employees, spends 2-3 hours per employee setting up their work environment and getting them onboard with any service they use. Plank simplifies the entire process to 2-3 minutes, allowing the IT team to use their precious time for other things.&lt;/p&gt;

&lt;p&gt;Overall, Plank provides two solutions. It helps the company set up accounts at web services like Yammer, Github, Google Apps, etc. And it creates an executable package for Unix based machines that downloads and installs common programs used by a certain company or a team within the company.&lt;/p&gt;

&lt;p&gt;At the end of the 50 hours, Plank won the Yammer Award at the Launch Festival Hackathon! Thrilled with it&#39;s reception, we are working on it&#39;s first public release. &lt;a href=&quot;/contact/&quot;&gt;Get in touch&lt;/a&gt; with me if you want to hear more about Plank and it&#39;s features.&lt;/p&gt;
</description>
				<pubDate>Tue, 21 May 2013 00:00:00 +0000</pubDate>
				<link>http://gauravmali.com/apps/Plank/</link>
				<guid isPermaLink="true">http://gauravmali.com/apps/Plank/</guid>
			</item>
		
			<item>
				<title>Best email newsletter ever</title>
				<description>&lt;p&gt;This is by far, the best email from what&#39;s supposed to be a &quot;newsletter&quot; have I ever received. I simply love the design behind it.&lt;/p&gt;

&lt;p&gt;Talk about stripping away everything and designing to a minimum! Great use of spacing and font size to grab the reader&#39;s attention as well. It is so enticing to click on, and so much more persuasive than other newsletters. Simply brilliant!&lt;/p&gt;

&lt;p&gt;Take a look:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/img/posts/tumblr_email.png&quot; alt=&quot;Tumblr&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Did I click on it? Of course I did. Now I wonder how much of it&#39;s effectiveness is due to it being unique in it&#39;s approach. If this becomes a pattern, I doubt it will be just as effective any more.&lt;/p&gt;
</description>
				<pubDate>Mon, 18 Mar 2013 00:00:00 +0000</pubDate>
				<link>http://gauravmali.com/thoughts/Best-email-newsletter-ever/</link>
				<guid isPermaLink="true">http://gauravmali.com/thoughts/Best-email-newsletter-ever/</guid>
			</item>
		
			<item>
				<title>My definition of good code</title>
				<description>&lt;p&gt;My friend and I got in this discussion last week and ever since then, I have been wanting to write about this topic. Although there are tons of books written on software engineering principles, software development methodologies, and programming philosophies, I haven&#39;t found a set of rules written in stone anywhere to qualify something as &quot;good code&quot;. It&#39;s an ongoing process of testing, working towards simplicity, improving upon the design and architecture, and so on. Yet, so many times when we look at a file, we cringe and sign it off as something only a monkey would have banged out on a keyboard.&lt;/p&gt;

&lt;p&gt;Personally, I don&#39;t get in a bad mood by seeing someone ignore well known practices in their program. My only test for the approval of code is whether it is &quot;good enough&quot;.&lt;/p&gt;

&lt;p&gt;What does &quot;good enough&quot; define? For me, good enough is something that works, and &lt;em&gt;can be improved upon&lt;/em&gt;. Forget design patterns, simplicity, and elegance. If it works, it is acceptable. And if a programmer that has &lt;em&gt;never coded in this particular language&lt;/em&gt; can read and understand what is going on, it is &quot;good enough&quot;. Because if someone else can understand it, they can improve it. This is the least you could do.&lt;/p&gt;

&lt;p&gt;In it&#39;s simplicity, this is how I define good code. &lt;strong&gt;Great code&lt;/strong&gt; however, is a different chapter of it&#39;s own. As I continue to do internships at various different companies, and get to learn more about engineering decisions, I will update my views on that matter. For now, this is my definition of good code. What is yours?&lt;/p&gt;
</description>
				<pubDate>Sun, 06 Jan 2013 00:00:00 +0000</pubDate>
				<link>http://gauravmali.com/thoughts/My-definition-of-good-code/</link>
				<guid isPermaLink="true">http://gauravmali.com/thoughts/My-definition-of-good-code/</guid>
			</item>
		
			<item>
				<title>Five Cool Things you can do with an Umbrella</title>
				<description>&lt;p&gt;Face it, you never look &quot;cool&quot; walking with an umbrella. Whether you are Jules Winnfield, Indiana Jones, or &lt;a href=&quot;http://en.wikipedia.org/wiki/The_Most_Interesting_Man_in_the_World&quot;&gt;The Most Interesting Man in the World&lt;/a&gt;, walking around with a plastic canopy over your head is the eptiome of a nerd, unless you have a top hat and a monocle of course! Although, to be fair, those things will make you look good regardless of your accessories.&lt;/p&gt;

&lt;p&gt;But no need to worry! Because there is a way to make your day with an umbrella. Praise the plastic stick with a hat on top, because it is going to prove very useful to you from now on. Next time when it pours down on you, remember the following tips I am about to give you. You can always thank me on &lt;a href=&quot;http://twitter.com/G_Mali&quot;&gt;twitter&lt;/a&gt; afterwards.&lt;/p&gt;

&lt;p&gt;Allow me to present you with: The 5 cool things you can do with an umbrella.&lt;/p&gt;

&lt;h2&gt;1) Drink Coffee!&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;/img/posts/umbrella_coffee.jpg&quot; alt=&quot;Drink Coffee&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Let&#39;s start off with the necessities of life. What&#39;s the first thing that you do in the morning? Coffee, of course. What better way to put that caffeine in your system than using a long, curved, hand-shaped tool fit for this purpose! You don&#39;t have to extend your arms when you keep the cup far away from your laptop. You also look cool pulling stunts in the morning when everyone else is still tripping over laptop cords!&lt;/p&gt;

&lt;h2&gt;2) Open doors!&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;/img/posts/umbrella_door.jpg&quot; alt=&quot;Open Doors&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Doors in the 21st century are being designed to be guarded with advanced, complex machinery. Thinking about buttons, gears, levers, hooks and all this mechanical stuff just makes me sick. That&#39;s why I chose to study Software Engineering in the first place! Keep that hardware away from me! I am happier designing application interfaces instead. So if you are like me (or a sane person in any way) only open the doors like these with a 3 foot umbrella. Also, upgrades your cool factor by +1.&lt;/p&gt;

&lt;h2&gt;3) Compile code.&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;/img/posts/umbrella_compile.jpg&quot; alt=&quot;Compile Code&quot; /&gt;&lt;/p&gt;

&lt;p&gt;No more stressing out over code compilation! Lose that bad pose, stress and the wrist pains. You can hit the keys with your handy umbrella! This way, you can spend less time coding, and more time attending meetings! I mean, no point in writing documentation &lt;em&gt;on the side&lt;/em&gt; if the software doesn&#39;t even work, right?&lt;/p&gt;

&lt;h2&gt;4) Review code.&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;/img/posts/umbrella_code_review.jpg&quot; alt=&quot;Review Code&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Pick on bad coding practices of others, and point them out with your umbrella! Guaranteed to have a &lt;strong&gt;blast&lt;/strong&gt; waving that magnificiant tool around the whiteboard explaining the simplest semantics that everyone has learnt decades ago. Everyone in the room is probably sleeping after listening to you go over the proper ways of handling exceptions, but who cares!? You have finally acquired the swag.&lt;/p&gt;

&lt;h2&gt;5) Gain free calories!&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;/img/posts/umbrella_steal.jpg&quot; alt=&quot;Gain Calories&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Yea, I meant to say steal food. But that gets you in trouble.&lt;/p&gt;

&lt;h2&gt;BONUS: Work on your stealth startup!&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;/img/posts/umbrella_stealth.jpg&quot; alt=&quot;Stealth Startup&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Worried about someone stealing your ideas? Worry no more because with an umbrella, you can sit practically &lt;strong&gt;anywhere&lt;/strong&gt; and be protected from the evil eyes of code thugs. Or potential users - because customer feedback is an outdated strategy. For even better results, wear sunglasses! If anything, it will at least make you &lt;em&gt;feel&lt;/em&gt; that your code is safe.&lt;/p&gt;

&lt;p&gt;See? An umbrella can be so useful! Who cares if you look awkward carrying one outside, you will be the most efficient human being indoors with that in your hands! It helps you code, drink, eat, unlock doors. Heck! I&#39;ve heard that you can even use it as a parachute. Try it! Report back on how it went.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Photo Cred + Door opener: Denis C.&lt;br/&gt;
Stealth Startup Guy: &lt;a href=&quot;http://www.kjsethi.com/&quot;&gt;Kshitij Sethi.&lt;/a&gt;&lt;/p&gt;
</description>
				<pubDate>Fri, 21 Sep 2012 00:00:00 +0000</pubDate>
				<link>http://gauravmali.com/thoughts/Five-cool-things-you-can-do-with-an-umbrella/</link>
				<guid isPermaLink="true">http://gauravmali.com/thoughts/Five-cool-things-you-can-do-with-an-umbrella/</guid>
			</item>
		
			<item>
				<title>Skedulr - Course Scheduling Android App</title>
				<description>&lt;p&gt;In the User Interfaces (CS 349) course of University of Waterloo, students are expected to create a copy of the course scheduling system used by the university. One of the assignments, is to create an Android app for this service in two weeks. The constraints: it has to be a native app, has to implement the MVC architecture, and &lt;a href=&quot;https://www.student.cs.uwaterloo.ca/~cs349/w12/assn/a04/a04.shtml&quot;&gt;fulfill specific UX requirements...&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Given that this was my first time building an Android App, coding in Java for the first time in 4 years, I feel quite proud in what the the app turned out to be. Ladies and gentlemen: Skedulr - Course Scheduling App.&lt;/p&gt;

&lt;div id=&quot;myCarousel&quot; class=&quot;carousel slide&quot;&gt;
  &lt;!-- Carousel items --&gt;
  &lt;div class=&quot;carousel-inner&quot;&gt;
    &lt;div class=&quot;active item skedulr&quot;&gt;
        &lt;img src=&quot;/img/posts/Skedulr_1.png&quot; alt=&quot;Skedulr&quot;&gt;
    &lt;/div&gt;
    &lt;div class=&quot;item skedulr&quot;&gt;
        &lt;img src=&quot;/img/posts/Skedulr_2.png&quot; alt=&quot;Skedulr&quot;&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;!-- Carousel nav --&gt;
  &lt;a class=&quot;carousel-control left&quot; href=&quot;#myCarousel&quot; data-slide=&quot;prev&quot;&gt;&amp;lsaquo;&lt;/a&gt;
  &lt;a class=&quot;carousel-control right&quot; href=&quot;#myCarousel&quot; data-slide=&quot;next&quot;&gt;&amp;rsaquo;&lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;&lt;/p&gt;

&lt;p&gt;If you can make out from the screenshots, there are quite a lot of different views (or &quot;Activities&quot;, in Android) for this app. There&#39;s the login view, home view, department-list view, course-list view, section-list view and some dialogue boxes for user feedback. Although the user flow was part of the specification, the organization of views and the layout was upto the students to decide. Being a passionate builder, I couldn&#39;t help but open up Photoshop to throw some color in there as well (not a requirement at all).&lt;/p&gt;

&lt;p&gt;The programming aspect wasn&#39;t too difficult surprisingly. The only challenge was trying to learn the way GUI elements get layed out and updated. The students were expected to teach themselves how to build an Android App (this was a UI course, after all), and near the end I felt like I could almost release this app on google play if I had more time to work on it.&lt;/p&gt;

&lt;p&gt;Every UI decision in the process of making this app required weighing over the time remaining before deadline, the specs, and the probablility of creating more bugs in this unkown territory of mobile development. I wish I could write and tell you every one of those, but I rather &lt;a href=&quot;/contact/&quot;&gt;show you in person&lt;/a&gt;.&lt;/p&gt;
</description>
				<pubDate>Sat, 15 Sep 2012 00:00:00 +0000</pubDate>
				<link>http://gauravmali.com/apps/Skedulr/</link>
				<guid isPermaLink="true">http://gauravmali.com/apps/Skedulr/</guid>
			</item>
		
			<item>
				<title>Why Blogging is so hard for Students.</title>
				<description>&lt;p&gt;After trying to blog more than an year ago, here I return with new content. I made two posts in the last year, and just like one would feel reading their old code, I felt extremely unsatisfied with the quality of my posts. So here is a fresh start. I would like to initiate my blogging this time by reflecting on possibly why it becomes so hard for  students to blog regularly. Imagine yourself to be an undergraduate student for a minute:&lt;/p&gt;

&lt;p&gt;Most of your day as a student (at least, a University of Waterloo: Software Engineernig student) is spent listening to your professors or instructors. The remaining time is spent reading books or &lt;a href=&quot;http://news.ycombinator.com&quot;&gt;news&lt;/a&gt;, and doing homework. With a life focused so much on simply learning, we students have built a habit of &quot;experiencing and understanding&quot; more than &quot;teaching&quot; anyone else in return. Any new material thrown at you is expected to be broken down, studied, and stored in your memory in O(log n) time. Are you getting my point? Good. Take notes now. I will be quizzing you on this next week.&lt;/p&gt;

&lt;p&gt;But seriously, think about what this habit turns you into. A mute machine that can store data and perform tasks as per command? I hope not! You may see many interesting things, listen to many interesting things, read many interesting things, but you don&#39;t get trained enough to speak your mind and apply those problem solving skills in communication. Finding ways to communicate with others is still a problem on it&#39;s own. Ignoring it would be impossible: &lt;a href=&quot;http://www.centerforinformationdesign.com/articles/286-2&quot;&gt;communication is the foundation of our civilization&lt;/a&gt;, after all.&lt;/p&gt;

&lt;p&gt;So whether you are a student, intern, full-time employee or employer, blog about something! Get your thoughts out and say hello to the world! Although &lt;a href=&quot;http://uwaterloo.ca&quot;&gt;UoW&lt;/a&gt; Software Engineering Undergrads have to write 4 work term reports to practice your writing and communication skills, that is hardly enough. Fellow classmate David Hu makes a &lt;a href=&quot;http://david-hu.com/2012/09/14/why-interns-should-blog.html&quot;&gt;good point&lt;/a&gt; about why blogging should be encouraged by the university.&lt;/p&gt;

&lt;p&gt;So if you are reading this, and you care about communication in the tiniest bit, comment below with a link to your blog! I will read it even if noone else does :)&lt;/p&gt;
</description>
				<pubDate>Fri, 14 Sep 2012 00:00:00 +0000</pubDate>
				<link>http://gauravmali.com/thoughts/why-blogging-is-so-hard-for-students/</link>
				<guid isPermaLink="true">http://gauravmali.com/thoughts/why-blogging-is-so-hard-for-students/</guid>
			</item>
		
			<item>
				<title>GauravMali.com - Personal Website</title>
				<description>&lt;p&gt;Allow me, if you are interested, in sharing some of the decisions I made when designing my personal website (this one).&lt;/p&gt;

&lt;p&gt;Let me make it very clear first. I am no graphical designer. I have never been trained or educated to become a graphical designer. If you have a keen eye, and can tell which typeface I am using on this website in one glance, I guess my declaration is redundant. However, what I do believe myself to be, is simply a builder. I love building things, and I learn tools that are necessary for the job. So learning as much as I could about color theory, typography, layout, spacing, brand importance and user experience has led me to be able to build a website for my own &lt;a href=&quot;/thoughts/&quot;&gt;thoughts&lt;/a&gt;. The necessity of graphical design to this site was apparant during the planning phase.&lt;/p&gt;

&lt;p&gt;Let&#39;s run through the planning real quick:&lt;/p&gt;

&lt;h3&gt;Purpose:&lt;/h3&gt;

&lt;p&gt;To present myself to the world via: my inner thoughts and my work, and to provide it with ways to get a hold of me.
&lt;strong&gt;Decision&lt;/strong&gt;: Three pages besides the front page: &lt;a href=&quot;/thoughts/&quot;&gt;Thoughts&lt;/a&gt;, &lt;a href=&quot;/apps/&quot;&gt;Apps&lt;/a&gt;, and &lt;a href=&quot;/contact/&quot;&gt;Contact&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Target Audience:&lt;/h3&gt;

&lt;p&gt;Anyone who understands even a little bit about programming.&lt;br/&gt;
&lt;strong&gt;Decision&lt;/strong&gt;: Logo can have syntax in it. It&#39;s unique, shows what I am about, and only relevant to users that I am targetting.&lt;/p&gt;

&lt;h3&gt;Emotions to be generated:&lt;/h3&gt;

&lt;p&gt;To show that I am full of &lt;span class=&quot;orange&quot;&gt;energy&lt;/span&gt; and yet &lt;span class=&quot;blue&quot;&gt;intelligent&lt;/span&gt; enough to make good decisions.&lt;br/&gt;
&lt;strong&gt;Decision&lt;/strong&gt;: Color pallete of orange and blue to &lt;a href=&quot;http://www.smashingmagazine.com/2010/01/28/color-theory-for-designers-part-1-the-meaning-of-color/&quot;&gt;create the mood&lt;/a&gt; along with white for simplicity and trust. A reccomended emotion for any professional.&lt;/p&gt;

&lt;h3&gt;First page impression:&lt;/h3&gt;

&lt;p&gt;To greet the world, and introduce myself. Along with a picture without smiling like a dork.&lt;br/&gt;
&lt;strong&gt;Decision&lt;/strong&gt;: Photo of self looking at the greeting. &lt;a href=&quot;http://visualwebsiteoptimizer.com/split-testing-blog/human-landing-page-increase-conversion-rate/&quot;&gt;Trustworthiness&lt;/a&gt; + &lt;a href=&quot;http://usableworld.com.au/2009/03/16/you-look-where-they-look/&quot;&gt;attention&lt;/a&gt; directed towards the end goal.&lt;/p&gt;

&lt;h3&gt;More (Typography, spacing, etc..):&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;/contact/&quot;&gt;Get in touch&lt;/a&gt;! I would love to take you through, and show off, all the remaining little decisions that I have made on my website!&lt;/p&gt;

&lt;p&gt;This website was created using &lt;a href=&quot;http://jekyllrb.com/&quot;&gt;Jekyll&lt;/a&gt; and is hosted on &lt;a href=&quot;http://github.com/GMali&quot;&gt;Github&lt;/a&gt;.&lt;/p&gt;
</description>
				<pubDate>Fri, 31 Aug 2012 00:00:00 +0000</pubDate>
				<link>http://gauravmali.com/apps/GauravMali/</link>
				<guid isPermaLink="true">http://gauravmali.com/apps/GauravMali/</guid>
			</item>
		
	</channel>
</rss>