Wednesday, September 7. 2022Kenwood TH-D72 on APRSDroidI managed to use APRSDroid (v1.6.2b) on a BlackView BV9900pro (Android 10) with a Kenwood TH-D72E TRX. It works, with a few caveats. The HT itself needs to be set to the same APRS settings as the TM-D710, which are:
One difference to the TM-D710 is that the TH-D72 has got native USB. Therefore, I also set PC Port Output (screen 350) to On. I connected the HT with a Mini-USB cable to a USB-OTG adapter which had a Micro-USB plug. Using a USB-C adapter, I connected it to the BV9900pro. A simple USB OTG app didn’t list any USB devices connected, though. I noticed I had to switch on “OTG data exchange” in Settings > System. Now APRSDroid showed a USB device connected, and I could start tracking. I noticed two caveats, which might be completely the smartphone’s fault. (It performs aggressive internal task killing which can’t even be entirely neutralized by rooting and modding.) Note that the “OTG data exchange” setting shows a description that it would be switched off when unused for 15 minutes. In my case, it switches off anyway, even if the phone’s screen is on and APRSDroid is tracking. The second issue is that when I switch to map mode while the USB connection is on, the app freezes and is cumbersome to stop and restart. I always have to switch off OTG first, then study the map, switch back to list view, activate OTG and start tracking again. Additional thoughts: The TH-D72 is an aging device. It was introduced in 2010, I bought it new when I got licensed in 2018, and it was discontinued soon after. It is still the only device available [besides the TH-D74] that offers an all-in-one solution for Packet/APRS/GPS that also works perfectly from Linux and Android. Although I’m a ham for a little time now, it always puzzles me how information can be so inaccessible to newbies: Only recently I managed to use Packet Radio at 1200 baud to
all of which are actually old-school meanwhile. It also took me four years to figure out APRS works directly between the HT and a smartphone or tablet. At least I established these options for me now. The TM-D710 disappeared from the market last year, and I was caught by surprise. After months of searching I could finally buy one used. This mobile TRX also offers APRS on-board which can be directly accessed from Linux.
Posted by Stephan Paukner
in Ham Radio, Information Technology
at
22:17
| Comment (1)
| Trackbacks (0)
Sunday, August 8. 2021Messing with CQRLOG data behind the applicationCurrently, in CQRLOG 2.5.1 of Ubuntu 21.04, QSL export for label printing is broken due to a FreePascal bug: TRegExpr exec: empty input string. Version 2.5.2 contains a fix, though. Now I had the choice between these unpleasent options:
Couldn’t I somehow work around that bug? After all, I just wanted to dump certain log entries to a CSV. This could be done using an ordinary MySQL client! And this is the procedure to do so: Start CQRLOG, this launches a MySQL (MariaDB) server instance in the CQRLOG data directory, which is ~/.config/cqrlog/database by default, listening on port 64000. Now, simply connect to it: $ mysql -h 127.0.0.1 -P 64000
Use the desired database: > use cqrlog001;
Query, using the columns you usually export: > select qsodate, time_on, callsign, mode, freq,
rst_s, qsl_via, remarks, stx, stx_string
into outfile ’/path/to/qsl_test.csv’
fields terminated by ’,’
from cqrlog_main
where qsl_s in (’SM
The resulting CSV is already almost in the usual format, except for the date. In Vim, I did these transformations: :%s/^\(\d\+\)-\(\d\+\)-\(\d\+\)/\3-\2-\1
:%s/-05-/-May-
:%s/-06-/-Jun-
:%s/-07-/-Jul- etc. As soon as I was satisfied with the result (in gLabels), I marked these QSL as sent: > update cqrlog_main set qsl_s = ’B’ where qsl_s = ’SB’;
> update cqrlog_main set qsl_s = ’M
Querying around in that table is also a good opportunity for one’s own statistics.
Posted by Stephan Paukner
in GNU/Linux, Ham Radio
at
19:51
| Comments (0)
| Trackbacks (0)
Defined tags for this entry: software
Friday, February 5. 2021Homeschooling als Krücke [Update]Ich muss diese Gedanken und Beobachtungen festhalten, einfach als Dokumentation: Das Chaos namens Eduvidual, die Pein des notdürftig organisierten digitalen Schulunterrichts fern der Schule, Der Remote-Unterrichtstag hat für uns, also Eltern und Sohn, oft so geendet, dass wir uns durch alle Kommunikationskanäle und Webseiten geklickt haben, um sicher zu gehen, dass wir ja nichts übersehen haben. Oft war nicht ersichtlich, erstens, ob, und zweitens, wenn ja, wo die Hausübung und/oder Schulübung hochzuladen sind. Eduvidual ist sehr verwinkelt, einmal findet man die zu erledigende HÜ im Reiter Hausübung, ein andermal im Reiter Allgemein. Auf der zerkachelten Startseite gibt es in einem kleinen Seitenwidget eine Agenda, aber die ist nur nach Abgabedatum sortiert, nicht nach „was war heute“. Irgendwann wird klar, das ist nur die Abgabe-Agenda, die Unterrichtsplanung findet sich in der Kalenderfunktion, die nichts mit der Agenda zu tun hat. Die Unterseite für das tagesspezifische Hochladen der HÜ beinhaltet nur genau die Hochlademöglichkeit, keine Hinweise auf den Auftragsinhalt. Im Microsoft Teams gibt es etliche „Mathematik 1b“ Kanäle, offenbar entsteht pro Unterrichtsstunde ein weiterer. Zum Glück erkenne ich dann, dass sie zeitlich sortiert sind. Dort ist aber auch nicht zu lesen, ob und wo/wie die SÜ/HÜ an die Lehrerin zu übermitteln sind. Zum Glück bekamen wir nach Nachfragen bei der Lehrerin (durch unseren Sohn im Teams-Chat) die Info, dass an dem Tag wirklich nichts dergleichen zu tun war. Oder: Die Musik-HÜ war im entsprechenden Bereich auf Eduvidual, wo es logisch gewesen wäre, nicht zu finden, sondern im Endeffekt im Teams-Chat namens „D-Videokonferenz“, darin gefunden anhand der Suchfunktion, weil natürlich nachfolgende Dialoge diese Stelle hochgescrollt haben. Apropos Chat, natürlich sind die Infos verstreut in Chats auf WhatsApp, MS Teams und Eduvidual selbst. Das Bedienen des PCs, der Applikationen am PC und der Webseiten im Rahmen des Remote-Unterrichts, die Digital-Analog-Digital-Konvertierung (runterladen, ausdrucken, ausfüllen, abfotografieren, hochladen), ist ein eigener Lernprozess, auch für mich als erfahrenen Computeranwender – denn ohne meine initiale Begleitung wäre das nicht so reibungslos verlaufen. (Dafür hatte ich mir schon im Vorhinein den Vormittag freigenommen.) Ich bin ohnehin positiv überrascht, dass mein Sohn sich damit recht schnell zurechtgefunden hat. Im allgemeinen denke ich aber, man darf nicht davon ausgehen, dass man mit den Kindern so kommunizieren kann, als wäre der Umgang mit dieser digitalen Krücke – es ist unterm Strich leider nur genau das – als selbstverständlich vorauszusetzen. Zum Beispiel, wenn ein Abgabetermin näher rückt oder gar verstreicht, und die Lehrerin das Kind deswegen auf digitalem Wege ermahnt, bin ich nicht sicher, ob diese Botschaft überhaupt richtig ankommt, und wenn, ob der mahnende Ton nicht prinzipiell ungerechtfertigt ist. Denn der Lernprozess, mit dieser Krücke gehen zu lernen, lenkt m.E. irrsinnig vom eigentlichen Lernprozess ab, nämlich dem des Schulstoffs. Ein „digitales Versäumnis“ darf dann m.E. nicht als Versäumnis im Schulstoff bewertet und damit auch nicht entsprechend benotet werden. Älteren Kindern, die sich die Erfahrung bereits erarbeitet haben, ist das vermutlich eher zuzumuten. Abgabetermine als künstliches Limit, z.B. Freitag 17 Uhr, sind sowas von willkürlich und unnötig. Wie kann die Schule/Lehrerin davon ausgehen, dass das Kind ein Arbeitsgerät besitzt, das zu der Zeit zugänglich ist? Vielleicht muss ein Elternteil ja sein Telework damit absolvieren, oder die Webplattform krepiert einem ohnehin mal wieder unter den Füßen weg? Oder was, wenn das Gerät überhaupt streikt? Wenn im Berufsleben ein Projekt nicht zustande kommt, wenn einfach nur das Gerät versagt, ist sogar das zu diskutieren, ob das dem/der Mitarbeiter/in anzulasten ist. Jungen Schülern kann man das sicher nicht abverlangen. Überhaupt passiert es viel zu leicht, dass digitale Information eingesperrt ist, gefangen in irgendwelchen Kommunikationskanälen, die sich nur auf einem bestimmten Gerät unter einem bestimmten Benutzeraccount und dort in einer bestimmten Applikation, und dort wieder in einem bestimmten Bereich, abrufen lassen – und die muss man erst aufstöbern. Manches ist noch auf einer Webplattform, manches schon auf der Festplatte in einem Ordner. (Das schlimmste Informationsgefängnis ist sowieso ein Video.) Sich hier mit dem Kind gemeinsam ein Organisationskonzept zurechtzuschneidern und nach diesem zu arbeiten, das braucht seine Zeit. Super war auch: Wie tritt man mit der Lehrerin in Kontakt, wenn man nach dem verstrichenen Abgabetermin doch noch ein Dokument übermitteln möchte? Erledigt war es ja, nur übermittelt halt nicht. (Wer sagt, „nicht abgegeben ist nicht abgegeben“, bekommt von mir einen Faustschlag verpasst.) Der Uploadbereich ist bereits künstlich gesperrt, im Eduvidual-Chat kann man keine Dateien senden. Man kann sich zum Profil der Lehrerin vorklicken, dort geht’s aber nicht weiter. Im Endeffekt hilft mir die Erfahrung: Im Outlook gibt es ein Adressbuch. So konnten wir der Lehrerin eine E-Mail mit Bitte um Berücksichtigung, inkl. Dateianhang, senden. Puh, mal wieder den Kampf gegen Digi-Goliath geschafft. Am nächsten Tag eine Eduvidual-Message von der Lehrerin an unseren Sohn: Ob er eine Frage hätte, denn sie hätte eine Kontaktanfrage von ihm erhalten. (Hä?) Fünf Tage später eine Antwort von ihr auf unsere ursprüngliche E-Mail: Sie könne leider erst jetzt antworten, denn sie hätte ihren E-Mail-Account erst jetzt freigeschaltet. (Die versäumte Abgabe ist zum Glück nicht negativ bewertet worden.) Ich höre von einem Kollegen (Softwareentwickler), dass er seiner Mutter (Lehrerin) immer wieder helfen musste, den Klassenkanal auf MS Teams einzurichten. Offensichtlich herrscht auf beiden Seiten der gleiche Frust, man stützt sich also auf beiden Seiten nur auf eine Krücke. Möglicherweise wird man das Schuljahr mit allen Defiziten einfach zum Abschluss bringen und diese Defizite im Jahr (oder den Jahren?) darauf langsam ausmerzen. (Wie das mit der Matura gehen soll, das wird noch interessant.) Ich denke nicht, dass Klassenwiederholungen im großen Stil stattfinden müssen. Immerhin herrscht ja nur eine Krise, keine Not. Ich sage seit einigen Jahren immer wieder mit Augenzwinkern: Wenn ich mal im Lotto gewinne, dann unterrichte ich meine Kinder selbst. So schlimm würde es meine Kids da nicht erwischen, denke ich. Addendum 24.02.Noch eine nette Geschichte: Angenommen, die Lehrer/in übermittelt einen Arbeitsauftrag und gibt versehentlich eine falsche Datei als Anhang mit. Es gibt de facto keine Möglichkeit, auf die Undurchführbarkeit der Aufgabe hinzuweisen. Eine weitere unglaublich nervenaufreibende Angelegenheit ist die Abwesenheit von Benachrichtigungen, die auf neu bereitgestellte oder geänderte Inhalte auf Eduvidual hinweisen. Man müsste de facto das einleitend beschriebene Durchklicken stündlich wiederholen, man müsste ständig pollen, ob nicht z.B. doch noch um 11:30 Uhr ein Arbeitsauftrag online gestellt worden ist, der bis um 17 Uhr zu erledigen gewesen wäre. Oida, geht’s noch? Die Hoffnung, mit der Moodle-App am Smartphone die Plattform näher in Griffweite zu haben, erfüllt sich nicht, denn dort werden gewisse Inhalte nicht wiedergegeben. Mittlerweile gibt es ja dieses herrlich chaotische Alternieren von Gruppe A, die Montag/Dienstag in der Schule ist, während Gruppe B zuhause Arbeitsaufträge bekommt, wonach Mittwoch/Donnerstag das ganze umgedreht wird, Freitag alle zuhause sind, und in der Woche darauf Gruppe A und B vertauschte Rollen haben. Nicht mitgekommen? Jawohl, korrekt! Die Kinder kommen völlig aus dem Rhythmus, wissen teilweise nicht, welcher Tag überhaupt ist, und ob nun Wochenende ist oder etwas zu tun ist – das erscheint so völlig unvermittelt und willkürlich. Gruppe A bekommt über Eduvidual einen Hinweis, dass am Montag eine Deutsch-Wiederholung ist, Gruppe B erfährt davon in der Schule nichts. Gruppe A erfährt in der Schule, dass nächste Woche Englischschularbeit ist, Gruppe B weiß zuhause von nichts. Schön langsam drängt sich der Gedanke auf, zu fordern, dieses Schuljahr nicht zu benoten. Wem ist eigentlich dieser „Gruppe A/B“-Scheiß eingefallen? Ich würde gerne dem Impuls nachgeben und meinen Sohn davon freisprechen, an diesem Theater teilzunehmen! Bisher haben viele still gehalten und diese Bürde auf sich genommen, es sollte ja alles nur eine vorübergehende Krücke sein. Wer ist schon gerne der Querulant und riskiert, dass dann der eigene Sprössling die Retourkutsche abbekommt? Es ist aber kein Ende abzusehen, es werden Maßnahmen angesichts eines epidemologischen Kipppunkts gelockert, beim Impfen geht auch nichts weiter, es werden zuerst Menschen geimpft, die auf der Intensivstation sowieso nicht mehr beatmet werden würden. Dann gehen die Egoisten auf die Straße und fordern ihr Lotterleben zurück, das niemandem jemals zugestanden ist. Bald werden Eltern vermehrt andere/weitere Probleme haben als nur die Schulbildung ihrer Kinder, nämlich existenzielle. Wird’s jetzt besser oder schlimmer? Meinem Gefühl nach müsste man Erleichterung ab ca. drei Monaten vorher langsam wahrnehmen können. Ich verspüre eher das Gegenteil davon. Friday, February 28. 2020Das Problem mit Artificial Intelligenceist genau das, worüber ich eh schon zwei Mal geschimpft habe: What. The. Frühstück. Oder? Es funktioniert einfach nicht. Man will Kosten sparen und ersetzt Brainpower durch Dosenpower, und die Rechnung geht einfach nicht auf. Ich meine, der Bot versucht ja nichtmal, absichtlich Rechtschreibfehler einzubauen und auf diese Weise authentisch zu wirken, wie es der (offenbar) menschliche Mitarbeiter dann getan hat, der in den Chat eingestiegen ist. Da gibt’s ja diese visionären Diagramme, die den Fortschritt im autonomen Automobil (auto-Auto) skizzieren, etwa so: Zuerst sind nur ein paar extra Sensoren eingebaut, sodass das Auto autonom einparken kann, danach kann der Fahrer überhaupt die meiste Zeit die Hände vom Lenkrad nehmen, und dann irgendwann sitzt er gegen die Fahrtrichtung und unterhält sich mit den Mitfahrern. Das wirkt wie eine Comicgeschichte mit einem Fortschritt nach dem anderen – eine schöne lineare Abfolge. Der Aufwand steigt allerdings viel eher exponentiell! Um eine Stufe weiter zu kommen, ist viel, viel mehr Aufwand zu treiben als beim vorigen Schritt, Aufwand im Sinne von Zeit, Kosten und Brainpower – und Dosenpower, allerdings nur im Sinne von Sensoren und Rechensklaven. Das zieht sich also noch. Allerdings: Wozu das ganze? Welches Problem wird dabei tatsächlich gelöst? Hat unsere Gesellschaft das Problem, dass zu viele Menschen schlecht Auto fahren? Ist es das, was wir lösen müssen? Wir leben im Überfluss, können den Hals nicht voll genug kriegen, und müssen das Autofahren unbedingt noch bequemer machen. So ein Luxusproblem. Oder diese netten Ideen, wie man noch mehr Prozessoren im Küchenalltag unterbringen könnte, mit Videoprojektionen, Augmented Reality und smarten Kühlschränken. There is nothing left to innovate in, everything is solved already. Mehr Luxus für das normale Volk. Irgendwie ist das für mich eine prototypische Erscheinung für das Zuviel des Guten.
Posted by Stephan Paukner
in Curiosities, Information Technology
at
20:31
| Comments (0)
| Trackbacks (0)
Wednesday, October 31. 2018Replace 0 with Ø in ham radio call signs using PerlSince ham radio call signs can contain both the letter O and the digit 0 at the same time, the zeros are often represented as a slashed zero in print. But because there's no ready-hand (Unicode) character for this, the letter Ø is used most often instead, since one cannot always use a monospace font which already represents the zero in slashed form. (This problem could also occur in other cases, such as printing hashes or codes.) There's a lot of ham radio logging software outside that supports a workflow for printing QSL cards or label stickers, and I'm not sure if any of these supports the replacement of zeros with Ø before print—only in call signs, and not in other data such as date, time or frequency. The software I use on Ubuntu, CQRLOG, exports QSOs into a CSV file that can be read in by gLabels to perform or prepare the actual print. I wanted a step in between that transforms that CSV file by substituting that Ø only in call signs. It took me some time, but here's my solution (showing a bogus CSV line): $ echo "30-Oct-2018,12:04,AB0/K100ABC/P,14.104,F0und AA2/YZ300ZY/0" \
> | perl -pe '1 while s|(.*[A-Z0-9][A-Z0-9/]+)+0([A-Z0-9/]*.*)|\1Ø\2|g'
30-Oct-2018,12:04,ABØ/K1ØØABC/P,14.104,F0und AA2/YZ3ØØZY/Ø
I stuffed this regex pattern into this alias: alias qsl0='src=$HOME/path/to/qsl.csv; \
cp -p $src $src.orig; \ perl -pe \ "1 while s|(.*[A-Z0-9][A-Z0-9/]+)+0([A-Z0-9/]*.*)|\1Ø\2|g" \ < $src.orig > $src' Update: Fixed the pattern to allow prefixes that start with a digit.
Posted by Stephan Paukner
in Ham Radio, Information Technology
at
08:29
| Comment (1)
| Trackbacks (0)
Defined tags for this entry: programming, software
Monday, April 16. 2018My anti crypto coins rantMy experiment with crypto coins is over. (No, these are no currencies.) Last summer, when the crypto hype started taking off, I decided to get my hands dirty and to learn what’s up with this stuff. I decided to spend around €50 on each of a few established crypto coins and expected to lose them all. My take-away now is: I’m so glad I got everything back into real money. Crypto coins are a fad and will not revolutionize anything in this shape but scam. Crypto coins only work in times of (relative) stability and working infrastructure. Crypto coins are no way to protect wealth from disasters such as weather, government, nuclear meltdown or financial system meltdown. Crypto coins need way too much energy, they live in a world of busily buzzing networks and heated-up CPUs and GPUs. All this crypto stuff is not ready for prime time (or has its prime time already passed?), it’s much too complicated, you have to have too much and too deep technical knowledge to be able to handle your funds. Here are some examples I experienced myself:
It might well be that blockchain and smart contracts reach a plateau of productivity one day, but I downright hope that crypto coins will not. Mining rigs are placed in containers next to power plants! Finance portals publish crypto reports as if these were a regular asset class! For the times ahead, better invest into something tangible or into capital that cannot be raided, like social capital or knowledge capital. I want to know something, be able to do and rely on something that does not depend on a running and ever-consuming industrial infrastructure. Wednesday, January 10. 2018Tresorit Solo now +1 TB for freeI noticed that Tresorit Solo suddenly ramped up total space from 1 TB to 2 TB without any notice or extra charges. I hope this change is permanent. Btw, since my (somewhat forced) migration from Wuala 2½ years ago I’m even more convinced of their service. Their clients for Windows, GNU/Linux & Android are very convenient and reliable. Recently they made a big revamp of their visual appearance and clients (even that for Linux). The only thing that’s a bit odd is that they make artificial restrictions to file and directory names. In earlier versions, these files were simply and silently(!) not uploaded if they ended with a blank or dot. I was surprised and slightly shocked that these files were simply not protected, without being aware of it. Luckily, with their recent client updates, there’s now a possibility to view a list of affected files. Boy, was I surprised that there were even more restrictions: They disallow characters that Windows does not support in file names, such as : ? " < > |
In addition, there are name collisions reported when file names only differ in capitalization, all of which are perfect features of Linux file systems that I got used to over the years. Another thing is hidden directories in Linux, which start with a dot. Some day they simply and silently didn’t get uploaded anymore. Luckily, I didn’t have to rename that many files and directories, but they were in the dozens, though. Other users could be off much worse. Finally, after renaming, those affected files got uploaded—they were in the hundreds, and I had thought they’d already been in the cloud since months. Apart from that, I can fully recommend their service, even more now that they cost me 0.09 €/GB per year. Thursday, December 14. 2017Working around the Yahoo Finance API shutdown disasterA roaring went through the tech-savvy finance community when Yahoo suddenly shut down its Finance API on Nov 1, 2017. Dozens of libraries and scripts that had parsed HTTP output from this API for years ceased to work. No longer could libraries such as Finance::Quote query prices of stocks, funds and currencies and hand these over to other applications such as GnuCash. By using Finance::Quote—I even wrote an extension module for it—I was affected as well, and finally I stumbled upon a solution: Version 1.41 recently introduced an Alpha Vantage module, and querying this source instead of Yahoo is straightforward. Unfortunately, using Debian or Ubuntu one has to install this version from source, but it's not that hard to do. And for using Alpha Vantage, you have to register for an API key, but that's also no issue. One of the things that still don't work is currency conversion, as that module is still tied to Yahoo's interface. Alpha Vantage does provide currency conversion through its API, though. Looking at AlphaVantage.pm I recreated a simple Perl logic to perform currency conversion. Note that I haven't packed it into a real Finance::Quote module, it's just a simple Perl script that Works For Me™. For simplicity, I don't do any error handling. It relies on an environment variable that contains the API key. Here's how I did it: #!/usr/bin/perl -w
use lib '/home/user/lib/perl'; #not needed#use Finance::Quote; #debug#use Data::Dumper; use JSON qw( decode_json ); use HTTP::Request::Common; my $pair = $ARGV[0]; # e.g. "XAU:EUR" for gold price in Euro @curr = split( /:/, $pair ); my $API_KEY = $ENV{'ALPHAVANTAGE_API_KEY'}; $url = "https://www.alphavantage.co/query" . "?function=CURRENCY_EXCHANGE_RATE" . "&from_currency=" . $curr[0] . "&to_currency=" . $curr[1] . "&apikey=" . $API_KEY; $ua = LWP::UserAgent->new; $reply = $ua->request(GET $url); #debug#my $code = $reply->code; #debug#my $desc = HTTP::Status::status_message($code); my $body = $reply->content; my $json_data = JSON::decode_json $body; #debug#print Dumper(\$json_data); my %fx = %{$json_data->{'Realtime Currency Exchange Rate'}}; my $last_refresh = $fx{'6. Last Refreshed'}; $last_refresh = substr($last_refresh, 0, 10); # remove time my $isodate = substr($last_refresh, 0, 10); my $rate = $fx{'5. Exchange Rate'}; print $isodate . ' ' . $rate . "\n";
« previous page
(Page 16 of 16, totaling 126 entries)
|
AboutCalendar
QuicksearchCategoriesShow tagged entriesandroid anti-spam apache austria automobile bash bluetooth bug career cloud collecting comic cooking crypto cw debian diy dreams education electronics event fail fashion finance flickr fun gentoo geography german gnu-linux google google earth graphics guitar hardware history image processing internet kernel kids language lanzarote lhc lifestyle linkroll literature ltd machine learning making mathematics matlab microsoft migration movies munich music nautilus numismatics octave pdf perl philately philosophy phone photo gear photography physics podcast politics postfix private programming public transport rant religion review salzburg samsung science security shtf social web software statistics storage sustainability symbian tablet time lapse transceiver tv usenet venice video virtualization wordplay work www yahoo youtube
Bookmarks
Powered by |