<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>NUS Hackers</title>
	<atom:link href="http://nushackers.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://nushackers.org</link>
	<description>Linux, Open Source Software, and the Hacker Culture</description>
	<lastBuildDate>Thu, 16 Feb 2012 09:39:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>An Open Invitation To Hack&amp;Roll 2012 (Free Food, Free Hacking!)</title>
		<link>http://nushackers.org/2012/02/an-open-invitation-to-hackroll-free-food-free-hacking/</link>
		<comments>http://nushackers.org/2012/02/an-open-invitation-to-hackroll-free-food-free-hacking/#comments</comments>
		<pubDate>Thu, 16 Feb 2012 03:43:15 +0000</pubDate>
		<dc:creator>Eli James</dc:creator>
				<category><![CDATA[Events]]></category>

		<guid isPermaLink="false">http://nushackers.org/?p=2192</guid>
		<description><![CDATA[Hi everyone! You&#8217;ve probably realized by now that we&#8217;ve got a 24 hour hackathon going on at COM1 Basement, on the 19th to 20th February (that&#8217;s this Sunday to Monday). We know that some of you can&#8217;t join for a number of reasons &#8211; either you&#8217;re too busy, or you&#8217;re not sure you can build [...]]]></description>
			<content:encoded><![CDATA[<p><img style="margin-left:-430px; border: 1px solid #ccc;" src="http://nushackers.org/wp-content/themes/nushackers_theme/images/hrbanner.gif" alt="Hack &#038; Roll Banner" /></p>
<p>Hi everyone!</p>
<p>You&#8217;ve probably realized by now that we&#8217;ve got a <a href="http://nushackers.org/hack-and-roll/">24 hour hackathon</a> going on at COM1 Basement, on the 19th to 20th February (that&#8217;s this Sunday to Monday).</p>
<p>We know that some of you can&#8217;t join for a number of reasons &#8211; either you&#8217;re too busy, or you&#8217;re not sure you can build an app in 24 hours, or you have other things you need to do.</p>
<p>Well, we don&#8217;t mind!</p>
<p><big>We&#8217;d like to <strong>invite you</strong> to come drop by at <strong>any time</strong> during the hackathon! Come work on your own programming projects, come see how people build apps from scratch, enjoy the environment, the intensity, the free food, and the free coffee! [2]</big></p>
<blockquote><p><strong>Time:</strong> 19 Feb (Sunday) 1pm &#8211; 20th Feb (Monday) 1pm<br />
<strong>Venue:</strong> COM1 Basement 1<br />
<strong>Agenda:</strong> Bring your laptop, a programming project and some headphones!
</p></blockquote>
<p>And if you&#8217;d like, do come down to meet the judges and watch the conclusion of the Hackathon on Monday, at 12pm. We will have Erwan Macé from Google, Sarim Aziz from RIM, Professor Lee Wee Sun from SoC, plus a two other judges we&#8217;re awaiting confirmation from.</p>
<p><a href="http://nushackers.org/wp-content/uploads/2012/02/hacknrollpostersecond.jpg"><img src="http://nushackers.org/wp-content/uploads/2012/02/hacknrollpostersecond-724x1024.jpg" alt="" title="hacknrollpostersecond" width="640" height="905" class="alignleft size-large wp-image-2207" /></a></p>
<p>We hope to see you there!</p>
<p>(If you&#8217;d like to participate, you <em>will</em> have to pay the $10 registration fee to get a chance to compete for prizes.[1] We have raised enough money for food now, thanks to the kindness of our supporting organizations: <strong>IDA</strong> and <strong>NOC Odyssey Fund</strong>; so we&#8217;ll be using the money from registrations to fund future Friday Hacks, for the benefit of the NUS developer community).</p>
<p>[1] Currently prizes are: </p>
<ul>
<li>Blackberry Playbook</li>
<li>Microsoft Natural Ergonomic Keyboard 4000</li>
<li>Samsung Galaxy Ace</li>
<li>AWS Credits</li>
<li>Private Github Accounts</li>
<li>Free tickets to NUS Startup Weekend (worth $45 each)</li>
<li>Nokia Goodie Bags</li>
</ul>
<p>[2] We&#8217;re doing this because we want to have as many students as possible exposed to the idea that hacking is fun, is doable, and is beneficial for their future careers! So come join us!</p>
]]></content:encoded>
			<wfw:commentRss>http://nushackers.org/2012/02/an-open-invitation-to-hackroll-free-food-free-hacking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hacking: The Best Way To Get Hired, While At SoC</title>
		<link>http://nushackers.org/2012/02/hacking-the-best-way-to-get-hired-while-at-soc/</link>
		<comments>http://nushackers.org/2012/02/hacking-the-best-way-to-get-hired-while-at-soc/#comments</comments>
		<pubDate>Sun, 12 Feb 2012 22:16:43 +0000</pubDate>
		<dc:creator>Eli James</dc:creator>
				<category><![CDATA[Essay]]></category>

		<guid isPermaLink="false">http://nushackers.org/?p=2145</guid>
		<description><![CDATA[If you&#8217;re a School of Computing student, you&#8217;ve probably been told that the best way to get good at programming is to &#8216;just keep practicing&#8217;. And this is true. We know this is true because musicians, painters and writers say the same thing; why should it be any different for programmers? Programmers get better when [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://nushackers.org/wp-content/uploads/2011/12/MelvinZhangFH.jpg"><img src="http://nushackers.org/wp-content/uploads/2011/12/MelvinZhangFH-1024x575.jpg" alt="Melvin Zhang at NUS Hackers weekly meeting, speaking about Solving Computer Science Problems" title="MelvinZhangFH" width="640" height="359" class="alignleft size-large wp-image-2111" /></a><br />
<br/><br />
If you&#8217;re a School of Computing student, you&#8217;ve probably been told that the best way to get good at programming is to &#8216;just keep practicing&#8217;.</p>
<p>And this is true. We know this is true because musicians, painters and writers say the same thing; why should it be any different for programmers? Programmers get better when they program &mdash; with one unique difference. </p>
<p>The difference is this: code projects, the by-product of &#8216;programming practice&#8217;, are great additions to <em>any</em> resume. Employers will be able to read the code you&#8217;ve written. If they care about the kind of software you will produce for them, knowing how well you code matters. </p>
<p>Computer Science professor Matt Might <a href="http://matt.might.net/articles/what-cs-majors-should-know/">argues</a>:</p>
<blockquote><p>Having emerged from engineering and mathematics, computer science programs take a resume-based approach to hiring off their graduates.</p>
<p>A resume says nothing of a programmer&#8217;s ability.</p>
<p>Every computer science major should build a portfolio.</p>
<p>A portfolio could be as simple as a personal blog, with a post for each project or accomplishment. A better portfolio would include per-project pages, and publicly browsable code (hosted perhaps on <a href="http://github.com">github</a> or Google code).</p>
<p>Contributions to open source should be linked and documented.</p>
<p>A code portfolio allows employers to directly judge ability.</p>
<p>GPAs and resumes do not.</p></blockquote>
<p>Building a portfolio is something we should all be working on. (Matt Might links to MIT student Ed Yang, whose <a href="http://ezyang.com/">personal portfolio</a> is staggering in its impressiveness).</p>
<p>So the question becomes: what should I practice on? Programming assignments are tedious when done outside class, for no credit. There are only so many <a href="http://projecteuler.net/">Project Euler</a> problems one can solve before getting bored.</p>
<p>The answer, of course, is to start hacking.</p>
<p>There are a number of reasons to hack, all of them good ones. I think it would do to share some of them here for posterity. I&#8217;ll end with a number of things you can start hacking on, and one place, next week, where you can do it with your friends.</p>
<h3>Hacking exposes you to real world technology</h3>
<p>SoC programming assignments rarely cover cutting-edge technology. This is not the school&#8217;s fault: it&#8217;s too much of a hassle to keep up with the bleeding edge. The school&#8217;s job is to teach underlying ideas. Imagine updating your lecture slides every time Node.js changes. That would certainly get in the way of whatever concept you were trying to teach.</p>
<p>No, professors and employers expect <em>us</em> to pick up production technologies on our own. They teach us the ideas &mdash; we&#8217;re supposed to use those ideas to learn whatever it is we need for our jobs. Sometimes that means learning Python over the weekend. Other times it means learning enough C to debug the bloody PDF library that seems to print a puppy over every document you try to generate.</p>
<p>Most importantly, however, it means that the student who spends his weekends and holidays picking up production-ready technologies is a step ahead when compared to his peers. </p>
<h3>Hacking makes you better</h3>
<p>We know that practice is good for programming skills. What that looks like in practice (pun intended, forgive me) is that things explode in your face, and you scramble to fix those things, and then you learn new things in the process. </p>
<p>After which you become slightly better.</p>
<p>Hacking forces you into situations where you don&#8217;t know enough to begin building things. If you want to build a blog on top of MongoDB, for instance, you might begin by learning a web framework. After which you would need to learn to use Linux, because 99% of websites run on Linux. Learning Linux will enable you to install MongoDB and set up your web server. Then you&#8217;ll quickly realize that you&#8217;ll need to learn how to use a wrapper for MongoDB, which in turn will teach you how to find and read obscure documentation for a programming project.</p>
<p>Every trivial hack project brings with it a hidden cascade of things to learn. This is a good thing: it means you get to learn more the more hack projects you do.</p>
<h3>Hacking puts you in touch with actual developers</h3>
<p>One of the quickest ways to learn about the software world is to contribute to an open source project. Many coreteam members contribute to existing OSS codebases, one even <a href="http://rctay.tuletech.com/2011/06/Update-on-port-histogram-diff">implemented a new diff algorithm for Git</a>. SoC provides students with a good Firefox course with which to learn about Open Source. Both approaches to OSS will eventually require us, as students, to meet with and talk to working, breathing developers.</p>
<p>But hacking on your own projects are also a good way to meet other developers. If you&#8217;re solving someone else&#8217;s problem, he or she may find you on Github to contribute to your code.</p>
<p>Again, this teaches you things you might otherwise have to wait for graduation to learn.</p>
<h3>Hacking gives you projects to show</h3>
<p>Showing off matters in both sense of the term: hacking projects make you more attractive to future employers; and showing off to your friends keeps you motivated to continue hacking on things.</p>
<p>The latter is sometimes more important than you might think: many a programmer has built a world-changing tool with the partial intention of showing it off to his friends. Facebook and Linux certainly started with some element of this. </p>
<h3>Hacking is good for you; start hacking today!</h3>
<p>Programming for personal projects makes you a better programmer, <s>helps you score girls</s> gives you opportunities, and makes you more attractive to employers. </p>
<p>It&#8217;s not hard to start hacking &#8211; pick a problem you&#8217;ve always had, and think about how you might solve it with code. Alternatively, pick a cool new technology you want to learn, and find a way to use <em>that</em> to solve your burning problem.</p>
<p><a href="http://nushackers.org/hack-and-roll/"><img style="margin-left:-430px; border: 1px solid #ccc;" src="http://nushackers.org/wp-content/themes/nushackers_theme/images/hrbanner.gif" alt="Hack &#038; Roll Banner" /></a></p>
<p>If you&#8217;d like to get a head-start, come join us at our <strong>Hack &#038; Roll Hackathon</strong>, on the 19-20th February. <a href="https://docs.google.com/spreadsheet/viewform?formkey=dDRZeUhUQXJybHdsa1oySEpxYVRUdWc6MQ">Sign up here</a>, or read more about the event at this <a href="http://nushackers.org/hack-and-roll/">link</a>. We&#8217;re trying to get more SoC students to hack on stuff, so if you&#8217;d like to learn how to start doing so, in the company of your peers, come join us. It&#8217;s only $10 per person, and even then for food.</p>
<p>In the words of a much-loved SoC lecturer: happy hacking!</p>
<p><strong>PS: if you like this post, please consider sharing it with a friend!  </strong></p>
]]></content:encoded>
			<wfw:commentRss>http://nushackers.org/2012/02/hacking-the-best-way-to-get-hired-while-at-soc/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Friday Hacks: Google&#8217;s Go Talk and Andy Croll&#8217;s TDD Talk</title>
		<link>http://nushackers.org/2012/02/friday-hacks-googles-go-talk-and-andy-crolls-tdd-talk/</link>
		<comments>http://nushackers.org/2012/02/friday-hacks-googles-go-talk-and-andy-crolls-tdd-talk/#comments</comments>
		<pubDate>Thu, 09 Feb 2012 15:43:05 +0000</pubDate>
		<dc:creator>Eli James</dc:creator>
				<category><![CDATA[Meetings]]></category>

		<guid isPermaLink="false">http://nushackers.org/?p=2100</guid>
		<description><![CDATA[For tomorrow&#8217;s Friday Hacks (10th February 2012) we will have Kailash Sethuraman from Google coming to speak about the Go Programming Language, and Andy Croll of ImpulseFlyer coming to speak about Test Driven Development. These talks will both be held at the Ngee Ann Kongsi Auditorium. (The Ngee Ann Kongsi Auditorium is the large red-stone [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://nushackers.org/wp-content/uploads/2012/02/image00.jpeg"><img src="http://nushackers.org/wp-content/uploads/2012/02/image00.jpeg" alt="A picture of the Go Gopher, mascot of the Go Programming Language, with a rabbit." title="Go Gopher" width="640" height="430" class="aligncenter size-full wp-image-2102" /></a></p>
<p>For tomorrow&#8217;s <a href="http://nushackers.org/fridayhacks/">Friday Hacks</a> (10th February 2012) we will have Kailash Sethuraman from Google coming to speak about the Go Programming Language, and Andy Croll of ImpulseFlyer coming to speak about Test Driven Development. These talks will both be held at the Ngee Ann Kongsi Auditorium. </p>
<p>(The Ngee Ann Kongsi Auditorium is the large red-stone auditorium above NUS University Town&#8217;s Starbucks &mdash; which is, in turn, impossible to miss if you&#8217;re around the area).</p>
<p>We have chosen to post this announcement late in the week, as all related information, links, and email blasts have already gone out to the faculties two weeks before. All registered attendees have also received an email earlier this week informing them of the location and rough agenda.</p>
<p>Here it is again, for easy access:</p>
<blockquote><p><strong>6.00pm</strong> Pizza is served. :D<br />
<strong>7.00pm</strong> Kailash Sethuraman &#8211; The Go Programming Language<br />
<strong>7.40pm</strong> Andy Croll &#8211; Test Driven Development<br />
<strong>8.30pm</strong> Talks finish, participants are free to leave or to hang around and socialize and/or hack on personal projects, homework, and the like.
</p></blockquote>
<p>We&#8217;re sorry to report that registration has closed for this talk, as we are oversubscribed. Tune it to our mailing list if you&#8217;d like early announcements for future Friday Hacks!</p>
<p>For those who have registered, see you there!</p>
<p><strong>Update</strong>: here are the <a href="https://docs.google.com/presentation/d/1iV7m06ojm6vEe2BYbROeYSS8O6irBdbkFHK7SwdklxM/edit?pli=1&#038;ndplr=1#slide=id.p18">slides</a> for Kailash&#8217;s Go talk, and the <a href="http://speakerdeck.com/u/andycroll/p/tdd-for-nus-hackers">slides</a> for Andy&#8217;s TDD talk.</p>
]]></content:encoded>
			<wfw:commentRss>http://nushackers.org/2012/02/friday-hacks-googles-go-talk-and-andy-crolls-tdd-talk/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Hack &amp; Roll coming up!</title>
		<link>http://nushackers.org/2012/02/hack-roll-coming-up/</link>
		<comments>http://nushackers.org/2012/02/hack-roll-coming-up/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 07:16:01 +0000</pubDate>
		<dc:creator>Chen Liang</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://nushackers.org/?p=2091</guid>
		<description><![CDATA[NUS Hackers is organising the &#8220;Hack n Roll&#8217; 24-Hour Hackathon, the first-ever student organized hackathon in NUS. If you want to have a fun, educational weekend at the Start of Recess Week, in which you get to build something cool and stand to win some prizes, then join us at the hackathon. Date: 19th (Sun) [...]]]></description>
			<content:encoded><![CDATA[<p>NUS Hackers is organising the &#8220;Hack n Roll&#8217; 24-Hour Hackathon, the first-ever student organized hackathon in NUS.</p>
<p>If you want to have a fun, educational weekend at the Start of Recess Week, in which you get to build something cool and stand to win some prizes, then join us at the hackathon.</p>
<blockquote><p><strong>Date:</strong> 19th (Sun) to 20th (Mon) February 2012 (ie Start of Recess Week)<br />
<strong>Time:</strong> 1pm (Sun) to 3pm (Mon)<br />
<strong>Venue:</strong> Tentatively in NUS School of Computing (Soc) Basement 1 (B1)<br />
<strong>Registration Period:</strong> 25 Jan to 12 Feb 2012 only. Registrations will be closed once we have reached 80 people or on 12 Feb.<br />
<strong>Registration Fee:</strong> $10 (to contribute for food)<br />
(Note that venue will be confirmed in February. Registrants will be informed of the confirmed venue.)</p></blockquote>
<p><strong>Registration Link:</strong><br />
<a href="http://bit.ly/hacknroll2012">http://bit.ly/hacknroll2012</a><br />
<a href="https://docs.google.com/spreadsheet/viewform?formkey=dDRZeUhUQXJybHdsa1oySEpxYVRUdWc6MQ">https://docs.google.com/spreadsheet/viewform?formkey=dDRZeUhUQXJybHdsa1oySEpxYVRUdWc6MQ</a></p>
<p>The 2 top team(s) will get prizes from Blackberry, Microsoft, and others (full list of prizes &#8211; <strong>tablets, phones and keyboards</strong> to be won, will be released in February)</p>
<p>Only a maximum of 80 people can be accommodated for the competition so get in on the action before it’s too late.</p>
<p><strong>Lead-up Talks/Workshops</strong><br />
17 Feb 12 &#8211; &#8220;HTML5/CSS3 Workshop&#8221; (by Blackberry/RIM)</p>
<p><strong>More details coming soon.</strong><br />
Stay tuned to http://nushackers.org/hack-and-roll/ for the latest details!<br />
Rules are found on http://nushackers.org/hack-and-roll/ as well.</p>
<p>PS: This hackathon is only open to NUS students.</p>
]]></content:encoded>
			<wfw:commentRss>http://nushackers.org/2012/02/hack-roll-coming-up/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ideas, Meet Skills! Not.</title>
		<link>http://nushackers.org/2012/01/ideas-meet-skills-not/</link>
		<comments>http://nushackers.org/2012/01/ideas-meet-skills-not/#comments</comments>
		<pubDate>Sat, 28 Jan 2012 08:36:15 +0000</pubDate>
		<dc:creator>Eli James</dc:creator>
				<category><![CDATA[Essay]]></category>

		<guid isPermaLink="false">http://nushackers.org/?p=2048</guid>
		<description><![CDATA[There’s this idea that gets passed around a lot in the entrepreneurship clubs in NUS. The idea goes that technical people need ‘ideas people’, and that entrepreneurship clubs exist to matchmake the two. Take, for instance, the recent Ideas Meet Skills event by the Startup@Singapore team. The event is made in good faith, but the [...]]]></description>
			<content:encoded><![CDATA[<p>There’s this idea that gets passed around a lot in the entrepreneurship clubs in NUS. The idea goes that technical people need ‘ideas people’, and that entrepreneurship clubs exist to matchmake the two.</p>
<p>Take, for instance, the recent Ideas Meet Skills event by the Startup@Singapore team. The event is made in good faith, but the assumption is there in all its glory: ‘Have a great idea you want to realize or the gumption to excel in a start-up … but not both?’ the poster declares. ‘Register Now!’</p>
<p>(An organizer told me that such events are almost entirely full of business people; it has been very difficult to get technical people to come. And no wonder &#8211; with a mistaken premise, is it any wonder when technical people fail to turn up?)</p>
<p>This assumption is more pervasive than one would expect: in my short time in the NUS Entrepreneurship Society (NES), I have heard all sorts of people express it. What took me by surprise was the number of Engineering students who subscribe to this belief. One would think that people from Engineering would be careful about making such assumptions, given the number of jokes engineers make about working under the tyranny of a technically naive, pointy-haired boss. But no, they express it all the same.</p>
<p>The idea is wrong on at least two assumptions. The first assumes that technical people have no ideas (or that they have bad ones). The second assumes that technical people <em>need</em> ideas people to do things. Disprove the first assumption, and the second automatically follows as false.</p>
<p>It is easy to show that technical people have some proficiency with ideas: if they were no good at them, they would not have entered a technical course in the first place. Getting a programmer to come up with ideas for startups is no more than one conversion process away: you simply have to <a href="http://www.paulgraham.com/ideas.html">show him how</a>.</p>
<p>What is more interesting to ask is this: are business people better at coming up with ideas than technical people?</p>
<p>The answer to that is: not usually. The key difference between programmers and business people is that programmers can <em>test</em> their ideas, and business people can’t (or at least won’t). That testing process is called hacking.</p>
<p>Joshua Schachter said it best in his <em><a href="http://www.amazon.com/Founders-Work-Stories-Startups-Early/dp/1590597141">Founders At Work</a></em> interview:</p>
<blockquote><p><strong>Livingston</strong>: What do you think about technical founders versus businesspeople founders?</p>
<p><strong>Schachter</strong>: I have never had a great deal of trust for people who don’t execute on core ideas. I understand the value of needing someone to deal with that kind of stuff — someone’s got to do the VC pitch and there’s got to be a CFO, etc. But the guy who says, “I have a great idea and I’m looking for other people to implement it,” I’m wary of — frequently because I think the process of idea-making relies on executing and failing or succeeding at the ideas, so that you can actually become better at coming up with ideas. It’s something you can learn. It’s a skill, like weightlifting. That failed; that worked; continue. You begin to learn how to make ideas. So if you are someone who can’t execute and all you can do is come up with ideas, how do you know if they are any good? You don’t really know if it’s a good idea until you’ve executed it. You need to understand the cost of execution and so on.</p></blockquote>
<p>Schachter&#8217;s logic is rooted in experience: Del.icio.us was the last in a string of random hack projects he had done while working at Morgan Stanley. Zuckerberg had hacked up at least two other projects before doing Facebook; Evan Williams did Pyra, Blogger, and Odeo before doing Twitter. Dennis Crowley did Dodgeball before Foursquare (which he admits is an execution of the ideas he had while working on Dodgeball). In fact, most successful tech companies are founded by people with several past projects. This should not surprise us: in science, the most prolific scientists tend to be more successful. <em>The more ideas you&#8217;ve tested in the past, the better you get at coming up with new ones.</em></p>
<p>When seen in this light, a majority of NES’s entrepreneurship efforts fail to make sense. Ideation workshops are exercises in futility, as they have no hope of real world verification; ideas-meet-skills events fail to attract the people with skills, because the people with skills <em>don’t need</em> such workshops.</p>
<p>It is true, however, that you don’t have to be a technical person to test ideas. Hacking is simply the easiest, cheapest way to do so. You can &#8211; like Derek Sivers (CD Baby) and Jason Fried (37signals) &#8211; test ideas by hiring programmers to implement products for you, and then learning from those successes or failures. Or you can spend an adolescence tinkering with electronics like Steve Jobs did. But because such methods are more expensive than simply hacking something up, business people tend to stay idle.</p>
<p>In truth, I suspect that the people in NES don’t <em>really</em> believe that technical people are bad at ideas, or that they are lousier than ‘ideas’ people. I suspect they keep at it because it’s much easier to attract large audiences with the lie (‘come do a startup if you have an idea, it doesn’t matter if you can’t execute on it!’) than it is to convince hackers to do startups.</p>
<p>What is the solution to this? The answer is obvious: grow the community of hackers, and then tell them to start startups.<sup>[1]</sup> Every year, Y Combinator does something called Startup School &#8211; an invitation-only event for technical people, designed to inspire them to take the leap into startupdom. The talks are amazing. The effects even more so. (The <a href="http://startupschool.org/index.html">sign-up page</a> states that ‘Many founders have told us that this event was what finally made them take the leap.’) And while business people are allowed to attend, hackers have priority.</p>
<p>Perhaps it’s time to start focusing on hackers in Singapore. After all, there are already too many ‘ideas’ people out there: attending workshops, sitting in conferences, pitching business plans &#8211; and going nowhere.</p>
<p>&nbsp;</p>
<p><sup>[1]</sup> The first is hard, something we at NUS Hackers are still trying to figure out. The second is easy (and can best be done by NES) but will probably have limited effect until the first problem is solved.</p>
<p><em>This essay was prompted by a recent request to get NUS Hackers to promote more ‘ideas + skills’ events &#8211; in particular, to get our members to join such workshops. The coreteam &#8211; myself included &#8211; reacted with knee-jerk negativity. This reaction, to me, was curious: we could not articulate a proper reason for it, yet we </em>all<em> felt very strongly against it. This essay is written as an attempt to figure out why.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://nushackers.org/2012/01/ideas-meet-skills-not/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>Building NUS CORS Instant</title>
		<link>http://nushackers.org/2012/01/building-nus-cors-instant/</link>
		<comments>http://nushackers.org/2012/01/building-nus-cors-instant/#comments</comments>
		<pubDate>Sat, 07 Jan 2012 22:09:49 +0000</pubDate>
		<dc:creator>Eli James</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://nushackers.org/?p=1994</guid>
		<description><![CDATA[Rollen Gomes is a recently graduated NUS student. Here, he talks about the nuscors.com, an instant search for CORS built on top of the Unofficial CORS API. A couple weeks ago NUS Hackers released the unofficial NUS CORS API. I decided to leverage on the API to build something, just for the heck of it. [...]]]></description>
			<content:encoded><![CDATA[<p><em>Rollen Gomes is a recently graduated NUS student. Here, he talks about the nuscors.com, an instant search for CORS built on top of the Unofficial CORS API.</em></p>
<p>A couple weeks ago NUS Hackers released the unofficial NUS CORS API. I decided to leverage on the API to build something, just for the heck of it. Long story short I ended up building <a href="http://nuscors.com">nuscors.com</a>. The site is a faster way to search for a module in the NUS CORS database: you could call it an &#8216;instant search&#8217;.</p>
<p>Now I’m gonna say this this a bluntly as possible, the initial design goals of the site were as follows. <span style="text-decoration: line-through;">Cheap</span> Free, Fast Search, Up before the CORS bidding period started. My other more sneaky goal was to have everyone in NUS use it and become a hero. Some of those goals were met and some are “in the pipeline”.</p>
<p>Anyway from this point on I speak some geek.</p>
<p>In the planning phase of the application and after some poking around I realised that the Unnoficial CORS API was written in Flask (Python). I immediately told myself to rewrite the API using some Ruby. Turns out the NUS CORS site was down on that day and life saved me from myself (phew). I ended up downloading the json file from the api site.</p>
<p>I used heroku as the hosting service for the application. This meant that the app was easy and free to deploy. Unfortunately, all free services come their limitations. In this case it was a 5 megabyte shared database. I didn’t want to have any connection with the database (pun intended) for a couple of reasons but most importantly it would add time to the page load.</p>
<p>In a nutshell the site works by downloading a static json file and then running a search on that downloaded file. Once the functionality was completed I designed the look and feel of the site to mimic Google instant search.</p>
<p>That, my friends, is how <a href="http://nuscors.com">nuscors.com</a> was born. Hope you enjoyed the read, if you have any questions join the <a href="https://groups.google.com/forum/?fromgroups#!forum/nushackers">NUS Hackers mailing list</a> and mail me there.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://nushackers.org/2012/01/building-nus-cors-instant/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Projects Recently Shared On The Mailing List</title>
		<link>http://nushackers.org/2012/01/cool-projects-shared-on-the-mailing-list-recently/</link>
		<comments>http://nushackers.org/2012/01/cool-projects-shared-on-the-mailing-list-recently/#comments</comments>
		<pubDate>Sat, 07 Jan 2012 09:08:23 +0000</pubDate>
		<dc:creator>Eli James</dc:creator>
				<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://nushackers.org/?p=1988</guid>
		<description><![CDATA[We&#8217;ve got two cool projects recently posted to the NUS Hackers mailing list to show you today. The first is an instant CORS search at nuscors.com, built by Rollen Gomes a week after the launch of our Unofficial CORS API. Simply type a module name or code to have the list filtered down to the module you&#8217;re [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve got two cool projects recently posted to the NUS Hackers <a href="https://groups.google.com/forum/#!forum/nushackers">mailing list</a> to show you today.</p>
<p>The first is an instant CORS search at <a href="http://nuscors.com/">nuscors.com</a>, built by Rollen Gomes a week after the launch of our <a href="http://api.nushackers.org/">Unofficial CORS API</a>. Simply type a module name or code to have the list filtered down to the module you&#8217;re looking for. It&#8217;s blazingly fast in a desktop browser, and I must say that it&#8217;s really changed the way I do my module planning.</p>
<p>The second cool project is a shuttlecock launcher built by James Yong (and a few other contributors) on the side, for two years, while at SoC. No technical details released, but see below for a demonstration:</p>
<p><iframe width="560" height="315" src="http://www.youtube.com/embed/76I-GPIfGys" frameborder="0" allowfullscreen></iframe></p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://nushackers.org/2012/01/cool-projects-shared-on-the-mailing-list-recently/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Build Random Shit For Fun, Experience, and Glory</title>
		<link>http://nushackers.org/2012/01/build-random-shit/</link>
		<comments>http://nushackers.org/2012/01/build-random-shit/#comments</comments>
		<pubDate>Mon, 02 Jan 2012 19:00:46 +0000</pubDate>
		<dc:creator>Eli James</dc:creator>
				<category><![CDATA[Essay]]></category>

		<guid isPermaLink="false">http://nushackers.org/?p=1975</guid>
		<description><![CDATA[A few days ago I realized a simple summary of what we do at NUS Hackers (if you subtract away all the marketing) is: get people to build random shit for fun, experience and glory. It reads like a good motto to me. Let’s break it apart to see what it means: 1) ‘Shit’ is [...]]]></description>
			<content:encoded><![CDATA[<p>A few days ago I realized a simple summary of what we do at NUS Hackers (if you subtract away all the marketing) is: get people to build random shit for fun, experience and glory.</p>
<p>It reads like a good motto to me. Let’s break it apart to see what it means:</p>
<p>1) ‘Shit’ is random because it’s not fair to just build useful stuff. Sometimes fun, throwaway projects are worth doing, because they give you new ideas.</p>
<p>2) Building stuff for fun is important because programming <em>should</em> be fun. (If it isn’t fun and you’re in Computing then you <em>might</em> have a problem.)</p>
<p>3) Building stuff for experience is equivalent to ‘practice makes perfect’. We are told in school that the best way to become good at programming is to do lots of it. But building personal projects is also a rather useful trick to learning new things &#8211; for starters, you’ll bump against a lot of production-ready tools that you might not otherwise need when solving school-created problems. Also, building stuff is sometimes a good excuse <em>in itself</em> for learning new tools &#8211; e.g. the <a href="http://api.nushackers.org">unofficial CORS API</a> was used as an excuse to learn and deploy MongoDB.</p>
<p>4) Doing it for glory is a raison d’être for NUS Hackers. The respect and attention of a close community is a powerful motivator for any student programmer. If we succeed in creating such a community, we will give our peers a reason to build things for their own benefit. Everyone wins in that scenario.</p>
<p>I think we&#8217;re 2, 3 years our from achieving this. We have a lot of work ahead of us.</p>
]]></content:encoded>
			<wfw:commentRss>http://nushackers.org/2012/01/build-random-shit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gearing Up For 2012 (Plans, and a New Site!)</title>
		<link>http://nushackers.org/2012/01/gearing-up-for-2011-plans-and-a-new-site/</link>
		<comments>http://nushackers.org/2012/01/gearing-up-for-2011-plans-and-a-new-site/#comments</comments>
		<pubDate>Sat, 31 Dec 2011 18:07:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://nushackers.org/?p=1941</guid>
		<description><![CDATA[(This was also sent as an email to the NUS Hackers mailing list.) Hi everyone, This is Cedric (aka Eli online), the current president of NUS Hackers. I&#8217;m here to tell you about some of the things we have planned for the next semester, as well as to ask for your input on how we [...]]]></description>
			<content:encoded><![CDATA[<p><em>(This was also sent as an email to the NUS Hackers mailing list.)<br />
</em><br />
Hi everyone,</p>
<p>This is Cedric (aka Eli online), the current president of NUS Hackers.</p>
<p>I&#8217;m here to tell you about some of the things we have planned for the next semester, as well as to ask for your input on how we can do certain things better. This will be a long email, but I hope for your patience as I explain some of the initiatives, partnerships and decisions we&#8217;ve made behind the scenes. (This closed-door decision-making is also something that will change, but more on that in a bit).</p>
<p>As most of you already know, the NUS Hackers is a club dedicated to the spread of hacker culture and open source software in NUS. Historically, most SoC students don&#8217;t really have a culture of building things for fun. We know this because our seniors told us, employers outside tell us, and entrepreneurs tell us the same things over and over again: where are the good programmers? Where can I hire good programmers? Why are SoC students not like MIT/Stanford/X university ones, who build things and learn things on their own, outside school?</p>
<p>(For a taste of what employers think of NUS SoC grads, refer to this <a href="https://groups.google.com/forum/#!topic/hackerspacesg/4BTEWw2-nbI">Hackerspace.sg thread</a>)</p>
<p>Our response to this is to get more people hacking. This isn&#8217;t a completely altruistic motive &#8211; the more you hack, the more you release open source code, the more attractive you become to future employers. (i, you display initiative when you launch your own projects ii, tech-savvy employers (the good kind) can read your code before they hire you).</p>
<p>Also, if we get enough hackers together, it benefits everyone in the group, as NUS Hackers will be the go-to place to look for talent for startups, employers, and professors in NUS (research).</p>
<p>We are a long away from that. We did a few new things that were in the right direction last semester, but we were disorganized:</p>
<ul>
<li>Friday Hacks were announced too late in the week</li>
<li>The venue kept changing</li>
<li>We didn&#8217;t pursue opportunities to pass down to members as aggressively.</li>
<li>Nobody released open source code.</li>
</ul>
<p>Here&#8217;s what we&#8217;re going to do about it.</p>
<h3>Friday Hacks &#8211; Talks: </h3>
<p>We have found that attendance increases when there&#8217;s a talk announced early in the week. With that in mind:</p>
<ul>
<li>Friday Hacks will be in one venue for the whole of next semester. I will try to lock down Seminar Room 2 ERC @ Utown, but if that&#8217;s not possible, I will announce it here and on the blog.</li>
<li>Talks will be announced on the site in advance. I have redesigned the nushackers.org front page to display a list of speakers and topics for all the weeks in the semester, as well as open slots that students, professors, and outside speakers might want to pick to speak. I have also created a <a href="http://nushackers.org//fridayhacks">general information page for speakers</a> &#8211; including a map and parking locations.</li>
<li>I want to provide free dinners to everyone, for every Friday Hacks. Coreteam members have good working relationships with several large companies, and I am will find sponsorships to make this happen. (Free pizza makes sense, by the way &#8211; we want to build community amongst hackers. Plus speakers from various companies can join right in).</li>
</ul>
<h3>Hacking</h3>
<p>Last semester, we found that not many people knew what to hack on. OR that they did homework. That&#8217;s not completely cool: a big value-add of hacking is that you learn and build things outside the curriculum. Here&#8217;s what we&#8217;re doing about that:</p>
<ul>
<li>I spent a week building, and just released Treehouse &#8211; a dashboard for NUS Hackers projects. A post may be found <a href="http://treehouse.nushackers.org/project/treehouse-observatory/post/welcome-to-treehouse/ ">here</a>: (I&#8217;ll do a proper announcement post soon)</li>
<li>Check the <a href="http://treehouse.nushackers.org/projects/">project page</a> and the <a href="http://treehouse.nushackers.org/people/">people page out</a>. I&#8217;m pushing updates as we go along.</li>
<li>Going forward, we will use Treehouse to keep track of all hacking activity in NUS Hackers. :)</li>
<li>The site is capable of parsing git repositories, so as long as you have a publicly available git clone address, it will grab it and parse it and attribute it to the right contributors.</li>
<li>It also has social features, and karma, meaning there is some built-in troll-protection. I will moderate and build extra anti-flamewar controls if required.</li>
<li>Please sign up, and remember to use the email address you use to sign your git commits.</li>
</ul>
<p>What we will use Treehouse for:</p>
<ul>
<li>Next semester, for a four week period at the start of the semester, we will get everyone to work on projects, with a show-and-tell and the end of the four weeks.</li>
<li>What kind of projects? Any kind &#8211; but preferably ones that benefit the NUS community. E.g. I&#8217;m planning to do a Javascript skinner for IVLE, to make it user-friendly and awesome-looking. You can also choose to build mashups on top of the CORS API we released a few weeks back. Plus: let&#8217;s do it in teams! (Anyone want to work with me?)</li>
<li>This hacking will take place during Friday Hacks, for four sessions. (You can also work on it in your spare time, of course, which means):</li>
<li>Treehouse will be used to keep track of these projects. </li>
<li>More details on how we&#8217;re going to organize this next week.</li>
</ul>
<p>Of course, it goes unsaid that coreteam should set the example for the rest of us. So I&#8217;m going to make sure everyone builds something ;-)</p>
<h3>Communication</h3>
<p>I realize that we&#8217;ve not been clear on everything that&#8217;s going on in the club. Consider this email my apology, and know that I&#8217;ll work on pushing atomized updates to the mailing list in the near future. (Or we might move to Treehouse, I don&#8217;t know). </p>
<p>I also realize that the coreteam has two options in achieving our goal: grow the team, or write more software to make managing the club easier. For the time being, I believe the latter option is the answer. Because: i) we&#8217;re hackers, ii) we want to avoid bureaucracy like NES or NUSSU. Being small and scrappy has its benefits.</p>
<p>That&#8217;s all from me folks.</p>
<p>Please chime in if you have suggestions, ideas, or pointers. </p>
<p>Thank you for your time,</p>
<p>Ced</p>
]]></content:encoded>
			<wfw:commentRss>http://nushackers.org/2012/01/gearing-up-for-2011-plans-and-a-new-site/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>An Unofficial CORS API</title>
		<link>http://nushackers.org/2011/12/an-unofficial-cors-api/</link>
		<comments>http://nushackers.org/2011/12/an-unofficial-cors-api/#comments</comments>
		<pubDate>Wed, 14 Dec 2011 08:55:54 +0000</pubDate>
		<dc:creator>Eli James</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://nushackers.org/?p=1869</guid>
		<description><![CDATA[We&#8217;ve happy to announce the release of an unofficial CORS API, available at api.nushackers.org. Full usage details are available at the API site, but in sum, all API access is over HTTP, and is accessed from the api.nushackers.org domain. All data is received as JSON. The project is open source and available on Github. (The README [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve happy to announce the release of an unofficial CORS API, available at <a href="http://api.nushackers.org/">api.nushackers.org</a>. Full usage details are available at <a href="http://api.nushackers.org">the API site</a>, but in sum, all API access is over HTTP, and is accessed from the api.nushackers.org domain. All data is received as JSON.</p>
<p>The project is open source and available on <a href="https://github.com/nushackers/cors-api">Github</a>. (The <a href="https://github.com/nushackers/cors-api/blob/master/readme.markdown">README</a> provides implementation details.) Ray Chuan will provide a requirements file in the near future. You&#8217;ll need pymongo, MongoDB, Flask and Scrapy to run the project yourself,  but it&#8217;s not a big project to read — just took 4 days to write — so do feel free to fork, comment, open bug reports, and send us Pull Requests.</p>
<h3>Why?</h3>
<p>There are two reasons for doing this: in the best case, we intend to ask the CORS team in NUS to implement a RESTful API (and we <strong>don&#8217;t mind doing it for them</strong> &#8211; if anything, this project shows that the easy bit is the design and implementation of the API; the hard bit is in the scraping and parsing of data).</p>
<p>Should this approach fail, the NUS Hackers will host and maintain this API for as long as is needed.</p>
<p>The truth is, I think, that a CORS API is long overdue. Over the past few years, there have been a number of student-initiated projects to build better CORS-related tools. The Unofficial Timetable Builder, <a href="http://www.comp.nus.edu.sg/news/2010_Timetable_Builder2010.html">built originally</a> by Koh Zi Han, Tan Kian Boon, Liu Linxi and Wang Sha (and currently maintained by Zi Han), exposes a beautiful timetable-building interface to CORS. As does <a href="http://chrisirhc.github.com/nuschedule/">NUSchedule</a>, built originally by Lionel Chan, Victor Loh and Colin Tan (currently maintained by <a href="https://github.com/chrisirhc">Chris Chua</a>). Both project rely on scraping to get its timetable data; NUSchedule uses a clever <a href="https://github.com/chrisirhc/nuschedule/blob/master/js/Ripper.js">Javascript-based scraper</a>.</p>
<p>I&#8217;m not sure why the CORS team hasn&#8217;t provided an API &mdash; Zi Han says that he&#8217;s been petitioning for one for years. But I can guess as to the reasons: the CORS team may be overburdened, or perhaps they see little utility in building and maintaining an API.</p>
<p>Regardless, we&#8217;d love it if you build cool apps on top of this. You could build, say, a timetable builder, or a fast AJAXy search engine, or perhaps a Google Maps mashup to plot lecture and tutorial locations on a map of NUS!</p>
<p>We&#8217;ll be in contact with the CORS team, and will update you as to the status of building an API for them. Hopefully, we&#8217;ll not need to host this API for long.</p>
<p>Happy hacking!</p>
]]></content:encoded>
			<wfw:commentRss>http://nushackers.org/2011/12/an-unofficial-cors-api/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

