<?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>GeekSphere.net</title> <atom:link href="http://blog.geeksphere.net/feed/" rel="self" type="application/rss+xml" /><link>http://blog.geeksphere.net</link> <description>A random geek&#039;s thoughts on education, entrepreneurship, and politics.</description> <lastBuildDate>Fri, 17 May 2013 00:34:31 +0000</lastBuildDate> <language>en-US</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.5.1</generator> <item><title>Inferno</title><link>http://blog.geeksphere.net/2013/05/17/inferno/</link> <comments>http://blog.geeksphere.net/2013/05/17/inferno/#comments</comments> <pubDate>Fri, 17 May 2013 00:34:31 +0000</pubDate> <dc:creator>laurence</dc:creator> <category><![CDATA[my ramblings]]></category> <guid
isPermaLink="false">http://blog.geeksphere.net/?p=2788</guid> <description><![CDATA[So the speed of the MonoRail Transports (MRT) have allowed me to finish Inferno in 2 days. Quick thoughts about it. Great storyline, great piece of work, but I have a nagging suspicion that I have read the story a few years before somewhere. It felt very familiar as I was reading it, except I [...]]]></description> <content:encoded><![CDATA[<p>So the speed of the MonoRail Transports (MRT) have allowed me to finish Inferno in 2 days.</p><p>Quick thoughts about it. Great storyline, great piece of work, but I have a nagging suspicion that I have read the story a few years before somewhere. It felt very familiar as I was reading it, except I couldn&#8217;t pinpoint where I had read it before. Perhaps it&#8217;s just the style of the writing that was familiar.</p><p>Overall, great book, worth a read if you are spending alot of time on the MRT.<br
/> <script>mixpanel.track("Inferno");
_gaq.push(['_trackEvent', 'Post', 'Inferno']);</script></p> ]]></content:encoded> <wfw:commentRss>http://blog.geeksphere.net/2013/05/17/inferno/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Why I’m switching from AlienVPS to DigitalOcean</title><link>http://blog.geeksphere.net/2013/05/10/why-im-switching-from-alienvps-to-digitalocean-2/</link> <comments>http://blog.geeksphere.net/2013/05/10/why-im-switching-from-alienvps-to-digitalocean-2/#comments</comments> <pubDate>Fri, 10 May 2013 15:07:39 +0000</pubDate> <dc:creator>laurence</dc:creator> <category><![CDATA[technology]]></category> <category><![CDATA[alienlayer]]></category> <category><![CDATA[aws]]></category> <category><![CDATA[digitalocean]]></category> <category><![CDATA[server]]></category> <category><![CDATA[singaporehost]]></category> <category><![CDATA[vps]]></category> <guid
isPermaLink="false">http://blog.geeksphere.net/?p=2776</guid> <description><![CDATA[So I&#8217;ve been a cloud nomad. 4 (or 3) years ago, I started thinking about hosting my blog, and using that as a motivation to pick up web programming. I bought the cheapest plan over at SingaporeHost.sg. 5GB disk space for SGD$8 a month. In fact, the earliest version of this blog was hosted there. [...]]]></description> <content:encoded><![CDATA[<p>So I&#8217;ve been a cloud nomad.</p><p>4 (or 3) years ago, I started thinking about hosting my blog, and using that as a motivation to pick up web programming. I bought the cheapest plan over at SingaporeHost.sg. 5GB disk space for SGD$8 a month. In fact, the earliest version of this blog was hosted there. After looking around, due to the fact that I decided I need to learn more than how to do programming in PHP, coupled with the fact that AWS had their 1 year free trial, I jumped over. Little did I know that their instances (micro-instance) had <a
href="http://hughht5.blogspot.nl/2012/05/amazon-ec2-micro-instance-and-stolen.html" target="_blank">CPU stolen from them all the time</a>. On top of that, the filesystem IO was starting to cost money, and there were days where I had around 50 cents worth of EBS IO. That was when I realised AWS wasn&#8217;t that good a deal. Then I jumped to <a
href="http://www.webfaction.com/signup?affiliate=laurencepf" target="_blank">Webfaction</a> and it was really good. But I missed being root, and so I got another machine at AlienVPS. Was happy with their price points ($15/year, $4/month), and I got one of each VPS. They were using OpenVZ, and while that meant that some stuff required tricks to get around, you could get around it. Really slow customer support, but I reckoned with their price points, I shouldn&#8217;t expect too much.</p><p>Then came <a
href="https://www.digitalocean.com/features" target="_blank">DigitalOcean</a>. $5/month on KVM VPS with SSD for storage. It was the dream VPS service. Oh, and it&#8217;s on Tier 1 Bandwidth as well. And despite their cheap price, their customer service has an RTT of 10 minutes. Tried it on various occasions throughout the day, it has always been 10mins. And they even teach you how to set up VPN on their servers. What more can one ask for?</p><p>As of now, I have set up OpenVPN plus a couple of sites over to DigitalOcean, and I&#8217;m really glad I did so. And their new datacenter location in San Fran has an RTT of 200ms to SG, couldn&#8217;t have been happier.</p><p><script>mixpanel.track("Why I’m switching from AlienVPS to DigitalOcean");
_gaq.push(['_trackEvent', 'Post', 'Why I’m switching from AlienVPS to DigitalOcean']);</script></p> ]]></content:encoded> <wfw:commentRss>http://blog.geeksphere.net/2013/05/10/why-im-switching-from-alienvps-to-digitalocean-2/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Cheap US servers for OpenVPN from Singapore</title><link>http://blog.geeksphere.net/2013/04/18/cheap-us-servers-for-openvpn-from-singapore/</link> <comments>http://blog.geeksphere.net/2013/04/18/cheap-us-servers-for-openvpn-from-singapore/#comments</comments> <pubDate>Thu, 18 Apr 2013 15:26:19 +0000</pubDate> <dc:creator>laurence</dc:creator> <category><![CDATA[technology]]></category> <category><![CDATA[network]]></category> <category><![CDATA[openvpn]]></category> <category><![CDATA[server]]></category> <category><![CDATA[singapore]]></category> <category><![CDATA[us]]></category> <guid
isPermaLink="false">http://blog.geeksphere.net/?p=2761</guid> <description><![CDATA[Just some background stuff that might be useful in future for myself =P. [Update 1: DigitalOcean now has VPS in San Fran (Link] 2 main options, AlienVPS and DigitalOcean Specs AlienVPS AlienVPS DigitalOcean (New York) DigitalOcean (San Fran) Ping 267ms 250ms 409ms 200ms Download Speed 1.28Mbps 1.35Mbps 1.35Mbps 1.35Mbps Upload Speed 0.62Mbps 0.74Mbps 0.34Mbps 0.78Mbps [...]]]></description> <content:encoded><![CDATA[<p>Just some background stuff that might be useful in future for myself =P.</p><p>[Update 1: DigitalOcean now has VPS in San Fran (<a
href="https://www.digitalocean.com/blog_posts/digitalocean-opens-san-francisco-datacenter" target="_blank">Link</a>]<br
/> 2 main options, AlienVPS and DigitalOcean</p><p>Specs</p><table
width="100%" border="1" cellspacing="2" cellpadding="2"><tbody><tr><td
valign="top"></td><td
valign="top">AlienVPS</td><td
valign="top">AlienVPS</td><td
valign="top">DigitalOcean (New York)</td><td
valign="top">DigitalOcean (San Fran)</td></tr><tr><td
valign="top">Ping</td><td
valign="top">267ms</td><td
valign="top">250ms</td><td
valign="top">409ms</td><td
valign="top">200ms</td></tr><tr><td
valign="top">Download Speed</td><td
valign="top">1.28Mbps</td><td
valign="top">1.35Mbps</td><td
valign="top">1.35Mbps</td><td
valign="top">1.35Mbps</td></tr><tr><td
valign="top">Upload Speed</td><td
valign="top">0.62Mbps</td><td
valign="top">0.74Mbps</td><td
valign="top">0.34Mbps</td><td
valign="top">0.78Mbps</td></tr><tr><td
valign="top">Price</td><td
valign="top">USD$15/year</td><td
valign="top">USD$4 a month</td><td
valign="top">USD$5/month</td><td
valign="top">USD$5/month</td></tr></tbody></table><p>[Note, just figured out my test environment, NUS, actually caps traffic, hence the speeds are all pretty slow]</p><p>However, despite <a
href="http://alienvps.com/vps-hosting-specials/http://" target="_blank">AlienVPS </a> looking better on network end, they use OpenVZ to virtualise. Result is that you are unable to create you own swap partition, and some OS modules are not available [Not exactly a deal breaker as there are ways to get around it].</p><p><a
href="https://www.digitalocean.com/pricing" target="_blank">DigitalOcean </a> use KVM (QEMU) and you can pretty much do most stuff with it, BUT you get only 1 core, and high RTT from SG [That is VERY bad if you are using it for regular web surfing].</p><p>Personally I&#8217;ve tried both, and I would say that AlienVPS in terms of performance is way better. However for the cheaper option, you may run into memory issues because the amount of memory is really lacking. Now I have set up the $4/month AlienVPS server with OpenVPN, and streaming videos from Hulu is pretty much smooth. Hulu on DigitalOcean (New York) is decent, but may lag at times. That said, DigitalOcean uses SSD, and if that&#8217;s what you are looking for (DB server and stuff), it could fit the use case of a cheap DB server too.</p> ]]></content:encoded> <wfw:commentRss>http://blog.geeksphere.net/2013/04/18/cheap-us-servers-for-openvpn-from-singapore/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Misinformation on crowdfunding projects</title><link>http://blog.geeksphere.net/2013/04/01/misinformation-on-crowdfunding-projects/</link> <comments>http://blog.geeksphere.net/2013/04/01/misinformation-on-crowdfunding-projects/#comments</comments> <pubDate>Mon, 01 Apr 2013 03:56:18 +0000</pubDate> <dc:creator>laurence</dc:creator> <category><![CDATA[technology]]></category> <category><![CDATA[crowdfunding]]></category> <category><![CDATA[projects]]></category> <category><![CDATA[student]]></category> <guid
isPermaLink="false">http://blog.geeksphere.net/?p=2747</guid> <description><![CDATA[Crowdfunding is the in thing these days. Everyone is onto it, even students who are doing school projects are putting their projects onto crowdfunding sites. But are they really the most valid sources of information? I think not. Take SPOT for example. From their indiegogo site, this seems like a pretty good deal, 6 AAA [...]]]></description> <content:encoded><![CDATA[<p>Crowdfunding is the in thing these days. Everyone is onto it, even students who are doing school projects are putting their projects onto crowdfunding sites.</p><p>But are they really the most valid sources of information? I think not. Take <a
href="http://www.indiegogo.com/projects/spot-the-light-with-a-sweet-spot" target="_blank">SPOT</a> for example.</p><p><img
src="http://blog.geeksphere.net/wp-content/uploads/2013/04/SPOT-the-light-with-a-sweet-spot_Indiegogo_20130401-003748.png" alt="SPOT - the light with a sweet spot_Indiegogo_20130401-003748" width="486" height="241" class="size-full wp-image-2748" /></p><p>From their indiegogo site, this seems like a pretty good deal, 6 AAA batteries can get you 8 hours of battery life on a 10W LED, and it&#8217;s a pretty nice looking torchlight. In fact I was almost on the verge of putting down money when I realised the numbers were off. You see, I own a few of these high powered torchlights, and I knew for a fact that they could not last anywhere near the numbers advertised here.</p><p>So I did some maths. The largest typical capacity of a AAA battery available to us normal human beings is 1200mah at 1.5V. That translates it to 1800mWh, or 1.8 watt-hour. 6 of these batteries at tip top conditions will give you 10.8 watt-hour. That light there is a 10 watt high output LED. And the sellers are telling us that that is enough to last 8 hours. I repeat again, a high output LED that consumes 10 watts per hour to operate can last 8 hours with only 10.8 watt-hour. Does anyone else see a problem with this?</p><p>Now, I&#8217;m not accusing them of being dishonest. They might just be ignorant and simply pulled a nice number from nowhere to make their product look more attractive. But misinformation by up to 8 times? I think there&#8217;s something wrong here. If they had tested it and put there that their light lasted 1 hour, I might have considered getting it. Now, I&#8217;m not even sure that they tested it. Someone really needs to regulate this industry.</p><p><script>mixpanel.track("Misinformation on crowdfunding projects");
_gaq.push(['_trackEvent', 'Post', 'Misinformation on crowdfunding projects']);</script></p> ]]></content:encoded> <wfw:commentRss>http://blog.geeksphere.net/2013/04/01/misinformation-on-crowdfunding-projects/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Upgrading your mSATA SSD on the Thinkpad Twist</title><link>http://blog.geeksphere.net/2013/03/20/upgrading-your-msata-ssd-on-the-thinkpad-twist/</link> <comments>http://blog.geeksphere.net/2013/03/20/upgrading-your-msata-ssd-on-the-thinkpad-twist/#comments</comments> <pubDate>Wed, 20 Mar 2013 03:20:26 +0000</pubDate> <dc:creator>laurence</dc:creator> <category><![CDATA[technology]]></category> <category><![CDATA[msata]]></category> <category><![CDATA[ssd]]></category> <category><![CDATA[thinkpad]]></category> <category><![CDATA[twist]]></category> <category><![CDATA[upgrade]]></category> <guid
isPermaLink="false">http://blog.geeksphere.net/?p=2739</guid> <description><![CDATA[Got a 128GB mSATA SSD for my Thinkpad, as my cache read percent was consistently under 10%. Writing this post because I could not find any documentation online about replacing your mSATA SSD online. So, a couple of things you need to know about replacing the mSATA SSD on your Thinkpad Twist The cache partition [...]]]></description> <content:encoded><![CDATA[<p>Got a 128GB mSATA SSD for my Thinkpad, as my cache read percent was consistently under 10%. Writing this post because I could not find any documentation online about replacing your mSATA SSD online.</p><p>So, a couple of things you need to know about replacing the mSATA SSD on your Thinkpad Twist</p><ul><li>The cache partition has a limit of 32GB</li><li>You still need to set aside space (Size of your RAM  + a bit more space[I gave it an extra 256MB]) for Intel Rapid Start Technology(RST) (The thing that makes Windows start up faster and recover from hibernate faster)</li><li>You can use the remaining space as a SSD</li></ul><p>Steps to replace the mSATA SSD</p><ol><li>Buy a mSATA drive of your choice. Recommended size to make full use of the cache and Intel RST: 64GB, more if you want SSD space as well. I went with the <a
href="http://www.adata-group.com/index.php?action=product_feature&#038;cid=3&#038;piid=181" target="_blank">ADATA XPG SX300</a>.</li><li>Delete the expresscache software from your computer</li><li>Unscrew the 2 screws at the base of the laptop that has the keyboard logo beside it.</li><li>Remove the keyboard by following the guide (http://schabby.de/lenovo-thinkpad-keyboard-removal/)[Caution! Do it slowly and don't pull it out too hard]</li><li>The mSATA slot is on the top left corner of the motherboard. Unscrew the screw that keeps the mSATA device down, and it will pop up.</li><li>Extract the card out of the slot, and put in your new mSATA SSD into the mSATA slot.</li><li>Put the hardware back together.</li><li>Now the fun part. The installation of the drivers and making things work.</li><li>Boot up your machine, and install expresscache available at <a
href="http://download.lenovo.com/express/HT074404.html" target="_blank">http://download.lenovo.com/express/HT074404.html</a> and install it. The Win7 and Win8 versions are the same. The installation will create a partition for the cache using whatever remaining space there is on the mSATA SSD up to 32GB. Reboot.</li><li>To make it support Intel Rapid Start Technology, follow the guide over at <a
href="http://download.intel.com/support/motherboards/desktop/sb/rapid_start_technology_user_guide_v11.pdf" target="_blank">http://download.intel.com/support/motherboards/desktop/sb/rapid_start_technology_user_guide_v11.pdf</a></li><li>And there you have it, your new mSATA SSD is now operational on your computer. If there&#8217;s extra space, you can create a simple volume using the Disk Management (Windows) software. [Win-x, and select Disk Management]</li></ol><p><script>mixpanel.track("Upgrading your mSATA SSD on the Thinkpad Twist");
_gaq.push(['_trackEvent', 'Post', 'Upgrading your mSATA SSD on the Thinkpad Twist']);</script></p> ]]></content:encoded> <wfw:commentRss>http://blog.geeksphere.net/2013/03/20/upgrading-your-msata-ssd-on-the-thinkpad-twist/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>How to avoid being called a computer nerd.</title><link>http://blog.geeksphere.net/2013/03/13/how-to-avoid-being-called-a-computer-nerd/</link> <comments>http://blog.geeksphere.net/2013/03/13/how-to-avoid-being-called-a-computer-nerd/#comments</comments> <pubDate>Wed, 13 Mar 2013 04:37:57 +0000</pubDate> <dc:creator>laurence</dc:creator> <category><![CDATA[education]]></category> <category><![CDATA[geek]]></category> <category><![CDATA[geekcampsg]]></category> <guid
isPermaLink="false">http://blog.geeksphere.net/?p=2723</guid> <description><![CDATA[I was walking around NUS School of Computing earlier, and I saw a lecturer standing in front of a class with a slide with How to avoid being called a computer nerd. as the title. In NUS School of Computing no less. The module in question was this &#8220;CS2101 Effective Communication for Computing Professionals&#8221;. What&#8217;s [...]]]></description> <content:encoded><![CDATA[<p>I was walking around NUS School of Computing earlier, and I saw a lecturer standing in front of a class with a slide with <code>How to avoid being called a computer nerd.</code> as the title.</p><p>In NUS School of Computing no less.</p><p>The module in question was this &#8220;CS2101 Effective Communication for Computing Professionals&#8221;.</p><p>What&#8217;s wrong with being a computer nerd? What&#8217;s wrong with being yourself?</p><p>If this is what they are teaching the would be software engineers, and computer scientists, well, I think it&#8217;s better if people who want to do actual development, or do research in the field of computer science stop going to SoC. Because they are just going to tell you, you shouldn&#8217;t be a geek, you shouldn&#8217;t be a nerd. You should be what society wants you to be. And in the eyes of society, it&#8217;s probably to be a manager or banker.</p><p>To those who disagree with what that module teaches, there&#8217;s a whole bunch of us out there who fully believe in what we do, and are in fact proud of it.</p><p>To quote Michael Cheng, who recently wrote a post on SGE, <a
href="http://sgentrepreneurs.com/2013/03/13/rise-of-the-software-craftsmen/" target="_blank">Rise of Software Craftsmen</a></p><blockquote><p>In recent years, there has been an emerging wave of computer programmers brewing in the periphery – a new breed of software craftsmen (and women). Increasingly, more are becoming “builders” by choice — and proud of it.</p></blockquote><p>Join us, Join the community. And join us at <a
href="http://Geekcamp.SG" target="_blank">GeekcampSG</a>, the largest all-geek free conference happening on 7th Sept this year.</p><p><script>mixpanel.track("How to avoid being called a computer nerd.");
_gaq.push(['_trackEvent', 'Post', 'How to avoid being called a computer nerd.']);</script></p> ]]></content:encoded> <wfw:commentRss>http://blog.geeksphere.net/2013/03/13/how-to-avoid-being-called-a-computer-nerd/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Implementing a Queue with PHP and MongoDB</title><link>http://blog.geeksphere.net/2013/03/01/implementing-a-queue-with-php-and-mongodb/</link> <comments>http://blog.geeksphere.net/2013/03/01/implementing-a-queue-with-php-and-mongodb/#comments</comments> <pubDate>Fri, 01 Mar 2013 09:58:22 +0000</pubDate> <dc:creator>laurence</dc:creator> <category><![CDATA[technology]]></category> <category><![CDATA[codeigniter]]></category> <category><![CDATA[mongo]]></category> <category><![CDATA[mongodb]]></category> <category><![CDATA[php]]></category> <category><![CDATA[queue]]></category> <guid
isPermaLink="false">http://blog.geeksphere.net/?p=2708</guid> <description><![CDATA[And finally, I&#8217;ve decided to release my code for a queue I implemented in PHP and MongoDB. For those who want to look at the code, here]]></description> <content:encoded><![CDATA[<p>And finally, I&#8217;ve decided to release my code for a queue I implemented in PHP and MongoDB. For those who want to look at the code, <a
href="https://github.com/laurenceputra/Codeigniter-Mongo-Queue" target="_blank">here</a it is.</p><p>So first, why use MongoDB as a queue?</p><ol><li>I already had a distributed cluster of mongodb nodes</li><li>Single back end server app thingy to reduce complexity of app. Since I had already been using mongodb as my backend datastore, and mongo&#8217;s gridfs as my filesystem, it naturally makes sense for me to continue using mongodb for other parts of the system as well</li><li>I already had knowledge of mongodb</li><li>mongodb has a pretty neat feature that actually makes sense to run a queue on (more on that in a bit)</li></ol><p>Components of the Queue</p><ol><li>A PHP daemon<br
/>A daemon is basically a long running process that will do stuff, in this case, call on other process to do the job. In the daemon, one of the more important aspects of it would be memory management, to prevent it from spiraling out of control.</li><li>PHP scripts to do your job<br
/>The php daemon will essentially call on these scripts to do the job.</li><li>A mongodb capped collection<br
/>This is by far in my opinion one of the most amazing aspects of mongodb. They have a collection(table in rdbms) called capped collections that you can actually tail. Yea, the <code>tail -f</code> command in unix. This means that you can literally have a persistent connection with the database, and it&#8217;ll just give you the new documents that have been added to the collection. Note that capped collections have a cap on it&#8217;s size, hence it&#8217;s name, and you cannot delete the entries. It&#8217;ll overwrite the earliest entry in the collection when it is full.</li></ol><p>How it works</p><p>Basically, there&#8217;s 2 loops to keep the queue process running, the outer loop to recover from db going down, and the inner loop to basically run the queue process. It uses the tail function on capped collections to check for new additions to the table, and will then process each new job that comes in by running the <code>exec</code> function, which basically forks off a new process. This was done to limit memory usage since it&#8217;s a long running php process, and tests done have put it&#8217;s memory consumption at 13MB RAM.</p><p>If you&#8217;re using Codeigniter and is considering having a queue that&#8217;s implemented in MongoDB, check it out <a
href="https://github.com/laurenceputra/Codeigniter-Mongo-Queue" target="_blank">here</a>!</p><p><script>mixpanel.track("Implementing a Queue with PHP and MongoDB");
_gaq.push(['_trackEvent', 'Post', 'Implementing a Queue with PHP and MongoDB']);</script></p> ]]></content:encoded> <wfw:commentRss>http://blog.geeksphere.net/2013/03/01/implementing-a-queue-with-php-and-mongodb/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Thoughts on the Lenovo Twist</title><link>http://blog.geeksphere.net/2013/01/28/thoughts-on-the-lenovo-twist/</link> <comments>http://blog.geeksphere.net/2013/01/28/thoughts-on-the-lenovo-twist/#comments</comments> <pubDate>Mon, 28 Jan 2013 15:52:30 +0000</pubDate> <dc:creator>laurence</dc:creator> <category><![CDATA[technology]]></category> <category><![CDATA[lenovo]]></category> <category><![CDATA[twist]]></category> <guid
isPermaLink="false">http://blog.geeksphere.net/?p=2693</guid> <description><![CDATA[So I finally got the Twist, after waiting for it for over a month. Just a couple of thoughts on it first. Microsoft has really changed everythingReally. Putting touch into the OS was just brilliant. It makes things easier to do, and generally improve on the happiness level of me using the OS. This is [...]]]></description> <content:encoded><![CDATA[<p>So I finally got the Twist, after waiting for it for over a month.</p><p>Just a couple of thoughts on it first.</p><ol><li><strong>Microsoft has really changed everything</strong><br/>Really. Putting touch into the OS was just brilliant. It makes things easier to do, and generally improve on the happiness level of me using the OS.</li><li><strong>This is a damn good machine</strong><br/>With 8GB RAM, and a i7 processor that goes up to 3GHz, it is pretty powerful. So much that I can run 2 Linux VM&#8217;s (1 CentOS and 1 Ubuntu[no choice, for a module assignment])with the host OS and switch between them without facing much lag.</li><li><strong>The keyboard is awesome :D</strong><br/>This new layout by Lenovo really makes typing alot easier.</li></ol><p>Users might face problems with the laptop though. For example, when you install firewall&#8217;s such as Comodo, windows 8 will have weird behaviour, not sure if it&#8217;s just on the twist. Charms will lag really badly, and can only be fixed by logging out and logging back in. This behaviour happens only after you restart the machine.</p><p>The other gripe I had with the laptop was the intel Power Saving Technology. When the brightness is dimmed to minimum levels, this &#8216;technology&#8217; kicks in, and will adjust your brightness based on the colours of the page, which will at times render your machine unusable. After poking around for a while, finally narrowed it down to this &#8216;technology&#8217;, and not Window&#8217;s adaptive brightness.</p><p>All in all, I have to say, this is the best laptop I&#8217;ve owned so far, and I have to say, better than my previous macbook pro, especially in the OS&#8217;s memory handling. Microsoft has really made a breakthrough this time round.</p><p><script>mixpanel.track("Thoughts on the Lenovo Twist");
_gaq.push(['_trackEvent', 'Post', 'Thoughts on the Lenovo Twist']);</script></p> ]]></content:encoded> <wfw:commentRss>http://blog.geeksphere.net/2013/01/28/thoughts-on-the-lenovo-twist/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Setting up OpenVPN on a CentOS server and Windows8</title><link>http://blog.geeksphere.net/2013/01/21/setting-up-openvpn-on-a-centos-server-and-windows8/</link> <comments>http://blog.geeksphere.net/2013/01/21/setting-up-openvpn-on-a-centos-server-and-windows8/#comments</comments> <pubDate>Mon, 21 Jan 2013 15:13:44 +0000</pubDate> <dc:creator>laurence</dc:creator> <category><![CDATA[technology]]></category> <category><![CDATA[centos]]></category> <category><![CDATA[openvpn]]></category> <category><![CDATA[openvz]]></category> <guid
isPermaLink="false">http://blog.geeksphere.net/?p=2688</guid> <description><![CDATA[So I&#8217;m bored of using SSH Tunneling. Plus the fact that when I open too many connections, it sometimes dies. So I decided today morning that I will set up a VPN service that I can use to connect securely to the net that is actually designed for this (plus the fact it made the [...]]]></description> <content:encoded><![CDATA[<p>So I&#8217;m bored of using SSH Tunneling. Plus the fact that when I open too many connections, it sometimes dies. So I decided today morning that I will set up a VPN service that I can use to connect securely to the net that is actually designed for this (plus the fact it made the forwarding global helped too).</p><p>So my server is technically a OpenVZ server hosted by <a
href="http://alienvps.com/vps-hosting/" target="_blank">Alienlayer</a>, with 512MB RAM and 2 2Ghz cores over in Las Vegas. Expected installation to be a breeze, a couple of yum install commands and I&#8217;d be done. Turned out I was wrong.</p><p>The initial setup was easy, following the instructions over <a
href="http://www.gaggl.com/2012/06/openvpn-install-on-centos-6-server/" target="_blank">here for CentOS</a> and <a
href="http://www.ciscopress.com/articles/article.asp?p=605499&#038;seqNum=7" target="_blank">here for Windows</a>. The problem that stumped me was the part when I couldn&#8217;t update the iptables. Searched the net for hours to no end. Finally, with the help of Olipro on <a
href="http://serverfault.com/questions/471007/iptables-returns-me-no-chain-target-match-by-that-name" target="_blank">StackExchange</a>, realised that the problem was that the MASQUERADE module didn&#8217;t exist, and as far as I know, not virtualised yet. So couldn&#8217;t use it.</p><p>For people who are intending to set up a VPN server in future, here&#8217;s a <a
href="https://gist.github.com/3230440" target="_blank">link</a> that you might find useful.<br
/> <script>mixpanel.track("Setting up OpenVPN on a CentOS server and Windows8");
_gaq.push(['_trackEvent', 'Post', 'Setting up OpenVPN on a CentOS server and Windows8']);</script></p> ]]></content:encoded> <wfw:commentRss>http://blog.geeksphere.net/2013/01/21/setting-up-openvpn-on-a-centos-server-and-windows8/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Reflections for Year 4 Semester 1</title><link>http://blog.geeksphere.net/2013/01/01/reflections-for-year-4-semester-1/</link> <comments>http://blog.geeksphere.net/2013/01/01/reflections-for-year-4-semester-1/#comments</comments> <pubDate>Mon, 31 Dec 2012 16:08:21 +0000</pubDate> <dc:creator>laurence</dc:creator> <category><![CDATA[my ramblings]]></category> <guid
isPermaLink="false">http://blog.geeksphere.net/?p=2679</guid> <description><![CDATA[I guess this is a good time to do reflections on last semester. It&#8217;s about to be the end of the year anyway. So I took 5 CS mods this semester, although one of which was more Computer Engineering than Computer Science. Anyway, it was the first time during my entire life in NUS where [...]]]></description> <content:encoded><![CDATA[<p>I guess this is a good time to do reflections on last semester. It&#8217;s about to be the end of the year anyway.</p><p>So I took 5 CS mods this semester, although one of which was more Computer Engineering than Computer Science. Anyway, it was the first time during my entire life in NUS where there are at least 3 modules that really excited me.</p><p>So the first good mod was CS4223, Parallel Computer Architecture (Dr Tulika Mitra). This is the mod that wasn&#8217;t exactly a CS mod due to the large amount of hardware related content in it, but I daresay it is easily the best module I&#8217;ve taken in NUS so far. Learning what goes into a processor, and the interesting tricks that going into making a processor faster, such as branch prediction and <a
href="http://stackoverflow.com/questions/11227809/why-is-processing-a-sorted-array-faster-than-an-unsorted-array" target="_blank">its effects on programs that we write</a>, this module has really opened my eyes to programming. Oh, and did I mention? I learnt that 1GHz on an ARM processor is not the same as 1GHz on an Intel i7 processor too. It was fascinating.</p><p>The other good mod that I took was CS4238, Computer Security Practise (Dr Liang Zhenkai). Being a practical module, there were alot of practical aspects involved, but I still learnt more about the theory than any other modules. For example, in this module, I could understand the TCP layer better than what was taught to me in CS3103, which I took concurrently and was supposed to be about Networks.</p><p>The last good mod I took last sem was CS5223, Distributed Systems (Dr Yu Haifeng). Didn&#8217;t score the grade I wanted (final exam had too many proving questions), but I daresay I learnt alot of theory that would be useful in future too. It helped that the prof believed that both theory and practical are important and spent a fair bit of time bridging the two.</p><p>Sad thing was, I only found school really fun and exciting only in year 4 sem 1, which is a little too late. But ah well.</p><p>As for the other 2 mods, let&#8217;s put it this way. CS3103 is simply a content downloading module (important stuff), and I believe work has to be put in to make the module more educational.</p><p>CS4211 was totally different though. Formal methods in Software Engineering, I believe is something that is very important, particularly for industries that cannot afford a single software failure, like NASA for example. Despite the importance of this module, it seemed to me that the teaching staff weren&#8217;t really interested in conducting the module. Lack of support, plus forcing us to use PAT which honestly had crappy debugging messages, made the module a pretty bad one.</p><p>I guess that&#8217;s it for 2012, looking forward to the next.<br
/> <script>mixpanel.track("Reflections for Year 4 Semester 1");
_gaq.push(['_trackEvent', 'Post', 'Reflections for Year 4 Semester 1']);</script></p> ]]></content:encoded> <wfw:commentRss>http://blog.geeksphere.net/2013/01/01/reflections-for-year-4-semester-1/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>