РОИ

Организовать работу поликлиник в субботу
https://www.roi.ru/39554/

Помню как меня бесила фактическая невозможность попасть в поликлинику пока работал в пятидневку.

Написал статью о конлангах на гиктаймc

https://geektimes.ru/post/297427/

Перечитал - ализаровщина, тьфу.
Однако ж потратил почти всю ночную смену и еще вечер на компоновку.
Пишешь быстро - ализаровщина. Пишешь долго - запал теряется.
Надо как то качать силу воли.

Зато карму поправил. Если кого надо плюсануть пишите, я пока могу.

Продолжая тему конлангов

Еще раз вернулся к логлану и наконец понял что ж он такой тяжкий. Секрет прост - просто он не для людей. Он для наиболее точного выражения смысла, без двусмысленностей и разночтений. От этого и практически полностью сгенерированный словарь и непривычная система частей речи. Понятно теперь почему он так нравился Хайнлайну. Кстати самый основополагающий документ по логлану, книга "Логлан 1", оказывается, не переведена на русский. Заняться что ли.

Еще понравилась концепция Интерлингвы, кстати, если одним предложением то - "лингва латина нон пенис канина" :)

Нашел на wikibooks учебник по токипоне

https://ru.wikibooks.org/wiki/%D0%A2%D0%BE%D0%BA%D0%B8%D0%BF%D0%BE%D0%BD%D0%B0

Никогда не думал что лингвистическое чтиво может быть таким увлекательным, читал всю ночь, в полном восторге. Ирония в том что начинал я искать инфу по логлану, который идеологически куда более правильный, но от чтения документации по логлану я засыпаю на третьей странице.

Столкнулся с интересным глюком циски

При телнете с роутера на куда нибудь циска всегда использует первый адрес который повешен на интерфейсе, ip address secondary использовать указать нельзя. Единственный велосипед который я нашел:

Router Tricks: Sourcing telnet from secondary IP address
We can not source telnet directly from the secondary IP address. But we can work around this situation with the help of the good old friend NAT. The following configuration will translate the telnet source address (primary IP address) to the secondary IP address while initiating telnet sessions towards the secondary subnet:

interface Loopback0
ip address 10.172.192.1 255.255.255.252
ip nat outside
!
interface Loopback10
ip address 10.172.192.5 255.255.255.252
ip nat inside
ip policy route-map LOCAL-DIVERT
!
interface FastEthernet0/0
description Outside Interface
ip address 180.1.12.1 255.255.255.0 secondary
ip address 150.1.1.1 255.255.255.0
!
ip local policy route-map LOCAL-POLICY
!
ip nat pool NAT-180-1-12-1 180.1.12.1 180.1.12.1 prefix-length 24
ip nat inside source list TELNET-180-1-12-0 pool NAT-180-1-12-1 overload
!
ip access-list extended TELNET-180-1-12-0
permit tcp any 180.1.12.0 0.0.0.255 eq telnet
!
route-map LOCAL-POLICY permit 10
match ip address TELNET-180-1-12-0
set ip next-hop 10.172.192.6
!
route-map LOCAL-DIVERT permit 10
set ip next-hop 10.172.192.2

Гланды через жопу, ёмана

Месть пешехода

На "двухрежимных" (у которых отдельный зелёный свет для уважаемых автовладельцев и отдельный - короткий - зелёный для всякого быдла) светофорах иногда особо одарённые водятлы начинают гудеть тем кто заканчивает переход на красный (по ПДД то водитель обязан пропустить заканчивающего переходить проезжую часть пешехода, но кто ж их читает то).

Сегодня на гудок такого умника (причем я уже практически ушел с курса особо нетерпеливого автогражданина) я с удовольствем развернулся и минуты две делал вид что воспринял его гудок как сигнал что я что то потерял и ищу у него под колёсами.

Мелочь, а приятно.

FreeBSD, syscons, виртуальные консоли, костыли

Камрады, у кого есть идеи, можно ли сделать чтобы после загрузки FreeBSD переключалась на вторую виртуальную консоль (aka ttyv1, aka Alt-F2). Гуглил "FreeBSD boot to ttyv1", "ttyv1 default console", "FreeBSD change bootup virtual console" - что то ничего не нагугливается.

Пока что техническая мысль дошла до

В файл vt.c пишем:

#include <sys/ioctl.h>
#include <string.h>
#include <stdio.h>
#include <fcntl.h>
#include <sys/errno.h>
#include <sys/consio.h>
#include <unistd.h>

int main(int argc,char** argv) {
sleep(4);
int fd = open("/dev/consolectl", O_RDWR);
ioctl(fd,VT_ACTIVATE,2);
}


В консоли:
clang vt.c
cp a.out /a.out

и в crontab
@reboot root /a.out

Так то оно работает, но сильно попахивает костылями. Может можно как то более по фэншую?