Russia, Yekaterinburg

  • Russian Election

    2018-01-09T23:31:58Z via Web To: Public CC: Followers

    Election of the President of Russia.

    I hope the candidates have prepared powerful pop/dance songs about themselves =)

    JanKusanagi at 2018-01-09T23:46:36Z

    mnd likes this.

  • 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.

  • Election

    2016-09-23T22:12:51Z via Impeller To: Public CC: Followers

    Russian Duma election is over. The winning party added to themself about 12 millions fake votes (12 of 50 millions).

    There is millions statistically improbable votes. If we remove this suspicious votes then results will be much closer to exit polls.

    mnd at 2016-09-24T19:07:00Z

  • libreboot update

    2016-09-09T08:01:53Z via Dianara To: Public CC: Followers

    To update libreboot on laptop you must reboot with "nopat iomem=relaxed" kernel options.

  • Russian post

    2016-09-08T18:07:56Z via Pumpa To: Public CC: Followers

    Postal tracking said that my order delivered to office with zip code 620143. It was sent to office 620144. It's at far end of my town! At least same town.