This blog contains the daily technical endeavours of a freelancing software-designer.
2010-12-27
(EN) OSM at the 27C3
Streams at http://27c3.fem-net.de/ (don't work at the moment)
2010-12-26
2010-12-23
(EN) Gingerbread keyboard in Android 2.2 and 2.1
2010-12-22
(DE) Alternativen zum Google Android Market
Nicht sehr viele Märkte getestet aber dem Bisschen, was da steht kann ich soweit zustimmen.
2010-12-21
(EN) GPL/CNG Price-Reporter updated
I had a few quiet hours at my familie's place in the days before Xmas while everybody else was off to work.
So I implemented parsing of opening hours into my GPL/CNG price-reporter app for Android.
I also found a few copy&paste bugs when OSM was used as a map.
(EN) PhoneCall for DolphinHD v1.1 / screenshots forced on Android market
I finally made the now required 2 screenshots, to upload "PhoneCall for DolphinHD
v1.1" to Android market.
When I uploaded v1.0 no screenshots where required.
Even if they where, that was just enough content for 1 screenshot in such a trivial browser-plugin.
Namely to show how it added a call -icon next to a phone-number in a website.
V1.1 luckily now has a settings-page, so there is some content for a second screen shot.
Strangely Google still does not offer to upload localised screenshots.
Must screenshots will contain text and people regularly cannot make
any sense of text in a language they don't speak. Fact of life.
2010-12-17
(EN) Article in Autogas-Börse about my Android app
Cool, Autogas-Boerse.de wants to do a short article on my GPL/CNG Price-Reporter.
I just sent them some new screen shots, the apk and a lot of notes on it.
Cool.
Die Autogas-Boerse.de will einen kurzen Artikel über meinen LPG/CNG Preismelder bringen.
Hab denen gerade Screenshots, apk und viele Stichpunkte geschickt.
2010-12-16
(EN) Working with Andoid Dalvik Bytecode
I tried cracking my own licensing-code last night and I got the hang on coding in Dalvik bytecode and smali.
Compared to working with Java-bytecode smali is super easy to understand.
With a dalvik command-reference open on another screen it's not THAT much different then coding in Java.
2010-12-15
(DE) LPG-Preismelder kennt jetzt Rabattkarten
Bei Tankstellen welche eine "Kundenkarte" in den Öffnungszeiten erwähnen,
läßt sich ein Rabatt eingeben.
So muss man nur die Tanken für die man eine Karte hat nicht noch alle
extra antippen um die Günstigste zu sehen.
Muss noch in's Französische übersetzt werden und welches Wort
sich in anderen Sprachen dafür in der Datenbank hier etabliert hat
ist noch nicht klar. Geht also erstmal nur in Deutschland.
* Forum-Beitrag
2010-12-12
(EN) Dual Licensing
This will be my first app to test the waters of a dual licensing library.
It will work with Android Market Licensing AND AndroidPit App Center licensing.
I'm not totally sure about the first one working on Android <2.2 because
the Google code makes extensive use of android.utils.Base64 wich is only supported on API-level 8 and up.
I also extended the Android Market and AndroidPit AppCenter licensing-code to add translations to the very simple AndroidPit -code, cryptographic checks against tempering and set some traps so the code would detect if it has been tampered with the most common techniques.
Update: After a few weeks there where no complains. The app still sells fine. So everything seems to have worked well.
I also tried to hack a not-obfuscated version of it myself in Android Byte-code and compared to other apps (that I legitimately own) even though it's not obfuscated it's a pain in the *** to crack the licensing library itself.
2010-12-10
(EN) crashes in eclipse
It's nice to know that the bug you're experiencing
and that keeps you from doing any work at the moment (Linux X64 here instead of the reported Windows 32 in the ticket)
is already known and fixed...
You just don't get that fix via auto-update for quite a while.
GRRRRRRRRRRRR
2010-12-09
(EN) Welcome to the Swype Beta!
Thinking Swype IS the best one-hand usable keyboard (Hold phone in your right hand and swipe/type with your thump)
out there.
The apk certainly IS huge but can be made smaller with some hacking using Apkmanager.
(DE) DolphinHD plugin für Mozilla Weave Version 1.5.1
Nach der 2 Zeilen-Email in verkrüppeltem Englisch hatte ich schon befürchtungen
aber dann ist doch ein fast erstklassiger Bug-Report von einem User gekommen.
Man wird doch immer mal wieder angenehm überrascht. :)
Bug in 1.5 gefunden:
Wenn noch nie auf einem V3 -Client (V4 nicht betroffen)
Tabs oder Bookmarks zum Syncen Aktiv waren, existiert
für Tabs oder Bookmarks kein Key auf dem Server und das
Login schlägt fehl.
Version 1.5.1 mit einem Fix ist gerade bei Dolphin zum Signieren.
(EN) My experiences with Android Market
Here I'm trying to document what I learned the hard way regarding best practices.
My background
I'm a professional software developer and consultant doing every kind of Java, C# and even sometimes assembler you can think of.
I did write dozens of large and small commercial and free (as in freedom) desktop, embedded and mobile (Windows Mobile, Blackberry, Linux GPE and Qtopia) applications before coming to Android. I contributed to hundreds more.
On Android I am writing small apps with the motivation of either fulfilling a personal need and/or to learn my ways around new APIs for my day job.
If an app is too useful and was too much work to just give it away for free, I'm offering it for a trivial token price.
1-5eur is no money to even think about. It's a small token to appreciate the work and dedication of the developer.
How market behaves.
Market only works with credit cards.
Being a US company this may be hard to get for Google but people don't have credit cards.
They are simply not as common in many parts of the world as they may be in the US.
You can only have one version of an app in the market.
No beta+stable, no downgrade to the last version if the current is found to have an issue, nothing.
Serious limitation compared to developing applications and publishing them on Sourceforge&co.
Comments are forever.
Comments are not in any way bound to the version that is commented on.
They don't even have a data associated with them.
The username shown cannot be contacted at all.
Users never go back and update a comment they once gave.
Free apps can never get payed.
For some obscure reason you are not allowed to make a free app payed. ever. period.
People never visit the website.
Forget about the website you enter for every product as Google tells you to.
People aren't going to visit them, least of all are they going to give feedback there.
Market licensing is market only
Android Market licensing only works with Android market. AndroidPit has a lib that works with Android Market and AndroidPit App Center but that's it.
Market Licensing is bare bones only.
There is no management-UI for the developer,
there is no buy A get B free,
there is no buy download A for 30 days then buy,
there is no but a reduced price 5 seat license,
there is no floating licenses,
nothing.
It's just a bare bones replacement of copy protection and even in that function it's way too easy to crack.
Best practices.
Release early, release often does not work here.
Coming from Sourceforge&co you may be used to releasing a first version of your work as early as it's basically working. Then collaborate with users to improve it one step at a time.
This does not work on Android Market.
Comments and Ratings for every damn, exotic bug that you could never possibly find without releasing it and having users with that exotic device/account-version/usage-scenario point it out are going to stay. ..forever.
You need good ratings on the very first version for there to ever be users so that a bad comment can have the chance to scroll down at all.
Problem is: only very few people comment at all and the ones who are dissatisfied (even if they are expecting miracles) are the ones most likely to comment.
Cheap Beta, then pricy Release does not work.
So I tried this. Make it clear that it's a beta, that you get it at a fraction of the later price in exchange for bug reports and that the price includes all upgrades to the final versions.
...does not work. People are so used to getting things for free that they complain why the beta is not free.
Problem is: You can't make it free because you'd never be able to make a free app payed later.
Ad-supported apps don't pay off
Compared to even the worst running, cheapest payed apps, these don't pay off at all.
Users are so trained to not click on ads and basically don't even recognize their existence in their field of view anymore.
Just forget about it.
Ads do work on websites that are large and where users spend quite some idle time on the site but not in apps that users open to do a single task on the go and then instantly leave or turn off their phone.
Light+Pro does work
Having a simple "light" version of an app for free and a much better "pro" version payed does work.
However this can only work if there is so much functionality that the free version is still useful at all.
It also more or less requires you to show glimpses of the added functionality of the pro -version in the free one, so that people see what they are missing on.
Conclusion.
Due to limitations that are just ridiculously far from the reality, for single developers you have to sit quietly in your chamber, write an app, test it, update it, improve it, test it in every scenario you can possibly think of, include error-handling with special, translated error-messages for everything that could ever go wrong and everything that can't go wrong.
Then and only then, release it.
Of cause that would mean that your app will never reach that point and thus will never be released at all.
Making any thought about the market itself redundant.
What I didn't try.
I did not try a donation-button or somehow integrating Flattr into apps yet.
* discussion about this post on Market Help Forum (english only)
* Diskussion über diesen Post auf AndroidPit (German only)
* My wiki with Android projects
* All my apps on AndroidPit
2010-12-08
(EN) Clickable Telephone-Numbers
I'm tired of copying telephone-numbers out of web pages, so I make them clickable.
It's my first step with Website<->Java Android App interaction using the javascript access to running web sites.
Update: Dolphin Labs signed it and it's in Android Markt now.
Wiki-Page: DolphinHDPhoneCall
(EN) late night hacking - OpenCellID for Android
my OpenCellID-client for Android better.
Got out of bed and shortly after there was a new version 1.1.1 .
If you have no API-key it will now upload the cells with mine.
(DE) jmstv-ablehnen.de
http://jmstv-ablehnen.de
Dieser Staatsvertrag is so ein Rotz.
Nur fürchte ich schaffen wir es nicht mehr ihn zu stoppen.
Merken diese Pfeifen nicht was sie da machen?
2010-12-05
(EN) "Firefox Sync for DolphinHD" on Android supports V4
Now it's done! :)
"Firefox Sync for DolphinHD" version 1.5 now supports storage format 4
and SimplifiedCrypto.
It will be released IN THE NEXT DAYS.
(I need to find a way to test that it still works with V3 somehow.
Then Dolphin Labs needs to sign it.)
* existing versions are always upgraded through Android Market or
AndroidPit (whereever you got it from)
* V3 and V4 are both supported
* V3 passphrases are upgraded to V4 syncKeys if the server is on V4
* it is prepared to use storage api 1.1 but does still uses 1.0 for
the time being
* J-PAKE is not implemented yet as it does not exist in Firefox yet
and thus cannot be tested.
* I'd love to support sync-key input via QR-code but that proposal is
not going to make it into Firefox
help-page with feedback and instructons:
https://sites.google.com/site/firefoxsyncfordolphinhd/
my development notes:
http://sourceforge.net/userapps/mediawiki/marcuswolschon/index.php?title=Projects/AndroidDolphinHDFirefoxSyncPlugin
app on androidPit:
http://www.androidpit.de/de/android/market/apps/app/biz.wolschon.android.dolphinhd.firefoxsyncplugin/Firefox-Sync-for-DolphinHD
Both "show firefox passwords"-apps (free and pro version) will be
updated to support storage format 4 in a few days. They are small
helper-apps to instantly look up a passwort, bookmark or tab on the go
without setting up a full browser and synchronize it regularly.
Update: it's in Android Market now.
2010-12-04
(EN) Firefox Sync for DolphinHD and storage format 4
J-PAKE does not exist yet and QR-codes are never to be implemented in firefox, so I guess I'll have to add a way to enter new syncKeys by (on screen) keyboard.
Hmac-computation again is a problem. It works but produces the wrong results.
I am still not sure about the new key-storage. Getting the default key is straightforward but correctly handling multiple keys is not obvious.
I'll keep on hacking tomorrow.
http://sourceforge.net/userapps/mediawiki/marcuswolschon/index.php?title=Projects/AndroidDolphinHDFirefoxSyncPlugin
2010-12-02
(EN) DolphinHD plugin for Mozilla Weave Version 1.4
Took the oportunity to email the people who have installed and then canceled
the older versions. With Checkout you can at least email them. Even if you
don't know and relation between nick in comments and anonymized email+customer.
2010-12-01
(EN) DolphinHD plugin for Mozilla Weave Version 1.4
My Weave-Plugin for DolphinHD on Android is ready in version 1.4 .
With lots of help from the mozilla-guys I got the HmacSHA256-code running.
With lots of trial and error and I managed to syns tabs back to the server.
I also fixed some FCs on Android <2.2 and added some new config-options to disable syncing tabs and hide the icon to open tabs from other computers. (And of cause a setting to set the name of the browser-instance to be shown in the tabs-list.)
I also found some small shortcomming in the Mozilla-code and some trivial things that differ between the protocol-specification and how Mozilla implemented it.
2010-11-26
(EN) hmac-trouble and good support from Dolphin Labs - Mozilla Weave / Firefox Sync for Dolphin HD
There are still issues with the hmac, so no syncing anything back to the server yet. But thanks to an updated SDK 5 for DolphinHD (thanks guys) I was able to implement oneway-syncing of bookmarks now.
You can also individually switch on and off syncing of passwords and bookmarks how and there is a help-page for the users (monolingual English at the moment).
2010-11-25
(EN) fist expeciences with Android Market Licensing
Send to Dropbox app (send files from an Android phone to a folder in one or many Dropbox accouts).
Apart from new features I added Android Market Licensing instead of Copy Protection to this one.
Result:
* it's easy to implement
* it's hard to obfuscate against cracking
* it is absolutely limited to the Google Android Market
* No cross-licensing (buy the expensive app, get the cheap one for free) or other checking of the license-status of other apps supported.
* Be careful are the example-code uses the Base64-class that required API Level 8
2010-11-24
(EN) DolphinHD plugin for Mozilla Weave in Android Market
Version 1.1 of my DolphiHD plugin to import tabs and passwords from Mozilla Weave/Firefox Sync to DolphinHD has been signed and released to the Android Market.
I hope lots of people submit bug reports.
2010-11-23
(EN) Syncing passwords from Firefox to Dolphin HD
Oneway-syncing of passwords from Mozilla Weave/Firefox Sync to Dolphin HD has now been implemented in my DolphinHD plugin for Android.
See the wiki for details
I found a way to circumvent android.webkit.WebViewDatabase .
Even as they haven't signed version 1 yet, version 1.1 will find it's way to Dolphin for signing soon.
(Well, okay. Version 1 was done yesterday. Can't expect them keep up with me.)
2010-11-22
(EN) Mozilla Weave / Firefox Sync for Dolphin HD
This morning I got a fixed version of the unsigned Dolphin HD.
(The one in the SDK contained a bug that prevented all development.)
This night I finished version 1. It only allows "open tab from other computers".
Later versions will add more features. Version 1 is currently with Dolphin support
to be signed. Then it can be released on the market.
Wiki-Page
See also: my earlier entry about my Firefox Sync - standalone app
(DE) Referenzen aktualisiert
http://wolschon.biz/referenzen.html
auf eine Google Docs -Tabelle umgestellt.
Das sollte den Pflegeaufwand deutlich reduzieren.
K9 - multiple mails as SPAM
K9 issue 2682
to allow marking multiple mails as spam (and not just delete them).
This missing feature has bugged me for quite a while now and I finally wrote a patch,
submitted it and (being a K9 developer) committed it to trunk for the next release.
The icon for "Spam" is a trash can with a large S on it.
2010-11-19
(EN) Mozilla Weave / Firefox Sync in android app
My new app is taking shape.
market://search?q=biz.wolschon.android.firefoxsync.showpasswordspro
and the free (as in beer)
market://search?q=biz.wolschon.android.firefoxsync.showpasswords
* save the last username for the connection to the Firefox Sync/Mozilla Weave -Servers.
* open URLs from tabs and bookmarks
* copy passwords and usernames into the clipboard.
2010-11-18
(EN) Mozilla Weave / Firefox Sync in Java
My read-only implementation of the Firefox sync -protocol was finally able to decrypt some stored passwords.
Turns out I was doing the password->AES -key generation with 1024 instead of 4196 rounds and the wrong key-length all the time.
Next stop: an small Android app to look up stored passwords.
2010-11-16
Skydrive
2010-11-15
2010-11-14
Android K9 mail on SD
My branch for issue 888 "Store mail on sd-card" of the K9 mailer for Android is now merged into the trunk of K9 and a part of release 3.311 and 3.312.
Finally a project of mine gets closed for good and in a good way. :)
2010-11-07
Sync Firefox for Android und Firefox 4 beta 6
Firefox for Android Beta 2 benutzt schon ein neueres Storage-Format was erst mit Firefox 4 Beta 7 rauskommen wird.
Deshalb bekommt man "Upgrade required to access newer storage version." in jedem der Desktop-Firefox.
http://snarkfest.net/blog/2010/09/28/using-sync-on-the-bleeding-edge/
Die kommente Beta 7 wird das Problem lösen. Ist aber noch nicht verfügbar.
Die Nightly Build löst das Problem bereits.
2010-11-03
(EN.DE) Writing DolphinHD plugins - start of Firefox Sync for DolphinHD
I just got the plugin-SDK for DolphinHD for Android.
I'll try to implement Firefox Sync for this browser as a plugin one of these days.
Cool.
Habe gerade per Mail das Plugin-SDK für DolphinHD für Android bekommen und werde die Tage mich mal an Firefox Sync probieren.
2010-10-28
(DE) LPG Tankstellen-Preismelder
einen Bug in meinem LPG Tankstellen-Preismelder für Android gefixed
(Preise wurde manchmal falsch übermittelt.) und die Preis-eingabe
noch etwas schöner gemacht indem gleich die Tastatur im richtigen Modus hoch kommt.
Im Forum gab es noch eine gute Idee wie sich mehr Bildschirm-Platz spaaren lässt
aber da muss ich erst sehen wie das mit der Text-Länge in allen Sprachen und
Auflösungen hin kommt.
2010-10-26
(DE) Patches
* vIsolate eingebaut, vorgestern der
* LPG-Preismelder und
* meine Dropbox-Clients für Android, heute morgen im Hotel noch patches für meinen
* K9 "mail auf SD-Karte"-Branch gemacht und vorhin applied.
Endlich geht mal wieder was voran.
Schade nur daß in wenigen Tagen wieder Quartals-Steuerkram ansteht und wieder jede Menge Zeit fressen wird.
2010-10-24
Issue resolved?
2010-10-21
2010-09-28
(DE) Dropbox-Client für Android
Unglaublich wie lange es dauern kann bis eine kleine aber nicht triviale Anwendung mal irgendwann auch in den unwarscheinlichsten und natürlich nicht reproduzierbaren Situationen kein Potential für Verbesserungen mehr zeigt.
2010-09-17
(DE) K9 Branch
Super code commited bekommen.
Wenn alle Mail geladen ist muss ich mal sehen ob ich das kaputt gespielt bekomme.
2010-09-15
(DE) jGnucashLib
Kleinere Anpassungen im Dateiformat für neuere Gnucash-Versionen.
2010-09-14
(DE) Dropbox Apps
Große Ordner werden jetzt besser angezeigt, kleinere Verbesserungen erhöhen die Usability und ..TADAAAAA
endlich ist der massiv hinterher hinkende Send to Dropbox in der Werbebanner-Version
(für Länder, die im Market nicht einkaufen können) auf dem aktuellen Stand der
werbefreien version.
2010-08-27
Send to Dropbox with modified Dropbox API
* allow loadconfig(null, true) like the Android-API does (creates an empty config to fill)
* proper logging (no Exception e... e.toString(), no unlogged exceptions, logging to android.utils.Log )
* allow move/rename
* allow delete
* allow a simple listener for file-upload-progress (updated in 1KB-steps to not slow down the upload)
Since all that OAuth and signature-code was already present it was quite easy to do.
Much easier then I thought it would
There is no code yet for continuing aborted uploads or canceling an upload in progress.
Any idea how to do that?
Sadly the api-source does not include Delta-encoding. It would be great to have that.
2010-08-25
Dropbox-Icon - Act 2
and after THEN complaining about the already aproved icons.
...Dropbox Inc. now has decided to complain about the NAMES of my 3rd party dropbox clients.
Dear Dropbox Inc.
if you supply an SDK with the sole purpose of having 3rd party apps be a dropbox client,
what do you think people would do with it? Maybe write 3rd party dropbox clients that
scratch the many itches that your minimalistic Andorid -client leaves?
Thus actually helping your commercial company many revenue due to more account-usage
and thus more account-upgrades?
Then how do you expect a program that can send files to the user's dropbox be named?
"Send file to some unnamed service I'm not going to tell because I shall not use the name of your service in my app to refer to your service as your branding rules mislabeled as guidelines allow me to"?
It's confusing enough not to have a dropbox as a PART in the LARGER icons to let have the icons of such apps actually serve their PURPOSE of making it clear that they are to client the modified dropbox-icon to create an account for their Dropbox instead of their Google account, their Exchange account or their Twitter account.
(All used by armys of 3rd party apps)
2010-08-24
(DE) Android Licensing ausgehebelt
* Thread auf der Android Developers Mailing-Liste
* Reaktion von Google
Im wesentlichen geht es darum die apk zu disassemblieren,
das Code-Stückchen, welche entscheidet ob die Antwort vom Server ein
"Lizensiert" oder ein "Nicht Lizensiert" ist zu patchen, das ganze
neu zu compilieren und mit einem eigenen Key signiert auf das Handy
zu bringen.
Warum wurde hier keine Prüfung der Signatur gemacht?
Gegenmaßnahmen:
Momentan nur dieses Code-Stückchen mehrmals in der App zu haben als Honeypot und so Manipulatonen zu erkennen.
Grundlegendes Proble:
In den meisten Längern KÖNNEN die Kunden die App nicht kaufen weil Google Checkout nur in einer Hand voll Ländern angeboten wird.
Entsprechend ist das Knacken der einzige Weg für diese Leute und entsprechend hoch ist die Motivation für Cracker.
Fazit:
Licence-Verification nicht als Drop-In Library einfach reinkippen sondern sich Mühe geben es Crackern schwer zu machen. Verhindern läßt es sich nicht.
(DE) Send to Dropbox 2.1.9
kann jetzt auch Bilder direkt von der Kamera,... (genauer: Allgemein ACTION_SEND von ContentProvidern welche keine file:// URLs bereitstellen)
verarbeiten sowie Ordner nicht nur anlegen sondern auch nach einem Vertipper wieder löschen.
Das Ordner umbenennen ist vorbereitet, scheitert aber noch an der Unvollständigkeit des Android-SDK von Dropbox.
(DE) LPG Tankstellen Preismelder in Französisch
Außerdem konnte ich einen kleinen Fehler bei der Übersetzung der Treibstoff-Sorten ausbügeln und im Englischen LPG konsequent mit der dort üblicheren Bezeichnung GPL führen.
2010-08-20
(DE) Rant über Bank of Scotland nochmal
Nach zig Tagen krieg ich hier eine Antwort auf meine Email.
Inhalt: Ein Textblock daß ich doch gefälligst zu Bürozeiten
die kostenpflichtige Telephonnummer anrufen soll.
Die haben die besten Chancen die erste Bank zu werden, denen ich die Zusammenarbeit aufkündige weil die einfach unbenutzbar sind.
Da helfen die Besten Zinsen nichts wenn das Login nicht funktionert, der Support mehrere TAGE brauch um NICHT zu antworten und man für den täglichen Saldo-Check zig Minuten statt Sekunden braucht. Dann aber nach dem Login wie schon in der Schweiz gibt es keine Sicherheit mehr. Wer mit seinem 08/15-Trojaner die Browser-Sitzung highjacked hat einfach mal gewonnen und kann über sämtliche Ersparnisse (statt einfach nur dem täglichen Arbeits-Budget auf dem kleinen Giro-Konto bei einer anständigen Bank) verfügen.
Sowas wie TAN-Listen kennen die irgendwie garnicht.
(DE) Hermes
Die haben nur eine iPhone-App und deren Webseite ist auf dem Handy (also wo man sie in einer fremden Stadt oder wenn man vor einem geschlossenen Paketshop steht halt braucht)
einfach die große Katastrophe vor dem Herren.
Ich glaub nicht daß das was wird aber wenn kann ich wohl das Gerüst meines LPG/CNG Preisfinders in Null Komma Nichts wiederverwenden und was nutzbares zusammen stellen.
Update: (24.08.2010)
Sehr geehrter Herr Wolschon,
vielen Dank für Ihre E-Mail.
Ihren Hinweis haben wir als Feedback an die zuständige Fachabteilung weitergeleitet.
Aus technisch-organisatorischen Gründen können wir Ihnen eine direkte Rückmeldung
zu der Anfrage nicht zusichern. Ihr Feedback wird geprüft und bei der Weiterentwicklung
des Portals und des mobilen Service einbezogen.
Technische Daten für eine freie Programmierung stellen wir nicht zur Verfügung.
Wir bedauern, Ihnen heute keine andere Auskunft geben zu können und hoffen,
dass Sie uns dennoch weiter verbunden bleiben.
Mit freundlichen Grüßen
HERMES LOGISTIK GRUPPE
Kundenservice
**********
2010-08-19
Dropbox Client
I also found that AccountManager would cache authTokens that have the same token-type but different options. Thus returning the auth-token of one application to another one.
(DE) Bug Tracker
Ich hoffe das wird nicht gleich von den Spammern gefunden.
Bei der Gelegenheit auch gleich noch die Sidebar in meinem Wiki etwas überarbeitet und den Projekten dort natürlich Links auf den Bug-Tracker verpasst.
2010-08-18
Bug in Dropbox-API
They do not update the modified-timestamp of a directory if 2 subdirectories of it are deleted.
* forum-post
* affected Dropbox Folder-Sync
Dropbox Folder Sync Beta published
A beta-version of my app for syncing a folder on SD-card automatically with a folder in the dropbox is now in the Android market for the minimum possible donation of 0.50eur+tax (I wanted 0.01 but that was not possible and free apps cannot be made payed later).
The final version will most likely be for a small donation of 2eur+tax.
I did test it here and it performs it's job but I need more people to test it before I will consider it safe.
This is published for testing by a wider audience and to get feedback. You will of cause get the final version and all updates in exchange.
I suggest to use this with a new folder on the SD-card and on the dropbox that are both only used for this purpose. (Just to be on the safe side.)
Wiki entry
(DE) Dropbox Client
Die Icons für "Dropbox Account" und "Send to Dropbox" mussten wegen Logo-Streitigkeiten ersetzt werden. (Forum)
Weiterhin hat "Dropbox Account" jetzt einen Knopf "Account Anlegen" der auf die entsprechende Web-Seite führt (Ja, mit mir als Referral.)
Dropbox Folder Sync ist jetzt Aproved. Trotzdem werde ich da auch noch das Icon überarbeiten bevor das in den Market kommt. Muss auch noch etwas mehr getestet werden.
2010-08-17
(DE) Dropbox-Icon
Nachdem Dropbox eine Woche lang das Icon und die Kurzbeschreibung (mehr hatten sie nicht und haben auch nicht nach mehr gefragt) "reviewed" hat und meine App freigegen wurde.....
ist heute eine Email gekommen daß sie mit dem (reviewtem) Icon doch unzufrieden sind und der Passus "DO: Use the Dropbox logo to show that your product is integrated with Dropbox." auf Dropbox Branding Best Practices Guide hier wohl doch nicht greifen soll.
Update: Act II
2010-08-15
Android Droobox Folder Sync v1.7 finished
Details here.
Get Dropbox here.
It uses the Android account system and the synchronisation framework to keep a folder on the SD-card of the Android telephone in sync with a selected folder in the Dropbox.
2010-08-13
Dropbox-Client für Android II
Here is:
Version 2 of the authenticator (now works with multiple apps. Still each app MUST have it's own consumer_key and consumer_secret).
new protocoll:
AccountManager mgr = (AccountManager)getSystemService(Context.ACCOUNT_SERVICE);
final Bundle options = new Bundle();
options.putString("consumer_key", CONSUMER_KEY);
options.putString("consumer_secret", CONSUMER_SECRET);
AccountManagerFuturefuture = mgr.getAuthToken(account, "key"options, this, null, mHandler );
Bundle result = future.getResult();
String key = result.getString(AccountManager.KEY_AUTHTOKEN);
future = mgr.getAuthToken(account, "secret",options, this, null, mHandler);
result = future.getResult();
String secret = result
DropboxAuthenticator.apk
SendToDropbox.apk
DropboxFolderSync.apk - still ALPHA and thus not release. At this stage it WILL destroy your files in the shared folder.
2010-08-12
Your Dropbox API App has been approved!
DropboxAuthenticator.apk (required)
This one adds an Authenticator, so your Dropbox-account is in Accounts&Sync for all apps to use (apps require their own API-key).
The account-type is "dropbox", the credential-type "key_and_secret", dropbox "secret" is returned as the password (AccountManager.KEY_AUTHTOKEN) and the dropbox "key" as AccountManager.KEY_USERDATA in the bundle.
Send To Dropbox.apk
A small app that adds "Send to Dropbox" as an additional handler for all Mime-types.
The apps will be in the Android Market soon but I want to give the People at Dropbox an opportunity to review them first.
Here is the Wiki-page where I am keeping my development-notes.
Update: I need to rewrite some of the Authenticator due to an unpublished limitation of the Dropbox-API. Stay tuned.
2010-08-10
(DE) LPG Preismelder und My Car
Demnächst wird es also eine Version von "My Car" im Market geben,
die mit Bifuel-Autos umgehen kann und mein Preismelder kann auf Wunsch
gleich nach dem Tanken "My Car" starten.
(DE) Dropbox-Client für Android
Jetzt mit schöner Ordner-Auswahl und allem.
Wiki
...ich muss leider immernoch auf das Review durch die Jungs bei Dropbox warten bevor ich das veröffentlichen kann.
2010-08-09
(DE) automatisiertes verbuchen von Kreditkarten-Emails
und da habe ich ich gleich mal die Gelegenheit genutzt und mit noch mehr Arbeit damit gespaart.
jGnucashLib kann jetzt auch Emails mit Abrechnungen von Advanzia-Kreditkarten genauso wie HBCI und CSV durch den Scriptbaren Importer abrechnen.
d.H. kommt eine Buchung die er noch nicht zuordnen kann, kann man per Script-Editor mit Testlauf und allem dafür ein Javascript anlegen (ein Beispiel für den üblichen Fall von 3 Splits aus Brutto, Netto und USt ist immer schon drin) und wird in Zukunft nicht mehr mit diesem Fall belastet.
(DE) Dropbox-Client für Android geschrieben
Ich habe ein wenig mit der Dropbox-API rumgespielt und eine der oft vermissten Features des Android-Clients nachgerüstet.
Ein Send-To-Dropbox aus jeder Anwendung heraus.
Wiki-Seite dazu
...jetzt brauche ich nur noch das OK von Dropbox wegen App(API-Key) und Icon und einige Antworten aus dem Developer-Forum für eine Version 2.0 .
(DE) My Cars und LPG-Preismelder
Evtl. wird das noch heute Abend was, daß man bei Eintragen einer Tanke in meinem LPG-Preismelder gleich den Tankvorgang in das Fahrtenbuch von "My Cars" eintragen kann (falls installiert).
Wäre eine tolle Zusammenarbeit unter Apps.
2010-08-08
K9 commit access
I'm honored.
I guess someone liked the patches I completed this weekend.
2010-08-07
(DE) Vandalismus 2
Laut Anwohnern schon die ganze Woche kaputt.
...und das direkt vor der TELEKOM Zentrale.
2010-08-06
(DE) News: Apple-Patent von existierender App inspiriert [Update]
Einfach unglaublich.
1:1 Kopien mehrerer existierender Anwendungen anderer Leute in Apples späteren Patentanträgen.
Wie war das noch mit den grundlegenden Anforderungen an Patente? "muss NEU sein"?
(DE) New: HTC Desire: Vodafone-Branding durch die Hintertür
Statt der erhofften Aktualisierung auf die Android-Version 2.2 (Froyo) bekamen die Nutzer jedoch lediglich Zugangssoftware für Vodafones Online-Dienst 360 installiert – zudem änderte das Update die Startseite des Browsers, setzte verschiedene neue Bookmarks und installierte ein Vodafone-Startlogo. Einige Anwender berichten, dass sich die Akkulaufzeit des Gerätes verschlechtert habe, bei anderen seien alle Kurznachrichten plötzlich doppelt vorhanden. In der Ankündigung des Updates sprach Vodafone jedoch lediglich von der Verbesserung der Systemstabilität sowie der Erweiterung der Netzbetreiberfunktionen.
...Mies wenn alle auf das 2.2er -Update warten.
2010-08-05
(DE) meien Patches für K9Mail
http://code.google.com/p/k9mail/issues/detail?id=2099
http://code.google.com/p/k9mail/issues/detail?id=888
K9-Mail
* einen besseren Filter für die Zielordner-Auswahl und
* eine Menü in der Ordner-Auswahl
(um z.B. mal eben schnell auch 2nd Level Ordner
zur Auswahl obwohl man sonst nur 1st Level sehen will)
* Speichern der Email auf der SD-Karte
beigebracht.
Mal sehen ob die 3 Patches genommen werden.
Kleine Fingerübung während ich mich genauer in deren Code einlese.
Hat mich einfach schon ewig gestört, daß das nicht ging.
(DE) Zoll
Diesmal kein Frachtflughafen sondern ein Rheinhafen, den man aus nächster Nähe zu sehen bekommt.
2010-08-04
New Design
redesign this blog's layout.
The content will still be bilingual using German for topics that are of little interest to international readers and english for everything else.
I'll keep blogging very irregularly about my projects, things I find interesting or that I think are important.
(DE) 1000 Nutzer
Mein LPG/CNG Tankstellen-Melder hat die Marke von 1100 Installationen erreicht.
2010-08-03
(DE) LPG Preismelder und My Car
so daß man nach dem Finden einer LPG/CNG -Tanke in meinem Programm, Navigieren
dorthin mittels Google oder AndNav2 und Bestätigen/Aktualisieren des Preises
in meiner App gleich in seine kommen kann um den Tankvorgang (mit Preis und Tanke)
in die Fahrzeug-Kosten einzutragen und so z.B. den Gas-Verbrauch und die Gesamtkosten
des Autos im Auge zu behalten.
(DE) Hijacking Web-URLs on Android
Daß man URI-Handler für eigene URI-Schemata (z.b. "market://") registrieren kann war klar aber daß man auf Hostnamen filtern kann ist mir jetzt auch neu:
Hier der triviale Code für die Manifest.xml:
1.
<intent-filter><action android:name="android.intent.action.VIEW"></action>
2.
<category android:name="android.intent.category.DEFAULT"></category>
3.
<category android:name="android.intent.category.BROWSABLE"></category>
4.
<data android:host="www.youtube.com" android:scheme="http">
5.
</intent-filter>
2010-08-02
(DE) LPG Tankstellen-Preismelder mit OpenStreetMap
Mit bisher 934 Installationen garnicht mal so Schlecht.
Forum-Beitrag dazu
2010-07-31
(DE) Verleih Programm für Reprap-Teile
Bin gespannt wie dieses Verleih Programm läuft.
2010-07-29
(DE) News: Neues Eclipse zum Schnuppern freigegeben
...mal später schauen wie das wichtigste Werkzeug eines Java-Entwicklers denn so zukünftig aussieht.
2010-07-28
(DE) News: Licensing Service für Android-Market
noch ein Blog-Post zum Thema
developer.android.com "Licensing Your Applications"
und irgendwo im Help-Center soll auch noch was dazu stehen. (Vieleicht noch nicht übersetzt. Ich find's grad nicht)
Wenn nicht fast niemand Geld im Maket ausgeben würde, dann würde ich tatsächlich mal überlegen kostenpflichtige Apps rein zu stellen.
Besonders lesenswert ist der Abschnitt "Replacement for copy protection" auf developer.android.com . Damit lassen sich anscheinend payed apps sinnvoll auch für gerootete Geräte verkaufen.
Wer das mit dem Licensind in seinem Account nicht finden:
direkter Link auf "edit Profile.
Der Link ist etwas klein.
(DE) News: Lacher des Tages: Terrorismusexperte warnt im französischen Fernsehen vor C++ -Handbuch
Schön blöd: Im französischen Sender France5 hat der “Terrorismusexperte” Roland Jacquard von der Organisation “Observatoire international du terrorisme” vor Al-Quaida – Handbüchern im Netz gewarnt. Dabei war er so kundig von der Materie, dass er ein C++ – Programmierbuch in arabischer Sprache den Zuschauern präsentierte. Die ganze Story gibt es auf
Quelle (französisch)
auf Netzpolitik org
und danach nochmal auf Fefe
Wikileaks
Hahaha ACH NEE, na sowas: Aus den Wikileaks-Dokumenten ist ersichtlich, dass vier kanadische Soldaten von US-Soldaten getötet wurden, nicht, wie das Militär angesagt hatte, von Taliban. Also alleine dafür hat sich das ja schon gelohnt, wenn ihr mich fragt.
2010-07-25
2010-07-24
2010-07-23
Zeit: Interview mit Adrian Bowyer
Er fängt mit ziemlich utopischem Mist an aber wird dann doch ganz lesbar.
http://www.zeit.de/zeit-wissen/2007/02/Interwview-Adrian-Bowyer
2010-07-22
2010-07-21
Größeres Update: TrueCrypt 7.0 veröffentlicht
Ich zitiere mal:
In einem Kurztest der AES-Hardware-Beschleunigung auf einem Intel Core i5 650 unter Fedora 13 erhöhte sich der AES-Durchsatz von rund 290 MByte/s auf satte 2 GByte/s. In Kombination mit einem nicht-beschleunigten Algorithmus fällt der Zuwachs wie erwartet weniger dramatisch aus: Der Durchsatz von AES-Twofish beispielsweise verdoppelte sich etwa von 150 auf 270 MByte/s.
2010-07-19
Google Sperrt sich selbst
Google tried to deliver your message, but it was rejected by the recipient domain. We recommend contacting the other email provider for further information about the cause of this error. The error that the other server returned was: 550 550-Message rejected because mail-wy0-f171.google.com [74.125.82.171] is
550-blacklisted at safe.dnsbl.sorbs.net see Currently Sending Spam See:
550 http://www.sorbs.net/lookup.shtml?74.125.82.171 (state 14).
Hier kann man also nicht von einer Gmail-Adresse an eine andere Gmail-Adresse Email schicken weil....Google in der SORBS Blacklist ist wegen Spam.
2010-07-18
Release 1.0!!!
Mein LPG/CNG Preismelder/Preisfinder ist fertig!!!
Suchen funktioniert sofort, Preise melden benötigt einen Account auf http://gas-tankstellen.de .
Das ERSTE Mal muss man seine Geräte-ID im Profil auf der Webseite eintragen,
dabei hilft einem das Programm aber indem es auf Wunsch die ID bereits in die Zwischenablage kopiert und den Browser an der richtigen Seite öffnet.
Update: Einen Tag später ist meine App immernoch auf Platz 1 in der Kategorie "Reisen".
Update2: Wow, 340 total, 248 active installs (72%) in nur einem halben Tag.
2010-07-17
2010-07-16
LPG Tankstellen-Preismelder 2
Heute morgen und gestern Abend sind noch Popups in OnTouch() auf der Karte,
Einstellungen, Fehler-Behandlung, Umschalten von LPG auf CNG, schönere Übersetzungen,...
hinzugekommen.
Fehlt nur noch die URL zum Melden geänderter Preise von Ralf Neumann und sein OK,
daß ich die Anwendung in den Android Market stellen kann.
2010-07-15
Lpg Tankstellen Preismelder
Nachdem man auf Android zwar die billigste Tanke der Gegend finden und sogar dahin navigieren kann...
Aber nicht falsche Preise melden oder Richtige bestätigen,
ist meine eigene App dafür jetzt fast fertig.
Heute konnte ich einen Preis bestätigen und jetzt auch zwischen LPG und CNG wählen sowie die Anmeldung des Handys bei der Datenbank automatisieren.
Fehlt nur noch dass Melden neuer Preise und ein wenig Kleinkram an der Optik.
2010-07-14
(DE) Vespucci
die Autocompletion drin ist, ist dieser Editor einfach geil!!!
In letzter Zeit konnte ich praktisch alle Hausnummern dieser Gegend:
http://www.openstreetmap.org/?lat=49.00334&lon=8.38902&zoom=17&layers=B000FTF
erfassen und es war angenehmer als vorher mit OSMTracker.
Vor allem sind die Änderungen gleich hochgeladen und man muss sich nicht
mehr überwinden zu Hause nochmal alles einzutippen.
(Gott alleine weis wie viele Osmtracker-Logs ich noch unbearbeitet rumliegen habe.)
(DE) addr:street autocompletion in Vespucci
habe ich heute mal eine neue bessere Autocompletion beigebracht.
Wenn man für ein Haus eine Adresse eingeben will, schlägt er für die Straße umliegende Straßen vor.
Ist noch keine eingegeben, wird die nächstgelegene gleich mal eingetragen.
Die Liste Auto-Vervollständigt die Eingabe und ist nach Entfernung sortiert.
...kein Vertippen mehr bei Straßen und schnellere Eingabe von Hausnummern an Kreuzungen.
2010-07-09
Heise Open: Entwickler von Anwenders Gnaden?
Sollte man als User in Kontakt mit Entwicklern mal lesen. :)
2010-07-05
2010-06-19
Rigger durch Azubi mit Gurtband ersetzt
2010-06-18
Scheinwerfer-Schirme
Ist ein 3D-Drucker nicht ein mächtiges Werkzeug.
Da ärgert man sich immer, daß die günstige Digicam so verrauscht ist und
2 billige chinesische Reflektionsschirme, 2 Baustrahler sowie eine Stunde in CAD, Druck und iterativer Verbesserung. Schon ist das Problem durch 2 spezielle Adapter gelöst.
http://www.thingiverse.com/thing:3366
2010-06-16
2010-06-14
Repman druckt wieder
2010-06-13
(DE) Chinesische Werkzeuge aufbretzeln
hinter dem es um das verbessern billigen Werkzeuges für präzises Arbeiten geht.
Erich`s Laberecke. War mal: Nützliche Links: :X (6 replies): "Den anfang mache ich mit einem Schreinerkollegen, dem Achim.
Aber davon hätte ich noch einige.
[www.metallmodellbau.de]
Gruss Reiner"
2010-06-12
Programmieren auf der GPN
Gerade habe ich für den Vespucci Editor für OpenStreetMap auf Android patches geschrieben, die
* Die presets.xml von JOSM parsed und damit sowohl Tag-Keys als auch zu den ausgewählten Keys passende Tag-Values per Autocompletion vorschlägt.
* eine Karte im Hintergrund anzeigen (neu geschrieben, hatte ich schonmal gemacht sowas)
* das Logging verbessern
* mehr Kommentare einfüren
* nicht sinnvoll lokalisierte Zeichenketten ordentlich internationalisieren
* Zur Genauigkeit wird nun auch eine Einheit (Meter) in der jeweiligen Sprache angezeigt
* Die Liste der Änderungen vor dem Upload anzeigen.
Von jGnucashLib gibt es auch eine neue Version 2.0.25 mit mehr Unterstützung für Business-Features von Gnucash und einem automatisch verschwindenden TaxPanel.
Und Traveling Salesman hat einen wichtigen Bugfix und einige Detailverbesserungen(191, 192) erfahren.
Eindrücke von der Gullasch Programmier Nacht
ich blogge tatsächlich die letzten Tage gelegentlich.
Das liegt hauptsächlich an dem neuen Nexus One, was
es einem (mit passenden Apps) leicht macht mal eben ein paar Zeilen und ein
Photo in Blogger zu stellen.
Was wegen den Verbindungsabbrüchen eher schlecht als
recht funktioniert ist das hochladen vieler Photos auf
Picasa.
Trotzdem hier mal einige Eindrücke von der GPN10:
http://picasaweb.google.com/Marcus.Wolschon/GPN10Karlsruhe#
2010-06-11
GPN gerettet?
DAS nenn ich mal Service!
Das Autohaus hat sich die Handynummer des Fahrers geben lassen und fährt dem fehlenden Teil entgegen.
Wärenddessen kann ich schonmal per Zug los fahren und werde am Bahnhof abgeholt.
Falls es mit dem Teil nichts mehr wird, kann ich trotzdem auf Benzin statt LPG los fahren.
mit LPG zur GPN des CCC
Am Abend will ich in Karlsruhe zur GPN sein
aber das Auto steht noch in der LPG-Umrüstung
im Autohaus und denen fehlt wohl noch ein Teil.
Wenn das heute kommt wird das wohl gleich eingebaut,
alles abgenommen und ich kann den abholen.
*auf Anruf warte*
2010-06-10
New thermistors and PTFE-tubes
Thermistor broken for good.
Hotend repaired?
2010-05-30
jGnucashLib
Habe ich endlich mal wieder an jGnucashLib weiter gemacht.
(Meiner Bibliothek um den ganzen langweiligen Buchhaltungs-Kram zu automatisieren.)
Vor allem in der automatischen Erkennung von Rechnungen aus Text und PDF -Dateien
und der automatischen Verarbeitung von Emails hat sich so einiges getan.
Zusätzlich zu der sowieso die letzten Tage hinzugefügten Unterstützung von
neuen Business-Entities aus Gnucash in den Dateien.
2010-05-29
Repman: extrusion-problem identified
It would oszilate widely.
I just found the cause.
Now it´s just a matter of drilling the PTFE to it´s former diameter, making it flat again and turning it around.
2 New hot-ends will be on their way shortly anyway and I´m trying to get my hands
on some machined PTFE-tubes that could work better.
3d printer - heated bed version 2.5
2010-05-25
2010-05-20
An Open-Source Scanning Tunneling Microscope
An Open-Source Scanning Tunneling Microscope: "
Yesterday I ran into Jochen Klingelhoefer of Lab Minds. He introduced me to the SXM Project - a project to distribute an open-source scanning tunneling microscope (already working) and a scanning force microscope (under development).
How cool is that? Many of the parts are eminently reprappable too.
For details follow this link.
Just to whet your appetite, here is a picture of a 4 nm square area on the surface of a piece of graphite made with the microscope:
Note the atoms..."