For noen dager siden ble jeg tipset av min venn Andreas -Aanerud om at magasinet -Pegasus skulle ta i bruk -Creative -Commons-lisensiering på sine artikler. Han fortalte at den -direkte årsaken var at han hadde blitt inspirert av å lese -boken -Fri kultur og foreslått endringen. Jeg ble veldig glad for å høre -dette, da det er det første konkrete tilfellet jeg har hørt om der den -norske oversettelsen av -Lawrence Lessigs bok Free Culture som jeg ga ut i fjor høst hadde -fått noen til å ta i bruk Creative Commons.
- -Andreas fikk boken av meg som takk for at han inviterte meg til -The Gathering, og jeg er veldig -glad for at den falt i smak. Jeg ble nysgjerrig på hva som var -bakgrunnen for denne policy-endringen hos Hyperion og han sa seg -villig til å la seg intervjue til bloggen min.
- -- -- -Hvilke tanker gjorde du deg da boken lå i hånden første -gang?
- -Jeg husker da jeg fikk boken, etter en omvisning på The Gathering i -2016, der jeg var Core Organizer. The Gathering er jo et sted hvor en -fremmer delingskultur, i alt fra kode, til løsninger og «hacks», så en -kan vel si at boken er veldig relevant!
- -Mine første tanker om boken, var at den trengte et grafisk løft. -Selv har jeg dysleksi og er ikke verdens beste i å lese, men for meg -så skal ikke det bety at jeg ikke klarer å lese. Jeg har jo også mine -egne tanker om «Fri kultur», ettersom jeg har jobbet med noen norske -filmer via NRK og TV2 og nå sitter som en teknisk leder i -filmavdelingen til Schjærven Reklamebyrå.
- -Har du lest boken, og hva tenker du om den nå?
- -Jeg har lest boken, og for meg er det jo veldig moro å kunne si at -Disney var en pirat og nå ha bevisene. Men det å gå fra Disney via -RIAA, og så igjennom en jungel av teknikk og programmering og ende opp -med spørsmålet om vi alle piratkopierer litt, er enda bedre. For ja, -boken klarer å få frem en diskusjon om åndsverk på en god måte -gjennom en samling historier, men den viste meg også et bilde, hvor -teknologi blir kneblet, og ikke får lov til å utvikle seg, ettersom -«opphavsrettsinnehaverne» bryr seg mer om sin industri enn om verden -går fremover. Ta f.eks. internettradio! Hvorfor tuller vi med DAB+ -og alt det der, når radio kan være en app på alle telefoner i dag. -Men den største tanken som jeg satt igjen med, er at vi må få færre -advokater og flere tenkere som kan dra oss vekk fra de feilene vi er i -ferd med å ende opp i.
- -Har budskapet i boken påvirker deg og det du holder på -med?
- -The Gathering sin moderforening er -KANDU, som er et stolt medlem av Hyperion. Hyperion har et mandat igjennom -sitt interne magasin Pegasus å fremme Hyperion sine -medlemsarrangementer og kultur. Dette tror jeg er veldig viktig, og en -av de viktigste virkemidlene det magasinet nå har fått, er pålegget om -å publisere alt under de forskjellige Creative Commons -retningslinjer. Grunnen til at Pegasus kan velge fritt blant lisensene -til Creative Commons er deres bruk av freelancere m.m. som også må få -sine rettigheter dekket.
- -Det er et steg i riktig retning som jeg håper, vil gi lokalaviser, -nasjonale aviser, bloggere m.m. muligheten til å referere til Pegasus -sitt innhold uten å måtte be om tillatelse først, som i bunnen vil -hjelpe oss å spre vår kultur i Hyperion.
- -Hva fikk Pegasus til å vedta retninglinjer om bruk av -Creative Commons, og hvordan kom dere frem til en slik -policy?
- -Dette skjedde på Hyperion sitt landsting, hvor jeg ønsket å fremme -Creative Commons som en retning som flere mener magasinet burde ta, -hvordan Pegasus tar det i bruk er mer opp til redaksjonen. Det som var -trist er at en del har misforstått hva Creative Commons er. Vi fikk -en veldig het «debatt» på facebook i etterkant hvor noen blant annet -mener at dette vedtaket har drept Pegasus.
- -Personlig syntes jeg disse reaksjonene er rare, ettersom Pegasus er -et medlemsmagasin og magasinet sitt mål er å spre vår fantastiske -kultur. Jeg mener at Ceative Commons-bruksvilkår på artikler skaper -en veldig god mulighet til å spre denne kulturen. Det gjør at større -og mindre aviser kan låne artikler fra medlemsmagasinet og publisere -det hos seg, slik at effekten nettopp er fremme vår kultur.
- -Jeg gleder meg til å se hvordan redaksjonen håndhever bruken av -Creative Commons.
- -Hvem tror du kunne ha mest nytte av å lese Fri -kultur?
- -Jeg tror at boken Fri kultur bør leses av de som ønsker en debatt -om nye medier, samt de som jobber med medier og føler seg «truet» av -utviklingen. Kanskje det kan være et lysglimt om at vi må heller være -med å utvikle oss, enn å stoppe opp og «beskytte» våre eier-, penge- -og materielle interesser.
- -Spørsmålet for redaksjoner vil vel være om de «tjener» på klikk og -sine artikler via annonser, i så fall ville jeg tenkt litt rundt -spredningen. Nettavisen Digi.no gjorde en analyse i 2015 som var -veldig fin. Hvor de måtte konkludere med at de fikk ut budskapet -bedre, men de mistet inntekter på annonsevisning.
- -Derfor for et magasin som skal «spre» kultur, så burde Creative -Commons være en no-brainer, en kunne også kanskje argumentere med at -NRK også burde gjøre dette, ettersom de ikke lever av reklame, og vi -betaler for innholdet deres.
- -Kommer du til å anbefale boken til noen du -kjenner?
- -Absolutt! Jeg har faktisk tenkt å gi den videre som en vandrebok, -til redaksjonen i Pegasus slik at de kan lese den og få noen ider og -tanker om fri kultur.
- -Du sier at boken klarer å få frem viktig en diskusjon om - vern av åndsverk. Boken er jo skrevet med bakgrunn i USAs - Copyright-lovgiving og ikke den norske åndsverksloven. Hva gjør at - du mener boken er relevant for den norske debatten?
- -En av tingene boken pekte på var tanken om hvor opphavsretten skal -ligge. Skal den ligge hos den som skriver sangen, den som fremfører -eller den som tar opp sangen. Og når spørsmålet kom tilbake i en -software-utgave, «hvordan kan Adobe styre opphavsretten i sin eBook -Publisher» så føler jeg at vi kommer inn på spennende tanker som jeg -mener vi glemmer i norsk åndsverksdebatt. USA har rett å slett et -«større bilde» som kanskje vi kan ta lærdom av.
- -
Jeg er veldig spent på hvordan redaksjonen i Pegasus kommer til å -ta i bruk Creative Commons, og gleder meg til neste tegn på at -bokutgivelsen har fått noen til å tenke mer på problemene med dagens -åndsverksvern.
+ +As part of my involvement in +the Nikita +archive API project, I've been importing a fairly large lump of +emails into a test instance of the archive to see how well this would +go. I picked a subset of my +notmuch email database, all public emails sent to me via +@lists.debian.org, giving me a set of around 216 000 emails to import. +In the process, I had a look at the various attachments included in +these emails, to figure out what to do with attachments, and noticed +that one of the most common attachment formats do not have +an +official MIME type registered with IANA/IETF. The output from +diff, ie the input for patch, is on the top 10 list of formats +included in these emails. At the moment people seem to use either +text/x-patch or text/x-diff, but neither is officially registered. It +would be better if one official MIME type were registered and used +everywhere.
+ +To try to get one official MIME type for these files, I've brought +up the topic on +the +media-types mailing list. If you are interested in discussion +which MIME type to use as the official for patch files, or involved in +making software using a MIME type for patches, perhaps you would like +to join the discussion?
+ +As usual, if you use Bitcoin and want to show your support of my +activities, please send Bitcoin donations to my address +15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.
The Coz profiler, a nice -profiler able to run benchmarking experiments on the instrumented -multi-threaded program, finally -made it into -Debian unstable yesterday. LluÃs Vilanova and I have spent many -months since -I -blogged about the coz tool in August working with upstream to make -it suitable for Debian. There are still issues with clang -compatibility, inline assembly only working x86 and minimized -JavaScript libraries.
- -To test it, install 'coz-profiler' using apt and run it like this:
- --coz run --- /path/to/binary-with-debug-info -- -
This will produce a profile.coz file in the current working -directory with the profiling information. This is then given to a -JavaScript application provided in the package and available from -a project web page. -To start the local copy, invoke it in a browser like this:
- --sensible-browser /usr/share/coz-profiler/viewer/index.htm -- -
See the project home page and the -USENIX -;login: article on Coz for more information on how it is -working.
+ +My current home stereo is a patchwork of various pieces I got on +flee markeds over the years. It is amazing what kind of equipment +show up there. I've been wondering for a while if it was possible to +measure how well this equipment is working together, and decided to +see how far I could get using free software. After trawling the web I +came across an article from DIY Audio and Video on +Speaker +Testing and Analysis describing how to test speakers, and it listing +several software options, among them +AUDio MEasurement +System (AUDMES). It is the only free software system I could find +focusing on measuring speakers and audio frequency response. In the +process I also found an interesting article from NOVO on +Understanding +Speaker Specifications and Frequency Response and an article from +ecoustics on +Understanding +Speaker Frequency Response, with a lot of information on what to +look for and how to interpret the graphs. Armed with this knowledge, +I set out to measure the state of my speakers.
+ +The first hurdle was that AUDMES hadn't seen a commit for 10 years +and did not build with current compilers and libraries. I got in +touch with its author, who no longer was spending time on the program +but gave me write access to the subversion repository on Sourceforge. +The end result is that now the code build on Linux and is capable of +saving and loading the collected frequency response data in CSV +format. The application is quite nice and flexible, and I was able to +select the input and output audio interfaces independently. This made +it possible to use a USB mixer as the input source, while sending +output via my laptop headphone connection. I lacked the hardware and +cabling to figure out a different way to get independent cabling to +speakers and microphone.
+ +Using this setup I could see how a large range of high frequencies +apparently were not making it out of my speakers. The picture show +the frequency response measurement of one of the speakers. Note the +frequency lines seem to be slightly misaligned, compared to the CSV +output from the program. I can not hear several of these are high +frequencies, according to measurement from +Free Hearing Test +Software, an freeware system to measure your hearing (still +looking for a free software alternative), so I do not know if they are +coming out out the speakers. I thus do not quite know how to figure +out if the missing frequencies is a problem with the microphone, the +amplifier or the speakers, but I managed to rule out the audio card in my +PC by measuring my Bose noise canceling headset using its own +microphone. This setup was able to see the high frequency tones, so +the problem with my stereo had to be in the amplifier or speakers.
+ +Anyway, to try to role out one factor I ended up picking up a new +set of speakers at a flee marked, and these work a lot better than the +old speakers, so I guess the microphone and amplifier is OK. If you +need to measure your own speakers, check out AUDMES. If more people +get involved, perhaps the project could become good enough to +include in Debian? And if +you know of some other free software to measure speakers and amplifier +performance, please let me know. I am aware of the freeware option +REW, but I want something +that can be developed also when the vendor looses interest.
+ +As usual, if you use Bitcoin and want to show your support of my +activities, please send Bitcoin donations to my address +15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.
A few days ago I ran a very biased and informal survey to get an -idea about what options are being used to communicate with end to end -encryption with friends and family. I explicitly asked people not to -list options only used in a work setting. The background is the -uneasy feeling I get when using Signal, a feeling shared by others as -a blog post from Sander Venima about -why -he do not recommend Signal anymore (with -feedback from -the Signal author available from ycombinator). I wanted an -overview of the options being used, and hope to include those options -in a less biased survey later on. So far I have not taken the time to -look into the individual proposed systems. They range from text -sharing web pages, via file sharing and email to instant messaging, -VOIP and video conferencing. For those considering which system to -use, it is also useful to have a look at -the EFF Secure -messaging scorecard which is slightly out of date but still -provide valuable information.
- -So, on to the list. There were some used by many, some used by a -few, some rarely used ones and a few mentioned but without anyone -claiming to use them. Notice the grouping is in reality quite random -given the biased self selected set of participants. First the ones -used by many:
- - - -Then the ones used by a few.
- --
-
-
- Mumble -
- iMessage (included in iOS from Apple) -
- Telegram -
- Jitsi -
- Keybase file - -
Then the ones used by even fewer people
- --
-
-
- Ring -
- Bitmessage -
- Wire -
- VoIP w/ZRTP or controlled SRTP (e.g using CSipSimple, Linphone) -
- Matrix -
- Kontalk -
- 0bin (encrypted pastebin) -
- Appear.in -
- riot -
- Wickr Me - -
And finally the ones mentioned by not marked as used by -anyone. This might be a mistake, perhaps the person adding the entry -forgot to flag it as used?
+ +Bittorrent is as far as I know, currently the most efficient way to +distribute content on the Internet. It is used all by all sorts of +content providers, from national TV stations like +NRK, Linux distributors like +Debian and +Ubuntu, and of course the +Internet archive. + +
Almost a month ago +a new +package adding Bittorrent support to VLC became available in +Debian testing and unstable. To test it, simply install it like +this:
--
+
+apt install vlc-plugin-bittorrent +-
Since the plugin was made available for the first time in Debian, +several improvements have been made to it. In version 2.2-4, now +available in both testing and unstable, a desktop file is provided to +teach browsers to start VLC when the user click on torrent files or +magnet links. The last part is thanks to me finally understanding +what the strange x-scheme-handler style MIME types in desktop files +are used for. By adding x-scheme-handler/magnet to the MimeType entry +in the desktop file, at least the browsers Firefox and Chromium will +suggest to start VLC when selecting a magnet URI on a web page. The +end result is that now, with the plugin installed in Buster and Sid, +one can visit any +Internet +Archive page with movies using a web browser and click on the +torrent link to start streaming the movie.
+ +Note, there is still some misfeatures in the plugin. One is the +fact that it will hang and +block VLC +from exiting until the torrent streaming starts. Another is the +fact that it +will pick +and play a random file in a multi file torrent. This is not +always the video file you want. Combined with the first it can be a +bit hard to get the video streaming going. But when it work, it seem +to do a good job.
+ +For the Debian packaging, I would love to find a good way to test +if the plugin work with VLC using autopkgtest. I tried, but do not +know enough of the inner workings of VLC to get it working. For now +the autopkgtest script is only checking if the .so file was +successfully loaded by VLC. If you have any suggestions, please +submit a patch to the Debian bug tracking system.
- - -Given the network effect it seem obvious to me that we as a society -have been divided and conquered by those interested in keeping -encrypted and secure communication away from the masses. The -finishing remarks from Aral Balkan -in his talk "Free is a lie" about the usability of free software -really come into effect when you want to communicate in private with -your friends and family. We can not expect them to allow the -usability of communication tool to block their ability to talk to -their loved ones.
- -Note for example the option IRC w/OTR. Most IRC clients do not -have OTR support, so in most cases OTR would not be an option, even if -you wanted to. In my personal experience, about 1 in 20 I talk to -have a IRC client with OTR. For private communication to really be -available, most people to talk to must have the option in their -currently used client. I can not simply ask my family to install an -IRC client. I need to guide them through a technical multi-step -process of adding extensions to the client to get them going. This is -a non-starter for most.
- -I would like to be able to do video phone calls, audio phone calls, -exchange instant messages and share files with my loved ones, without -being forced to share with people I do not know. I do not want to -share the content of the conversations, and I do not want to share who -I communicate with or the fact that I communicate with someone. -Without all these factors in place, my private life is being more or -less invaded.
+As usual, if you use Bitcoin and want to show your support of my +activities, please send Bitcoin donations to my address +15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.
A while back I received a Gyro sensor for the NXT -Mindstorms controller as a birthday -present. It had been on my wishlist for a while, because I wanted to -build a Segway like balancing lego robot. I had already built -a simple balancing -robot with the kids, using the light/color sensor included in the -NXT kit as the balance sensor, but it was not working very well. It -could balance for a while, but was very sensitive to the light -condition in the room and the reflective properties of the surface and -would fall over after a short while. I wanted something more robust, -and had -the -gyro sensor from HiTechnic I believed would solve it on my -wishlist for some years before it suddenly showed up as a gift from my -loved ones. :)
- -Unfortunately I have not had time to sit down and play with it -since then. But that changed some days ago, when I was searching for -lego segway information and came across a recipe from HiTechnic for -building -the -HTWay, a segway like balancing robot. Build instructions and -source -code was included, so it was just a question of putting it all -together. And thanks to the great work of many Debian developers, the -compiler needed to build the source for the NXT is already included in -Debian, so I was read to go in less than an hour. The resulting robot -do not look very impressive in its simplicity:
- -Because I lack the infrared sensor used to control the robot in the -design from HiTechnic, I had to comment out the last task -(taskControl). I simply placed /* and */ around it get the program -working without that sensor present. Now it balances just fine until -the battery status run low:
- - - -Now we would like to teach it how to follow a line and take remote -control instructions using the included Bluetooth receiver in the NXT.
- -If you, like me, love LEGO and want to make sure we find the tools -they need to work with LEGO in Debian and all our derivative -distributions like Ubuntu, check out -the LEGO designers -project page and join the Debian LEGO team. Personally I own a -RCX and NXT controller (no EV3), and would like to make sure the -Debian tools needed to program the systems I own work as they -should.
+ +This morning, the new release of the +Nikita +Noark 5 core project was +announced +on the project mailing list. The free software solution is an +implementation of the Norwegian archive standard Noark 5 used by +government offices in Norway. These were the changes in version 0.2 +since version 0.1.1 (from NEWS.md): + +
-
+
- Fix typos in REL names +
- Tidy up error message reporting +
- Fix issue where we used Integer.valueOf(), not Integer.getInteger() +
- Change some String handling to StringBuffer +
- Fix error reporting +
- Code tidy-up +
- Fix issue using static non-synchronized SimpleDateFormat to avoid + race conditions +
- Fix problem where deserialisers were treating integers as strings +
- Update methods to make them null-safe +
- Fix many issues reported by coverity +
- Improve equals(), compareTo() and hash() in domain model +
- Improvements to the domain model for metadata classes +
- Fix CORS issues when downloading document +
- Implementation of case-handling with registryEntry and document upload +
- Better support in Javascript for OPTIONS +
- Adding concept description of mail integration +
- Improve setting of default values for GET on ny-journalpost +
- Better handling of required values during deserialisation +
- Changed tilknyttetDato (M620) from date to dateTime +
- Corrected some opprettetDato (M600) (de)serialisation errors. +
- Improve parse error reporting. +
- Started on OData search and filtering. +
- Added Contributor Covenant Code of Conduct to project. +
- Moved repository and project from Github to Gitlab. +
- Restructured repository, moved code into src/ and web/. +
- Updated code to use Spring Boot version 2. +
- Added support for OAuth2 authentication. +
- Fixed several bugs discovered by Coverity. +
- Corrected handling of date/datetime fields. +
- Improved error reporting when rejecting during deserializatoin. +
- Adjusted default values provided for ny-arkivdel, ny-mappe, + ny-saksmappe, ny-journalpost and ny-dokumentbeskrivelse. +
- Several fixes for korrespondansepart*. +
- Updated web GUI:
+
-
+
- Now handle both file upload and download. +
- Uses new OAuth2 authentication for login. +
- Forms now fetches default values from API using GET. +
- Added RFC 822 (email), TIFF and JPEG to list of possible file formats. +
+
The changes and improvements are extensive. Running diffstat on +the changes between git tab 0.1.1 and 0.2 show 1098 files changed, +108666 insertions(+), 54066 deletions(-).
+ +If free and open standardized archiving API sound interesting to +you, please contact us on IRC +(#nikita on +irc.freenode.net) or email +(nikita-noark +mailing list).
+ +As usual, if you use Bitcoin and want to show your support of my +activities, please send Bitcoin donations to my address +15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.
Jeg ble så imponert over -dagens -gladnyhet på NRK, om at Forbrukerrådet klager inn vilkårene for -bruk av aktivitetsbånd fra Fitbit, Garmin, Jawbone og Mio til -Datatilsynet og forbrukerombudet, at jeg sendte følgende brev til -forbrukerrådet for å uttrykke min støtte: - -
- -- -Jeg ble veldig glad over å lese at Forbrukerrådet -klager -inn flere aktivitetsbånd til Datatilsynet for dårlige vilkår. Jeg -har ønsket meg et aktivitetsbånd som kan måle puls, bevegelse og -gjerne også andre helserelaterte indikatorer en stund nå. De eneste -jeg har funnet i salg gjør, som dere også har oppdaget, graverende -inngrep i privatsfæren og sender informasjonen ut av huset til folk og -organisasjoner jeg ikke ønsker å dele aktivitets- og helseinformasjon -med. Jeg ønsker et alternativ som ikke sender informasjon til -skyen, men derimot bruker -en -fritt og åpent standardisert protokoll (eller i det minste en -dokumentert protokoll uten patent- og opphavsrettslige -bruksbegrensinger) til å kommunisere med datautstyr jeg kontrollerer. -Er jo ikke interessert i å betale noen for å tilrøve seg -personopplysninger fra meg. Desverre har jeg ikke funnet noe -alternativ så langt.
- -Det holder ikke å endre på bruksvilkårene for enhetene, slik -Datatilsynet ofte legger opp til i sin behandling, når de gjør slik -f.eks. Fitbit (den jeg har sett mest på). Fitbit krypterer -informasjonen på enheten og sender den kryptert til leverandøren. Det -gjør det i praksis umulig både å sjekke hva slags informasjon som -sendes over, og umulig å ta imot informasjonen selv i stedet for -Fitbit. Uansett hva slags historie som forteller i bruksvilkårene er -en jo både prisgitt leverandørens godvilje og at de ikke tvinges av -sitt lands myndigheter til å lyve til sine kunder om hvorvidt -personopplysninger spres ut over det bruksvilkårene sier. Det er -veldokumentert hvordan f.eks. USA tvinger selskaper vha. såkalte -National security letters til å utlevere personopplysninger samtidig -som de ikke får lov til å fortelle dette til kundene sine.
- -Stå på, jeg er veldig glade for at dere har sett på saken. Vet -dere om aktivitetsbånd i salg i dag som ikke tvinger en til å utlevere -aktivitets- og helseopplysninger med leverandøren?
- -
Jeg håper en konkurrent som respekterer kundenes privatliv klarer å -nå opp i markedet, slik at det finnes et reelt alternativ for oss som -har full tillit til at skyleverandører vil prioritere egen inntjening -og myndighetspålegg langt foran kundenes rett til privatliv. Jeg har -ingen tiltro til at Datatilsynet vil kreve noe mer enn at vilkårene -endres slik at de forklarer eksplisitt i hvor stor grad bruk av -produktene utraderer privatsfæren til kundene. Det vil nok gjøre de -innklagede armbåndene «lovlige», men fortsatt tvinge kundene til å -dele sine personopplysninger med leverandøren.
+ +I have earlier covered the basics of trusted timestamping using the +'openssl ts' client. See blog post for +2014, +2016 +and +2017 +for those stories. But some times I want to integrate the timestamping +in other code, and recently I needed to integrate it into Python. +After searching a bit, I found +the +rfc3161 library which seemed like a good fit, but I soon +discovered it only worked for python version 2, and I needed something +that work with python version 3. Luckily I next came across +the rfc3161ng library, +a fork of the original rfc3161 library. Not only is it working with +python 3, it have fixed a few of the bugs in the original library, and +it has an active maintainer. I decided to wrap it up and make it +available in +Debian, and a few days ago it entered Debian unstable and testing.
+ +Using the library is fairly straight forward. The only slightly +problematic step is to fetch the required certificates to verify the +timestamp. For some services it is straight forward, while for others +I have not yet figured out how to do it. Here is a small standalone +code example based on of the integration tests in the library code:
+ ++#!/usr/bin/python3 + +""" + +Python 3 script demonstrating how to use the rfc3161ng module to +get trusted timestamps. + +The license of this code is the same as the license of the rfc3161ng +library, ie MIT/BSD. + +""" + +import os +import pyasn1.codec.der +import rfc3161ng +import subprocess +import tempfile +import urllib.request + +def store(f, data): + f.write(data) + f.flush() + f.seek(0) + +def fetch(url, f=None): + response = urllib.request.urlopen(url) + data = response.read() + if f: + store(f, data) + return data + +def main(): + with tempfile.NamedTemporaryFile() as cert_f,\ + tempfile.NamedTemporaryFile() as ca_f,\ + tempfile.NamedTemporaryFile() as msg_f,\ + tempfile.NamedTemporaryFile() as tsr_f: + + # First fetch certificates used by service + certificate_data = fetch('https://freetsa.org/files/tsa.crt', cert_f) + ca_data_data = fetch('https://freetsa.org/files/cacert.pem', ca_f) + + # Then timestamp the message + timestamper = \ + rfc3161ng.RemoteTimestamper('http://freetsa.org/tsr', + certificate=certificate_data) + data = b"Python forever!\n" + tsr = timestamper(data=data, return_tsr=True) + + # Finally, convert message and response to something 'openssl ts' can verify + store(msg_f, data) + store(tsr_f, pyasn1.codec.der.encoder.encode(tsr)) + args = ["openssl", "ts", "-verify", + "-data", msg_f.name, + "-in", tsr_f.name, + "-CAfile", ca_f.name, + "-untrusted", cert_f.name] + subprocess.check_call(args) + +if '__main__' == __name__: + main() ++ +
The code fetches the required certificates, store them as temporary +files, timestamp a simple message, store the message and timestamp to +disk and ask 'openssl ts' to verify the timestamp. A timestamp is +around 1.5 kiB in size, and should be fairly easy to store for future +use.
+ +As usual, if you use Bitcoin and want to show your support of my +activities, please send Bitcoin donations to my address +15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.
In July -I -wrote how to get the Signal Chrome/Chromium app working without -the ability to receive SMS messages (aka without a cell phone). It is -time to share some experiences and provide an updated setup.
- -The Signal app have worked fine for several months now, and I use -it regularly to chat with my loved ones. I had a major snag at the -end of my summer vacation, when the the app completely forgot my -setup, identity and keys. The reason behind this major mess was -running out of disk space. To avoid that ever happening again I have -started storing everything in userdata/ in git, to be able to -roll back to an earlier version if the files are wiped by mistake. I -had to use it once after introducing the git backup. When rolling -back to an earlier version, one need to use the 'reset session' option -in Signal to get going, and notify the people you talk with about the -problem. I assume there is some sequence number tracking in the -protocol to detect rollback attacks. The git repository is rather big -(674 MiB so far), but I have not tried to figure out if some of the -content can be added to a .gitignore file due to lack of spare -time.
- -I've also hit the 90 days timeout blocking, and noticed that this -make it impossible to send messages using Signal. I could still -receive them, but had to patch the code with a new timestamp to send. -I believe the timeout is added by the developers to force people to -upgrade to the latest version of the app, even when there is no -protocol changes, to reduce the version skew among the user base and -thus try to keep the number of support requests down.
- -Since my original recipe, the Signal source code changed slightly, -making the old patch fail to apply cleanly. Below is an updated -patch, including the shell wrapper I use to start Signal. The -original version required a new user to locate the JavaScript console -and call a function from there. I got help from a friend with more -JavaScript knowledge than me to modify the code to provide a GUI -button instead. This mean that to get started you just need to run -the wrapper and click the 'Register without mobile phone' to get going -now. I've also modified the timeout code to always set it to 90 days -in the future, to avoid having to patch the code regularly.
- -So, the updated recipe for Debian Jessie:
- --
-
-
- First, install required packages to get the source code and the
-browser you need. Signal only work with Chrome/Chromium, as far as I
-know, so you need to install it.
-
-
-apt install git tor chromium -git clone https://github.com/WhisperSystems/Signal-Desktop.git -
-
- - Modify the source code using command listed in the the patch -block below. - -
- Start Signal using the run-signal-app wrapper (for example using -`pwd`/run-signal-app). - -
- Click on the 'Register without mobile phone', will in a phone -number you can receive calls to the next minute, receive the -verification code and enter it into the form field and press -'Register'. Note, the phone number you use will be user Signal -username, ie the way others can find you on Signal. - -
- You can now use Signal to contact others. Note, new contacts do -not show up in the contact list until you restart Signal, and there is -no way to assign names to Contacts. There is also no way to create or -update chat groups. I suspect this is because the web app do not have -a associated contact database. - -
I am still a bit uneasy about using Signal, because of the way its -main author moxie0 reject federation and accept dependencies to major -corporations like Google (part of the code is fetched from Google) and -Amazon (the central coordination point is owned by Amazon). See for -example -the -LibreSignal issue tracker for a thread documenting the authors -view on these issues. But the network effect is strong in this case, -and several of the people I want to communicate with already use -Signal. Perhaps we can all move to Ring -once it work on my -laptop? It already work on Windows and Android, and is included -in Debian and -Ubuntu, but not -working on Debian Stable.
- -Anyway, this is the patch I apply to the Signal code to get it -working. It switch to the production servers, disable to timeout, -make registration easier and add the shell wrapper:
- --cd Signal-Desktop; cat <<EOF | patch -p1 -diff --git a/js/background.js b/js/background.js -index 24b4c1d..579345f 100644 ---- a/js/background.js -+++ b/js/background.js -@@ -33,9 +33,9 @@ - }); - }); - -- var SERVER_URL = 'https://textsecure-service-staging.whispersystems.org'; -+ var SERVER_URL = 'https://textsecure-service-ca.whispersystems.org'; - var SERVER_PORTS = [80, 4433, 8443]; -- var ATTACHMENT_SERVER_URL = 'https://whispersystems-textsecure-attachments-staging.s3.amazonaws.com'; -+ var ATTACHMENT_SERVER_URL = 'https://whispersystems-textsecure-attachments.s3.amazonaws.com'; - var messageReceiver; - window.getSocketStatus = function() { - if (messageReceiver) { -diff --git a/js/expire.js b/js/expire.js -index 639aeae..beb91c3 100644 ---- a/js/expire.js -+++ b/js/expire.js -@@ -1,6 +1,6 @@ - ;(function() { - 'use strict'; -- var BUILD_EXPIRATION = 0; -+ var BUILD_EXPIRATION = Date.now() + (90 * 24 * 60 * 60 * 1000); - - window.extension = window.extension || {}; - -diff --git a/js/views/install_view.js b/js/views/install_view.js -index 7816f4f..1d6233b 100644 ---- a/js/views/install_view.js -+++ b/js/views/install_view.js -@@ -38,7 +38,8 @@ - return { - 'click .step1': this.selectStep.bind(this, 1), - 'click .step2': this.selectStep.bind(this, 2), -- 'click .step3': this.selectStep.bind(this, 3) -+ 'click .step3': this.selectStep.bind(this, 3), -+ 'click .callreg': function() { extension.install('standalone') }, - }; - }, - clearQR: function() { -diff --git a/options.html b/options.html -index dc0f28e..8d709f6 100644 ---- a/options.html -+++ b/options.html -@@ -14,7 +14,10 @@ - <div class='nav'> - <h1>{{ installWelcome }}</h1> - <p>{{ installTagline }}</p> -- <div> <a class='button step2'>{{ installGetStartedButton }}</a> </div> -+ <div> <a class='button step2'>{{ installGetStartedButton }}</a> -+ <br> <a class="button callreg">Register without mobile phone</a> -+ -+ </div> - <span class='dot step1 selected'></span> - <span class='dot step2'></span> - <span class='dot step3'></span> ---- /dev/null 2016-10-07 09:55:13.730181472 +0200 -+++ b/run-signal-app 2016-10-10 08:54:09.434172391 +0200 -@@ -0,0 +1,12 @@ -+#!/bin/sh -+set -e -+cd $(dirname $0) -+mkdir -p userdata -+userdata="`pwd`/userdata" -+if [ -d "$userdata" ] && [ ! -d "$userdata/.git" ] ; then -+ (cd $userdata && git init) -+fi -+(cd $userdata && git add . && git commit -m "Current status." || true) -+exec chromium \ -+ --proxy-server="socks://localhost:9050" \ -+ --user-data-dir=$userdata --load-and-launch-app=`pwd` -EOF -chmod a+rx run-signal-app -+ +
A few days, I rescued a Windows victim over to Debian. To try to +rescue the remains, I helped set up automatic sync with Google Drive. +I did not find any sensible Debian package handling this +automatically, so I rebuild the grive2 source from +the Ubuntu UPD8 PPA to do the +task and added a autostart desktop entry and a small shell script to +run in the background while the user is logged in to do the sync. +Here is a sketch of the setup for future reference.
+ +I first created ~/googledrive, entered the directory and +ran 'grive -a' to authenticate the machine/user. Next, I +created a autostart hook in ~/.config/autostart/grive.desktop +to start the sync when the user log in:
+ ++ ++[Desktop Entry] +Name=Google drive autosync +Type=Application +Exec=/home/user/bin/grive-sync +
Finally, I wrote the ~/bin/grive-sync script to sync +~/googledrive/ with the files in Google Drive.
+ ++ ++#!/bin/sh +set -e +cd ~/ +cleanup() { + if [ "$syncpid" ] ; then + kill $syncpid + fi +} +trap cleanup EXIT INT QUIT +/usr/lib/grive/grive-sync.sh listen googledrive 2>&1 | sed "s%^%$0:%" & +syncpdi=$! +while true; do + if ! xhost >/dev/null 2>&1 ; then + echo "no DISPLAY, exiting as the user probably logged out" + exit 1 + fi + if [ ! -e /run/user/1000/grive-sync.sh_googledrive ] ; then + /usr/lib/grive/grive-sync.sh sync googledrive + fi + sleep 300 +done 2>&1 | sed "s%^%$0:%" +
Feel free to use the setup if you want. It can be assumed to be +GNU GPL v2 licensed (or any later version, at your leisure), but I +doubt this code is possible to claim copyright on.
As usual, if you use Bitcoin and want to show your support of my activities, please send Bitcoin donations to my address -15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.
+15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.NRK -lanserte -for noen uker siden en ny -varslerportal som bruker -SecureDrop til å ta imot tips der det er vesentlig at ingen -utenforstående får vite at NRK er tipset. Det er et langt steg -fremover for NRK, og når en leser bloggposten om hva de har tenkt på -og hvordan løsningen er satt opp virker det som om de har gjort en -grundig jobb der. Men det er ganske mye ekstra jobb å motta tips via -SecureDrop, så varslersiden skriver "Nyhetstips som ikke krever denne -typen ekstra vern vil vi gjerne ha på nrk.no/03030", og 03030-siden -foreslår i tillegg til et webskjema å bruke epost, SMS, telefon, -personlig oppmøte og brevpost. Denne artikkelen handler disse andre -metodene.
- -Når en sender epost til en @nrk.no-adresse så vil eposten sendes ut -av landet til datamaskiner kontrollert av Microsoft. En kan sjekke -dette selv ved å slå opp epostleveringsadresse (MX) i DNS. For NRK er -dette i dag "nrk-no.mail.protection.outlook.com". NRK har som en ser -valgt å sette bort epostmottaket sitt til de som står bak outlook.com, -dvs. Microsoft. En kan sjekke hvor nettverkstrafikken tar veien -gjennom Internett til epostmottaket vha. programmet -traceroute, og finne ut hvem som eier en Internett-adresse -vha. whois-systemet. Når en gjør dette for epost-trafikk til @nrk.no -ser en at trafikken fra Norge mot nrk-no.mail.protection.outlook.com -går via Sverige mot enten Irland eller Tyskland (det varierer fra gang -til gang og kan endre seg over tid).
- -Vi vet fra -introduksjonen av -FRA-loven at IP-trafikk som passerer grensen til Sverige avlyttes -av Försvarets radioanstalt (FRA). Vi vet videre takket være -Snowden-bekreftelsene at trafikk som passerer grensen til -Storbritannia avlyttes av Government Communications Headquarters -(GCHQ). I tillegg er er det nettopp lansert et forslag i Norge om at -forsvarets E-tjeneste skal få avlytte trafikk som krysser grensen til -Norge. Jeg er ikke kjent med dokumentasjon på at Irland og Tyskland -gjør det samme. Poenget er uansett at utenlandsk etterretning har -mulighet til å snappe opp trafikken når en sender epost til @nrk.no. -I tillegg er det selvsagt tilgjengelig for Microsoft som er underlagt USAs -jurisdiksjon og -samarbeider -med USAs etterretning på flere områder. De som tipser NRK om -nyheter via epost kan dermed gå ut fra at det blir kjent for mange -andre enn NRK at det er gjort.
- -Bruk av SMS og telefon registreres av blant annet telefonselskapene -og er tilgjengelig i følge lov og forskrift for blant annet Politi, -NAV og Finanstilsynet, i tillegg til IT-folkene hos telefonselskapene -og deres overordnede. Hvis innringer eller mottaker bruker -smarttelefon vil slik kontakt også gjøres tilgjengelig for ulike -app-leverandører og de som lytter på trafikken mellom telefon og -app-leverandør, alt etter hva som er installert på telefonene som -brukes.
- -Brevpost kan virke trygt, og jeg vet ikke hvor mye som registreres -og lagres av postens datastyrte postsorteringssentraler. Det vil ikke -overraske meg om det lagres hvor i landet hver konvolutt kommer fra og -hvor den er adressert, i hvert fall for en kortere periode. Jeg vet -heller ikke hvem slik informasjon gjøres tilgjengelig for. Det kan -være nok til å ringe inn potensielle kilder når det krysses med hvem -som kjente til aktuell informasjon og hvor de befant seg (tilgjengelig -f.eks. hvis de bærer mobiltelefon eller bor i nærheten).
- -Personlig oppmøte hos en NRK-journalist er antagelig det tryggeste, -men en bør passe seg for å bruke NRK-kantina. Der bryter de nemlig -Sentralbanklovens -paragraf 14 og nekter folk å betale med kontanter. I stedet -krever de at en varsle sin bankkortutsteder om hvor en befinner seg -ved å bruke bankkort. Banktransaksjoner er tilgjengelig for -bankkortutsteder (det være seg VISA, Mastercard, Nets og/eller en -bank) i tillegg til politiet og i hvert fall tidligere med Se & Hør -(via utro tjenere, slik det ble avslørt etter utgivelsen av boken -«Livet, det forbannede» av Ken B. Rasmussen). Men hvor mange kjenner -en NRK-journalist personlig? Besøk på NRK på Marienlyst krever at en -registrerer sin ankost elektronisk i besøkssystemet. Jeg vet ikke hva -som skjer med det datasettet, men har grunn til å tro at det sendes ut -SMS til den en skal besøke med navnet som er oppgitt. Kanskje greit å -oppgi falskt navn.
- -Når så tipset er kommet frem til NRK skal det behandles -redaksjonelt i NRK. Der vet jeg via ulike kilder at de fleste -journalistene bruker lokalt installert programvare, men noen bruker -Google Docs og andre skytjenester i strid med interne retningslinjer -når de skriver. Hvordan vet en hvem det gjelder? Ikke vet jeg, men -det kan være greit å spørre for å sjekke at journalisten har tenkt på -problemstillingen, før en gir et tips. Og hvis tipset omtales internt -på epost, er det jo grunn til å tro at også intern eposten vil deles -med Microsoft og utenlands etterretning, slik tidligere nevnt, men det -kan hende at det holdes internt i NRKs interne MS Exchange-løsning. -Men Microsoft ønsker å få alle Exchange-kunder over "i skyen" (eller -andre folks datamaskiner, som det jo innebærer), så jeg vet ikke hvor -lenge det i så fall vil vare.
- -I tillegg vet en jo at -NRK -har valgt å gi nasjonal sikkerhetsmyndighet (NSM) tilgang til å se på -intern og ekstern Internett-trafikk hos NRK ved oppsett av såkalte -VDI-noder, på tross av -protester -fra NRKs journalistlag. Jeg vet ikke om den vil kunne snappe opp -dokumenter som lagres på interne filtjenere eller dokumenter som lages -i de interne webbaserte publiseringssystemene, men vet at hva noden -ser etter på nettet kontrolleres av NSM og oppdateres automatisk, slik -at det ikke gir så mye mening å sjekke hva noden ser etter i dag når -det kan endres automatisk i morgen.
- -Personlig vet jeg ikke om jeg hadde turt tipse NRK hvis jeg satt på -noe som kunne være en trussel mot den bestående makten i Norge eller -verden. Til det virker det å være for mange åpninger for -utenforstående med andre prioriteter enn NRKs journalistiske fokus. -Og den største truslen for en varsler er jo om metainformasjon kommer -på avveie, dvs. informasjon om at en har vært i kontakt med en -journalist. Det kan være nok til at en kommer i myndighetenes -søkelys, og de færreste har nok operasjonell sikkerhet til at vil tåle -slik flombelysning på sitt privatliv.
+ +It would come as no surprise to anyone that I am interested in +bitcoins and virtual currencies. I've been keeping an eye on virtual +currencies for many years, and it is part of the reason a few months +ago, I started writing a python library for collecting currency +exchange rates and trade on virtual currency exchanges. I decided to +name the end result valutakrambod, which perhaps can be translated to +small currency shop.
+ +The library uses the tornado python library to handle HTTP and +websocket connections, and provide a asynchronous system for +connecting to and tracking several services. The code is available +from +github.
+ +There are two example clients of the library. One is very simple and +list every updated buy/sell price received from the various services. +This code is started by running bin/btc-rates and call the client code +in valutakrambod/client.py. The simple client look like this: + ++ ++import functools +import tornado.ioloop +import valutakrambod +class SimpleClient(object): + def __init__(self): + self.services = [] + self.streams = [] + pass + def newdata(self, service, pair, changed): + print("%-15s %s-%s: %8.3f %8.3f" % ( + service.servicename(), + pair[0], + pair[1], + service.rates[pair]['ask'], + service.rates[pair]['bid']) + ) + async def refresh(self, service): + await service.fetchRates(service.wantedpairs) + def run(self): + self.ioloop = tornado.ioloop.IOLoop.current() + self.services = valutakrambod.service.knownServices() + for e in self.services: + service = e() + service.subscribe(self.newdata) + stream = service.websocket() + if stream: + self.streams.append(stream) + else: + # Fetch information from non-streaming services immediately + self.ioloop.call_later(len(self.services), + functools.partial(self.refresh, service)) + # as well as regularly + service.periodicUpdate(60) + for stream in self.streams: + stream.connect() + try: + self.ioloop.start() + except KeyboardInterrupt: + print("Interrupted by keyboard, closing all connections.") + pass + for stream in self.streams: + stream.close() +
The library client loops over all known "public" services, +initialises it, subscribes to any updates from the service, checks and +activates websocket streaming if the service provide it, and if no +streaming is supported, fetches information from the service and sets +up a periodic update every 60 seconds. The output from this client +can look like this:
+ ++ ++Bl3p BTC-EUR: 5687.110 5653.690 +Bl3p BTC-EUR: 5687.110 5653.690 +Bl3p BTC-EUR: 5687.110 5653.690 +Hitbtc BTC-USD: 6594.560 6593.690 +Hitbtc BTC-USD: 6594.560 6593.690 +Bl3p BTC-EUR: 5687.110 5653.690 +Hitbtc BTC-USD: 6594.570 6593.690 +Bitstamp EUR-USD: 1.159 1.154 +Hitbtc BTC-USD: 6594.570 6593.690 +Hitbtc BTC-USD: 6594.580 6593.690 +Hitbtc BTC-USD: 6594.580 6593.690 +Hitbtc BTC-USD: 6594.580 6593.690 +Bl3p BTC-EUR: 5687.110 5653.690 +Paymium BTC-EUR: 5680.000 5620.240 +
The exchange order book is tracked in addition to the best buy/sell +price, for those that need to know the details.
+ +The other example client is focusing on providing a curses view +with updated buy/sell prices as soon as they are received from the +services. This code is located in bin/btc-rates-curses and activated +by using the '-c' argument. Without the argument the "curses" output +is printed without using curses, which is useful for debugging. The +curses view look like this:
+ ++ ++ Name Pair Bid Ask Spr Ftcd Age + BitcoinsNorway BTCEUR 5591.8400 5711.0800 2.1% 16 nan 60 + Bitfinex BTCEUR 5671.0000 5671.2000 0.0% 16 22 59 + Bitmynt BTCEUR 5580.8000 5807.5200 3.9% 16 41 60 + Bitpay BTCEUR 5663.2700 nan nan% 15 nan 60 + Bitstamp BTCEUR 5664.8400 5676.5300 0.2% 0 1 1 + Bl3p BTCEUR 5653.6900 5684.9400 0.5% 0 nan 19 + Coinbase BTCEUR 5600.8200 5714.9000 2.0% 15 nan nan + Kraken BTCEUR 5670.1000 5670.2000 0.0% 14 17 60 + Paymium BTCEUR 5620.0600 5680.0000 1.1% 1 7515 nan + BitcoinsNorway BTCNOK 52898.9700 54034.6100 2.1% 16 nan 60 + Bitmynt BTCNOK 52960.3200 54031.1900 2.0% 16 41 60 + Bitpay BTCNOK 53477.7833 nan nan% 16 nan 60 + Coinbase BTCNOK 52990.3500 54063.0600 2.0% 15 nan nan + MiraiEx BTCNOK 52856.5300 54100.6000 2.3% 16 nan nan + BitcoinsNorway BTCUSD 6495.5300 6631.5400 2.1% 16 nan 60 + Bitfinex BTCUSD 6590.6000 6590.7000 0.0% 16 23 57 + Bitpay BTCUSD 6564.1300 nan nan% 15 nan 60 + Bitstamp BTCUSD 6561.1400 6565.6200 0.1% 0 2 1 + Coinbase BTCUSD 6504.0600 6635.9700 2.0% 14 nan 117 + Gemini BTCUSD 6567.1300 6573.0700 0.1% 16 89 nan + Hitbtc+BTCUSD 6592.6200 6594.2100 0.0% 0 0 0 + Kraken BTCUSD 6565.2000 6570.9000 0.1% 15 17 58 + Exchangerates EURNOK 9.4665 9.4665 0.0% 16 107789 nan + Norgesbank EURNOK 9.4665 9.4665 0.0% 16 107789 nan + Bitstamp EURUSD 1.1537 1.1593 0.5% 4 5 1 + Exchangerates EURUSD 1.1576 1.1576 0.0% 16 107789 nan + BitcoinsNorway LTCEUR 1.0000 49.0000 98.0% 16 nan nan + BitcoinsNorway LTCNOK 492.4800 503.7500 2.2% 16 nan 60 + BitcoinsNorway LTCUSD 1.0221 49.0000 97.9% 15 nan nan + Norgesbank USDNOK 8.1777 8.1777 0.0% 16 107789 nan +
The code for this client is too complex for a simple blog post, so +you will have to check out the git repository to figure out how it +work. What I can tell is how the three last numbers on each line +should be interpreted. The first is how many seconds ago information +was received from the service. The second is how long ago, according +to the service, the provided information was updated. The last is an +estimate on how often the buy/sell values change.
+ +If you find this library useful, or would like to improve it, I +would love to hear from you. Note that for some of the services I've +implemented a trading API. It might be the topic of a future blog +post.
+ +As usual, if you use Bitcoin and want to show your support of my +activities, please send Bitcoin donations to my address +15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.
The Isenkram -system provide a practical and easy way to figure out which -packages support the hardware in a given machine. The command line -tool isenkram-lookup and the tasksel options provide a -convenient way to list and install packages relevant for the current -hardware during system installation, both user space packages and -firmware packages. The GUI background daemon on the other hand provide -a pop-up proposing to install packages when a new dongle is inserted -while using the computer. For example, if you plug in a smart card -reader, the system will ask if you want to install pcscd if -that package isn't already installed, and if you plug in a USB video -camera the system will ask if you want to install cheese if -cheese is currently missing. This already work just fine.
- -But Isenkram depend on a database mapping from hardware IDs to -package names. When I started no such database existed in Debian, so -I made my own data set and included it with the isenkram package and -made isenkram fetch the latest version of this database from git using -http. This way the isenkram users would get updated package proposals -as soon as I learned more about hardware related packages.
- -The hardware is identified using modalias strings. The modalias -design is from the Linux kernel where most hardware descriptors are -made available as a strings that can be matched using filename style -globbing. It handle USB, PCI, DMI and a lot of other hardware related -identifiers.
- -The downside to the Isenkram specific database is that there is no -information about relevant distribution / Debian version, making -isenkram propose obsolete packages too. But along came AppStream, a -cross distribution mechanism to store and collect metadata about -software packages. When I heard about the proposal, I contacted the -people involved and suggested to add a hardware matching rule using -modalias strings in the specification, to be able to use AppStream for -mapping hardware to packages. This idea was accepted and AppStream is -now a great way for a package to announce the hardware it support in a -distribution neutral way. I wrote -a -recipe on how to add such meta-information in a blog post last -December. If you have a hardware related package in Debian, please -announce the relevant hardware IDs using AppStream.
- -In Debian, almost all packages that can talk to a LEGO Mindestorms -RCX or NXT unit, announce this support using AppStream. The effect is -that when you insert such LEGO robot controller into your Debian -machine, Isenkram will propose to install the packages needed to get -it working. The intention is that this should allow the local user to -start programming his robot controller right away without having to -guess what packages to use or which permissions to fix.
- -But when I sat down with my son the other day to program our NXT -unit using his Debian Stretch computer, I discovered something -annoying. The local console user (ie my son) did not get access to -the USB device for programming the unit. This used to work, but no -longer in Jessie and Stretch. After some investigation and asking -around on #debian-devel, I discovered that this was because udev had -changed the mechanism used to grant access to local devices. The -ConsoleKit mechanism from /lib/udev/rules.d/70-udev-acl.rules -no longer applied, because LDAP users no longer was added to the -plugdev group during login. Michael Biebl told me that this method -was obsolete and the new method used ACLs instead. This was good -news, as the plugdev mechanism is a mess when using a remote user -directory like LDAP. Using ACLs would make sure a user lost device -access when she logged out, even if the user left behind a background -process which would retain the plugdev membership with the ConsoleKit -setup. Armed with this knowledge I moved on to fix the access problem -for the LEGO Mindstorms related packages.
- -The new system uses a udev tag, 'uaccess'. It can either be -applied directly for a device, or is applied in -/lib/udev/rules.d/70-uaccess.rules for classes of devices. As the -LEGO Mindstorms udev rules did not have a class, I decided to add the -tag directly in the udev rules files included in the packages. Here -is one example. For the nqc C compiler for the RCX, the -/lib/udev/rules.d/60-nqc.rules file now look like this: - -
-SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="0694", ATTR{idProduct}=="0001", \ - SYMLINK+="rcx-%k", TAG+="uaccess" -- -
The key part is the 'TAG+="uaccess"' at the end. I suspect all -packages using plugdev in their /lib/udev/rules.d/ files should be -changed to use this tag (either directly or indirectly via -70-uaccess.rules). Perhaps a lintian check should be created -to detect this?
- -I've been unable to find good documentation on the uaccess feature. -It is unclear to me if the uaccess tag is an internal implementation -detail like the udev-acl tag used by -/lib/udev/rules.d/70-udev-acl.rules. If it is, I guess the -indirect method is the preferred way. Michael -asked for more -documentation from the systemd project and I hope it will make -this clearer. For now I use the generic classes when they exist and -is already handled by 70-uaccess.rules, and add the tag -directly if no such class exist.
- -To learn more about the isenkram system, please check out -my -blog posts tagged isenkram.
- -To help out making life for LEGO constructors in Debian easier, -please join us on our IRC channel -#debian-lego and join -the Debian -LEGO team in the Alioth project we created yesterday. A mailing -list is not yet created, but we are working on it. :)
+ +Back in February, I got curious to see +if +VLC now supported Bittorrent streaming. It did not, despite the +fact that the idea and code to handle such streaming had been floating +around for years. I did however find +a standalone plugin +for VLC to do it, and half a year later I decided to wrap up the +plugin and get it into Debian. I uploaded it to NEW a few days ago, +and am very happy to report that it +entered +Debian a few hours ago, and should be available in Debian/Unstable +tomorrow, and Debian/Testing in a few days.
+ +With the vlc-plugin-bittorrent package installed you should be able +to stream videos using a simple call to
+ ++ +It can handle magnet links too. Now if only native vlc had +bittorrent support. Then a lot more would be helping each other to +share public domain and creative commons movies. The plugin need some +stability work with seeking and picking the right file in a torrent +with many files, but is already usable. Please note that the plugin +is not removing downloaded files when vlc is stopped, so it can fill +up your disk if you are not careful. Have fun. :) + ++vlc https://archive.org/download/TheGoat/TheGoat_archive.torrent +
I would love to get help maintaining this package. Get in touch if +you are interested.
As usual, if you use Bitcoin and want to show your support of my activities, please send Bitcoin donations to my address -15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.
+15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.En av dagens nyheter er at Aftenpostens redaktør Espen Egil Hansen -bruker -forsiden -av papiravisen på et åpent brev til Facebooks sjef Mark Zuckerberg om -Facebooks fjerning av bilder, tekster og sider de ikke liker. Det -må være uvant for redaktøren i avisen Aftenposten å stå med lua i -handa og håpe på å bli hørt. Spesielt siden Aftenposten har vært med -på å gi Facebook makten de nå demonstrerer at de har. Ved å melde seg -inn i Facebook-samfunnet har de sagt ja til bruksvilkårene og inngått -en antagelig bindende avtale. Kanskje de skulle lest og vurdert -vilkårene litt nærmere før de sa ja, i stedet for å klage over at -reglende de har valgt å akseptere blir fulgt? Personlig synes jeg -vilkårene er uakseptable og det ville ikke falle meg inn å gå inn på -en avtale med slike vilkår. I tillegg til uakseptable vilkår er det -mange andre grunner til å unngå Facebook. Du kan finne en solid -gjennomgang av flere slike argumenter hos -Richard Stallmans side om -Facebook. - -
Jeg håper flere norske redaktører på samme vis må stå med lua i -hånden inntil de forstår at de selv er med på å føre samfunnet på -ville veier ved å omfavne Facebook slik de gjør når de omtaler og -løfter frem saker fra Facebook, og tar i bruk Facebook som -distribusjonskanal for sine nyheter. De bidrar til -overvåkningssamfunnet og raderer ut lesernes privatsfære når de lenker -til Facebook på sine sider, og låser seg selv inne i en omgivelse der -det er Facebook, og ikke redaktøren, som sitter med makta.
- -Men det vil nok ta tid, i et Norge der de fleste nettredaktører -deler -sine leseres personopplysinger med utenlands etterretning.
- -For øvrig burde varsleren Edward Snowden få politisk asyl i -Norge.
+ +I continue to explore my Kodi installation, and today I wanted to +tell it to play a youtube URL I received in a chat, without having to +insert search terms using the on-screen keyboard. After searching the +web for API access to the Youtube plugin and testing a bit, I managed +to find a recipe that worked. If you got a kodi instance with its API +available from http://kodihost/jsonrpc, you can try the following to +have check out a nice cover band.
+ ++ +curl --silent --header 'Content-Type: application/json' \ + --data-binary '{ "id": 1, "jsonrpc": "2.0", "method": "Player.Open", + "params": {"item": { "file": + "plugin://plugin.video.youtube/play/?video_id=LuRGVM9O0qg" } } }' \ + http://projector.local/jsonrpc
I've extended kodi-stream program to take a video source as its +first argument. It can now handle direct video links, youtube links +and 'desktop' to stream my desktop to Kodi. It is almost like a +Chromecast. :)
+ +As usual, if you use Bitcoin and want to show your support of my +activities, please send Bitcoin donations to my address +15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.
I helga kom det et hårreisende forslag fra Lysne II-utvalget satt -ned av Forsvarsdepartementet. Lysne II-utvalget var bedt om å vurdere -ønskelista til Forsvarets etterretningstjeneste (e-tjenesten), og har -kommet med -forslag -om at e-tjenesten skal få lov til a avlytte all Internett-trafikk -som passerer Norges grenser. Få er klar over at dette innebærer at -e-tjenesten får tilgang til epost sendt til de fleste politiske -partiene på Stortinget. Regjeringspartiet Høyre (@hoyre.no), -støttepartiene Venstre (@venstre.no) og Kristelig Folkeparti (@krf.no) -samt Sosialistisk Ventreparti (@sv.no) og Miljøpartiet de grønne -(@mdg.no) har nemlig alle valgt å ta imot eposten sin via utenlandske -tjenester. Det betyr at hvis noen sender epost til noen med en slik -adresse vil innholdet i eposten, om dette forslaget blir vedtatt, gjøres -tilgjengelig for e-tjenesten. Venstre, Sosialistisk Ventreparti og -Miljøpartiet De Grønne har valgt å motta sin epost hos Google, -Kristelig Folkeparti har valgt å motta sin epost hos Microsoft, og -Høyre har valgt å motta sin epost hos Comendo med mottak i Danmark og -Irland. Kun Arbeiderpartiet og Fremskrittspartiet har valgt å motta -eposten sin i Norge, hos henholdsvis Intility AS og Telecomputing -AS.
- -Konsekvensen er at epost inn og ut av de politiske organisasjonene, -til og fra partimedlemmer og partiets tillitsvalgte vil gjøres -tilgjengelig for e-tjenesten for analyse og sortering. Jeg mistenker -at kunnskapen som slik blir tilgjengelig vil være nyttig hvis en -ønsker å vite hvilke argumenter som treffer publikum når en ønsker å -påvirke Stortingets representanter.
Ved hjelp av MX-oppslag i DNS for epost-domene, tilhørende -whois-oppslag av IP-adressene og traceroute for å se hvorvidt -trafikken går via utlandet kan enhver få bekreftet at epost sendt til -de omtalte partiene vil gjøres tilgjengelig for forsvarets -etterretningstjeneste hvis forslaget blir vedtatt. En kan også bruke -den kjekke nett-tjenesten ipinfo.io -for å få en ide om hvor i verden en IP-adresse hører til. - -På den positive siden vil forslaget gjøre at enda flere blir -motivert til å ta grep for å bruke -Tor og krypterte -kommunikasjonsløsninger for å kommunisere med sine kjære, for å sikre -at privatsfæren vernes. Selv bruker jeg blant annet -FreedomBox og -Signal til slikt. Ingen av -dem er optimale, men de fungerer ganske bra allerede og øker kostnaden -for dem som ønsker å invadere mitt privatliv.
- -For øvrig burde varsleren Edward Snowden få politisk asyl i -Norge.
- - + +It might seem obvious that software created using tax money should +be available for everyone to use and improve. Free Software +Foundation Europe recentlystarted a campaign to help get more people +to understand this, and I just signed the petition on +Public Money, Public Code to help +them. I hope you too will do the same.
Archive
-
+
- 2018
+
-
+
+
- January (1) + +
- February (5) + +
- March (5) + +
- April (3) + +
- June (2) + +
- July (5) + +
- August (3) + +
- September (3) + +
- October (5) + +
- November (1) + +
+
+ - 2017
+
-
+
+
- January (4) + +
- February (3) + +
- March (5) + +
- April (2) + +
- June (5) + +
- July (1) + +
- August (1) + +
- September (3) + +
- October (5) + +
- November (3) + +
- December (4) + +
+
- 2016
-
@@ -1157,7 +821,9 @@ traceroute to mx03.telecomputing.no (95.128.105.102), 30 hops max, 60 byte packe
- October (3) -
- November (5) +
- November (8) + +
- December (5)
@@ -1380,7 +1046,7 @@ traceroute to mx03.telecomputing.no (95.128.105.102), 30 hops max, 60 byte packe
- 3d-printer (13) +
- 3d-printer (16)
- amiga (1) @@ -1388,33 +1054,35 @@ traceroute to mx03.telecomputing.no (95.128.105.102), 30 hops max, 60 byte packe
- bankid (4) -
- bitcoin (9) +
- bitcoin (10) -
- bootsystem (16) +
- bootsystem (17)
- bsa (2)
- chrpath (2) -
- debian (139) +
- debian (164) + +
- debian edu (158) -
- debian edu (157) +
- debian-handbook (4)
- digistan (10) -
- dld (16) +
- dld (17) -
- docbook (23) +
- docbook (25)
- drivstoffpriser (4) -
- english (332) +
- english (391)
- fiksgatami (23) -
- fildeling (12) +
- fildeling (13) -
- freeculture (29) +
- freeculture (32)
- freedombox (9) @@ -1424,12 +1092,16 @@ traceroute to mx03.telecomputing.no (95.128.105.102), 30 hops max, 60 byte packe
- intervju (42) -
- isenkram (13) +
- isenkram (16) -
- kart (19) +
- kart (20) + +
- kodi (3)
- ldap (9) +
- lego (4) +
- lenker (8)
- lsdvd (2) @@ -1438,23 +1110,23 @@ traceroute to mx03.telecomputing.no (95.128.105.102), 30 hops max, 60 byte packe
- mesh network (8) -
- multimedia (39) +
- multimedia (41) -
- nice free software (8) +
- nice free software (11) -
- norsk (281) +
- norsk (299) -
- nuug (182) +
- nuug (191) -
- offentlig innsyn (26) +
- offentlig innsyn (34)
- open311 (2) -
- opphavsrett (61) +
- opphavsrett (72) -
- personvern (95) +
- personvern (107) -
- raid (1) +
- raid (2)
- reactos (1) @@ -1466,35 +1138,37 @@ traceroute to mx03.telecomputing.no (95.128.105.102), 30 hops max, 60 byte packe
- rss (1) -
- ruter (4) +
- ruter (6)
- scraperwiki (2) -
- sikkerhet (52) +
- sikkerhet (55)
- sitesummary (4)
- skepsis (5) -
- standard (49) +
- standard (57) -
- stavekontroll (4) +
- stavekontroll (6) -
- stortinget (10) +
- stortinget (12) -
- surveillance (43) +
- surveillance (55) -
- sysadmin (2) +
- sysadmin (4)
- usenix (2) -
- valg (8) +
- valg (9) + +
- verkidetfri (13) -
- video (59) +
- video (69)
- vitenskap (4) -
- web (38) +
- web (41)
Tags
-
-