planet.opensource.dk

Udgiv indhold
Planet OpenSource DK - http://planet.opensource.dk/
Opdateret: 13 minutter 7 sekunder siden

Peter Toft: Elementary OS - dit næste Linux-valg?

august 31, 2014 - 22:52
I dette blogindlæg ser jeg nærmere på et interessant valg af Linux-variant: Elementary OS, der tilbyder en enkel men lækker brugergrænseflade. Brugergrænsefladen på min computer betyder meget for de fleste af os (og ikke et ord om Windows 8.x) . Indenfor Linux er der Ubuntus Unity, som mange er ...

Poul-Henning Kamp: NemID2: Gør det nu rigtigt 5/5

august 26, 2014 - 11:46
Følgetonen fortsætter: Første afsnit var om gammel historie. Andet afsnit om CPRs historie. Tredje afsnit om Digtal Signatur. Fjerde afsnit om NEMID. Spørgsmålet er hvad vi, Danmark, skal gøre når kontrakten om den nuværende NemID snart udløber. Min holdning er at vi skal gribe det helt and...

Peter Makholm: Version2.dk: Hvordan implementeres autentificering korrekt?

august 25, 2014 - 09:39
Gennem tiden har jeg flere gange implementeret forskellige former for autentificering. Nogle gange har jeg været bundet af forskellige protokol-beslutninger og andre gange har jeg været mere frit stillet. Derfor har jeg også haft mulighed for at samle mig en række ideer om hvordan autentificerin...

Anton Berezin: YAPC::Europe 2014, day 2

august 23, 2014 - 16:23

Ignat Ignatov talked about physical formulas. When I was planning to attend this talk, I thought it is going to be some sort of symbolic formulas computation, possibly with an analysis of dimensions of the physical quantities.
However, despite my (a bit long in the tooth) background in physics, I did not understand a word of it. Apparently, some sort of unification of physical formulas, not entirely unlike the periodic table in chemistry, was presented, with almost no comprehensible details and with scary words like co-homology and algebraic topology. The fact that half of the slides were in Russian, while irrelevant for me personally, probably did not help matters for the majority of the people in the audience. I did not expect any questions at the end of the talk, but there were at least two, so I was probably wrong about general level of understanding in the audience.

Laurent Dami talked about SQL::Abstract::FromQuery. He presented a query form of the Request Tracker and said that it is too complex - a premise many would agree with. The conclusion was that some more natural way to allow the user to specify complex queries is needed. Surprizingly, the answer to that was to use a formal grammar and make the user adhere to it. To me this sounds weird, but if one can find a non-empty set of users that would tolerate this, it may just work.

Denis Banovic talked about Docker, a virtualization container. I did not know much about Docker until this point, so it was useful to have someone to explain it to me.

The next talk was long, 50 minutes (as opposed to a somewhat standard for this conference 20 minutes) Peter "ribasushi" Rabbitson presented a crash-course in SQL syntax and concepts. It looked like a beginner-level introduction to SQL, but it became better and better as it progressed. I even learned a thing or two myself. ribasushi has a way of explaining rather complicated things concisely, understandably, and memorizably at the same time. Excellent talk.

Then there was a customary Subway sandwiches lunch.

Naim Shafiyev talked about network infrastructure automatization. Since this is closely related to what I do at my day job, I paid considerable attention to what he had to say. I did not hear anything new, but hopefuly the rest of the audience found the talk more useful. It did inspire me to submit a lightning talk though.

osfameron talked about immutable data structures in Perl and how to clone them with modifications, while making sure that the code does not look too ugly. Pretty standard stuff for functional languages, but pretty unusual in the land of Perl. The presentation was lively, with a lot of funny pictures and Donald duck examples.

The coffee break was followed by another session of lightning talks, preceeded by a give-away of a number of free books for the first-time YAPC attendees. Among the talks I remembered were SQLite virtual tables support in Perl by Laurent Dami, web-based database table editor by Simun Kodzoman, LeoNerd's presentation about XMPP replacement called Matrix, a Turing-complete (even if obfuscated) templating system by Jean-Baptiste Mazon of Sophia (sp!), and annoucements of Nordic Perl Workshop 2014 (Helsinki, November) and Nordic Perl Workshop 2015 (Oslo, May).

Again, I did not go to the end-of-the-day keynote.

As a side note, the wireless seemed to be substantially more flaky than yesterday, which has affected at least some lightning talk presenters.

Anton Berezin: YAPC::Europe 2014, day 1

august 22, 2014 - 22:54

When I came to the venue 15 minutes before the official start of the registration, people at the registration desk were busily cutting sheets of paper into attendees' badges. Finding my badge turned out to be a tad not trivial.

This conference is somewhat unusual not only because it is conducted over the weekend instead of in the middle of the week, but also because the keynotes for every day are pushed till the end, even after the daily lightning talks session.

The welcome talk from Marian was about practical things such as rooms locations, dinner, lunches, transportations and so on. Then I went on stage to declare the location of YAPC::Europe 2015 (which is Granada, Spain by the way). After that Jose Luis Martinez from Barcelona.pm did a short presentation of YAPC in Granada, and Diego Kuperman gave a little present from Granada to Sofia.

Mihai Pop of Cluj.pm presented a talk called "Perl Secret". It was basically a 20-minutes version of BooK's lightning talk about Perl secret operators, somewhat duluted by interspersing references to minions. It was entertaining.

The great Mark Overmeer talked about translation with context. He went beyond the usual example of multiple variants of plural values in some languages, and talked about solving localization problems related to gender and so on. The module solving these problems is Log::Report::Translate::Context. As always, great attention to details from Mark.

After lunch (sandwiches from Subway), Alex Balhatchet of Nestoria presented hurdles of geocoding, with solutions. I and my co-workers had encountered similar problems on a far smaller scale, so I could understand the pains, and had a great interest in hearing about the solutions.

Then I attended a very inspiring talk by Max Maischein from Frankfurt about using Perl as a DNLA remote and as a DNLA media server. I immediately felt the urge to play with the code he published and try to adapt it to my own TV at home. There was even a live demo of using DNLA to stream to Max's laptop a live stream of the talk provided by the conference organizers. And it even worked, mostly.

Ervin Ruci talked more about geocoding — this talk was partially touching the same problems Alex Balhatchet was talking about. Unfortunately, it was substantially less detailed, so I was somewhat underwhelmed by it. The presenter mentioned cool things like dealing with fuzzyness of the input data using hidden Markov models, but did not expand on them.

StrayTaoist described how to access raw data from space telescopes using (of course) Perl. Very lively talk. There was a lot of austronomy porn in here.

Luboŝ Kolouch from Czech Republic talked about automotive logistics, and how open source solutions work where proprietory solutions do not. The software needs to be reliable enough to make sure that it takes only 1.5 hours between the part order and its physical delivery to the factory.

After coffee break with more mingling the inimitable R Geoffrey Avery choir-mastered an hour of lightning talks. Most talks were somewhat "serious" today; I hope we see more "fun" ones in the next coming days.

Unfortunately, I missed the first keynote of the conference from Curtis "Ovid" Poe, so cannot really say anything about it.

Finally, we went to Restaurant Lebed for the conference dinner. The location is superb, there is a great view over a lake. The food was great, too. We also got to enjoy some ethnic Bulgarian music and dancing, not too much, and not too little.

Lots of cheers to Marian and the team of volunteers for organizing what so far turns out to be a great conference.

Poul-Henning Kamp: NEMID hvordan 4/mange

august 22, 2014 - 14:37
Følgetonen fortsætter: Første afsnit var om gammel historie. Andet afsnit om CPRs historie. Tredje afsnit om Digtal Signatur. Nu er vi nået til NemID som vi kender den idag og hvorfor den endte som den gjorde. Lad os tage det gode først: Man indså at der skulle en eller anden tofaktor authe...

Poul-Henning Kamp: Digital Signatur: NemID prototypen 3/mange

august 19, 2014 - 18:15
Første afsnit var om gammel historie. Andet afsnit om CPRs historie. Nu er turen kommet til den Digitale Signatur der var den umiddelbare forløber for NEMID som vi kender det. For nu at citere en der arbejdede rigtig meget med den Digitale Signatur, så var der kun fire problemer med den: Sign...

Jesper Nyerup: Mirroring Ceph

august 18, 2014 - 09:33

I’m glad to announce that One.com‘s public mirror service has begun mirroring Ceph‘s download section. Ceph is a distributed object store and file system, which scales elegantly and has excellent fault tolerance. Ceph has official mirrors in the Western US and the Netherlands, and a handful of community driven mirrors all over the world — now including this one in Denmark, well connected in Northern Europe. We welcome anyone using it to suit their needs. The Ceph mirror is available over HTTP here, and is also available over Rsync and FTP.

One.com run their mirror service both for operational independence and to be able to give something back to the open source software community. The service mirrors a number of open source projects, and more are added frequently. I’m lucky to be part of the team of mirror maintainers, and we’d love to hear from you if you have questions or ideas for the service.

Peter Toft: Hvad ved Google om mig... En hel del! (del 2/2)

august 17, 2014 - 15:56
Hvor det forrige blog-indlæg omhandlede Google maps, så er det også interessant at se hvad Google mener jeg har interesser i. På http://www.google.com/settings/ads er der lidt interessant læsning for mig (I har nok tilsvarende) At der i listen over hvad Google mener jeg interesserer mig for s...

Peter Toft: Hvad ved Google om mig... En hel del! (del 1/2)

august 17, 2014 - 15:55
Flere af mine venner på Facebook postede tilsammen en del Google-information, som er værd at samle op på her. Jeg har delt de to historier i to blog-indlæg - dette og et andet (tryk her for at læse med). Jeg bruger Google maps ret så ofte, især til at undgå at køre mod et sted hvor man kører for...

Poul-Henning Kamp: CPR: NemIDs bedstefar 2/mange

august 17, 2014 - 12:03
I forrige blogindlæg ridsede jeg det historiske forhold imellem person-identitet og statsmagt op. Som vi så var stort set alle identifikationssystemer baseret på hvad man idag vil kalde "ihændehaverbeviser", selvauthenticerende dokumenter som den identificerede person bare kunne forevise og som ...

Peter Makholm: Version2.dk: Digital Post, hvad nu?

august 15, 2014 - 13:53
Jeg har længe luret på hvad jeg gør når det offentlige den 1. november gennemtvinger brugen af Digital Post. At skulle læse henvendelser fra det offentlige på et websted der ikke passer ind i min normale rutine er efter min mening uhensigtsmæssigt. Det er især taget i betragtning af hvor lidt pos...

Martin Schlander: Four great technological advances

august 15, 2014 - 10:28
#1: openSUSE Factory Rolling Release Distribution

Over the course of the last several months a lot of changes were made to the development process for openSUSE Factory. Meaning it’s no longer a highly experimental testing dump, but it’s now a viable rolling release distribution in its own right. You can read all about the details here. I installed openSUSE Factory in a virtual machine yesterday and it seems to run pretty great. Of course to really judge a rolling release distribution you need to run it for a sustained period of time.

No rolling release distribution will ever be my preferred day-to-day operating system, but nevertheless I’m pretty excited about the “new” openSUSE Factory. I think the changes will enable version whores and bleeding edge explorers to finally have a truly symbiotic relationship with the users who value productivity and predictability in their PC operating system.

#2: KDE Frameworks 5 and Plasma 5

Since I was already testing openSUSE Factory it was a great opportunity to finally get my feet wet with the new KDE Frameworks 5 and Qt5 based KDE Plasma 5 workspace, initially released about a month ago. Obviously it’s still lacking some features and polish, but it’s already usable for forgiving users who know what they’re doing and showing great promise.

#3: 4G on the Jolla

My provider enabled 4G on my subscription and offered to send me a new SIM Card gratis. So now my Jolla is sporting 4G. Unfortunately it only took about 5-10 minutes of speed testing (peaking at 12 MB/s, averaging about 10 MB/s) to use all my available bandwidth for the month, so for the rest of August I’ve been speed dropped to 64 Kbps, but hey, it’s still 4G!

#4: Richard Stallman presenting with a slideshow

Who’d have ever thought they’d see the day that Stallman would do a presentation with accompanying slides? Well it happened, and I think this great use of slides helps him communicate more effectively. Watch the video and judge for yourselves (27 MB, 13 minutes).


Poul-Henning Kamp: Zoom ud fra NemID 1/mange

august 14, 2014 - 19:36
Jeg har været til visionarium idag hos V2, fire fra digitaliseringsstyrelsen, fire udefra, armlægning efter detroit reglerne. Sådan cirka. Det var en fornøjelse uden lige, som det altid er at være i intelligente passionerede menneskers selskab. V2's journalister skriver om hvad der gik for sig...

Poul-Henning Kamp: NemID2: Idestorm

august 12, 2014 - 09:54
Antag at NemID2 bliver lavet rigtigt. Lad os ikke hænge os i detaljerne af hvad "rigtigt" indebærer med kryptografi og lovgivning, bare antag et øjeblik at det er gjort rigtigt -- Helt Rigtigt. Hvad kan du bruge din NemID2 til, som NemID1 ikke kan bruges til ? phk

Peter Toft: Jeg er bekymret - er mine data sikre?

august 11, 2014 - 07:50
Jeg er bekymret. Sommeren er bl.a. gået med at få læst op på Snowden-sagen, og mange andre nyhedshistorier om "privacy". Vi skal nok til at gentænke meget af de tjenester vi bare tager for givet på internettet. (billedet er fra wikipedia) Jeg er bekymret. Indenfor det sidste par år har Faceb...

Sune Vuorela: Fun and joy with .bat files

august 8, 2014 - 09:16

Occasionally, one gets in touch with kind of ‘foreign’ technologies and needs to get stuff working anyways.

Recently, I had to do some various hacking with and around .bat files. Bat files are a kind of script files for Microsoft Windows.

Calling external commands

Imagine need to call some other command, let’s say git diff. So from a cmd thing, you would write

git diff

similar to writing shell scripts on unixes. But there is a catch. If the thing you want to call is another bat-script, just calling it ensures it ‘replaces’ the current script and never returns. So you need

call git diff

if the command you want to run is a bat file and you want to return to your script.

Calling an external helper next to your script
If you for some reason needs to call some external helper placed next to your script, there is a helpful thing to do that as well. Imagine your helper is called helper.bat

call %~dp0helper.bat

is the very self-explanatory way of doing that.

Stopping execution of your script

If you somehow encounter some condition in your script that requires you to stop your script, there is a command ‘exit’ handy. It even takes a argument for what error code there is.

exit 2

stops your script with return code 2. But it also have the nice added feature that if you do it in a script you run by hand in a terminal, it also exits the terminal.

Luckily there is also a fix for that:

exit /b 2

and it doesn’t exit your interactive terminal, and it sets the %ERRORLEVEL% variable to the exit code.

Fortunately, the fun doesn’t stop here.

If the script is run non-interactively, exit /b doesn’t set the exit code for for example perl’s system() call. You need to use exit without /b for that. So now you need two scripts. one for “interactive” use that calls exit /b and a similar one using exit for use by other apps/scripts.

Or, we can combine some of our knowledge and add a extra layer of indirection.

  • write your script for interactive use (with exit /b) and let’s call it script.bat
  • create a simple wrapper script
    call %~dp0script.bat
    exit %ERRORLEVEL%
  • call the wrapper for non-interactive use
  • and then success.

    Oh. and on a unrelated note. Windows can’t schedule tasks for users that aren’t logged in and don’t have a password set. The response “Access Denied” is the only clue given.

    Poul-Henning Kamp: Lyt til Dan Geer

    august 7, 2014 - 12:54
    For nogen tid siden skrev Dan Geer om produktansvar og jeg tillod mig at droppe ham en email med en link til det jeg selv havde skrevet i ACM Queue om emnet. Det resulterede i at jeg blev medforfatter på en artikel som dukker op i en IEEE publikation inden længe, og som langt hen ad vejen er gru...

    Andreas Bach Aaen: Vandraketter

    august 5, 2014 - 07:00

    Det har været en forrygende varm sommer. Hvad er bedre end lidt vandpjaskeri? Tilmed noget af den slags, man kan blive klogere på.

    Jeg har i længere tid været fan af Copenhagen Suborbitals. De har været gode til, at formidle raketvidenskab. raketvidenskab. Raketvidenskab er i folkemunde oftest ligmed noget ufatteligt svært. Det er måske ikke helt korrekt. Det er nærmere en vifte af videnskabsgenrer, som man skal kunne mestre på een gang. Det er her Copenhagen Suborbitals udemærker sig. De har fundet disse kompetancer i en række personer, de har formidlet deres viden, de har bygget og demonstreret det. De er måske 10 år fra deres mål, men de demonstrerer i høj grad fagligheden i ingeniørfaget.

    Raketvidenskab kan heldigvis også forstås tættere på jordhøjde og simplificeres så selv mindre børn kan være med. Vandraketter er stedet at begynde. Fysikken for en sådan trykfødet vandraket er den samme som for professionelle raketter.

    Jeg har bygget en såkaldt Gardena-affyringsrampe. Det er en haveslangekobling, der udløses via snoretræk. Opskriften fandt jeg i allerbedste Open Source stil på det australske site aircommandrockets.com. Mine sønner på 4 og 5 år nød at være en tur med i parken for at lege med vand. Det blev meget hurtigt for trangt i villahaven.

    Den mest simple vandraket består af en enkelt plasflaske, hvor man på låget har pålimet en Gardena kobling. I praksis har jeg benyttet en billig kopi fra Harald Nyborg kaldet Adano i en rød model. Til affyringsplatformen valgte jeg dog en model i messing. frem for plast. Jeg bor tæt på både en Silvan, Jem&Fix og Harald Nyborg, så der burde ikke være langt til bilælige stumper. Jeg blev overrasket over hvor dyre sådanne simple plaststumper som haveslangekoblinger kan være. Det er ok at originalen Gardena er dyr, men det er langt ude at Silvans eget mærke Park er voldsomt dyre. Silvan putter for meget slamværktøj under deres egne brands til at kunne opretholde ideen om en dyr pris for deres kopivarer.

    Der er rigtig mange gode fif at finde på det australske site og mange andre steder på nettet når man søger efter water rockets.

    Den viste vandraket er en lidt udviddet version, hvor jeg har sat to plastflasker sammen. Jeg har her boret et 16mm hul i bunden af begge plastflasker, stukket en stump elektrikerrør på 16mm ind i begge bunde og limet og tætnet med klar silikone. Silikonen har jeg ladet tørre en dags tid før jeg har benyttet raketten.

    Som pumpe har jeg benyttet en billig cykelpumpe hos Harald Nyborg (FODPUMPE DOBBELTCYLINDRET Best.nr. 7158). Her kommer så det klassiske converterproblem. Hvordan bruger man en cykelpumpe til en haveslange? Min løsning var at klippe den medfølgende studs af.fjerne lidt af stofindpakningen af gummislangen og indføre den i mellemstykke til en haveslangekobling (Best nr. 6579). Jeg limede slangen fast i hele  koblingens længde med superlim.

    Jeg er nu nået til trin 2. Det oplagte at gå videre med er finner, der kan øge retningsstabiliteten. En mere aerodynamisk snude kunne også være et punkt. En faldskærm for at raketten kommer sikkert ned. En udløser for faldskærnen. Et webkamera ombord. Der er rigtigt meget at gå videre med. Jeg har allerede forsøgt en del og meget er fejlet. Nogle gange lærer man bare mere at et hurtigt testforsøg til få basører end hvad man kan læse eller regne sig frem til via lærerbøger og hjemmesider for andre entutiaster.

    Og det er netop det raketvidenskab går ud på. Den ene udfordring fører til den næste. Der er mange teknikker der skal mestres på een gang og de bliver hurtigt koblet tæt sammen. Udfordringen for mig er hvor længe jeg kan holde mig selv og mine børn inspireret og udfordret.

    Udfordringen for Copenhagen Suborbitals er hvor længe de kan holde resten af Danmark (og resten af verdenen) inspireret.

    Poul-Henning Kamp: Netværksfejl

    august 1, 2014 - 15:25
    Stort set hver gang et eller andet stort system går ned i timevis, viser det sig at være 'netværksfejl', men hvad ved vi egentlig om disse 'netværksfejl', og hvordan kan vi blive bedre til at designe systemer, der overlever dem ? ACM Queue har lige publiceret en rigtig interessant artikel fyldt ...