<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7052916663263919840</id><updated>2011-10-18T08:28:02.741+08:00</updated><title type='text'>Random Ramblings</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default?start-index=101&amp;max-results=100'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>423</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-3646960700712202197</id><published>2010-10-22T03:37:00.000+08:00</published><updated>2010-10-22T03:37:53.775+08:00</updated><title type='text'>Whatever.</title><content type='html'>This will be my last post here. At least in the short term, &lt;a href="http://concentratedentropy.wordpress.com/"&gt;CE&lt;/a&gt; is going to be my main blog. Reasons for the switch? I dunno lol. I guess I got sick of this crappy theme. It's somewhat painful to even read this blog. And there's the very nice TeX support there. Also I regret splitting up the maths posts from the posts here; it didn't serve much, apart from letting me fiddle with the theme a bit more, but they still sucked.&lt;br /&gt;&lt;br /&gt;So, head over there if you want that crazy stuff you used to read here. Except never again, since my posting style has changed so much over the last two years.&lt;br /&gt;&lt;br /&gt;PS: I had a draft post, but then I realised it's quite poorly written. Not going to delete it yet, but I probably won't even post it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-3646960700712202197?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/3646960700712202197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=3646960700712202197' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/3646960700712202197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/3646960700712202197'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/10/whatever.html' title='Whatever.'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-365178627782831910</id><published>2010-09-10T20:58:00.000+08:00</published><updated>2010-09-10T20:58:33.593+08:00</updated><title type='text'>RR (19,6,5): Lossless versus lossy</title><content type='html'>There are two ways to compress information, lossless and lossy. Because it actually seems that a lot of people can't be bothered to actually utilise their brains to obtain the obvious meanings of the words "lossless" and "lossy", I'll describe here.&lt;br /&gt;&lt;br /&gt;Of course I'll need to explain that files are in fact sequences of bits, but I find that too trivial… oh wait. The whole point of this blog post is to describe something so trivial and obvious, so it doesn't harm. So there you go. I can't figure out how to further elaborate on this (without also describing unrelated things), so yeah.&lt;br /&gt;&lt;br /&gt;Lossless compression include things like the ubiquitous Zip file format, and RAR. The basic idea behind lossless compression is to get back the exact same file after you decompress the file, with no differences of any sort. Say you have a file with the letter 'a' 1000 times. (Okay, textbook example, but I'm assuming here that my audience includes people with greatly limited mental capacities.) Storing the file directly would clearly take 1000 bytes (excluding metadata). However, normal compression algorithms would exploit the fact that this looks very regular, and reduce the size greatly, possibly to around 20 bytes, which might be, in natural language, be something like "1000 'a's go here". Note that by this definition not doing anything to the file also constitutes lossless compression, since the decompression process of not doing anything gives back the exact same file.&lt;br /&gt;&lt;br /&gt;Lossy compression, on the other hand, loses information at the compression (or far less commonly decompression) stage. Using the same textbook example above, it'll produce something like "lots of 'a's go here", which clearly isn't specific enough to exactly reconstruct the original. It's possible by chance that reconstruction is perfect. Using that same lame example, if the decompression algorithm interprets "a lot" as 1000, then reconstruction is perfect; however, if the original instead contains 1001 'a's and similarly compressed to "lots of 'a's go here", the reconstruction will not be perfect. (This is just an example. Standard compression methods are normally far more complicated.) The idea is to lose information that is in some sense less important.&lt;br /&gt;&lt;br /&gt;The basic principles of both lossless and lossy compression have been completely explored. This isn't hyperbole; I already described them above. With lossless you want to keep every bit of information, and with lossy you don't mind not keeping every bit of information. There is a bit more to lossy compression though. While lossless just treats every bit of information as important, with lossy compression you have to decide which parts are important and which parts are not. For that matter, there're two types of lossy compression; one where differences are minimal to human perception, and one where differences are small enough for further computer processing. It seems like the latter type isn't really very thoroughly researched though.&lt;br /&gt;&lt;br /&gt;Of course, as above, there are two types, optimising for subjective and objective quality, respectively. And then there're many ways to decide objective quality. The simplest one, dating back centuries, before computers were even invented, is the sum of square residues, which is the sum of the squares of the differences between the original and the compressed version. You should know this already; under certain assumptions, with the sum of square residues minimised, the residues are roughly normally distributed. This isn't necessarily the case for other objective metrics; with the sum of absolute residues, the residues have a Laplace distribution.&lt;br /&gt;&lt;br /&gt;So anyway, getting back to the topic of lossless and lossy compression. Let's look at pictures. &lt;a href="/2009/12/rr-19331-image-formats.html"&gt;As I mentioned before&lt;/a&gt;, JPEG is lossy, while PNG is lossless. And also as mentioned earlier, which is appropriate depends on the situation. If you intend to do anything to the image at all don't compress intermediate results with JPEG. A very nice (and also greatly exaggerated) example would be this image: &lt;a href="http://commons.wikimedia.org/wiki/File:Badjpeg.jpg"&gt;File:Badjpeg.jpg&lt;/a&gt;. The spurious gradients should be immediately noticeable. Adding to that is the doubleplusungood accumulation of compression artifacts. The way JPEG is designed means that shifting the picture by a number of pixels not divisible by 8 will very likely lead to the compression algorithm further degrading the already degraded image. (Certain operations, such as rotating (by integer multiples of π/2), flipping and colour inversion of 8×8 (or 16×16 if chroma subsampling is used) blocks can be done losslessly directly with the DCT coefficients, but as mentioned there's the incredibly strict restriction of block aligning to the pixel grid.)&lt;br /&gt;&lt;br /&gt;I somehow think I veered off my initial intention. But who cares. Post ends because I got bored.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-365178627782831910?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/365178627782831910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=365178627782831910' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/365178627782831910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/365178627782831910'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/09/rr-1965-lossless-versus-lossy.html' title='RR (19,6,5): Lossless versus lossy'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-3363214865329281038</id><published>2010-09-01T00:39:00.000+08:00</published><updated>2010-09-01T00:39:41.720+08:00</updated><title type='text'>RR (15,14): Blogger Stats</title><content type='html'>Interestingly, Blogger has this new tab called "Stats", which appear to show the site statistics. So far from the data there I can gather plenty of information. First, there are disproportionately many IE users among there. If that doesn't trigger any weirdness alarms you must be new here. I used to have a script which blanked out the page in IE, but I'm not sure whether it's still active (and I'm too lazy to check). The blanking was somehow easily circumvented though. Anyway. I was going to search through for a rant post on why IE sucks and I couldn't find one. A bit of a surprise. But still. I expect my readers to be sufficiently technologically inclined to not use the shit browser that comes with the shit OS that comes with just about every computer bought/stolen/robbed anywhere. If you're not, get the hell out of here. You're not welcome. The other possibility is of user agent spoofing, which is annoying as hell. I might do a rant post on this later. Or not.&lt;br /&gt;&lt;br /&gt;Another anomaly is that there're 103 hits from the US, 89 from Singapore, 38 from Germany, and 18 from Taiwan, and a few other countries with less than 10 hits each. Again, highly suspicious. If you bothered looking around some Blogger blogs (especially less active ones) you'll notice there's a huge problem of spam infestation, where the content is some nonsensical Chinese sentence (in traditional script) followed by a long sequence of dots each one linking to a different site, probably all of which are porn. (It's nonsensical in the sense that while it's grammatically coherent the content either doesn't make sense or is some idiotic idiom.) That only explains the Taiwan part (partially); I still don't get the absurdly huge number of hits from the US or Germany.&lt;br /&gt;&lt;br /&gt;And on to the referrers. Surprisingly CE takes top spot with 50+ directed here. The second spot seems a bit weird; it mentions a Google search for the word "blogger", which I'm pretty sure is unlikely as hell to direct here, but there's supposed to be 23 from that. Third is Shaun Lee's blog, at 3 hits. And after that it's all ones and twos. This whole thing is very weird, and I have a strong feeling I'm misinterpreting the information.&lt;br /&gt;&lt;br /&gt;Well, that's it for now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-3363214865329281038?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/3363214865329281038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=3363214865329281038' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/3363214865329281038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/3363214865329281038'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/09/rr-1514-blogger-stats.html' title='RR (15,14): Blogger Stats'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-3245139614810282844</id><published>2010-08-08T19:06:00.000+08:00</published><updated>2010-08-08T19:06:30.516+08:00</updated><title type='text'>RR (20,4,2): Nvidia sucks</title><content type='html'>In an objective sense. On Tuesday (5 days ago) I installed the proprietary Nvidia graphics card driver. Just for the sake of reminding myself how stupid that decision was, I shall quote myself: &lt;a href="http://chltoopro.blogspot.com/2010/06/rr-1972-posts-lack-of.html"&gt;&lt;q&gt;I know I can install the official Nvidia driver, but I don't want to. If it's not essential I'm not getting it.&lt;/q&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The actual reason I installed it is due to me wanting to play Touhou. It was running at a ridiculous peak ~ 5 fps (that's the peak, not average) with just nouveau (the free alternative to the Nvidia driver). Anyway. Because I had the restricted repository (which has proprietary drivers and all that bullshit) disabled since I installed and configured Ubuntu, I needed to temporarily enable it. For some reason the proprietary driver manager didn't pick up on this, so I had to manually guess which package to get.&lt;br /&gt;&lt;br /&gt;And it seemed okay. (I'm skipping some details and rewriting the story a bit; it's not exactly what happened but it's close enough.) I rebooted, and then I was like "oh shit". The splash screen was at the wrong resolution; it's like it was rendered at 800×600 then upscaled (and stretched) to fit the screen. Now that is just idiotic. And just before the login screen appeared (or was it just after I logged in) there was this idiotic Nvidia logo on the screen, for a short while. What the hell. And then the login screen itself was also at a wrong resolution.&lt;br /&gt;&lt;br /&gt;After I logged in, the resolution was correct, but I couldn't change the brightness of the LCD with Fn+F6/F7, unlike when I was using nouveau. And the cursor theme was DMZ (White) instead of DMZ (Black). (Before I realised the cursor theme couldn't be changed from the default I activated Compiz, but that can't possibly be the problem since Compiz didn't have any problems with the cursor before.)&lt;br /&gt;&lt;br /&gt;Well, Touhou did manage to run at 60 fps, but I uninstalled the driver anyway. Because, first, I decided that I didn't want to sacrifice that much functionality. (Changing the brightness is incredibly important. It's like deciding whether I'll go blind in a year or in two years, considering how much I use my laptop in the darkness.) Second, it made my boot screen ugly. Third, it's not free software, and proprietary software doesn't have a permanent place on my computers.&lt;br /&gt;&lt;br /&gt;So for now I'm sticking with nouveau. For everything other than hardware acceleration nouveau is vastly superior to the proprietary driver. To me, that doesn't make much sense: the official driver for a certain piece of hardware is worse than an unofficial one.&lt;br /&gt;&lt;br /&gt;PS: For pedantic purposes, I must note that there used to be two official Nvidia drivers, the proprietary one (which doesn't have a name) and nv (which is free). nouveau was based on nv, and extended with further reverse engineering of the proprietary driver. I say "were" earlier because if memory serves Nvidia dropped full support for nv. So technically speaking nouveau is based on an official Nvidia driver, but that's not very important.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-3245139614810282844?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/3245139614810282844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=3245139614810282844' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/3245139614810282844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/3245139614810282844'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/08/rr-2042-nvidia-sucks.html' title='RR (20,4,2): Nvidia sucks'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-3078681963854811455</id><published>2010-07-19T15:15:00.000+08:00</published><updated>2010-07-19T15:15:10.658+08:00</updated><title type='text'>RR (19,7,3): The mole is not a proper unit</title><content type='html'>I've argued with quite a few people that the mole should not be considered as units, or at least, not SI units. Of those people, some already agreed with me, some found my flawless argument convincing, some disagreed, but couldn't offer any reason other than "no u".&lt;br /&gt;&lt;br /&gt;So even though I know the few readers here will already know what my argument is like, I'll repeat it. The mole is merely a large number. What gives large numbers special "rights" to be a fundamental unit? The emphasis here is on the word "fundamental"; if you want, you can call 2 or 3 or even 2.5 a unit, and nobody would bother you, but there's nothing fundamental about choosing those numbers as units. Which is why numbers are not (with the exception of the mole, as of now) fundamental units.&lt;br /&gt;&lt;br /&gt;So why should there be this special exception for the mole? I wouldn't really care if it were just a unit, but it's in the prestigious elite seven fundamental units, when all it does is no different from the integer 1: count things.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-3078681963854811455?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/3078681963854811455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=3078681963854811455' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/3078681963854811455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/3078681963854811455'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/07/rr-1973-mole-is-not-proper-unit.html' title='RR (19,7,3): The mole is not a proper unit'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-8257543026621052658</id><published>2010-07-07T16:03:00.000+08:00</published><updated>2010-07-07T16:03:04.253+08:00</updated><title type='text'>RR (20,3,3): Internet censorship</title><content type='html'>Some network administrators prevent users from accessing certain websites deemed to be harmful to them, "them" being either the network administrators or the users; here I focus on the latter case. This can happen on a local level, or at the ISP level, but this distinction isn't important here.&lt;br /&gt;&lt;br /&gt;It's pretty much common knowledge by now that MDA doesn't want Singaporeans to go to some sites to have fun, of various sorts; so far they've at least blocked some porn sites, and Chick Publications' website. (Depending on who you are, you might or might not find laughing at Chick tracts offensive. But if you do, there must be something wrong with you. And my expected readers all know Chick is full of bullshit.) Do you notice anything wrong with this approach? You might block some sites, but you can't block every one. And your denying entertainment to someone who should have the rights to that entertainment. (This post is &lt;em&gt;not&lt;/em&gt; about whether porn is harmful; it is, but if people really want it they should be able to get it.)&lt;br /&gt;&lt;br /&gt;Sidetrack. Despite trying so hard to block porn sites (probably a few blocked every month according to some anecdotes), the Singapore government absolutely refuses to admit that they're doing so. This is so full of fail in so many ways. At least China is (relatively) open about their censorship practices. End sidetrack.&lt;br /&gt;&lt;br /&gt;And sometimes completely trivial websites get blocked too. From 2006 to early 2008, &lt;a href="http://2.bp.blogspot.com/_Pl0QCBqQmf8/SAxdaZ0i9fI/AAAAAAAAAAM/zicc-KO9KFk/s1600-h/LOL403.png"&gt;the Wikipedia page on TNT was blocked&lt;/a&gt;. With a rather ridiculous reason of that site being usable for criminal skills. Of course, blocks on Wikipedia are normally easy to evade, since using the secure server normally works. With the added benefit of the network not being able to tamper with the connection. It's much like assuming bad faith; by default you're treated as a prisoner.&lt;br /&gt;&lt;br /&gt;And of course, sites that allow bypassing these restrictions, like CGI proxies and all that crap are also automatically considered as "harmful". (They're blocked in the school network.) This kind of reminds me of the relatively recent Apple App Store rejection decisions, where they banned an e-book reader because it had access to some book dedicated to informing about sex. (It's not as if I know exactly what the book is about, not having seen it, so I can't really say more than it being about intercourse.) And the standard argument against Apple for having done that was to ask them to remove Safari, because that allows surfing porn sites. (I'm not sure whether they finally accepted the e-book reader, but that's not the point.) Same here. If you're going to go so far as to block proxies you might as well install a custom web browser and force everyone to use it…&lt;br /&gt;&lt;br /&gt;… Just like North Korea. Well, they're "democratic", but only in name, but this is irrelevant. Combined with a nationwide brainwashing, this could actually work. Because this did already work for North Korea. Of course, doing so is ridiculously bad PR, since you'll get lumped with the most awesome country ever.&lt;br /&gt;&lt;br /&gt;At some point this is just outright restricting the access of information, legit or not, and not just about removing direct access to content that is potentially harmful to minors.&lt;br /&gt;&lt;br /&gt;Sidetrack. About pornography. It's a pretty touchy issue. It's almost certain that a lot of people watch porn; male or female; the question isn't so much about who watches it, it's more who doesn't. That said, making porn harder to access is a good thing; I might have been influenced by my more conservative family members, but porn is generally a bad thing. Unlike rms, whose political notes I linked to before, I don't think porn is just about people undergoing intercourse. That's perfectly okay as educational material, but porn is about erotic stuff. It's not just about sex, it's about people feeling good. Well actually I'm not very sure about where the line goes; I find it quite weird that people can get turned on by other people having sex, or by nude pictures. Okay actually the latter is easily explained, but the former not so much.&lt;br /&gt;&lt;br /&gt;Post ends on irrelevant note.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-8257543026621052658?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/8257543026621052658/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=8257543026621052658' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/8257543026621052658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/8257543026621052658'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/07/rr-2033-internet-censorship.html' title='RR (20,3,3): Internet censorship'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-272375963392093764</id><published>2010-07-06T14:46:00.000+08:00</published><updated>2010-07-06T14:46:48.761+08:00</updated><title type='text'>RR (20,4,1): The I-want-to-be-root problem</title><content type='html'>This blog post concerns computers. Again. First, let me describe the problem I call the "I want to be root" problem. Root is a Unix term to denote a user account with maximum privileges ("administrator" for you Windows users); this is obviously unsafe, but users normally shouldn't have to be root manually. One exception is to install programs. Which shouldn't even be an exception, really.&lt;br /&gt;&lt;br /&gt;Here's a quick question. If a user just wants to use a program (without necessarily wanting other users to be able to use it), why does installation under root need to happen before it can be run? No, it's a lie. Even in a single-user system, allowing programs to run as root is a bad idea under most circumstances, since these programs can access and modify system files. Which is a secondary source of BSoDs in Windows. (The primary source is obviously Windows itself.)&lt;br /&gt;&lt;br /&gt;The thing is, only trusted programs should be allowed to run as root; this includes monitoring programs and administrative programs, among others. Actually I'm not so sure about the "among others" part; these two types of programs appear to cover everything that might need root.&lt;br /&gt;&lt;br /&gt;And there're untrusted programs that bribe you into getting them root, such as copy prevention measures. You give these programs root, and these programs lend you access to a game (lol game) or music or videos. Notice how unfair this trade is? Note that a program only needs to be root once to be able to wreak havoc. In my opinion, this is idiotic. It's not that I support copyright violation, it's that I support copyright violation being unnecessary. But I digress.&lt;br /&gt;&lt;br /&gt;So basically there are no good reasons to have programs run as root, unless they're really special.&lt;br /&gt;&lt;br /&gt;Of course, this wouldn't be a problem if it were so simple. Thing is, a lot of harmless programs unnecessarily ask for root (and users let these programs be root without ill effects); this may lead users to think that giving root is harmless, until, well, tragedy happens. The whole don't-run-programs-as-root ideology doesn't tie in with users well, since (by my hypothesis) it means explicitly restricting themselves to not explore the full potential of the computer. I find this quite disturbing; if my hypothesis happens to be correct, this means that these people are also the kind of people who break laws everyday, because they're otherwise restricted. It's much the same, really; you can break laws, but if you do you have to be careful of the consequences. Sometimes you get away (the program is harmless), sometimes you get caught (the program is harmful).&lt;br /&gt;&lt;br /&gt;Oh wow, that was an apt analogy.&lt;br /&gt;&lt;br /&gt;Post ends here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-272375963392093764?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/272375963392093764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=272375963392093764' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/272375963392093764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/272375963392093764'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/07/rr-2041-i-want-to-be-root-problem.html' title='RR (20,4,1): The I-want-to-be-root problem'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-8159841216135344453</id><published>2010-07-01T23:34:00.000+08:00</published><updated>2010-07-01T23:34:56.774+08:00</updated><title type='text'>RR (20,4): Skin revamp</title><content type='html'>Someday soon I'll be changing the blog template to make it look nicer. I am obviously aware that the current layout leaves very little space for text and has a ridiculously small font; the top priority is to be XHTML 1.0 compliant, and if possible, CSS 3 (with vendor prefixes) as well. Up to December last year I was working on one, which you can see at &lt;a href="http://e1a12bf16a291bc7690b816e0117eb91.blogspot.com/"&gt;the image blog&lt;/a&gt;. It's not very nice; notably, the lack of margins (technically 0 pixels wide) forces the text in the sidebar and the main content to be almost touching each other. Also lacking is the post dates, which is actually a Blogger issue, because it refuses to show the full date and not just the time.&lt;br /&gt;&lt;br /&gt;When this has been done the result should be greatly increased readability. I'll use it over both blogs, although the colourings will probably be slightly different. zznq will definitely retain the green-on-black colouring, and this blog might have something like red on black. Or maybe purple. Yeah, purple.&lt;br /&gt;&lt;br /&gt;This said, I might not actually bother. I mean, I haven't been bothering for the past six months. And if you really wanted better layout you can just use the RSS or Atom feeds. (Assuming you're using Firefox; Chrome doesn't seem to have a decent built-in feed reader. And I don't care about everything else.) There's no way to read older posts that way, but that should be good enough. The feeds also bump updated entries to the top, for starters. That way you get to monitor when I'm fixing the typos in old posts nobody else would bother reading.&lt;br /&gt;&lt;br /&gt;And. I might actually do something I had, some time ago, decided not to do: add a tagboard. And then I'll disable comments. Or maybe not. I'm not really sure; the past 15 comments have all been spam. And, that was on the maths blog, not this one. In case you're still wondering whether it's still active, yes it is. I continue to try to post at least once a month. I no longer have the sanity to do another of those crazy "essays" though.&lt;br /&gt;&lt;br /&gt;Unrelated news: today in the morning there was an idiot who thought that using the lift to go from the third story to the first while not carrying much and also being capable of using the stairs was socially acceptable. In fact, there are at least two such people, and they're both female, although I suspect this has something to do with the fact that the third story is for females. Guys only go from 4th storey up, where it's less egregious.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-8159841216135344453?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/8159841216135344453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=8159841216135344453' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/8159841216135344453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/8159841216135344453'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/07/rr-204-skin-revamp.html' title='RR (20,4): Skin revamp'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-9149947670729853267</id><published>2010-06-29T13:11:00.000+08:00</published><updated>2010-06-29T13:11:56.455+08:00</updated><title type='text'>RR (19,7,2,1): Collection of rants and rambles</title><content type='html'>I shall proceed here to complain about things in my typical thing-complaining style, breaking down claims and refuting them with the simplest of arguments. And also being incredibly arrogant at the same time. Except now I'm not going to be complaining about a single thing, but a bunch of things. Bunch of things that are hardly related.&lt;br /&gt;&lt;br /&gt;First, during the holidays I was at home rather than at the hostel. They repainted the rooms, and left paint on the shelves and the whiteboard. What the hell. And there were traces of purple ink on the whiteboard. And another thing is that the windows and floor were ridiculously dirty. I was quite surprised (in a bad way) to realise that just having my feet wet left clear colourations on the floor. I wasn't expecting that to happen.&lt;br /&gt;&lt;br /&gt;Second. I just came out of the library. It was noisy there. There were a bunch of Year 6 idiots (I only know the name of one of them, and/because he's a supposed "Student Leader") making noise near where I was. (And I was at &lt;a href="http://chltoopro.blogspot.com/2010/04/rr-202-true-false-file-not-found.html"&gt;my usual back-of-the-library location&lt;/a&gt;.) Except these idiots weren't really using the power outlets, they were more like throwing a soccer ball around. (Kicking counts as throwing. My vocabulary is superior.) And making plenty of noise. And dropping f-bombs around. I got pretty annoyed, and I temporarily stopped writing this post to relocate to my room. Which gets me to the reason I even went to the library…&lt;br /&gt;&lt;br /&gt;Third. There is very highly audible construction work and traffic from outside. And there's the fan, which can either be noisy, or useless. (It's not that I had no choice, it's that the available choices suck.) I'm currently stuck with my damaged earphone (of which only the left side works), so I'm not really caring about the noise, but it's far more conducive in a quiet environment than one where all kinds of noise are present.&lt;br /&gt;&lt;br /&gt;Fourth. A nitpick. You know how people often bring up success stories of people with disabilities? I hate that. Partially because I'm not physically disabled and am a failure, but my rationalising side (where I try to "rationalise" things to fit my viewpoint) is claiming that these cases are rare cases. Do you have every disabled person become the protagonist of a success story? If you can honestly answer "yes" I must mention that you lack human brains of any sort; metaphorically, of course. These "success stories" are exceptional. They're special. They're not indicative of the average. And most people are close to the average (in some sense). By comparing them to these disabled but "successful" people only serves the purpose of demoralisation. (Also consider: having more things isn't necessarily good; it can lead to distractions.)&lt;br /&gt;&lt;br /&gt;Fifth. Another nitpick. In primary school there were these multiple-choice questions where you were supposed to pick a preposition to use. That, of course, shouldn't be too unexpected, but the most rage-inducing thing about that was that these questions were filed as grammar questions. The hell, man. These questions have nothing to do with syntax (grammar). The syntax has already been set in the question. This is clearly a vocabulary question. This has been bugging me for years. I'm not sure whether this is restricted to my primary school or is general all around Singapore, but it's idiotic and should be stopped if it hasn't already been.&lt;br /&gt;&lt;br /&gt;Sixth. Rhetorical questions are annoying. I realise that I used at least one above, but I appropriately answered it. It's like people already expected you to follow a specific answer. It's like they're trying to pry into your mind. I'm sorry, but I'd prefer some mental privacy. Another about questions are loaded ones, those that presuppose something. I sometimes have to guess what other people would think given my answers and answer appropriately, possibly lying in this process. It's self preservation. And sometimes I fail to predict what the asker would think based on my answers, so I return with a question: "what if I said [yes/no]?", usually choosing the one I think would lead to a worse result. The asker would then tend to assume then whichever I picked would be my real answer, even though I wasn't even planning to answer truthfully. It's not that I particularly like to lie, but the results if I don't can be horrible.&lt;br /&gt;&lt;br /&gt;Seventh. Another thing that annoys me are questions where the answers don't matter. If you're going to do something, just do it, don't ask "can I do [something]?" and then do it before I can even appropriately answer. And even if I answer "no", people will bother me to no end. Which is why I have a tendency to give in to others. It's not empathy, it's to maintain the little bit of sanity I have.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-9149947670729853267?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/9149947670729853267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=9149947670729853267' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/9149947670729853267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/9149947670729853267'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/06/rr-19721-collection-of-rants-and.html' title='RR (19,7,2,1): Collection of rants and rambles'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-294565255311105473</id><published>2010-06-21T04:35:00.001+08:00</published><updated>2010-06-21T04:35:50.723+08:00</updated><title type='text'>RR (19,7,2): Posts, lack of</title><content type='html'>Must be the microblogging thing. If you look at my earlier posts from 2008 and 2009, I was posting almost every other day, and with rather short posts. Oh, and sometimes with pictures. I realised I haven't bothered to get any pictures up on here for this year. I did take screenshots of Fedora 13 (&lt;a href="http://chltoopro.blogspot.com/2010/06/rr-20222-fedora-13.html"&gt;two posts back&lt;/a&gt;), but I just couldn't be bothered to upload them.&lt;br /&gt;&lt;br /&gt;Let me explain. To get pictures on Blogger there are two ways. One is to use the image upload button thing. And that button is not available in HTML mode, which is the mode I use most of the time. (Yeah, "most", not "all", since the rare times I use tables and not-so-rare times equations and images it's pretty handy to check that the output looks okay.) And before the UI change in Blogger, the upload image button placed the image at the top instead of at the caret (the vertical line thing indicating where you're typing), which was heaps of stupid, but still better than that not being present at all.&lt;br /&gt;&lt;br /&gt;The other way, which is the one I use now, is to upload the images manually, then link to them here. Except now I'm still using Google to host the images with Picasa (or whatever their image service is supposed to be called). Needless to say, this is quite tedious. For some months last year I was trying out an image blog, &lt;a href="http://e1a12bf16a291bc7690b816e0117eb91.blogspot.com/"&gt;e1a12bf1&lt;/a&gt;, but then it was tiring. The process was like this: first, manually adjust image with Gimp, second, go to picasaweb.google.com, third, click "Upload", fourth, navigate to image directory, fifth, go to image page on Picasa Web Albums, sixth, get link to full-size image. Six bloody steps. One hundred times. Admittedly the first and fourth steps will definitely be present regardless of how I upload images, but still.&lt;br /&gt;&lt;br /&gt;So anyway. Back to the microblogging thing. I've been posting about a dozen times a day (haha) at Twitter, offering little glimpses into my current thought processes. And if thought processes are really what you want you can head to &lt;a href="http://wp.me/vZWN"&gt;Concentrated Entropy&lt;/a&gt;. That blog has lots of copypasta, but also original content. It's (mostly) unoffensive, but I don't make guarantees on that. There's also little &lt;abbr title='quality control'&gt;QC&lt;/abbr&gt; there, so most of the shit there will be shit. And the posts aren't really internally coherent, quite a few of them being like &lt;a href="http://tvtropes.org/pmwiki/pmwiki.php/Main/WikiWalk"&gt;Wiki Walks&lt;/a&gt;. And the (really) interesting stuff (to me at least) are all password protected, except some of them have hints to the password (haha, look harder). And most of those passwords are distinct, some contain intentional misspellings, and all that bullshit.&lt;br /&gt;&lt;br /&gt;Yeah, so where was I? Right, microblogging. I actually set up an identi.ca account, although I haven't used it yet. The most obvious way for me to use both identi.ca and Twitter at the same time is through a client program, and the one I currently have is Gwibber. But it's slow. I mean real slow. It takes more than twice as long as it takes for Chromium to start up and to load Twitter. And that's a cold start (like when you just started up the computer). Because I have Chromium open quite often, this is further skewed, with a warm start of Chromium taking less than half a second.&lt;br /&gt;&lt;br /&gt;And getting back to topic. In the past there were few relatively long posts; my rant on Apple's page for Safari was at that time (2009, iirc) my longest post here (excluding images which tend to take up plenty of space), but now I've been writing significantly longer posts than that. Compare the lengths of my posts from 2009 and 2010. Definitely significant. That said…&lt;br /&gt;&lt;br /&gt;At the start of July (or around there or maybe not) I'll do another post statistics post, having another year worth of posts from April 2009 to March 2010. It'll be great fun! The last time I tried this it took me hours to get stuff working; in particular the day-of-week data was ridiculously tedious to compile. And this time, post frequencies will still be measured in microhertz! For sheer lulz. At least converting from inverse days to hertz doesn't take much effort. (For the record, 1 inverse day is about 11.6 microhertz.)&lt;br /&gt;&lt;br /&gt;For much of these holidays I've been watching anime. Seriously, I don't even understand myself now. Last year I just sticked to one series, spamming it all at once. (Well actually 2, since there was also a sequel.) This year, so far, I finished 11 series already. Actually 10, since one of them is still ongoing, but finishing anyway.&lt;br /&gt;&lt;br /&gt;I mentioned some posts back I was planning to make a game. Well actually I didn't even bother. I managed to find a game with a rather similar concept, and took to playing that instead. There was a problem of lag since it was spamming OpenGL to get fancy graphics, but it worked. (Okay, I know I can install the official Nvidia driver, but I don't want to. If it's not essential I'm not getting it.)&lt;br /&gt;&lt;br /&gt;And games. None of the Gnome games are fun. Some step out of that "pleasantly frustrating" territory and just piss me off so much I don't even want to play it anymore. Some are just plain boring. Some are stupid (ironically, gbrainy). (Actually gbrainy isn't part of Gnome Games, but it's a "game" and it's part of Gnome, so yeah.) Oh, and Ubuntu 10.04 removed Robots. Damn, that one was at least kind of fun. At least if you're playing for a while. If that's the only game you're playing not getting bored will be extremely difficult after some time. Same for solitaire really; at some point I was just gunning for speed records (without cheating). (43 seconds for Freecell. Can you beat that?)&lt;br /&gt;&lt;br /&gt;And while typing that paragraph I inevitably lost the game.&lt;br /&gt;&lt;br /&gt;I'll just conclude this post with a link: &lt;a href="http://www.stallman.org/archives/polnotes.html"&gt;Richard Stallman's political notes&lt;/a&gt;. Read them, but bear in mind the writer is a free software extremist (he's the founder of this movement), so his views will definitely be at least somewhat biased.&lt;br /&gt;&lt;br /&gt;PS: This is a postscript. Which means that the main body of the post has ended.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-294565255311105473?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/294565255311105473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=294565255311105473' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/294565255311105473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/294565255311105473'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/06/rr-1972-posts-lack-of.html' title='RR (19,7,2): Posts, lack of'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-2655906945768305938</id><published>2010-06-07T16:48:00.000+08:00</published><updated>2010-06-07T16:48:14.566+08:00</updated><title type='text'>RR (20,3,2): Infidelity</title><content type='html'>That word just literally means not having faith, or not being faithful. Same thing. Anyway. Over the past year I was thinking. Why is it that people choose to believe in the existence of a god (or multiple gods) or other generic superstition?&lt;br /&gt;&lt;br /&gt;I'm personally an atheist. As much as that you should already know. I'm also mentally different (at least I was diagnosed that way), which you should also already know. This partially explains why I'm interested in why "normal" people think differently. First let's analyse how superstition in general comes about. The basic idea comes from evolution. It benefits to expect correlation to imply a high chance of direct causal relation, so things which had that trait had a higher chance of surviving. This might be considered learning, or, in the case of creatures without minds, evolution. So creatures (I'm not going to use the term "organisms" since that implies that the creature must be organic; it can be an AI program for all I care, the form is not relevant) tend to get this quite early, or at least far before they develop any significant intelligence. The simplest animals I can think of which have this "learning" (of the mental kind, not of the evolution kind) capability are insects, although there might be simpler ones yet.&lt;br /&gt;&lt;br /&gt;So, humans, or should I say, humans' predecessors, got some ideas of their own when they did something and something else happened. And then somehow from there the idea of a highly potent being came about. (Omnipotence only applies under monotheism, which is, I presume, not the first type of superstition to be formed.) The events didn't even need to have any semblance of being related, but somehow people will try to find some pattern, and if they fail, they'd attribute it to higher beings. If they succeed, then they suppose the events are related anyway, even though their reasoning might be wrong. And very often they are, of course; modern logic only came about less than a millennium ago.&lt;br /&gt;&lt;br /&gt;And this led to superstition. And since it comes from shaky grounds, as a scientist, I don't buy that. But why do religion and superstition still thrive in this time when science is supposed to be dominant? The answer isn't hard: deception, intentional or not. I mentioned this before; children tend to believe things parents tell them, which leads to obvious consequences. If the parents happen to subscribe to some sort of superstition then it's highly likely that the child would also subscribe to that. These people themselves do not know that they were deceived, and are passing this on. What the hell. Humans are dumb.&lt;br /&gt;&lt;br /&gt;Language itself is another cause. Natural language has connotations, which basically mean that some stuff are supposed to be bad, some stuff are supposed to be good, and these concepts are ingrained into the mentalities of everybody using the language. And somehow similar concepts seem to appear in just about every language. Annoying, to say the least. And language perpetuates superstition. I'm not going to exactly describe how this is the case, due to sensitive issues being involved, but you get the point. (What, me practising self-censorship? That's so unlike my internet persona.)&lt;br /&gt;&lt;br /&gt;PS: Abrupt ending. Consider this an incomplete post I might or might not finish properly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-2655906945768305938?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/2655906945768305938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=2655906945768305938' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/2655906945768305938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/2655906945768305938'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/06/rr-2032-infidelity.html' title='RR (20,3,2): Infidelity'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-6881332227297014929</id><published>2010-06-01T00:10:00.001+08:00</published><updated>2010-06-01T01:14:36.503+08:00</updated><title type='text'>RR (20,2,2,2): Fedora 13</title><content type='html'>I recently downloaded Fedora 13, which was released about 6 days ago. Funny in that when I first tried to download it the mirror said I wasn't allowed to. (In other words, it was still a fresh release and not all the mirrors have been appropriately configured.) The first version of Fedora I tried was 9, but my experience with it was tainted by the graphics failure. How annoying. Anyway, Fedora 13 has few issues on this computer. So here goes.&lt;br /&gt;&lt;br /&gt;To be more specific, I got the 64-bit version. This is actually mostly unimportant, I suppose. (One of the differences between 64-bit programs and 32-bit programs is that 64-bit programs tend to be slightly larger.) So anyway. I burned it on one of my DVDs (one that used to have Ubuntu 9.04), and yeah. This time I'm too lazy to get it on my thumbdrive. Which means that it'll be running entirely off the DVD, which is obviously slow. But who cares. Startup speed was decent for DVD boots, although nowhere near good enough, but that's excusable. Time for actual reviews to take place.&lt;br /&gt;&lt;br /&gt;I didn't hear any startup sound. Maybe it's because I had my earphones plugged in, but I didn't hear anything. Not having a startup sound is actually a good idea. For years I've been annoyed by Ubuntu's startup sound, which has a tendency to surprise me when I forget to mute the computer before shutting down. (I later took the obvious option of just turning sounds off.) So this was nice. Fedora 13, like 9 and 10 and 11 and 12 have Transmission as the default BitTorrent client, which is quite decent. Ubuntu also has Transmission as the default BT client. Not much difference here.&lt;br /&gt;&lt;br /&gt;Fedora 13 has pino as the microblogging client, compared to Ubuntu 10.04 having Gwibber. pino's user interface takes some time to get used to, but it's okay. It's not too bad, but I haven't tested it under high packet drop rates. (Gwibber doesn't handle this &lt;del&gt;well&lt;/del&gt; at all; Twitter's web client didn't handle this until recently.)&lt;br /&gt;&lt;br /&gt;The font. I don't know what's the name of the font Fedora uses. This shouldn't be a surprise, since the name of the default font is the default "Sans", which can (and do) refer to different typefaces on different systems. If I'm not wrong on Ubuntu "Sans" is aliased to DejaVu Sans, but for Fedora I'm not sure. Anyway, I don't really like the default font. I tried tweaking the hinting options, and I didn't quite like the look in any of the options. (And obviously I chose greyscale antialiasing. Can't stand inconsistently-coloured text.) So yeah. The DejaVu fonts were designed to look good on the screen, which might partially explain why other fonts don't look so good. The obvious reason, however, is that I'm used to the DejaVu fonts. After all, I've been seeing and using them for over two years already.&lt;br /&gt;&lt;br /&gt;Sidetrack: I noted this stuff down while doing the test run of Fedora 13, which was some days back; I'm not currently using it.&lt;br /&gt;&lt;br /&gt;Firefox 3.6 . Not really much else to expect, so yeah. The icons don't look so nice; more on this later. Firefox here seems like a default install with nothing special. Which is a good thing. I'm not complaining. Ubuntu tacks on some add-on that supposedly better integrates Firefox, but considering that I don't really care about that (I install my add-ons directly) I just disable it, which defeats the purpose.&lt;br /&gt;&lt;br /&gt;Totem is still called "Movie Player" here. I guess the Totem developers really hate that name. Can't they just call it "Totem Movie Player"? Anyway, I got a video from YouTube (downloaded by manually searching for the URL, which isn't actually very tedious) to test it on. Quite expectedly, it didn't work. But it didn't say anything either. I was expecting some popup to tell me that I needed some codec. I tried to open an MP3 file I had (CC-licensed, mind you), and it didn't work. I tried opening an AAC file, and that didn't work. Along the way (not sure exactly when) I got a popup teling me a decoder is needed, but nothing happened after that. Let's compare the behaviour of Ubuntu and Fedora here. Ever since the first version of Ubuntu I used (7.04) when I was lacking a decoder it would open up a prompt to let me install one of the codec packs. And for some codecs it'll bullshit me about me using the software only for research purposes, about which I don't really care, so I just install. But it gave me that. Fedora just flat out stated "no decoder no video for you lols", which was actually less user friendly from a UX perspective.&lt;br /&gt;&lt;br /&gt;Under Applications &amp;gt; Office there's this item called "Project Management", which is actually a program called Planner. That's a new one. I didn't bother fiddling with that too much, so I just closed it. There's actually nothing too interesting about that really; it's just a time management program.&lt;br /&gt;&lt;br /&gt;Anyway, the icons. When I closed Planner there was this "save changes" dialog. The icons there (except the !⃤ icon) have an obvious common characteristic: they all had red (or some shade of orange) very prominently, but the prominence is because the rest of the icon is so dull. The "Cancel" icon is the same as the "stop" icon in Firefox, which presents a slight problem. At all times, within Firefox, all of the icons are mostly dull (in the sense of being perceptibly greyscale), except for two: "stop" and the Firefox icon itself. The latter is static, so it doesn't really affect anything. The former changes colour depending on state; in other words, during page load one icon is has red in it, but once page lead finishes (or is cancelled or whatever) that one icon loses its colour and becomes like the rest. That's actually quite annoying; you suddenly have the UI "light up" (so to speak) and then swiftly returning to normal. Either way, there's not enough colour variety. It's too dull. Most of the rest of the icons are the same as those in the default Gnome theme. The folder icons are quite nice though. Fedora 13 has specially designed icons for each of the default subfolders of the home folder, which are nice. (Ubuntu only has that for ~/Desktop.)&lt;br /&gt;&lt;br /&gt;So that's about everything I noted during the short run of about an hour. Actually I don't know how long. But that's unimportant.&lt;br /&gt;&lt;br /&gt;PS: "The playback of this movie requires a MPEG-4 AAC decoder plugin which is not installed."&lt;br /&gt;&lt;br /&gt;Update: I forgot to mention something. Fedora 13 Live didn't have GCC. Which is quite serious, because it means I can't immediately write and compile a program that, say, rot13 encodes a file. Annoying, to say the least. It means that from a clean boot I can't do much, which sucks. It also didn't have wget, the practically universal downloader. It's almost as featureful as Windows.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-6881332227297014929?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/6881332227297014929/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=6881332227297014929' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/6881332227297014929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/6881332227297014929'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/06/rr-20222-fedora-13.html' title='RR (20,2,2,2): Fedora 13'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-1771965334004608488</id><published>2010-05-26T19:25:00.000+08:00</published><updated>2010-05-26T19:25:34.974+08:00</updated><title type='text'>RR (19,7,1): More thinking</title><content type='html'>I just suddenly came to a realisation. Okay, maybe "suddenly" is an exaggeration. But still. If you consider the internet, what's the most commonly available platform?&lt;br /&gt;&lt;br /&gt;If that question was asked about a decade ago I believe the answer should be along the lines of Internet Explorer running on Windows. (Take note that I'm deliberately excluding other browsers, because by the late 1990s (or early 2000s) HTML and JavaScript (sorry, &lt;a href="http://en.wikipedia.org/wiki/JScript"&gt;JScript&lt;/a&gt;) evolved differently between different browsers.) Of course, many things have happened.&lt;br /&gt;&lt;br /&gt;One of them was the popularity of Flash Player (which I will abbreviate as "Flash"). I'm pretty sure that while Macromedia (before it got absorbed into Adobe) did want Flash to somehow succeed, they wouldn't expect it to have been such a phenomenal success. After a few years, people made sites that would only run with Flash. Which was partially a good thing, since Flash was available for every major platform. (I risk running into anachronisms, but I continue, because I'm too lazy to check Wikipedia.) In fact, for some reason, somehow, Flash actually became the easiest thing to rely on, apart from the existence of a basic HTML renderer to host the SWF file.&lt;br /&gt;&lt;br /&gt;Browsers (then) were quite disparate in terms of abilities; some were designed to comply with standards (obviously Mozilla, and quite possibly also Opera), some were designed to edge out competition (obviously IE 6 and Netscape, although the latter was a failure). And even among the former there wasn't much that could be relied on, and of the latter… need I even say? (For some reason people actually went on releasing new versions of Netscape 4 when Netscape 6/7, which were based on Mozilla, were already released. That said, when I mentioned "Netscape" above I originally meant Netscape 6/7, although it seems that this still applied to Netscape 4.) In other words, apart from the most basic of stuff, no web developer could use code that simultaneously worked under all browsers, except by specially coding for them. (Technically speaking, this isn't well-defined, but the alternative meanings just don't take place with human capability. I don't think there are any mathematicians doing this kind of crazy stuff just to trip over people who say these kinds of things. Yet.) Notice that this paragraph has more stuff in brackets than not. At least it appears so from the editor. Might actually do good to remove the brackets, but then these sentences would stop making sense.&lt;br /&gt;&lt;br /&gt;Anyway. So, somehow, Flash managed to become the one platform that was available almost everywhere. Holy shit. What it effectively presented was a way for web developers to write code just once and have it run almost everywhere. Oh, I forgot something. Flash (as in Flash itself, not Flash Player) was not available free of charge. Still, it managed to get so popular. Seriously, I'd like to know exactly how all this happened. (Not that I'd like to get into the business of selling proprietary software, but it's still nice to know.) Developers capable of affording the one-time cost to produce SWF files could use significantly enhanced technologies in their programs. (Tidbit: while "program" is normally considered as being American English, one use for it in British English is to describe computer programs. Must be Microsoft's influence.) And, users would be happy.&lt;br /&gt;&lt;br /&gt;Flash was, at those times of the past, the only way to get audio and video out that would reliably and consistently work. The alternative was to call a video player browser plugin, which some sites went with. Presumably, they weren't very popular (or they had highly targeted audiences), so they didn't really mind losing some viewers who couldn't watch or hear those media files. Iirc, there were three competing players in this area, ignoring Flash for a while, even though it's supposed to be the star of the story, namely Windows Media Player, RealPlayer and QuickTime. In the early 2000s, people were unlikely to have all three… except I'm not sure about that. I'm too lazy to switch tabs right now to check, and I'm pretty sure that me at that time was using Windows 95, which sure as hell didn't support any WMP plugin. Or at least I don't recall of it. I think there was QuickTime, although my memory is a bit fuzzy. (If I were to count, this current laptop I'm using is the 7th, sorry, 8th, argh, 9th one I'm using. I might have mixed up details of this laptop with another.)&lt;br /&gt;&lt;br /&gt;Sidetrack: I mentioned having used 9 laptops. By that, I mean 9 that I actually used for quite some time. I might or might not have enumerated them before in a previous post. I'm not bothering to sieve through all my previous posts. 7th was my sister's previous laptop, 8th my Vaio, 9th this one, which were the ones I installed Ubuntu on. That's assuming I didn't forget about any computer I used before. How entertaining. End sidetrack.&lt;br /&gt;&lt;br /&gt;Anyway. Much like the current (or should I say, pre-VP8) state of affairs, people were obviously unwilling to encode their videos in three different formats just to appease the entire audience, especially considering that storage now is cheaper, and people still care about this. (In other words, while now it's barely feasible, in the past it was completely out of the question.) But Flash provided a way out; by the sheer power of being the most commonly available, it allowed people to encode their videos in some format (Sorenson?), that could be decoded almost everywhere. (As time passed, they added more competent formats such as VP6 and H.264. Then again, whether VP6 is competent is dependent on whether you work for On2. Besides, this is irrelevant.)&lt;br /&gt;&lt;br /&gt;And so somehow Flash allowed sites like YouTube (then) to actually work. Flash actually saved the web from being stagnant. Flash became the de facto standard for displaying cool stuff on the web. Games programmed in JavaScript were merely playthings, and most of them weren't popular, or decent at all, for that matter. Even if they worked, it'd take a hell lot of effort to adapt them to browsers other than the one they were originally designed for.&lt;br /&gt;&lt;br /&gt;Of course, there was a problem. A rather small group of people weren't happy about this; they weren't really competitors to Flash, they were just unhappy. I obviously belong in this bunch of misfits. And this bunch of misfits somehow hold the belief that nonfree software should not be used. I didn't think I'd have to, but please, unless you &lt;em&gt;really&lt;/em&gt; know what I mean by "free", go and check &lt;a href="http://en.wikipedia.org/wiki/Free_software"&gt;Wikipedia's article on free software&lt;/a&gt;. Please. Okay, anyway. Neither Flash nor Flash Player were free software. And, as things stand, they're unlikely to become free software, in the near future at least. Mozilla (the company/companies) kind of got this too; apart from trying to make a standards-compliant browser, their other initial goal was to be free software. Mozilla is actually a supporter of free software, not just in that they develop free software, but also that they believe in the ideals of free software. Of course, they're not as fanatical is the Free Software Foundation, since their main goal is producing a browser, but still. In other words: they're against the widespread adoption of Flash. Now, exactly why they aren't really caring about Windows… uh, that's probably because letting brainwashed Windows users consciously choose to use any free software at all was a huge step forwards.&lt;br /&gt;&lt;br /&gt;That was a bit irrelevant. Not that irrelevance can be quantified. For whatever reason, some time in 2008 (I think) Adobe released full specifications for SWF. This is actually of quite little importance; what use is a spec without software that follows it? Well, there was Flash, but that wasn't free software. The free alternatives, Gnash and swfdec, were so much more focused on being clones that they ignored the specs whenever Flash Player itself didn't follow it; besides, most of the stuff was already reverse-engineered before the specs were even released. Escalation of irrelevance: this paragraph is completely irrelevant.&lt;br /&gt;&lt;br /&gt;Anyway. Now, things are changing, but not by much, yet. By any stretch, even taking iPhones (the iPad counts as an iPhone) into account, Flash is still by far the most common platform available. Let's assume that Flash is available on 90% of consumer devices. That's actually quite a conservative estimate. If we consider the browser usage statistics, Firefox takes about 30%, and Chrome about 10%. (Screw Safari; besides, these are just rough numbers.) So that's about 40% of the browsers out there that support HTML 5. Less than half of Flash. Even if considering the (as-of-now) modern browsers (IE 8 and every other popular graphical browser), that's less than 2/3 of the browsers, compared to 9/10 of browsers for Flash. (Screw IE 6 and IE 7 users; if you have a sense of decency please upgrade. If you can't use IE 8 please switch to Firefox or Chrome. Just stop using that outdated shit.) Flash is still the only dependable way to serve content.&lt;br /&gt;&lt;br /&gt;I am going to consume food now, and I'd be too lazy to pause writing this post and resume when I get back, so I stop here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-1771965334004608488?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/1771965334004608488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=1771965334004608488' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/1771965334004608488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/1771965334004608488'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/05/rr-1971-more-thinking.html' title='RR (19,7,1): More thinking'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-2841125715871824906</id><published>2010-05-20T12:55:00.001+08:00</published><updated>2010-05-20T12:56:46.881+08:00</updated><title type='text'>RR (19,7): VP8 is out!</title><content type='html'>Some day(s) ago (I can't be bothered to do the timezone calculations mentally) Google released VP8 as a free codec. At first, before Google actually released VP8 (but after they acquired On2, obviously), I was thinking that Google was checking to see if VP8 happened to cover any known patents; after all, they had a few months of time to do that. I might have been wrong on this account; read on.&lt;br /&gt;&lt;br /&gt;Along with the release of VP8, there were soon Firefox, Chrome and Opera builds with VP8 support, as part of WebM, which is VP8 and Vorbis inside a Matroska container. Interesting that Google chose Vorbis only now, especially since they had much time to use it on sites like YouTube, where they decided to go with AAC anyway. (That said, I'm not sure if MP4 allows using Vorbis along H.264, which might have been one reason they went with AAC.)&lt;br /&gt;&lt;br /&gt;Anyway, soon after release, codec developer Jason Garrett-Glaser wrote &lt;a href="http://x264dev.multimedia.cx/?p=377"&gt;a blog post about VP8&lt;/a&gt;. In there he mentions how VP8 doesn't really compare to H.264, contrary to what the On2 website claims. In almost every aspect VP8 appears to be worse than H.264, and those times where they're almost exactly the same is quite worrying, because the main implication is that parts of VP8 might actually fall under some MPEG patents. Oh shit.&lt;br /&gt;&lt;br /&gt;On top of that, VP8 seems to take a lot more juice to encode than x264 (the de facto H.264 encoder); adding to that somewhat reduced quality means that VP8 probably isn't the way to go. If H.264 wasn't patent-encumbered, it'd definitely be a superior choice, being both faster and otherwise better.&lt;br /&gt;&lt;br /&gt;There's also a complete lack of proper specifications for VP8, which effectively means that the only spec is the source code itself, which is thoroughly optimised/obfuscated and isn't quite easy to make sense of. Even to the point that there are bugs in the code which cannot be fixed because they're part of the spec. (facepalm) We experienced something like this with IE6, where IE6 being the most common browser years ago was the only browser people bothered to code for, essentially defining a new IE6 version of HTML, which was hell, as most web developers can tell you.&lt;br /&gt;&lt;br /&gt;That said, H.264 is patent-encumbered, and will stay so for quite a few more years. (As for exactly how many… I'm not very sure.) So, for now, but just for now, VP8 seems like a worthy candidate.&lt;br /&gt;&lt;br /&gt;In related news, (pre-)alpha builds of Theora 1.2 (weirdly named Ptalarbvorm) apparently improve much more on Theora 1.1, being perceptually much nicer. Just look at &lt;a href="http://people.xiph.org/~xiphmont/demo/theora/demo9.html"&gt;the demo page&lt;/a&gt;. The Touhou screenshot is a nice (and obviously exaggerated) demonstration. Notice how shitty the background looks in 1.1? It's vastly improved. The text isn't clear whether this RDO hack is in the source code as of now, although it does mention that an improved version will be released as part of 1.2 .&lt;br /&gt;&lt;br /&gt;Now, all of those said, I must mention that I don't produce any videos myself. What a surprise. I don't even take many photos, for that matter. However, I find video compression a very interesting subject, which is part of the reason why I care. (If you paid attention you probably also realised that I find compression in general interesting.) The other part is that the current state of video codecs is quite dire; of the free ones we have now, the one that is fast (Theora) isn't very good (it's good, just not very good), and the one that is quite good (VP8) isn't very fast.&lt;br /&gt;&lt;br /&gt;PS: I broke the HTTP status code combo. 410 is "Gone", but I figured that that title would have made absolutely no sense. Then again…&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-2841125715871824906?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/2841125715871824906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=2841125715871824906' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/2841125715871824906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/2841125715871824906'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/05/rr-197-vp8-is-out.html' title='RR (19,7): VP8 is out!'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-5290987065943930324</id><published>2010-05-18T18:10:00.000+08:00</published><updated>2010-05-18T18:10:11.606+08:00</updated><title type='text'>RR (20,3): Conflict</title><content type='html'>There's a simple reason I'm not using a WebKit-based browser as my main browser. Many people have shown that Firefox/Gecko is consistently losing out to Chrome/WebKit in terms of speed, and the recent (okay not really that recent, more like last year) changes to Chrome included adding support for extensions and themes, two of the features that once set Firefox apart from Chrome. So exactly why am I still on Firefox?&lt;br /&gt;&lt;br /&gt;First, of course, was something I denied 3 years ago, but I'm not so immature now (haha yeah right), and that is that I am a Firefox fanboy. Seriously, when I transitioned from IE 6 to Firefox 1.5 I felt instant surges of awesome. Tabbed browsing, man. Yeah, I know Opera was first, just shut up, okay? And then Firefox 2, which was even more awesome. Okay, if you want to insist that Opera is better, that's your opinion, and for 2007 to early 2008 you're probably right, but for now it's a bit murky. (Actually I'm just saying that because Opera seems to match Chrome in terms of speed now, and they're both allegedly faster than Firefox.)&lt;br /&gt;&lt;br /&gt;Anyway. Second, I don't trust Apple. You know they mentioned Apple is only involved with WebKit like any other WebKit developer is? Lies. I bet, if you count the number of maintainers who work for Apple, compared to the number of maintainers who don't work for Apple, the number will be larger, or probably at best slightly smaller. Apple is annoying, full stop. I remember the bug I filed in WebKit last year, and up to their last conversation with me nothing happened. &lt;em&gt;Nothing.&lt;/em&gt; At least nothing I noticed, which is close enough.&lt;br /&gt;&lt;br /&gt;I know, the second point is a bit weak, considering that if Google wanted to they could fork WebKit and people would immediately switch over if they got convinced Apple is evil. I certainly trust Google far more than Apple. Google hardly ever mistreated its users. Apple, on the other hand, has abused the trust of people many times. Not least being releasing Quicktime for Windows at all. It's so much of a shit that people wouldn't install it if it weren't from Apple. And then shoving it down users' throats with iTunes updates. What the hell, Apple.&lt;br /&gt;&lt;br /&gt;This post isn't meant to just flame Apple, so I'll stop there. Oh, and just two points, because I can't think of a third, and because the first point is good enough for me.&lt;br /&gt;&lt;br /&gt;PS: Post originally started about 2 weeks ago, but then I got bored and did other stuff and didn't bother to finish the post until now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-5290987065943930324?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/5290987065943930324/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=5290987065943930324' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/5290987065943930324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/5290987065943930324'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/05/rr-203-conflict.html' title='RR (20,3): Conflict'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-6451023610787980949</id><published>2010-04-30T07:17:00.000+08:00</published><updated>2010-04-30T07:17:21.655+08:00</updated><title type='text'>RR (20,2,2): Request timeout</title><content type='html'>There has been quite a lot of buzz about Apple not wanting Flash Player on their holy and sacred iPhones and iPods and iPads. In my mind there are two conflicting opinions. I haven't yet developed dissociative identity disorder, so I'm probably still not completely insane. (Just a matter of time though.)&lt;br /&gt;&lt;br /&gt;First, is that as a proponent of the open web, this is a good thing. Considering how popular the iPhone is, this has been forcing web developers to either make an iPhone app just as a replacement, which is incredibly inconvenient (most Flash developers can't do C), or, more conveniently, rework their web app to use only JavaScript and technologies the iPhone supports. (Well, H.264 isn't really a step in the right direction, but I'm selfish and I'm not complaining.) Those, or they lose a rather huge portion of potential traffic.&lt;br /&gt;&lt;br /&gt;Second, is that as a proponent of free software, this is a bad thing. I mean, Flash Player is not free software, and so it shouldn't be used, but forcing users to choose one of many alternatives for reasons other than technical limitations doesn't count as giving users freedom. The DFSG (Debian Free Software Guidelines), on which the Open Source Definition is based, mentions in one of the points that software that disallows the use of any other software for nontechnical reasons cannot be considered as providing users the freedom they deserve. Notice I use the term "technical limitations"; if there is in fact some limitation that prevents Flash Player from being installed then not allowing it is perfectly acceptable.&lt;br /&gt;&lt;br /&gt;Yes, Apple makes good points for why Flash Player should not be included. But they're not good enough. There have practically been two factions of people, the fanboys and the haters; the fanboys blindly treating Jobs as a god, the haters blindly treating Jobs as a devil. The basic way the human mind works is that it uses a heuristic to get to some conclusion, then frantically tries to justify that the conclusion was correct/appropriate. In other words, huge portions of the fanboys-versus-haters debates involve strawmen attacks or ad hominem (sp?) attacks. There was recently an article about the open letter by Apple about why they're not accepting Flash Player, which tried to counter every point offered by Apple, but obviously failing in every attempt. This hatred isn't healthy. Like what Linus Torvalds (supreme overlord, original creator of Linux) mentioned, mindless Microsoft hatred is bad. Likewise, mindless Apple hatred is also bad.&lt;br /&gt;&lt;br /&gt;Of course, it would be too expected to have the post with just those two opinions. (Since when was this blog predictable?) I have a third, which doesn't really conflict with either of the other two opinions I offered. The iPhone is a closed platform, and should be abandoned. Problem solved.&lt;br /&gt;&lt;br /&gt;(Up next: a rant post about why I won't use just WebKit even when it's "better". Maybe. If I don't forget.)&lt;br /&gt;&lt;br /&gt;PS: This post was originally done offline, because of the stupid hostel network cutting people off at around midnight. (Actually their clock is off from mine by about 144 seconds, if anything.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-6451023610787980949?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/6451023610787980949/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=6451023610787980949' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/6451023610787980949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/6451023610787980949'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/04/rr-2022-request-timeout.html' title='RR (20,2,2): Request timeout'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-5522185646199836343</id><published>2010-04-23T13:10:00.000+08:00</published><updated>2010-04-23T13:10:40.568+08:00</updated><title type='text'>RR (19,6,3,1): Proxy authentication required</title><content type='html'>There was just this one gripe I have when it comes to generating (pseudo)random numbers in JavaScript. I mean, normally there's Math.random to use, and when that isn't there, you probably won't even want to use JavaScript for whatever task you were intending to do. (Web browsers that don't even support Math.random can't be expected to support any decent amount of the DOM to produce useful results.) Sometimes people roll out their own PRNG as a replacement when the standard one is either nonexistent or highly autocorrelated. Chances are, though, that it's near impossible to make a decent PRNG in just JavaScript that runs at a reasonable speed. No, that's impossible, stop trying.&lt;br /&gt;&lt;br /&gt;A quick run-through on PRNGs. This feels like déjà vu, especially considering I did all these explanation stuff before. Anyway. There are some things to look for in a PRNG. The first is the most important: equidistribution. (Take note of this.) After that, other important properties include having a long period and low/minimal autocorrelation. If I'm not wrong, last I checked SpiderMonkey (the JS engine used in Netscape (seriously) and Gecko) used the PRNG from Java, which I think is a 64-bit LCG. Now, LCGs are not very good; but one good thing is that they're relatively fast.&lt;br /&gt;&lt;br /&gt;Except when you're trying to make them in JavaScript. Unless you're willing to sacrifice the low-autocorrelation aspect, making a 64-bit LCG in JS requires that you write your own adder. (Well, that's not too hard, but it's slow.) Being 64-bit also implies that you can't use addition on 2 32-bit parts, since the signed integer type only goes up to 2&lt;sup&gt;31&lt;/sup&gt;−1, and SpiderMonkey only optimises integer operations for integers less than 2&lt;sup&gt;30&lt;/sup&gt;. (I'm not sure whether it's 2&lt;sup&gt;30&lt;/sup&gt; or 2&lt;sup&gt;31&lt;/sup&gt; actually.) In other words, it's just beyond the cutoff point for using two parts, so you to use at least three. At these small sizes, the fastest algorithm is direct addition, so you're pretty much stuck with using an algorithm that's probably at least 10 times slower than the default one. (That's if you optimise the call to Math.random by avoiding the object access. But even if you don't, it's still much slower.)&lt;br /&gt;&lt;br /&gt;Anyway. There is occasionally a good reason to roll your own PRNG: when you want repeatable results. I don't know whatever for, but yeah. The standard PRNG doesn't allow you to set the seed, in part because it's such a rare use case, and it's not portable: different engines use different PRNGs, and using the same seed doesn't guarantee the same results anyway. Another (much less plausible) reason is that high-quality pseudorandomness is wanted, and a 64-bit LCG just isn't cut for it.&lt;br /&gt;&lt;br /&gt;So, earlier I mentioned equidistribution. I think most of the PRNGs used are equidistributed, so it's really a moot point. Except that sometimes people want to generate integers in a range. This is a serious &lt;abbr title='pain in the arse'&gt;PITA&lt;/abbr&gt;. Many (I really mean &lt;em&gt;many&lt;/em&gt;) JS tutorials offer a method like &lt;code&gt;Math.round(Math.random()*(n-1))&lt;/code&gt; to generate a number between 0 and &lt;var&gt;n&lt;/var&gt;−1. If you can't immediately tell what's wrong with that there must be something wrong with your brain. If this is used to simulate a dice roll, 2, 3, 4 and 5 will occur equally frequently, but 1 and 6 only occur at half the rate of any of the other numbers. Whatever happened to equidistribution?&lt;br /&gt;&lt;br /&gt;I digress for a while. There's actually one use case for that piece of code. When &lt;var&gt;n&lt;/var&gt;=2, all is fine. Or when it's desirable that the endpoints are chosen less frequently; a bit of a stretch (since the triangular distribution would serve as well, and typically better), so let's just assume this never happens.&lt;br /&gt;&lt;br /&gt;Back to topic. Why just JS? Because it's so damn common; I already mentioned, because so many tutorials suggest that shitty wrong method. And, JavaScript support is already included on most relatively recent machines; we can probably assume that everyone with a computer bought post-2000 will have a web browser that supports JS. And typically, the same people who learned JS online also write tutorials online, spreading more of this useless unknowledge.&lt;br /&gt;&lt;br /&gt;This hardly happens for other programming languages, because they normally just have a PRNG that outputs integers in a preset range, and range reduction is trivial, and very hard to screw up badly. (The "badly" quantifier is needed because it's easy to screw up, even intentionally for convenience/speed purposes, but the basic mistake doesn't cause much harm.) That, or they already provide a variable-range PRNG.&lt;br /&gt;&lt;br /&gt;Maybe it's just that I'm better than the average person in maths. I mean, people suck, and even more so on the internet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-5522185646199836343?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/5522185646199836343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=5522185646199836343' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/5522185646199836343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/5522185646199836343'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/04/rr-19631-proxy-authentication-required.html' title='RR (19,6,3,1): Proxy authentication required'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-5545969939822268793</id><published>2010-04-22T20:32:00.001+08:00</published><updated>2010-04-22T20:32:59.434+08:00</updated><title type='text'>RR (19,6,3): Not acceptable</title><content type='html'>This is the second post (or maybe third) I'm posting entirely in Elinks, because it's just so cool. Seriously man.&lt;br /&gt;&lt;br /&gt;Anyway, back to topic. Assuming there was one to start with. Since I forgot what I was going to write (yet again), there be more filler. The post numbers (since #403, titled "Forbidden") have been titled after HTTP status codes. In all seriousness, I think the most a normal user would see would probably the 404; I'm guessing most of you readers might also know 403, but probably not 405 "Method not allowed". Well, at least I didn't know about it until I checked.&lt;br /&gt;&lt;br /&gt;Recently I had another game concept. Basically something like the Bullet Hell genre, but less hell-ish, or in other words easier. I'm not going to reveal too much right now; it's going to be incredibly simple. I haven't actually been bothering to work out some details, which will likely trip me over when I actually try to program it. I mean, that happened the last time, so I just deleted the whole chunk of code, and didn't bother trying again. So much for perseverance.&lt;br /&gt;&lt;br /&gt;I'm currently in the library right now. If things go well over the weekend, I might be able to screw compulsory study time.&lt;br /&gt;&lt;br /&gt;I am currently with a packet of MSG. I don't know what some people have against MSG, but it's nice. Some Japanese dudes decided that MSG activates some other taste receptor that was not previously known and decided to name this taste umami. That was just random trivia filler, because I'm still trying to recall what I was going to write. (Disclaimer: I'm not even sure this story is partially accurate.)&lt;br /&gt;&lt;br /&gt;Right. Here's something. There's a finite limit to what any person can do. No, this isn't about how an individual is weak and a group strong and all that nonsense, I don't buy that. Even in a group there's a finite limit to what you can do. Some people believe that willpower is all that is needed to succeed in life. I don't buy that either. I feel that while sometimes my mental situation is a liability, it also helps me be more rational and not give shit about more human issues. Belief does not affect truth. If you can't do it, you can't do it. It's a simple tautology, but some people don't get it. Will isn't magic.&lt;br /&gt;&lt;br /&gt;This post ends here because I just finished my packet of MSG.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-5545969939822268793?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/5545969939822268793/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=5545969939822268793' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/5545969939822268793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/5545969939822268793'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/04/rr-1963-not-acceptable.html' title='RR (19,6,3): Not acceptable'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-904466856552717145</id><published>2010-04-19T00:19:00.001+08:00</published><updated>2010-04-27T09:21:49.707+08:00</updated><title type='text'>RR (18,9): Method not allowed</title><content type='html'>You know how &lt;abbr title='Internet Service Providers'&gt;ISPs&lt;/abbr&gt; sometimes provide connections slower than what you paid for? (That's when assuming the server can handle the load and taking latency into account.) The reason is simple: they don't actually have that much bandwidth. How much of a surprise was this?&lt;br /&gt;&lt;br /&gt;Consider the typical internet usage pattern a few years ago. Then, people mostly downloaded not-very-large files (a few megabytes, rarely going into hundreds) at full speed in short bursts (and not a lot of data at other times), so it was easy to "cheat" a bit and provide less bandwidth than what they advertised, dynamically increasing it when users were downloading large  files. That used to make sense; less bandwidth means less cost for both the end user (sometimes) and the ISP.&lt;br /&gt;&lt;br /&gt;Of course, that was in the past. Many things have changed; for one, downloads are getting bigger and file sharing is even more common (for better or worse you decide), so people are effectively downloading a lot of data almost all the time, except maybe at night. That antiquated infrastructure can't handle this kind of constantly high load, which leads to reduced speed. In other words, now the ISP can't provide what they're advertising; now they really are cheating your money. (IMO I find it quite suspicious that yesterday at home I downloaded from YouTube at only 80 kB/s, when YouTube can obviously handle larger loads well.)&lt;br /&gt;&lt;br /&gt;This has ramifications. One is that in situations where many people are downloading stuff at the same time the network can and will crawl to a halt. As of now I'm trying to download a file from MIT, and it's been stalling for almost an hour. Not even a byte. In other words, advertising 12 MB/s speed (last year we were told that the hostel network is 12.5 MB/s) is just cheating when most of the time the users are awake the total bandwidth falls short by a large amount.&lt;br /&gt;&lt;br /&gt;For the record, I just downloaded a file at average speed 14.2 kB/s. Taking a conservative estimate that there are 600 people using the hostel network at that speed, it works out to… only 8.5 MB/s. Not even close to 12.5 MB/s. (Unless you consider "close" to mean within 32% or something like that. That's a very loose definition.)&lt;br /&gt;&lt;br /&gt;Some ISPs (probably not the Singaporean ones) temporarily cut you off the network when you are using a huge portion of their bandwidth. Even though you paid for it. How much sense does that make? Unless the contract included a provision saying that you as a client may not use excessive bandwidth, they shouldn't be able to do that. And even then, if they're only allowed to use a limited portion of their bandwidth, why advertise it as being as high as it appears to be? That's misleading (and actually intentionally wrong) advertisements, and those should be illegal.&lt;br /&gt;&lt;br /&gt;PS: in the hostel, downloading can go over 1 MB/s if you know how to. (That's right, almost 10% of the total bandwidth.) The trick is to use it when nobody else is using it: in the early morning. I'm mostly assured by the fact that the only people who read this blog and are in the same hostel as I am either use mobile broadband or can't be bothered to wake up early just to use the internet.&lt;br /&gt;&lt;br /&gt;Update (Apr 27 2010): minor corrections.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-904466856552717145?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/904466856552717145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=904466856552717145' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/904466856552717145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/904466856552717145'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/04/rr-189-method-not-allowed.html' title='RR (18,9): Method not allowed'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-2257135324531420908</id><published>2010-04-16T19:50:00.000+08:00</published><updated>2010-04-16T19:50:11.483+08:00</updated><title type='text'>RR (20,2): True, false, file not found</title><content type='html'>It's been quite uneventful of late, and I don't really have anything to say about much. The most important event that happened since the last post is that the library now has a fingerprint scanner, which makes it more inconvenient to escape. Pretty damn near to impossible, in fact. I figure one way I might succeed is to camp in the library for a few hours from 5 pm, but that just seems dumb.&lt;br /&gt;&lt;br /&gt;Oh, and about the library. I was in the library earlier today with my laptop. The library would have been quite a nice place to experience auditory enjoyment, but it so happens that there were a bunch of Year 2s (I think) sitting next to me. At first it wasn't that bad, because it started with only one girl, and autocommunication is best not to be seen by others, but suddenly got worse when people started coming in. Presumably her classmates, since they were doing some project. I was sitting at the back of the library, near power outlets, which might have explained why that area is so damn popular.&lt;br /&gt;&lt;br /&gt;So anyway, it got so bad/noisy/annoying that I decided to leave. But before that, I managed to eavesdrop (ha, yeah right, as if they should have been talking in the library in the first place) on a small part of their conversation, where they were talking about anime. Then some girl (probably not the same girl, but I couldn't tell since I was fixated on my laptop screen trying to drown out their nonsense) mentioned that she couldn't find some series on the popular video sites. Hey guess what? You just acknowledged that you illegally download anime. You  asshole.&lt;br /&gt;&lt;br /&gt;Yes, I was being a hypocrite. But at least I don't publicly announce that I do illegal stuff most of the time, except when the law is obviously the one that is wrong.&lt;br /&gt;&lt;br /&gt;And about where the law is wrong: software patents. Because most of my songs are in AAC format, I need a decoder to listen to them. For that, I use FAAD with Gstreamer as a frontend. It's distributed as a compiled program, so me using it is technically illegal. But this is a shit law. If people followed shit laws there would never be law reforms, even when situations change and things once good are now bad, and maybe vice versa.&lt;br /&gt;&lt;br /&gt;I realise something. The way I post in this blog is effectively like a Wiki Walk (yay TV Tropes but then I'm too lazy to link); each group of paragraphs is related to the previous by some at times rather contrived link.&lt;br /&gt;&lt;br /&gt;The title of this post is a reference to both HTTP 404 (guess what the post number is) and the TDWTF article &lt;a href="http://thedailywtf.com/Articles/What_Is_Truth_0x3f_.aspx"&gt;What Is Truth?&lt;/a&gt;. Of course, if you thought that FileNotFound was the only weirdness that programmer committed, note that True is 0 and False is 1. Opposite of what C-like programming languages (C, C++, Java) have as convention.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-2257135324531420908?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/2257135324531420908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=2257135324531420908' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/2257135324531420908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/2257135324531420908'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/04/rr-202-true-false-file-not-found.html' title='RR (20,2): True, false, file not found'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-2293497040327936797</id><published>2010-04-06T01:17:00.000+08:00</published><updated>2010-04-06T01:17:47.025+08:00</updated><title type='text'>RR (15,13,3): Forbidden</title><content type='html'>The Sunday before yesterday, I got a new laptop. You should already know this. That said, though, I only got to use it on last Saturday. Here I document my experience with it so far. &lt;br /&gt;&lt;br /&gt;The keyboard looks pretty stylish, although considering that I'm having stickers over quite a lot of the keys it doesn't really matter much. I'm still getting used to the keyboard layout for some keys. (Page Up/Down are individual keys now, something I complained wasn't in the Vaio; Delete isn't at the corner; Home and End are Fn-Pg Up/Dn instead of Fn-←/→.)&lt;br /&gt;&lt;br /&gt;Interlude: NUSOPEN keeps disconnecting.&lt;br /&gt;&lt;br /&gt;Anyway. On Saturday, I tried booting Ubuntu 9.10 64-bit. It worked… for various definitions of working. It was running, sure, but I didn't realise that it had a Nvidia graphics card. The version of the driver provided with Ubuntu wasn't exactly perfect; there was obvious colour banding, and Compiz wasn't working. Hey… wait a minute! Almost four hundred posts / two years ago I &lt;a href="http://chltoopro.blogspot.com/2008/04/rr-232-why-my-vaio-sucks.html"&gt;commented about something similar on the Vaio&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;Oh, and that reminded me. There wasn't even a wireless driver. For a few hours that day, I was booting Ubuntu on the other computers at home for lulz because I was bored. I booted Ubuntu 7.04 on my sis' previous laptop (we all got new laptops, same models even), since it had a 32-bit processor. It felt completely retro. I mean, the last time I did that was about two and a half years ago. Crazy, I tell you. Then my father's tablet. I thought I posted on this before, but I can't find the post, so who cares. Years back, the tablet functionality didn't work. Now it did.&lt;br /&gt;&lt;br /&gt;Getting back. I was pretty bored for quite some hours. Then I figured to try out the next version of Ubuntu, currently in beta. You probably already know that I'm pretty crazy and I use nightly builds for both my web browsers (Firefox and Chromium) and mail client, but the operating system is one thing I don't want to screw around. My fears are not unfounded (note present tense). I've had quite a few hangs so far.&lt;br /&gt;&lt;br /&gt;Anyway, I'm really descending into irrelevance. I installed Ubuntu, then got someone to download Ubuntu 10.04 32-bit. (I was hoping for a while that the driver issue was 32-bit vs 64-bit, and it didn't really harm to try both getting a newer version and the 32-bit one simultaneously.) Oh, and about the installation process. While installing, I noticed that there were four partitions. I guess that's pretty typical for a Windows setup, except not really. I mean, if there were just three it's not too hard to explain: recovery, main, storage. But four… I don't know. The first three partitions were all marked as boot options in Grub, the recovery one as Windows Vista (!!!) and the other two Windows 7. I installed to the spare partition instead of just nuking everything because I wasn't sure there'd be complications. (I didn't figure out what the Vista partition was for until I booted it to see. It booted damn irritatingly slow.)&lt;br /&gt;&lt;br /&gt;Oh, boot speed. This one is a nice thing to talk about. My sister tried to boot Windows 7 on her laptop, it took 31 seconds. On the other hand, Ubuntu took just 10 seconds. It's using a conventional HDD instead of an SSD, so I don't really expect boot times under 5 seconds. Either way, that's pretty damn fast. And for the record, that's 64-bit Windows versus 32-bit Ubuntu. It's slightly tilted in favour of Windows, and it was still slower.&lt;br /&gt;&lt;br /&gt;Getting back to the story. (Was there even one to begin with?) After booting Lucid from my thumbdrive (because it's much faster than DVDs and much less noisy) the wireless worked. For me, that's good enough. There was still colour banding, but I don't really care. If the Internet works, I'm not complaining.&lt;br /&gt;&lt;br /&gt;Sidetrack. I realise how reliant I am on the Internet now. It's annoying. End sidetrack.&lt;br /&gt;&lt;br /&gt;Because I hadn't had the labels yet I was completely touch typing my way through everything, except passwords, where I manually performed a Dvorak mapping. I didn't want to bother typing them over and over again.&lt;br /&gt;&lt;br /&gt;Oh. More stuff. The webcam actually works. I installed Cheese, and the webcam works. Now, I don' think I actually have any use for this. Apart from lulz. The touch-sensitive "button" (you can't really call it a button if it can't get depressed) that says "Camera" above the function keys on the keyboard, however, doesn't do anything. Not that I expected it to work.&lt;br /&gt;&lt;br /&gt;And about superfluous buttons. I somehow got used to the media buttons at the front of the Vaio which could control media playback in Totem. I'd now move my hands in only to realise there's nothing there. How strange. There aren't volume control buttons either now.&lt;br /&gt;&lt;br /&gt;Oh, and about the lack of Compiz. That means I have to use Metacity. I don't like Metacity; it has a tendency to crash. Seriously, for a WM that's supposed to be simple and boring it actually fares worse than a WM that's supposed to be fanciful (among other things; Compiz isn't all about eye candy).&lt;br /&gt;&lt;br /&gt;Sidetrack. Don't ask how this is relevant. My mother tried to set up the printer in Windows, and she failed. What makes this all the more lulzworthy is that with a minor configuration tweak it works in Ubuntu. "minor" as in using the C5600 driver instead of the (nonexistent) C5650 driver, something that anybody would try. This obviously is strange, but what it demonstrates is that now Linux is catching up to Windows in terms of hardware compatibility. End sidetrack again.&lt;br /&gt;&lt;br /&gt;This post ends here. There's a lot of incoherence, but that's to be expected right?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-2293497040327936797?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/2293497040327936797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=2293497040327936797' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/2293497040327936797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/2293497040327936797'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/04/rr-15133-forbidden.html' title='RR (15,13,3): Forbidden'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-271846835371490519</id><published>2010-04-01T12:34:00.001+08:00</published><updated>2010-04-01T15:19:19.255+08:00</updated><title type='text'>RR (20,1,1): Shitload of shit happens</title><content type='html'>You know, occasionally, shit happens. And then, somewhat rarely, quite some shit happens. And then, even more rarely, lots of shit happens.&lt;br /&gt;&lt;br /&gt;On Sunday when I was going back to the hostel, and when I was taking the lift up I dropped my bag (inside the lift), which contained both my laptop and adaptor, among other things. Notice that I haven't mentioned much about the adaptor before, so by the principle of detail conservation this has something to do with it. My laptop had a 17-day no-shutdown combo (then), which was nice, if not completely useless. I have no intention of breaking this so soon. When I got to my room, I realised that the adaptor was malfunctioning. I was like panic: &lt;a href="https://twitter.com/0x3c0/status/11195604526"&gt;twitter.com/0x3c0/status/11195604526&lt;/a&gt;. Not that that helped anything.&lt;br /&gt;&lt;br /&gt;And then I miraculously got it to work again. At least for a short period of time. I proceeded to &lt;a href="https://twitter.com/0x3c0/status/11195604526"&gt;continue downloading 64-bit Ubuntu&lt;/a&gt;. I left the adaptor in the exact same spot until yesterday. Damn study time. I decided to bring along my laptop. (In retrospect, this was among the dumbest things I've ever done.) And of course taking the adaptor was also necessary, since the battery only runs for 20 minutes.&lt;br /&gt;&lt;br /&gt;You can guess the outcome. It ceased functioning again. I am sadnessing. No actually that isn't even a word, I think. More appropriate might be "experiencing sadness". Because I was bored, I took out my 2×2×2 out to play. Then the teacher-in-charge confiscated it. Grr. Okay, I don't really blame him. He's a pretty cool guy. (Not sure about him killing aleins, but still.) I proceeded wasting 1 hour of my worthless life doing absolutely nothing useful.&lt;br /&gt;&lt;br /&gt;As of now it's still not working. But anyway. After study time ended &lt;del&gt;I&lt;/del&gt; someone went to help some ex-409 people to make half a Darth Vader face on the school field. It was pretty fun. Then &lt;a href="http://chltoopro.blogspot.com/2010/01/rr-1710-more-nonsense.html"&gt;that bastard&lt;/a&gt; came over and asked &lt;del&gt;us&lt;/del&gt; them to clean up, citing the chopsticks on the ground (to fasten the garbage bags to the ground) as a hazard. Nonsense.&lt;br /&gt;&lt;br /&gt;That's not actually all the shit that has happened so far, although I am not inclined to actually comment on anything else that happened. This post ends here.&lt;br /&gt;&lt;br /&gt;PS: I lied. Anyway, currently running 64-bit Ubuntu in the school comp lab, after Shaun C. reminded me of the existence of computers in the comp lab. How convenient to have it on a thumbdrive just for this occasion.&lt;br /&gt;&lt;br /&gt;Update/addendum: I forgot to mention that during the time my laptop did not shut down, I updated Linux, which prevents hibernate from acting. This is actually a "fix" (more like workaround) for a bug where hibernating and restarting with a different kernel version fails, and Linux just boots normally.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-271846835371490519?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/271846835371490519/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=271846835371490519' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/271846835371490519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/271846835371490519'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/04/rr-2011-shitload-of-shit-happens.html' title='RR (20,1,1): Shitload of shit happens'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-8578757910301413463</id><published>2010-03-21T14:01:00.000+08:00</published><updated>2010-03-21T14:01:09.797+08:00</updated><title type='text'>RR (20,1): Video on the web</title><content type='html'>A preview version of IE 9 was released quite recently. According to other people (because I obviously can't have first-hand info) the layout engine (which probably won't be called Trident any more) is much better than IE 8. That shouldn't be much of a surprise, really.&lt;br /&gt;&lt;br /&gt;The important thing is that IE 9 will support the HTML5 video tag, which would allow viewing videos without using plugins. Of course, like Apple, Microsoft is being a bunch of assholes here, choosing to support H.264 instead of Theora. I'm guessing it's due to fear of patents; very ridiculous, especially when you consider that both Apple and Microsoft are very much for patents. And for that matter, just because MPEG already has so many patents surfaced doesn't mean it won't have any more, geniuses. The hidden patent argument against Theora is completely bullshit.&lt;br /&gt;&lt;br /&gt;And then take note that On2 developed the predecessor to Theora (VP3), using their own algorithms, which while patented by them, can be used freely by anyone. They patented just about every patentable aspect, just so that it's impossible for them to step on someone else's patent unless the patent office screwed up. If Theora has other patents, it's not On2's liability, not anybody's liability, except the patent office. It's their fault.&lt;br /&gt;&lt;br /&gt;It's actually pretty obvious why Apple and Microsoft are for H.264, and I mentioned this before: because they are already paying the licences for other products, so they don't have to pay extra to use it. And if I'm not wrong they're also on the receiving end as patent holders, which provides even more incentive. If that were true they definitely wouldn't want to support anything else.&lt;br /&gt;&lt;br /&gt;The quality issue… I discussed that 7 months ago. I haven't actually done any benchmarks myself; maybe I should. It's already pretty well known that the current reference implementation encodes with quality roughly the same as x264 (the best H.264 encoder) at the same bitrate. (And for the audio part it's pretty much agreed everywhere that Vorbis is better than MP3 at any bitrate and probably also AAC at not-low bitrates (say, 80 kbps).)&lt;br /&gt;&lt;br /&gt;It's actually very hard to justify using H.264 instead of Theora unless you're already providing content in that format. And even then how hard can it be to provide future content with Theora?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-8578757910301413463?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/8578757910301413463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=8578757910301413463' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/8578757910301413463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/8578757910301413463'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/03/rr-201-video-on-web.html' title='RR (20,1): Video on the web'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-2194300650731647717</id><published>2010-03-20T20:14:00.000+08:00</published><updated>2010-03-20T20:14:55.723+08:00</updated><title type='text'>RR (20): 400th post!</title><content type='html'>Yesterday was a pretty horrible day. Probably among the worst hundred in my life. Practically unate most of my dinner. Might have something to do with my diet for that day. I slept early (I think 9+, but I was too concerned with the discomfort to go over to my laptop and check the time), and woke up at around 1 am, by which time I was mostly fine. So it's pretty fine. Today, that is. It wasn't yesterday any more. I slept afterwards at about 5.&lt;br /&gt;&lt;br /&gt;I did not completely forget that Mr. Ku's birthday was two days ago. Just that it slipped my mind.&lt;br /&gt;&lt;br /&gt;I peeled off all the keyboard labels on the middle row. Having the most common letters both aggravates and helps; it means my muscle memory is somewhat trained for those letters already, but also that I tend to refer to my keyboard more and mistype more letters. Especially when in Qwerty and Dvorak the letter 'h' differs by one position, so when I decide to "trust" the keyboard instead of my memory I type the wrong letter. Some time ago there was a post on Slashdot about &lt;a href="http://ask.slashdot.org/story/10/03/07/2110251/Correcting-Poor-Typing-Technique"&gt;correcting poor typing technique&lt;/a&gt;; seems that, from the comments, switching layout is a dumb way to rectify the issue. Of course, that's not why I switched to Dvorak. I switched for lulz.&lt;br /&gt;&lt;br /&gt;I will be buying a new notebook. (As in, paper notebook, not metal notebook.) I didn't see the bookshop selling white pocket-sized ones; I'll check again.&lt;br /&gt;&lt;br /&gt;Speaking about school, I completely loathe the hostel system. And idiots who don't think it's a crime for perfectly non-handicapped people to take the lift instead of the stairs, when not carrying anything heavy. Heavy here is, of course, subjective, but let's just say that school bags in general are not heavy. Mine has pretty much everything from the start of the year, and I don't think it's heavy enough to justify taking the lift up two storeys instead of just walking, except I never encounter such a situation because I'm on the tenth storey.&lt;br /&gt;&lt;br /&gt;Time to make the keyboard labels, with better paper this time. Of the previous set of labels only the top row labels and hyphen-underscore were in relatively good condition.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-2194300650731647717?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/2194300650731647717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=2194300650731647717' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/2194300650731647717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/2194300650731647717'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/03/rr-20-400th-post.html' title='RR (20): 400th post!'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-1501865201987743606</id><published>2010-03-15T20:57:00.000+08:00</published><updated>2010-03-15T20:57:53.025+08:00</updated><title type='text'>RR (19,6,1,1): Digital Life on Ubuntu</title><content type='html'>If I recall correctly DL has been having an article on Ubuntu weekly since three weeks ago. This would probably be the second time they had coverage on Ubuntu. Or maybe third; my memory isn't very good. (Or even more.) The first time I can recall was in November 2007 (iirc; I still have the issue, but I can't be bothered to find it).&lt;br /&gt;&lt;br /&gt;So, here's a review of what DL had to say about Ubuntu. A commentary, if you will. I expect that by now most of you don't have the issue of DL I'm talking about, but then I don't really care. The article is on page 21 (according to the numbering), the title is "Install essential Linux apps".&lt;br /&gt;&lt;br /&gt;The second paragraph claims quite truthfully that there are some essential software missing from a default install. Yes, we should expect that people don't know that a 700 MB CD can only hold so many programs. (Most people are idiots, yes?)&lt;br /&gt;&lt;br /&gt;The first program they mention is Flash. I'm not going to ramble about how Flash isn't free here, because that isn't the main concern for most people. The main issue is that this professional is asking people who might be novices to use Synaptic Package Manager, which is mostly dense and isn't exactly user friendly. (It took me quite some time to figure out how it worked (back in 2007).) Similar for the second program, &lt;abbr title='Java Runtime Environment'&gt;JRE&lt;/abbr&gt;. It's a bit dumb that he didn't put these two together, so they can be installed together, which saves a lot of time because Synaptic has a tendency to sort out dependencies unnecessarily after actions.&lt;br /&gt;&lt;br /&gt;The third one is legally ambiguous. The reason Ubuntu doesn't have MP3 support out of the box is because of software patents. If the patents would just lapse into oblivion I'm pretty sure Ubuntu would start including them. And, of course, software patents are valid in Singapore; notice that when you try to install a codec when (say) Totem tries to play an MP3 file while the codec isn't installed it bitches about how what you're doing might not be legal? MP3 apparently has patents in Singapore. You can't use them unless you have a licence. (Microsoft and Apple pay for these, which is why they can include it by default.) Most people don't have licences to use MP3. In other words: the article is advising people to illegally download software. (Canonical does not have a licence for these packages. They want you to buy some Fluendo Pack.)&lt;br /&gt;&lt;br /&gt;Sidetrack. I do have these codecs illegally installed. Because I don't care about software patents. Unlike copyright law, software patents are actively harmful. Unlike traditional "hardware" patents, these "protect" ideas and methods, not the execution of the ideas and methods. More pragmatically, I need them to do stuff like watching videos. (YouTube uses H.264 and AAC, both of which are patented. I'm not sure whether AAC is patented in Singapore, although it probably is. H.264 definitely is though, as is MP3.) End sidetrack.&lt;br /&gt;&lt;br /&gt;Besides, why even bother installing these by themselves when the metapackage &lt;a href="http://packages.ubuntu.com/karmic/ubuntu-restricted-extras"&gt;ubuntu-restricted-extras&lt;/a&gt; includes these, and is much more convenient? And for that matter, the Software Center is definitely more user friendly, and also has ubuntu-restricted-extras.&lt;br /&gt;&lt;br /&gt;After these there's Skype and Wine. Okay, not really much of an issue here, except that we should assume the user knows how to go to the Skype website and download and install the applicable version already. How hard could that possibly be?&lt;br /&gt;&lt;br /&gt;As for Wine, well, shouldn't you at least have mentioned that it is capable of running (some) Windows viruses? That's in the Wine FAQ, but if you already provided all the steps to install how many people would see the FAQ? (There's also a typo there, one that shows that the typist was using Qwerty and the editor doesn't know Unix.)&lt;br /&gt;&lt;br /&gt;That's not all, of course. The title itself implies that Ubuntu = Linux, which is so obviously wrong. I expect most of you readers to know that I use Ubuntu, and that I've never confused a Linux distro with Linux. More concisely, Ubuntu contains a modified version of Linux. And truthfully speaking, the only essential app in the list is probably the codecs. (It's the only one I can't (metaphorically) live without; I use OpenJDK instead of the Sun JRE (just to run KoLmafia) and Gnash instead of Flash Player.)&lt;br /&gt;&lt;br /&gt;I think that's about it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-1501865201987743606?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/1501865201987743606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=1501865201987743606' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/1501865201987743606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/1501865201987743606'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/03/rr-19611-digital-life-on-ubuntu.html' title='RR (19,6,1,1): Digital Life on Ubuntu'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-357664789474097247</id><published>2010-03-11T01:18:00.001+08:00</published><updated>2010-03-12T15:26:49.632+08:00</updated><title type='text'>RR (19,6,1): This post is filler</title><content type='html'>I'm actually going to write a proper post some time soon, but this isn't that time. Laziness is obviously the reason here.&lt;br /&gt;&lt;br /&gt;In the meantime, what I'll be writing about in the next post (probably; I haven't started yet so things might change) will be DL. It's pretty much the only section of the newspapers I read periodically apart from the comics.&lt;br /&gt;&lt;br /&gt;On a somewhat unrelated note, I haven't been getting Today delivered home for quite some time. Anyway, I remember there was this advert in Today which appeared at least twice about this lucky charm thing. I was going to write a post about the ridiculousness of it, but considering I no longer have the source material this is pretty unlikely now.&lt;br /&gt;&lt;br /&gt;Completely unrelated: I can factor 4-digit numbers mentally within a few minutes. And on average, numbers less than 1600 in less than a minute. Of course, the latter is worth mentioning because of &lt;a href="http://xkcd.com/247/"&gt;xkcd&lt;/a&gt;. I use a mix of methods to check for divisibility before dividing, since divisibility is easier to check and division is unlikely to be necessary.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-357664789474097247?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/357664789474097247/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=357664789474097247' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/357664789474097247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/357664789474097247'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/03/rr-1961-this-post-is-filler.html' title='RR (19,6,1): This post is filler'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-8057322932099856137</id><published>2010-03-02T20:04:00.000+08:00</published><updated>2010-03-02T20:04:14.078+08:00</updated><title type='text'>RR (19,6): Stupid proxy is stupid</title><content type='html'>Another offline post. The hostel network has been quite hostile. I've tried logging in since I got disconnected at midnight earlier today, manually a few hundred times, and then I started scripting it, and it's been going on at about 2 attempts a second. The first run went from around 12:30 to 2 am, the second from 7 to the time my laptop overheated (which I don't know, because the logs got filled with spam), third from 9 am to about now, which is 12:54 pm as I type. This makes for at least 11/2 hours of attempts, or almost 40000 attempts. (How many attempts? It's over nine thousand!)&lt;br /&gt;&lt;br /&gt;I will now ridicule the idea of using this proxy thing. I think I've blogged about it before, where it triggered a bug causing Thunderbird to redownload every message, resulting in 14 copies for the oldest messages and 6 or so for the more recent ones. For those who don't know what it is (people not in NUS High), basically, when you first connect to the network, LAN or wireless, and you try to access a site through HTTP, you'll get redirected to https://ezxcess.antlabs.com/www/pub/nus/login.htm . The login page is itself a flurry of WTFs, but that's not what I care about. The biggest and most important WTF here is that you get redirected instead of getting a refused connection. Does that make sense?&lt;br /&gt;&lt;br /&gt;Let's put things in context. Say some day I'm at home, I opened a bunch of tabs, I had Firefox save them when I quit. (Chrome can't do that.) I go to school the next day, connect to NUSOPEN, and when I open Firefox, I see a bunch of tabs asking me to log in instead of where I originally wanted to go. All those tabs are gone. It's not just mildly frustrating, it's extremely frustrating. And annoying. Now, there's a minor half-implemented feature in this proxy; the login success page has the original URL accessed as part of the query; unfortunately, this half-implemented feature really is just half-implemented; for some idiotic reason you're not automatically redirected there. And if you were trying to go to multiple sites (as in the hypothetical scenario), only one of them is in the URL. Even worse, if the OS requests for some online service before you start the browser (Ubuntu asks for the weather), you don't even get one tab with the correct URL.&lt;br /&gt;&lt;br /&gt;I'm not saying that this feature is good. It's helpful, but it's like shooting a bunch of random people on the street then sending just one of them to the hospital for treatment. It's remedying a problem that shouldn't even be there in the first place.&lt;br /&gt;&lt;br /&gt;It's for idiot-proofing, I know, but seriously, if you consider a school where a large proportion of the population are nerds and think that idiot-proofing is necessary, there's something wrong with you. In my supreme and not-humble-at-all opinion, a better solution would be to have the proxy not serve anything, replying with server not found or keeping the connection alive with empty packets, until the user logs in from the specified URL. This URL can be specified in the handbook, for one. That's a better solution right? The answer is yes. It's difficult to design a system that works worse than the current one, because it sucks so much.&lt;br /&gt;&lt;br /&gt;It seems like that produces an inconvenience. If the user has only one browsing session active, then this solution with the half-implemented feature finished might actually be decent, but it's already 2010; tabbed browsers are mainstream. Iirc IE 7 (the first version of IE to have tabbed browsing) was released in 2007. Years have passed, people should be using tabbed browsers already. (Exception: mobile browsers. Even then, though, some support tabs, like Fennec and iPhone Safari. These are different because they can cache the pages, and they're on most of the time, which means they hardly ever need to flush the cache due to shutdown, so they're still usage exceptions.) I'm not going to rant about how IE 6 is still so prevalent here, that's for another time. In other words, not designing for tabbed browsing, or in this case more specifically thread safety (to be accessed from different browsing sessions at the same time) is obsolete. It's harder to make programs thread safe, many programmers can attest to that. That's why my solution is ideal, if not close; it's only ever accessed from one point at a time, so thread safety is unnecessary.&lt;br /&gt;&lt;br /&gt;Also, the login failure page has "NUSHigh" instead of "NUS High". Which proves they copy-pasted the original with that typo and didn't fix it everywhere. Fail failure page is fail.&lt;br /&gt;&lt;br /&gt;Addendum/postscript. It's 7:04 pm, the script is still furiously trying to log in. Ten hours in this run, or about 23/2 hours total, for over 83000 attempts. I'm the probably the most persistent tryer in the whole school, because really, I'm running the script at maximum speed; the only way to catch up is to start earlier than me or hope that my laptop mysteriously shuts down. (Well, there's a slight overhead in my script, so if you can make one that doesn't lag at all you could probably overtake me within years at this rate, when this problem would be obsolete anyway.) This also marks the longest downtime in the school network I've experienced so far. The last time there was any longer-than-a-second downtime I experienced was just six days ago. Now, fitting data with just two data points is ridiculously hard, and in fact won't give reliable results under most circumstances, so treat this info with just a pinch of salt.&lt;br /&gt;&lt;br /&gt;Side track: salt is nice. And about more irrelevant stuff, the wound on my leg is healing. PE was pretty fine, and was less painful than expected. Actually, the only pain I got was the regular PE type of pain, so it's okay. End side track.&lt;br /&gt;&lt;br /&gt;I'm packing up my stuff for study time (which I'm not skipping today), so I'll have to disconnect for now, and continue the attempts in the library.&lt;br /&gt;&lt;br /&gt;Second addendum. 7:54 pm, I manage to log in. There was a long period of time I didn't even attempt, because I was consuming dinner, and my laptop was in my bag, because I thought there would be compulsory study time. Nonsense, it's cancelled, and I'm not informed. I don't even expect to be informed about any upcoming changes to the plan. It's pointless now, because changes could also be issued without information. This is bullshit. Oh, and in the attempts to log in I fetched almost 500 MB of data over the network. That certainly is useful. A definite waste of resources on both ends. I hate downtime.&lt;br /&gt;&lt;br /&gt;PPS: I finished the first part of the post at around 13:37. Too bad we're way past that now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-8057322932099856137?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/8057322932099856137/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=8057322932099856137' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/8057322932099856137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/8057322932099856137'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/03/rr-196-stupid-proxy-is-stupid.html' title='RR (19,6): Stupid proxy is stupid'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-4095820732543051107</id><published>2010-03-01T00:24:00.000+08:00</published><updated>2010-03-01T00:24:00.646+08:00</updated><title type='text'>RR (18,6,6): Nonidentifying identification</title><content type='html'>Eh, that sounds like an oxymoron. Well, of course, by the standard tactic of definition changing it starts to make sense. Anyway, what I'm considering here is a way to identify yourself on websites, while at the same time not revealing any information about yourself, or to other websites that you might use (that also uses this idea). Now, I'm not making any claim that this idea is original; people probably already thought of it, and I probably already read it somewhere and am just regurgitating my thoughts.&lt;br /&gt;&lt;br /&gt;Side note. There already is a way of using the same identification across websites, and it's called OpenID. The basic principle behind OpenID is log in once on the provider site, then the provider site will show proof that the user is really you (or at least knew your password). Of course, it's vulnerable to phishing, but I'm not caring about that.&lt;br /&gt;&lt;br /&gt;The core concept is to use just one password for everything. Of course, this single password better be damn secure, because a single breach means that someone else can use all your other identities. Although exactly what this person could use it for is another question. (Well, actually, the user need not even know the password; it just needs to be stored as a browser preference. In that case then, it could be completely random.)&lt;br /&gt;&lt;br /&gt;The way this might work might be something like that. The browser stores a password, then when it comes across a site with that supports this identification method, it takes a hash of the domain concatenated to the password, and submits this hash to the server. The server then takes this hash, concatenates it to a site-specific seed, and uses this result as the final identification. The end-user can then take note of this hash result. (Because this end-user cannot generate the hash result himself/herself.) Considering that a password is involved, a cryptographic hash should be used. The site-specific seed is to prevent collisions from having the same password on the same domain, which shouldn't really be a concern anyway.&lt;br /&gt;&lt;br /&gt;If I'm not wrong, there's no way another site can check whether an identity on another site is the same as one stored in its database much faster than brute force, even if the original hash sent to the other server is known. Me not being able to think of a way to break it doesn't mean that there's no way to break it though. Of course, the brute force part is worrying; the other concern is collisions, which have to be avoided at all costs. A 256-bit hash should have negligible chances of collisions, either intentionally or accidentally.&lt;br /&gt;&lt;br /&gt;If the hash is 256 bits long, it should make sense that the password is at least as long, and in reality it wouldn't make much sense to have it longer. 256 bits is 32 bytes, which a cryptographically secure RNG should be capable of producing within 2 seconds. 2&lt;sup&gt;256&lt;/sup&gt; is also outside the bounds of solar-system-based classical computation, and probably outside Earth-based quantum computation, and well outside current computation speeds.&lt;br /&gt;&lt;br /&gt;A main motivation was for imageboards. Some allow you to use tripcodes, and tripcodes reveal little information about the person using the tripcode. Unfortunately, unless the board is using secure tripcodes, passwords used across boards will generate the same tripcode. Even with secure tripcodes there is a problem; if another imageboard (or generic website) happens to use the same seed, then identification becomes possible. It's not altogether unlikely that different sites will conspire to share the same seed. Here, it's not possible unless the sites are on the same domain, because the first seed used is the domain itself.&lt;br /&gt;&lt;br /&gt;The important question is: has it already been thought up by somebody else? Another important issue to consider is that for this to really work it has to be integrated with the browser, which is an inherently bad idea.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-4095820732543051107?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/4095820732543051107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=4095820732543051107' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/4095820732543051107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/4095820732543051107'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/03/rr-1866-nonidentifying-identification.html' title='RR (18,6,6): Nonidentifying identification'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-2115021247831171936</id><published>2010-02-24T11:12:00.003+08:00</published><updated>2010-02-28T23:24:31.174+08:00</updated><title type='text'>RR (19,5,3): Disconnected thoughts</title><content type='html'>Once again, I'm doing remote blogging, in the sense that I'm not actually online as I type out this post. The hostel network has nicely enough decided to go on strike, which apparently doesn't just affect me. It's also quite apparent that although last year we (Ben, Sundheep, Shaun C. and me) decided to get our own broadband connection, nothing materialised out of it so far. The more we delay it, the less cost-effective it gets. The current situation is very decidedly not nice, since we've dragged this for almost two whole months.&lt;br /&gt;&lt;br /&gt;Lamb stuff. (That was a pun form the I Not Stupid 2 movie, which Shaun C. recently reminded me of.) Yesterday I, uh, I forgot. Oh wait I remember. Yesterday I kind of failed in my attempt to skip study time. I don't like failing. By a circumstance combination Ian didn't manage to help me in my attempt, which led to a rather dubious result of me apparently leaving the library without reentering. (Well, actually that's what I did, but, yeah.) I did not expect that to happen.&lt;br /&gt;&lt;br /&gt;Sidetrack. I don't consider a lot of things. When I play chess, I have an awkward tendency to lose to just about anybody except the lousiest, due to my incredibly linear-like train of thought. In other words, I don't expect what I don't expect (tautology), and what I expect tends to hit reality by sheer luck.&lt;br /&gt;&lt;br /&gt;Extra sidetrack. I have been extremely lucky in my daily activities. It's the kind that anything at least as lucky as that is probably only shared by one permille of the human population. This crazy luck has very obvious drawbacks. First off, the amount of luck I have now is mostly decorrelated with my luck in the future, which could be a bad thing since my dependence on this luck is annoyingly huge.&lt;br /&gt;&lt;br /&gt;Dumb stuff. Today during PE I got a rather painful abrasion from doing something so stupid nobody in their right mind would do with high probability. The strange thing is that the pain didn't set in until quite some time later. Actually, considering that I consistently failed bio, I'm not exactly qualified to comment about this.&lt;br /&gt;&lt;br /&gt;Dark stuff. Shaun just switched off the lights. I'm practically touch typing, except not really, because the computer light is sufficiently bright to illuminate my keyboard labels.&lt;br /&gt;&lt;br /&gt;About typing. I have just about completely unlearned Qwerty. This is (has been?) a huge undertaking, and I managed to pull it off. The consequences, of course, aren't necessarily good; while my peak speed has increased significantly (~380 cpm), it's not exactly an accurate measure of my average speed, which is more like ~280 cpm actually. Something to notice: in my first post about TypeRacer (which I can't link because as I mentioned I don't quite have an internet connection now), my speed was then ~275 cpm, You know what that means? I've improved! Or maybe just that I really sucked. Er, I'm going with the latter. Digressions are annoying. Anyway, what I had intended to say was that not being able to type on Qwerty is actually a big disadvantage. All the computer lab computers use a Qwerty keyboard; hacking becomes much less convenient.&lt;br /&gt;&lt;br /&gt;Today I will be (was/had been?) wearing shorts in place of my regular long pants, because of aforementioned abrasion on my knee. I believe that if the pain has already subsided since then then wearing long pants should be fine, but I don't know. Note that I'm not actively caring about whether I get an infection; the immediate response (obviously pain here) is wired into my primitive mind as being of more significance.&lt;br /&gt;&lt;br /&gt;Gedit actually has some apparently useless toy features such as the word count, which counts over &lt;del&gt;nine thousand&lt;/del&gt; 600 words here so far. I'm kind of tired now, and I have to make up really early tomorrow, which is pretty nonsense, because I'll be getting less than six hours of sleep.&lt;br /&gt;&lt;br /&gt;Appendix/postscript/whatever you want to call it. It's now later today. I was about to write tomorrow, then I realised that I started this post at 12:06 am or so, so it's technically still today. I managed to wake up early, which is nice, but that also means I'll get damn tired later during class, but luckily there's only one class for today (I have decided to not sit in the physics class anymore lol). My knee was like lol when I was trying to sleep (whatever that means), so I put a piece of tissue paper folded over it and secured it with tape before sleeping. The tape is the stupid part. I hardly ever seem to realise the consequences of my actions. I realised I had slept facing down, which also meant that the pressure on my internal organs was greater than usual, which is needless to say quite annoying. Not really painful, just annoying. Anyway, because of irrational fears, I tend to pull the tape off slowly (actually I think this is related to my earlier interest of papercraft where ripping off the tape would tear the substrate), which also means prolonged pain. Since as I mentioned Shaun already turned off the lights, I was placing the tape in just about complete darkness. And I got too much tape, apparently. (The rest of this paragraph is left as an exercise for the reader.)&lt;br /&gt;&lt;br /&gt;Sleepiness is setting in. I think there was another word I was going to use, but it slipped my mind. Annoying.&lt;br /&gt;&lt;br /&gt;Sidetrack. I've been using the word "annoying" a lot recently. I guess it has something to do with the fact that I'm getting irritated more or I'm getting more irritable. I think it's both. This hormonal surge that comes with time is annoying.&lt;br /&gt;&lt;br /&gt;I must apologise for some of my actions. While they were certainly intentional I don't think I necessarily think those actions were good ideas now. &lt;br /&gt;&lt;br /&gt;Bending my knees has the side effect of introducing some pain. Walking involves knee bending. Eh, not the Avatar kind of bending. That'd be just weird.&lt;br /&gt;&lt;br /&gt;It's now 7:08 am. The school network isn't working either. Or at least, not yet. It's pretty brain dead if we have to wait for some people to activate something before students can use the school network. You know what it feels like to have a bunch of tabs on TV Tropes open but some of them just refuse to load? It's incredibly annoying. You want to read something, but you can't get it.&lt;br /&gt;&lt;br /&gt;7:11 am, the canteen is starting to get crowded. I'll pack up and leave now.&lt;br /&gt;&lt;br /&gt;11:11 am. The throbber on Blogger is very annoying. Anyway, network is back up, and internet kind of works now. Except being really slow, as usual. So this post is now up.&lt;br /&gt;&lt;br /&gt;Update: fixed 3 typos. Actually, they weren't really typos, more like what-the-hell-was-I thinking-when-I-wrote-that kind of stuff. The little sleep I had certainly contributed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-2115021247831171936?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/2115021247831171936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=2115021247831171936' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/2115021247831171936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/2115021247831171936'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/02/rr-1953-disconnected-thoughts.html' title='RR (19,5,3): Disconnected thoughts'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-7322144202884506922</id><published>2010-02-20T17:20:00.000+08:00</published><updated>2010-02-20T17:20:57.120+08:00</updated><title type='text'>RR (15,13): Excuse validity</title><content type='html'>You often hear people mentioning about "valid excuses". I don't quite like that term. When do you decide an excuse is valid, and when not? Let's use a hypothetical example. Let's say I go to school late because I overslept. Is oversleeping a valid excuse? Depends on who you ask. If you're asking me, the answer is obviously yes. I mean, that's what happened; the truth cannot possibly be invalid (although we can't prove it's valid either due to the pesky incompleteness theorem). If you're asking just about anybody else, it's an invalid excuse.&lt;br /&gt;&lt;br /&gt;I can't help it if people like to define words in ways that are completely against convention. Okay, let's check the dictionary. Wiktionary states &lt;a href="http://en.wiktionary.org/wiki/valid#Adjective"&gt;"[well] grounded or justifiable, pertinent"&lt;/a&gt;, the dead tree dictionary I have says "well based or logical; sound". Both would apply to my hypothetical example as having a valid excuse. It may be a lousy justification, but it's a justification. For that matter, if I went to school late just because I didn't feel like going early, that's a justification too. That's perfectly valid.&lt;br /&gt;&lt;br /&gt;People often don't say exactly what they mean, and conversely, not mean exactly what they say as well. A valid excuse is just one that is truthful. When people ask for "valid" excuses, what they're asking for is a good reason, &lt;em&gt;from their perspective&lt;/em&gt;. Perspective is a very horrible issue for me to deal with, of course. Having &lt;abbr title='Aspergers syndrome'&gt;AS&lt;/abbr&gt; certainly does not help. As I mentioned in the third previous post, different people have different viewpoints. It's not fair to persecute people just because they don't fit with your ideology if you don't make every aspect of your ideology clear.&lt;br /&gt;&lt;br /&gt;This is because I recently typed out &lt;a href="http://pastebin.ca/1803526"&gt;the school rules&lt;/a&gt;, and in the process I found a few instances of this useless term being applied (with "reason" instead of "excuse", but small difference).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-7322144202884506922?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/7322144202884506922/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=7322144202884506922' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/7322144202884506922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/7322144202884506922'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/02/rr-1513-excuse-validity.html' title='RR (15,13): Excuse validity'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-5441220254166869794</id><published>2010-02-15T21:11:00.000+08:00</published><updated>2010-02-15T21:11:02.759+08:00</updated><title type='text'>RR (19,4,4): The Vaio</title><content type='html'>Since November/December 2007, I've been using this Vaio. And it has been annoying me a lot recently. "recently" not really meaning recently, but more like since last year. Because last year I started using my laptop to do heavy duty computation. And for some reason that has a tendency to cause the laptop to overheat, where Ubuntu will then shut it down.&lt;br /&gt;&lt;br /&gt;It's particularly annoying when I'm doing a really long computation that spans hours. The one I &lt;em&gt;was&lt;/em&gt; running was over 50 hours in. That's right, over fifty hours. (And it's over 9000 seconds, but under current circumstances I don't really feel like making these jokes, except I just did.) I left it on overnight just so it could finish earlier. Twice. I mean, if I didn't care, I could just suspend it and resume the next day, but those precious hours when I was sleeping would have been wasted. And taking some other factors into account I manually set the process priority lower to reduce chances of overheating.&lt;br /&gt;&lt;br /&gt;And then today I was idly watching a YouTube video (with Gnash, more on this), when I noticed the video suddenly got more jerky then the panels at the top and bottom went off and I realised Ubuntu was shutting down. How nice. Really. I mean, the alternative is that Ubuntu not shut down and my CPU burns out and becomes permanently unusable.&lt;br /&gt;&lt;br /&gt;Sidetrack. There are basically two ways I can watch YouTube. First, is to use a Greasemonkey script that adds download links. (This was based on a script someone else made that allowed using Totem as a plugin to view the video inline (and also added download links), which unfortunately broke some time in January.) Now, because Greasemonkey isn't working in Minefield, I have to use it as a bookmarklet. Which can be very annoying, because I have to temporarily make my Bookmarks Toolbar visible. And is even more annoying when I'm trying to view an embedded YouTube video, because I'd then have to go to the main video page first. The second way, which is more convenient for embedded videos, is to have Gnash open the embedded video in a separate window. (I think I didn't manage to compile the plugin properly.) The downside is that Gnash seems worse than Flash Player in terms of CPU usage. Because I was lazy, I went with the second. Now end diversion.&lt;br /&gt;&lt;br /&gt;Actually there's another alternative: to temporarily turn off every process for a few seconds (except those absolutely critical or non-CPU intensive ones), waiting for the CPU to cool. This solution is also nonsense. When I want to use my computer, when I switch it on, I expect it to keep running until I (or another operator) decide it to stop. It's supposed to keep running otherwise.&lt;br /&gt;&lt;br /&gt;Then I realised something. The front of the Vaio has a really useless and annoying light that blinks when the display is turned off while the laptop is on, or while the laptop is plugged in and it's in suspend. That doesn't make sense; if I wanted to know whether the laptop was on I'd check the LED indicator with the standard on/off symbol (circle-with-line). The annoying light is also very annoying at night, when I'm actively trying to sleep while those annoying white and blue lights keep blinking.&lt;br /&gt;&lt;br /&gt;I think it would be far more helpful to have an indicator (which must obviously be prominent) which indicates the current CPU temperature or something. At least I'd know the temperature without going over to the command line every few minutes.&lt;br /&gt;&lt;br /&gt;Some time last year someone (I can't remember how to spell his name) mentioned that the Vaio hitting even just 60 degrees is abnormal. Mind you, that's the resting temperature here. Just after booting and logging in, the temperature is about 56 degrees. Having, say, VLC, Pidgin and Firefox open would probably bring the temperature above 65 degrees. Talk about cool. Manually cutting down CPU usage is the only way to keep temperatures below 80 degrees regardless of circumstance. (Using software measures still count as "manual", since this isn't already built into the hardware, when it should.)&lt;br /&gt;&lt;br /&gt;This is very full of nonsense.&lt;br /&gt;&lt;br /&gt;There are other issues. After a mere 26 months of abuse the battery is only lasting 15 minutes when I'm running QEMU. Okay, maybe emulating computers isn't quite what people normally do. Just playing music (with VLC), it lasts a mere 40 minutes. (I deliberately shut off wireless and almost every program I was running.) Regular usage has it at around 20 minutes. Notice anything? If I'm even using it for anything it lasts less than an hour. Less than an hour. Let that sink in. How am I supposed to do anything useful in 20 minutes?&lt;br /&gt;&lt;br /&gt;I still cannot use the inbuilt webcam. &lt;a href="http://concentratedentropy.wordpress.com/2009/11/15/it-is-funny/"&gt;Here's the complete device interface&lt;/a&gt; I can use. After seeing all that, I still have no idea. Not much of a surprise really; I don't even know how USB works. Then again, I wouldn't know what I'd do with the webcam if I could use it, but that's completely unrelated.&lt;br /&gt;&lt;br /&gt;The speakers are shit. Really. Maybe it has something to do with the fact that the innards or the computer are so damn noisy compared to the more subtle sounds. My earphones could be better speakers.&lt;br /&gt;&lt;br /&gt;I think that's all I can think up for now. The Vaio's only redeeming quality is that it kind of works. Just kind of. It's a bit of a stretch to claim that it works.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-5441220254166869794?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/5441220254166869794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=5441220254166869794' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/5441220254166869794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/5441220254166869794'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/02/rr-1944-vaio.html' title='RR (19,4,4): The Vaio'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-7632808674487240173</id><published>2010-02-12T00:01:00.001+08:00</published><updated>2010-02-12T12:22:24.149+08:00</updated><title type='text'>RR (14,14): Annoyances</title><content type='html'>Quite often I manage to hear people commenting about my certain attitude towards something, and based on their own experiences and viewpoints conclude that I am a jackass, occasionally going to the extent of making sarcastic remarks like "but &lt;em&gt;some people&lt;/em&gt; think that […]", even if they are not fully accurate. And sometimes these people purposely discuss loudly where I can easily hear them. (Ninja side note: while typing that sentence, I got a text message from one such exemplifying person.) My efforts can be devoted to other things at a specific moment. People don't seem to realise that and have a tendency to distract me. In fact, I thought up most of the content (not quite the formatting though) during one such incident.&lt;br /&gt;&lt;br /&gt;Anyway. That's not the only source of problems. Another is that people don't know exactly what the hell I'm thinking; that I have a minority mental disorder doesn't really help actually. So, people normally don't get the full reasoning or rationale for my expressed thoughts, either because they didn't comprehend or because I didn't bother explaining. This obviously has significant overlap with what I mentioned in the previous paragraph.&lt;br /&gt;&lt;br /&gt;One thing I find quite bewildering is that NUS High students don't automatically get free access to publications, while the kiosks over at the NUS libraries have that access. Imo, that makes no sense, because if I wanted to I could, within ten (or so) minutes, travel from NUS High to the NUS libraries, paying a small (and practically negligible) amount of transportation costs. And from what I recall, last I went there, I got in without much hassle. (I also saw Ian there. Quite a bit of a coincidence.) It makes no sense to restrict access like so. Unless there's some kind of evil overlord system going on.&lt;br /&gt;&lt;br /&gt;I briefly mentioned this on my Twitter account; about as fast I got a reply from what seems to be a Twitter account operated by some NUS library admin. Take note that of course I've tried accessing this before. It failed, that's why I'm asking. Anyway, I didn't notice the reply until much later, at which point I made a remark: "About as important is whether I, as an NUS High student (in the hostel, no less), can even access the stuff. (Apparently not.)". The hostel part was to demonstrate that I was using an NUS IP address. Now I think I wasn't explicit enough there, but space constraints prevented me from writing any more. (Hit the 140 character limit exactly.)&lt;br /&gt;&lt;br /&gt;Notice that I use "imo" instead of "imho". That's because using the latter would be blatantly lying. I'm hardly ever humble; most people who know me IRL can vouch for that.&lt;br /&gt;&lt;br /&gt;Also, a (not) completely unrelated end note. This Timothy Tay person (&lt;a href="mailto:timothytay1994@hotmail.com"&gt;timothytay1994@hotmail.com&lt;/a&gt;), your vanity searches are kind of disturbing. I don't know why, but I've been in a particularly foul mood recently, and it may be just that I'm using you as an outlet for my rage, but whatever. That's not my problem.&lt;br /&gt;&lt;br /&gt;Update/postscript: I e-mailed the NUS library stuff about this; apparently the reply they gave me was "Due to license agreements, NUS High School students do not have access to electronic resources via NUS library proxy.". Okay, thanks, I kind of already figured that out. &lt;a href="http://chltoopro.blogspot.com/2009/11/rr-1781-if-i-have-to.html"&gt;Nonsense.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-7632808674487240173?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/7632808674487240173/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=7632808674487240173' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/7632808674487240173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/7632808674487240173'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/02/rr-1414-annoyances.html' title='RR (14,14): Annoyances'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-4072935927634319302</id><published>2010-02-04T21:12:00.001+08:00</published><updated>2010-02-09T18:06:41.645+08:00</updated><title type='text'>RR (19,5,2,1): Unplanned hiatus (and more miscellaneous nonsense)</title><content type='html'>I have been lacking a particular motivation to blog, because the way I'm spending my time is completely unproductive and doesn't really allow me to find anything to rant about. I'm not going to deny that that's my fault, because it really is, and as things seem now it doesn't seem like I can change fast enough.&lt;br /&gt;&lt;br /&gt;On a side note. There are some things with a very high initial cost but with slowly increasing payoff, that becomes positive after, say, 5 years. When would you decide that's it's worthwhile? Let's suppose that there are also a lot of such opportunities, some with higher initial cost and slower payoff, some with less initial cost and less but faster payoff. I never quite figured out the solution to this. (This is a slight oversimplification of reality; typically the payoff isn't guaranteed and normally has negative expected value (when inflation and stuff is taken into account).)&lt;br /&gt;&lt;br /&gt;My keyboard labels are fast deteriorating. Particularly the 'i', 'd', 'h', 't', 'n', 's' keys. Because I intelligently decided to use my inky red pen, and finger sweat and not-quite-short nails are probably killing the keyboard labels fast. I still can't touch type yet, although I am slowly getting to speed. About 200 cpm now, if you care. The biggest drawback to using Dvorak is that it's specifically designed to be more efficient when used with both hands, but I occasionally eat stuff with one of my hands, inevitably restricting my use of hands to type to one. (The other red pens I have are Frixion pens, which I originally used to label. But they appear to fade with time.)&lt;br /&gt;&lt;br /&gt;There's probably more bits and pieces of my life you could read about on my Twitter account. And being a stereotypical hypocrite, I'm not using Laconi.ca . Sometimes I can't even be arsed to post about something because it's over 140 characters, but it's too short to qualify for a proper blog post. Then I forget about it. This dynamic is not very nice.&lt;br /&gt;&lt;br /&gt;Having VLC cycle through my rather small music collection. I do not intend to have my musical preferences commented on. 4 were from the same artist, 3 from the same collection, and one oddball that isn't related.&lt;!--Currently listening to Triangle, Shakugan no Shana Second first ED--&gt;&lt;br /&gt;&lt;br /&gt;Compulsory study time. I'm not caring any more. When I can, I'm not going for it. Hey, people monitoring content going through the NUS proxy, read this. I don't give a damn. It's one thing to be lawful, it's another to be stupid lawful. When the rules are written in a way such that any behaviour deemed inappropriate is prosecutable, it's not really important any more, because different people have different viewpoints.&lt;br /&gt;&lt;br /&gt;&lt;q&gt;Students should not make comments that are inflammatory and/or defamatory in any form of media such as blogs.&lt;/q&gt; Now, take note: everything I write in this blog are merely statements. It is up to you whether you want to trust the truth of my words. If I'm not even myself claiming that all the statements I make here are all true, nobody else has the right to either. I mentioned this before, I mention this again. This is a hack to bypass Singapore's laws, and by Singapore laws it should also work, except…&lt;br /&gt;&lt;br /&gt;The laws are very complex. Maybe it's a bunch of restrictions here, a bunch of exceptions to that there, and another bunch of exceptions to those exceptions elsewhere. It's a tangled piece of shit. The worst part is, you can still get convicted for doing something you think is completely innocuous. People are expected to know every part of the law. Then here's my question to the MOE: why not make the law a compulsory subject in school? There would be pop quizzes everyday on obscure parts of the law. I mean, that's a good idea right? No? Then what the hell. The law doesn't make sense.&lt;br /&gt;&lt;br /&gt;Anyway, back to school rules. It's not downloadable online… yet. I'm going to either scan or retype the whole thing. Then post it online. If it's copyrighted, then I have to question the school some more. (Is "some more" a Singlishism?) The copyright just means that we do not even have the right to remember the rules and recite when necessary. What the hell. To hell with that even. (Or to any other non-existent place for that matter.)&lt;br /&gt;&lt;br /&gt;I've been pondering about some stuff. Lots of things aren't making sense as of now.&lt;!--And it's been really distressing for me to keep suppressing my emotions.--&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-4072935927634319302?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/4072935927634319302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=4072935927634319302' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/4072935927634319302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/4072935927634319302'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/02/rr-19521-unplanned-hiatus-and-more.html' title='RR (19,5,2,1): Unplanned hiatus (and more miscellaneous nonsense)'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-6838227219557824463</id><published>2010-01-27T22:36:00.000+08:00</published><updated>2010-01-27T22:36:14.479+08:00</updated><title type='text'>RR (19,5,2): OMG DVORAK</title><content type='html'>Earlier today I converted my keyboard to Dvorak, through pasting little pieces of paper on the keyboard (more on this later if I don't forget). Why did I do that? Honestly, at first, it was just for the lulz, but then I realised this would be a nice way to break my blogging hiatus. (It's not that I have nothing to write about, just that … I didn't bother.)&lt;br /&gt;&lt;br /&gt;The whole process started at around 11:50 am (give or take an hour), when I came back from the school library. I was like lol bored so I booted my laptop. Then I saw that there was an option to change the keyboard layout. (Oh, and I upgraded to Ubuntu 9.10 on Saturday.) Yeah. So I chose USA (Dvorak) for lulz. I did type in Dvorak before, but then it was just a short sentence before I gave up. Now, of course, (I think) I will be doing it for real. So anyway. (I'm typing really slowly for now due to qwerty muscle memory, and this is 33 keys remapped differently we're talkin' about here.) I first looked around for something to use as a keyboard overlay. (It is not practical to use an external keyboard here, obviously.) I tried tissue paper. (As in, covering the whole keyboard with tissue.) Not nice. Worse for foolscap. I was pondering for a while, and then I realised I left my plastic stationery container in school. Then I went to get it. (Actually, I'm not very sure of the order of events; apparently my memory is quite lousy.)&lt;br /&gt;&lt;br /&gt;Then somehow I decided to take a piece of foolscap and cut out little approximate rectangles slightly larger than the keys. This was the first working idea. And spending 1 hour (with possible error of 100%) of stoning and labelling and pasting those pieces of paper gave the current result. And, of course, me not currently having a camera means that I can't provide a photo now. And, turns out that having the pieces of paper being bigger was a mistake. My fingers kept rubbing against the edges and corners of the paper pieces, resulting in obvious ugliness. Ugh.&lt;br /&gt;&lt;br /&gt;But if it even kind of works it's fine right? Well, problem is, I suck so much that I fail at this. My handwriting was sufficiently lousy to throw me off and have me press the wrong keys quite often. Oh well.&lt;br /&gt;&lt;br /&gt;My current typing speed is about 100 cpm, compared to my normal 400+ cpm and my 85 cpm on an iPhone. I mean, not bad for the first day right?&lt;br /&gt;&lt;br /&gt;So, for the whole of compulsory study time I was studying how to type Dvorak, instead of more productive matters like studying for 听写 tomorrow. Oh shit. Ah heck, it's a bit too late to regret now, eh?&lt;!--now listening to: cool edition by natsuko kuwatani, from the melancholy of haruhi suzumiya character song vol. 5 --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-6838227219557824463?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/6838227219557824463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=6838227219557824463' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/6838227219557824463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/6838227219557824463'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/01/rr-1952-omg-dvorak.html' title='RR (19,5,2): OMG DVORAK'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-8056752856063750256</id><published>2010-01-13T22:55:00.000+08:00</published><updated>2010-01-13T22:55:29.842+08:00</updated><title type='text'>RR (17,10): More nonsense</title><content type='html'>Prescript: I end my 6-day blogging hiatus, and here today there are two posts. I mean, sorry, I should spread my posts out more evenly, but sometimes many things happen.&lt;br /&gt;&lt;br /&gt;Okay, now I'm really raging. Turns out I got arrowed for compulsory study time. Not that I'm going for it. See &lt;a href='http://concentratedentropy.wordpress.com/2010/01/13/stupid-shit/'&gt;the e-mail they sent&lt;/a&gt;. And also the stuff I wrote there. At then I was still kind of quite full of rage so I didn't bother posting here until after 50 rounds of TypeRacer to diffuse my rage. Hostel network is shit. I repeat this again. (Mentioned before at least twice, so this isn't wrong.)&lt;br /&gt;&lt;br /&gt;What the hell. Seriously. &lt;a href="https://secure.wikimedia.org/wikipedia/en/wiki/Hulk_(comics)"&gt;My skin could turn green&lt;/a&gt;. And their preferred method of contacting me was through Ben's phone. What the hell. I hate speaking through phones. Unless I really have to (out of desperation or whatever), I won't. I repeat: &lt;strong&gt;I hate speaking through phones&lt;/strong&gt;. I don't know, but the school never picked up on the fact that the dozen times or so they called my phone I never picked up. (Unintentional lousy pun there.)&lt;br /&gt;&lt;br /&gt;Okay. So they sent me an e-mail. Yeah. So what? I saw the message, dismissed it as irrelevant, and just moved on. That isn't a lame excuse; for at least 2 times some teacher(s) have sent some message that applied only to a few select students to everybody in the level. (Iirc this teacher was Mrs. Soong.) I'm not blaming that teacher. I'm blaming the 'tards who imposed that I must have compulsory study time.&lt;br /&gt;&lt;br /&gt;So now, here I am, raging and still with pain in my right foot. Shit.&lt;br /&gt;&lt;br /&gt;So after I picked up the call, not quite clearly hearing what the moron on the other side was saying, I went down. I went to the office. I asked around. Apparently, they think it's my problem I didn't go for the compulsory study time, so they're not bothering to guide me appropriately.&lt;br /&gt;&lt;br /&gt;Then there was this bastard I was directed to who said (something like) "I'll give you the benefit of doubt", in reply to my (true) statement that I was completely unaware I had CST, and that my phone went dry yesterday. You know what? Giving me the benefit of doubt? Who do you think you are? What gave you the idea you had the right to doubt me? Screw you. I replied to their questions in my typical sarcastic tone. They probably realised, but they couldn't do anything. "What time do you have to go to the library?" "Seven thirty." Pro tip: I am not a moron.&lt;br /&gt;&lt;br /&gt;If none of you morons realised, I have a pretty good track record for everything other than homework. For 2006, I got Gold for SMO Junior, and for last year I got Silver for both SMO Senior and Open, and Silver for SJPO.  And for 2006, me and Douglas were among the fastest in the sudoku contest, and fastest for the then Y1s. (If memory serves, we were the fastest across the 4 levels.) That's not all, although that's all I can remember. I've consistently gotten As for maths modules. I got A or A+ for Logic in 2007. And you're under the opinion that I suck and am a moron and cannot think logically just based on the fact that I completely suck at anything that's not mathematics. You suck.&lt;br /&gt;&lt;br /&gt;Y'know what? I'm going to use the benefit-of-doubt trick to assume that they were all under the influence, and I was nice enough not to report them to the police; given that they were under the influence, they had mistakenly included my name in the list. Yeah. That makes sense right?&lt;br /&gt;&lt;br /&gt;Or maybe I'll just bring my laptop with me and play TypeRacer in the library. We'll see what they can do.&lt;br /&gt;&lt;br /&gt;Oh wait. Let's think a bit more. I couldn't even go to the library at 3+ pm; at then I was wearing a polo tee (mind you, not the PE shirt) with the PE shorts. Just because the librarian said the PE uniform wasn't allowed. Hey, guess what? The shorts were from yesterday. They're about as clean as the insides of my bag. And I've been wearing PE uniform to the library since Y1. I think this is the fault of the fat DM. He's awful. So anyway. If by that token I wasn't allowed in then, why should I be allowed in now? And I had the run before dinner, meaning that my clothes were soaked with sweat. (And I bathed after dinner; I finished dinner at around 7:40 pm.) If the issue's about the clothes, I hadn't changed my clothes yet, so I shouldn't go in. In fact, iirc, the librarian said "change your clothes first". I hadn't, so I shouldn't bother going to the library.&lt;br /&gt;&lt;br /&gt;It doesn't matter what you think. It's what I think that matters. This is about me. This blog is mine. Screw you. I don't need to hear your hypocritical opinions.&lt;br /&gt;&lt;br /&gt;At this rate, the school will make me insane. And I have no choice. (I'm writing this with the last few bits of my sanity.)&lt;br /&gt;&lt;br /&gt;Bonus chatter: if you treat my standard of English as being equivalent to the lousier foreign scholars in their earlier years, screw you. My command of language is better than theirs. I didn't pay to come to this school to endure humiliation from bastards who don't even know me. Get this straight: we, the students, are providing your salaries. We're paying you to teach us, not humiliate us or hurl incorrect accusations.&lt;br /&gt;&lt;br /&gt;PS: All through the school network. And if the school contacts Google and Google decides to take this blog post down, it's the last straw. I'm not taking any more of this nonsense. I'm going to have a &lt;em&gt;nice&lt;/em&gt; talk with the DM and/or Dr. Hang.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-8056752856063750256?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/8056752856063750256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=8056752856063750256' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/8056752856063750256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/8056752856063750256'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/01/rr-1710-more-nonsense.html' title='RR (17,10): More nonsense'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-5753653272841921451</id><published>2010-01-13T20:39:00.000+08:00</published><updated>2010-01-13T20:39:05.450+08:00</updated><title type='text'>RR (18,8): Pain (again)</title><content type='html'>Ouch wtf I'm still writhing (sp?) in pain. (I'm not sure about the spelling because hostel network is so shit slow I can't even check it online.) Anyway. Since today morning my left leg had been suffering from a mild muscle ache. I'm going to guess that this is caused by constant running up and down the stairs just for the sake of lulz. (Yes that is always a valid reason.)&lt;br /&gt;&lt;br /&gt;And despite the aching I still did that today, but that's only because hostel network was so slow that doing stuff in KoL was very inefficient (and rollover/class was going to start in 20+ minutes), so I finished with a margin of about 6 minutes. And through my experiments I have found that while I can't run up stairs faster than the lift goes up, I can run down faster than the lift goes down. So, I reached class at about 20+ seconds early.&lt;br /&gt;&lt;br /&gt;Okay sidetrack. I didn't actually have to go for class. It's a physics honours module, and I'm not taking physics honours, so I'm just there for fun, but still it isn't too nice to show up really late. End sidetrack.&lt;br /&gt;&lt;br /&gt;So my leg was still aching. But it was still k.&lt;br /&gt;&lt;br /&gt;And then stuff. Me, Ben and TTS went to the track for some jogging. Considering the muscle ache, this was a really dumb idea, though not really bad. The running didn't quite aggravate the situation actually. Even more sidetrack. After the first two rounds I wasn't really running anymore actually. So anyway, we went a total of 7 rounds. End sidetrack. The only potentially bad thing about running is that it tends to introduce plenty of pain the next day. (To figure out: why the ache sets in after waking up, and not right after the run.) So, for now, that's not really a problem.&lt;br /&gt;&lt;br /&gt;And then we went back to our rooms. Then nothing of interest that I wish to describe here happened. Then me and Ben went for dinner. (Notice how I always use "me" first, because I'm highly egoistic.) Then we went back to our rooms (again). Then I went to bathe. Then I slipped on the floor. Yes, wtf-ish. There was a surface with high static friction and I happened to not step on it. Most probably by habit, because at home the bathroom floor tiles themselves have a rather significant amount of friction, mostly eliminating the need to dry feet before leaving the shower.&lt;br /&gt;&lt;br /&gt;The pain is still ongoing as I type. Ow.&lt;br /&gt;&lt;br /&gt;So anyway. As I slipped, my right foot very conveniently got slammed against the edge of a wall, inducing a lot of pain. I mean, if I bothered to bring a camera I'd probably have taken a photo of my foot, but I didn't bother to. Ah heck. The damaged area on my foot was quite obviously darkened.&lt;br /&gt;&lt;br /&gt;And viewing myself from a third-person POV, I find it's pretty lulzy. I mean, I'm in pain, but I can still get lulz from this pain. If this happened to someone else, I'd probably be laughing. I find it's a double standard that I'm not laughing at myself. No actually I am.&lt;br /&gt;&lt;br /&gt;As of now the pain still hasn't subsided yet. Ow.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-5753653272841921451?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/5753653272841921451/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=5753653272841921451' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/5753653272841921451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/5753653272841921451'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/01/rr-188-pain-again.html' title='RR (18,8): Pain (again)'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-4796329882717889868</id><published>2010-01-07T23:01:00.000+08:00</published><updated>2010-01-07T23:01:28.913+08:00</updated><title type='text'>RR (19,5,1): A new target</title><content type='html'>If you've been reading this blog at least somewhat attentively for quite some time, you should have noticed that there were two teachers I particularly disliked. (I'm not sure if I mentioned the lousy Chinese teacher; if I did, that's 3. Also, I know most of you readers already know me IRL, where you should already know this.) I'm not going to point out their names here; if you want to bother to go ahead and search through the blog posts.&lt;br /&gt;&lt;br /&gt;Anyway, I have a new target. He was a candidate since last year (or was it 2 years ago?). Then he mentioned that the "Chess Club" (which I'll never have admitted to joining, since that wasn't what I joined, which was "Chess/board games") wasn't for fun, it was for winning. Okay, wtf. Dumb shit. Then some/many months later Dr. Hang (principal/overlord) mentioned that CCAs were meant for people to interact and have fun… exactly opposite of what that guy mentioned. He's also fat. (No offence to other fat people; my parents are kind of fat too. (Not that that means anything, y'know.))&lt;br /&gt;&lt;br /&gt;So. Today. First lesson was maths. Because of some royal screwup, Mr. Ku isn't our teacher. (He's only teaching those taking maths Major without Honours; I'm taking with Hons.) Majority of the class takes with honours. So anyway. We were relocated from one of the meeting rooms (those near the staff room) to the seminar room (2A). Very nice to not even inform us of a venue change before class. These are minor stuff, of course.&lt;br /&gt;&lt;br /&gt;Class time. I was kind of bored, and I was pondering over whether to expose certain notational subtleties that few people care about. Turns out that he just skimmed through it. Okay, nothing wrong with that; that was just revision stuff. Then we came to this question about a function, and about showing that the IVT cannot be used to guarantee the presence of a zero for that function in a particular range. Naturally, (iirc) Utkarsh pointed out that there was an undefined point. I tried to start an opposing solution: to manually solve the zeros and show that they aren't in the range.&lt;br /&gt;&lt;br /&gt;He outright rejected my solution. I can back off when I know my argument is flawed, but all he said was something along the lines of "that's not the purpose of the question". That's not the purpose of my answer either. My point was to show that you suck.&lt;br /&gt;&lt;br /&gt;You know what? We &lt;em&gt;cannot&lt;/em&gt; have non-mathematicians as our maths teachers here. And that guy is very obviously just a teacher, and not a very good one at that. And he's fat.&lt;br /&gt;&lt;br /&gt;Speaking about fat staff members. The new discipline master is fat. The irony: he can't even discipline his own eating habits.&lt;br /&gt;&lt;br /&gt;PS: Yes, this is all done through the school network, logged under my own name. (I have not yet uncovered anybody else's password since Daryl's back in 2006, Elston's in 2007 and Andre's in 2008. (None for 2009, &lt;del&gt;sadly&lt;/del&gt;.)) I like posting incriminatory stuff, especially because this blog serves as an outlet for freedom of expression for me. I'm not actually bold enough IRL to do any of these. I've lamented about many issues of the school to some of my friends. And it's not possible to get a satisfactory answer, because the answers are never quite what I want to hear. It's terribly disappointing. The current state of this school is pretty close to shit.&lt;br /&gt;&lt;br /&gt;PPS: By never asserting the truth of any of the content in this blog, I am automatically freed from all legal consequences of slander or other stuff intended to hold back freedom of speech. Hence above statement(s). I win the game.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-4796329882717889868?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/4796329882717889868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=4796329882717889868' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/4796329882717889868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/4796329882717889868'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/01/rr-1951-new-target.html' title='RR (19,5,1): A new target'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-6708005994518656466</id><published>2010-01-04T23:13:00.003+08:00</published><updated>2010-01-07T22:36:48.809+08:00</updated><title type='text'>RR (19,5): First two days in hostel</title><content type='html'>Yay school. Anyway. I don't know what to write at all. ☹&lt;br /&gt;&lt;br /&gt;Okay, first thing. Hostel food is actually quite decent. Better than home food on most days. (At least so far; the quality of the hostel food might decline.) And there's supper too. Yay.&lt;br /&gt;&lt;br /&gt;There's a whiteboard for each person, or in other words two whiteboards per room. I haven't quite figured what to use it for; for now it just has "#1: Lose the game." written in purple. The beds are kind of quite hard. They're not comfortable to sleep in. Or maybe I wasn't tired enough. I mean, changing sleep time from 4+ to 1+ is practically impossible within a day. (Sidenote: I never flew to a different time zone before, so I'm not actually particularly sure whether jet lag is worse or not as bad.) So the end result was that I slept at around 2:30 am. And then for some reason I woke up at about 6:10 am, probably because the lights were on.&lt;br /&gt;&lt;br /&gt;I'm sidetracking. Meh. Anyway. Because Shaun had decided he wanted a particular side, more precisely the side I was allocated to, we swapped sides. This was without official agreement; officially we should be sleeping on the opposite sides. Bah. Not my fault.&lt;br /&gt;&lt;br /&gt;The school network is reasonable… except not really. HTTPS connections are shit slow. I'm not sure why. It's not the normal expected-from-HTTPS kind of slow, it's really shit slow. I've set up WordPress.com to automatically send me to HTTPS, as I have with Gmail. I have userscripts to transfer me from the normal Wikipedia server to the secure connection server at secure.wikimedia.org and from Twitter over HTTP to over HTTPS, except of course they're not working because Minefield is incompatible with Greasemonkey. Apart from the irrelevance, what this also means is that I'm automatically experiencing less speed for the sake of security.&lt;br /&gt;&lt;br /&gt;More chatter. Orientation 2010. There is a conspicuous lack of a special orientation t-shirt. Imo, the O 2006 shirt was the nicest shirt the school ever produced. The other shirts simply weren't colourful enough. The house tees were mostly dichromatic, the school uniform is mostly white, PE shirt mostly green and yellow. The O 2007 shirts were mostly red/blue (depending on some criterion I'm not aware of); O 2008 was mostly light blue (blech) and black for "normal people" and mostly black and yellow for the "leaders". (I'm not accepting or rejecting the roles of the student leaders. Neutral stance.) O 2009 didn't have nice shirts either. I'm not sure about O 2005; were there shirts at all?&lt;br /&gt;&lt;br /&gt;And yes. Michael dancing. He dances quite well. And this time round, like the last time, I shall perform a disappearing act. The mass dance thing was reinstated for some reason. I'm not quite pleased about that.&lt;br /&gt;&lt;br /&gt;It's 11 pm now. I changed into PE uniform for the lulz. Actually it's partially because I don't have anything better to wear.&lt;br /&gt;&lt;br /&gt;Update: happens that O 2010 actually has its own tee. (I'm using Shaun's phone to update this post, which really sucks. More on this later. Phone really sucks.) (Update: Shaun Lee's iPhone, to be precise. Typing is ridiculously inconvenient.) (Update: closed a bracket I had inadvertently forgotten to close due to the difficulty of using said phone.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-6708005994518656466?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/6708005994518656466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=6708005994518656466' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/6708005994518656466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/6708005994518656466'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/01/rr-195-first-two-days-in-hostel.html' title='RR (19,5): First two days in hostel'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-6589372305303499551</id><published>2010-01-02T16:33:00.000+08:00</published><updated>2010-01-02T16:33:33.718+08:00</updated><title type='text'>RR (18,6,5): Dystopia by law</title><content type='html'>Okay I remembered what I was going to post. Anyway. Utopia cannot evolve from the societies' current state. Think of it this way. Suppose we really have a utopian society, somehow. No one ever does anything "bad" for some definition of "bad". Then through some mutation or whatnot an inherently "bad" individual arrives; through exploiting the other people, this individual can gain far more than his/her/its peers. In other words, for a mostly-utopian society, badness is actively being selected for.&lt;br /&gt;&lt;br /&gt;It's a dynamic balance between niceness and badness. (Not going to say "good" and "evil", because that sounds too much like the plots of certain shows.) Too much bad, and niceness gets weakly selected for; too much nice, and badness gets strongly selected for. It's a balance, but it's tilted towards badness quite a bit.&lt;br /&gt;&lt;br /&gt;Think the prisoner's dilemma. Opt to cooperate, and if your partner defects, you alone get pwned bad, but if your partner also cooperates, then you're overall better off. Opt to defect, and if your partner also opts to defect, you both get pwned very bad, while if your partner opts to cooperate then your partner alone gets pwned bad. Using this as an analogy (very roughly so), in a society where this kind of thing happens very often (for whatever reason, maybe just as an experiment or government corruption), if almost everybody cooperates, then a single continuous defector gains a lot compared to everybody else, especially the defector's victims. On the other hand, in a society where almost everybody defects, a cooperator loses out a lot in the short run, but in the rare event two cooperators come together an overall benefit results. This event is going to be extremely rare though, which means that once a society has entered decline recovery is going to be very difficult.&lt;br /&gt;&lt;br /&gt;What this means is roughly that dystopia is a likely outcome, while utopia is essentially unachievable. Of course, this analogy fails to take into account many factors present in human evolution, considering that for now humans are the only creatures to use written language capable of communicating over long distances.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-6589372305303499551?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/6589372305303499551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=6589372305303499551' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/6589372305303499551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/6589372305303499551'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/01/rr-1865-dystopia-by-law.html' title='RR (18,6,5): Dystopia by law'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-7378844799725866331</id><published>2010-01-02T16:01:00.001+08:00</published><updated>2010-01-02T19:20:11.589+08:00</updated><title type='text'>RR (16,8,8): Paradoxical philosophical stuff</title><content type='html'>Okay I originally had an idea for a post but then I forgot. Not the first time this has happened anyway. I'm just spending some time thinking about exactly what it was that I was thinking about for a while first. Actually, no, I'm not going to bother recalling exactly what I was thinking about, because I tried already and I'm not getting it. So I'll discuss &lt;a href="http://en.wikipedia.org/wiki/Ship_of_Theseus"&gt;Theseus' paradox&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Theseus' paradox is roughly like this. Say you have a (wooden) ship. (The ancients didn't have that much metal available, I guess.) If over time the planks used to make the ship are replaced, to the extent that every plank originally used for the ship has since been replaced, is it still the same ship? Now what if those "original" planks were used to make a ship exactly like the original? Is that the same ship? Are both of them the same ships, or are they different?&lt;br /&gt;&lt;br /&gt;The correct resolution lies in the definition of "sameness". Not just similarity, but exactness of equality. What do you consider same, what different? There was something I once considered; pretty close to this. Consider that throughout your life you consume many particles and similarly excrete many particles; over sufficiently long periods of time many cells have exchanged sufficiently many parts with the external environment to be mostly different. In other words, over time, you're mostly not you any more. I hope that was really comforting to know. Anyway, correct resolution is that only the ship made through replacement is the original; the one made with the original planks is not the same, at least for my definition of material sameness. (Mathematics-wise, then both ships are similar, but not quite exactly the same. That's probably the best resolution under ideal cases, as which real life doesn't count.)&lt;br /&gt;&lt;br /&gt;Another one. The &lt;a href="http://en.wikipedia.org/wiki/Sorites_paradox"&gt;heap paradox&lt;/a&gt;. If you're lazy to read the linked Wikipedia article, the heap paradox is basically formed from a simple and apparently innocuous premise: that a heap of sand less a grain of sand is still a heap. (An obvious unstated premise is that, say, 1000000 grains of sand makes a heap.) So, through induction, a single grain of sand, or even a complete lack of sand, counts as a heap, which seems contradictory… to public opinion. If those premises are taken, then that makes sense. It's not even wrong. End of statement. However. Wikipedia mentions that an alternative resolution where the premise is replaced with a more direct definition of a heap &lt;q&gt;is objectionable on both philosophical and linguistic grounds: the former on account of its arbitrariness, and the latter on the ground that it is simply not how we use natural language&lt;/q&gt;. The former objection should be disregarded (because most philosophers live on bullshit), the latter similarly disregarded as well (similarly because most linguists also live on bullshit).&lt;br /&gt;&lt;br /&gt;PS: Generic inapplicability for information presented here for any purpose, although the "live on bullshit" part is for the most part tongue-in-cheek and for the rest accurate, to my knowledge.&lt;br /&gt;&lt;br /&gt;Update: fixed some weirdness.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-7378844799725866331?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/7378844799725866331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=7378844799725866331' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/7378844799725866331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/7378844799725866331'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2010/01/rr-1688-paradoxical-philosophical-stuff.html' title='RR (16,8,8): Paradoxical philosophical stuff'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-2026432548366985940</id><published>2009-12-31T13:47:00.000+08:00</published><updated>2009-12-31T13:47:13.411+08:00</updated><title type='text'>RR (19,3,3,2): It's a new year, so what? (Part 2)</title><content type='html'>I still haven't gathered evidence that a new year is anything to celebrate. I mean, what, people celebrate the time it takes for the Earth to go around the Sun? Celebrate when a full round is finished?&lt;br /&gt;&lt;br /&gt;I don't know about other people, but I seriously can't find a basis for celebration in that. We're not even celebrating when the Earth passes through it's originating point (with the Sun as the reference), we're celebrating an arbitrary point where we decided our calendar should be started. Don't give me the-ancients-knew-magic nonsense, they didn't.&lt;br /&gt;&lt;br /&gt;More practically, next year we'll be living in the school hostel for pretty much the whole of a year. While cleaning the room yesterday, we found many strands of hair. And toothpaste for sensitive teeth. Uh, I don't think it's a good idea to pour out everything here, so yeah. I flipped over the mattress on my side, wiped pretty much everywhere on my side clean. Really clean. Apparently my parents intend to remove the 's' from 'hostel'. Or whatever. I really must stop singing in the shower. My singing is horrible.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-2026432548366985940?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/2026432548366985940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=2026432548366985940' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/2026432548366985940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/2026432548366985940'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/12/rr-19332-its-new-year-so-what-part-2.html' title='RR (19,3,3,2): It&apos;s a new year, so what? (Part 2)'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-4504263348159553822</id><published>2009-12-29T22:53:00.001+08:00</published><updated>2009-12-30T00:21:34.875+08:00</updated><title type='text'>RR (18,7,3): PDF fail</title><content type='html'>Once in a while something dumb happens as a result of what the school does. ("the school", referring, of course, to NUS High. And I just lost. Stupid article trigger.)&lt;br /&gt;&lt;br /&gt;They printed out a handout (which was probably typeset with Word), and then scanned it in greyscale, and then saved it in JPEG and embedded it inside a PDF file, which they sent to us. And the title of the PDF file is &lt;a href="http://www.google.com/search?q=%22FileList+Convert+a+pdf+file%21%22"&gt;"FileList Convert a pdf file!"&lt;/a&gt;. Interestingly enough, the first search result for that isn't the website of the tool that generated the PDF file, but an example of the PDF file.&lt;br /&gt;&lt;br /&gt;I did the obvious. I extracted the JPEG image, and recoloured it. Okay, the recolouring part was kind of just for the lulz. Because Picasa limits image uploads to be at most 1600 pixels in either dimension, I split the image along the center. The top half is at &lt;a href="http://lh6.ggpht.com/_pA5P9BzH5uM/SzoQU7jI4sI/AAAAAAAAAIo/gFaX7aR0Bm4/pdftop.png"&gt;[pdftop.png]&lt;/a&gt; and the bottom half at &lt;a href="http://lh6.ggpht.com/_pA5P9BzH5uM/SzoQU9N0cqI/AAAAAAAAAIk/brQ8vcPpXlg/pdfbottom.png"&gt;[pdfbottom.png]&lt;/a&gt;. Don't mind the poor colour choice; it was generated by a simple algorithm. (The way I deduced it was JPEG was because of the very obvious 8×8 blocks. If you read &lt;a href="http://chltoopro.blogspot.com/2009/12/rr-19331-image-formats.html"&gt;my previous post about image formats&lt;/a&gt;, I'm guessing what happened is that the high-frequency components (which were low in amplitude) got aliased to 0.)&lt;br /&gt;&lt;br /&gt;Getting back on topic. That was kind of fail. First, why even bother embedding it inside a PDF file? To prevent people from editing it? I'm sorry, that doesn't work. In theory for someone with knowledge of PDF (was going to add "format", but that'd be a case of &lt;abbr title="redundant acronym/abbreviation syndrome"&gt;RAS&lt;/abbr&gt;) changing or extracting the contents are trivial. For just extraction of images, Evince (the PDF viewer provided with Gnome) works. I'm not sure if Reader can do that; maybe it can, maybe it can't.&lt;br /&gt;&lt;br /&gt;Second, why not just send the original file, instead of the JPEG file? I mean, if I wanted to, I could just OCR the image. (In practice, while I've attempted using Ocrad and Tesseract (OCR programs) to solve CAPTCHAs, I've not actually used them for anything else.) And by doing that I'd recover everything. If I really, really, wanted to, I could even align them pixel perfectly after downloading Arial. (Which I will not do unless forced at gunpoint or similar.) I'm psycho enough to do crazy things. And these don't even require much skill, just a little bit of patience. Anybody who wants to can do it.&lt;br /&gt;&lt;br /&gt;PS: Assuming Picasa doesn't mangle the image, you could convert it back to greyscale by changing the palette to a greyscale one or by extracting the red channel. (The colour remapping keeps the red value.) (From personal experience Picasa doesn't bother with mangling the image unless it's to be scaled.)&lt;br /&gt;&lt;br /&gt;PPS: I'm going to claim fair use on this image. The copyright isn't mine. (The palette used, however, is without copyright due to triviality.) I'm going to ignore the &lt;q&gt;Important: This email is confidential and may be privileged.&lt;/q&gt; in the message, since they like to attach it to every message they send, effectively rendering it kind of useless. And since it's also bcc'd to parents, I'm going to suppose at least two thousand people will get this message, at which point I don't think it matters if I revealed it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-4504263348159553822?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/4504263348159553822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=4504263348159553822' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/4504263348159553822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/4504263348159553822'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/12/rr-1873-pdf-fail.html' title='RR (18,7,3): PDF fail'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-2789248018128562754</id><published>2009-12-27T04:36:00.001+08:00</published><updated>2009-12-27T04:38:10.058+08:00</updated><title type='text'>RR (19,4,2): CSS</title><content type='html'>Prescript: I'm referring to cascading style sheets, not Dr. Chong.&lt;br /&gt;&lt;br /&gt;Doing things with CSS is like trial-and-error. And fixing an error can cause another. Case in point: list numbering. If you head over to zznq, the current latest post about the comment policy was supposed to have a proper numbering from 1 to 5, then 6 and 7. XHTML 1.0 Strict doesn't have the value attribute on list items. While HTML 5 does, that isn't a solution, considering it's not something I want to do. (XML is a simple format, HTML 5 is goddamn complicated. Using HTML 5 would break some validity hacks, and working those around the intricacies of HTML 5 isn't something I want to do. More on this in a later paragraph which I haven't written yet and might forget to write.) I tried some voodoo with list counters; it kind of works now, except the numbering alignments are all wrong. Correction: there's no numbering alignment at all.&lt;br /&gt;&lt;br /&gt;In theory I could hack up the exact pixel coordinates, but doing that defeats the purpose of CSS. And then I have to test with hinting and without hinting. And with the default font (DejaVu Sans) and a different font. And with Gecko and WebKit. It's not sensible to do this kind of testing. I say this because I tried. With some hacking, I managed to space the numbers perfectly in Gecko… except that in WebKit the points were off by a few pixels. That's not so bad, except that if the content in the list item overflows to more than one line, the alignment is also screwed up; the :first-line thing ("pseudoclass"?) doesn't even work correctly. The points are still perfectly aligned in Gecko though, so it's still not so bad. Except there's a catch. The distance doesn't scale directly with the font size. Double the font size and the distances, and they're unaligned. Honestly, I don't know how this is supposed to work, but this seems wrong.&lt;br /&gt;&lt;br /&gt;A problem here is that CSS doesn't specify enough. Actually, more accurately, HTML doesn't specify enough. Technically speaking, the HTML spec should be the one providing styles for elements, not the CSS spec. While Gecko and WebKit are both compliant implementations, they're free to decide what to do when the spec doesn't specify.&lt;br /&gt;&lt;br /&gt;CSS is also thoroughly lacking in some areas. If you head over to e1a1, it seems perfectly fine; it's supposed to efficiently use up all the screen space. However, there's no way to specify a fixed-width gap between the side bar and the main content in CSS 2.1. There's no way to have a fixed-width part and a scaling part at the same time. More generally, there is no way to mix units: no proportions and pixels, proportion and ems, ems and pixels, centimetres and pixels, whatnot. (Technical note: ems are measured in terms of physical length, so if you manually convert the units it should be fine, except that ems are also dependent on the font scaling factor.) I don't know about this, but IE's box model actually makes this possible. (CSS 3 supposedly includes IE's box model as an option.) (Tangential note. I checked e1a1 out with my screen width artificially reduced to 800 pixels; turns out I neglected the presence of the vertical scrollbar which reduces effective horizontal resolution. Therefore it'll look horrible on 800-pixel-wide screens, not that it doesn't anyway.)&lt;br /&gt;&lt;br /&gt;Bonus chatter: HTML 5 versus XML. Just by looking at the length of the specs, it's clear that XML is a much simpler format than HTML 5. HTML 5 has to deal with lots of voodoo involving which tags can be nested and which can't, et cetera; XML either outright rejects nonsense or supports everything else that isn't completely nonsense. For example, comment handling. I touched this briefly last year. CDATA sections have different meanings in HTML 5 and XML. In fact, HTML 5 doesn't even support CDATA sections. Comments destroy all semantic meaning inside the delimiters in XML, but not so in HTML 5. This was part of my XML parse test, which WebKit failed. (It still fails. And Gecko/Firefox still passes in XML mode.)&lt;br /&gt;&lt;br /&gt;Bonus completely irrelevant chatter: WebKit versus Mozilla. I've filed two bugs over at Bugzilla@Mozilla, neither received any significant attention. I've filed one bug with WebKit, I got a reply pretty fast, and about just as fast the bug was closed as WONTFIX for a reason I feel is quite inadequate: "[this] is by design". (They also tried to dismiss me over on Twitter with a &lt;a href="https://twitter.com/webkit/status/1636900455"&gt;we'll-look-into-it-bracket-eventually-bracket stance&lt;/a&gt;, where "eventually" means at least 8 months.) (The bug was subsequently duplicated by someone with a @mozilla.com e-mail address, and closed.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-2789248018128562754?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/2789248018128562754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=2789248018128562754' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/2789248018128562754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/2789248018128562754'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/12/rr-1942-css.html' title='RR (19,4,2): CSS'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-3509245506552536965</id><published>2009-12-27T03:43:00.000+08:00</published><updated>2009-12-27T03:43:18.677+08:00</updated><title type='text'>RR (19,3,3,1): Image formats</title><content type='html'>For now, the ideal formats to use are PNG and JPEG. (And also SVG if you like, although as a vector format it isn't used much.) PNG and JPEG are bitmap formats, the former using lossless compression and the latter using lossy compression. Lossy in the sense that low-frequency components get aliased. (That's from a signal processing perspective; from an image processing perspective, the colour fluctuations get less precise.)&lt;br /&gt;&lt;br /&gt;This is problematic for things like edges. Edges represent a few high-frequency components and many low-frequency components; by cutting out those low-frequency components the edges will exhibit &lt;a href="http://en.wikipedia.org/wiki/Overshoot_%28signal%29"&gt;overshoot&lt;/a&gt; and also some &lt;a href="http://en.wikipedia.org/wiki/Ringing_%28signal%29"&gt;ringing&lt;/a&gt;. In other words, where the image isn't noisy (such as line art or pixel art or screenshots), PNG should be used since JPEG will introduce ringing. On the other hand, in noisy images such as photographs or screenshots from 3d games (or what-have-you), JPEG is better since the ringing it introduces is often insignificant.&lt;br /&gt;&lt;br /&gt;There's also (as I mentioned earlier) SVG, which is good for vector images, but, if I'm not wrong, it's currently only properly supported by Opera and WebKit. (The last time I checked, which was quite long ago, Firefox didn't support SVG in &amp;lt;img&amp;gt;.) Also, it's unlikely vector images are going to get used often. (One of the few use cases I can think of are fonts; but those should be done with a font format and not SVG.)&lt;br /&gt;&lt;br /&gt;I felt this post was necessary. Originally this post contained a lot more info, but I trimmed it and split one of the main paragraphs into the above three paragraphs. Without changing anything, because I'm lazy. The text might seem a bit out of place, but I don't really care.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-3509245506552536965?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/3509245506552536965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=3509245506552536965' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/3509245506552536965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/3509245506552536965'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/12/rr-19331-image-formats.html' title='RR (19,3,3,1): Image formats'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-3076409397040862927</id><published>2009-12-22T23:28:00.001+08:00</published><updated>2009-12-23T00:28:52.343+08:00</updated><title type='text'>RR (19,3,3): Classes</title><content type='html'>(This is like a continuation of the previous post.)&lt;br /&gt;&lt;br /&gt;As I mentioned in the previous post, there's a list over at 404's blog of all the class distributions. Now, if we look at where the 203 people went, 2 went to 501, 3 to 502, 4 to 503, 4 to 504, 4 to 505, 1 to 506, 2 to 507, 2 to 508, 2 to 509 (me and the great President Raghav). &lt;a href="http://chltoopro.blogspot.com/2009/11/rr-19-yesterday.html"&gt;My initial prediction&lt;/a&gt; of one and a half other people being in the same class wasn't too wrong; there's Allwin and Raghav.&lt;br /&gt;&lt;br /&gt;Anyway. Raghav mentioned that it's pretty likely Mr. Ku is going to be our mentor, since Keat Mun is in the same class. Yay! This is probably a good thing. I can't think of a way this could go wrong. (While that sounds kind of sarcastic, I'm actually serious here, although my predictions are normally more likely to inaccurate than accurate.)&lt;br /&gt;&lt;br /&gt;Update: I forgot to mention something. Douglas went somewhere else. (If that wasn't obvious enough… or maybe it was.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-3076409397040862927?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/3076409397040862927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=3076409397040862927' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/3076409397040862927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/3076409397040862927'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/12/rr-1933-classes.html' title='RR (19,3,3): Classes'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-7578899777892566959</id><published>2009-12-22T03:22:00.001+08:00</published><updated>2009-12-22T17:52:00.267+08:00</updated><title type='text'>RR (19,4,1): Something happened</title><content type='html'>Yesterday (as I post; depending on your time zone it might be earlier today instead), I went to school for an IR meeting. I reached early, so I just put my bag down and walk around. (I'm kind of bored.) And then I remembered I had foolscap and a red pen. Obvious thing that happens is obvious: I took them them out to write stuff.&lt;br /&gt;&lt;br /&gt;And then I saw Herng Yi walking past, so I waved. He then came over and told me that the previous night he dreamt that he saw the class list for 501 (next year) and somehow saw both of our names, while claiming not to recognise anybody else's name on the list. Uh. That was a weird dream. Really. I'm suspecting he's lying, although I'm not too sure either way.&lt;br /&gt;&lt;br /&gt;Anyway. That was for a brief moment. Then Zi Yang came. Then Shaun came. Then Ben came. Then Mr. Low came. Then we began discussion and stuff. Considering that the deadline is Thursday/Friday, this means we only have about 3 days to finish up everything. It's going to be hard, but we'll pull it off.&lt;br /&gt;&lt;br /&gt;So stuff. Today. I plotted some functions regarding the explicit formula. I made a dumb blunder. I realised that the function I was handling was discontinuous at some points (specifically primes and prime powers). (Extra info: a root I was looking for was actually a discontinuity.) Anyhow, it was an interesting graph. I won't be putting up the image on zznq, because I'm lazy.&lt;br /&gt;&lt;br /&gt;Update: class lists are out; head over &lt;a href="http://m09404.blogspot.com/2009/12/class-list.html"&gt;here&lt;/a&gt;. I'm in 509! Class with fewest people. Of those 20 people I recognise 16 of the names. Uh. This might not be enough. Anyway, Herng Yi, you're in 508. Your prediction was wrong lol.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-7578899777892566959?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/7578899777892566959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=7578899777892566959' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/7578899777892566959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/7578899777892566959'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/12/rr-1941-something-happened.html' title='RR (19,4,1): Something happened'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-3686095330883210979</id><published>2009-12-17T18:38:00.000+08:00</published><updated>2009-12-17T18:38:19.071+08:00</updated><title type='text'>RR (19,4): Untitled</title><content type='html'>This post is intentionally not titled appropriately because I'm lazy to think of a proper title. Yeah. Some news.&lt;br /&gt;&lt;br /&gt;1: I fixed my TypeRacer cheat script; it now works again. (For now.) If you see anybody from Singapore at around 105 wpm (with speed varying largely within the race) as guest it's probably me using the script. (I don't type above that, because I can't clear the CAPTCHA fast enough.)&lt;br /&gt;&lt;br /&gt;2: There're some visitors. I can't quite tell who they are, but I think the group includes a toddler. They're probably some relatives. (While they sound familiar, they don't sound like they act like who I think they are. Maybe I'm a git, I don't know.) (Okay I think I know who they are now.)&lt;br /&gt;&lt;br /&gt;3: I managed to burn Ubuntu Netbook Remix to my thumbdrive two days ago (or so; I forget). I set apart about 10% of the space, installing UNR to the remaining space, with the remaining of that being used as the persistence file (y'know, to store the settings and files on reboot).&lt;br /&gt;&lt;br /&gt;4: Shift-4 on a standard qwerty keyboard gives dollar signs. (Well, I think you know that; most of you use qwerty right?)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-3686095330883210979?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/3686095330883210979/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=3686095330883210979' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/3686095330883210979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/3686095330883210979'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/12/rr-194-untitled.html' title='RR (19,4): Untitled'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-8834045692781780645</id><published>2009-12-17T00:07:00.000+08:00</published><updated>2009-12-17T00:07:29.191+08:00</updated><title type='text'>RR (18,6,4): Low-level audio programming</title><content type='html'>Okay, technically, there's only one way to do audio programming, so the term "low-level" doesn't really apply. Here's how it works. At every tick (which lasts the reciprocal of the &lt;a href="http://en.wikipedia.org/wiki/Sampling_rate"&gt;sampling rate&lt;/a&gt;), there is this object that moves to a position. Make it switch between two (or any number of) positions and you effectively have sound! On the other hand, if the position it is in is constant, then there won't be sound. That's pretty simple, ain't it.&lt;br /&gt;&lt;br /&gt;The system I'm using is /dev/dsp, which has a default sampling rate of 8 kHz, implying that the highest frequency sound I can produce is half of that, or 4 kHz. I'm too lazy to figure out how to change it, so I'll leave it as it is. The bitrate there is exactly a byte per sample, or 64 &lt;abbr title="kilobits per second"&gt;kbps&lt;/abbr&gt;. Take note that this is completely uncompressed, and should not be compared to formats like MP3. (Obviously.)&lt;br /&gt;&lt;br /&gt;(By the way, I lied when I said there was only one way of doing audio. The other way is to take waves and add them up to get a resultant wave. When I wrote the first paragraph I was wondering if this should be considered as being higher-level. Another way is to use precomposed sounds, but that's just cheating.)&lt;br /&gt;&lt;br /&gt;Ah yes, of course there's more. The obvious use for this is to make annoying sounds. Anything above 1 kHz played continuously tends to be perceived as being ridiculously irritating. It's sheer fun to irritate other people, and it's best when I'm kind of used to this type of noise. Of course, the limit being just 4 kHz, it's not that much fun. If I could (bother to) figure out how to fix that it'd be great fun.&lt;br /&gt;&lt;br /&gt;It's also quite interesting to hear how different fundamental sounds sound different. Maybe it's just that I have no life, but whatever.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-8834045692781780645?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/8834045692781780645/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=8834045692781780645' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/8834045692781780645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/8834045692781780645'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/12/rr-1864-low-level-audio-programming.html' title='RR (18,6,4): Low-level audio programming'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-6698986155298205782</id><published>2009-12-14T21:15:00.000+08:00</published><updated>2009-12-14T21:15:59.461+08:00</updated><title type='text'>RR (19,3,2,1): Mandelbrot set</title><content type='html'>On a computer. I can't draw IRL. Anyway, I made myself a small program to render the &lt;a href="http://en.wikipedia.org/wiki/Mandelbrot_set"&gt;Mandelbrot set&lt;/a&gt;. Actually, that's not quite right. It only renders an approximation to the set, but close enough. Anyway, I'm pretty sure you already know what the Mandelbrot set is. It's a set with fractal properties. Yeah. Why don't you just read the Wikipedia article?&lt;br /&gt;&lt;br /&gt;Basically my program generates a pair of real numbers in the range -2 to 2 using a PRNG, and checks whether the point is probably in the set. (This is a caveat shared by almost all Mandelbrot set rendering programs; it's not easy to prove divergence. (It might even be impossible.)) If it is in the set, the area around that point is darkened. If it's not, that area is lightened. Oh, I forgot to mention earlier; the program starts out with a grey slate. (Technical details: the program takes a square with area of a quarter of a pixel centred at the point, then fills that square, then antialiases. It assumes that the rendering engine uses greyscale antialiasing and not subpixel, although that might be interesting to see.)&lt;br /&gt;&lt;br /&gt;The effect is quite interesting; basically it's initially like noise in clusters, but after some time the pixels indicating points near/in the set darken and the others lighten, slowly forming the outline of the set, and eventually getting really close. The end result is basically a coarse/grainy version of the Mandelbrot set, although waiting sufficiently long should remove most of the graininess. A plus point is that the set is automatically antialiased, but of course using much more effort than the traditional method.&lt;br /&gt;&lt;br /&gt;I have a screenshot, but I'm lazy to upload.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-6698986155298205782?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/6698986155298205782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=6698986155298205782' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/6698986155298205782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/6698986155298205782'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/12/rr-19321-mandelbrot-set.html' title='RR (19,3,2,1): Mandelbrot set'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-949557341481248095</id><published>2009-12-12T14:54:00.000+08:00</published><updated>2009-12-12T14:54:23.670+08:00</updated><title type='text'>RR (19,3,2): Humanisation</title><content type='html'>Let me state this, and make myself clear:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;I do not wish to be humanised.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;I do not intend for myself to be filled with useless emotions.&lt;br /&gt;&lt;br /&gt;They impede thinking.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-949557341481248095?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/949557341481248095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=949557341481248095' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/949557341481248095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/949557341481248095'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/12/rr-1932-humanisation.html' title='RR (19,3,2): Humanisation'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-881691754689063747</id><published>2009-12-11T16:03:00.000+08:00</published><updated>2009-12-11T16:03:38.799+08:00</updated><title type='text'>RR (18,7): Today, and more stuff</title><content type='html'>Today, I woke up early. Well, earlier than the normal 1 PM. It was like sunrise hadn't even occurred today. The sky was still dark and stuff. I heard someone urinating. It's probably my grandmother. She's the only one who uses the toilet without closing the door. (At night; in daytime she does close the door.) I had no idea what was happening.&lt;br /&gt;&lt;br /&gt;And then I questioned myself. "Is today a school day?" After thinking for a while, turns out it isn't, so I went back to sleep. I have no idea what triggered that question.&lt;br /&gt;&lt;br /&gt;Anyway. I'm sure some of you have seen a relatively recent report claiming that Firefox was the browser with the most web application vulnerabilities. (It was some weeks back, and it was &lt;a href="http://tech.slashdot.org/story/09/11/11/1626224/Firefox-Most-Vulnerable-Browser-Safari-Close"&gt;on /.&lt;/a&gt;.) Only now I'm bothering to post about it, because I thought people were intelligent enough to dismiss the report as nonsense. (Implication: there were people who took the report as claiming Firefox itself was vulnerable.)&lt;br /&gt;&lt;br /&gt;I must admit, I haven't read the whole report, but if the main outline is wrong then I don't see any need to even read everything. Web application vulnerabilities. Web browsers. Eh, what?! Seriously speaking, supporting web app vulnerabilities &lt;em&gt;is&lt;/em&gt; a feature of web browsers, or at least should be. Web browsers should serve the content unmodified to users; this is the author's intention anyway. Before people accuse me of hypocrisy, add-ons are exempt from this issue. In other words, for example, having an ad-blocking mechanism in your web browser &lt;em&gt;by default&lt;/em&gt; is wrong. That's not following the specs, because ad blockers have to modify the content in some way. Same for other content-modifying add-ons.&lt;br /&gt;&lt;br /&gt;Besides, how do web app vulnerabilities correlate to web browsers? Web app vulnerabilities are faults of the web application, not the browser. The browser must (except if wilfully modified) display the content as set out by the author. I don't get how people can't get this simple fact. Many people don't understand how web browsers work. Here's what web browsers do: they grab a file of the internet, and then parses that file, sees whether the file requests for other content to be loaded (e.g. images), … it's quite long actually. No surprise there, but still.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-881691754689063747?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/881691754689063747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=881691754689063747' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/881691754689063747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/881691754689063747'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/12/rr-187-today-and-more-stuff.html' title='RR (18,7): Today, and more stuff'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-4367839486882755241</id><published>2009-12-10T02:20:00.000+08:00</published><updated>2009-12-10T02:20:11.369+08:00</updated><title type='text'>RR (16,10,4): Stuff</title><content type='html'>I'm just going to put a few sentences here. I just found some awesome stuff I've missed out on since about three years ago. I might have been slow as to determining the source of the awesome stuff, but at least I found it right?&lt;br /&gt;&lt;br /&gt;PS: I &lt;em&gt;am&lt;/em&gt; deliberately being vague about what the awesome stuff is. (Partially because it took me so long to find it, and even then it was partially by accident (and luck), although I had a hunch.)&lt;br /&gt;&lt;br /&gt;PPS: Ah, yes, and happy belated birthday me? (This post's shortness is to compensate for last year's birthday posting's massive 8-in-1 length.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-4367839486882755241?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/4367839486882755241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=4367839486882755241' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/4367839486882755241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/4367839486882755241'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/12/rr-16104-stuff.html' title='RR (16,10,4): Stuff'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-8345180078686707220</id><published>2009-12-06T22:02:00.000+08:00</published><updated>2009-12-06T22:02:48.364+08:00</updated><title type='text'>RR (19,3,1): Ubuntu Netbook Remix, 9.10</title><content type='html'>Quick rundown. I'm currently using Ubuntu Netbook Remix, 9.10! Yay! Okay whatever. I'm actually going to say that Ubuntu 9.10 kind of sucks, at least when running from my thumbdrive. Booting is a magical process that involves the command line. I think it's safe to say that seeing only the loading cursor on an otherwise blank screen, for more than 5 minutes (longer than Ubuntu 9.04 on this same thumbdrive took to boot) indicates that something went wrong with the boot process. Handy utility: press Ctrl-Alt-F1 to F6 to enter a command-line! Yes, and as I mentioned some posts back, at least on my monitor, the fonts are no longer rendered on a smaller resolution and upscaled. The good thing was that that meant I had more space to look through the man pages. Which shouldn't have been necessary in the first place. Do you know what man pages are? No? That's expected, normal users shouldn't have to know. Yes? You're either not a normal user, or you just checked what man pages are.&lt;br /&gt;&lt;br /&gt;First thing, I tried to mount my main hard disk filesystem. No dice, I forgot how mount worked. (Actually more like never knew.) The implication was that even though I was running UNR 9.10 on my laptop, it couldn't access the main partition, except of course the swap partition, which I don't think I'll be needing. (Fyi, swap is mounted automatically by Linux. Also, you Windows users might call it by the misnomer "virtual memory", which was the term Windows XP used for swap, iirc.) So, I tried to connect to a network. While I handily have a network cable, I was too lazy to shift my laptop around, and it was also charging (and, if you didn't forget, the router is placed opposite the power outlet as I mentioned in a post last year). Greater issue. While Kyle showed me how to connect to a network, I still couldn't figure out how. He used dhcpcd; I didn't have that, I had dhclient. And, following that, nobody knew how to do anything. The man pages are mostly nonindicative about certain important things.&lt;br /&gt;&lt;br /&gt;So no dice there. I switch back to display 7 (Alt-F7), and the cursor is still there, happily spinning about. Wtf. In a final desperate attempt, I switch back to the command line and kill every program starting with "gdm-", making GDM restart. Then miraculously, I got in. Okay, kind of unexpected, but if it works I'm not complaining. Except I'm complaining here, which means it isn't working. Imo, while the Ubuntu 9.10 interface was derided by some as being overly minimalistic, I'm actually fine with it. It's not bad. And the UNR 9.10 interface is pretty sleek too (in part because it's meant for netbooks, which means screen estate is a lot more important). Except. Where's the button I click to connect to a wireless network? I can't find it! Opening Firefox also handily tells me Ubuntu didn't connect to any network. (Expected, since there're more than one networks that my laptop detects.) Now, high-priority issue: in the not-so-rare event nm-applet fails to open, for whatever reason, at least provide an alternative interface! No, there isn't one. You must cross your fingers and hope that the neither the hard disk nor memory fails in that critical moment. Windows is much better in this aspect. &lt;br /&gt;&lt;br /&gt;Kind-of-sidetrack. In other words, because I don't know how, the only way I get to connect to a network from Enlightenment 16 is to log in to Gnome on another account, then switch out. Wtf-ish, ain't it. And if you don't install the whole Kubuntu package, chances are that in KDE you won't be able to figure out how to connect either. End sidetrack.&lt;br /&gt;&lt;br /&gt;So now I'm here, writing this post, inside gedit, planning to save to my hard disk, and later post it. You know what? This makes no sense. I'm going to try one my favourite experiments: to chroot into the main filesystem and pretend it's Ubuntu 9.04 instead of UNR 9.10 . (Which, once again, turns out to not work. Why does it never work?)&lt;br /&gt;&lt;br /&gt;Oh, I forgot to mention. Looking in the Internet section, there's nothing helpful (a mail client, IM client, web browser, BitTorrent client and the Ubuntu One client). Looking in the System section, there's Network Connections, which while seeming it'd do the job, actually doesn't do anything at all. There's no feedback on exactly what it's doing or going to do. It sucks. Also, in the Ubuntu help (where the icon changed from a sans serif question mark to a serifed question mark wtf), the first link under Common Questions is "Connecting to the internet". That might have seemed useful. Going from there and choosing "Wireless", the first thing it tells me to do is to interact with nm-applet, which as I've just earlier mentioned decided to not turn up.&lt;br /&gt;&lt;br /&gt;[post written around 2009 Dec 5 8:03 PM]&lt;br /&gt;&lt;br /&gt;Addendum: I'm still on Ubuntu 9.04, and haven't upgraded yet. My greatest worry (which is not completely unfounded) is that the flaws in Ubuntu 9.10 I experienced aren't just a side-effect from my thumbdrive repeatedly being reflashed. I'm hoping they are, but I'm not taking chances. (The slightest bit of evidence I have on this alternative was having Fedora 12 Live suddenly shut down.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-8345180078686707220?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/8345180078686707220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=8345180078686707220' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/8345180078686707220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/8345180078686707220'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/12/rr-1931-ubuntu-netbook-remix-910.html' title='RR (19,3,1): Ubuntu Netbook Remix, 9.10'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-1116964096030834186</id><published>2009-12-03T03:04:00.002+08:00</published><updated>2009-12-06T21:55:57.656+08:00</updated><title type='text'>RR (19,3): Typefaces I absolutely detest</title><content type='html'>Those on the top on the list. If you guys really know me, you know what these fonts are. Arial. Times New Roman. Helvetica. I can't stand them. They look unprofessional, and somehow also very dated. The moment I see them used in a paper it's time to sound the alarm for crankiness. They're horrible fonts. That's even ignoring the fact that, except for Helvetica, these fonts are &lt;em&gt;not&lt;/em&gt; legally freely redistributable.&lt;br /&gt;&lt;br /&gt;I just remembered something. These fonts also happen to lack any proper kerning or ligatures. They suck for that. Yes, that's one reason.&lt;br /&gt;&lt;br /&gt;The other font I hate, which is also redistributable, happens to be the &lt;a href="http://en.wikipedia.org/wiki/Free_UCS_Outline_Fonts"&gt;Free Fonts&lt;/a&gt;. They look even worse than Arial, Times (any version) and Courier. (Note: I don't have much against Courier, except that the strokes are too thin.)&lt;br /&gt;&lt;br /&gt;So which font should you use? Even restricting yourself to the &lt;a href="http://en.wikipedia.org/wiki/Core_fonts_for_the_Web"&gt;core fonts&lt;/a&gt;, there is &lt;del&gt;Webdings,&lt;/del&gt; Georgia, Verdana and Trebuchet MS. And assuming you actually bother with stuff, you should already have either the Bitstream Vera fonts or the DejaVu fonts, both being superior by being free and looking better (note: subjective). (And if you have those fonts, you should be seeing these blog posts in those fonts instead of Arial.)&lt;br /&gt;&lt;br /&gt;I must say that, apart from those typefaces, I don't think I have encountered any other ugly font that is commonly used.&lt;br /&gt;&lt;br /&gt;PS: I use "font" and "typeface" interchangeably here, which is technically incorrect, but "font" is shorter and also more convenient to type.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-1116964096030834186?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/1116964096030834186/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=1116964096030834186' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/1116964096030834186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/1116964096030834186'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/12/rr-193-typefaces-i-absolutely-detest.html' title='RR (19,3): Typefaces I absolutely detest'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-517184841700563859</id><published>2009-12-02T21:57:00.000+08:00</published><updated>2009-12-02T21:57:44.674+08:00</updated><title type='text'>RR (15,12): Another game mechanic</title><content type='html'>This time, again, for the RPG genre. Let's have a look at some things. There is a very irritating aspect of RPGs in general: level grinding. Want to defeat that boss? Okay, why don't you level up a few times and wait till you're stronger before even attempting? That's boring. And even worse, things should not be too much harder to do on a new character than on a "seasoned" (or "veteran", whatever) character. At least relatively speaking, there should be some things that are easier to do early, and some things easier to do late. (Ignoring opportunity costs of course.)&lt;br /&gt;&lt;br /&gt;So instead of starting out with low stats and slowly, through grinding, getting more stats, maybe we could start out with decent stats, and then have each level-up allow (limited) redistribution of the stats. The greatest problem here is introducing game breakers. (Just like every other game mechanic.) If, for example, the player redistributes every stat point into strength, then he/she might be able to one-hit everything without even getting hit. The traditional workaround is to have the opponents occasionally having the upper hand. And the other popular workaround is to have a stat comparison: if your whatever stat point is higher you have a higher chance of getting initiative. Not very nice, although it can allow for some strange stat balancing trickery.&lt;br /&gt;&lt;br /&gt;Of course, the very purpose of this mechanic can annoy people. People who want to show off their massive stats accumulated through years of constant game playing. One way of fixing this is to actually have some kind of levelling up that provides stats, but happens very slowly. This might not be a good workaround though.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-517184841700563859?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/517184841700563859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=517184841700563859' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/517184841700563859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/517184841700563859'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/12/rr-1512-another-game-mechanic.html' title='RR (15,12): Another game mechanic'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-5773370369586704108</id><published>2009-12-01T19:00:00.000+08:00</published><updated>2009-12-01T19:00:15.616+08:00</updated><title type='text'>RR (18,6,2,2): Cranks</title><content type='html'>I shall here mock a particular crank. I happened to chance upon a link from Wikipedia to &lt;a href="http://milesmathis.com/index.html"&gt;this site&lt;/a&gt; where it was described as having "[an] example claim (totally incorrect)" of a solution to Goldbach's conjecture.&lt;br /&gt;&lt;br /&gt;I should warn you. Don't actually bother going to the site; the font size is set way up, and reading will require a lot of scrolling. That said, and also considering the sheer quantity of "papers" that crank has written/typed, I'm not going to bother going through every single one of 'em. And to make my life easier, I shall just skim through them. To be more precise, I'm only going to go through the items in the seventh (?) part, namely 108, 112, uh, never mind, the list is too long. Thinking again, you might want to go for the site, just because it's So Bad It's Good.&lt;br /&gt;&lt;br /&gt;First, number 108. In the very first paragraph the crank mentions that a line represents a velocity. Sorry, but you're already wrong there: the velocity represents the line, not vice versa, and it's not a bijection. After the tilde divider, the crank then mentions that a bijection between the positive integers and an infinite countable set means that the latter set must be nowhere dense (or more colloquially sparse), which is again wrong because the rational numbers are dense, infinite and countable. Skip some paragraphs, head on the part on Hilbert's Hotel. This is an interesting &lt;em&gt;thought&lt;/em&gt; experiment, and it's all that it is: a thought experiment. The crank also can't handle that the set of positive integers and non-negative integers (where the latter has an extra zero) have exactly the same cardinality: aleph-0.&lt;br /&gt;&lt;br /&gt;Second, number 112. I'm not actually going to bother to read this. Let's review the simplest definition of discrete entropy: the sum of −&lt;var&gt;p&lt;/var&gt;ln&lt;var&gt;p&lt;/var&gt; over all probabilities &lt;var&gt;p&lt;/var&gt;. It's not hard to make this continuous. Let's see the crank's paper. Search "log", and… you don't get anything! (Well, you get the words "teleological", "logically", "tautology", etc.) Moving on; anything about entropy that doesn't even involve logarithms is already wrong. (Just so you know, I also searched "ln", but it didn't give anything either.)&lt;br /&gt;&lt;br /&gt;Third, number 113. The crank can't understand abstract things except by analogy to physical things. The error here is that the crank thinks that these analogies are equivalences, which is wrong. The crank mentions that "straightening out the string" is a "complex action". What the crank doesn't mention is that the length is an invariant under this straighten-out operation. Given this reply, the crank might even reply that the string might stretch. Whoops, that's off already.&lt;br /&gt;&lt;br /&gt;Fourth, number 114. Because the crank helpfully provided a TL;DR version, I'm going to use that and ignore the long version. The proof is obviously invalid. Just because a sequence of lines tends to a particular line doesn't mean that the lengths of the lines have to tend to any particular value. The "proof" is actually proving this, not "4 = π". (Cf. fractals.)&lt;br /&gt;&lt;br /&gt;Fifth, number 119. The crank doesn't realise that the square we desire has to be exactly of the same area as a given circle, not arbitrarily close. The crank assumes the existence of indivisibles… hey wait, hold on, in number 108 the crank used the non-existence of indivisibles to refute Cantor's argument! I'm just about as confused as you are about this guy's dissociative identity disorder. Also, the crank doesn't understand what the Greek compass and straightedge geometry allows.&lt;br /&gt;&lt;br /&gt;Sixth, number 120, the one Wikipedia linked. The crank tries to provide a lead, and then claims that it's flawed, rectifies it, then again claim that it's flawed, and so on. I'm not actually very sure what the hell the crank was even trying to claim. The crank makes the fatal assumption that the primes are completely uncorrelated… which is false because they are the primes! (Specific example: they're all coprime.) That was the only assumption I managed to distil from all that nonsense. It might also have been more acceptable if it weren't mostly prose.&lt;br /&gt;&lt;br /&gt;Seventh, number 121. The crank doesn't realise we're using hypothetical monkeys that also happen to be perfect random character generators. That's what the infinite monkey theorem uses. What the crank has done is basically to take an obviously false statement, and disprove it with a wall of text.&lt;br /&gt;&lt;br /&gt;Eighth, number 122. Something that isn't (pseudo)maths or (pseudo)physics. I don't understand what this crank is trying to get at. At all. The crank also neglects that there are two main types of atheism, weak (which is basically the same as agnosticism) and strong (aka antitheism), which are not the same. (There's also explicit and implicit atheism. I belong to the former, fwiw.)&lt;br /&gt;&lt;br /&gt;Ninth, number 123. This one is about the fabled and beloved Large Hadron Collider. (Coincidence that my initials happen to be the reverse of "LHC".) The LHC is run by a corrupt entity, &lt;a href="http://chltoopro.blogspot.com/2009/11/rr-1775-abortion-is-murder.html"&gt;so what&lt;/a&gt;? OMG did I just completely destroy the crank's argument with that? (The answer to this rhetorical question is yes.) Ethic/moral questions, down the drain.&lt;br /&gt;&lt;br /&gt;Tenth, the whole thing. Absurdly large font, from the use of &amp;lt;font&amp;gt; tags (ack), use of a table to restrict the width, and y'know all that shit. It sucks. Also, let's hit &lt;a href="http://www.scottaaronson.com/blog/?p=304"&gt;the ten signs&lt;/a&gt;. 1, the crank doesn't use TeX. 2, the crank doesn't understand what he/she is claiming. 4, the crank proves impossibilities. 5, the crank isn't precise. 7, the crank fails to acknowledge certain truths. 8, well duh, most of the text is irrelevant prose. 9, ditto. 10, how so obviously. So that's 8 out of 10 signs for nonsense.&lt;br /&gt;&lt;br /&gt;PS: I note that in one of those the crank mentions that he/she is not a professional mathematician or scientist. I'm too lazy to actually reopen the tabs I closed and scan through every one of them, but it's in there somewhere. And yes, if you're the crank who wrote all that nonsense, I must let you know that I have little intention of reading your works on physics, because I'm not a physicist. Also, if you feel like, you can post this post on your site. (Although the crank is unlikely to even know that he/she is a crank, especially considering that there is a link to his/her site with a negative remark, from the high-traffic English Wikipedia.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-5773370369586704108?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/5773370369586704108/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=5773370369586704108' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/5773370369586704108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/5773370369586704108'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/12/rr-18622-cranks.html' title='RR (18,6,2,2): Cranks'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-6278661188094431780</id><published>2009-11-30T23:39:00.000+08:00</published><updated>2009-11-30T23:39:57.093+08:00</updated><title type='text'>RR (19,2,1,1): Physical access</title><content type='html'>If an attacker has full physical access to a machine, the machine is compromised already. The only way to counter this within the hardware is through Trusted Computing kind of stuff, but really, that kind of stuff is more harmful than it sounds.&lt;br /&gt;&lt;br /&gt;It doesn't matter how many passwords or hurdles you set up. The only one that might be of any importance is probably the boot passwords. (Technicality: a boot password is here treated as a password needed to change booting options.) And most people don't set that, which allows an easy compromise by booting into a live environment. And even if there is a boot password, with physical access the attacked can just physically unmount the hard disk.&lt;br /&gt;&lt;br /&gt;Public terminals are automatically at risk. I have already mentioned how I broke into the school computers, with just a simple innocent-looking USB stick. Quite a few times even, because I got quite surprised that they didn't set a boot password at all (the previous configuration was relocated to the library), and using computer lab computers meant I didn't have to use my own. The only kind-of-malicious thing I did was to get &lt;a href="http://sites.google.com/site/ltnplz/test-cabinet/found.txt.bz2"&gt;a file listing&lt;/a&gt; (relinking if you still care for it), something I otherwise couldn't have done.&lt;br /&gt;&lt;br /&gt;Then again, a file listing itself isn't exactly something dangerous or harmful. But I could have done much more. In theory, I could set up a replacement program such that when iexplore is run, Firefox launches instead. (That wouldn't be difficult.) I could prevent Windows from booting at all with a simple modification to boot.ini. I could activate new screensavers (read: nuke system32). I could install a keylogger. I could frame anybody I dislike to carry the blame for "hacking" the computer. (Well, at least up to the point that I'm not suspected at all, not that I might actually successfully frame anybody.) I could deactivate virus scanners. I could have the computer make annoying sounds on startup. The possibilities are many. (That is a bit of an understatement, although saying "infinite" is wrong.)&lt;br /&gt;&lt;br /&gt;And y'know what? I'm practically prepared to do this to any computer I see and is unlikely to have boot passwords. A ridiculously huge proportion of computers are not secured in any sense. Left your laptop unattended? I might have snooped on everything already. User permissions? Administrator account? Who cares about those, I got full boot access. That said, I haven't actually succeeded on this, and almost miraculously that of everybody whose laptop I have used (except for my sister's) I'm the only one who actively uses password managers without a master password.&lt;br /&gt;&lt;br /&gt;So much for knowing more about security, ha! I suck! Then again, I'm doing this just for the lulz and the thrills. There's nothing more fun than having access to where others try not to let you look.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-6278661188094431780?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/6278661188094431780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=6278661188094431780' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/6278661188094431780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/6278661188094431780'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/11/rr-19211-physical-access.html' title='RR (19,2,1,1): Physical access'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-6663248120524647461</id><published>2009-11-26T01:51:00.001+08:00</published><updated>2009-11-28T22:36:08.275+08:00</updated><title type='text'>RR (19,2,1): Hearts</title><content type='html'>I was playing &lt;a href="http://www.jejik.com/gnome-hearts/"&gt;Hearts&lt;/a&gt;, and I got a hand of 46789JQKA♣256♦Q♥. You know what? I got all clubs except for 2, 3, 5, 10. Also considering I was playing against 3 pretty lousy AI opponents, I easily won, as in, I shot the sun. Okay that doesn't sound so pro now. Admittedly, I haven't gone through all 7 AIs available in the program, and the three I play against kind of suck.&lt;br /&gt;&lt;br /&gt;Just randomly choosing one of the 7 AIs to play isn't exactly a good idea. While it introduces unpredictability, it does so at the expense of overchoosing weaker AIs. 3 out of 7 of them are exactly the same, which also means that unless there is specific work going on, it's quite probable that two of these will get chosen. So a proposal. Rate each AI. Have them play many games, some with themselves, some against human players, some against two human players sitting opposite, et cetera. Of course, we must make sure that if we're using two or more human players then they must not collude or communicate.&lt;br /&gt;&lt;br /&gt;Why not make the AI really an AI, in the sense that it can learn? That's incredibly difficult. All the games have to be played with a relatively good/skilled human; such makes the training process quite tedious for this player.&lt;br /&gt;&lt;br /&gt;There's also a relatively serious flaw in this implementation of Hearts. The relative locations of the cards to be passed are revealed to the human player, which gives him an advantage (because the cards also happen to be sorted). Suppose it's the pass-three-cards-opposite round and that the player opposite is passing cards from its left-hand side. Then I would know already that shedding clubs would be useless since the AI will likely be passing clubs, wasting my effort. I'm not sure if Windows Hearts has this issue; from my memory it seems that it does, although I don't quite trust my memory.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-6663248120524647461?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/6663248120524647461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=6663248120524647461' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/6663248120524647461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/6663248120524647461'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/11/rr-1921-hearts.html' title='RR (19,2,1): Hearts'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-3163179924224639652</id><published>2009-11-25T10:15:00.001+08:00</published><updated>2009-11-25T10:25:52.757+08:00</updated><title type='text'>RR (19,2): Paper cuts</title><content type='html'>I've never had a real paper cut for quite some time. So I don't really care about those. The term paper cut, in software usability, was coined by analogy to paper cuts. They hurt, we could ignore them, but they're ridiculously irritating. Ok, proper stuff now. I shall now describe all the issues I had with Ubuntu, which might or might not be fixed in 9.10 (I haven't upgraded yet). They're roughly by the order found in the Applications menu, from the third one onwards.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The boot screen is drawn at a lower resolution, then upscaled. It looks awful. (Fixed in 9.10 .)&lt;/li&gt;&lt;li&gt;The Gnome help program (yelp), which launches with F1 on pretty much every Gnome program, takes longer than Firefox to start up. (Well, Firefox with a clean profile.)&lt;/li&gt;&lt;li&gt;Gedit will change tab width depending on which format you save the file in, instead of respecting the user's decision.&lt;/li&gt;&lt;li&gt;The blackjack game doesn't remember the bet last played across restarts.&lt;/li&gt;&lt;li&gt;The chess game can hang after &lt;a href="https://twitter.com/0x3c0/status/4992716255"&gt;making a weird move&lt;/a&gt;. (Maybe it's GNU Chess at fault, I don't know.)&lt;/li&gt;&lt;li&gt;Gnometris is practically unplayable unless you use the plain style (which isn't the default). The soft drop also goes too fast, and eventually it'll lag. It also uses more than 40 MB memory.&lt;/li&gt;&lt;li&gt;Mines (minesweeper clone) lags visibly in the display.&lt;/li&gt;&lt;li&gt;F-Spot can't remember where I want my photos saved, and if I don't check, it saves directly in the home directory. (Not even Pictures.)&lt;/li&gt;&lt;li&gt;Lack of a Paint-like program. Even ReactOS has one now.&lt;/li&gt;&lt;li&gt;The user interface of the codec installer sucks (for new users).&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;That's ten paper cuts there, and I think so far only the first one has been fixed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-3163179924224639652?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/3163179924224639652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=3163179924224639652' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/3163179924224639652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/3163179924224639652'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/11/rr-192-paper-cuts.html' title='RR (19,2): Paper cuts'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-2379525087137339601</id><published>2009-11-24T15:57:00.000+08:00</published><updated>2009-11-24T15:57:35.693+08:00</updated><title type='text'>RR (18,6,2): What holidays mean</title><content type='html'>Well, I don't know. The last December holidays, I used to sleep from at about 12 noon until about 4 or 5 pm. It was pretty awesome. Uh, in case you didn't see the earlier post times (last December's ones), I really managed to pull through no-sleep nights. At night I could be programming, reading Wikipedia, doing all those kind of weird shit stuff.&lt;br /&gt;&lt;br /&gt;Which brings up the next point. I can't do it now. I have tuition on Saturday mornings/afternoons. I might be risking being completely tired and exhausted. I don't suppose that's what I want. I could try it out, but only on like Monday-Thursday, and then on Friday and Saturday and Sunday I have to readjust my body clock, which seems to be too much work. Meh. I could have done it during June, but I didn't manage to pull it off. I only went up to 4 am or so. There wasn't enough time to condition myself.&lt;br /&gt;&lt;br /&gt;Note that conditioning to become nocturnal is harder than conditioning to become normal-ish again. Actually maybe it's because of the time pressure. Not much chance to sleep late during school days anyway.&lt;br /&gt;&lt;br /&gt;Maybe, just maybe, if I'm lucky, I might get some breakthroughs in stuff.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-2379525087137339601?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/2379525087137339601/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=2379525087137339601' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/2379525087137339601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/2379525087137339601'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/11/rr-1862-what-holidays-mean.html' title='RR (18,6,2): What holidays mean'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-5047723318733258926</id><published>2009-11-23T21:20:00.000+08:00</published><updated>2009-11-23T21:20:04.106+08:00</updated><title type='text'>RR (17,7,5): Abortion is murder</title><content type='html'>People who happen to not know me personally IRL or never read most of my posts might think that me having claimed that abortion is murder is a sign that I'm one of those weird anti-abortion people. Hey, guess what? I'm a pro-choice person.&lt;br /&gt;&lt;br /&gt;Let's attack straw men first, because that happens to be something I do relatively well. One claim going against abortion is the that of the equivalence to murder. The obvious counter-claim: "so what?". That counter-claim works against pretty much every argument. Is murder bad? Hold on. Let's just define "murder" first. &lt;a href="http://en.wiktionary.org/wiki/murder#Noun"&gt;Wiktionary says: "[an] act of deliberate killing of another human being"&lt;/a&gt;, which is, uh, what? How is that wrong? Let's break this up further. There's an assumption that killing is "bad", in some sense. Prove it; the burden of proof lies on the person making the claim. Killing makes a lot of economic sense. If you don't realise, human bodies kill many living things (another term with a somewhat debatable definition) constantly, all the time. Germs in your body? Either you kill them, or they kill you. Simple. And of course we kill a lot of non-human animals in our lifetimes (possibly using other people as a proxy) for food. (Exception: if you're a noncarnivore, or you're in PETA. Minority groups we don't have to care much about.)&lt;br /&gt;&lt;br /&gt;So what's so special about humans to consider us as being different from and superior compared to other animals? I don't know, we're the only ones who use the internet? Biologically, there isn't much of a difference. We're all made of mostly the same stuff. So what, murdering animals is fine but murdering people isn't? That's an inconsistency, you hypocrite.&lt;br /&gt;&lt;br /&gt;In fact, from a biological perspective, we're even killing ourselves, in the sense that some cells cannibalise on other cells. (Despite not being good at cell bio, I actually remember some stuff.) "But it's myself I'm killing, not others!" Honestly, I don't see how you can support that stand. From an evolutionary standpoint (yes, evolution works) people act for self-interest. In other words, if it makes sense to, killing other people is fine. Perfectly fine. Of course, most of the time this doing this is a dumb idea, since it destroys public opinion about you, which is not a good thing, and also a net negative impact on the whole society. (Despite, or should I say, precisely because of us being selfish, we tend to act selfless. It's not a paradox, it's an idiosyncrasy in the definitions.) Of course, out of sheer stupidity people can do things that have a net negative impact on society unintentionally. (Again, I'm not claiming that I'm not stupid.) But is that outlawed? In most cases, no. In fact, outlawing it is useless since there would be no way of prosecution.&lt;br /&gt;&lt;br /&gt;About killing above. What really constitutes as killing? Conventionally, when a person is killed, not all the cells die simultaneously. Anyway, this isn't really relevant to the current discussion, just some food for thought.&lt;br /&gt;&lt;br /&gt;Let's think about things differently. Fetuses are parasites of the hosts. It suddenly makes a lot of sense to get rid of this parasite if it doesn't seem to provide an eventual benefit. Even if the parent cannot have an exact answer as to whether the fetus will eventually provide some kind of benefit, such a choice is not ill-made. A (relatively) common counter-claim to this is that people justify their actions after they have already decided; my obvious reply is "so what?"; that means that they think what they're doing is for the greater good. They might be wrong, but again, so what? People make wrong choices all the time.&lt;br /&gt;&lt;br /&gt;Now, before you use that burden-of-proof thing on me, note that initially, people did not have laws. Social rules maybe, but not laws. In other words, while I'm making a claim, I'm not the one making the claim opposing the original (lack of) intention, burden of proof doesn't lie on me. Besides, it's not as if I didn't properly support my claims.&lt;br /&gt;&lt;br /&gt;The real underlying issue is that people are taught the wrong things. Pretty much every moral or ethics teaching involves a Fantastic Aesop. If people could just learn to ask "so what?" then these teachings no longer make sense. Okay disclaimer this discussion is going off-topic. If that's the case then why should we stay alive? It makes evolutionary sense to. But why should we care about that? For teh lulz.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-5047723318733258926?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/5047723318733258926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=5047723318733258926' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/5047723318733258926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/5047723318733258926'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/11/rr-1775-abortion-is-murder.html' title='RR (17,7,5): Abortion is murder'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-1883629044291098867</id><published>2009-11-21T21:20:00.000+08:00</published><updated>2009-11-21T21:20:18.190+08:00</updated><title type='text'>RR (19,1): Blogs</title><content type='html'>Blogs. I talk about them. There are decent blogs, and there're horrible blogs. In fact, we could have a sliding scale of blog decency. This blog, for example, lies closer to the horrible end than the decent end. I'm pessimistic, but then who cares. I actually read a lot of blogs of our schoolmates. Okay maybe not a lot, more like, uh, 4. There are interesting observations I shall now mention.&lt;br /&gt;&lt;br /&gt;There's a lot of shitty themes/templates/skins. The choice of colour is often fail. Having massive amounts of bright colours is not good for the eyes. And then there are sometimes links that change size when hovered (font face, font size, font weight (aka boldness), etc. changing). I hate that. I really do. But also considering the recent trend in migrating to WordPress.com from Blogger, the use of shitty themes has also declined. WordPress.com tends to have nice default themes. Well, some of them look awful, but at least the colours aren't dissonant or cacophonic. (Actually, some are. One of my (current) classmates happens to use that.)&lt;br /&gt;&lt;br /&gt;Ok maybe I can't quite generalise so freely considering the quantity I actually read. Anyway, moving on to the content. With the exception of two (of whom one is obviously Shaun Lee), everybody posts about daily/recent happenings far more than other types of content. This might be a Singaporean thing. I dunno lol. I've also been doing it quite a lot recently. Maybe just for the sake of lulz.&lt;br /&gt;&lt;br /&gt;And then quite a lot of the blogs move frequently. That's kind of irritating. This blog has moved just once, and at then there were few readers. (Well, there're still few readers.) Some of them don't include redirects in the old links (not good). Some of them delete all the content in the old links. Whether that's good is subjective. And then, of course, with the move to WordPress.com, some people have elected to password-protect their posts… and considering that I'm not typically expected to be within the demographic of the blog in question, I can't see the contents. Uh.&lt;br /&gt;&lt;br /&gt;And of course, there tend to be incredibly long periods of time in which nothing is posted. The longest for this blog happened last year. This year I've generally been doing a great job of posting regularly. Except at zznq. That one is really sporadic; I only post stuff when I have findings. I tend not to post works-in-progress &lt;del&gt;(such as a super-secret method of breaking RSA)&lt;/del&gt;, since they might be wrong. For example. Daryl's blog: almost 28 months of inactivity (and increasing). Some other people: also more than a year. Well, it's bad enough when people just go months without updates. And yes, some people do go months without updates. It's pretty nice when you get to read new stuff every 2 or 3 days. Pool all the content and that becomes more or less daily.&lt;br /&gt;&lt;br /&gt;Ends abruptly. You die. (No actually you just lose the game.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-1883629044291098867?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/1883629044291098867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=1883629044291098867' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/1883629044291098867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/1883629044291098867'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/11/rr-191-blogs.html' title='RR (19,1): Blogs'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-4065060160785209993</id><published>2009-11-21T19:20:00.000+08:00</published><updated>2009-11-21T19:20:08.348+08:00</updated><title type='text'>RR (19): Yesterday</title><content type='html'>Yesterday was the last official day of school for 2009. It's also the last day we, 405, will be 405, for next year we'll be disbanded. (?) Well, mostly. I don't think I'll be with some of my classmates (now) I'm more familiar with next year. Let's assume there're many people in our current level, so we can ignore the exclusion principle. (I think 200+ is large enough.) Split (randomly) over nine classes, I should expect about one and a half of my classmates to be in the same class next year. Then again, I suspect this is hardly randomised. For one, there is correlation: people who intend to be in the same class can choose the same subject combination.&lt;br /&gt;&lt;br /&gt;Well, yesterday's stuff. We cleaned up the classroom pretty fast. And then we headed up to the netball court on the fifth storey to play captain's ball. It's quite a popular game, apparently. Some people didn't go. (Off-hand I think this is Timo, Ian, Shaun Lee and Andre. Andre joined later though.) We were playing for quite some time (and during that time I epic failed, having passed the ball to the opposing team at least 3 times (even though I blame other people)) and then at roughly 10:50 I got hit by the ball in the chest. Ouch. I thought I was fine. Turns out it really hurt, after I went to get the ball after someone else threw it out. So I sat down (at the side of the court, not in the court) for a while. And then I went back to class. I saw some people there. Yeah. Whatever. So I was sitting down getting my mind of the pain, while Ian was trying to induce laughter (maybe subconsciously), which obviously was not a good thing.&lt;br /&gt;&lt;br /&gt;So anyway. I went home. No big deal actually; by then most of the pain subsided. And then because I was ridiculously tired for some reason, I quickly took a bath and a nap. (In that order. I don't normally bath early, and I don't normally take naps in school uniform.) And then for some reason it started hurting again. Wtf.&lt;br /&gt;&lt;br /&gt;I think that's about it. Oh wait, the progress report thing. Yes. I failed Physics (D+). That is a very interesting thing to know. I don't like dealing with thin lenses. They're far too hand-wavy: "we can assume the light bends at exactly the central plane of the lens since it's thin", and "the focal length is somehow related to the radius of curvature". You know what? If the lens is sufficiently thin light will go through without refracting significantly. Mirrors, on the other hand, make much more sense, because they can be solved (sometimes). I say "sometimes" because there are practically unsolvable systems, exact or numerically. (There are chaotic systems of mirrors; generally (but not always) the conic sections are non-chaotic, but combinations of them that are simple closed curves are.)&lt;br /&gt;&lt;br /&gt;I also passed both Evolution and Molecular Genetics, B and C respectively. Okay now, Shaun(s), I don't need you to mock (or more colloquially "suan") me over my grades. I'm not going to elaborate much on the rest of my grades. That's not important.&lt;br /&gt;&lt;br /&gt;What else happened yesterday? Let me think. Uh. I don't think anything else important happened. Yeah. kthxbye&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-4065060160785209993?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/4065060160785209993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=4065060160785209993' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/4065060160785209993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/4065060160785209993'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/11/rr-19-yesterday.html' title='RR (19): Yesterday'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-5992609432342591915</id><published>2009-11-18T23:01:00.000+08:00</published><updated>2009-11-18T23:01:48.472+08:00</updated><title type='text'>RR (18,6): 360 degrees in 2π, and a game mechanic</title><content type='html'>This is the 360th post! It's also a completely useless, uh, number. I forgot what word I wanted to type (and I haven't remembered so I just conjured something in its place). It happens a lot. This post will be short, but at least it's not going to be a rant!&lt;br /&gt;&lt;br /&gt;Game idea. RPG-ish. You start out somewhere, you engage in combat with someone, and win the fight (note that knowing the exact stats of that someone also changes some things later on; this is an optional game mechanic). After that, plot advances (who cares), and then you find a time machine! I think you can guess what's coming up next. You go back in time to enter a combat with your past self, and make sure you lose. In fact, your moves should be exactly as played by what your opponent (i.e. your future self) fought earlier in the game, and if stats are shown, your stats must also be the same.&lt;br /&gt;&lt;br /&gt;This game mechanic idea thing has some interesting implications. For one, if your stats happened to be wrong compared to your then-future self, then a temporal paradox occurs and you lose. Similarly, if you won the fight (instead of losing, because that's what you experienced earlier) you die anyway. And if you don't execute the same moves as your then-future incarnate you still lose, because that does not correspond. Of course, if for whatever reason the game developer decides to add a lot of fake difficulty, it could come in the form of your attacks all being high-level and incredibly damaging, requiring all of them to miss in order for you to lose (and for past-you to win). This could be done through an item, or just pure luck. It can be made even worse by having these attacks have low miss rates.&lt;br /&gt;&lt;br /&gt;Of course, if the developer isn't so sadistic, an alternative is, say, dropping an item that boosts defence a lot, letting past-self pick it up (which you must do earlier in the game, if not you'll have to use immense luck to miss every attack), and then firing the high-damage attacks without as much worry.&lt;br /&gt;&lt;br /&gt;This idea isn't completely original; it was inspired by some blog post (I'm too lazy to link) which had a similar idea involving time travel, where in an FPS game you find your starting place in a particular setup (or something), and you go back in time after suitable plot advancement, then you must set up the starting place exactly as you saw it earlier. (And also avoid letting past-you see you, since you didn't know the time-travel thing at the start of the game. Of course, such a mechanic could become It Was His Sled-ish.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-5992609432342591915?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/5992609432342591915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=5992609432342591915' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/5992609432342591915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/5992609432342591915'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/11/rr-186-360-degrees-in-2-and-game.html' title='RR (18,6): 360 degrees in 2π, and a game mechanic'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-2872466614432356326</id><published>2009-11-17T21:59:00.000+08:00</published><updated>2009-11-17T21:59:52.535+08:00</updated><title type='text'>RR (18,5,3,1): Today's happenings</title><content type='html'>Yay house games. Apparently, our house lost quite badly. Uh. Yeah. We went up to the fifth storey to watch people play captain's ball. Yeah. Actually, it's more like I went up with people who were actually playing; I was just slacking about not doing anything of importance. How cool was that. Anyway, for the sixth round, red versus yellow, red won. (I am intentionally holding back the house names for some reason, although if you are so inclined it's not difficult to actually find them.) By a lot: 12-2. Apparently Zi Yang was so pro, not even Allwin could block the ball. Also, during the time I had my laptop on 3 people (not naming names) used my laptop for going to Facebook.&lt;br /&gt;&lt;br /&gt;Anyway. After that we went to the library. I'm actually fuzzy on the details here. I have lousy memory. So we were playing Lost in the Static. I am actually now being a hypocrite, especially considering that game isn't free. Ok, some exceptions. Not many. Whatever. (A pretty hated word according to a ST column in LifeStyle.) And then we played &lt;a href="http://chltoopro.blogspot.com/2009/11/rr-1610-vapourware-condensate.html"&gt;the Snake-Tron-clone-thing&lt;/a&gt;. Shriram was drawing stuff with it. And then we played Super Mario War, which actually is free. (In case you still don't know how I use that word, go check the Wikipedia article on free software. I'm too lazy to link it here.) Until it was 12:45, then we went to the hall.&lt;br /&gt;&lt;br /&gt;Game time started. After the dumb attendance-taking session, we went back to the library. To play Scotland Yard. 4 (?) rounds. Then it was about 2:30 PM. and then we were slacking for a while. And then we went home. I think. Maybe.&lt;br /&gt;&lt;br /&gt;So now I am here, still not doing anything of importance. Well, public service announcement. Fedora 12 will be releasing within an hour; torrent it if you want. I'll be seeding all the way. Even though I'm not even going to use it. I still have (and was seeding some days ago) Fedora 10 and 11, just for the lulz. Some day I'll actually seriously consider trying out Fedora. Properly. And then maybe we could have a better review of it. The last time I tried &lt;a href="http://chltoopro.blogspot.com/2008/07/rr-842-fedora-part-2.html"&gt;it failed epically&lt;/a&gt;. (Fedora, not the review.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-2872466614432356326?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/2872466614432356326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=2872466614432356326' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/2872466614432356326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/2872466614432356326'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/11/rr-18531-todays-happenings.html' title='RR (18,5,3,1): Today&apos;s happenings'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-7993958734404473252</id><published>2009-11-16T20:47:00.006+08:00</published><updated>2009-11-21T20:52:00.617+08:00</updated><title type='text'>RR (18,5,3): So I screwed up the numbering</title><content type='html'>This is the third time this has happened. And this is the first time this happened after I wrote some new posts. I blame SingTel. I suspect this is the way it happens:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;I'm in the process of writing a post. (I normally take very long to do this.)&lt;/li&gt;&lt;li&gt;SingTel borks, and Blogger fails to update my draft post.&lt;/li&gt;&lt;li&gt;When the connection is finally established, a new post is made, and the previous drafts stay as drafts until noticed and fixed.&lt;/li&gt;&lt;li&gt;I title new posts thinking that I had one extra.&lt;/li&gt;&lt;li&gt;I delete the draft.&lt;/li&gt;&lt;li&gt;I realise something is wrong with the numbering.&lt;/li&gt;&lt;li&gt;I blame SingTel.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-7993958734404473252?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/7993958734404473252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=7993958734404473252' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/7993958734404473252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/7993958734404473252'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/11/rr-1853-so-i-screwed-up-numbering.html' title='RR (18,5,3): So I screwed up the numbering'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-3407890136255491948</id><published>2009-11-16T16:58:00.000+08:00</published><updated>2009-11-16T16:58:03.086+08:00</updated><title type='text'>RR (17,8,2): WizFolio</title><content type='html'>Normally, I would just lash out rants. But this time, just because there was a peddler ("pedlar" is the British spelling fwiw), I shall release more vitriol. If I can. I'm not sure I'll be able to do it, but I'll try. The first few points were noted down during his presentation/advertisement; the last few were from the website. Let's go.&lt;br /&gt;&lt;br /&gt;The first thing I noted down was the use of the term "Web 2.0". Overused, misused, abused. What does "Web 2.0" mean? Nothing much: it just means a site where people can upload stuff, and other people download them. It's a horrible marketing term; if I see a product with that as part of the advertisement it's immediately out of consideration. (That's ignoring the fact that I'd only use free software.)&lt;br /&gt;&lt;br /&gt;The second thing. He (the presenter/peddler guy/thing) claims that this "WizFolio" allows for sharing of bookmarks and stuff… something that many programs can do already. It's not difficult to hack up a Greasemonkey script using Gmail (or something) to synchronise information cross-terminal. In fact, it's probably already done.&lt;br /&gt;&lt;br /&gt;Third. A severe case of &lt;a href="http://en.wikipedia.org/wiki/Not_Invented_Here"&gt;the NIH syndrome&lt;/a&gt;. I'm not going to elaborate much on this here, although some information from the other points below should give some clues.&lt;br /&gt;&lt;br /&gt;Fourth. The peddler/presenter/promoter was very obviously using this as a chance of advertisement. Sorry, but I don't have an intention of using your product except for the So Bad It's Good moments.&lt;br /&gt;&lt;br /&gt;Fifth. He was using Windows 7. (Allwin pointed this out to me.) Extra fail. &lt;br /&gt;&lt;br /&gt;Sixth. The whatever client software he introduced works only on Windows. Then when someone mentioned about OS X, he just said use Parallels. IMO, that's not answering the question at all. I don't want a Windows licence, and if I could I would get a refund for mine.&lt;br /&gt;&lt;br /&gt;Seventh. And even then it only works on Microsoft Office.&lt;br /&gt;&lt;br /&gt;Eighth. Time to hit the website. Because all the scripts were "conveniently" one-liners, I spent some time letting &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/10345"&gt;JS Deobfuscator&lt;/a&gt; beautify the code. I'm sure that when something like "new Sys.StringBuilder" is seen this code was obviously ported from an inferior .Net language. And what, that's a method of the Sys object? What the hell's that for anyway? A universal storage container? Then what's the point, genius?&lt;br /&gt;&lt;br /&gt;Ninth. There's more JS fail in there. Firefox detection instead of Gecko detection, or the more proper feature detection. Also, in case you are still unaware, Chrome builds using the main WebKit branch, not its own fork. Array.clear to clear the array. Array.add and Array.enqueue being equal and doing the same thing as Array.prototype.push. It's a severe case of object-oriented programming &lt;a href="http://google.com/url?q=http://robert.accettura.com/blog/2008/12/16/object-oriented-masturbation/"&gt;taken to an extreme&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Tenth. The code is obfuscated. But only partially. Fail: you're not getting the maximum compression. Try again. Alternatively, why don't you just consider &lt;a href="http://en.wikipedia.org/wiki/HTTP_compression"&gt;serving it using gzip&lt;/a&gt;?&lt;br /&gt;&lt;br /&gt;Eleventh. Why don't you just check the &lt;a href="http://validator.w3.org/check?uri=https%3A%2F%2Fwww.wizfolio.com%2FDefault.aspx"&gt;validation results&lt;/a&gt; yourself. Even with a Transitional doctype they can still fail validation.&lt;br /&gt;&lt;br /&gt;Twelfth. Time to bail from the code and actually focus on the aesthetics of the website. From what I see, without scripting, the only clickable link is the blatant self-promotion text, which leads to itself. WOW SO COOL.&lt;br /&gt;&lt;br /&gt;Thirteenth. "Cite as you write your scholarly work is easy when you can manage bibliography and organize references with a powerful citation tool." I'm sorry, but your sentence is grammatically incorrect.&lt;br /&gt;&lt;br /&gt;Fourteenth. Scripts activated. Mouse-over any of the three items, and notice the icons move. Extremely disturbing.&lt;br /&gt;&lt;br /&gt;Fifteenth. Excessive capitalisation. I hate that. You remind me of fools who edit Wikipedia.&lt;br /&gt;&lt;br /&gt;Sixteenth. The signup page. Remember kids, the proper name for OpenOffice.org is OpenOffice.org, with the ".org" at the end. Apparently, some people are dumber than kids.&lt;br /&gt;&lt;br /&gt;Seventeenth. "Email" is in bold. Actually, no, it's not just in bold, it's inside a &lt;code&gt;strong&lt;/code&gt; element! So when screen readers read it they'd have to go louder. Hmmkay, I think you really want to make the point that "WE WANT YOUR E-MAIL ADDRESS SO WE CAN SPAM YOU".&lt;br /&gt;&lt;br /&gt;Eighteenth. "Premium Accounts are subsidized by advertisements." I didn't notice that the first time, but what this really means is that even though you're already paying for the service you will still get to see advertisements. &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/1865" title="Adblock Plus ftw"&gt;Oh wait.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Nineteenth. I try to get a free account. It borked.&lt;br /&gt;&lt;a href="http://lh6.ggpht.com/_Pl0QCBqQmf8/SwEPxeKve7I/AAAAAAAAAes/dmGOF1EeYmU/youfailed.png"&gt;&lt;img alt="[screenshot]" src="http://lh6.ggpht.com/_Pl0QCBqQmf8/SwEPxeKve7I/AAAAAAAAAes/dmGOF1EeYmU/s400/youfailed.png" /&gt;&lt;/a&gt;&lt;br /&gt;Hey wait! It seems like I could arbitrarily inject anything I want! Or maybe not. The prospects are interesting.&lt;br /&gt;&lt;br /&gt;Twentieth. I try again: "Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that &amp;lt;machineKey&amp;gt; configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster." But, fail again. Oh lol. This is what you get for not checking user input. Letting user see lousy error message? Fail.&lt;br /&gt;&lt;br /&gt;Twenty-first. The presenter/peddler said it was free. So, where's the source code?&lt;br /&gt;&lt;br /&gt;Twenty-second. Before we forget anything, this was by the same guys who brought us IVLE, which I've ranted about &lt;a href="http://chltoopro.blogspot.com/2009/10/rr-1511-i-hate-ivle.html"&gt;a&lt;/a&gt; &lt;a href="http://chltoopro.blogspot.com/2009/05/rr-15521-espace-yet-again.html"&gt;lot&lt;/a&gt; &lt;a href="http://chltoopro.blogspot.com/2009/03/rr-1432-another-rant-about-same-thing.html"&gt;of&lt;/a&gt; &lt;a href="http://chltoopro.blogspot.com/2009/01/rr-108-number-of-rants-is-proportional.html"&gt;times&lt;/a&gt; &lt;a href="http://chltoopro.blogspot.com/2008/12/rr-1133-broken-web.html"&gt;before&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I'll stop here. When I actually bother to get an account, I'd expect even more failures.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-3407890136255491948?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/3407890136255491948/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=3407890136255491948' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/3407890136255491948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/3407890136255491948'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/11/rr-1782-wizfolio.html' title='RR (17,8,2): WizFolio'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_Pl0QCBqQmf8/SwEPxeKve7I/AAAAAAAAAes/dmGOF1EeYmU/s72-c/youfailed.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-1567159411093684450</id><published>2009-11-15T23:02:00.000+08:00</published><updated>2009-11-15T23:02:52.816+08:00</updated><title type='text'>RR (16,10): Vapourware condensate</title><content type='html'>I've actually started programming some things I left alone last year, or even longer ago. I'm not quite sure why. Here's a sample. (The Snake-Tron-clone-thing I mentioned in &lt;a href="http://chltoopro.blogspot.com/2008/06/rr-662-stuff-in-school.html"&gt;an earlier post&lt;/a&gt;.)&lt;br /&gt;&lt;br /&gt;Of course, since for now nothing else has materialised (especially also considering I'm programming something for someone), I'll just include a screenshot of it here.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://lh4.ggpht.com/_Pl0QCBqQmf8/SwAUluuB--I/AAAAAAAAAeo/OFp4RXPS1TI/stct.png"&gt;&lt;img src='http://lh4.ggpht.com/_Pl0QCBqQmf8/SwAUluuB--I/AAAAAAAAAeo/OFp4RXPS1TI/s400/stct.png' alt='[screenshot]' title="typing in that ip address won't work"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'll list some important things when porting this from TI-BASIC to JavaScript. The most obvious is that keyboard handling is different. In TI-BASIC key handling is done through a queue, in JS key handling is done through events. In other words, in TI-BASIC you have to check for yourself whether or not a key has been pressed, while in JS you set up a program/function that is called every time a key is pressed. And because of certain gameplay requirements, using a queue is far nicer, so I had to implement a simplified queue. It's a pretty dumb idea, but it works, somewhat. The amazing downside is that it lags quite a bit, being just somewhat slower than the GC.&lt;br /&gt;&lt;br /&gt;The other thing is that the Canvas API is actually high-level, as compared to the low-level drawing API in TI-BASIC. This makes direct checking of collision without additional storage impossible. In TI-BASIC is just checking whether there are pixels there already; in JS I had to use another variable to keep track.&lt;br /&gt;&lt;br /&gt;I think I'll stop here and be more productive for a while. The other mode of Snake (the other weird one I mentioned in the earlier post) might get implemented as well; it's a pretty interesting concept, and it'd be nice to play without immense lag.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-1567159411093684450?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/1567159411093684450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=1567159411093684450' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/1567159411093684450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/1567159411093684450'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/11/rr-1610-vapourware-condensate.html' title='RR (16,10): Vapourware condensate'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_Pl0QCBqQmf8/SwAUluuB--I/AAAAAAAAAeo/OFp4RXPS1TI/s72-c/stct.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-3875603591089522686</id><published>2009-11-15T15:27:00.000+08:00</published><updated>2009-11-15T15:27:56.157+08:00</updated><title type='text'>RR (15,11,3): Insecure by common thought</title><content type='html'>Prescript: &lt;a href="http://en.wikipedia.org/wiki/Superuser#Unix_and_Unix-like"&gt;root&lt;/a&gt; = &lt;a href="http://en.wikipedia.org/wiki/Superuser#Windows_NT"&gt;administrator&lt;/a&gt;, for all you Windows fanatics.&lt;br /&gt;&lt;br /&gt;In Windows XP, people started out with an administrator account. That's obviously bad. If you can't see what's wrong with that your brain is probably quite obviously bad too. In Windows Vista however, it introduced UAC. That sort of makes sense. Until you realise that most of the people using Vista upgraded from XP, and are used to the always-administrator idea. So people just dismiss the UAC prompt by entering their password, and they're done with it. Same for Windows 7.&lt;br /&gt;&lt;br /&gt;In fact, this even applies to sudo in OS X, Ubuntu and some other Unix-like systems. Users just don't care about the potential harm to their system. If an application requests something, the user will accede. Of course, to say that such measures are completely useless is moot. It does prevent accidental destruction of system integrity (assuming filesystem permissions are set up correctly), by, for example, a critical flaw in a web browser allowing changing of any file on the filesystem. In this case then, it will seem as though the web browser is requesting root privileges, which should appear suspect.&lt;br /&gt;&lt;br /&gt;Of course, as a general rule, usability comes at the expense of security, and vice versa. A very extreme case of paranoid security is having multiple virtual machines (emulators, whatever you call them), each doing certain specific tasks. The usability hit, of course, is ridiculously high; by having multiple operating systems running simultaneously, CPU usage goes up, while effective speed goes down; things get even worse if your CPU doesn't support virtualisation, where running even one OS in a VM is ridiculously slow. (Like mine.)&lt;br /&gt;&lt;br /&gt;I don't think there's a good general solution to this issue. This sucks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-3875603591089522686?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/3875603591089522686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=3875603591089522686' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/3875603591089522686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/3875603591089522686'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/11/rr-15113-insecure-by-common-thought.html' title='RR (15,11,3): Insecure by common thought'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-1815240093047828551</id><published>2009-11-14T18:13:00.005+08:00</published><updated>2009-11-14T18:15:06.887+08:00</updated><title type='text'>RR (17,8,1): If I have to</title><content type='html'>If I have to pay money to access mathematical or scientific papers/articles, I will claim the money from solving the Millenium Problems (if I manage to lol), and not be like the eccentric Perelman.&lt;br /&gt;&lt;br /&gt;It's reciprocation. Whatever money you take away from me, I'll get it back. Even if I get it back from someone else.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-1815240093047828551?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/1815240093047828551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=1815240093047828551' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/1815240093047828551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/1815240093047828551'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/11/rr-1781-if-i-have-to.html' title='RR (17,8,1): If I have to'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-5814759391166034789</id><published>2009-11-08T23:46:00.002+08:00</published><updated>2009-11-09T00:02:31.874+08:00</updated><title type='text'>RR (17,8): Meta: Google Analytics</title><content type='html'>I've been pondering about this. Should I get Analytics on this blog? It might or might not be an intrusion of privacy; for now the only tracking tool I have is Webmaster Tools, which only shows which sites link to this and what searches led to this. And it doesn't really qualify as a useful tracking tool. (Well, it did show me that my site has practically zero pagerank; at this stage I'm hardly caring about it, although saying I don't care at all is lying.)&lt;br /&gt;&lt;br /&gt;The difference between having Analytics installed on a site and having the server itself do the tracking is that Analytics sends the data to Google first. Well, think about things. Even if I don't install Analytics, your personal data still gets sent to Google (in case you forgot Blogspot is owned by Google), but I won't be able to see it. On the other hand, if I do install Analytics, Google will still get your data, and I'll be able to see it.&lt;br /&gt;&lt;br /&gt;Well, I roughly have an idea of who reads this blog anyway. It's just me and at most 4 other people. I just want to see who else (I didn't expect) reads this blog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-5814759391166034789?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/5814759391166034789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=5814759391166034789' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/5814759391166034789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/5814759391166034789'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/11/rr-178-meta-google-analytics.html' title='RR (17,8): Meta: Google Analytics'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-574963957748592025</id><published>2009-11-06T11:40:00.004+08:00</published><updated>2009-11-06T21:01:19.926+08:00</updated><title type='text'>RR (12,12,8): p2p: Perfectly legal</title><content type='html'>If there can be any law prohibiting the use of any kind of p2p client, the law also pretty much locks out popular user-contributed content sites (e.g. Wikipedia, blogs, Facebook, et cetera). Let's see the basic premise of p2p file sharing. (Warning: simplified to the extent that is probably wrong.) A lot of people get some (different) portions of the file from the server. These are the initial seeders. Then these people start transferring these portions to the people who don't have that particular portion yet. (And if for whatever reason a particular portion is no longer available in the p2p network the client downloads that portion from the server.) People continue this process until they've uploaded roughly as much as they've downloaded.&lt;br /&gt;&lt;br /&gt;Now let's see the premise of a "web 2.0" website. (I actually hate that term because it's heavily misused and misunderstood, but it makes sense to simplify things a bit by just using it.) Users upload content to the web server. People who don't have that content (and also want it) can just go there and download it. If they want to they can even upload their own content. Notice the similarity now? The file in the p2p version analogises into the complete database of content in the "web 2.0" version. It's unlikely anybody would want the whole thing, but it's still a valid point. Ban p2p, and you're also banning user-contributed content sites, by analogy.&lt;br /&gt;&lt;br /&gt;Now, there's nothing inherently wrong in the p2p way. But why is everybody treating it as being illegal? Just because of what people are doing with it. Proprietary music, proprietary movies, proprietary software. People download them, infringing copyright law on the way. But that's not the only use for p2p. In the free software community, especially subcommunities with many members, using p2p is a very convenient way to reduce load on servers; people just download the .torrent file (or whatever), which are much smaller, and then the servers only serve a few copies of the file, which can get sent to hundreds or thousands people.&lt;br /&gt;&lt;br /&gt;That's also why many GNU/Linux distros have some torrent client by default. If I recall correctly both Ubuntu and Fedora have them. If p2p clients were made illegal to have, current/old versions of these distros have to be taken off the servers. And all the people using these distros, even if they don't use BitTorrent, are automatically violating the law already. They might not even be aware that they have a torrent client!&lt;br /&gt;&lt;br /&gt;It's probably not the case that p2p has been banned yet anywhere in the world, although looking at the state of things, it might become likely that this is only a matter of time. Consider the DMCA. The &lt;a href="http://en.wikipedia.org/wiki/Anti-Counterfeiting_Trade_Agreement"&gt;ACTA&lt;/a&gt;. All that kind of weird shit laws (note that the last letters in both initialisms refer to the word "act"). Hopefully Singapore can be somewhat more enlightened on this issue and not actually ban p2p. Note that we don't actually have much info about the ACTA right now, since it's all behind closed doors.&lt;br /&gt;&lt;br /&gt;And it's an open secret that the people pushing for laws restricting the use of technology don't actually know much about the technologies in question, at least most of the time. For some time encryption tools were considered dangerous. I kid you not. A lot of times these politicians/lawmakers don't understand the implications of passing such laws. As both a technogeek and a mathematician, I probably know the implications more. And there're most definitely people who know these implications better than I do. And what are they doing? They're lobbying for these laws to get outlawed. They're not having much success.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-574963957748592025?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/574963957748592025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=574963957748592025' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/574963957748592025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/574963957748592025'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/11/rr-12128-p2p-perfectly-legal.html' title='RR (12,12,8): p2p: Perfectly legal'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-271525113314098281</id><published>2009-11-05T19:16:00.005+08:00</published><updated>2009-11-06T11:38:04.308+08:00</updated><title type='text'>RR (18,5,1,1): Expected vanity</title><content type='html'>Some people search for their own name or e-mail address online. Or maybe it's other people, since I'm not working at Google (seriously) and I can't really tell who searched for it. On the other hand, WordPress.com helpfully lets you know how people have arrived at your site/blog, and following my relatively recent (18 days ago fwiw) &lt;a href="http://concentratedentropy.wordpress.com/2009/10/19/the-reveal/"&gt;disclosure of lots of e-mail addresses&lt;/a&gt;, that blog had the second spike in traffic. (The first spike was the student council e-mail disclosure, which was, of course, significantly larger, since I was the first search result lololol.)&lt;br /&gt;&lt;br /&gt;There are two possible reasons. First is that spammers actually somehow managed to know of it. Second, more likely and actually true, is that people found this site by searching for their e-mail addresses, or name (in one case, so I use singular here). Maybe they didn't intend to reveal their e-mail addresses, but that isn't my issue. Also, that list was from a chain message. I cut out the top two links, both of which had Mr Yee's e-mail address, and guess what, turns out he got sent this three times.&lt;br /&gt;&lt;br /&gt;Maybe I was kind of mean to expose/release so many e-mail addresses that might have otherwise been hidden, but it's all for the lulz. I base my happiness on your misery.&lt;br /&gt;&lt;br /&gt;Update: For some dumb reason this post was numbered 352 instead of 351. This has been fixed.&lt;br /&gt;&lt;br /&gt;Update: Slashdot has a &lt;a href="http://slashdot.org/submission/1109210/The-legality-of-publishing-email-addresses"&gt;submission&lt;/a&gt;  about a slightly related issue.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-271525113314098281?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/271525113314098281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=271525113314098281' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/271525113314098281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/271525113314098281'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/11/rr-18511-expected-vanity.html' title='RR (18,5,1,1): Expected vanity'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-4596274138909562436</id><published>2009-11-05T15:27:00.004+08:00</published><updated>2009-11-05T15:45:03.620+08:00</updated><title type='text'>RR (18,5,1): Meatpuppetry</title><content type='html'>Let's see &lt;a href="http://en.wikipedia.org/wiki/Wikipedia:MEAT"&gt;how Wikipedia defines meatpuppets&lt;/a&gt;: "Meatpuppetry is the recruitment of editors [people] as proxies to sway consensus". Ethical question arises. In a competition where the winner(s) is/are decided through voting, if you're part of one team (or somewhat related/affiliated), do you vote for your own team, or do you vote for whichever team you think is better?&lt;br /&gt;&lt;br /&gt;This has the implicit assumption that you're quite pessimistic about your (affiliated) team, but that's kind of inconsequential. I've seen (and experienced) a lot of such meatpuppetry, where people almost &lt;em&gt;force&lt;/em&gt; you to do what they want you to do, just because you are somehow affiliated with them. What the hell. Then what's the point of the vote? I mean, if everybody else is using meatpuppets, there isn't much chance of winning the vote, but can we please be more civilised and make more rational decisions?&lt;br /&gt;&lt;br /&gt;I &lt;a href="http://google.com/url?q=http://tvtropes.org/pmwiki/pmwiki.php/Main/TakeAThirdOption"&gt;take a third option&lt;/a&gt;: I don't vote. I don't intentionally vote other people, because they already have their own meatpuppets, and I don't want to vote my affiliated team just because we're affiliated, because that's meatpuppetry. And if I don't vote, it can't possibly affect the results much. (Unless there is a correlation between willingness to vote and the potential choice of vote, which can't quite be ruled out actually.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-4596274138909562436?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/4596274138909562436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=4596274138909562436' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/4596274138909562436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/4596274138909562436'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/11/rr-1851-meat-puppetry.html' title='RR (18,5,1): Meatpuppetry'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-5998915555173236743</id><published>2009-11-02T23:25:00.002+08:00</published><updated>2009-11-02T23:34:08.245+08:00</updated><title type='text'>RR (18,5): Time to make sense</title><content type='html'>I've seen a lot of people complaining about addons (in Firefox) slowing down the main application (in this case Firefox). Get this clear. Functionality comes at a speed hit. That's a trivial theorem from information theory. If you can add functionality without having a speed hit, that's only because the application wasn't fully optimised before. Then again, due to all the halting problem weirdness, full optimisation isn't possible either (for general cases). Maybe it's just that as a programmer these kinds of things appear almost completely naturally, and that they don't to regular non-power users, but then again, if they aren't power users, they aren't qualified to make statements like that.&lt;br /&gt;&lt;br /&gt;I'm not denying that non-power users form a significant proportion of the user base of many programs, and that the feedback received could actually be helpful, but they shouldn't make baseless and dumb accusations of things that can't be helped at all. Maybe I wouldn't be so angry if such morons actually posed what they said as a question instead of a complaint, since it's perfectly fine to ask questions. (Unless, they're dumb questions or they've been asked at least twice. That's an inclusive "or" btw.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-5998915555173236743?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/5998915555173236743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=5998915555173236743' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/5998915555173236743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/5998915555173236743'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/11/rr-185-time-to-make-sense.html' title='RR (18,5): Time to make sense'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-8583615346586081677</id><published>2009-11-01T22:04:00.003+08:00</published><updated>2009-11-01T22:37:58.153+08:00</updated><title type='text'>RR (18,4,2,2): Greater justice</title><content type='html'>And guess what? I just released my first &lt;em&gt;ever&lt;/em&gt; C program. Of course, it's been updated, but the changes were minor. It's kind of WTF-ish, considering it was my first, but it works! (And that's good enough.) It's FRT! You can get it &lt;a href="http://sites.google.com/site/ltnplz/test-cabinet/frt.zip"&gt;here&lt;/a&gt;. It's free software, compiled with free software.&lt;br /&gt;&lt;br /&gt;Go get it, but don't use it to cheat; there be people lookin'. In the event the reset procedures change, which isn't altogether unlikely, issues &lt;em&gt;will&lt;/em&gt; surface.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-8583615346586081677?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/8583615346586081677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=8583615346586081677' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/8583615346586081677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/8583615346586081677'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/11/rr-18422-greater-justice.html' title='RR (18,4,2,2): Greater justice'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-8917339975355697951</id><published>2009-11-01T13:41:00.002+08:00</published><updated>2009-11-01T13:51:31.571+08:00</updated><title type='text'>RR (17,7,3): Oleum (part 2)</title><content type='html'>Refrain from making comments about me. It's probably the case that you don't know the whole truth, and given the generic human stupidity to blow things out of proportion, you'll make the partial truth of whatever you say shadowed by all the other nonsense you add. So shut up. I'm not even going to say 'please', because this is something that should be done out of basic human respect, and it's a command.&lt;br /&gt;&lt;br /&gt;It might have been intended as praise. But you fill it up to the brim (and beyond) with lies, complete untruths, claims I never made and never bothered to refute precisely because I never said them myself. It might have been complaints. I don't want to hear about that. I know my own flaws well enough. I'm a perfectionist. You can't catch me doing something imperfect out of my own will, unless it's a will someone else imposed on me. That perfectionism explains why I don't do homework. Either I do it perfectly, or I don't do it, perfectly clean. Things are binary. Either it is, or it isn't. There is no middle ground. Either you do, or you don't; doing less of it doesn't mean not doing it: so just stop altogether.&lt;br /&gt;&lt;br /&gt;I don't care if you have an innate tendency to just ramble on and on about me. That's not my problem. But if you influence me to be like you, I will hate you. I don't want to be the very kind of person I myself hate.&lt;br /&gt;&lt;br /&gt;And no, you're not the intended audience. The intended audience is unlikely to even read this post. But I don't give a damn.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-8917339975355697951?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/8917339975355697951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=8917339975355697951' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/8917339975355697951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/8917339975355697951'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/11/rr-1773-oleum-part-2.html' title='RR (17,7,3): Oleum (part 2)'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-8931958756161209834</id><published>2009-10-30T00:46:00.002+08:00</published><updated>2009-10-30T01:19:43.234+08:00</updated><title type='text'>RR (15,11): I hate IVLE</title><content type='html'>Every time I have to use it for whatever reason I ask myself: "do I really need to use this festering piece of shit?". It's not even a particularly good question, since the answer is more like "no, if you had been more proactive, but the answer is now yes, ergo you suck".&lt;br /&gt;&lt;br /&gt;Yeah it's my fault. What the shit. IVLE destroys (by that I mean completely ignores) basic design principles. See file names there? Clicking on them doesn't do shit. You're supposed to click on that weird shit icon thing, the one with the red coloured arrow pointing downwards at what the hell is that thing?! Major common sense disrupter. In case you forgot. It's also an egregious abuse of HTML tables. Oh and just to add to my previous example. (I'm so annoyed that I'm not even coherent anymore.) There's another icon there. "Indicating" the file type. With icons from 1996. I'm not making this up. Those strangely nostalgic hand-dithered pixel art icons were by Microsoft, made for and bundled with Office 97.  Clicking on them… doesn't do anything either! They're useless too!&lt;br /&gt;&lt;br /&gt;And then the download links use JS. What the hell. It's already particularly bad that the only way to get anything done with it efficiently is to enable JS. Login could be done via &lt;code&gt;document.forms[0].submit()&lt;/code&gt;, but once in, the only alternative is to dig through the heavily obfuscated code and decipher it. Now, I have JS Deobfuscator (made by Wladimir Palant, the Adblock Plus guy), but using it only beautifies the code. It doesn't help much. (Yes I know people disassembling binaries have an even harder time&lt;sup&gt;[citation needed]&lt;/sup&gt;, but I don't care.) You can't use download managers like dTa! to get all the files at once. Without waiting for the shit slow server to actually compress the files (and not cache the result how intelligent) and then send them to you. In fact, the server doesn't cache or directly serve any file. You must pass through hoops, nay, obstacle courses, in order to actually download a file. −1 for usability, −1 for accessibility, −1 for niceness, −1 for trying to be Web 2.0-ish and failing, −1 for not actually realising any of the aforementioned points. Want to protect files? Restrict read permissions. Simple shit, and people don't know that.&lt;br /&gt;&lt;br /&gt;Then again, they're probably using IIS on Windows instead of a superior web server like Apache or nginx or whatever on a proper Unix-like OS. −1 for using Windows, and −1 for using IIS, −1 for not using free software, −1 for making the users not use free software. Rage rage rage. Time to derail Windows. Windows sucks. I don't even have to invoke KOSA logic to demonstrate that. It. Just. Does. And I'm biased, I can admit that, but it sucks. OS X is superior. GNU/Linux is superior. Oh, and −1 for not realising Windows sucks. I can bet their software won't port readily to Apache or something, so another −1 for lock-in to Microsoft, and another −1 for lock-in in general, −1 for being affiliated to Microsoft, −1 for having the above points deducted. And also, −1 for not being cross-platform.&lt;br /&gt;&lt;br /&gt;But I haven't even dug into their CSS and HTML issues! But I'm not going to. Those are pretty dry already. There's not much new that could come out of that. I spot Windows 98/Me/2000-style icons. I'm not sure which because the only one I actually used was 2000, but yeah. Decade-old icons that have already been phased out, and they're still using them. −1 for being retards.&lt;br /&gt;&lt;br /&gt;Abuse of gradients to achieve some kind of "cool" effect, −1. Vista-styled lightboxes, −1. Layout that looks wrong under Gecko 1.9.3a1pre, −7 (because it happens at least 7 times). Not including Tetris as an easter egg, −1. Abuse of DHTML, −1. Script obfuscation, −1. Obvious copyright infringement, −1. Abuse of HTML tags, −1. Generic lousiness, −1. Rage induced in me, priceless.&lt;br /&gt;&lt;br /&gt;For everything else, not even MasterCard works. There's just too much of this shit to uncover. Way too much.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-8931958756161209834?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/8931958756161209834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=8931958756161209834' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/8931958756161209834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/8931958756161209834'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/10/rr-1511-i-hate-ivle.html' title='RR (15,11): I hate IVLE'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-761315054617388367</id><published>2009-10-28T17:38:00.002+08:00</published><updated>2009-10-28T18:07:01.447+08:00</updated><title type='text'>RR (16,8,5): (Schmuck) bait</title><content type='html'>I've seen sites that spawn lots of popups (as in the &lt;a href="http://en.wikipedia.org/wiki/Alert_dialog_box"&gt;alert box&lt;/a&gt; kind). (Mind you, this isn't related to the Firefox bug I filed in 2006 that spawns roughly 255 too many popups. (Which still hasn't been fixed (I think).)) By "lots", I mean the if-you-don't-stop-them-they-just-keep-coming-back kind of "lots". Infinite loops, except you won't live long enough to clear a significant number of popups. And guess what, all those sites I was referring to were all hosted on Blogspot! Because, really, nobody would want to host it on their own domain. (They're paying money for that, and it makes no economic sense to drive readers away.)&lt;br /&gt;&lt;br /&gt;Anyway. Opera and Chrome/Chromium are the only two somewhat decent browsers which can actually stop popups from spawning from the second one onwards. (Don't give shit about Safari, which doesn't qualify as being "somewhat decent".)  And NoScript very conveniently blocks scripting (which is one reason for me not whitelisting *.blogspot.com), so no popups either on Firefox/Minefield.&lt;br /&gt;&lt;br /&gt;The especially egregious kind have loops, running from 0 to an extremely large number of '9's, and incrementing the index by one. Protip: JavaScript can only store integers up to 2&lt;sup&gt;53&lt;/sup&gt; with full accuracy, so it saturates at that point; in other words, your incredibly long loop is now an infinite loop (since it never exceeds the gigantic number)! And please utilise a bit of intelligence in noting that clearing that many popups (even assuming there is no overflow), at a rate of a trillion a second, regardless of whether you're using the American or European trillion, will still take longer than the current (maximum) age of the universe to clear. Assuming that clearing that many popups is possible is an indication that the person did not understand basic asymptotics. And therefore is not even a secondary school student. (Considering that calculus is taught at Sec 4 in Singapore.)&lt;br /&gt;&lt;br /&gt;And there is a slightly less bad kind where there is a preprogrammed list of messages. Of which some are repeated. (facepalm) And some of the sublists which are repeated are ridiculously long. They don't know enough about computing to be allowed to do this shit. Or at the very least they deserve to go on The Daily WTF (where examples of people who don't know enough about computing to do shit is shown).&lt;br /&gt;&lt;br /&gt;And then there are people who browse unprotected from these dangers. Things start to get unbelievable for a while, then I realise most people aren't power users.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-761315054617388367?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/761315054617388367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=761315054617388367' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/761315054617388367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/761315054617388367'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/10/rr-1685-schmuck-bait.html' title='RR (16,8,5): (Schmuck) bait'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-1192142096309824195</id><published>2009-10-24T16:02:00.003+08:00</published><updated>2009-10-24T18:54:15.056+08:00</updated><title type='text'>RR (18,4,2): This is not all in lowercase</title><content type='html'>I do not blog with all lowercase letters. Contrary to &lt;a href="http://concentratedentropy.wordpress.com/2009/10/09/what/"&gt;what Google Blog Search thinks&lt;/a&gt;. Somewhat weirdly, all (or at least all I saw) other Blogspot blogs have correct capitalisation, and regular Google search gives correct capitalisation. I thought it was just an anomaly of WordPress when I first saw this blog appearing in the list of sites linking to CE (with the title in lowercase), but apparently it's a flaw with Blog Search.&lt;br /&gt;&lt;br /&gt;There must be some weirdness going on. I'm going to do another vanity search (just for the lulz) to see if the case is correct, after this post. (The last time I checked about this was &lt;a href="https://twitter.com/0x3c0/status/5066440497"&gt;2 days back&lt;/a&gt;.)&lt;br /&gt;&lt;br /&gt;Update: It's fixed… at least for this post. Some of the older posts still come out all lowercase. Sadface.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-1192142096309824195?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/1192142096309824195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=1192142096309824195' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/1192142096309824195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/1192142096309824195'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/10/rr-1842-this-is-not-all-in-lowercase.html' title='RR (18,4,2): This is not all in lowercase'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-6438304537146839662</id><published>2009-10-22T19:25:00.003+08:00</published><updated>2009-10-24T16:00:54.863+08:00</updated><title type='text'>RR (18,3,3,1): Subpixel antialiasing can look horrible</title><content type='html'>The first time I had any opinion about this issue was actually years back, when I was still on Windows. Then (and also now) I used to perform quite a few basic pixel-level touchups with MS Paint (except now I use KolourPaint) on screenshots. A very important change subpixel antialiasing makes is that greyscale is no longer greyscale! When upscaled, colour fringes will appear. (Unless of course a strong blur is applied first, in which case the fringes will be very faint.) Oh, and clarification. I'm going to focus on fonts here. Nothing else, since I don't dabble enough elsewhere to give a proper opinion.&lt;br /&gt;&lt;br /&gt;But maybe that's not so bad if you don't upscale it… except that if you have a monitor with well-defined pixels (see picture (not to scale))&lt;br /&gt;&lt;img src="http://lh3.ggpht.com/_Pl0QCBqQmf8/SuBBF94bvjI/AAAAAAAAAa8/vRR5HWHPEdo/welldefinedpixels.png" alt="[picture]" /&gt;&lt;br /&gt;subpixel antialiasing will create fringes. Fringes that are visible if you look close enough. Just so that it happens my laptop monitor is like that. An easy check is to use &lt;a href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAQMAAABtzGvEAAAAAXNSR0IArs4c6QAAAAZQTFRF/wAAAP///4UA/AAAAAFiS0dEAIgFHUgAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAAHdElNRQfZChYLJx+dv6fUAAAAEElEQVQY02MIBQOGUYo6FADF8l+hViT5UgAAAABJRU5ErkJggg=="&gt;alternating cyan and red lines&lt;/a&gt;, which works for portrait-oriented subpixels. If you see vertical lines that are red or cyan (excluding the two lines at the sides), congrats, your monitor is not suitable for sub-pixel antialiasing, just like mine!&lt;br /&gt;&lt;br /&gt;Apparently, from what I read, there are more caveats. Some implementations of subpixel antialiasing (not sure if FreeType is included, or even if FreeType is involved at all in this issue) first perform a basic box blur (possibly twice) before performing the antialiasing; in this case the objective quality of the rendered image itself is already reduced before any further antialiasing is done. Then there's font hinting, basically partially alleviating this issue by "forcing" the glyphs to be rendered aligned to pixel boundaries, thus reducing the need for any antialiasing at all, and reducing the blurring introduced by antialiasing.&lt;br /&gt;&lt;br /&gt;Conclusion: if your monitor can't handle subpixel antialiasing, use proper antialiasing like greyscale/linear antialiasing.&lt;br /&gt;&lt;br /&gt;PS: I assume you're using an LCD. I mean, it's 2009 now, most people use LCDs as monitors. (No offence to whoever might still be using CRT though.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-6438304537146839662?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/6438304537146839662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=6438304537146839662' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/6438304537146839662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/6438304537146839662'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/10/rr-18331-subpixel-antialiasing-can-look.html' title='RR (18,3,3,1): Subpixel antialiasing can look horrible'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_Pl0QCBqQmf8/SuBBF94bvjI/AAAAAAAAAa8/vRR5HWHPEdo/s72-c/welldefinedpixels.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-980046288374628064</id><published>2009-10-21T16:40:00.003+08:00</published><updated>2009-10-21T17:07:33.012+08:00</updated><title type='text'>RR (18,3,3): Windows 7</title><content type='html'>When I came home, I saw a SingTel advertisement leaflet thing. That wasn't the worst. It was an iPhone advertisement. Well, to compound the weirdness, there was a Blackberry leaflet (also SingTel) just underneath. Anyway, that was completely irrelevant apart from the fact that it's shocking.&lt;br /&gt;&lt;br /&gt;I went to read Digital Life, and then when I fished it out of Straits Times I got a rude shock. Windows 7. Seriously, in case anybody forgot, Windows is still a ridiculously expensive operating system; while the OEM might have a discount for bulk licensing, you don't, and it's so bloody unlikely that anybody would offer you a refund if you decided to decline installing Windows 7. No, probably not even Microsoft. I'd bet quite a lot of money on that if someone calls the local Microsoft HQ and try to ask for a refund, failure is the most likely outcome. More so if &lt;a href="http://chltoopro.blogspot.com/2008/04/rr-232-why-my-vaio-sucks.html"&gt;that someone peeled off the mark of authenticity&lt;/a&gt; (see number 7). (Also, looking back, it seems that my laptop's battery life is close to half of what it was early last year, but irrelevant.) Well, the obvious reason for the sticker being so obstinate is to prevent pirates from peeling it off and using the stickers for themselves, but still it's no reason to irritate the user as such.&lt;br /&gt;&lt;br /&gt;I could rant quite a lot more on Windows 7. But I'm not going to duplicate already present efforts to rant about Windows 7, such as &lt;a href="http://en.windows7sins.org/"&gt;Windows 7 Sins&lt;/a&gt; by the FSF. (Again, the FSF being the FSF, they have a lot of vitriol over such issues, as might be expected.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-980046288374628064?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/980046288374628064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=980046288374628064' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/980046288374628064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/980046288374628064'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/10/rr-1833-windows-7.html' title='RR (18,3,3): Windows 7'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-2552776979842322724</id><published>2009-10-20T19:47:00.002+08:00</published><updated>2009-10-20T20:14:19.101+08:00</updated><title type='text'>RR (18,4,1): SPhO</title><content type='html'>Today, the Singapore Physics Olympiad. Well, I didn't go, but my sister did. The one I went for is the Junior version (some months back), because I'm a wuss and I don't really think my physics capability is high enough for the real deal. Anyway. Turns out she forgot her calculator lol. They only allowed non-graphing calculators, and she brought her GC, so she had to get her scientific calculator. As for everything else, I have little idea as to what happened, but my sister told me that there was this guy from NUS High who went for SPhO who knew me. It's somewhat creepy.&lt;br /&gt;&lt;br /&gt;Once again, abrupt ending.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-2552776979842322724?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/2552776979842322724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=2552776979842322724' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/2552776979842322724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/2552776979842322724'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/10/rr-1841-spho.html' title='RR (18,4,1): SPhO'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-8246089872319265777</id><published>2009-10-17T15:24:00.004+08:00</published><updated>2009-10-17T15:48:50.661+08:00</updated><title type='text'>RR (18,4): Password strength</title><content type='html'>I just read something about password strengths. I must mention something. Even a password containing only one distinct character is secure, provided that it is sufficiently long and the length is unknown to the attacker. In this case then, the security of a password is then bounded below by ln(|&lt;var&gt;password&lt;/var&gt;|) (where |.| denotes the length). (Actually it's a bit more due to some caveats I mentioned in the post &lt;a href="http://chltoopro.blogspot.com/2009/03/rr-145-representing-numbers.html"&gt;Representing numbers&lt;/a&gt;, but it's still O(ln(|&lt;var&gt;password&lt;/var&gt;|)).) Of course, this isn't very good at all, since it requires a lot of typing. Using a binary password, with two distinct characters (which are known to the attacker) the strength is roughly |&lt;var&gt;password&lt;/var&gt;|⋅ln(2)⋅(1+o(1)). Similarly, for lowercase letters only, the multiplier is ln(26) instead of ln(2), and in general, for a character set with &lt;var&gt;n&lt;/var&gt;&amp;gt;1 characters, the multiplier is ln(&lt;var&gt;n&lt;/var&gt;). (Note that for conventional systems the maximum value of &lt;var&gt;n&lt;/var&gt; is 256.)&lt;br /&gt;&lt;br /&gt;In effect, given the above, even a zero-length password has some kind of security. We have that the attacker has to know what kind of scheme the user chooses his/her password from; that's some security in itself. Not much, but still some. Of course, that's not justification for choosing weak passwords, since it's likely that the attacker would brute-force test the more common passwords first. In other words, we could create a Gödel numbering for the passwords, with the most common being numbered 0, then followed onwards up to the total number of distinct passwords minus one. "123456" and the like are pretty likely to appear with small numbers, for example. Then the security is then roughly equivalent to the natural log of the Gödel number, or ln(&lt;var&gt;N&lt;/var&gt;)⋅(1+o(1)). Small caveat: there are a lot of passwords that are only used for one thing; to make a numbering the exact definition should be more along the lines of order of likeliness to be used. This way every string gets a numbering as a bonus.&lt;br /&gt;&lt;br /&gt;PS: When I mention security above in terms of a number, it means the information entropy of the password. In other words, a password with a security of 20 would take roughly &lt;i&gt;e&lt;/i&gt; times the number of attempts to break one with a security of 19; i.e., this is a log scale. Conventional numbering uses bits instead of nats as the unit, but for mathematical reasons I decide to use nats here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-8246089872319265777?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/8246089872319265777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=8246089872319265777' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/8246089872319265777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/8246089872319265777'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/10/rr-184-password-strength.html' title='RR (18,4): Password strength'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-2338857009946193989</id><published>2009-10-16T19:32:00.003+08:00</published><updated>2010-08-08T18:13:21.646+08:00</updated><title type='text'>RR (17,7,1): Vaios still suck</title><content type='html'>Just now, I was reading Slashdot, then I found an article about &lt;a href="http://hardware.slashdot.org/story/09/10/15/2121214/Sonar-Software-Detects-Laptop-User-Presence"&gt;using sonar to detect whether there is someone around&lt;/a&gt;. So I went there, and downloaded and compiled the software. By now, given the title of this blog post, you should know what happened. The bad thing was that the Vaio is completely incapable of producing sound waves at a frequency higher than 16kHz. The highest frequency I can hear is also about there, and the software SonarPM is supposed to be ultrasonic, and I hear this weird buzzing sound when it's running. It's awful. I mean seriously. Just because I can't hear that high up doesn't mean everybody can't. My sister can hear beyond my maximum (which I exploit for the lulz), and probably a lot of other people can too.&lt;br /&gt;&lt;br /&gt;So, appeal to Sony. Please try making your home video/audio entertainment system actually capable of playing high-pitched sounds. Yes, Vaios are meant for video/audio-playback. It's a bit of a weird regression that my sister's laptop (which is older) is perfectly capable of playing such sounds. (I tested with the use of sequenceofnumbers, which basically just uses C#'s &lt;a href="http://msdn.microsoft.com/en-us/library/4fe3hdb1.aspx"&gt;Console.Beep&lt;/a&gt; .) Well, they're not the same brand, but still. Actually, better proposition. Sony, please make your products as shitty as possible so they won't sell, and so your marketing people should decide to end this line of products.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-2338857009946193989?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/2338857009946193989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=2338857009946193989' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/2338857009946193989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/2338857009946193989'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/10/r-1771-vaios-still-suck.html' title='RR (17,7,1): Vaios still suck'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-3571268491994973807</id><published>2009-10-15T20:13:00.003+08:00</published><updated>2009-10-15T20:20:11.560+08:00</updated><title type='text'>RR (17,7): Unintentional help</title><content type='html'>Sometimes, very weirdly, people inadvertently help others while doing something for themselves. It's not even expected at times. Worse yet, if the "helped" thanks the "helper", what should the "helper" say? That it was only for personal motives, or just to mention "you're welcome" or something of that sort?&lt;br /&gt;&lt;br /&gt;It can be a pretty hard decision. I defected, took a third option: just leave the scene ASAP without saying a thing.&lt;br /&gt;&lt;br /&gt;Unrelated: I went to the school library earlier today, and the air-con was off. I barely managed to read six pages of a book before I gave up and just left. (Why not just borrow it? Because I can't guarantee I'll return it on time, and I hate being pestered for such mundane things.) Before you complain that I'm a rich kid living in air-conditioned areas all the time, note that there is practically no ventilation in the library other than the air-con, so it was really stuffy in there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-3571268491994973807?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/3571268491994973807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=3571268491994973807' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/3571268491994973807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/3571268491994973807'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/10/rr-177-unintentional-help.html' title='RR (17,7): Unintentional help'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-2833147434502980465</id><published>2009-10-12T21:03:00.003+08:00</published><updated>2009-10-13T18:09:19.443+08:00</updated><title type='text'>RR (16,9): Descript failure: Broader Perspectives</title><content type='html'>Let's get things clear first. I know "descript" isn't a proper word by some popular dictionaries. I'm lazy to check my Oxford Advanced Learner's Dictionary, so let's just take it as that.  Also, 337 (the number of this post) is prime. Also, I wouldn't ever give up a chance to blog about religious issues. Except the last time I did was because I wanted to push out another post, and I couldn't finish that one in time.&lt;br /&gt;&lt;br /&gt;Anyway. Broader Perspectives, 2009 Essay Issue (wtf lame pun) page 17. Here I shall describe how full this shit is of fail. I'll just copy out the first paragraph for you here. (Because I like typing. No, there's no other online copy available. Also, there's no guarantee I typed it all correct. There might be extra punctuation, or whatever.)&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;While debates surrounding the issue of science versus God have evolved over the years, the central issue has not. At the heart of the debate is the belief that science and religion are at odds: that science implies a methodical set of beliefs informed and grounded by evidence while religion, on the other hand, rests on the idea of faith, a belief in the unseen to explain the unknown. Shaped by this understanding of what science and religion are and are not, many believe that as science develops as a way of understanding the world, especially in the 21st century, religion will eventually cease to be accepted by a world fixated and guided by the mantra 'evidence is everything'. However, it is my belief that the contrary has proven to be true, as the development of science serves to reaffirm the relevance of religion.&lt;/p&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Let's analyse that paragraph. The first half makes sense. In fact, all of it makes sense. Except for the last sentence. I shall now copy the rest of the text. (Note: fair use. This is as a literary criticism.) Actually, just two more paragraphs.&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;First and foremost, the advancement of science does not mean that religion will decline because science is an empirical method to understand the world, while religion is a belief system built on morals and values. This means that science and religion are not in direct conflict with each other. Prominent American scientist Stephen Jay Gould posits the view of the "Non-overlapping magisteria (NOMA)", where science and religion occupy two separate realms of human experience. The practice of science means that one follows sets of procedures or rules in order to test or debunk theories that explain why things work in a certain way. In contrast, religion deals more with the meaning and significance of life, and the ethics and principles on which we live our lives. Hence, as science develops, scientists only become better at discovering and explaining phenomena, which does not impede religion because in this regard, both are mutually exclusive.&lt;/p&gt;&lt;p&gt;By extension, the advancement of science does not negate religion and in fact, serves to provide 'evidence' that God exists. Religious belief is not devoid of rationale; in fact, theologians put forth that the existence of an almighty God is based on irrefutable evidence, painstakingly chronicled in the Bible, the Quran and other religious books. The Dead Sea scrolls and the many other records of God have all been verified scientifically, proving the centrality of religion to human civilisation through the ages. All these have been possible because science made discovering them possible: carbon dating, developments in archaeological techniques and scientific inquiry, to name a few. Thus, one may argue that as science advances, it will provide, rather than undermine, the existence of God or gods.&lt;/p&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;The advantage of actually retyping the whole thing out is that it forces me to actually think about the content and not just skim through it. Anyway. Not all religions are built on morals and values. Consider Scientology. The rest of the first paragraph makes sense. Next paragraph. The very first sentence mentions about "evidence". … What evidence?! I'd normally tag &lt;a href="http://en.wikipedia.org/wiki/Template:Citation_needed"&gt;{{cn}}&lt;/a&gt;, but this isn't Wikipedia. Same flaw as Chick tracts: the presupposition that the religious beliefs are correct. It's like trying to find a contradiction within a system (and failing), compared to proving that no contradictions exist, which is only possible in a system with contradictions or useless systems. Yes &lt;a href="http://en.wikipedia.org/wiki/G%C3%B6del%27s_incompleteness_theorems#Second_incompleteness_theorem"&gt;incompleteness theorem&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;Furthermore, the more science progresses, the more religion needs to play a prominent role so as to guide its corresponding developments and the actions of scientists. If advancements in science are supplied without any overarching moral direction, the consequences will be dire for humankind. In fact, religious fundamentalists often claim that the pursuit of science destroys morality and trivialises human life. Breakthroughs in stem cell research and biotechnology are exactly and rightly controversial because scientific inquiry unchecked by right and wrong is susceptible to abuse and misuse. Applications of scientific knowhow have serious implications for human life both in terms of extending it and improving its quality. With each new ability science bestows comes questions of how best to use it, as seen in the different ways societies are grappling with how to regulate euthanasia, abortion, surrogacy, organ transplants and dangerous surgery like the ones undertaken to separate conjoined twins. Thus, morality guided by religion is called upon to bear judgeent on the results of scientific advancement and inquiry. Without these guidelines to preserve the dignity of human life, the potential pitfalls of scientific advancements used for selfish gains will be too great a cost for society to bear and may lead to waning support for scientific research.&lt;/p&gt;&lt;p&gt;One of the key contentions put forth is that science has increasingly been able to explain the origins of life, thus deeming religion-based accounts of creation to no longer be relevant in this day and age. More and more, scientists have been able to prove that the theory of evolution happened, which seems to disprove the 'evidence' of direct creation. Conversely put, religious-based accounts of creation from various religions have not been able to convince people enough that these accounts are factual. On the other hand, scientists have, with technological advancements such as the Large Hadron Collider, been relentless in seeking new ways to prove and explain how the earth came to be, and how human beings have evolved through time. Yet, this issue is far from resolved given that proponents of Creationism have also been conducting their own research in this area. Some also argue that even if science is able to prove that evolution occurred beyond all reasonable doubt, it does not discredit religion if we are to take the view that science is of God. In other words, instead of seeing science as a distinct set of beliefs from religion, one could see science as yet another evidence of God's work.&lt;/p&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Let's break this apart. Why would the consequences be dire? Again, I shall reference whoever did that altruism speech thing years back. (I no longer recall who you are, sorry, but I don't really care and I'm not really apologetic.) You can fill in the rest of the details yourself. "&lt;em&gt;fundamentalists&lt;/em&gt;". It basically refers to obstinate people unwilling to interpret their religious text correctly or are under the wrong religion. But I agree that science trivialises human life, except… I don't treat that as a bad thing. Also, author is claiming that we atheists are amoral bastards. I am, but you can't generalise like that. Like &lt;del&gt;Chick&lt;/del&gt; some people, I think abortion is murder, but I don't think it's an inherently bad thing, unlike &lt;del&gt;Chick&lt;/del&gt; some people. Note: I did not type "judgment" wrongly. It's spelled "judgeent" in the original. Last sentence in this paragraph: take note that real altruism doesn't exist. Problem solved. Next paragraph. "theory of evolution happened"? A quick trip to Wikipedia illustrates that evolution and the theory are different things. One is a process, one is a hypothesis (which is most probably correct), and hypotheses can't "happen" the last time I checked a dictionary. (A few minutes ago in case you were wondering.) Separate point. The way I think of it, there are two possible ways creation could be correct. One is as Shaun Lee mentioned in &lt;a href="http://gort.wordpress.com/2009/08/30/0-56714329040978387299996866221035555/"&gt;his really long post about evolution&lt;/a&gt;. The other is that the world (specifically, the whole universe) was suddenly created with all the people, planets, stars, whatnot already inside it. Basically, if I'm interpreting right "science is of God" basically means the first choice. (non-)Digression: regardless of whether any quantity of gods exist, mathematics just works.&lt;br /&gt;&lt;br /&gt;Just two more paragraphs!&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;Another argument used to validate the idea that the more science advances, the more religion will decline is the fact that there are multiple religions, each with differing opinions on creation and redemption and beliefs and practices, while science has been able to provide, via its unified body of knowledge, a more coherent picture of the world. Presumably the fact that there are so many religions, denominations and factions is evidence that religion does not and cannot present a logical and coherent understanding of the world. However, religious diversity does not mean that religion is not valid. It offers different ways of looking at the world, just like how science attempts to validate its findings via different means.&lt;/p&gt;&lt;p&gt;In conclusion, while science and its advancement are seen by many as the binary opposite to that of religion, it does not mean the religion has lost its relevance or place in society. Instead, one should argue that contrary to what the question implies, the existential relationship between science and religion is not an inversely proportional one; in essence they can be seen as complementary responses to the unknown. As religions continue to flourish in our increasingly technologically advanced and scientifically-based world, it would seem as if both science and religion will advance together in the future.&lt;/p&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I forgot to mention something above. This text seems to implicitly claim that all religions are creationistic. Yet the picture on the second page of the text (or page 18 of the whole book/magazine/whatever) has a picture of a Buddha statue. Iirc, Buddhism doesn't involve creationism. Is this yet another classic self-pwn case? Anyway, second last paragraph is pretty much useless. Last paragraph. Credits for the first sentence go to Captain Obvious. Second sentence: what question? Also, very few relationships are exactly inversely proportional, and in this case the things you are comparing are qualitative and not quantitative. Oh, "seem". You're not very sure about your stance are you?&lt;br /&gt;&lt;br /&gt;Okay, I have now finished this thing. I'm not going to bother to review the other one, because I don't care. I like shooting down straw men. They make good target practice. (I did notice however they mentioned "&lt;a href="http://en.wikipedia.org/wiki/Invisible_Pink_Unicorn"&gt;invisible&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/Flying_Spaghetti_Monster"&gt;spaghetti monster&lt;/a&gt;". A hideous hybrid? Get that mental image out of your mind.) Also, as mentioned above, the copied text is copyright of whoever owns the copyright to it, and not me; unlike the commentary, the original text is not without copyright. I'm using it under fair use. (Yes I realise "fair use" is an American centric term. It happens from overexposure to American sites like Wikipedia. It's also not the legal term that applies in Singapore.)&lt;!--BUT WHO GIVES A SHIT.--&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-2833147434502980465?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/2833147434502980465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=2833147434502980465' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/2833147434502980465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/2833147434502980465'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/10/rr-169-descript-failure.html' title='RR (16,9): Descript failure: Broader Perspectives'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-4390772090387034262</id><published>2009-10-09T20:56:00.004+08:00</published><updated>2009-10-09T22:56:17.457+08:00</updated><title type='text'>RR (16,8,4): Fun and profit</title><content type='html'>For fun, I decided to compile a list of the blog posts in the blog search link I posted yesterday. I've got 108 blog links here; most (I think) are by the current P6 students. Time to perform some analysis. Or well, not a lot. I can't be arsed. The first thing I noted is that all but one were on Blogspot. That one wasn't on WordPress.com, it was on LiveJournal. That is interesting. Also interesting was that my own post (the previous one) failed to turn up in the search result (why, Google?); I suppose the crawl rate for my blog can't be so low that the post doesn't even come up. And my post about the 2005 PSLE maths paper before turned up, but without proper caps.&lt;br /&gt;&lt;br /&gt;Also, of the 107 Blogspot blogs, a significant portion has dashes in the URL.&lt;br /&gt;&lt;br /&gt;Graargh. Okay, not relevant. The profit part. I earned $10 from Kevin today. For fun and profit.&lt;!--Future reference: he got scammed.--&gt;&lt;br /&gt;&lt;br /&gt;Update: while filtering through the search results, I noticed that one of them had a window.close link lol. (I'm only a sixth in so far though.)&lt;br /&gt;&lt;br /&gt;More update: I uploaded the &lt;a href="http://sites.google.com/site/ltnplz/test-cabinet/lulzlist.txt.gz?attredirects=0"&gt;URLs of the blog posts&lt;/a&gt;, post-filtering. Turns out only 91 were relevant. If you bother to actually download the URL list, notice that there are comments inside. (Comments, as in shell scripts, start with '#' and end at the end of the line.) Read them. I'm not going to spoiler them for you here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-4390772090387034262?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/4390772090387034262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=4390772090387034262' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/4390772090387034262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/4390772090387034262'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/10/rr-1684-fun-and-profit.html' title='RR (16,8,4): Fun and profit'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-6372566886329684780</id><published>2009-10-08T21:25:00.003+08:00</published><updated>2009-10-08T21:40:45.249+08:00</updated><title type='text'>RR (18,3,1,1): More stuff</title><content type='html'>Some things to note. (I shall now revert to my primitive form of blogging.)&lt;br /&gt;&lt;br /&gt;1: Read &lt;a href="http://www.todayonline.com/Voices/EDC091008-0000039/Blame-the-teachers,-too"&gt;this&lt;/a&gt;. Notice something? He mentions "sulfur" as being a wrong spelling. Protip: the IUPAC uses that as the official spelling. (Sidenote: British English dictionary incorrectly marks "sulfur" as a spelling error.)&lt;br /&gt;&lt;br /&gt;2: I heard that today's PSLE maths paper was hard. Hey, losers, don't even complain. Stop whining. (&lt;a href="http://blogsearch.google.com.sg/blogsearch?hl=en&amp;amp;ie=UTF-8&amp;amp;q=psle+maths&amp;amp;scoring=d"&gt;I cast my google-fu&lt;/a&gt;.) We (people who took the paper in 2005) freaking had a paper with a wrong question, dammit. It's hard, so what; at least the questions weren't wrong. I hate you incapable losers.&lt;br /&gt;&lt;br /&gt;3: Quote me: "PS: I know this method of combining completely irrelevant thoughts is quite lousy."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-6372566886329684780?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/6372566886329684780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=6372566886329684780' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/6372566886329684780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/6372566886329684780'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/10/rr-18311-more-stuff.html' title='RR (18,3,1,1): More stuff'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-8360665225972255057</id><published>2009-10-05T22:11:00.002+08:00</published><updated>2009-10-05T22:31:04.894+08:00</updated><title type='text'>RR (18,3,1): How do you memorise π?</title><content type='html'>I do it by rhythm. Of sorts.&lt;br /&gt;&lt;br /&gt;3. 14159 26 535 8979 323 84 6264 3383 279 50288 4197 169 399 375 105 8209 7494 4592 3078 1640 6286 20899 86280 34825 34211 70 679 8214 8086 51 32823 06647 093844 609 5505 8223 172 53594 08128 48111 7450 28410 27 0193 …&lt;br /&gt;&lt;br /&gt;Of course, the way I actually memorise it might be different. I'm already so used to just reciting them from memory. And also typing them out on a standard calculator keypad. (Not the one on my laptop though. The numeric pad is slanted and inconvenient.) Also, standard disclaimer: while I do know that many decimal digits of π, I can't guarantee I typed them out correctly.&lt;br /&gt;&lt;br /&gt;Interesting to know that the digits after 3078, up to 70679 were all memorised via rote learning, because of Douglas' "type" program; the rest after that are clearly grouped in 10s ("8214808651","3282306647","09384460955058223172","5359408128"), because the source from which I memorised the digits had them grouped in tens.&lt;br /&gt;&lt;br /&gt;Binary presents much more issues, because we're not used to it. The easiest one is 22/7 = 11.&lt;span style="text-decoration: overline;"&gt;001&lt;/span&gt;&lt;sub&gt;2&lt;/sub&gt;, close to π = 11.00100100001111110…&lt;sub&gt;2&lt;/sub&gt;, as expected. Those are the binary digits I memorised. For those of you who watch &lt;abbr title='Star Trek: The Next Generation'&gt;TNG&lt;/abbr&gt;, that truncated at 6 digits beyond the radix point is &lt;a href="http://en.wikipedia.org/wiki/11001001"&gt;the title of one episode&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-8360665225972255057?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/8360665225972255057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=8360665225972255057' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/8360665225972255057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/8360665225972255057'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/10/rr-1831-how-do-you-memorise.html' title='RR (18,3,1): How do you memorise π?'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-3481137545474715036</id><published>2009-10-03T21:56:00.003+08:00</published><updated>2009-10-03T23:33:47.259+08:00</updated><title type='text'>RR (18,3): TDWTF's CAPTCHA</title><content type='html'>That's two unwieldy all-caps initialisms there. Anyway, read &lt;a href="http://chltoopro.blogspot.com/2009/07/rr-17-breaking-daily-wtfs-captcha.html"&gt;my last post about this&lt;/a&gt;. There I mentioned that breaking that CAPTCHA would not be much of a problem. Apparently, I was wrong, at least if using only free software.&lt;br /&gt;&lt;br /&gt;Here are the steps. I used ImageMagick to blur (&lt;code&gt;-blur 2x0.4&lt;/code&gt;) then threshold (&lt;code&gt;-threshold 20%&lt;/code&gt; (see update)), then used &lt;a href="http://code.google.com/p/tesseract-ocr/"&gt;Tesseract&lt;/a&gt; to perform OCR. The results were less than spectacular. I took a particular image, and sent 11 requests for images. Doing those two steps (which I combined into a shell script) on the 11 images, I got 8 different results, with a pair and triplet. The worst thing is, the 3 results that were the same were all wrong. Bleaurgh.&lt;br /&gt;&lt;br /&gt;More info. The correct text is "iusto". The triplet was "iusm", pair "iusT0", then the rest "iusw", "jusfQ" (the threshold left a bit of noise in a corner here), "mam", "mein", "mem" (wtf!) and "\u6’f Q". I also noticed that TDWTF uses a relatively small pool of "words" for the CAPTCHA, but this will probably change.&lt;br /&gt;&lt;br /&gt;This thing might not actually be viable any time soon using only free software, but I'll be waiting.&lt;br /&gt;&lt;br /&gt;Update: I've got seven more images; using threshold at 15% instead, I got one 1 of 18 correct with Tesseract. OTOH, with &lt;a href="http://www.gnu.org/software/ocrad/"&gt;Ocrad&lt;/a&gt;, there were six distinct results, the most common one (9 out of 18) being correct, and the next (5 out of 18) being "ius_o", which is off by just one character.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-3481137545474715036?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/3481137545474715036/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=3481137545474715036' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/3481137545474715036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/3481137545474715036'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/10/rr-183-tdwtfs-captcha.html' title='RR (18,3): TDWTF&apos;s CAPTCHA'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-4872629050991903</id><published>2009-09-29T23:10:00.003+08:00</published><updated>2009-09-29T23:20:21.575+08:00</updated><title type='text'>RR (18,2,2): lulz</title><content type='html'>Ernest: "How'd you know about that?" (with strange tone of exclamation)&lt;br /&gt;&lt;br /&gt;For the record, I'm not going to mention what that was in reference to; it'll (or should) become obsolete soon enough anyway. And for future reference, it's not related to &lt;a href="http://chltoopro.blogspot.com/2009/09/rr-17511-probable-reason.html"&gt;RR (17,5,1,1)&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Other news: Ernest's blog has been dead for more than a year already. Just fyi. (Well, he recently started another one, but that one is not relevant to his personal life, so yeah.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-4872629050991903?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/4872629050991903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=4872629050991903' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/4872629050991903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/4872629050991903'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/09/rr-1822-lulz.html' title='RR (18,2,2): lulz'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-3373177279601487878</id><published>2009-09-27T21:08:00.003+08:00</published><updated>2009-09-29T16:15:18.267+08:00</updated><title type='text'>RR (15,9,5): Friday</title><content type='html'>Prescript: I'm lazy. I started writing this post on Sunday (Blogger says 9:08 PM), but my laptop was unplugged, and I didn't manage to finish it. So now, it's Tuesday, and I'm finally deciding to continue on this post.&lt;br /&gt;&lt;br /&gt;It's Sunday now. Yes I know. I delayed this post two days, just for fun. Iirc I was writing the previous post on Thursday while doing stuff, then the display crashed. (Note: for some stupid reason, display crashes are fatal. I hope this is fixed in Ubuntu 9.10 .) I totally couldn't be arsed to continue that post until Saturday, where I just finished the sentence and posted it. So yeah. Anyway. Pseudochronological post. Some people (not pointing fingers) dislike this form of writing. I'm fine with it, but only if it doesn't happen too often. I think I've done this once before. Or maybe twice.&lt;br /&gt;&lt;br /&gt;Friday. PE. Frisbee. Er. Yeah. My right thumb ended up hurting quite a bit. I'm a partial conformist, so I just did it. (Well, not much harm right?) But, before PE, maths honours class. The test was a breeze. Ok, if I somehow happen to do badly on the test the previous sentence gives you the permission to laugh at me for that. Because Mr Ku is so cool, he let us off early. Not that it mattered much. Then I went to the chem lab for the indicator testing thing, which &lt;del&gt;Shuan&lt;/del&gt; Shaun C. already finished, so I just went there to see what else was happening. &lt;del&gt;Er, remind me to bring the blueberries tomorrow.&lt;/del&gt;&lt;br /&gt;&lt;br /&gt;After PE, er, maths class, then bio, which, quite interestingly I fell asleep because I was really tired, then Chinese class. I don't quite care. We were slacking around in the classroom for a while, then I suddenly realised I was late for CCA. I'm not supposed to care about that am I? I'm only sticking in because it's the least of evils. Basic game theory. So, I lost three games (out of three). Yeah, I suck at chess. Who cares. I'm not going to elaborate about a certain event that happened at then.&lt;br /&gt;&lt;br /&gt;After that. I went to the canteen and met up with Shaun Lee, then we discussed about weird shit. Weird shit discussion is enlightening. Yeah. Then I borrowed his phone, to like ask my mother where she was. I hate phone calls, btw, and I only use them when it's absolutely necessary to. So, turns out they were just at the entrance. Time to execute a short time skip. I met up with Shaun Lee again in the canteen, and then we met up with Kyle, and then we were advertising Windows 7. But before that, I saw Shaun Chiang and Ben (obviously because they just finished tennis) (and also Hehao, but then I might as well include everybody I recognise here). Yeah. I can't recall the order of how things happened now. My mother and sister (who were coming for the CO concert, more on that) just sat somewhere else in the canteen while they had some snacks.&lt;br /&gt;&lt;br /&gt;Another time skip. Headed to the auditorium; saw Ian there. Went to say hi, then he was like saying "don't worry, [my name here] is the exact opposite of me" to my mother and sister. Of course, we all know Ian came just for the first performance.&lt;!--Future reference: 1st performance was by Cheryl.--&gt; Yeah. Anyway. I came only because of Mr Yee and my mother and sister wanting to see it. I don't really have a liking for Chinese (as in, have-a-China-feel) music. Of course, I heard and noticed one slip up (by Cheryl; the drop was quite audible because the audi was quiet apart from the performance).&lt;br /&gt;&lt;br /&gt;And then there were some performances so lousy it can't be described as slip ups; "complete screw up" is more accurate. The &lt;a href="http://en.wikipedia.org/wiki/Pachelbel%27s_Canon"&gt;Canon in D&lt;/a&gt; was done very badly. I know only because it's classical music, and my sister likes playing classical music on the piano. Just ask anybody who heard it (and a proper version). The erhu wasn't too bad, except that there was a bit of screeching.&lt;br /&gt;&lt;br /&gt;Then, 402's performance was pretty awesome. It's quite funny. Especially the end part. If anybody knows of any videos available online, point them out to me. Mr Yee's performance was quite… well-received. Background info: the performance was with a student (forgot his name) on the guitar. So anyway, I heard someone (I think it's Andre) shout "a capella can?", which was quite funny. And then because the song Mr Yee sang was 爱我别走 (lit. "love me, don't go" if you can't read Chinese), there were some people (don't know exact number and don't know who) who said "don't go!".&lt;br /&gt;&lt;br /&gt;Then while on the way home my mother brought us (me and my sister) to Subway for some food. (Technically, it wasn't really on the way home, but it's close enough.) Was about 10:45 then.&lt;br /&gt;&lt;br /&gt;Abrupt ending.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-3373177279601487878?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/3373177279601487878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=3373177279601487878' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/3373177279601487878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/3373177279601487878'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/09/rr-1595-friday.html' title='RR (15,9,5): Friday'/><author><name>CHL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-4375197612445687609</id><published>2009-09-26T16:05:00.000+08:00</published><updated>2009-09-26T16:09:56.947+08:00</updated><title type='text'>RR (17,5,4): Kevin</title><content type='html'>Or KOSA, as you may know him. He is a moron (most of the time) and he makes no sense in what he says (most of the time). Let's see one of his "arguments". "Windows rocks, Linux sucks, atheists suck." First thing to note is that the third item is completely irrelevant to the first two. Another thing is that that's all to his "argument". No references, no shit. That's all. If I try to point that out to him, all he says is "so?", which isn't even addressing the issue. Of course, as an advocate of free speech, he can say whatever shit he wants to, &lt;em&gt;but&lt;/em&gt;… having the rights of free speech doesn't mean you have the rights to disturb other people.&lt;br /&gt;&lt;br /&gt;He's seriously immature.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-4375197612445687609?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/4375197612445687609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=4375197612445687609' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/4375197612445687609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/4375197612445687609'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/09/rr-1754-kevin.html' title='RR (17,5,4): Kevin'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-1876943505178121315</id><published>2009-09-22T20:44:00.004+08:00</published><updated>2009-09-22T22:48:45.509+08:00</updated><title type='text'>RR (18,2,1): The TI calculator OS signing keys</title><content type='html'>Note: This content does not infringe on anybody's copyright; presumably, under the US law, breaking a cryptographic key used by others probably isn't illegal. But then, the DMCA is a confusing piece of shit. It doesn't allow any form of unauthorised access, so it's not against the Singapore CMA. So anyway. These are the keys for the TI-89, &lt;del&gt;that should presumably also work on the Titanium&lt;/del&gt;. The encryption exponent is probably 11.&lt;br /&gt;&lt;br /&gt;prp76 factor: 223112 4525637629 4431819630 4529739487 5470510167 1302103009 5726708221 0173784611&lt;br /&gt;prp79 factor: 322688553 4240147415 0182483974 1010128636 2761128614 3500563686 7511107117 0873486957&lt;br /&gt;&lt;br /&gt;YES WIN. In hexadecimal:&lt;br /&gt;&lt;br /&gt;prp76: &lt;tt&gt;    4eec590 226b160e b0c00c1a 5fe84011 bc04947e db01eb43 4c3581cc 2d901223&lt;/tt&gt;&lt;br /&gt;prp79: &lt;tt&gt;1b de307d27 ad9ed6cf 7abb0d8f 16f6e421 75446d06 5b478cb2 48726e6c 7f5f6e6d&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;The TI-89 Titanium keys (hexadecimal):&lt;br /&gt;prp76: &lt;tt&gt;   f39d627 6648a571 322729f4 4e84c895 ef33af37 fb70fd49 8588cc6b 414639c1&lt;/tt&gt;&lt;br /&gt;prp79: &lt;tt&gt;e 13689e94 702feae7 52c61f9f 793739b1 c64e13af f7b1d526 a68118a5 17575a11&lt;/tt&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-1876943505178121315?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/1876943505178121315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=1876943505178121315' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/1876943505178121315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/1876943505178121315'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/09/rr-1821-ti-calculator-os-signing-keys.html' title='RR (18,2,1): The TI calculator OS signing keys'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-1851607158642136762</id><published>2009-09-21T19:08:00.002+08:00</published><updated>2009-09-21T19:21:11.428+08:00</updated><title type='text'>RR (18,2): E-mail advertisements</title><content type='html'>And I'm not even going to mention spam here. I'm sure most of you use some lousy sort of mail service. Maybe something like Hotmail. I have no idea how you manage to continue using it, but I gave up on it a long time back. I also gave up on Yahoo!, since it keeps giving me the wrong CAPTCHA. (Yes that is a valid reason to hate a company.)&lt;br /&gt;&lt;br /&gt;Very inconspicuously, messages sent from the web client of those two services will have some sort of stupid advertisement there. For Hotmail (Windows Live Mail, whatever shit you want to call it), it adds&lt;blockquote&gt;&lt;p&gt;Make the most of what you can do on your PC and the Web, just the way you want. Windows Live&lt;/p&gt;&lt;/blockquote&gt;where there is a very clear lack of punctuation at the very end. And anyway, if I want to make the most of what I can do, I'd be using Gmail over this shit. Thunderbird natively supports Gmail, which needless to say makes configuration almost trivial. Even if I don't intend to use Thunderbird, Gmail's web interface is still far superior to Hotmail's.&lt;br /&gt;&lt;br /&gt;Think of it this way. Gmail doesn't require JS. Hotmail needs it everywhere for everything. Gmail's interface is sleek. Hotmail's is "insert images here! and here! and here!", which is awful, in other words. So anyway. We already decided on which mail service we want to use, so stop bothering us on an alternative choice which is probably inferior.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-1851607158642136762?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/1851607158642136762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=1851607158642136762' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/1851607158642136762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/1851607158642136762'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/09/rr-182-e-mail-advertisements.html' title='RR (18,2): E-mail advertisements'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-7894657824025840016</id><published>2009-09-20T12:01:00.003+08:00</published><updated>2009-09-21T20:17:39.840+08:00</updated><title type='text'>RR (18,1,1,1): Click here and die (part 2)</title><content type='html'>So I did more searching. I happened to chance upon &lt;em&gt;another&lt;/em&gt; Singaporean female student blogger's blog with that useless comment. It happens to be quite poorly done, at least IMO. She probably thinks she did an awesome job with it, but YMMV. Disclosure of the blog URL will be near the end of the post. [1] Anyway, because I was using Chromium then, scripts were running (oh the horror!), and I saw the complete awful shit that blog was. See for yourself. I would rather you be mindraped by the blog layout than my description of the layout. (Although, truthfully, the first one I reviewed was worse. Except for the scripting.) Yeah. Basically, it also says "Best viewed in INTERNET EXPLORER". My eyes bleed. Apart from all the inherent massive fail involved. There's also a scriptlet changing the title every few hundred milliseconds, which overflows the boundaries of that provided in the window list, and also Chromium's tab; in effect it's not completely visible. Well, not much can be expected from a site that's "best" viewed in IE right?&lt;br /&gt;&lt;br /&gt;Sidetrack. Blogger's template system adds lots of weird shit inside the templates. Which can be used for tracking. Extra sidetrack. The blogger mentioned above apparently has another blog (there are 9 blogs in the blog list) which says "NO viewing my source", which is a bit… dumb if you even know how browsers work. She also helpfully reveals her full name. I bet a bit of social engineering would get her to reveal her IC number. (She is also a Christian.)&lt;br /&gt;&lt;br /&gt;I don't think I shall waste the time on reviewing all the other blogs I found. It's just a simple Google search, but the ones I saw be duplicated below (with country included, which is dubious in some cases):&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://the-resistanceme.blogspot.com/"&gt;[1]&lt;/a&gt; SG&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://the-uniquelady.blogspot.com/"&gt;[2]&lt;/a&gt; SG (?)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://this-is-my-bloggieeeee.blogspot.com/"&gt;[3]&lt;/a&gt; SG (?)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://icycold-heartofyours.blogspot.com/"&gt;[4]&lt;/a&gt; SG (he's male btw)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.what-the-yang-willie.blogspot.com/"&gt;[5]&lt;/a&gt; SG (?)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://sophisticated-love1997.blogspot.com/"&gt;[6]&lt;/a&gt; SG&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://hariz-superman.blogspot.com/"&gt;[7]&lt;/a&gt; SG&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://eggyork.blogspot.com/"&gt;[8]&lt;/a&gt; SG&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://chocolate-my-favourite.blogspot.com/"&gt;[9]&lt;/a&gt; SG&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://freakin-denial.blogspot.com/"&gt;[10]&lt;/a&gt; SG&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Protip: notice a trend?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-7894657824025840016?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/7894657824025840016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=7894657824025840016' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/7894657824025840016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/7894657824025840016'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/09/rr-18111-click-here-and-die-part-2.html' title='RR (18,1,1,1): Click here and die (part 2)'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-3480925106819669371</id><published>2009-09-19T19:59:00.005+08:00</published><updated>2009-09-20T11:42:41.696+08:00</updated><title type='text'>RR (18,1,1): Overheated again</title><content type='html'>&lt;img src="http://lh6.ggpht.com/_Pl0QCBqQmf8/SrTFHOrBW3I/AAAAAAAAAXQ/nTAxBKysGuY/critical.png" alt="[26961.220296] Critical temperature reached (94 C), shutting down." /&gt;&lt;br /&gt;&lt;br /&gt;It happened again. It also happened on Tuesday while running Dieharder. And this time, the stakes were higher, since there wasn't any file I was saving progress to. Over an hour worth of progress on a game was completely wiped out due to the computer overheating. Do you realise how ridiculous that is? If you don't, you're probably not a laptop user, or you don't know I use a laptop (almost exclusively).&lt;br /&gt;&lt;br /&gt;Seems that this shit only happens when I do CPU-intensive stuff. If I tried to call for tech support they'll probably just go: (note: fake example)&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;Tech support guy: Hello there, what may I help you with?&lt;br /&gt;Me: Er, hi. My laptop has been overheating over the past few days.&lt;br /&gt;TSG: Are you using Windows XP or Vista?&lt;br /&gt;Me: Neither.&lt;br /&gt;TSG: Which version of Windows are you using then?&lt;br /&gt;Me: False.&lt;br /&gt;TSG: I beg your pardon?&lt;br /&gt;Me: I don't use Windows. I use Ubuntu.&lt;br /&gt;TSG: Oh sorry, we don't support Ubuntu, we only support Windows.&lt;br /&gt;Me: As if I give a damn. Now pay me the phone bills I incurred from you wasting my time here.&lt;/p&gt;&lt;/blockquote&gt;&lt;br /&gt;Note how I inferred that the tech support guy would infer that a person who says "laptop" wouldn't have a MacBook since that snob would say "MacBook" over "laptop", and from there continuing the inference that I would be using Windows.&lt;br /&gt;&lt;br /&gt;Hey, I just got a cool idea! Maybe I'll write to Digital Life, &lt;em&gt;without&lt;/em&gt; clearly noting which OS I use, and see what kind of response I get. Use real name, or pseudonym? Hmm…&lt;br /&gt;&lt;br /&gt;Update: My memory serves me wrong. It was Tuesday, not Wednesday.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-3480925106819669371?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/3480925106819669371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=3480925106819669371' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/3480925106819669371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/3480925106819669371'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/09/rr-1811-overheated-again.html' title='RR (18,1,1): Overheated again'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_Pl0QCBqQmf8/SrTFHOrBW3I/AAAAAAAAAXQ/nTAxBKysGuY/s72-c/critical.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-5050920710818499640</id><published>2009-09-19T15:10:00.001+08:00</published><updated>2009-09-19T15:11:27.009+08:00</updated><title type='text'>RR (18,1): Click here and die</title><content type='html'>Er yeah. Except don't, because as I type this, the title isn't a link (yet), so don't bother. This is a follow-up of &lt;a href="http://chltoopro.blogspot.com/2009/08/rr-17332-windowclose-does-not-work-that.html"&gt;a previous post&lt;/a&gt; I made regarding certain blogs by two fellow Singaporeans (who are female). Basically, in that post, if you forgot, I mentioned of them using a "click here" which links to a small script to close the window, except that the script doesn't work due to usability (and maybe security?) restrictions by browsers such as Firefox. Yeah.&lt;br /&gt;&lt;br /&gt;So, now, I just went back to one of them. No new updates, boring like hell. Okay, that was a bit irrelevant. I searched the exact string for the "click here" text, which was "Click here and die.". Hold on a second (or a few) as I try to note some interesting points about the string itself. It wasn't at the start of the sentence, it was after a comma (and a space), which is quite lulzy already. Anyway, I searched it, and found a (insert drumroll here) Malaysian (more drumroll) female blogger. Well, she provides two choices. "Click here and die", and my pretty standard jump-off-a-building kind. Er. Dangerous tendencies in Malaysia?  I won't go into too much commentary on this blog here, but I must note that there was a pretty obvious coding error if you look near the end of the source code (and you understand a bit of JS).&lt;br /&gt;&lt;br /&gt;(Sidetrack not completely irrelevant notice: While I do have a jump-off-a-building option, I also have the GTFO one, which IMO is a lot more reliable.)&lt;br /&gt;&lt;br /&gt;Actually, there were only two sites with that "click here and die" text hosted on BlogSpot.  Hmm. Well, there're now three, if you include this blog, especially since the title so blatantly indicates thus.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-5050920710818499640?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/5050920710818499640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=5050920710818499640' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/5050920710818499640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/5050920710818499640'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/09/rr-181-click-here-and-die.html' title='RR (18,1): Click here and die'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052916663263919840.post-849239581899395305</id><published>2009-09-18T22:03:00.003+08:00</published><updated>2009-09-19T15:12:56.968+08:00</updated><title type='text'>RR (18): Why do we stay alive?</title><content type='html'>Being the egocentric person I am, I will focus mainly on myself. First point: evolution. Species with an innate tendency to suicide before undergoing mating fall under two categories. One, that offspring are generated in gigantic quantities, where selection will cause it to eventually exit this suicidal category anyway, and their creation somewhat requires a intelligent designer (which I don't believe exists, but YMMV). Two, that these species will just die out within one generation. So, from an evolutionary standpoint, it makes sense to have creatures not want to suicide, unless it is believed to be for the greater good.&lt;br /&gt;&lt;!--I was typing the above paragraph with only my right hand lol.--&gt;&lt;br /&gt;Second point: personal goals. This may or may not have resulted from the above, but who cares. Basically, people have some things they want to fulfil. And people will generally try to stay alive until they manage to fulfil whatever they had on their todo list. Of course, the todo list will eventually get smaller, so, an arbitrary person would, in theory at least, lose motivation to live after a sufficiently long period of time. End sidetrack.&lt;br /&gt;&lt;br /&gt;Third point: … there's no third point. Those are the only two reasons. If you recall that speech thing some people did some years back about altruism, it basically claimed that altruism did not exist. So, by extension, people care for others only because it provides an eventual benefit to the society as a whole, and, do not forget, these people are also part of the society; even if they aren't directly helping themselves, they would be helping their offspring (if they have any), which are continuations of their genetic information, which they want to preserve, so it makes sense to do it purely for selfish reasons. Of course, the mental "enlightenment" obtained from helping others also counts as a selfish reason (if you recall that speech, which iirc mentioned something along these lines). (There are also plenty of other points regarding this issue which is completely irrelevant to the topic.)&lt;br /&gt;&lt;br /&gt;So yeah. Two points, and a non-point about as long as the two points combined.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052916663263919840-849239581899395305?l=chltoopro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chltoopro.blogspot.com/feeds/849239581899395305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7052916663263919840&amp;postID=849239581899395305' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/849239581899395305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052916663263919840/posts/default/849239581899395305'/><link rel='alternate' type='text/html' href='http://chltoopro.blogspot.com/2009/09/rr-18-why-do-we-stay-alive.html' title='RR (18): Why do we stay alive?'/><author><name>CHL</name><uri>http://www.blogger.com/profile/07544182416783481347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
