Russia, Yekaterinburg

  • Shutdown

    2018-04-03T21:36:29Z via Pumpa To: Public CC: Followers

    I'm going to disable my instance:

    1. I write 3-5 posts in a year
    2. I do not maintance my server properly
    3. I even do not monitor my subscriptions

    I planned to shutdown my instance at the end of this week. Before I disable my server I planned to copy my last posts to

    I want to create new blog for this 3-5 messages in a year. What is better choice for such blog? I'm thinking about somebody's public Mastodon instance.

    Show all 9 replies
    Sorry to see you go.

    I would be interested to hear about any maintenance issues you have. Is it just that you couldn't be bothered to deal with it - which honestly I totally sympathize with? Or was there some other point of friction that we can work on upstream?

    AJ Jordan at 2018-04-04T15:14:57Z

    @AJ Jordan actually there is no issues (except minor issues with updates like with itself, but I use cheap VPS for my server, and it adds own issues, like to old version of node.js in CentOS 7 repos, unexpected server maintenance periods, backup issues (e.g. I lost my pictures when I restored my instance from backups first time).

    mnd at 2018-04-04T15:30:43Z ❌ likes this.

    There was one 5 day business trip at the end of week when I wanted to disable this server, then second one 3 days trip 2 weeks later, then new project @ work, then certificate on expired... And I finally created account on

    mnd at 2018-06-19T01:59:35Z

    I'm not good in maintaining my social activities :-)

    mnd at 2018-06-19T07:14:46Z

  • 2018-03-09T18:20:14Z via AndStatus To: Public

    Prepared updated "rust" package for guix. Currently in my own repo but at monday I'll try to send it to Guix maillists.
    Main change: New releases of "cargo" have no "Cargo.lock" file, because "Cargo always builds as rustc dependency and rustc already have Cargo.lock". So I moved "cargo" from separate package to "rust:cargo" output to be sure that I compile release version of "Cargo".

  • GuixSD & emacs & git

    2017-12-03T19:07:54Z via Pumpa To: Public CC: Followers

    What is best way to send git patches through e-mail under GuixSD?

    I can't find git-send-email utility in GuixSD packages, but I configured emacs gnus as mail client.

    My temporary solution is next function in .emacs.d/init.el:

    (defun gitpatch-message-mode ()
      "Change patch-file to send it though `message-mode'"
        (goto-char (point-min))
        (kill-line 1) ; Commit number that was source for patch
        (search-forward "\n\n")
        (insert mail-header-separator))

    With this function I can open patches generated with "git format-patch" and send it with "C-c C-c"

  • Yocto under GUIX

    2017-10-30T07:45:39Z via Pumpa To: Public CC: Followers

    Ok, I got allowance to publish my yocto patches and finally you can use yocto to build embedded linux distros under GuixSD! All required code placed at

    What is yocto?

    Yocto is set of projects to build embedded linux distros. This project based on "openembedded" project and widely used in telecommunacations and car-manafactuing.

    Usage instruction

    Fetch my guix packages

    git clone

    Create environment with patched poky distro (main part of yocto project):

    guix environment -L /path/to/guix-mnd-pkgs --ad-hoc poky --container --network --root=${PWD}/poky.env --expose=${PWD}/poky.env=/usr  --expose=/bin/sh=/bin/bash --expose=${PWD}/poky.env/bin/pwd=/bin/pwd --expose=${PWD}/poky.env/bin/ln=/bin/ln
    export LC_ALL=en_US.UTF-8  # Use locale suitable for python3
    source /usr/share/yocto/oe-init-build-env

    And then you can build your yocto-based distro. By default you have poky, but you can change conf/bblayers.conf file to add new meta-layers (e.g. layer with support for raspberry-pi builds).

    What was made

    GUIX package for poky distro with all dependencies, package for coreutils with xattr support, package for chrpath utilities, set of pactches to openembedded-core project.

    Yocto patches: Support to build with CPPFLAGS = "-isystem/usr/include", support to build with HOST_CC that contains several arguments for gcc, remove hardcoded "gcc" from openembedded-native recipes, fix for rpath'es in native perl builds, several changes to support special GuixSD environemnt (e.g. add export GUIX_LOCPATH to yocto build environments)

    Charles Stanhope likes this.

  • Spam

    2017-09-22T13:36:16Z via Pumpa To: Public CC: Followers

    I got mail with suggestion to write advertising post in this blog. Hey, popular enough for spammers!

    Sadly, it's been popular enough for that for a long time xD

    JanKusanagi at 2017-09-22T13:41:35Z

  • Scheme & Okasaki data structures

    2017-09-01T12:08:44Z via Pumpa To: Public CC: Followers

    Decided to read Okasaki work on lazy data structures. He made fix for SML syntax to achieve readable code for lazy structures in strict language. Same changes for scheme you can achieve in next manner:

     (srfi srfi-45) ; lazy primitives
     (ice-9 match) ; pattern matching
     (ice-9 textual-ports))
    (define (read-delay chr port)
       (match (get-char port)
        (#\$ `(= force ,(read port)))
        (c (unget-char port c) `(delay ,(read port)))))
    (read-hash-extend #\$ read-delay)

    And thats all. To delay evaluation you can use #$expr, to match delayed structures you can write (match delayed_expr [#$$match ...]) (note: hash-dollar-dollar). And now you can write code very similay to SML code in Okasaki work:

    (define stream #$(cons 1 #$(cons 2 #$(cons 3 #$'()))
    (define (take-stream n s)
      #$(match (cons n s)
          [(0 . _) '()]
          [(_ . #$$'()) '()]
          [(k . #$$(h . t)) (cons h (take (- k 1) t))]))
  • Bicycle

    2017-04-29T21:09:37Z via Puma To: Public

    Season is opened. Ok, it was opened 2 weeks ago, but today was first trip over 30 kilometers.

    Not bad! =)


    JanKusanagi at 2017-04-29T22:25:26Z

  • 3.0.x issue

    2017-03-28T14:22:19Z via Pumpa To: Public CC: Followers

    After upgrade I can't use uploads. After update I move files

    /srv/pumpio/* -> /src/pumpio/uploads/*

    and changed configuration:

    "uploaddir": "/srv/pumpio", --> "datadir": "/srv/pumpio",

    As result I can't open my old images and upload new ones. All files under /src/pumpio accessible to "pumpio" user.

    Any suggestions? My works with nginx and updates manually from git

    I imagine you followed the steps outlined on this issue.

    Do you have the 'enableUploads' option mentioned there?

    Also, did you do this? "Move the former uploaddir into the datadir, renaming it uploads if they hadn't already"


    >> mnd:

    “[...] and changed configuration:
    "uploaddir": "/srv/pumpio", --> "datadir": "/srv/pumpio [...]”

    shouldn't the new "datadir" variable point to the directory where you moved the stuff, /src/pumpio/uploads"? Assuming that 'src' is not a typo.

    Also, IIUC, I think you'll have another "./uploads" inside the datadir, so your path will have 2 "/uploads".

    Anyway, too many questions for now. Taking a look at what the automation script for this does might help re-trace your steps.

    JanKusanagi at 2017-03-28T14:40:09Z

    @JanKusanagi @ DM, thank you! Now it works. In option named uploadsEnabled.

    mnd at 2017-03-28T14:48:20Z

    You're very welcome =)

    JanKusanagi at 2017-03-28T14:57:56Z

  • 2017-03-05T19:03:34Z via Web To: Public CC: Followers

    Journalistic investigation about "received as a gift" assets of the head of Russian government (there is english subtitles)

  • night thoughts

    2017-02-09T20:13:48Z via Puma To: Public

    It's time to decise what I want from this life… But I'm too young for midlife crysis!

  • emacs module

    2017-02-08T20:47:25Z via Puma To: Public

    Creating module for emacs at work. Good. Not sure if this module will be published. Not so good.

  • guix environment

    2016-12-09T11:14:14Z via Dianara To: Public CC: Followers

    I guess it must be something like

    guix environment -L ~/Workspace/guix-mnd-pkgs -C --ad-hoc sdcc stm8flash make -e '(@ (gnu) %base-packages)' --share=${HOME}/Workspace/libstm8=/src/libstm8

    for clean environment with specified files in specified place

    I think I must send code for stm8flash package to guix...

    mnd at 2016-12-09T11:35:49Z

  • openid

    2016-12-02T01:35:22Z via Puma To: Public

    I do not know if anyone still used OpenID, but I installed OpenID server to own host.

    Is there any alive login projects that can be installed to own host?

    Timo Kankare, Claes Wallin (韋嘉誠), Douglas Perkins likes this.

    Claes Wallin (韋嘉誠) shared this.

  • LinkedIn blocked in Russia

    2016-11-17T09:32:49Z via Dianara To: Public CC: Followers

    I think this is good time to finally create account at LinkedIn.

  • v2.0.4

    2016-11-14T22:40:06Z via Pumpa To: Public CC: Followers updated

  • Jaws brewery

    2016-11-04T13:18:44Z via Puma To: Public

    Just come from tour to “Jaws” brewery. One of the best Russian beer!

  • GNU Make

    2016-10-25T14:15:05Z via Dianara To: Public CC: Followers

    It supposed to work in this manner?

    $ cat a
      ONE \
    SPACE = 5
            @echo $(VARIABLE_WITH_QUESTION ?)
            @echo $(VARIABLE_WITHOUT_QUESTION)
            @echo $(VARIABLE WITH SPACES)
            @echo $(VARIABLE  WITH  SPACES)
    $ make -f a
    $ make --version
    GNU Make 3.81
    Copyright (C) 2006  Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.
    There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
    This program built for x86_64-pc-linux-gnu

    Note two spaces in "NEWLINES REPLACED WITH ONE SPACE" name.

    AJ Jordan likes this.