← All posts tagged code

a13
Lisp code BL racket
(match part
           [(list name (cons 'sub (cons partdata tail)))
            (foldl
             (curry or
                    (match x
                      [(list bla-bla (list 'enabled e)) e]
                      [_ #f])) #f tail)]
           [_ #f])

доктор, мне кажется я пейшу не на том языке >_<
a13
Lisp code
Ковыряюсь в коде древних, 15-"этажный" (а было ещё на 8 больше, включая вложенные) let*, нафиг так жить?
a13
Debian code
костыли-костылики:

allow-hotplug br0
iface br0 inet dhcp
      bridge-stp off
      bridge-ports eth0

allow-hotplug eth0
iface eth0 inet manual
     pre-up ifup br0
     up ifconfig $IFACE 0.0.0.0 up
     up ip link set $IFACE promisc on
     post-down ifdown br0
     down ip link set $IFACE promisc off
     down ifconfig $IFACE down
a13
бред code
А ваши коллеги тоже не прочь поработать ночью?

 git log | awk '/Date/{print $5}' | cut -d : -f 1 | sort -n | uniq -c                                                                                                       
     26 00
     17 01
      6 02
      2 03
      4 04
      2 07
     39 08
    220 09
    349 10
    854 11
   1170 12
    831 13
   1394 14
   1617 15
   1121 16
   1602 17
    949 18
    665 19
    282 20
    130 21
     47 22
     38 23
a13
code racket
(append-map (lambda (user)
              (append-map (lambda (af) 
                            (map 
                             (lambda (single-af) 
                               (cons single-af user)) 
                             (match af
                               ((list type addrs ...) 
                                (map (lambda (x) (list type x)) addrs)))))
                          (filter (lambda (x) (member (car x) fields))
                                  (cdr user))))
            users)

что-то я делаю не так ...
a13
? C++ code
народ, ща подумалось, а какие подводные камни могуть быть, если использовать вместо:

proc(args);
return;

что-то типа:
return proc(args);
?
//везде, ессесна, void-ы
a13
ололо code gpg xep
если верить http://xmpp.org/extensions/xep-0027.html, то "All program output is US-ASCII armored output with the headers removed. ", думаю, а как же тогда декриптовать? Выше реализовал через отрезание лишнего, base64 декодирование и скармливание в сыром виде. Работает. Стало интересно, как бы сделать красиво, посмотрел код Pidgin-GPG
static char* str_armor(const char* unarmored)
{
	char* header = "-----BEGIN PGP SIGNATURE-----\n\n";
	char* footer = "\n-----END PGP SIGNATURE-----";

	char* buffer = malloc(strlen(header)+strlen(footer)+strlen(unarmored)+1);
	strcpy(buffer, header);
	strcat(buffer, unarmored);
	strcat(buffer, footer);
	return buffer;
}

///_\\\
a13
Lisp code Scheme ardour
head /etc/ardour2/ergonomic-us.bindings
; ardour GtkAccelMap rc-file         -*- scheme -*-
; this file is an automated accelerator map dump
;
; (gtk_accel_path "<Actions>/RegionList/RegionListSort" "")
(gtk_accel_path "<Actions>/Common/Quit" "<Ctrl>q")
(gtk_accel_path "<Actions>/Common/Save" "<Ctrl>s")
; (gtk_accel_path "<Actions>/Editor/Pullup" "")
; (gtk_accel_path "<Actions>/Editor/zoom-to-session" "")
; (gtk_accel_path "<Actions>/JACK/JACKReconnect" "")
; (gtk_accel_path "<Actions>/Editor/Autoconnect" "")


например
a13
code
А вы как боретесь с warning: comparison between signed and unsigned при использовании sizeof?

no-sign-compare не предлагать
a13
Emacs Vim code
сорцы конки порадовали:

/* -*- mode: c; c-basic-offset: 4; tab-width: 4; indent-tabs-mode: t -*-
 * vim: ts=4 sw=4 noet ai cindent syntax=c

мир-дружба-жвачка прям
a13
BSD code Cisco говно
/*
 * Cisco uses milliseconds for uptime. Bad idea, since it overflows
 * every 48+ days. But we will do same to keep compatibility. This macro
 * does overflowable multiplication to 1000.
 */
#define MILLIUPTIME(t)  (((t) << 9) +   /* 512 */       \
                         ((t) << 8) +   /* 256 */       \
                         ((t) << 7) +   /* 128 */       \
                         ((t) << 6) +   /* 64  */       \
                         ((t) << 5) +   /* 32  */       \
                         ((t) << 3))    /* 8   */
a13
code JS bike conkeror костыли
запилил русские шорткаты для conkeror - просто переделав define_key (чтоб вызывался два раза для каждой раскладки)
Костыльно, вроде работает, единственные косяки - из-за user_pref("conkeror.load.bindings/default/bindings", 0) нужно два раза перезапустить. Ну и "M-ч" вместо "M-x" забавно смотрится
//--------------------------------
ru = decodeURIComponent(escape('ёйцукенгшщзхъфывапролджэячсмитьбюЁЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ'));
en = '`qwertyuiop[]asdfghjkl;\'zxcvbnm,.~QWERTYUIOP{}ASDFGHJKL:\"ZXCVBNM<>';

function e2r (ch) {
    let (idx = en.indexOf(ch)) {
        return (idx == -1)? ch : ru[idx];
    }
}

function tr (seq) {
    var nseq = [];
    seq.forEach(
        function (tmp) {
            if (typeof tmp == "string") {
                var m = tmp.match(/^(M-|)(.)$/);
                if (m)
                    nseq.push(m[1] + e2r(m[2]));
                else
                    nseq.push(tmp);
            }
        }
    );
    return nseq;
}


define_keywords("$fallthrough", "$repeat", "$browser_object");
function define_key (kmap, seq, cmd) {
    keywords(arguments);
    var orig_seq = seq;
    try {
        var ref = get_caller_source_code_reference();

        if (typeof seq == "string" && seq.length > 1)
            seq = seq.split(" ");

        if (!(typeof seq == "object") || !(seq instanceof Array))
            seq = [seq];

        // normalize the order of modifiers in key combos
        seq = seq.map(
            function (k) {
                if (typeof(k) == "string")
                    return format_key_combo(unformat_key_combo(k));
                else
                    return k;
            });

        var new_command = null;
        var new_keymap = null;
        if (typeof cmd == "string" || typeof cmd == "function")
            new_command = cmd;
        else if (cmd instanceof keymap)
            new_keymap = cmd;
        else if (cmd != null)
            throw new Error("Invalid `cmd' argument: " + cmd);

        define_key_internal(ref, kmap, seq, new_command, new_keymap,
                            forward_keywords(arguments));

        define_key_internal(ref, kmap, tr(seq), new_command, new_keymap,
                          forward_keywords(arguments));

    } catch (e if (typeof e == "string")) {
        dumpln("Warning: Error occurred while binding sequence: " + orig_seq);
        dumpln(e);
    }
}

user_pref("conkeror.load.bindings/default/bindings", 0);
require("bindings/default/bindings");

//----------------------
a13
code HowTo шрифты Motif citrix
Как настроить шрифты в citrix receiver под линукс
1)в файле ресурсов (.Xdefaults или ~/.Xresources) прописываем:
!-------------
Wfcmgr*fontList:\
-*-terminus-*-*-*-*-*-*-*-*-*-*-iso10646-1;\
-*-fixed-medium-r-*-*-*-140-75-75-*-*-iso10646-1:
!-------------
2)чтобы настроить кириллицу(хз, нужна она там или нет, но пусть будет) - нужно добавить (если старые иксы и некошерный дистр) иксовую локаль ru_RU.UTF-8
примерно так: http://sys-admin.org/node/76 - все что касается локалей, только сейчас они находятся не в /usr/lib/X11/locale, а в /usr/share/X11/locale