-
Proxying pypi / npm / etc for fun and profit!
Package managers for source code (like pypi, npm, nuget, maven, gems, etc) are great! We should all use them. But what happens if the central repository goes down? Suddenly all your continious builds / deploys fail for no reason. Here is a way to prevent that: Configure Apache as a caching proxy fronting these services.…
-
Cleaning up Google AppEngine Mapreduce Jobs
Do you use the Google MapReduce library on AppEngine? And do you have a lot of completed tasks which clutter your dashboard? Use the JS below by pasting it into your developer console to clean them up! (use it at your own risk, no warranty is provided :-)) schedule = function() { window.setTimeout(function() { var…
-
Is hand-writing assembly still necessary these days?
Some time ago I came over the following article: Fast CRC32 in Assembly. It claimed that the assembly implementation was faster than the one implemented in C. Performance was always something I’m interested in, so I repeated and extended the experiment. Here are the numbers I got. This is on a Core 2 Duo T5500…
-
Update to the Blogger Tag Cloud
A small PSE (Public Service Announcement): if you were using the Blogger Tag Cloud I’ve put together based on the WP-Cumulus plugin, you might have noticed that it stopped working some time ago (I’m not entirely sure when, since I didn’t notice it, until a reader commented and brought it to my attention – thanks…
-
Updated YARPG
This has been sitting in my queue for some time: almost four years ago (it’s incredible how time flies!) – amongst the first posts I’ve published on the blog – I’ve written a random password generator in Javascript which I’ve named YARPG (for “Yet Another Random Password Generator”). The advantages to using it are the…
-
Youtube gadget generator
Some time ago I posted about how the Google Gadget code for Youtube seems to be borked up. Now it seems that they completely removed the option from the YouTube pages, for whatever reason, but the old code still seems functional. So below you can find a small Javascript which generates the equivalent code for…
-
A new security provider
I found out about Dasient via the presentation they did at Google (which you can see embedded below). Their angle seems to be (although this probably will change – them being a young company) that: we check your rating at Google / McAfee / Symantec and if they say that you are bad, we will…
-
Pulling a Hanselman
User interface / interaction design 101: if you want something, the least you can do is to ask for it. So I decided to take a page out of Scot Hanselman’s book (a blog worth reading BTW if you are interested in programming – it has an emphasis on Microsoft specific technologies, but other topics…
-
The right way to embed
I occasionally rant about “web 2.0” services which want me to embed Javascript on my page to get the functionality. Besides them being a security risk (because they can change the JS on their servers at any time and p0wn all my visitors – and it doesn’t have to be malice on their part –…
-
More benchmarking in the 127.0.0.1 vs 0.0.0.0 issue
I’ve done a little more benchmarking in the 127.0.0.1 vs. 0.0.0.0 issue: <script>var start=new Date();</script> <script src="http://ad.a8.net/foo.js"></script> <script src="http://asy.a8ww.net/foo.js"></script> <script src="http://a9rhiwa.cn/foo.js"></script> <script src="http://www.a9rhiwa.cn/foo.js"></script> <script src="http://acezip.net/foo.js"></script> <script>var stop=new Date(); alert(stop.getTime() – start.getTime());</script> What this code does, is to try to include javascript files from five sites and measure the time it takes to process these tags.…