Posts

Xperia X10 mini pro passive scanning

I've just realized that stock Android 2.1 on the U20i (so called "mimmi") discovers Wifi networks by  passive scanning , and only sends out a few probe requests as an acceleration in case of opening the network list menu after waking up. On the other hand, it seems that both Pulse mini (Huawei U8110 with Android 2.1) and Mango (Xperia mini pro SK17i with Android 4.0.4) use normal active scanning. Common wisdom tells you that passive scanning potentially uses more power. This can happen because the receiver's low noise amplifier and processor can use as much power as the transmit circuit. This is especially plausible because maximum transmit power usually shouldn't exceed 100mW anyway (actually 20dBm EIRP ) which is in the ball park of the wireless chip's total consumption already, let alone the whole chipset or mobile device. Active probing involves sending out a probe request on each channel and listening for a response for a limited short interval. I guess...

How to make wise use of public key cryptography

The correct usage of GnuPG (public key cryptography) is to offer a download link of your public key in every channel you communicate and also include your full fingerprint on your business card. It doesn't make sense in this combination to distribute either your key ID or your fingerprints electronically, because it opens up all kinds of bad practices involving trusting the unverified and confusion. Key servers and the web of trust itself erodes your privacy as your social relationships are publicly revealed, and your e-mail address is also opened up for easy spamming. However, a key server does make initial contact easier if you forgot to provide a link on the business card and it also enables key updates if you do use the web of trust by mutual key signing. No single solution is perfect for everybody. Note that both the PGP protocol and GnuPG internally reference a so-called 64-bit long key ID, however many tutorials erroneously use only the short key ID instead. Also note t...

Public key

I have the fingerprint with me on paper slips if you'd like to verify any time. I also have a downloadable version . -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.4.11 (GNU/Linux) mQENBFP4fKsBCADSCOuM1/Dtd9f52Pp0ZYVmjB4KkXisVpw5Qq3rEdXisC+xtreZ jwp0FKZnYnAudTFXHE1ZLFbFgO7A05d1N+JHJIz0ZRcYfG3mS2NO+J1yHBMZsq+n Z5HI+ZNpw3vONIVBBJM11e4hRNQ37HLOA78lUGgpf32J50BbAQ+xnncs1hr/4hvS v0EJDShbHZvBSQCxu73r7IE68ASZeTdnHKobhdWTOVza1xE6dOj/3EnB8pL2Ekno eckjOq2TxoUQCFKQjczw5cklqZjwjWHxSGgNZD71YSj/FXgd6twSDgyMfEg4Hs57 PPRfDdUcG9nsna5xDugm9/aXIejm0W9y8sINABEBAAG0O1Rob21hcyBOYWd5IChl bWFpbCBzaGExOiBhMzY3Zjc0MzU3MzVjNTA3NDdiMDAyNjU1MWJhZGYzYTIpiQE4 BBMBAgAiBQJT+HyrAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRDy2MPO 03KDbXvACACR9dvQHt6SFJd7qE/uBO24hWYh56CBHRHWpIfT5/V1n0mdNNq8pf4/ KcqISQXQK+t3EijwUWgDVfkiy+eUq9yjCCSePsmg7t6nxZEyisikf6f1atZjA6fH S/+QvqPCG9CS9bIMdEpBrt2vehfY/vTEPOvIVWV0J0IhzxI6BzaTbWansmroRZpl WIyGnFkKdqr4tatcUSDNveA+LSW1k1Psi5AyZJ3oe2nNPBbVv+5FOGCpNE2UvVBs 5Zv0vNwMYdMt7Gc74uVSxDt...

GmailThread ID is evil

Seems like GmailThread.getId() isn't always persistent. What good is a primary key which can occasionally change its value ? I've now verified that this behavior is so unexpected that it is documented as well. The recommended workaround is to not use the Thread ID, but use the ID of each message instead. However, this gets messy as if you want a persistent reference to a thread, you need to do the following dance: var id = thread.getMessages()[0].getId(); // serialize id, and read it back later var thread2 = GmailApp.getMessageById(id).getThread(); Which kind of defeats the purpose of not needing to do slow fetching of all messages of each thread to draw conclusions about the thread itself  when processing a search result. Yes, I'm trying to simulate Gmail filters by hand and need to watch out for quotas. I think I'm going for a hack based on getFirstMessageSubject() and/or getPermaLink(). And before you ask: no, there is no such thing as getThreadByPermaLink()...

Free Python web hosting wanted

I'm still considering which of these would be the most preferred for a beginner showing off talent: HelioHost unlimited CPU, RAM, MySQL, bandwidth, 500MB disk, 2 cron jobs/day PythonAnywhere 100sec/day prioritized CPU, 512MB RAM, 1 daily task, low bandwidth, Internet whitelist OpenShift 3 gears of 1GB disk and 512MB RAM each AlwaysData 64MB RAM, 1GB/month traffic, 10MB disk, non-commercial use only

trAInsported - the programming game

Image
If you ever felt that Transport Tycoon or Railroad Tycoon made you do too much micromanagement, this is just the kind game for you. In trAInsported, your mission is to write an AI that optimizes traffic better than your opponents. Although, it makes me sad to see such an influential project being hosted via vaporware methods. Setting up any kind of free shared hosting and embedding the small dynamic scoreboard and match parts via an iframe would be trivial. Caching daily stats would also be a good idea. A simple solution would be to use github.io to host the site directly from the repository, which would be both durable and scalable. For the record, if anything happens to the project, here are some relevant pointers: Official (dynamic DNS) site and scoreboard  supposedly running on a Raspberry Pi Source code, documentation, wiki at  github Forum at  indiedb Introduction at  moddb History at  yellloh Summary at  love2d Featured on  indiega...

Privacy Policy

I collect none of your personal information other than the comments that you type in response to a post. You retain your copyright to your comments, but I reserve the right to remove any or all of your comments without reason. I also reserve the right to reply. :) Google is hosting this blog for me via the Blogger infrastructure. Note that I am given access to limited statistics from some of the basic data, like the web browser you use and such. Please refer to Google's privacy policy for more information on the kind of information they gather. http://www.google.com/intl/en/policies/privacy/