Very High Activity

News

  Analyzed 7 days ago based on code collected 7 days ago.
 
Posted 2 days ago by t...@mirbsd.org (MirOS Developer tg)
Apparently
(hi Zhenech, found on Plänet Debian), a Man does not only need
to fork a child, plant a tree, etc. in their life but also write a
DynDNS service. Perfect for opening a new tag in the wlog called
archæology ... [More] (pagetable.com –
Some Assembly Required is also a nice example for these).

Once upon a time, I used SixXS’ heartbeat protocol client for
updating the Legacy IP (known as “IPv4” earlier) endpoint address
of my tunnel at home (My ISP
offers static v4 for some payment now, luckily). Their client sucked,
so I wrote on in ksh, naturally.

And because mksh(1) is such nice a language to program in (although,
I only really begun becoming proficient in Korn Shell in 2005-2006 or
so, thus please take those scripts with a grain of salt, I’d do them
much differently nowadays) I also wrote a heartbeat server
implementation. In Shell.

The heartbeat server supports different backends (per client), and
to date I’ve run backends providing DynDNS (automatically disabling
the RR if the client goes offline), an IP (IPv6) tunnel of my own
(basically the same setup SixXS has, without knowing theirs), rdate(8)
based time offset monitoring for ntpd(8), and an eMail forwarding
service (as one must not run an MTA on dynamic IP)
with it; some of these even in parallel.

Not all of it is documented, but I’ve written up most things in CVS. There also
were some issues (mostly to do with killing sleep(1)ing subprocesses
not working right), so it occasionally hung, but very rarely. Running
it under the supervise of DJB dæmontools was nice, as I was already
using djbdns, since I do not understand the BIND zone file format and
do not consider MySQL a database (and did not even like databases at
all, back then). For DynDNS, the heartbeat server’s backend simply
updated the zone file (by either adding or updating or deleting the
line for the client) then running tinydns-data, then rsync’ing it
to the djbdns server primary and secondaries, then running zonenotify
so the BIND secondaries get a NOTIFY to update their zones (so I never
had to bother much with the SOA values, only allow AXFR). That’s a
really KISS setup ☺

Anyway. This is archæology. The scripts are there, feel free to
use them, hack on them, take them as examples… even submit back
patches if you want. I’ll even answer questions, to some degree,
in IRC. But that’s it. I urge
people to go use a decent ISP, even if the bandwidth is smaller.
To paraphrase a coworker after he cancelled his cable based internet
access (I think at Un*tym*dia) before the 2-week trial period was
even over: rather have slow but reliable internet at Netc*logne
than “that”. People, vote with your purse! [Less]
Posted 26 days ago by t...@mirbsd.org (MirOS Developer tg)
The MirBSD Korn Shell R45 has been
released today, and R44 has been named the new stable/bugfix-only series.
(That’s version 45.1, not 0.45, dear Homebrew/MacOSX packagers.)

Packagers rejoice: the -DMKSH_GCC55009 dance is no ... [More] longer needed,
and even the run-time check for integer division is gone. Why? Because I
realised one cannot use signed integers in C, at all, and rewrote the mksh(1)
arithmetics code to use unsigned integers only. Special thanks to the people
from musl libc and, to some lesser
amount, Natureshadow for providing me with ideas what algorithms to replace
some functionality with (signed shell arithmetic is, of course, still usable,
it is just emulated using unsigned C integers now).

The following entertainment…

tg@blau:~ $ echo foo >/bar\ baz
/bin/mksh: can't create /bar baz: Permission denied
1|tg@blau:~ $ doch
tg@blau:~ $ cat /bar\ baz
foo

… was provided by Tonnerre Lombard; like Swedish, German has
got a number of words that cannot be expressed in English so I feel
not up to the task of explaining this to people who don’t know the
German word “doch”, just rest assured it calls the last input line
(be careful, this is literally a line, so don’t use backslash-newline
sequences) using sudo(8). [Less]
Posted 26 days ago by t...@mirbsd.org (MirOS Developer tg)
The MirBSD Korn Shell R45 has been
released today, and R44 has been named the new stable/bugfix-only series.
(That’s version 45.1, not 0.45, dear Homebrew/MacOSX packagers.)

Packagers rejoice: the -DMKSH_GCC55009 dance is no ... [More] longer needed,
and even the run-time check for integer division is gone. Why? Because I
realised one cannot use signed integers in C, at all, and rewrote the mksh(1)
arithmetics code to use unsigned integers only. Special thanks to the people
from musl libc and, to some lesser
amount, Natureshadow for providing me with ideas what algorithms to replace
some functionality with (signed shell arithmetic is, of course, still usable,
it is just emulated using unsigned C integers now).

The following entertainment…

tg@blau:~ $ echo foo >/bar\ baz
/bin/mksh: can't create /bar baz: Permission denied
1|tg@blau:~ $ doch
tg@blau:~ $ cat /bar\ baz
foo

… was provided by Tonnerre Lombard; like Swedish, German has
got a number of words that cannot be expressed in English so I feel
not up to the task of explaining this to people who don’t know the
German word “doch”, just rest assured it calls the last input line
(be careful, this is literally a line, so don’t use backslash-newline
sequences) using sudo(8). [Less]
Posted about 1 month ago by bsie...@mirbsd.org (MirOS Developer bsiegert)
I uploaded a full bulk build of binary packages for MirBSD/i386
corresponding to the pkgsrc-2013Q1 release. About 7,000 binary packages
are available in this build, including the pkgin package manager
that makes installing binary ... [More] packages as easy as apt.

See the pkgsrc page for
instructions on how to install pkgsrc for MirBSD.
Build
logs are available on S3. [Less]
Posted about 1 month ago by bsie...@mirbsd.org (MirOS Developer bsiegert)
I uploaded a full bulk build of binary packages for MirBSD/i386
corresponding to the pkgsrc-2013Q1 release. About 7,000 binary packages
are available in this build, including the pkgin package manager
that makes installing binary ... [More] packages as easy as apt.

See the pkgsrc page for
instructions on how to install pkgsrc for MirBSD.
Build
logs are available on S3. [Less]
Posted about 1 month ago by t...@mirbsd.org (MirOS Developer tg)
Since a while…

I am a proud

On the other hand… I should probably put up my own, local, list
of found caches, considering what happened to me on “Open”caching.
And maybe write intros for people new to geocaching ... [More] , since it’d be
virtually no work now had I done it initially. (And for fanfiction
readers! I wish I’d kept a list of read fics, not just of
these I currently read and/or are currently unfinished.) [Less]
Posted about 1 month ago by bsie...@mirbsd.org (MirOS Developer bsiegert)
On Saturday March 23, this year's pkgsrc conference (pkgsrccon 2013)
took place in Berlin. Julian Fagir organized it with unending energy,
even though pkgsrc is not the primary focus of his NetBSD work. He just
took matters in his ... [More] hands because no one else stepped forward. A big
thanks for that!

The flight from Zurich to Berlin was uneventful. It was my first
flight to TXL airport (I normally arrive at SXF), and arriving there is
incredibly quick and convenient compared to the latter. The terminal is
very small, and it takes just five minutes to go from the plane to a
bus to the city.

Now for the conference itself: we started at 12pm on Saturday with a
program of talks but no fixed schedule. Due to this, the conference
took a long time (we finished only at 9pm or so) but on the other hand,
it allowed for lots of interesting and fruitful discussion. At no point
did we have to cut a question short because of a lack of time. Overall,
I think that this was an excellent choice and made the conference more
useful and productive.

We were about 21 people – mostly pkgsrc developers (of course)
but also a Debian Developer (Ralf Treinen, who presented his work on
Mancoosi), a FreeBSD dev and some interested users. I won't give an
exhaustive recollection of all talks here but simply comment on a few
ones that I found particularly interesting.

The most important theme of the conference was virtualization and
cloud computing. Jonathan Perkin and Filip Hajny gave a talk about
their company's product, SmartOS, and how it uses pkgsrc. SmartOS is a
"cloud OS" based on OpenSolaris. It boots from a read-only medium (such
as a CD) into a lean system that only does the administration of all
the zones that it runs. All useful work happens in zones, which are a
sort of lightweight VM solution specific to OpenSolaris. The zone
images include access to a very complete set of pkgsrc packages for
things such as a compiler. They can also run other OSes (NetBSD!) by
setting up a zone that runs KVM. Joyent runs a large public cloud with
SmartOS, where customers purchase virtual machines by the hour. This is
similar to Amazon EC2 but with a focus on high performance.

Hubert Feyrer gave another talk about a similar theme. He described
the use of Ansible for provisioning and setting up VMs. Ansible can
automatically create VMs on EC2, gather the necessary information (such
as the IP address) and do various setup tasks without further user
interaction. This was all very impressive, even though the live demo
failed. This was for two reasons: Somebody deleted the sudo package for
amd64 from the NetBSD ftp server (boo), and the i386 VM failed to come
up, the kernel paniced on startup. Joerg speculated that this was due
to _some_ machines in their DC not having PAE enabled, while the i386
kernel uses PAE. This was interesting, as I had noticed the very same
problem when I set up the netbsd-386-bsiegert continuous builder for
Go.

Amitai Schlair alias Schmonz came out in a passionate defense of the
venerable pkglint. He put
the source on github and started refactoring the code
and adding tests. He calls this approach TED for "Test Eventually
Development" ;) and advocated a similar approach for the pkgsrc
infrastructure: Every time a developer takes five minutes to understand
a part of the infrastructure (when making a change, for instance), he
or she should write a test for it. This is a very pragmatic and doable
approach, in my opinion, and we should all do this.

I gave a slightly amended version of the "Go on NetBSD" talk I had
given at FOSDEM 2013. There were a lot of valuable questions and
discussion, both about the language and about how to package software
written in it.

Aleksej Saushev ended the day with a talk that was not in the program
about the Google Code-In and the problems that developers and
particularly new contributors face. If pkgsrc can get more contributors,
it gets more fixes, which in turn makes it more useful to users. More
usefulness leads to more users, leading to more contributors. We should
do more to get into this virtuous circle. There are about five
different mechanisms to build and/or deploy packages in pkgsrc: build
directly with "make package", pkg_chk, pkg_comp, the old bulk build
scripts and pbulk. The basic frustration that should be overcome is the
following: you want to upgrade a set of packages, the old ones are
removed, new ones are rebuilt, and the build fails. Rolling back is
difficult in general. pbulk could be a valuable solution to this, but
its standard config is heavily tailored for a different use case, and
its _two_ separate pieces of documentation are contradictory,
incomplete and confusing. So the talk contained a call for action to
fix those minor annoyances and generally document things better, which
makes it easier for everybody.

My take-home message – and my next project idea – is the following:
each time that I do a MirBSD bulk build using pbulk, I have to do a lot
of painful steps to set up the right build environment on all my
machines. This time, I will try to automate this process with Ansible,
making up the recipes as I go along, and then (more importantly)
publish these recipes for others to use and to share. [Less]
Posted 3 months ago by t...@mirbsd.org (MirOS Developer tg)
*winkt Ventilator*

Natürlich mit MirKaffee (enthält Milch, Kakao, Kaffee, Rohrzucker)!
Posted 3 months ago by t...@mirbsd.org (MirOS Developer tg)
I’ve been doing too much lately, which has led to reduced performance
and enjoyment. Also I’ve not been able to work the full hours of my
dayjob, reducing what I had on my overtime account. I’ll be taking a
step back and try to ... [More] un-load. This is my notice, I’m not explicit on
where, and I’m not cancelling anything special (not even those mentioned
in the next paragraphs).

I’m disappointed with Google/Nianticproject Ingress. It’s frustrating
(nothing lasts; also read this
posting), buggy, battery-draining, sometimes too time-consuming
(especially with only GPRS) and I don’t get warm with the Android 2.3
based Cyanogenmod on the borrowed device. Using it without a big
screen device having the Intel map next to you is futile. I could go into
detail but won’t. I won’t stop playing, as it’s a good excuse to go outside
and combines somewhat with geocaching (unless you’re trying to actually
play Ingress, in which case you’ll just be walking/cycling/driving between
portals at maximum speed). And there’s that connection with Liferay…

Fun is important in securing volunteer work; bugs and other
random happenings (example) can drain the fun.

To end on a positive note, I’m absolutely, totally happy with mksh user and distributor feedback,
including the bug reports and feature requests, how well almost all
people deal with feature rejection, and the speed of integration of
mksh(1) updates lately. The only thing I’m unhappy wrt. mksh is my
own lack of speed regarding implementing the cool new things I’ve
been, as an mksh user, waiting for because I want and even
need them for some cool programs written in mksh I would
love to write, so I can use them.

I’ve got roughly 350 mails in my INBOX (all read, but most of them
being action items; some due… before this weekend, evilly enough, the
one I’m thinking of is GnuPG/MIME encrypted, which means extra effort
to read it). Just so you know. (And a couple of other things that
really could use some fixing, which I can, in theory, do. And lots of
requests for spending real life time with.)

I’m still reachable via eMail and IRC (mostly), will respond, will
try to persuade my employer to send me to CLT 2013 next month… just,
don’t deadline me right now. I’m not taking a VACation either (though
I probably should, had I money). [Less]
Posted 3 months ago by t...@mirbsd.org (MirOS Developer tg)
On Planet Debian, Vincent Bernat wrote:

The drawback of this approach is that if you rebuild configure from
the released tarball, you don’t have the git tree and the version will
be a date. Just don’t do that.
Excuse ... [More] me‽

This is totally inacceptable. Regenerating files like aclocal.m4 and
Makefile.in (for automake), configure (for autoconf), and the likes is
one of the absolute duties of a software package.
Things will break sooner or later if people do not do
that. Additionally, generated files must be remakable
from the distfile, so do not break this!

May I suggest, constructively, an alternative? (People – rightfully,
I must admit – complain I’m “just” ranting too much.)
When making
a release from git, write the “git describe” output into a file. Then,
use that file instead of trying to run the git executable if .git/. is
not a directory (“test -d .git/.”). Do not call git, because,
in packages, it’s either not installed or/and also undesired.

Couldn’t comment on your blog, but felt strongly enough about this I
took the effort of writing a full post of my own.

(But thanks for the book recommendation.) [Less]
 

 
 

Creative Commons License Copyright © 2013 Black Duck Software, Inc. and its contributors, Some Rights Reserved. Unless otherwise marked, this work is licensed under a Creative Commons Attribution 3.0 Unported License . Ohloh ® and the Ohloh logo are trademarks of Black Duck Software, Inc. in the United States and/or other jurisdictions. All other trademarks are the property of their respective holders.