![]() |
TCHS 4O 2000 [4o's nonsense] alvinny [2] - csq - edchong jenming - joseph - law meepok - mingqi - pea pengkian [2] - qwergopot - woof xinghao - zhengyu HCJC 01S60 [understated sixzero] andy - edwin - jack jiaqi - peter - rex serena SAF 21SA khenghui - jiaming - jinrui [2] ritchie - vicknesh - zhenhao Others Lwei [2] - shaowei - website links - Alien Loves Predator BloggerSG Cute Overload! Cyanide and Happiness Daily Bunny Hamleto Hattrick Magic: The Gathering The Onion The Order of the Stick Perry Bible Fellowship PvP Online Soccernet Sluggy Freelance The Students' Sketchpad Talk Rock Talking Cock.com Tom the Dancing Bug Wikipedia Wulffmorgenthaler ![]() ![]() ![]() ![]() ![]() ![]() |
bert's blog v1.21 Powered by glolg Programmed with Perl 5.6.1 on Apache/1.3.27 (Red Hat Linux) best viewed at 1024 x 768 resolution on Internet Explorer 6.0+ or Mozilla Firefox 1.5+ today's page views: 174 (12 mobile) all-time page views: 3248321 most viewed entry: 18739 views most commented entry: 14 comments number of entries: 1215 page created Mon Apr 21, 2025 10:22:48 |
- tagcloud - academics [70] art [8] changelog [49] current events [36] cute stuff [12] gaming [11] music [8] outings [16] philosophy [10] poetry [4] programming [15] rants [5] reviews [8] sport [37] travel [19] work [3] miscellaneous [75] |
- category tags - academics art changelog current events cute stuff gaming miscellaneous music outings philosophy poetry programming rants reviews sport travel work tags in total: 386 |
![]() | ||
|
- + epl tales - + hamsters - Thanks to all you wonderful readers, this blog has passed 100000 pageviews sometime on the 20th of September. Hardly overwhelming by most standards, but still kind of nice for an unfocused vanity personal blog. Don't wait up for the millionth visitor, though, as at current readership it'll take a bit over 16 years. Due to the recess week and the completion of all the labs/homework thus far, this was setting up nicely for a legendary post, but all that time went... somewhere, so please do be disappointed. 43 (Four Three) The underwhelming bits will come later, as we begin with perhaps the best Manchester derby in history (video highlights): No Adebayor, but Tevez was back and expectant of applause from the Old Trafford crowd. In any event, he got Cristano Ronaldo's usual reception from opposition fans, and looked honestly befuddled, as if he really believed what he said. Hard to dislike such a guy. It was City's turn to be rocked by a second-minute goal by Rooney, who withstood two unconvincing sliding challenges to slot it in from close range. Four points in the bag for my Facebook Fantasy footie competition, then. United were always one for histrionics, and "England's Number One(s)" Ben Foster and Rio Ferdinand combined to gift a goal from a nothing ball that fell innocently just outside the penalty area. Foster dawdled, and Tevez was soon upon him (Tevez's good at that). Foster, recognizing only the existence of his left foot and regarding his right leg only as an annoying necessity to stand on, attempted to shift the ball back into his own area to grab. Of course, Tevez booted it right out of his hands and squared it for Barry to finish. Really, they don't dock fantasy football points (well, for the Facebook edition at least) for conceding throw-ins, Foster. Just bleeping pass it out into touch! That was a potential ten points gone, but given the way the match turned out, I was never going to claim the clean sheet bonus. Tevez kindly refused to humiliate his former colleague by celebrating (hint, hint, Adebayor), but nearly rubbed it in when he struck the post as the first half wound down. Architect was Rooney, whose attempted backheel pass was a lot more obvious than he probably thought. Second half, and Darren Fletcher heads it in. The young Scot's come a long way since he was disparaged for getting in the United team only because he was Ferguson's son (Ferguson does have a son named Darren, who won the league with United in 1993), and more importantly, that was five points for my fantasy footie. This was however cancelled out by a superb long-range shot by Craig Bellamy, and while Foster couldn't be blamed for that, it still doesn't look good. Park Ji Sung was, despite his new contract, limited in attack, and United were given more bite as Antonio Valencia replaced the Korean. By now, defenders should all know that Valencia has exactly one trick up his sleeve, which is to dribble slowly diagonally towards goal, and then cut sharply with his right foot and sprint straight forward in the hopes of creating enough space to cross; if he fails, he will slow down... and try the exact same thing again. Well, it still works, so... Berbatov had a few chances to score, but only managed to raise Shay Given's stock with several headers right at the City keeper, such that Given would have to deliberately jump out of the way to let them go by him. But of course the sportswriters are all hailing Given's "magnificent" reflexes, which is sort of a given. He was replaced by "the new Ronaldo" Michael Owen Oh-Seven, and Ferguson's son scored another header for more fantasy football points for me. The match up to this point would already be worthy of joining the ranks of the classics, but the show was just getting started. City needed a goal to get a draw, but were getting nowhere close until the very last minute of normal time, when Rio Ferdinand decided to go for a completely unnecessary lob to cement his "cultured defender" attribute in the next release of Football Manager. He hit Barry instead, who released Bellamy, who Ferdinand couldn't catch up with but at least forced wide. Foster appeared to have a decent chance of preventing the goal... before he slipped prematurely. I switched off the TV in disgust about three minutes into the four minutes minimum of extra time, but was alerted to a miracle by a loud roar that reverberated around the neighbourhood, upon which I rushed to the remote control in time to catch countless replays of Michael Owen bending in the winner. One goal can't make one a United legend, but if there was a goal that could, at least since 1999, then it would surely be this one. Cristano Ronaldo, who?
Manchester City manager Mark Hughes was less than impressed, and fumed that the referee gave United far too much time, or in other words, "Fergie Time". The explanation for most United sympathizers is that:
But wait - United in fact get the least stoppage time at home on average, out of the Big Four. They have 3:25, compared to Liverpool's 3:30, Arsenal's 3:44 and Chelsea's whopping 3:49. And the Guardian cheerfully neglects to mention if these teams also get their fix of extra-extra time when things aren't going their way. Hmm. Also, wouldn't away teams have an incentive to time-waste far more than usual if they are on the way to getting a result, let alone at a nominally stronger side? In the final analysis, Evra and Giggs were sublime, incredible for the latter who is now dribbling by defenders half his age like nobody's business. O'Shea and Anderson were fine, Vidic hard as always, and Carrick sadly meh. Poor Foster couldn't have done his World Cup hopes any good, though - perhaps he might try to collect small advantages (video) to get back on his feet? Might as well keep all the soccer-related stuff together, and here's this week's predictions (currently on $471.50/$450): $50 on Everton to beat Portsmouth (at 1.90) - Everton may have won only 2 of 6, but Pompey have lost all six so far $50 on Liverpool (-1.5) vs. Hull (1.95) - Merseyside double on the cards... 10100 (Googol) The next number is a stupidly big one, and when misspelt is the name of a stupidly big company. Yes, it's Google. They made a teeny change to their famously clean front page recently, increasing the size of their search box. At first, I thought it was my browser settings doing the deed, but it turns out that it's just Google keeping ahead of the cluttered competition. Borrowed non-fiction from the regional library for a change, and pulled The Search - How Google and Its Rivals Rewrote the Rules of Business and Transformed Our Culture (2005) by John Battelle off the shelves. Come to think of it, the Internet would be next to useless without a way to find useful stuff on it, precisely because of its hugeness. Ah yes, so search the darn thing, can't be that hard, right? Wrong. A little history: There were only *gasp* a hundred websites or so in 1993, and a bit more than half a million in 1996. Before that, there were files on servers that boring academic people shared freely with one another, assuming that they knew exactly what name the file had. Otherwise, they turned to the Archie index/search engine, which at least let them search the filenames. Not particularly helpful if you forgot exactly which readme.txt you were after, but it was a start. Then the Internet got big. In those wild frontier days, one approach was that used by Yahoo!, which was to employ humans to categorize websites into a big directory (see 1996 incarnation at the Internet Archives). The other approach was to use tireless web robots to trawl for new links and add them to a database, beginning with the WWW Wanderer, and later WebCrawler. Building a database was, however, the easy part, available to anyone with sufficient processing power and bandwidth (Altavista was born as an advertisement for DEC's processor). Giving users what they want when they searched was rather harder. How do you tell that this blog, for instance, is a better match for "bert's blog" than some random site repeating the words "bert's blog" over and over again? Google's general approach was quite simple - as with academic papers, where the most important papers were much-cited by other papers, they figured that the most relevant websites would also be the most-linked by other websites. In addition, it seems logical that any website linked to by such prominent websites must themselves be rather prominent too. Put these two simple assumptions and a lot of difficult math together, and you get PageRank (read original research paper) and a behemoth with a market valuation of over US$100 billion. I'll skip the trials and tribulations of the company's founders, who tried unsuccessfully to sell their search tech to Excite, Infoseek and Yahoo!, among others (Yahoo! did end up using Google for search results for a while), and go right to where they're making the dough. No, it isn't search, not directly at least. It's advertising, with approximately two-thirds from their own websites (including the ubiquitous search engine) and the rest from AdSense (hint: it has long been on this blog), which makes up 97% of its total revenue of over US$20 billion a year. Google also literally holds the power of life and death over Web retailers, who prosper if they come up near the top in a Google search, and die horribly if they ever drop beyond the first few pages of results. A whole industry has sprung up around getting those coveted top few spots, and Google responded by more or less kicking commercial sites off the list in 2003, helping their own bottom line in the process (since retailers who essentially got free advertising, now had to buy ads from Google). One final bit about Google - its "Don't be evil" mantra is getting harder to live up to, at least in engagement with China and the blatant censorship regime in place there. Try searching Google.cn for Tiananmen, for example, and you'll get next to nothing compared to the international version. To be fair, they admit that "据当地法律法规和政策,部分搜索结果未予显示。" (i.e. "Some search results not returned to comply with local laws."), which is by itself not limited to China (e.g. Nazi sites are filtered out in France and Germany for the same reason). But as evil goes, the Nazis are nothing on humans in general in their treatment of chickens, or Planet Chicken - The Shameful Story of the Bird on Your Plate by Hattie Ellis would have you believe. Forced into prodigious feats of round-the-clock egg-laying with artificial light, stacked in cages that forbid any movement, overfed till their legs twist and hearts fail, potentially dipped alive into scalding water for defeathering due to their throats being improperly cut... this is the fate of most of the over 10 billion chickens alive today. We could pay slightly more for ethically-bred free-range chickens, the author says. Their meat and eggs are better too. Perhaps. But I'll stick to my chicken rice, drumsticks and McNuggets for now, thank you. ![]() Both sides make a convincing case. How? The final book review is on Asimov's Science Fiction Magazine 30th Anniversary Anthology, a collection of seventeen short SF stories. My favourites included Speech Sounds (Octavia E. Butler), on the breakdown of civilization without speech and symbols, Dinner in Audoghast (Bruce Sterling), on the inhabitants of an ancient African city being blissfully unaware of their impending doom (a black swan event?) and Over There (Mike Resnick), a yarn about the famously active ex-American president Theodore Roosevelt participating in World War II. The best, if maybe saddest, of them all was The Children Of Time (Stephen Baxter). It follows five kids, each born hundreds of millions of years apart in yet-to-come ages of Earth, as they live through an Ice Age, an impact event, a time of a tropical Antarctica, a flat and featureless New Pangaea, and finally a cavern world where the few remaining descendants of Man would never see the sky. Which is in fact inevitable, if we do not reach for the stars. Ironically, I don't rate Asimov's own Robot Dreams story all that highly. Other recent reads: Karen Miller's Empress and The Riven Kingdom, Moorcock's The New Nature of the Catastrophe and King of the City, Herbert & Anderson's Paul of Dune and Preston & Child's The Wheel of Darkness. 400000 An (officially irresponsible?) "alternative" opinion on the Straits Times editorial on rising HDB flat prices. HDB's official stance is that it pegs its prices to market rates to be fair, before subsidizing the market value. In a way, this makes sense, as some locations must be much more popular (and valuable) than others, despite the cost of building the blocks of flats being about the same. Then selling at cost would be unfair in a sense as balloting would have to take place, and some lucky new owners start off with a "better" flat than others. Why not then make those who want better flats pay more, or as the editorial put in other words, "...There is little doubt that state housing is affordable, whether new or resale, if one considers carefully precise matching need.", i.e. no money go live in two-room flat in the boondocks lah! However, it seems probable that in relative terms, public housing is getting more expensive. Figures are hard to come by, but one typical example has a three-room flat costing just 20 months of an average person's income in the late 1970s, compared to five years or more today, i.e. wages have not kept pace with housing prices. (If anybody at all has reliable information to the contrary, please enlighten me and I will willingly retract this insinuation.) Some have blamed this on a rise in demand caused by the authorities encouraging immigration, which was not sufficiently offset by new construction. This may well be true, but high property prices is a sticky situation. Imagine if prices fell across the board by 25%; current homeowners would likely be in a world of pain, especially if they needed to sell in an emergency, since the worth of their property might not even cover the amount they owe to the banks (this just happened a lot in America). So it goes back to the theory of true value: Is about 110 square metres of living space really worth half a million dollars? Hmmmmmmmmm. 6700 Finally got fed up with jumping through hoops to get the 3220 connected to my PC, so when Singtel informed me that my plan was expiring, I decided to retire it. This time, I selected the Nokia 6700 classic. Having a handphone offering more megapixels (five) than one's camera is probably a sign that times have changed. Didn't want the metallic version due to it being a fingerprint magnet - black is beautiful! The entire package feels a bit on the heavy side, but that gives an impression of solidity, kinda like PC power supply boxes. The microUSB connector worked like a dream (at least compared to the CA-42 cable), which redeemed Nokia in my eyes somewhat. First thing I did was to transfer all my old contacts and SMSes over with the Nokia PC Suite, which also means that I'll never have to worry about losing this data as long as Gmail is around. Muahahaha. We end with an ad by Mr. Ham, photographed with the 6700: ![]()
Half the semester's over in a flash, and the mid-semester break is once more upon me. And I got paid again, which makes me wonder if I should be doing a bit more for my stipend. Hmm. Some assignments, a short project and a (woefully time-limited) quiz so far, topped off with a badminton session at Mount Faber Safra. Discovered that Google Chrome silently updates itself only when the layout of the default tab got reorganized. Is this good? Well, the other method would be to do it the Microsoft way, and explicitly ask the user if he wants the update (and often a reboot). Google's reasoning is that security patches should always be applied ASAP for the greater good, since having a vulnerable system not only affects oneself, but also allows the problem to propagate further, and thus they've taken the issue out of users' hands. Frankly, web browser users as a group aren't the most security-conscious folks around, and I doubt most people even notice the silent updates, so this implied-consent implementation might be the smart thing to do. Really, the average user is probably happy to surf Youtube and open multiple tabs without noticeable slowdowns or the browser crashing every half-hour or so. The browser demographic is also rather more accommodating than the United States populace, judging from the rather strong and mostly Republican opposition to Obama's health care reforms: ![]() Six of the best (Source: FARK.com) Some background for those who haven't been following American politics: The Republicans are the party of: conservatives, the rich (or those who aspire to be) and tax cuts, the religious (in the case of America, overwhelmingly Christians, which brings with it anti-gay and anti-abortion stances), capital punishment, military strength and gun rights. Their mascot is the elephant, and they are perhaps best epitomized by the billionaire oil-driller god-fearing ex-Marine of redneck extraction. The Democrats are then the bleeding heart liberals, the working-man poor (or those who want more wealth equality) and big government, the secular, the environmentalists and the intellectuals, and favour consensus in international affairs. Represented by the donkey, the homosexual tree-hugging ex-hippie professor in overseas abortion research is their exemplar. [For more on this topic, read this editorial.] Of course, people generally don't fit all the stereotypes, but somehow most Americans (some 70%) manage to identify themselves with one of these two parties, maybe because no other party has the slightest chance in hell of making any significant progress. Come to think of it, those American political rights groups can't claim much moral superiority over us - in practice, they have just one more party. Either way, it has become painfully apparent that the state of health care in the US is lousy and the whole thing is probably unsustainable in the long term, thus changes are needed. On average, Americans pay a lot more for medical assistance not much better than other developed nations, and some 15% do not have insurance coverage, meaning that if they come down with a semi-serious condition, they are basically screwed. Obama's solution? Put universal health care into place. Despite many countries running successful government-run systems, which of course require higher taxes, such a proposal was hardly likely to pass the Republicans. A sort of bastard hybrid was therefore pushed instead, but it wasn't quite enough to mollify detractors, one of whom yelled "You lie!" as Obama delivered a speech on health care reform. However, this time, I come neither to praise Obama, nor to debate the merits of nationalized health care (covered adequately by wikipedia, and also rambled upon last year, and which mainly boils down to "I earned my money and I don't want to spend it on doctors and medicine for the lazy poor who should have worked hard to pay for it themselves"). My focus is instead on the requirement for insurance companies to cover pre-existing conditions (see Obama's change.gov website). Okay, while a rich guy not wanting to pay higher taxes to fund others' treatment may seem selfish, it is understandable as humans, nay, living beings, are selfish, and sometimes it really is a case of the Ant and the Grasshopper. Whether it will come back to bite them in the ass, perhaps when their kid comes down with a bad flu from another kid who couldn't afford proper treatment, remains to be seen. But coverage of pre-existing conditions is an odd one. Insurance is, after all, basically paying good money in the hope that you don't get the money back, because it means that something very bad has happened to you in the future. Then, covering pre-existing conditions is by definition not insurance, since the very bad thing has already happened! A little extra thought reveals that it is basically impossible to offer identical coverage for people with pre-existing conditions as compared to people who get the condition after buying insurance. In that case, why would anybody pay monthly premiums beforehand? They could just wait until they came down with diabetes or liver disease or something, and then walk into the insurance company's headquarters and demand that they pay for his treatment. So, the insurance company has to mandate higher premiums for people who come with pre-existing conditions. Now does the system work? Let us say that the condition requires $1000 a month to treat. Then, the monthly premium cannot be more than $1000 a month, since if that were so the patient might as well pay for the treatment himself. However, if the premium were less than $1000, say $500, the insurance company is effectively just acting as a charity and donating $500 a month to the patient. Of course, this might work if the pre-existing condition is the sort that does not require treatment currently, but which heightens the chance of requiring treatment in the future (e.g. a smoking habit). But insurance companies do cover these people already, albeit they have to pay higher premiums, which is probably fair in the sense that healthier people do not have to subsidize less-healthy ones (and probably with good reason, since if a policy covers smokers and non-smokers equally, the expected payments and premium charged must be higher, and many non-smokers would jump ship to another company whose policy covered non-smokers separately and more cheaply). Where does the money come from? Private insurance companies exist to make a profit, so they probably aren't going to absorb the losses, and will instead stick the bill on its other customers, i.e. the general public, if everybody is required to have insurance, and assuming that pre-existing conditioners are spread evenly among all companies. Otherwise, the government has to stump up the difference, and the (tax-paying) general public still pays. So, in short, providing any meaningful degree of coverage to people with pre-existing conditions is essentially welfare and not insurance, and is indeed a handout, whether socialist as Obama detractors claim, or good old American capitalist Jesus-praising charity, but a handout nonetheless. Then why not call a duck a duck and declare it as welfare? Actually, I think we know the answer... Well well, what do we have here: One two-goal three-one result against Spurs at suitably attractive odds, and I'm under par again at $384/$350. Sure, conceding to a Defoe bicycle kick before one minute was up was worrying (and did no wonders for my fantasy footie score, with Foster my goalie), but hey, it's Tottenham versus United. 3-0 down at half time? No worries, United could even beat the -1.5 goal margin with five in the second half. Okay, that may have been eight years ago, but back in April Tottenham went 2-0 up by half-time. One would have thought that they had learnt their lesson, but no, 5-2 it would be. This screams out for a Star Wars parody "Spurs shot first" T-shirt... Tonight, United take on nouveau riche City, who will be without at least three good frontmen in Robinho, Roque Santa Cruz (through no fault of their own) and Adebayor (through all fault of his own). Arsenal may or may not have given him total support, but deliberately stamping on a former teammate's face [animated gif image] is a tad too much. Add that to running the length of the pitch in a 10-second long "moment" of passionate excess to taunt the opposition supporters, some of whom were his former fans, and I believe we have a new specimen of thoroughly unlikeable footballer. Despite that, Adebayor's always been handy as a striker, and City will miss him against United. Four wins out of four is a sign of a solid team, even if Portsmouth, Wolves and Blackburn aren't the stiffest of tests. Tevez coming back will help them, and I've never understood the hostile reaction among some of my fellow United supporters regarding his departure. Yes, he's said a few things about Ferguson not wanting to keep him, but he's probably justified in that. Being a very decent player with the odd touch of class (think a lesser clone of Rooney) and great industry, he was well within his rights to demand more playing time, while his manager was also well within his rights to reject those demands (saying that, I for one rate him slightly above Berbatov). When boss and subordinate do not agree, a split may be the best option, and that's what happened. Tevez always gave his all for United, and that's enough for me. $50 on United (-1.5) vs. Man City (at 2.70) - lets go one more time $50 on Everton to beat Blackburn (1.75) - 'Ton aren't that bad surely?
- Michel Platini, UEFA president (bert's blog stated that nobody admits to diving in the previous post. As can be seen, this is incorrect. bert's blog apologizes for the error) It's been a relatively packed twelve days. Last Friday: Japanese Dinner at Botan Restaurant, Far East Square, with the badminton people. Probably the first time I've been there. One of the guys is an intern at Microsoft, and got us to visit the HQ at One Marina Boulevard. For all the Microsoft-bashing, they do know how to create a cosy office ambience. Microsoft Surface was interesting, but I'm not sure if it'll enter the mainstream. I'll be waiting for more reviews on Windows 7 before deciding whether to upgrade the seven-year old XP installation. Saturday, 4O steamboat dinner at Bugis, with about 20 attendees not including two of our math/science teachers who dropped in. Law recommended Left 4 Dead at the Colosseum @ Iluma LAN shop, it being the newest hottest first-person shooter. Brings back memories of Counterstriking back in 2000-2002. The atmosphere was certainly there, with huge screens showcasing some of the offerings in their full 3D graphical glory. Eagerly await the Mechwarrior reboot, and the distinctive Street Fighter IV visuals almost make me want to try it despite never being any good at such games. But more on Left 4 Dead. Let's get the limitations out of the way first: There's not a great selection of weapons compared to CS, there's a strict upper limit of eight players per game unlike the dozens in CS, and I'm not even sure if gameplay is balanced with less than that. There's also only one mission objective - escape to a safe point - and the corresponding es_ maps in CS were never even that popular to begin with. What saves the game is the ability to play as the bad guys: the zombies. Alright, they aren't really zombies, but still-living humans afflicted with a rabies-like pathogen, a.k.a the Infected. Still, they look like zombies, talk like zombies (i.e. not much), and are for all intents and purposes zombies, except for their ability to make Usain Bolt look like a slowpoke when they rush at you. Fair enough, since I'm not convinced about the fear factor of traditional zombies: "Oh look, a zombie! I had better limp away slightly more quickly lest it catch up!" Unlike the survivor humans who have guns, all the Infected have are their bodies and guts. The Boomer is a prime example, his main purpose being to get in close and spill his guts onto the survivors. Then there's the Hunter, who can jump prodigious distances to his prey, but whom I never got the hang of, and the Smoker, who can snare victims from afar with his extensible tongue, my favourite of the three. Doing so from a high vantage point is both a smart tactical move and a good demonstration of in-game physics, as the unlucky survivor dangles from a ledge. The last playable Infected type is the Tank, who is very beefy, very strong, and unfortunately (for the Infected team) quite rare. It almost feels like cheating when one uses him to simply mow down the puny humans, and in fact the humans appear hard to win with, at least for inexperienced players, since for all their firepower advantage they can't just respawn like the Infected, and any stalemate is thus to their disadvantage. Moreover, the Infected have x-ray vision. For all the time that we played, the survivors only won once! The dinner itself was hearty, helped by the fact as I didn't feel as sleepy as usual during that period of time. Found out a bit more about some of my old classmates, almost all of whom are doing quite well. That's good. Sought out another LAN shop for more L4D-ing, then resumed conversation at the basement of a deserted shopping mall until past midnight, whereupon I shared a cab home with three other Jurongers. This post looks to be winding up as one of those where I mention all the random stuff that I have neglected, so I'll get it over with. Backed up the SMS-es from my ancient Nokia handphone using the CA-42 cable. It's been Plug-and-Pray too much for my liking, so Nokia gets some points docked for that. Speaking of durability, the electric fan's been replaced, about a month after I praised its predecessor. They just don't make them like they used to. Next up, my first rat sighting in NUS, in a drain by the tennis courts. My frequent exposure to the hamsters has made me far more partial to them (By the way, it appears that Mr. Fish was a normal Winter White instead of a Campbell's as we always thought, while Mr. Ham is a sapphire Winter White). Wonder if the cats of Computing might be interested in a visit, after they finish their promotion of common Linux commands. On animal design - it seems that some cockroaches, that embodiment of survival, can't flip over when upside down. Evolution may have some way to go with them. Gmail was down for a few hours one of these days, which led me to imagine if I could do with all my emails *gasp* lost. Well, probably yes, but it would be extremely inconvenient to say the least, though there's probably too much on the line for Google to risk something like that. They likely have multiple backups in nuclear-bomb proof caverns in Antarctica. Loss of access to Gmail is still annoying, and I wonder if they couldn't have some emergency stop-gap service to redirect to in such events. Now take a look at this: ![]() Ah yes, three guys and a big photo, so? Nothing special, except it's not a photo. It's an airbrush painting. The artist spent over 70 hours on this specimen, but heck, the result after just ten hours is amazing. And there are more examples of this ultrarealism. One more thing to dabble in when I retire, if ever... More related to computing, I came across the TinEye reverse image search engine while trying to determine the provenance of an iconic image I thought I had seen before, but couldn't quite place (it turned out to be the Pulitzer-prize winning shot of the shot Jeffrey Miller at Kent State in 1970). TinEye works as follows: You supply it with an image, either from your hard disk or using an URL on the web, and TinEye tells you all the sites where the image occurs. Very useful. Oh, it doesn't return only exact copies; that would be almost too easy (since only a hash would be needed), and not very useful. It matches the image even if it has been altered slightly (see some cool search examples), likely by identifying key features. Hope the Computer Vision module covers that. Anything left? Ah yes, the pika, courtesy of zh: Import permit needed for one of these hambunnies! A complete whitewash for last week's $100 Challenge - yes, City and Everton both won, but by the lone goal, not nearly enough, and United cranked out a win. $174/$300 already, and nothing too attractive today. Eh, what the heck... $50 on United (-1.5) vs. Tottenham (at 4.20) - be bold.
- changelog - changelog v1.15 --------------- * Related Posts functionality fixed, improved. * Minor issue with long strings not breaking in trackbacks fixed. Thought it was the right time to clean up the extremely crude related posts algorithm written in February, making it slightly less crude, and at the same time provide some insight into its workings. The idea for this function came from browsing forums and current affairs webzines, where it seems to be quite popular - reading a thread (or article, or post) to the end shows that the visitor has some interest in the topic, so a good way to hold his attention (and advertising revenue) would be to direct him to relevant stuff elsewhere on the site with a few well-placed suggestions. Go on, try it by checking out the direct link to individual posts, and scrolling to the bottom :P We then ask the question: Given any individual blog post, which of the other posts (369 now, for this blog) are the most similar to it? A brief survey back then found that search engines aren't particularly forthcoming with their proprietary algorithms, while the closest academic discipline regarding this area is probably text clustering or maybe neural maps, but I didn't want to muck about with matrices and eigenvectors for a half-day spit-and-polish event. The initial implementation was thus based on a very simple concept: Each blog post contains words (well, most of them do), and similar blog posts probably contain similar words. So all we have to do is to pick out the most-used words in any post to get a general idea of what the post is about, and search all the other posts to get the best matches (this idea is partially indebted to word sense disambiguation from my Natural Language Processing module). Obviously, some words are far more common than others, and matching up a bunch of "the"-s doesn't necessarily mean much. I therefore used a static list of such words for a start, but that combined with a sneaky bug that let the space character slip through as a valid word, returned poor results. Not to mention regex expressions failing completely if certain special characters were found in words, or the unacceptable performance hit from recalculating the matches each and every time a post was accessed. Each of these issues were corrected in the current release. The space character and regex bugs were direct, and the performance issue mitigated by caching the results - the related posts of any particular post should not change if there aren't new posts that have been added since the last request, which doesn't happen that often. But what about the common words? Well, all posts so far were downloaded, stripped of HTML tags and analysed - this gave just over 260 000 words in total, or around 700 words per post. "the" was by far the most commonly used word, appearing 13614 times, almost double "to" which had 7154 occurrences. Furthermore, over ten thousand words show up just once in the blog's history! ![]() Evidence of poor vocabulary This corresponds closely to known language behaviour, and though the data may be imperfect due to simplistic word parsing (e.g. is "señor" a word?) and the omission of reduction to base forms (by Porter's algorithm, for instance), it should still be plenty good enough for my purposes. I then generate a search string from the ten or so most-popular and relatively uncommon words (i.e. which do not appear more than about 0.2% of the time) from each blog post. Each of these terms is also weighed accordingly to their rarity with exponential decay (e.g. a word that appears five times is taken to be twice as significant as one that appears maybe twenty times), and also their prevalence in the post (so the term that appears most often is [slightly] more significant that one that appears second most often). Of course, I could have used the entire blog post as the search string and weighed every single word by inverse proportion (thus "the" would count for almost nothing), but the above approximation should behave reasonably closely. Then, the algorithm runs through each other blog post [and thus is O(n) in practice] and computes a similarity score based on how the text in each post matches up with the search string. In this manner, all posts are ranked for relatedness, and the five most relevant items displayed at the bottom of individual posts. ![]() How it all works How does the current version of the related posts algorithm perform? Empirically, not too badly - posts that were written as part of a loose series were generally classed within the top five most related of each other. Obtaining an objective evaluation might not be possible, given as the "relatedness" of posts is partly subjective, and humans may not be able to provide a "gold standard" in actual deployments (try getting a volunteer to read and recall hundreds of posts!). Some weaknesses are easily predicted - one of them is that the exact words must match. Having one post talk at length about apples, and another about oranges and other fruit, may result in zero similarity being detected between them, despite most people likely agreeing that they have more in common than random posts. This could possibly be mitigated by deriving some form of inter-word distance, perhaps based on synonyms, or even how often words appear close to each other in a large corpus. Computationally potentially very expensive, clearly, and thus filed under Future Work. Another problem is that the meaning of the word is not considered. Should a post talking about the apple fruit be related to one that talks about Apple's overpriced PCs? Probably not, but the existing situation is not as bad as it seems - there are other terms to help disambiguate, and if there are very few posts, the apple fruit may well be the most relevant analogue to the Apple Mac anyway. Relativity in football - soon after Eduardo went down all too easily against Celtic (video), Arsenal got a taste of their own medicine when Rooney toppled for a penalty (video, probably by an Arsenal fan) to help United to a probably undeserved victory. Not the first time for Rooney either, as he did it to end Arsenal's 49 game unbeaten run back in 2004. Diving's one of those things; nobody admits to it, some denounce it, others do it more than most, but nearly every player does it if the price is right (or even when it's not quite right, as Eboue did and found out to his consternation later in the same game). I feel Eduardo deserves some sympathy, though. Given that he has just recovered from a horrific tackle that broke his leg in three places, it's understandable that he tries to shun contact (if slightly too much in this case). Taking impacts head-on would be the honest (and macho) thing to do, but can't bode well for a player's long-term career. Unfortunately, getting out of the way for the sake of safety often loses possession of the ball, since the referee usually doesn't care about players being scared away. The lure of reaping the benefits of a foul without suffering the foul itself is obvious, and the players will continue to maintain the charade as long as it is profitable to do so - bookings for simulation are very rare after all. That's part of what makes football so addictive to watch... And finally, relativity in barber prices - I finally made a change from the uncle who had cut my hair since my primary school days (and maybe even before that), visiting the newly-opened Snip Avenue at the local market. Speed aside, it was ridiculously cheap at S$3.80 for my basic cut, compared to the S$8 my usual barber charges. Spent the savings at school on a Scholes keychain almost immediately. ![]() Like they say, everything happens for a reason
|
![]() |
|||||||||||||||||||||||||
![]() Copyright © 2006-2025 GLYS. All Rights Reserved. |