Sunday 28 February 2010

Atheism

Quotes

From Blackmask Online: "From the days of empire, when men were men, and Christians were nervous."

GOD, Inc.

Benjamin Franklin's counterblast to religion and woolly thinking.

The Net Atheists

So, you ask, what do I do to become a Net Atheist? It's simple. Simply copy the gif below, put it on your home page, link it here, and you're in! Hey, it's free, and it's time we stand up
together and say: "Yeah, I'm an atheist and I'm sick of your crap!"
There are lots of Net Atheists out there. Here are a few:Atheist, Freethought, and Secular Humanist Connections,

Saturday 27 February 2010

Blogger UI language, a message to the Blogger admins.

How to ensure that Blogger complies with the browser language settings?

I am currently in Poland but my  browser language preference is en-gb/en.  But blogger sows me the UI in Polish.  When I return home I will be in Norway and presumably Blogger will be equally stupid and show me the UI in Norwegian.  Please be so kind as to answer questions on the forum, and also to adhere to the sensible practice of giving the UI in the requested language not the one of the region you think the user is in. 

Friday 26 February 2010

Windows Explorer Context Menu

If you ever need to open a command window in a directory in Windows this tool is very handy: http://www.gabrieleponti.com/downloads/sendtotoys.exe.


Sunday 21 February 2010

Cafe Bambus

Open wifi spot in Krakow, corner of Rynek Glowny. http://www.cafebambus.pl/

Saturday 20 February 2010

/home/kj/WebWiki/tmp/.blogger-post-ids

{'Atheism.html': ('41897567975506999', 1266003884.0), 'CellTracking.html': ('5168038773525965911', 1266003846.0), 'BooKs.html': ('9161002069185268828', 1266003832.0), 'CellTrackingCode.html': ('2655786244342581726', 1266003848.0), '.blogger-post-ids': ('2276068461689167402', 1266435579.0), 'BasicLatin.html': ('7649725491197170642', 1266003838.0), 'Adler_001.html': ('9026165173300824944', 1266003865.0), 'CodeQuality.html': ('9078676253123672756', 1266003872.0)}

Thursday 18 February 2010

Microsoft Team Foundation Server

Some notes and links.
  • Using WinMerge with TFS
  • http://www.benday.com/dubbelbock/StoredPasswords/WinXpStoredNetworkCredentials.pdf
  • http://blogs.msdn.com/bharry/archive/2008/10/01/preview-of-the-next-tfs-power-tools-release.aspx
  • TFS PowerTools
  • http://blogs.msdn.com/buckh/articles/CommandLineSummary.aspx
  • http://bloggingabout.net/blogs/mglaser/archive/2006/12/01/Ten-Must_2D00_Have-Tools-Every-TFS-User-Should-Download-Now-Part-I.aspx
  • http://bloggingabout.net/blogs/mglaser/archive/2006/12/12/Ten-Must_2D00_Have-Tools-Every-TFS-User-Should-Download-Now-Part-II.aspx



Wednesday 17 February 2010

/home/kj/WebWiki/tmp/CellTrackingCode.html

Cell Tracking Code
-->

Cell Tracking Code

/ index / CellTracking

This page is just a list of links to snippets of code used during development.

Simple Proof of Concept

Just display the cell info at intervals.

This is a modified version of Jurgen Scheible's location.py.

cellinfo1.py

/home/kj/WebWiki/tmp/BasicLatin.html

Basic Latin
-->

Basic Latin

According to Tolle, lege! 1400 words cover 80% of all Classical Latin text. So here is a copy of the list from that site. For my own dictionary see this document LatinDictionary. The Tolle, lege! site has disappeared and the link now points at a local mirror on my own hard disk (useful to me but not to you, sorry) but there are links on the web to other pages by the same author. Try Latin Poetry by Vojin Nedeljkovic for something a little newer than the usual texts.

Tolle, lege!

The Fourteen Hundred

Did you know that being familiar with approximately 1400 Latin words enables you to read almost any Latin text without having to use the dictionary more than a couple of times per page? Those 1400 words make up what is called the basic Latin vocabulary. At least 80 per cent of any Latin text is made of words belonging to the basic vocabulary.

The following word list is based mainly on E. Habenstein-E. Hermes-H. Zimmermann, Grund- und Aufbauwortschatz Latein, Stuttgart: Ernst Klett Schulbuchverlag 1990. (The book itself is very intelligent and quite handy: a great relief for the beginner.) You may wish to keep this list for future reference, so that you can either (1) read it and mark the entries you do not recognise, then build up your vocabulary by learning those first, or (2) use it while you work on a Latin text to decide whether a word you are looking up in the dictionary deserves special attention.

I (KJW) have added the output from Perry Rapp's Verba (William Whitaker's Words) where I have used this list and Verba to help me translate.


A B C D E F G H I J K L M N O P Q R S T U V W X Y Z


A

a /ab /abs

abesse

abire

absens

abstinere

accedere

accidere

accipere

accusare

acer

acerbus

acies

ad

addere

adducere

adeo (adv.)

adesse

adhibere

adhuc

adimere

adipisci

adire

aditus

adjungere

adjuvare

administrare

admirari

admittere

admodum

admonere

adoriri

adulescens

adulescentia

adventus

adversus (adj.)

adversus (prep.)

aedes

aedes (~ium)

aedificare

aegre

aeque

aequus

aer

aes

aestas

aestimare

aetas

afferre

afficere

affirmare

ager

agere

aggredi

agitare

agmen

ajo

alere

alibi

alienus

aliquando

aliquanto

aliquantus

aliqui

aliquid

aliquis

aliquot

aliter

alius

alter

altitudo

altus

amare

ambitio

amicitia

amicus

amittere

amnis

amor

amplius

amplus

an

anceps

angustus

anima

animadvertere

animus

annus

ante

antea

antequam

antiquus

aperire

apparere

appellare

appetere

aptus

apud

aqua

arbitrari

arbor

arcere

arcessere

argentum

arguere

arma (~orum)

ars

artificium

arx

ascendere

asper

aspicere

assequi

at

atque / ac

attingere

auctor

auctoritas

audacia

audax

audere

audire

auferre

augere

auris

aurum

aut

autem

auxilia (~orum)

auxilium

avaritia

avertere

avia

avus


B

beatus

bellum

bene

beneficium

bibere

bis

bonus

brevis


C

cadere

caedere

caedes

caelum

calamitas

calidus

campus

capere

caput

carere

carmen

carus

castra

casus

causa

cavere

cedere

celebrare

celer

censere

centum

cernere

certamen

certare

certe

certiorem facere

certo

certus

ceteri

cingere

circa

circiter

circum

civilis

civis

civitas

clam

clamare

clamor

clarus

classis

claudere

cliens

coercere

cogere

cogitare

cognoscere

cohors

colere

collega

colligere

collis

collocare

colloqui

comes

commemorare

commendare

committere

commodus

commovere

communis

comparare

comperire

complere

complures

componere

comprehendere

conari

concedere

concidere (i

short)

concilium

concordia

concurrere

concursus

condere

condicio

conducere

conferre

conficere

confidere

confirmare

confligere

conjicere

conjungere

conjuratio

conjux / conjunx

conquirere

consequi

conservare

considere

consilium

consistere

conspectus

conspicere

constans

constare

constituere

consuescere

consuetudo

consul

consularis

consulatus

consulere

consumere

contemnere

contendere

contentio

continere

contingere

continuus

contio

contra

convenire

conventus

convocare

copia

copiae (~arum)

cor

coram

cornu

corpus

corrumpere

cottidianus

cottidie

cras

creber

crebro

credere

crescere

crimen

crudelis

cujusmodi

culpa

cum (conj.)

cum (prep.)

cum
ADV POS, ADV POS, ADV COMP, ADV SUPER when, at the time/on each occasion/in the situation that; after; since, although
cum
ADV POS, ADV POS, ADV COMP, ADV SUPER |as soon; while, as (well as); whereas, in that, seeing that; on/during which;
cum
PREP ABL with, together/jointly/along/simultaneous with, amid; supporting; attached;
cum
PREP ABL
under command/at the head of;
having/containing/including; using/by means of;

cunctus

cupere

cupiditas

cupidus

cur.cura

curare

curia

currere

cursus

custos


D

damnare

dare

de

dea

debere

decedere

decem

decernere

decimus

declarare

dedere

deducere

deesse

defendere

deferre

deficere

deinde

delectare

delectari

delere

deligere

demonstrare

denique

deponere

deportare

descendere

deserere

desiderare

desinere

desperare

deus

dexter

dicere

dies

differre

difficilis

dignitas

dignus

diligens

diligentia

diligere

dimittere

discedere

discere

disciplina

disputare

dissimilis

dissimulare

dissuadere

diu

diversus

dives

dividere

divinus

divitiae (~arum)

divus

docere

dolere

dolor

domina

dominus

domus

donare

donum

dormire

dubitare

dubius

ducenti

ducere

dulcis

dum

dummodo

duo

duodecim

durus

dux


E

e / ex

edere (initial e

long)

edere (initial e

short)

educere

efferre

efficere

effugere

egere

ego

egredi

egregius

ejusmodi

emere

enim

eo (adv.)

epistula

eques

equitatus

equus

erga

ergo

erigere

eripere

errare

esse

et

etenim

etiam

etiamsi

etsi

evenire

eventus

excedere

excipere

excitare

exemplum

exercere

exercitus

exire

existimare

exitus

expellere

experiri

explorare

exponere

expugnare

exsilium

exspectare

exstinguere

extemplo

exterior

extra

extremus


F

fabula

facere

facilis

facinus

factum

facultas

fallere

falli

falsus

fama

familia

familiaris

fas est

fateri

fatum

fere

ferme

ferox

ferre

ferrum

fidelis

fides

fieri

filia

filius

fines (~ium)

fingere

finis

finitimus

firmare

firmus

flagitium

flamma

flectere

flere

florere

fluctus

fluere

flumen

foedus (~eris)

forma

formosus

fortasse

forte

fortis

fortuna

forum

frangere

frater

fraus

frequens

frigidus

frigus

fructus

frui

frumentum

frustra

fuga

fugere

fundere

funus

furor

furtum


G

gaudere

gens

genus

gerere

gladius

gloria

gradus

grandis

gratia

gratus

gravis

gravitas


H

habere

habitare

haud

heri

hic

hic (adv.)

hiems

hinc

hodie

homo

honestus

honor

hora

horrere

hortari

hospes

hostis

huc

hujusmodi

humanitas

humanus

humilis

humus


I

ibi

idcirco

idem

ideo

idoneus

igitur

ignarus

ignis

ignorare

ignoscere

ignotus

ille

illuc

illustris

imago

imminere

immo

immortalis

impedimenta

(~orum)

impedimentum

impedire

imperare

imperator

imperium

impetrare

impetus

imponere

improbus

in

inanis

incendere

incendium

incertus

incipere

incitare

includere

incolere

incolumis

incredibilis

inde

indicium

indignus

inducere

inferior

inferre

infirmus

infra

ingenium

ingens

ingredi

inimicus

iniquus

initium

injuria

inopia

inquit

insidiae (~arum)

insignis

instare

instituere

institutum

instruere

insula

integer

intellegere

intendere

inter

interdum

interea

interesse

interficere

interim

interior

interire

intimus

intra

intro

intus

invenire

invidere

invidia

invitus

ipse

ira

ire

is

iste

istic

istinc

istuc

ita

itaque

item

iter

iterum


J

jacere (2nd)

jacere (3rd)

jactare

jam

jubere

jucundus

judex

judicare

judicium

jugum

jungere

jurare

jus

jus jurandum

jussu

justus

juvare

juvenis

juventus


L

labor (~oris)

laborare

lacrima

laedere

laetari

laetus

lapis

latus (~eris)

laudare

laus

lavare

lavari

legatio

legatus

legere

legio

lenis

levare

levis (e short)

lex

libenter

liber (~a ~um)

liber (libri)

liberare

liberi (~orum)

libertas

libido

licet

lignum

lingua

littera

litterae (~arum)

litus

locare.locus

longe

longus

loqui

ludere

ludus

luna

lux

luxuria


M

magis

magistratus

magnitudo

magnopere

magnus

male

malle

malus (~a ~um)

mandare

mane

manere

manus

mare

mater

materia

maturus

maxime

mediocris

medium

medius (~a ~um)

meminisse

memor

memorare

memoria

mens

mensis

merere / ~ri

merito

meritum

metuere

metus

meus

miles

militaris

militia

mille

minari

minime

ministrare

minuere

minus

mirari

mirus

miscere

miser

misericordia

mittere

modicus

modo

modus

moenia (~ium)

moles

molestia

molestus

mollis

monere

mons

monstrare

monumentum

mora

morari

morbus

mores (~um)

mori

mors

mortalis

mos

motus

movere

mulier

multitudo

multo (adv.)

multum

multus

munire

munitio

munus

murus

mutare


#

N

nam

nancisci

narrare

nasci

natio

natura

navis

ne

ne .. quidem

necessario

necessarius

necesse est

necessitas

necne

nefarius

nefas est

negare

neglegere

negotium

nemo

nequaquam

neque / nec

nescire

neve / neu

nihil

nihilo

nihilominus

nimis

nimium

nimius

nisi / ni

niti

nobilis

nobilitas

nocere

noctu

nolle

nomen

nominare

non

non jam

non modo

non solum

nondum

nonne

nonnulli

nonnumquam

nos

noscere

noster

notus

novem

novisse

novus

nox

nudus

nullus

num

numen

numerus

numquam

nunc

nuntiare

nuntius

nuper

nusquam


O

ob

objicere

oblivisci

obscurus

obses

obsidere

obtinere

obviam

occasio

occidere (i long)

occultare

occultus

occupare

occurrere

octo

oculus

odisse

odium

offendere

offerre

officium

olim

omittere

omnino

omnis

onus

opera

opes (~um)

opinari

opinio

oportet

oppidum

opportunus

opprimere

oppugnare

ops

optare

opus

opus est

ora

orare

oratio

orator

orbis

ordo

origo

oriri

ornamentum

ornare

os (oris)

ostendere

otium


P

paene

palam

par

parare

parcere

parens

parere (2nd)

parere (3rd)

pariter

pars

partim

parum

parvus

passus

pater

patere

pati

patres (~um)

patria

patrius

pauci

paulatim

paulo

paulum

pauper

pax

pectus

pecunia

pecus

pedes (~itis)

pellere

pendere (2nd)

pendere (3rd)

per

perdere

perditus

perfectus

perferre

perficere

pergere

periculum

perire

permanere

permittere

pernicies

perpetuus

persequi

perspicere

persuadere

perterrere

pertinere

perturbare

pervenire

pes

petere

petitio

pietas

pingere

pius

placere

plane

plebs

plenus

plerique

plerumque

plus

poculum

poena

polliceri

pondus

ponere

pons

populus (o short)

porta

portus

poscere

posse

possidere

post

postea

posterus

postquam /

posteaquam

postremo

postremus

postridie

postulare

potens

potentia

potestas

potiri

potius

prae

praebere

praeceptum

praecipere

praeclarus

praeda

praeesse

praemium

praesens

praesertim

praesidium

praestans

praestare

praesto esse

praeter

praeterea

praeterire

praetor

praetura

preces (~um)

premere

pretium

pridie

primo

primum

primus

princeps

principium

prior

priusquam

privatus

pro

probare

probus

procedere

procul

prodere

prodesse

producere

proelium

profecto

proferre

proficisci
proficisc.eretur V 3 1 IMPF PASSIVE SUB depart, set out; proceed;
progredi

prohibere

promittere

promptus

prope

propinquus

propior

proponere

proprius

propter

propterea

providere

provincia

proximus

prudentia

publicus

pudor

puella

puer

pueri (~orum)

pugna

pugnare

pulcher

purus

putare


Q

qua (adv.)

quaerere

quaeso

qualis

quam

quamobrem

quamquam

quando

quanto

quantum

quantus

quare

quartus

quasi

quattuor

quemadmodum.queri

qui (quae quod)

quia

quicumque

quid

quidam

quiddam

quidem

quidquam

quidque

quidquid

quidvis

quies

quietus

quin

quinetiam

quinque

quis

quisquam

quisque

quisquis

quivis

quo

quoad

quod

quodammodo

quominus

quondam

quoniam

quoque

quot

quotannis


R

rapere

ratio

recens

recipere

recitare

rectus

reddere

redire

reditus

reducere

referre

reficere

regere

regio

regius

regnum

religio

relinquere

reliquus

remanere

removere

repente

repentinus

reperire

repetere

reprehendere

requirere

reri

res

res adversae

res familiaris

res novae

res publica

res secundae

resistere

respondere

restituere

retinere

reus

reverti

revocare

rex

ridere

ripa

rogare

ruina

ruinae (~arum)

rumor

rumpere

rursus


S

sacer

sacerdos

sacrum

saeculum

saepe

saevus

salus

salutare

sanctus

sane

sanguis

sanus

sapiens

sapientia

satis

saxum

scelus

scientia

scilicet

scire

scribere

se

se conferre

se gerere

se jactare

se recipere

secundum

secundus

secus

sed

sed etiam

sedere

sedes

semel

semper

senator

senatus

senectus

senex

sensus

sententia

sentire

septem

sequi

sermo

sero

servare

servire

servitus

servus

severus

sex

si

sic

sicut

significare

signum

silentium

silva

similis

simul

simulacrum

simulare

simulatque /

simulac

sin

sine

sinere

singularis

singuli

sinister

sistere

situs (~a ~um)

sive / seu

societas

socius

sol

solere

solitus

sollicitare

sollicitus

solus

solvere

somnium

somnus

soror

sors

spatium

species

spectare

sperare

spes

sponte

stare

statim

statua

statuere

status

sternere

struere

studere

studiosus

studium

stultus

suadere

suavis

sub

subire

subito

subitus

subjicere

subsidium

succedere

sumere

summus

sumptus

super

superare

superbia

superbus

superesse

superior

supplicium

supra

surgere

suscipere

suspicari

suspicere

suspicio

sustinere

suus


T

tabula

tacere

talis

tam

tamen

tametsi

tamquam

tandem

tangere

tanto

tantum

tantummodo

tantus

tardus

tectum

tegere

telum

temere

temperare

tempestas

templum

temptare

tempus

tendere

tenere

tenuis

ter

tergum

terra

terrere

tertius

testimonium

testis

timere

timor

tolerare

tollere

tot

totus

tractare

tradere

traducere

trahere

trajicere

trans

transferre

transire

tres

tribuere

tribunus

triginta

tristis

tu

tueri

tum

tumultus

tunc

turba

turpis

turris

tuto

tutus

tuus


U

ubi

ubi primum

ubicumque

ubique

ullus

ultimus

umquam

una

unda

unde

undique

universus

unumquidque

unus

unusquisque

urbs

urgere

usque

usus

ut

uter

uterque

uti

utilis

utilitas

utinam

utique

utrum

uxor


V

vacuus

valde

valere

valetudo

validus

varius

vas

vehemens

vehere

vehi

vel

velle

velut

vendere

venenum

venire (venio)

ventus

verbum

vereri

vero

versari

versus (~us)

vertere

verum (conj.)

verum (~i)

verum etiam

verus

vester

vestigium

vestis

vetus

via

victor

victoria

videlicet

videre

videri

vigilare

vigilia

viginti

villa

vincere

vinculum

vindicare

violare

vir

vires (~ium)

virgo

virtus

vis

visere

vita

vitare

vitium

vivere

vivus

vix

vocare

voluntas

voluptas

volvere

vos

vox

vulgo

vulgus

vulnerare

vulnus

vultus

/home/kj/WebWiki/tmp/BooKs.html

Boo Ks
-->

Boo Ks

De Bello Gallico I

Ex Libris Whitefoot

Edited by Colin Ewan, Bristol Classical Press, 1957. This is a very good book. The vocabulary section has almost all the words used in the text.

De Bello Gallico at Intra Text

The Intra Text library has a marvellous collection of texts on line at http://www.intratext.com/. De Bello Gallico is at http://www.intratext.com/IXT/LAT0044/$1.htm

These texts all have complete concordances so that you can see every usage of every word. Unfortunately the concordance treats each form of a Latin word as a distinct word.

Lynn Nelson

Lynn Nelson's word list is available on all sorts of web pages.

Kevin Cawley

Notre Dame University

Web Site: http://www.nd.edu/_archives/latgramm.htm

EUP Latin English Dictionary

Ex Libris Whitefoot

Teach Yourself, EUP Latin-English Dictionary and Concise Latin Grammar.

/home/kj/WebWiki/tmp/Adler_001.html

Adler_001
-->

Adler_001

/ BasicLatin / InDex

ADLER'S

NEW LATIN METHOD.

Lesson I. -- Pensum Primum

INTRODUCTION.

A. LATTN Gn.nn000, considered so a ocience, hon for its object the iavcotigotioo of the laws which gocera the forms aad the coostruction of the lasgooge. When destined for the procticot porposes of isotractios, it hecomes the art of Icaroing to read, write, and speak the Latin language with eorrretocso. oc ThE AI,rnannT.

B. The letters of the Latin alphabet are twentyfmoc:—A,a; Il,b; C,c; Pd; F.,e; F,!; G,g; It, h; Li; J,j; K, h; LI; M,m; N, a; O,o; P,p; Q,q;It,r;S,o;T,t;U,n;V,e;X,x;Y,y;Z,e.

Letters are di, ided tots vowels (tIttecao roesha) aad eanoanaoto (Itoerse conecoostee). Tt,e aoand of vowels is complete in itself, whereas thot of ranoanants heeomes distinct asty in coojanetian with avon el or vownI.s 055 a:eoca055n.

C. TIme simple vowels of the Lntin alphahet ace civ: a, e, d, s, o, p. To these may be added thr doable vowrIo or diphthangs oc (me), ot, an, ci, ea, oc (me), ci, a,,d at. t. The vowel p Qqrdco) t, only fosod to woeda adopted tismo the (lweh, on Cqroe, tto500mo, eyoyeoptos I The diphthoogn ci, ci, nod ni ocear only tan few iatoejecmions,

/home/kj/WebWiki/tmp/CellTracking.html

Cell Tracking
-->

Cell Tracking

/ index

Introduction
Constraints
Component Overview
Requirements
Information required
Reference
Debugging and Exception handling
Launch program at start
Launch program at intervals
Cause a program to sleep
Save information to a file
Copy file to the computer
Read and write EXIF and IPTC tags
Find photographs in the mobile
Respond to events in the mobile
Read a database of cell locations
Update the cell location database from public resources
Transfer cell location database to mobile
Webservices

Introduction

I have several digital cameras and a Nokia N73 mobile. The mobile knows where it is at all times because the network tells it the ID of the cell in which it is sitting. The mobile also has a camera which is very handy because, unlike my other cameras, it is always with me so whenever I see something interesting I can snap it.

This means I take more pictures than before so now I have an even greater problem of identifying the locations, or will have in the future.

But if I can write a simple program to log the names of the cells I can surely write another program that can look at the dates and times of the photographs and match them with entries in the log. then I can add the cell ids to the IPTC data of the photographs.

I can make another list that can translate between cell ids and locations so that the actual location can be added to the photograph as well.

The rest of this page contains notes about what the application suite should do. Example code will be found in CellTrackingCode.

Constraints

  • All code running on the mobile should be in Python.
  • All code running on the computer must be usable in Ubuntu Linux 7.04 on x86. Python to be the preferred language and toolkit.

Component Overview

To make this work I need several pieces of sofware and some data files:

Cell tracker
an application running on the mobile that records the date and time of entry to each cell.
Photo tagger
an application running on my computer that reads the date and time at which each photograph was taken and searches the log for a matching date and time so that it can add the cell id and location to the photograph.
Database
a list of cell ids and location names

The tagger runs on the computer so that it can tag phographs not taken by the mobile. If it were written in Python it should be possible to run it on the mobile as well so that the pictures are tagged immediately after being taken.

Requirements

The cell tracker must:

  • run continually,
  • not drain the battery too fast,
  • not require Internet access,

The cell location database must be:

  • amenable to manual updating,
  • amenable to automatic updating from public resources.

The tagger must:

  • operate as a command line program,
  • be safe. That is it must not disturb existing tags,
  • inform the user when a photograph has tags that conflict with the tag that the tagger wants to apply.

Information required

To comply with the requirements I need to know how to:

  • launch a program when the mobile is started,
  • launch a program at intervals or how to cause a program to sleep in the intervals,
  • save information to a file,
  • copy that file to the computer,
  • read and write IPTC tags in photograph files,
  • determine the date and time a photograph was taken. This can come from the EXIF tags or, sometimes, from the filename,
  • find photographs in the mobile and apply tags to them immediately,
  • discover that a new photograph has been taken and which it is,
  • read a database of cell ids and locations,
  • update the cell location database manually,
  • update the cell location database from public resources.

Reference

Details of API calls, web services, IPTC and EXIF tags etc.

Debugging and Exception handling

See http://wiki.forum.nokia.com/index.php/Python_debugging_techniques

try:
    # Actual program is here.
    1 / 0
except:
    import sys
    import traceback
    import e32
    import appuifw
    appuifw.app.screen="normal"               # Restore screen to normal size.
    appuifw.app.focus=None                    # Disable focus callback.
    body=appuifw.Text()
    appuifw.app.body=body                     # Create and use a text control.
    applock=e32.Ao_lock()
    def quit():applock.signal()
    appuifw.app.exit_key_handler=quit         # Override softkey handler.
    appuifw.app.menu=[(u"Exit", quit)]        # Override application menu.
    body.set(unicode("\n".join(traceback.format_exception(*sys.exc_info()))))
    applock.wait()                            # Wait for exit key to be pressed.
    appuifw.app.set_exit()

Launch program at start

Rumour has it that Open Signed Online applications can't do this. I'll set the flag next time I try Ensymble.

Launch program at intervals

Nokia don't even provide proper repeating calendar entries so this might be difficult.

Cause a program to sleep

Use e32.ao_sleep(interval_seconds). See API_Reference_for_Python.pdf.

From: http://snippets.dzone.com/posts/show/738

This could be used to create a repeat loop for every interval. I show this in a previous snippet.

import e32, time

def showtime():
  print time.clock()
  e32.ao_sleep(1, showtime)  # sleep then call itself again

showtime()  # start the loop

Save information to a file

Copy file to the computer

Read and write EXIF and IPTC tags

Thanks to http://akuaku.org/archives/2003/05/gps_tagged_jpeg.shtml for a useful link.

Use pyexif.

Find photographs in the mobile

Just assume that they are in c:\DATA\Images.

Respond to events in the mobile

Read a database of cell locations

Initially the simplest thing to do will be to use a text file with the cell id,mnc, mcc, lac as the first fields and the rest of the line the cell description.

Update the cell location database from public resources

There are many public cell location resources but there appears to be no common API or file format and the coverage is extremely variable

Yahoo ZoneTags

Yahoo has a webservice for retrieving and updating a cell location database: ZoneTag Web Services.

To retrieve the data for a cell it is enough to construct a URL containing the cellid, mcc, lac, and mnc values returned by gsm_location(). The web service will send back an xml document containing one or more location elements the child elements of which contain the information you want (name, country, coordinates, post code, etc.).

Unfortunately coverage is sparse. Still this is worthwhile.

This generates some secondary requirements:

  • need to be able to interrogate a web service using a url,
  • need to be able to parse the xml document that is returned.

Janus Liebregts

At http://janus.liebregts.nl/cellid/index_en.html there are links to xml files containing some data for UK, NL, and FR.

The xml holds cellid, network id, and free text description

The page also has links for other resources.

Jürgen Morhöfer

At http://kbs.cs.tu-berlin.de/~jutta/gsm/gsm-list.html is a list of network operator codes.

Nobbis GSM-Seiten

Another list of operators is at http://www.nobbi.com/netw_country.htm.

Sites listing themselves as member of senderliste.de use the same format for their pages.

Matthias Fonfara

Cells in Rhein-Main: http://www.senderlisteffm.de/

Cell Spotting

At http://cellspotting.com/thick/browse.php. Unfortunately the database is not downloadable.

Antenna Search

At http://www.antennasearch.com/sitestart.asp is a service that does a lookup of cells given the street address (USA only).

This service could be used to populate the database for areas you have visited or intend to visit. Unfortunately the reports it provides do not give enough information to decide if an antenna is a cell or not let alone the cell id, mnc, mcc, and lac.

Transfer cell location database to mobile

Webservices

To retrieve data from ZoneTag Web Services we must be able issue a REST query and parse the returned document.

Blog Archive

Followers