|
|
You are viewing the most recent 25 entries.
3rd July 2009
12:14am: According to yr.no, world is going to end tommorow
...at 14:00 Prague time. .
([Un]fortunately, prediction was already updated).
Oh and BTW... weather predictions seem to be quite a way off in the last few days. Always predicting rain... and then there's a sunny day with storm in a distance. (Ok, yesterday we got storm very close, and we did not make it to the stables fast enough -- could not gallop with all the children -- so we were totally wet, but....) I guess storms are hard to predict?
28th June 2009
10:43am: Weather forecasting
As you may know, 'interesting' weather hit czech republic. Heavy rains followed by floods claiming lives. What is more interesting, the weather forecasting went crazy, too. yr.no normally works pretty well, but these days, it oscillates crazily as model is recomputed with new data. (fridays forecast basically said 'saturday mostly nice with light rain in the morning, sunday rainy; saturdays forecast says 'heavy rain in the evening, only light rain on sunday). Now, forecasts got better. We used to use simple 'sunday rainy at 20C' predictions, then medard-online came where you actually see data from the model. Unfortunately browsing them is quite time consuming. yr.nohelps there: you select place and it shows you 3 day of prediction on graph. But it still lacks a lot: it only tells you expected values for the predictions, and not the expected deviations (aka the ammount of certainity in the prediction). "Easy" way to solve that would be to run the simulation few times, slightly varying input variables each time; then dispalying both mean values and deviations calculated. ....but I'm told that's not feasible, because weather forecast is already computationaly intensive, as is. OTOH, weather forecasting is already repeated, once every few hours, when new data become available. The solution may be as easy as displaying the "old" predictions, too: if they are similar to the "new" prediction, the prediction is probably reliable. If not, well... This should be all easy to modify/check if weather modeling software was open source and did not require super computer... is there such beast? (I believe model running medard is opensource, but fortran and the supercomputer is probably needed... plus where to get the source data?) On the similar wein... extremely short term forecasts (< 3 hours) should also be extremely reliable. I'd really like android to use its gps, then warn me if the rain is coming... Maybe it is as simple as predicting cloud motion from weather radar? Is there maybe similar software/service already?
1:08am: android improvements
Android market lists both free software and closed source as 'free'. What is worse, demo versions are market 'free', too. It would be nice to use 'free', $0', 'demo', 'adware' categories, because they are very, very different. On a related note, I now have (slightly stripped down) 2.6.31-rc1 booting on Dream, along with keymap that actually makes it useful. (Unfortunately, I used Zaurus userland, and some init script remaps keys back. I did a bit of grepping, but did not yet have the time to identify the culprit).
15th June 2009
12:15am: HTC dream (T-mobile G1, ADP1) with self-compiled kernel and debian root
...seems to boot after some experiments. Magical command seems to be: ./fastboot -c "console=tty0 root=/dev/mmcblk0p1 rootdelay=5 fbcon=rotate:1" boot /data/l/linux-msm/arch/arm/boot/zImage Unfortunately, only alphanumeric parts of keyboard work, so controlling the shell is quite tricky. Too bad Dream does not have dedicated arrows/escape/tab/ctrl keys...
14th June 2009
10:50pm: Zaurus clock workarounds
Sharp Zaurus c-3000 (aka spitz) is pretty good machine. Basically small linux system with arm cpu; able to self-compile kernel in cca 3 hours. So far so good. It lacks mouse, making copy&paste hard, but... Mine seems to have some stability problems... maybe bad RAM or something? If I leave it sleeping for 8 hours, it will be probably dead; sometimes it wakes with corrupted memory, and I seen corruption during run-time, too (miscompiled kernel). I'm not sure if other spitzes have that problem; collie was/is rock solid. So I need to reboot from time to time, usually at least twice a day. Unfortunately, it seems to lack rtc clock, too. And that means time going backwards, and that means all the hell breaking loose. Like 5 minutes recompile after single file changed turning into 3 hour rebuild or worse. I have created a script that verifies if time of day is later than timestamp on disk, adjusts time of day when it is not, and writes new timestamp. I run it from cron each minute... that seems to work, mostly, but... is there a better solution? Did all the old unix machines have reliable time of day sources?
10:42pm: How do you cp -a, omitting certain directories
Ok, so I'm trying to move / filesystem from zaurus to G1. That should be as easy as cp -a --one-file-system / /mnt/sdcard ... right? No, that would be too easy, zaurus is full of kernel sources, and sdcard is too small. cp must have --exclude option ... right? Wrong, unfortunately. It has many options, but excluding subtree is not there. I did a dirty hack -- mount /dev/zero -t proc /usr/src ... is there better solution?
4th June 2009
1:01pm: make sipdroid usable
Phone that does nothing audible on incoming call is pretty useless, right? So I made a quick hack to at least use vibrating alert. And yes, that means usable SIP phone on android... if you know enough about telephony to set up pbxes.org account.
30th May 2009
11:43am: getting neo1973/openmoko gta01 into usable state
shr unstable from may 9 works quite nicely. It needs gllin 1.1, but with that GSM&GPS just works... Python is also pre-installed, along with pygtk. Good. (It is still a little slow, and still has some bugs like phone vibrating but not playing anything on incoming call, but it is definitely better than state year ago...)
28th May 2009
1:42pm: How to tether two androids together
Get latest wireless tether -- that one works over bluetooth, too. (Unfortunately, it only accepts single client over bluetooth... so you can literally tether two androids together, but no other device will fit). Start it. Then on the other android set up a wifi connection to the access point. AP does not have to be connected anywhere. Then
pand --connect (bt address of the other android)
route del default gw (your gw)
dhcpcd bnep0
At this point, android framework is fooled into believing it has wifi connection, and will connect over bluetooth. Now, if someone knows better way of doing this, let me know.
25th May 2009
11:00pm: Xapps on Android
Using vnc to connect to local server is a neat trick... unfortunately latency is horrible, and G1 lacks many keys neccessary for normal operation... Like ctrl and alt, and like arrows. (Terminal/Connectbot use trackball for ctrl/arrows emulation. Unfortunately, with vnc trackball is used for mouse emulation...) It is good enough for tangogps, but... is there better solution?
22nd May 2009
12:44am: Android only eats 256mA?
...it certainly claims so...
lsusb:
Bus 001 Device 011: ID 0bb4:0c02 High Tech Computer Corp.
...
bLength 18
bDescriptorType 1
bcdUSB 1.02
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0bb4 High Tech Computer Corp.
idProduct 0x0c02
bcdDevice 1.00
iManufacturer 3 HTC
iProduct 2 Android Phone
...
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 55
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 256mA
I'm pretty sure it eats 500mA and there's a bug to be fixed... Also. Just taking 500mA from USB is not nice, as some USB ports (Sharp Zaurus) can only suuply 200mA or so... (Is there some kind of bugzilla where I should file this? Or just complain on IRC?)
16th May 2009
1:25pm: single most useful web page
I have a device here that's basically wifi connected web browser with a small screen. I guess the only reasonable use is to make it display some kind of web page and autorefresh. The display is something like 5" diagonal. So I wonder... what is the most useful web page to leave there? Clock? Some kind of weather situation/weather forecast? Headlines from slashdot? Subjects from lkml? Current info from my calendar? Subjects from inbox? (That would be slightly hard, I don't think I trust that device, nor do I want to do extensive setup). lolcat of the day? Something completely different?
14th May 2009
11:22am: more benchmarking, more androids
...you are right, eee did not contain atom but celeron CPU. And fastest time is now E8500 (3.6?GHz Core2 Duo), 0.090s. In the meantime, I found out that adp1 can be downclocked down to 19MHz. That way my benchmark goes up to "11minutes of cpu time"... It can still tether in such state :-). I'd like to measure power savings from the downclocking; that means either very special battery, or convincing ADP1 to run from AC power alone. Hardware is capable of that, as you can prove by pulling battery in bootloader. Also... I'd like to try forcing 500mA charge even from "AC" power. I have crappy "charge devices from single AA battery" gizmo here, and it seems to work well with for example n6230, but seemed to discharge ADP1, not charge it. I guess it is because it can not supply 1A, voltage goes down, and bad stuff happens...
13th May 2009
10:58pm: android benchmarking
You may recall my quick benchmark: root@amd:~# time factor $[65863223*65863159] 4337959928701457: 65863159 65863223 thinkpad x60 (core duo): 0.591 s eee -- atom @ 630MHz: 1.673 s arima -- athlon64 @ 1.8GHz: 0.536 s zaurus c3000: 21.99 s kohjinsha -- geode @400MHz: 4.062 s Some users posted their results. Best so far are: Xeon E5450 (3GHz): 0.116s m68k at 25MHz: 133seconds. And now some recent results: android @ 384MHz: 28.61s (default) android @ 528MHz: 20.26s ("overclocked") Frankly, I expected ADP1 to do much better. It does not seem ARM architecture progressed significantly from Sharp Zaurus C-3000 times... Yes, overclocking android is as simple as changing scaling_max_freq in /sys/.../cpu0/cpufreq. Oh yes, and black version of T-mobile G1 is better. You can actually see keyboard labels under medium-light conditions, and surface is "softer" to touch -- just feels better.
12th May 2009
11:40pm: tethering androids together?
Getting android to provide wifi using ad-hoc networking is relatively easy (using G1 tether for root users). Unfortunately, android can't connect to ad-hoc network... I guess hardware can do it, but I have to find out how... ...and it makes me wonder: How power-hungry is wifi compared to umts and bluetooth? It seems like android's battery is empty after less than two hours of serving as wifi hotspot. Manually switching hotspot on and off is quite tiresome (and it is very easy to forget to turn it off, resulting in dead battery...). Should I be looking at bluetooth tethering, instead? And last but not least... is there some reasonable way to run shell scripts from GUI? G1 tether basically is a shell script, but having few customizable buttons would be useful. And here's my list of "must have" apps on android: wifi tether for root users, andnav2, geobeagle, sipdroid, connectbot.
11th May 2009
1:06pm: Getting public transport routing to work with openstreetmap & navit
First, you'll need timetables for your city in .tt format. .tt is very simple text format, basically specifying when and where bus/tram lines go. timetab projects has tools for working with those, and can get the data for czech cities, trains and long distance busses.
.tt file consists of many records such as these:
# 491
6:37 0.000000 Mukarov
6:39 0.000000 Mukarov, skola
6:41 0.000000 Mukarov, Zernovka
6:44 0.000000 Stihlice, Doubravcicka
6:46 0.430000 Doubravcice, Cihadla
6:48 0.430000 Doubravcice
6:49 0.430000 Doubravcice, bytovky
6:53 0.430000 Mrzky
6:55 1.830000 Tismice, MS
6:56 1.830000 Tismice, bytovky
6:59 1.830000 Cesky Brod, sidliste
7:00 1.830000 Cesky Brod, Na Bulance
7:01 3.560000 Cesky Brod, Jungmannova
7:01 3.560000 Cesky Brod, Jana Kouly
7:03 3.560000 Cesky Brod, zel.st.
D2009-03-02 121 17:1f
As you can probably decipher, bus 491 goes at 6:37 from Mukarov to Cesky Brod, zel.st., where it is at 7:03. The strange D line at the end is a (RLE-compressed) bitmap of days when this bus goes; this one goes Mo-Fr, with no exceptions.
Then, you can use tools in timetab project (navit/ directory) and .osm source data to create .osm file combining map and time tables. Public transport connections are then represented by records such as: (I'm using ( instead of <, and final version will differ quite a bit; opening_hours will have to be in proper format for osm; highway will probably get special tag such as "public transport", etc).
(way id='1107')
(nd ref='355322132' /)
(nd ref='319063834' /)
(tag k='highway' v='path' /)
(tag k='travel_time' v='2' /)
(tag k='name' v=' 491' /)
(tag k='opening_hours' v='teleport 6:25 6:27!2009-03-02 121 17:3f' /)
(/way)
Now, all you need is to convert merged .osm file into .bin file, and run modified navit from public_transport branch. Because the way search works (completely backwards), you have to specify time when you want to be at destination at the command line -- such as
navit/navit -D 29.4.2009 -T 15:45 , and you have to select Vehicle=Demo Pedestrian in the menu before selecting destination. Then you select destination and current postion, and routing should work -- including public transport -- as long as you have right timetables and as long as osm contains bus/tram/train stops around area you are travelling.
6th May 2009
11:37pm: Reasonable way to keep contacts data
Long time ago, I had my contacts in single text file. It was something like "First LastName number", and I had a script to dial number based on substring. Of course, I could add unstructured information to it (like opening hours of that shop, etc), and it was sorted by me -- not alphabetically -- so I could group together people that "belonged together".
Unfortunately, then a cellphone came, and all my contacts went to its memory. Now I get bunch of vcards that are pretty hard to get off the telephone (opensync works with 6151) but are pretty much impossible to push to 6230 (6230 is buggy and reboots when it sees opensync; new opensync should solve it), are pretty much impossible to get on the android, are hard to edit, lack logical grouping, and are all mess. (I don't even _know_ last names of some of my contacts.)
OTOH I'm carrying linux machine almost all the time these days... so maybe it would be possible to solve that mess? I'd love having something like magicpoint (call it magiccontacts): minimally structured text file, that can be postprocessed to get data for various devices. Is there something like that? Or is everyone happy with vcards? Or is something more structured but containing some kind of tags to group people toggether the solution?
3rd May 2009
11:54am: Lots of free time
Commit ef35ce231b3cb2a4b1808e826da263bf37ccb38a says:
...
index 2b39168..5e07367 100644
--- a/CREDITS
+++ b/CREDITS
@@ -2166,7 +2166,6 @@ D: Initial implementation of VC's, pty's and select()
N: Pavel Machek
E: pavel@ucw.cz
-E: pavel@suse.cz
D: Softcursor for vga, hypertech cdrom support, vcsa bugfix, nbd
D: sun4/330 port, capabilities for elf, speedup for rm on ext2, USB,
D: work on suspend-to-ram/disk, killing duplicates from ioctl32
diff --git a/MAINTAINERS b/MAINTAINERS
...
(Ok, I should really update the CREDITS entry; it contains lots of obsolete stuff. I have been playing with small devices -- notebooks/zaurus PDAs/cellphones for last few years...)
And that means that I have a lot of free time now. It is a pity; SUSE was a fun place to work at. It also means I'm searching for a new job now...
14th April 2009
4:46pm: Android tethering
Android wifi tether is pretty useful application: it is significantly easier to use than running shell scripts by hand, and somehow works better, too. Unfortunately, G1 has some problems with tethering. Namely, if you have poor signal, and use USB connection for charging, it is unable to keep the battery charged, and will shutdown itself without warning after few hours...
(Also, being able to use infrastructure -- not ad-hoc -- mode for wifi tether would be nice. I'm not sure about access point support (that would be very cool), but tethering existing AP would do.)
On a related note, 2.6.30-rc1 seems to support ad-hoc on intel 3945ABG wifi. It did not work in 2.6.29.... so it is not that huge problem now.
11th April 2009
11:15am: gcc bites
Just save it to a file, gcc file.c, ./a.out and ...
#include <stdio.h>
int main(int argc, char *argv[])
{
char a[9000000];
printf("gcc is wonderful\n");
}
No, gcc is not wonderful. I do believe that this code is valid C, and that it should work. Yes, it could be worked around for any given size of array in the kernel, but I guess gcc should just know what it is compiling for and throw compilation error -- or work around the problem using malloc/free internally. And yes, I have seen the same problem bite unexpectedly in real life. When combined with variable-length-array gcc extension, it is quite deadly.
9th April 2009
1:16pm: Fighting with navit
Long time ago, timetab project was created to allow searching for public transport connections. It worked, but as wireless connectivity was getting more common, it started to be easier to just do the online searches. But now I'd like to do something better: GPS with pedestrian routing, that would know about public transport and use it when it helps. Begginings of that code are in timetab CVS in navit/ directory; unfortunately the code was easy to write but definitely is not easy to debug :-(.
1:03pm: mujmail should be usable
...now even with SSL and threading. Of course, the fact that project was accepted as finished by school does not mean it does not contain bugs etc, but well.. it is still the best j2me email client. It is also GPL. Now... is there usable email client for Android? The built-in thing has weird controls, no threading, "reads" email on server even when user did not see them, and looses communication in a way that can not be reconnected way too often. ssh to server then mutt is more usable then that, and I was already thinking about mujmail on it...
4th April 2009
11:56pm: If you can't lift this motorbike, it is not for you
Ok, so we had 10 years old girl at the stables, wanting to ride big horse -- not a pony. At the end she got good old gelding, cca 1m55, and went with me, and nothing bad happened: I picked the route pretty carefully, and she was mostly able to control the horse. I tried to use the 'if you can't mount the horse without help, the horse is not for you' test, but she somehow managed to pass. I had a problem with little girl (12 years, IIRC) on this horse before; at junction near the stables, I turned my horse right but her horse went left... with the girl. They got out of my sight, trotting and there was nothing I could do to help. Pretty bad feeling. (Fortunately, few long minutes after that, she returned, still on the horseback). Is there some rule of thumb when to say 'sorry, you are too small / too light / not strong enough for this beast'? Maybe some law/regulation? [I tried to convince her mother; she was almost too scared to hold the horse but did not stop her daughter from riding him. And yes, I could have refused to go; but that would simply meant someone else would go.] Out of interest, is there the reverse rule, too? I had heard stuff like "weight of rider should not exceed 1/5 weight of pony" to stuff like "weight of rider should not exceed 1/3 weight of pony" and "weight of rider should not exceed weight of pony" :-).
Powered by LiveJournal.com
|
|