Skip to main content

Blog Archive for evanx during March 2007

For documentation purposes (and perhaps remote support), we need snapshot images of our application. So let's build such support directly into our application itself. Screen Capture: A part of "Gooey Beans, a trilogy in 42 parts" We can capture whole desktop, and save it to a PNG file, as follows.     public void captureScreen(String fileName) throws Exception {  ...
i was just reading an interview with Miguel de Icaza, creator of Mono. He mentions their "Mono Migration Analyzer" tool for users to see the coverage for their (Windows) .NET apps. They collect automated reports generated by this tool to see what features of Mono are missing for most real world applications in the wild, and this is used to prioritise Mono development. He mentions they expect to...
i was just reading a blog "Google Hasn't Improved Search" where the author says, Whenever they release a new product, it does nothing to improve the existing search offering. Whenever they do something to change the existing search offering, it's a minor layout move. Whenever there's a new product in labs, it's no longer outlandish, it doesn't make me think and again; is no improvement or change...
In the HTML Builder prequel, we generated a HTML artifacts for QHyperTextProcessorProperties. So let's meet this QHyperTextProcessor itself, even if it's messy and not generally useful, but just a hack to serve the random purposes of this author, for this so-called Foundation trilogy. Hyper Text Processor: A part of the "Hyper Beans" part of a trilogy in 42 parts" QHyperTextProcessor...
I was just reading a nice tip by Peter Bromberg, in his blog entry Simple XOR Encryption. In Password Hash we used the following delegating class for base-64 encoding. public class Base64 {        public static String encode(byte[] bytes) {        return new sun.misc.BASE64Encoder().encode(bytes);    }  ...
Let's check out some Java Cryptography, considering both symmetric and asymmetric algorithms. We implement a client and server that mimic how SSL works, where the client uses the server's public key to asymmetrically encrypt and transfer a secret key, which is then used by both sides to encrypt messages using a symmetric cipher. Cryptonomical, the secret story: Part of the "Jelly Beans" part...
The Airbus vs Boeing competition has been interesting to watch in recent years. With the increasing number of world travellers, and limited airport capacity, there is a need for a very large carrier eg. 500+ seats. But the market can only support one such product. So Airbus stepped up with the A380 superjumbo, which in a typical three-class configuration supports 555 seats (and 853 in single...
Let's use reflection to set a bunch of configurable values via the command-line using "system properties." System Properties: A part of "Gooey Beans, a trilogy in 42 parts" We put our configurable properties into a separate object, specifying the default values, as follows. public class CommandoDemoProperties {        public String host = "aptframework.net...