henry_flower: A melancholy wolf (Default)
2017-03-25 07:49 pm

The new snake oil

Як сприймають https://coreos.com різноманітні круті хакіри:

"With Container Linux and Kubernetes, CoreOS provides the key components to secure, simplify and automatically update your container infrastructure."

Як я це бачу:

:(

henry_flower: A melancholy wolf (Default)
2017-03-24 04:49 am

Little Jack Horner sat in the corner

Вся правда про 3 nursery rhymes! ггг

Opens a Youtube page

Але все-таки мені здається, що "Mary, Mary, quite contrary" то було про дебелу та (не знаю, як сказати це по українські) bigoted Марію Тюдор, а не легковажну Марію Стюарт.

henry_flower: A melancholy wolf (Default)
2017-03-24 12:20 am
Entry tags:

Сутінки вільного лайнуксного десктопу. Епізод #533

Останній раз я дивився на Wine > 10 років тому. Вчора знадобилося запустити "an app" з ери win2k, яка не працює ані у w10, ані у w7 vm (the compatibility mode не допоміг).

The app запрацювала, що мене неабияк вразило, але поведінка Wine у Fedora 25 засмутила.

По-1-ше, при 1-му запуску winecfg, воно навіженого почало щось кудись копіювати: виникла дивна пауза, так що я подумав, може за ці роки той Wine переписали на джаві. Свої dotfiles у $HOME я зберігаю у the git repo, тому набравши git status я побачив, що Wine створив ~/.wine директорію. Але чому так повільно?

$ du -h ~/.wine | tail -1
516M    /home/henry/.wine

I don't even.

По-2-ге, я помітив, що можу запускати win executables просто з bash'у, e.g.:

$ file -b ~/.wine/drive_c/Program\ Files/Internet\ Explorer/iexplore.exe
PE32+ executable (GUI) x86-64, for MS Windows

$ !$

запускає Wine'івську пародію на IE, незважаючи на те, що той файл не є лайнуксним ELF.

БОРЯ
Дівчата, катай сюди, дядя фокус покажет!

            Ріта і Чіта подбігають ближче.

ЧІТА
А Ви умєєтє?

ЖОРА
(становиться раком)
Нєт нічєго прощє. Ейн, цвей, дрей!

            На слові "дрей" приліта птеродактиль Гриша,
            хапа хтивого павіана Жору за бордову сраку
            і зникає в невідомому напрямку.

БОРЯ
(філософськи)
Жора хотів вам показать фокус, який називається "сєвєрноє сіяніє".

РІТА І ЧІТА
Как інтєрєсно! Чєм ето достігаєтся?

Т.я. екосистема Windows відома тотальною відсутністю malware і ransomware, а Wine--куленепробивною пісочницею, останнє що я хочу, це автоматичний запуск таких виконуваних файлів. Як відключити таку capability?

Якщо лайнуксне ядро зібрати з опцією CONFIG_BINFMT_MISC, тоді у execve(2) з'являється можливість запускати винуковані файли у будь-якому форматі. Коли ядро натикається на невідомий йому формат, то перед тим як здатися, воно питає binfmt_misc підсистему, чи знає вона, наприклад, PE32+ (як у прикладі вище). Щоб відповісти, binfmt_misc потребує спеціальної runtime конфігурації.

Спочатку користувач маунтує /proc/sys/fs/binfmt_misc/; щоб додати нову проводку до бази даних binfmt_misc, він пише у файл /proc/sys/fs/binfmt_misc/register спеціально сформатований рядок. Напр., для PE32+:

# echo :windows:M:0:MZ::/usr/bin/wine: > /proc/sys/fs/binfmt_misc/register

# cat !$:h/windows
enabled
interpreter /usr/bin/wine
flags:
offset 0
magic 4d5a

Тут 0:MZ є приклад зсуву і послідовності байтів, за яким визначається певний формат. Для віндюкових .exe це є 1-ші 2 байти:

$ hexdump -C -n10 iexplore.exe
00000000  4d 5a 40 00 01 00 00 00  06 00                    |MZ@.......|
0000000a

Тобто, коли ми намагаємося виконати foo.exe, ядро виявляє, що foo.exe це є the Windows app і робить facepalm.jpg, передаючи foo.exe як параметр до /usr/bin/wine.

Щоб видалити проводку з БД binfmt_misc, можна записати -1 в файл тої проводки:

# echo -1 > /proc/sys/fs/binfmt_misc/windows

So far so good, але у Федорі 25, у нашу гру вступає systemd. До чого тут systemd?

systemd вважає, що маунтити і писати щось руками--то є нижче гідності користувача, тому воно надає an early boot сервіс під назвою systemd-binfmt.service, який маунтить binfmt_misc файлову систему і читає .conf файли (напр. у /usr/lib/binfmt.d/), за якими воно самостійно додає проводки до БД binfmt_misc.

Моєю 1ю реацію на авто-виконання .exe файлів було видалити rpm, який відповідає за створення такого авто-виконання:

# rpm -qf /lib/binfmt.d/wine.conf
wine-systemd-2.3-1.fc25.noarch

# rpm --nodeps -e wine-systemd
# systemctl restart systemd-binfmt

На що може сподіватися a humble user після таких команд? На те, що systemd, який намагається за будь-який кошт захистити сором'язливого користувача від лячного лайнуксу, видаліть зайві проводки з БД binfmt_misc.

га-га-га (регоче)

$ ls -l /proc/sys/fs/binfmt_misc
total 0K
--w------- 1 root root 0 Mar 23 19:26 register
-rw-r--r-- 1 root root 0 Mar 23 19:26 status
-rw-r--r-- 1 root root 0 Mar 23 20:11 windows
-rw-r--r-- 1 root root 0 Mar 23 20:11 windowsPE

Все як і було після інсталляції Wine, і можно перезапускати systemd-binfmt хоч до завтра.

А якщо сором'язливий користувач не знає нічого про binfmt_misc, як йому відключити авто-виконання? Можна перезавантажити лайнукс, на що десь у непідступному замку Майкрософт захіхікає проста і добра пика С. Наделли.

Видаляння wine-systemd не є найкращім рішенням, бо з кожним оновленням dnf сумлінно встановить ного знову. Я вже думав прописати щось на кшталт

echo -1 | tee /proc/sys/fs/binfmt_misc/w*

десь у /etc/rc.local, аж раптом вирішив прочитати binfmt.d(5).

Виявляється, рекомендованим способом є зробити у /etc сімлінк на /dev/null з таким самим ім'ям файлу з /lib/binfmt.d/, який ми не хочемо, щоб systemd читав. Тобто,

# ln -s /dev/null /etc/binfmt.d/wine.conf
# systemctl restart systemd-binfmt

henry_flower: A melancholy wolf (Default)
2017-03-20 05:58 pm

Американські геймери vs. німецькі геймери

Bruce Shelly (Railroad Tycoon, Civ1, Age of Empires 1-3)

"I spend some time in Germany working w/ guys that make these browser games. You play for 20 minutes, you build something, you come back in an hour, 2 hours later. One of the designers spoke to me. He said,

"You talk about a typical game styles like a Builder, a War Mongol. We have a style, played in Germany that we don't see much in America, that is called a Labourer. They just show up & work a little bit on their building & that's good enough for them. They come up from work, whatever they do for a living, & they just want to build something: do a little [inaudible], the little nailing & then they done. They came back tomorrow & do some more & that's perfect--they spend money on our games. There is an entire industry based in Europe & Northern Europe of Labourers who labour on their games."

I don't think we see that in America very often--this games don't do well in America. I don't think they do very well in Asia.'

(via Designer Notes podcast, ep. 9)

henry_flower: A melancholy wolf (Default)
2017-03-19 11:40 pm

Чому Railroad Tycoon ніколи не був популярним в Україні

Днями на HN був звичайний перепис старих пердунів--згадували який з Railroad Tycoon (1990) був гарний a business simulator.

Коментарі з abandonware:

The version I had (when I bought it FOR REAL in 1990) couldn't let me have more than $30,000,000. it would peg out at $29,999,999. As well, there was a limit to the number of stations you could build. And, when you score too high, you're ranked as a Hobo instead of President. Anyone else experience this?

The first computer I played it on ran at 8 MHz. It almost ran in real time. The speed of the processor actually affected the revenue you got at each station, and the value of the bonus you got.

Мені завжди здавалось, що RT (в моему випадку, версії 2 і 3)--то була іграшка, про яку всі навколо казали "дуже цікаво", але в яку, в дійсності, ніхто не грав. Хтось з однокурсників мені давав диск з RT2 і RT3, я грав по кілька годин (спочатку, здається у 2гу), але швидко здавався--правила ввижалися занадто складними.

Сьогодні подивився на архіви з оригінальною RT1 і вкотре розчулився від гамериканських manuals. 1990 рік, разом з флоппі, покупець отримував справжню 150+ ст. книжку, де було все: від чудових historical references

і інструкцій по фінансовим операціям з акціями та облігаціями

до опису виграшних стратегій.

Мабуть, якщо би я мав тоді отаку the manual, починати грати було б набагато простіше.

АФРИКАН СВИРИДОВИЧ
Ех, нам би так!

МУРЗІК
Вам так не буде.

З іншої сторони, стає стає зрозумілим відсутність популярності таких іграшок в Україні, де

a) ніхто нічого не знає (і знати не хоче) про фінансові ринки;

b) ігри, де мета не імбецильне вбити-всіх/побудувати-якесь-ідіотське-середньовічне-село, а заробляти віртуальні гроші таким чином, щоб profits не опускалися нижче певного рівня відносно до конкурентів, викликають реакцію "хм...";

c) гуманітарної освіти не існує; тут можуть навчити як писати простий компілятор ~1970 року, але arts і social sciences відомі на тому ж рівні, як вони були відомі амазонським аборигенам до Portuguese conquests. Всі існуючи "гуманітарні" вузи в Україні підлягають спаленню (чим раніше це буде зроблено, тим краще);

d) тривалість концентрації уваги у людей впевнено прямує до 9 сек. max, як у золотої рибки карася;

e) [злісний пункт про кіно, серіали, фейсбук, який я не бачу сенсу пояснювати];

f) 0-ва англійська.

henry_flower: A melancholy wolf (Default)
2017-03-19 04:28 pm

Women were on the watch to give the alarm by their screams

The law by which the Parliament of James had subjected the press to the control of censors was still in force [~1690]; and, though the officers whose business it was to prevent the infraction [0] of that law were not extreme to mark every irregularity committed by a bookseller who understood the art of conveying a guinea in a squeeze of the hand, they could not wink at the open vending of unlicensed pamphlets filled with ribald [1] insults to the Sovereign [William III], and with direct instigations to rebellion.

But there had long lurked in the garrets of London a class of printers who worked steadily at their calling with precautions resembling those employed by coiners and forgers. Women were on the watch to give the alarm by their screams if an officer appeared near the workshop. The press was immediately pushed into a closet behind the bed; the types were flung into the coalhole, and covered with cinders: the compositor disappeared through a trapdoor in the roof, and made off over the tiles of the neighbouring houses.

In these dens were manufactured treasonable works of all classes and sizes, from halfpenny broadsides of doggrel [2] verse up to massy quartos filled with Hebrew quotations. It was not safe to exhibit such publications openly on a counter. They were sold only by trusty agents, and in secret places.

Some tracts which were thought likely to produce a great effect were given away in immense numbers at the expense of wealthy Jacobites. Sometimes a paper was thrust under a door, sometimes dropped on the table of a coffeehouse. One day a thousand copies of a scurrilous pamphlet went out by the postbags. On another day, when the shopkeepers rose early to take down their shutters, they found the whole of Fleet Street and the Strand white with seditious handbills.

(The History of England, by Thomas Babington Macaulay, ch. 16)


[0] infraction -- violation
[1] ribald -- humorously vulgar
[2] doggrel -- (doggerel) a comic verse of irregular measure

henry_flower: A melancholy wolf (Default)
2017-03-16 10:24 pm
Entry tags:

Дістро на Ліспі

Яка гарнюня: https://www.gnu.org/software/guix/

Вся the configuration system написана на Guile.

(define %my-services
  ;; My very own list of services.
  (modify-services %base-services
    (guix-service-type config =>
                       (guix-configuration
                        (inherit config)
                        (use-substitutes? #f)
                        (extra-options '("--gc-keep-derivations"))))
    (mingetty-service-type config =>
                           (mingetty-configuration
                            (inherit config)))))

(operating-system
  ;; …
  (services %my-services))

Я вражений!

At the Scheme level, the bulk of an operating-system declaration is instantiated with the following monadic procedure (see The Store Monad):

Monadic Procedure: operating-system-derivation os

Return a derivation that builds os, an operating-system object (see Derivations).

The output of the derivation is a single directory that refers to all the packages, configuration files, and other supporting files needed to instantiate os.

Ааааа, the stored monad!

Колись, коли майже 9 років тому я писав кастомний лайнукс дістро (для стартапа, який лопнув ще до етапу MVP, гагага), то намагався геть усе писати на Tcl. Інсталятор був на Tk, частина скриптів у /etc була на Tcl, тощо. Tcl був вибраний, бо він був крихітній, uber fast, не потребував ніяких dependencies і мав Tk.

Але в порівнянні з оцим guix дістро, то було ніщо, нуль. Ці пацани з Guile це як Генрі Форд vs. паровий двигун.

henry_flower: A melancholy wolf (Default)
2017-03-16 05:30 pm

I will give the children to the orphanage

Лист відправлений з Глівіце у квітні 1917:

Dear Husband!

This is the last letter I am writing to you, because on the 24th I am going to marry another man. Then I don’t have to work any longer. I have already been working for three years as long as you are away from home. All the other men come home for leave, only you POWs [0] never come. Nobody knows how long it will take until you come home. That’s why I am going to have a new husband. I will give the children to the orphanage. I don’t give a rat’s ass about a life like that!

There is no way to survive with these few Pfennig benefits. At work they have a big mouth about the women. Now I don’t need to go to work, now the other man is going to work for me. All wives whose husbands are POWs will do the same thing and they will all get rid of the children.

Three years at work are too much for the women and 20 Mark for benefit and 10 Mark child benefit are not enough. One cannot live on that. Everything is so expensive now. One pound of bacon costs 8 Mark, a shirt, 9 Mark.

Your wife

3 years at work are too much for the women!

(via https://www.futilitycloset.com/?p=45645)


[0] POW -- a prisoner of war

henry_flower: A melancholy wolf (Default)
2017-03-16 04:46 pm

Латгальський парубок

У FBI працюють трошки наївні люди. Ось подивіться на це їбало:

https://www.fbi.gov/wanted/cyber/alexsey-belan

Ім'я: Алєксєй Бєлан
Місце народження: Рига, Латвія
Національність: Латиш

100%-й латиш, ага. Ким він ще може бути.

'Belan has Russian citizenship and is known to hold a Russian passport. He speaks Russian and may travel within Russia, Greece, Latvia, the Maldives, and Thailand. He may wear eyeglasses and dye his brown hair red or blond. He was last known to be in Krasnodar, Russia.'

henry_flower: A melancholy wolf (Default)
2017-03-14 01:55 pm

Перéпис дебілів

Совєтські погромісти обговорюють майбутнє України та EU:

https://vitus-wagner.dreamwidth.org/1882707.html

"подєліть Восточную Європу прімєрно в ґраніцах 1652 ґода"

henry_flower: A melancholy wolf (Default)
2017-03-14 01:33 pm

Sourceforge стає все краще і краще!

Зробив git push --tags, тепер на їх (sourceforge.net) жахливій пародії на гітхаб хвилин 30 висіть The metadata for this repository is missing. To fix, please try a refresh.

Коли вже цю стюардесу закопають?

henry_flower: A melancholy wolf (Default)
2017-03-12 03:13 pm

Всьо чєрєз жопу

The Americans s05e01

Opens a Youtube page

henry_flower: A melancholy wolf (Default)
2017-03-10 11:24 am

It feels like it has to be satire, & yet somehow it isn't

... або русня повчає американських девелоперів:

https://pbs.twimg.com/media/C6adguhWYAI6hp3.jpg:orig

Зліва направо: від безкоштовних уроків пограмування до Гітлера.

Я чув, Github кілька разів забороняли в Росії, чи щось таке (не пам'ятаю подробиць). Навіщо вони тоді лізуть? Яндекс ще не спромігся зробити свій православний РуSSхаб чи шо?

henry_flower: A melancholy wolf (Default)
2017-03-07 08:57 am

Генератор випадкових чисел у 1х версіях fortune(6)

From: Dennis Ritchie <dmr@bell-labs.com>
Subject: Re: When giants walked the earth (was: 1130)
Date: 1998/05/02
Message-ID: <354A5F96.FD6@bell-labs.com>
Organization: Bell Labs, Lucent Technologies
Newsgroups: alt.folklore.computers

Tom Van Vleck wrote (quoting alderson):

> > No, it wasn't.  It originated at the Stanford Artificial
> > Intelligence Lab;
>
> Perhaps we have a case of parallel invention.  I wrote a program
> that uttered a random remark on each invocation in MAD for CTSS in
> 1965, for my own amusement.  It is possible that some of my Bell
> Labs colleagues on the Multics development project were aware of
> this program.

I don't know where the Unix fortune program came from.  It appeared in
the 7th edition (1979) but wasn't in the 6th (1975).  I doubt that it
was parallel invention, rather derivative adaptation, but the time gap
between v7 and 1965 CTSS is large enough that it's doubtful that TVV's
version was the immediate ancestor.  It could indeed be SAIL.

Incidentally, this program figured in an amusing story, somewhat
later, that tends to validate a notation that Bob Morris had in an
early manual in the rand (III) section: "The author of this routine
has been writing random number generators for many years, but has
never written one that works."  (Referring to Ken Thompson).

Several had observed that even though there were many thousands of
fortunes in the file, they kept seeing the same ones over and over
again.  The fortune is selected by flipping a figurative coin (using
rand()).  It turned out that although the RNG was actually reasonably
good asymptotically, after it was initialized it took a while to
achieve the good behavior.  Fortune, of course, reset the RNG each
time the command was invoked and used the first, biased values from
it.

    Dennis
henry_flower: A melancholy wolf (Default)
2017-03-06 10:19 am

You could retire 5 years earlier!

Томас і Реймонд Маліáці про підарасів, які люблять хонкати.

Tom: 'The light turns green (we're talking about a nanosecond here) & the guy behind me "beep"--he's on his horn. Every time this happens I purposely stall my car & get out to ask the guy behind me "I'm sorry, was there a problem?"'

Ray: 'To be fair, I've driven behind you; & suffice it to say that you haven't gotten away from a stop-light in < 20 or 30 seconds. So I can understand the guy behind you. I don't condone it, but I can understand.'

Tom: 'That's why I say: it's rude. If I was walking down the street in front of you & was walking too slowly, would you push me?! Would you yell at my ear "Hey, jerk, move a little faster!"?! You would never do that if I was walking. All I ask is: treat me when I'm in my car the way you would threat me if I was walking down the street!'

Ray: 'But you know what you do when you're walking down the street & someone is going too slowly? You go around. & you can't always do that when you stuck in traffic.'

Tom: '& if you can't, what do yo have to do? You have to wait. The would has forgotten how to wait. Don't forget we're not talking about waiting for hours, we're talking about seconds if even that!'

Ray: 'You add all those up. It could add up to years.'

Tom: 'It doesn't add up. If you could get every single one of those people to move his butt a second of 2 sooner you get to work...'

Ray: '... you could retire 5 years earlier.'

Tom: 'You would get to work a ½ a minute sooner! Big deal!'

henry_flower: A melancholy wolf (Default)
2017-03-05 11:40 am
Entry tags:

Бідаха Лінус

Jörg Schilling--автор cdrtools і персональної сторінки у стилі the year 1996 that never ended.

Date: Mon, 20 Feb 2017 19:14:44 +0100
From: Joerg Schilling <schily-lSlhzV3CM+2sTnJN9+BGXg@public.gmane.org>
Newsgroups: gmane.org.unix-heritage.general
Subject: Re: Mach for i386 / Mt Xinu or other
User-Agent: nail 11.22 3/20/05
Message-ID: <58ab3214.+jRaJEWVki5gYHFz%schily@schily.net>

Larry McVoy <lm-VxhRmpcwSR4AvxtiuMwx3w@public.gmane.org> wrote:

> Linus had the qualities of being a good programmer, a good architect,
> and a good manager.  I've never seen all 3 in a person before or since.

My memory is different. He claims that his intention is to keep
kernel/userspace interfaces stable, but given the fact that this did
never happen, I tend to believe that he lacks the understanding on
what all is part of the kernel/userspace interface.

He also send me a 10 line patch for cdrtools in 2004 and I did never
get a worse patch (a patch that includes more new bugs) for my
software.

So I cannot confirm your view.

He is a person with a strong ego and this may have helped to spread
Linux.

Jörg

#інтриги #розслідування

henry_flower: A melancholy wolf (Default)
2017-03-05 07:56 am

У всякого своє лихо, І в мене не тихо

Що робить нормальна, здорова людина, якій треба намалювати діаграму, малюнок, тощо? Відкриває якийсь Inkscape та малює.

Що роблю я? Шукаю на полиці роздруковану Computer Science Technical Report No. 116 Браяна Вільсона Кернігана і кожен раз перечитую її заново, тому що роблю я це 1 раз на 6 місяців і за цей період геть забуваю мову PIC.

Наприклад, ось така svg картинка:

Рендериться з цього тексту:

Read more... )

Який зайняло в мене майже годину народити, ггг.

Жах с точки зору productivity, але typographically результат краще, ніж будь-який mouse click based.