dluciv: (Default)
Было два пациента.

Первый — скан старой цветной фотографии 1996 года. Размеры в байтах и степень сжатия без потерь в различных форматах такие:

Формат	Размер, б.	Сжатие
BMP	54267470	1,00
FLIF	31147880	1,74
HEIF	14934934	3,63	Потери 24
PNG	32452404	1,67
TIFF	36768907	1,48
WebP	31424946	1,73
J2K	32304001	1,68


PNG дожимал мучительно при помощи OptiPNG, FLIF просто мучительно сохранял (он сам по себе мучительный). HEIF... он что, такой хороший? Нет, не такой. Как минимум енкодер в GIMP с установками без потерь привёл к потерям с уровнями до 24/256. Т.е. либо Apple врёт, либо GIMP.

Второй — скан паспорта. Вообще второй эксперимент с самого начала плохой, негодный, т.к. скан был до этого в WebP с хорошим качеством, но с потерями. Т.е. как минимум WebP должен, по идее, без потерь жать картинку очень эффективно: на ней уже нет деталей, которые ему тяжело переварить. В остальном в плане мучений и потерь то же самое, правда HEIF дал тут маскимальный уровень потерь, равный 11, а не 24 (артефакты исходного WebP помогли?..)

Формат	Размер, б.	Сжатие
BMP	37000282	1,00
FLIF	15187729	2,44
HEIF	11556145	3,20	Потери 11
PNG	25430631	1,45
TIFF	24265414	1,52
WebP	16678118	2,22
J2K	22895056	1,62


Какие выводы?


  • TIFF с Deflate (без потерь то бишь), который все советуют, работает быстро, совместим со всем, чем можно, жмёт хуже всех, но раза в полтора помогает. Т.е. годится в целом.

  • PNG c мучительным OptiPNG жмёт получше TIFF.

  • HEIF использовать стрёмно. Не знаю, кто виноват.

  • FLIF использовать конечно можно, но только если так нужно, что хоть убейся. Его почти никто, кроме его собственных тулзов, не читает и не пишет. Сжатие по времени занимает столько же примерно, сколько OptiPNG.

  • JPEG2000 без потерь жмёт небыстро, но с более-менее разумной скоростью, и лучше OptiPNG. Только потом поди найди, чем его прочитать в полевых условиях...

  • WebP, как ни странно (повторюсь, второй тест негодный, будет возможность — потестирую на других файлах), жмёт медленно, но с приемлемой скоростью, по результату уступает только FLIF и много чем поддерживается.

dluciv: (я)
Если посмотреть JPEG и WEBP на страничке https://developers.google.com/speed/webp/gallery1, то да, файлы WEBP конечно заметно меньше. Но при этом качество картинок вызывает сомнения. Например, у первой картинки (Nærøyfjorden, Norway) JPEG субъективно гораздо лучше. На WEBP на отражении в воде адские квадраты...

А теперь собственно по теме. Я понимаю, что панацеи нет. Если сканируются какие-нибудь старые документы с текстом, то тут конечно DJVU делает всех. Но если нужно сканировать не что-то в духе Document1.pdf, а документ с гильошем — сертификат, диплом, паспорт, свидетельство какое-нибудь там, то уже большой вопрос. Тоже DJVU? А может забить, и просто выбрать формат, который даст самый маленький файл в режиме без потерь?
dluciv: (большой брат)
Я не могу назвать подтверждений расхожему мнению о том, что взгляд на кибернетику, как на продажную девку империализма, в СССР являлся одной из важных причин отставания в развитии отечественной вычислительной техники.

Я вижу неграмотное смешение понятий кибернетики и вычислительной техники, сперва дилетантами, а потом уже по привычке и некоторыми специалистами. А подтверждений значительного урона развитию вычислительной техники из-за отношения к кибернетике не вижу.

Поправьте меня.
dluciv: (криптопридурок)
Пришло мне тут письмишко довольно-таки тупое (стандартное, весь почти текст гуглится), что меня якобы похакали (при этом действительно предъявили пароль, который утёк в 2011 аж году, но был изменён в течение полутора минут после этого), внедрили типа мне троян и засняли мою вебкамеру одновременно с порнухой, которую я смотрел. И теперь хотят от меня в биткоинах, чтобы этого, значит, никто не увидел.

Ну пришло и пришло. Надежды бесплатно увидеть свою морду в увлекательном фильме, как я понимаю, всё равно мало. Но я, как приличный человек, полез и поискал, что за провайдер у айпишника, с которого оно пришло. Нашёл. Оказалось (какая неожиданность!), что это Ботсвана. Заодно теперь знаю, где она. Похоже примерно туда доктора Айболита привезли орлы. Как сейчас помню картинку на стене в своей детской поликлинике... Вот точно такую, с грозным орлом, с чемоданом, арбузом и клетчатыми штанами. Только кажется зеркальную.



Дык вот, у провайдера есть Email для абьюза. И что, блин, вы думаете, произошло, когда я им написал письмо и приаттачил к нему тот, исходный Email? Совершенно верно! У них на Email для абьюза стоит антивирус, он узнал приаттаченное письмо, сказал, что это вирус Sanesecurity.Junk.57702.UNOFFICIAL, и послал меня лесом. Полезно, да. Ну и хрен с ними, пускай сами разбираются. Главное, что Айболит от них целым улетел.

Кстати интересно, что VirusTotal ничего такого не находит при помощи кучи антивирусов: https://www.virustotal.com/#/file/370b6ee20f38c918dd2612b7361240b8bc371a66c7477849685d949f4e204fbd/detection
dluciv: (очки)
Попробовал тут, интереса ради, написать программку, которая считает SHA1 от «Здравствуй, жопа!» в UTF-8 (SHA1 считала библиотека, мне самому конечно лень), скомпилировать в WebAssembly и запустить. До кучи сразу на Rust, поскольку в данный момент Rust был установлен, а Emscripten — нет.

Не понял, по всей видимости, главного. Чем оно принципиально лучше Java-апплетов и .NET SilverLight?..
dluciv: (криптопридурок)
Назарбаев подписал указ о переходе Казахстана на латиницу.

Известно, что для Казахов ни кириллица, ни латиница не являются родными. Также ясно и то, что при выборе между латиницей и кириллицей, если обе не родные, сейчас действительно больше технических преимуществ у латиницы. Да хотя бы на клавиатуре ПЕКА латиница расположена отдельно от всего. А кириллица — нет, поскольку её много. А это на самом деле очень неудобно. И нормальной отдельной кнопки для переключения между латинским и национальным наборами нет. Тут я, правда, вообще в недоумении, поскольку это ещё более неудобно, но за много лет все привыкли и не возмущаются. Короче не предназначена клавиатура для кириллицы-то.

Не ясны две вещи. Во-первых, почему им приспичило это сделать сейчас, а не сразу после распада СССР. А в-нулевых — зачем это делать так по-дурацки?

Сейчас объясню, почему мне кажется, что они сделали по-дурацки.

Даже если оставить написанное журналистами слово «апостроф» и посмотреть на указ Назарбаева, можно убедиться в том, что действительно вводятся новые буквы, выглядящие, как буквы с апострофами. В Юникоде, помимо самого апострофа, уже имеются похожие на него дополняющие диакритические знаки U+0315 (Combining Comma Above Right) и U+031B (Combining Horn) — вот как с ними выглядит латинская буква «o», например: «ơ» и «o̕». Возможно одна из них через некоторое время станет казахской. Это в лучшем случае. В худшем там именно апостроф и окажется. Самый настоящий, из ASCII.

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

Дальше больше — можете посмотреть расширенную латиницу в Юникоде и убедиться в том, что и похожие на апостроф диакритики почти нигде не используются в формировании символов. И это, ёлки-палки, логично. Апостроф, хоть и встречается на письме, не особо-то предназначен для конструирования алфавита.

Теперь, собственно, вопрос: всё-таки почему и за что я так прикопался именно к апострофу? А вот именно потому, что его легко набирать. Даже если они сделают нормальный набор символов, и даже если оно попадёт в очередной стандарт Unicode, бухгалтера и юристы уже до этого успеют привыкнуть печатать апостроф и продолжат его печатать дальше.



Всё понятно?
dluciv: (Default)
Присылает мне ЖЖшечка письмо: пользователь [identity profile] ru-iichan.livejournal.com укоряет меня за то, что я давно не писал у себя в ЖЖ. Ни фига подобного, около месяца назад писал про снегопад в Питере. И даже картиночки выкладывал. Но раз укоряет, то напишу, ладно уж.

Неожиданные восторги насчёт того, что теперь Котлин из коробки входит в Android Studio, мне кажутся немного странными.

Дело не в том, что лично мне не особо нравится Kotlin. Дикого восторга не испытываю, но язык как язык, приличный. А если сравнивать с родной Java, то даже и ничего себе, можно пользоваться. И не в том, что JetBrains — не градообразующее или социально значимое предприятие, а большей части читателей Фонтанки фиолетово, на чём пишут приложения под Андроид. Хотя конечно здоровый и позитивный патриотизм — вещь хорошая, а в наше время ещё и нечастая.

Дeло в том, что JetBrains ногу в дверь засунули гораздо раньше, когда появилась сама Android Studio, созданная на базе IntelliJ Idea. Засунули и сделали большой шаг. А Котлин там потом мог и мимо проходить — так почему бы и не добавить.

UPD: Мне тут объяснили, насколько я неправ. Т.е. в техническом плане прав, а в плане публичности — нет. См. комменты (в жежешечке).
dluciv: (IBM)
Весна 2000 года. Я заканчиваю второй курс на Матмехе СПбГУ.

Мне разрекламировали очень хороший конспект однокурсницы по дифференциальным уравнениям. Вообще и мой собственный меня устраивал, но этот уж больно хвалили. Кстати, он мне не помог, и получил я таки хорошо, хотя надеялся сдать на отлично.

Не в пример другим конспектам, которые тогда ксерили, этот был отсканирован. Или нуждающийся в конспекте пропил деньги (ксерить-то платно было, да и есть, а сканеры у многих были свои), или выпендриться решил, или честно собрался обогнать своё время... Не помню. Ксерили ещё несколько лет после этого. Активно сканировать, а вскоре и фотографировать стали лет через пять, с приходом ADSL, флешек и с распространением формата DjVu, про который сейчас тоже как-то стали забывать понемногу.

А в 2000-м у меня ни флешек, ни ADSL не было, а была пачка дискет на 1440 КиБ, отформатированных на 1600 КиБ. Вообще дискеты можно было хитроумным форматированием дожать и до 1720 КиБ с копейками, но тогда с ними или Windows NT 4, или FreeBSD 3 (не помню, кто из них, а может обе) отказывались работать.

Поездка в центр города и обратно на метро вместе с преписыванием дискет и параллельным хлебанием чая с синим слоном (в советском, а не доброчановском смысле, хотя второй наверное произошёл от первого), заняли у меня 2 часа. Я всё довольно точно оценил, и решил поступить именно так, потому что у меня был модем, который передавал данные с максимальной скоростью 14400 бит в секунду (да, внутренний USR Sportster на шине ISA).

А теперь внимание, задачка: в предположении, что на 10 дискет по 1600 КиБ скан конспекта влез впритык (это конечно было не так, но предположим):

  1. Какой минимальной должна была быть скорость наших с одногруппником факсмодемов, чтобы я решил не ехать с дискетами на метро, а соединиться по телефонной линии (допустим, одногруппник тоже был согласен надолго занять телефон =)) и хлебать чай у себя дома?

  2. Почему я упорно писал размер дискет в КиБ? В чём подвох? Почему я нестал писать 1,44 и 1,6 с другой единицей?

Комментарии скринятся (надеюсь =)).
dluciv: (линейка)
В Котлине, если ты хочешь сделать функцию с локальными переменными, придётся возвращать значение при помощи return.

fun bugaga() {
  val z = 5
  return z
}



Я это конечно объехал, но код на мой вкус красивее не стал =):

fun bugaga() = when(true) { else -> {
  val z = 5
  z
}}


Ещё можно написать, как иногда пишут на JS, и надеяться, что заинлайнит лямбду:

fun bugaga() = ({
  val z = 5
  z
}())


Для этого даже есть специальная затычка run, чтобы выглядело немного пристойнее (скобок меньше):

fun bugaga() = run {
  val z = 5
  z
}


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

Наконец, можно просто присвоить лямбду в переменную/константу, написав:


val bugaga = {
  val z = 5
  return z
}


В какую жесть это выльется, см. в комментах.

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

Или я чего-то очень-очень не догнал (надеюсь), причём не я один, а ещё как минимум один мужик, или Котлин пилили фанаты goto...
dluciv: (линейка)
Между тем, мы пропустили довольно важное событие в мире IT и связи.



Меньше месяца назад появилась программа, которая может подготовить (зашифровать) данные так, что при помощи обычных глобальных компьютерных сетей их можно будет предать в любую точку мира!

Вот это чудо.

Она умудряется делать с данными что-то такое, что их можно передать куда угодно. По всей видимости, это какой-то квантовый эффект...

Интересно, насколько сложно будет передать пару гигабайт сюда: geo:51.48,0,-2000000;u=2;crs=wgs84 (на 2000 км под Гринвич). Надо бы спросить у автора, его контакты указаны...
dluciv: (линейка)


— Конечно же теми, которые и так знает мой 4G-модем!
— Но почему? Ведь существует множество различных USSD-команд!..
— ...

Мегафон продаёт Wifi-роутер с LTE-модемом Huawei-E5372 под названием «Мегафон MR100-3». На самом деле очень неплохая железка. Основной интерфейс — веб-морда + какие-то вебовые же API для родного приложения от Huawei. Но, как обычно, брендирование вносит [только] недостатки. В случае с Мегафоном их два:

  1. Модем лочат под, собственно, Мегафон (в принципе дело поправимое с точностью до гарантии, но не об этом здесь речь).

  2. В модем грузят свою «улучшенную» прошивку, которая не позволяет выполнять произвольные USSD-команды. Зато в ней есть ну ооооочень нужные ссылки на сервисы партнёров и на изменение гудка. Да-да, гудка. Ведь при помощи 4G-модема все только и делают, что принимают входящие звонки, не правда ли? =)

Всё то же самое (как минимум) справедливо, по слухам, и в отношении других операторов, но я не проверял.

Тем не менее, USSD выполнять хочется. А на тему того, как сделать так, чтобы не только хотелось, но и моглось, умные люди дали хороший совет.

Однако покорный ваш слуга решил пойти чуть дальше и облечь всё это в более дружелюбную форму, написав для исполнения USSD простенький юзерскрипт на три строчки (а что такое юзерскрипт?..). Позволяет при помощи пользовательской менюшки GreaseMonkey/TamperMonkey/что-у-вас-там показать в веб-морде модема интерфейс для выполнения любых USSD-команд. Позволяет и ходить по USSD-меню. Прощайте, страдания!

Не исключено, что скрипт будет работать и на некоторых других модемах Huawei. И даже у некоторых других операторов. Не проверял, писал для себя =).

P.S. Компания МТС отличается тем, что очень плотно мониторит Жежешечку и Твиттер. Более того, соответствующие её сотрудники мне пару раз помогали в разрешении некоторых непоняток (реагируют очень быстро, стоит только пожаловаться на жизнь — сразу тут как тут). Пользуясь случаем, хочу их поблагодарить. Но речь в данном конкретном случае о Мегафоне. Вдруг Мегафон мониторит так же добросовестно?.. Так вот, ребята из Мегафона, дальше для вас. Во-первых, людям нужны USSD. Не как воздух, конечно, но порядочно так. Во-вторых, я использовал на картинке ваш зелёный™ цвет, ничего? Мало ли, сейчас любят числа патентовать, может быть у вас тоже какие-то запатентованы =). Обращайтесь, изменю немного, если что. Никто не заметит, даже вы сами, но всё будет ок.

P.P.S. Макс Смолев, который, вообще говоря, автор картинки (и на картинке это честно написано) тоже может внезапно увидеть сей пост. В общем, Макс, если ко мне будут какие-то вопросы — я человек относительно вменяемый, бывают и такие, да =).

P.P.P.S. Думал-думал, что бы в этом посте под кат засунуть, да как-то нечего...
dluciv: (линейка)
Про Лого номинально принято говорить, что он является функциональным языком. Изредка говорят, что он, с точностью до синтаксиса, даже диалект ЛИСПа.
Глядя на разные милые графические упражнения с черепашками, в это поверить тяжело. Легче становится поверить, конечно если более или менее представляешь себе, как работают трансляторы ЛИСПа, когда увидишь квадратные скобки вокруг блоков кода в управляющих конструкциях. Когда смотришь на них, постепенно начинаешь видеть древних монстров. И уже веришь в то, что искуственный интеллект на Лого тоже пытались, да и до сих пор пытаются программировать (а ЛИСП так и вовсе для этого был сделан).

Один товарищ написал программу на Питоне, которая завершалась сегфолтом. Увидев это, он радостно воскликнул: «На C можно писать на любом языке!»
Под катом мы попытаемся при помощи Лого программировать на ЛИСПе.
Итак, насколько же Лого функциональный язык?.. )
dluciv: (криптопридурок)
http://onerng.info/whatisonerng.html



Я уже было порадовался, что QRBG (исходная железка кстати вполне настоящая, вот она http://qrbg.irb.hr/) продают, но потом посмотрел схему https://raw.githubusercontent.com/OneRNG/hardware/master/v1.0/schem.png и увидел слова "Avalanche diode", так что генератор оказался вовсе не квантовый, а термодинамический. Но всё равно молодцы.

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

Почему же генераторы случайных чисел не делают на их основе? Вроде идея-то очевидная, её должны, казалось бы, дорабатывать изо всех сил: http://crypto.stackexchange.com/a/12715
dluciv: (IBM)
Я летом 2009, не пользуясь ещё Дропбоксом, написал вот такой опус.

Не только написал, но и сделал. Взял Mercurial, взял штуки три хостинга и написал нехитрый скриптик, который делал push и pull со всеми тремя. Прелесть была в том, что когда один из хостингов сдох, я почесал в затылке и просто забил. Ну подумаешь сдох один из трёх...

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

Конечно в Git и Mercurial я видеофайлы не клал, да и история, по большому счёту, нужна далеко не всегда (хотя с ней, понятное дело, надёжность слияния повышается). В общем ясно, что они не для того. Для всего относительно повседневного и большого с осени 2009 был и остаётся Дропбокс. Который сегодня недвусмысленно даёт понять (мне так до сих пор), насколько всё в мире бренно.

Возможно пора задуматься опять. Всё-таки синхронизированные репозитории на трёх независимых серверах и на паре моих компьютеров имеют неплохие шансы пережить, скажем сдержанно, мой интерес к содержащимся в них данным.

Версионирование мне не нужно, а зато нужна прозрачность (чтобы само мониторило файловую систему). Кроме пропиетарной BtSync, требующего прямого сетевого соединения Unison, работающего поверх того же Гита SparkleShare и требующего своего сервера OwnCloud (кроме приватности ничем не лучше облаков), что ещё есть на эту тему?
dluciv: (линейка)
Я подумал, что мой роутер тоже должен протестовать против «закона против Интернета».

И тоже поставил на него заглушку: gopher://gopher.dluciv.name/ (через проксю).

Окончательно меня убедил в необходимости данного шага коллега. Аргумент был железный: теперь я скорее всего единственный человек в мире, протестующий в Gopher.

УЭК

Nov. 21st, 2012 10:26 am
dluciv: (большой брат)
В 2013 году гражданам России, написавшим заявления в 2012 году (а остальным с 2014), будут выдавать универсальную электронную карту. Флэшовая заставка на сайте какая-то стрёмная по-моему (видно, что люди ненастоящие и, если поймают, сделают таким же), но не суть.

У них на сайте есть FAQ, который я добросовестно читал, кажется, больше часа. По итогам у меня остались несколько открытых вопросов, которые я им задал через форму обратной связи, но никакого ответа не получил. По всей видимости, плотно общаясь с государством, они всё время попадали на чиновников вроде начальника питерского ЖКХ и чему-то у них научились. А ведь есть и нормальные чиновники, но ребятам, видимо, не повезло.

Тем не менее, как показывает практика, даже мой мало кому нужный ЖЖ иногда бывает полезен. Так, примерно год назад я договорился с МТС, которые не совсем правильно меня тарифицировали, только при помощи открытого диалога здесь. Попробую действовать так же.

Итак, заданные мной им вопросы, и не только, которые остались без ответа.
Собственно... )
Вдруг возымеет действие...
dluciv: (криптопридурок)
В Твиттере вовсю в ходу тег #говнореестр, спасибо партии родной.

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

Поэтому я ввожу в употребление противоположность говнореестру — доброреестр. Доброреестр (или на эсперанто — bonaregistro) — не какая-то определённая база, а достаточно произвольный класс понятий. Вот например это — доброреестр, потому что он проливает свет на сумрачный говнореестр. Ведомость, в которой я ставлю хорошим студентам пятёрки, это тоже доброреестр. А если кто-то злой (не я, конечно) им ставит там трояки, это уже получается говнореестр. Меню в ресторане — безусловно доброреестр. Список тех, кому я должен — говнореестр, а список тех, кто должен мне, конечно же, доброреестр. Ну и т.д.

Всё, теперь терминами можно пользоваться спокойно.
dluciv: (очки)
Сейчас я выдам маркетинговое соображение на миллион долларов.
Жалко, что я на 999‰ не первый.

Итак, что мешает использовать полноценно функциональные языки в средах Java и .NET? Я даже задам более частный вопрос: что мешает использовать языки, управляющие конструкции которых являются выражениями?

Я знаю ответ на этот вопрос. Жирный фреймворк, жирные сторонние библиотеки и жирный код прикладных программ.

Автодополнение и кусочки документации по функциям, вылезающие при редактировании кода, это, конечно, хорошо. И помогает. Но проблема в том, что как в «родном» фреймворке (нечасто, родные фреймворки обычно хорошо проработаны), так и в сторонних библиотеках (сплошь и рядом) семантика вызываемых функций не всегда ясна программисту.

Я уже достаточно толст, стар и бородат, чтобы легко выдержать поток яиц с помидорами, который полетит в меня после того, как я скажу, что в таких ситуациях нередко помогает пошаговый отладчик. Может помочь и отладочная печать. Большой разницы нету, но первое быстрее. Они очень неплохо дополняют фиговую документацию, а часто и заменяют отсутствующую.

Так вот, даже функционального языка не надо, достаточно C# 4.0 с LINQ — это уже система со сносной выразительностью. Если только Вам позволено писать программу, в которой используются большие ВЫРАЖЕНИЯ, Ваша программа становится короче и выразительнее, но для отладки часто приходится эти выражения дробить и считать с использованием временных переменных. Потому что без отладки не всегда ясно, что всё-таки делают её части. А уж если программа вдруг не Ваша, а чужая...

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

Если язык программирования хорошо статически типизирован, задача облегчается: сам компилятор хорошо помогает Вам сделать Вашу программу правильной. Но это же должно касаться и библиотек. Рыхлые объектно-ориентированные махины очень легко Вам всё испортят, особенно если их писали какие-нибудь балбесы.

Ну что, не поубавилось охоты писать на F# и Scala? У меня кстати, не смотря на собственные разумные, казалось бы, доводы, почему-то нет =).
dluciv: (Default)
Меня периодически тянет поработать на крыше. Когда погода не жаркая и не холодная, когда крыша удобная — кайф же. На Матмехе одно время на крышу вёл один удобный открытый выход через мужской сортир. Поэтому щепетильных барышень туда (и обратно) можно было доставить, только поставив на входе и у окна часовых. А некоторые даже на таких условиях отказывались.

Вайфай на крыше ловил хорошо. И вот я уже разок взял ноутбук, да собрался было посидеть на воле пасмурным, но довольно тёплым днём. Пошёл. А выход из сортира заварили. В частности, от меня. Тут, понятное дело, права качать было бессмысленно, тем более, что крыша была не оборудована и положенных по закону условий труда, конечно же, не обеспечивала.

В пятницу двое преподавателей нашей кафедры были в гостях у коллег в компании Digital Design. Они активно работают со студентами и вкладывают в образование много ресурсов, а главное души, поэтому мы являемся их коллегами и как преподаватели, и как программисты.

Так вот, у Digital Design с крышей всё ок (и вайфай ловит). Один раз, говорят, охрана бизнес-центра наехала на них, когда они пускали с балкона бумажные самолётики. Этого маразма я, конечно же, не понял, но говорят, что если самолётики не кидать, то всё хорошо. На Матмехе охрана периодически наезжала на нас по более существенным поводам: им не нравилось, что мы вместо проходной пользуемся окнами первого этажа.

Ну и несколько фотографий. Вообще изначально текст был про крышу, но на фотографии попали замечательные люди, а между ними разок даже я затесался, так что представлю людей:
  • Александра, менеджер по корпоративным коммуникациям,
  • Дмитрий, начальник IT-службы (дядя в очках),
  • Максим Викторович, преподаватель нашей кафедры (Большой дядя с чашкой. На самом деле он был с сигаретой, но в момент съёмки он что-то наколдовал, и на снимках он с чашкой, но я-то правду знаю),
  • Ваш покорный слуга, преподаватель нашей кафедры (дядя, который с бородой).
Фотографии такие мобильные, что аж трогательно.
dluciv: (Default)
Как, мой социально значимый пост про Emacs, ЛИСП и гиперпространство не выводят в топ?

Не может быть! Я негодую!



April 2019

S M T W T F S
 123456
78910111213
14151617181920
21222324252627
282930    

Syndicate

RSS Atom

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 24th, 2019 11:00 am
Powered by Dreamwidth Studios