Category: it

Аватары с инициалами

Они сейчас везде. Если кто-то не заметил, на многих сайтах вместо аватара по умолчанию (чаще всего вариация на тему человечка) стали применять персонифицированные круглые аватары разного цвета с инициалами внутри. Интересно, кто их придумал? Я нашёл информацию, что Google ввёл их ещё во второй половине 2015 года.

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

Проблема со шрифтами в Windows

Слишком я уже привык, что всё нормально с компьютером последнее время. Не так давно внезапно испортились шрифты в Windows (у меня Vista SP2). По крайней мере Arial стал ужасно выглядеть, как будто пропали целые линии и сверху, и снизу, и в середине. Что нужно было сделать нормальному человеку? Откатить последние обновления Windows к точке восстановления. Что сделал я? Перезаписал систему с довольно старого уже образа (почти месячного). На системном диске я не храню почти никакой информации, но всё время не доходят руки убрать оттуда содержимое почтовой папки. Так я потерял некоторые письма и только потом, методом исключений, стал вычислять это зловредное обновление. По-видимому я не смог корректно сформулировать свою проблему в поисковом запросе, так что пришлось изобретать велосипед.

Всё дело в обновлении kb3013455 именно оно перезаписывает файл win32k.sys таким образом, что часть шрифтов некорректно отображаются. Для того, чтобы решить проблему, нужно его деинсталировать и запретить на будущее. В сети, разумеется, об этом уже знают, в том числе и в Microsoft.

Проблема затрагивает как минимум Windows XP SP3, Windows Vista SP2, Windows Server 2003 и Windows Server 2008.

Сравнение FineReader 9 и 11

Напишу, пока не смазались первые впечатления. Основными отличиями, согласно рекламным заявлениям производителя (ABBYY) стали увеличение скорости и точности распознавания. Я тестов не проводил. Голубицкий в своих обзорах (10-я версия, 11-я версия), но я сравнительных тестов не проводил, поэтому пишу о том, что сразу бросается в глаза.

Плюсы:
* Наконец-то режим редактирования страницы начал приближаться к чему-то более-менее «юзабельному». Теперь там даже есть увеличение масштаба. Браво! Впрочем, как и раньше, любое изменение страницы в этом режиме вызывает удаление всех областей и распознанного текста на странице. Лень было программистам делать проверку, затрагивает ли моё изменение выделенные области или нет.
* Появилось сохранение в форматах Epub, Djvu, FB2. Помня, что ещё с давних времён FineReader был удобнейшим инструментом для создания PDF, возможности нормального создания Djvu с текстовым слоем (для этого формата, по-моему, вообще нет по-настоящего удобного редактора) очень радует.
* Появился новый тип области — фоновая картинка. Иногда удобно.

Непонятно.
* Новый формат хранения — теперь по куче файлов и каталогов для каждой страницы. Мало того, сохранённый в 9-й версии документ FineReader не открывается в 11-й — только голые страницы, весь распознанный текст и области не передаются в новую версию. Скверно!
* Новый «риббонообразный» интерфейс. Мне не нравится.

Минусы.
* Система проверки орфографии не только не наследует добавленные в прошлой версии слова, но и вместо отличной, позволяющей создавать сразу парадигму слова, стала убогой и куцей, типа MS Office — каждое слово надо добавлять отдельно (Фураны, фуранов, фуранами и т.п.)
* До сих пор не добавили режим редактирования страницы инструменты для исправления самых частых проблем, возникающих при сканировании книг — тёмных областей у сгиба и загибания концов строчек по дуге, у сгиба же.

Алгоритм штриховки

Вот у меня во френдах есть программисты, они умные. Кто знает алгоритм штриховки?

Есть замкнутая фигура, простой случай, n-угольник, описываемый декартовыми координатами n его вершин. Задаётся точка внутри многоугольника и угол наклона штриховки (относительно оси X). Линии штриховки параллельны друг другу, с расстоянием delta.

Какой алгритм штрихования? Как я понимаю, находим точки пересечения линии штриховки, проходящей через базовую точку, со всеми сторонами многоугольника. Этих точек может быть и не две, а больше, но чётное количество. Тут надо не запутаться.

Дальше смещаемся на +дельта и повторяем, пока не окажется 0 пересечений, тогда смещаемся от базовой точки в противоположную сторону. Может быть проблема если очередная линия штриховки и отрезок лежат на одной прямой.

Posted via LjBeetle

Регулярные выражения в Word (оказывается!)

Интересно я прошляпил — оказывается в Word (по крайней мере с версии 2007, а может и раньше) есть возможность использовать регулярные выражения. Я не говорю о тех специальных символах, список которых доступен если нажать кнопку «Специальный» . Там ограниченный набор символов и настоящего регулярного выражения с ними не построишь. А вот если отметить пункт «Подстановочные знаки», то вполне можно написать в графе «найти» нечто вроде:

[А-Яа-я]{1;3}[а-я]>[1-9]@

и это сработает. Странная недоработка — нет оператора условного выбора (который обычно задается символом |). Сами подстановочные знаки не совсем привычные (ну может мне лично, по Питону) , например, любой символ — это ?, а не . Не из списка будет [!], а не [^] Нет и более продвинутых опций типа (?:) и предопределённых групп типа \d

В OpenOffice тоже есть регулярные выражения и они там помощнее чем в Word, да и попривычнее выглядят.

Настройка FTP сервера

У меня среди френдов ведь есть разбирающиеся в компьютерных сетях? Решил поставить на свой компьютер FTP сервер. Поставил FileZilla, вроде бы всё просто и понятно. Но есть одно «но». Схема подключения моего компьютера такова: локальная сеть → роутер Zyxel P330W EE → мой настольный компьютер на котором и развёрнут FTP. Я плачу провайдеру за фиксированный IP. Роутер, естественно, выделяет IP адреса с помощью DHCP, у моего компьютера внутренний адрес 192.168.1.34. Естественно, если я захожу по этому адресу (ftp://192.168.1.34/), то вижу содержимое моей папки, выделенной для FTP обмена. Также понятно что снаружи никто по этому адресу зайти не сможет, т.к. этот адрес внутренний. Если роутер отключить, то по внешнему адресу (по крайней мере я сам) на FTP сервер захожу без проблем. Но как это сделать с роутером? В настройках роутера есть пункт «Виртуальные серверы», где написано следующее:

Virtual Servers

Entries in this table allow you to automatically redirect common network services to a specific machine behind the NAT firewall. These settings are only necessary if you wish to host some sort of server like a web server or mail server on the private local network behind your Gateway's NAT firewall.

Казалось бы, то что нужно. Однако включение этой функции и прописывание сервера почему-то не работают :( Под катом дан снимок экрана с изображением настройки виртуальных серверов. В какую сторону нужно копать?

Collapse )

P.S. Все настройки по умолчанию, порт 21-й, пользователь anonymous и т.п.

О программистских воспоминаниях

Я всегда с большим удовольствием читаю воспоминания старых программистов. Просто потому что время в этой области не течёт — несётся со скоростью урагана.

— Когда я начинал писать, C++ была ещё только модной новинкой...
— А когда я начинал, и на C ещё никто не работал, в моде был Алгол и Кобол...
— А в моё время писали на ассемблере...
— А я в машинных кодах, в уме, набивая программу на перфораторе...

Ну возможен ли такой разговор в другой области?

— В своё время, когда я только начал служить, сражались орда на орду, каменными молотками...
— Я на пять лет вас помладше, уже застал первые боевые колесницы...
— Вы какого года? 1955-го? Я 1960-го, как раз при мне Македонский внедрил фалангу...
— А я закончил училище на год позже и мы уже осваивали манипулярный строй...
— Да, через три года появились первые рыцари, а когда я получил капитана впервые увидел пушку — тогда ещё деревянная, стреляла каменными ядрами...
— Как раз тогда я закончил срочную, а на сверхсрочной уже ходил в атаку пехотными каре...
— И через три месяца стрелковыми цепями на Ипре...
— Прошёл двухмесячные офицерские курсы и вот уже танковые клинья и небо черно от штурмовиков..
— Съездил на побывку, вернулся, уже звёздные войны начались...
— Да уж, за двадцать пять лет много изменилось.

Мне вспоминается отличный сюжет из Дилберта.

— Когда я начинал программировать, у нас не было ещё всяких Бейсиков и Паскалей. Писали в машинных кодах — одни нули и единицы.
— Хорошо если единицы были — я написал как-то программу работы с базой данных используя одни нули.
— Хорошо вам, хоть нули имелись. А нам приходилось вместо них брать буквы «О».

Личные шифры

Многие в детстве баловались подобными штуками — персональный шифр, известный только нам с друзьями — с его помощью можно безнаказанно передавать на уроках записки, делать личные записи в дневнике не боясь, что их прочтут родители и много ещё полезного можно придумать :) В подавляющем большинстве случаев шифр был подстановочным — то есть выдумывались тридцать три значка, каждый из которых заменял одну из букв алфавита. Понятно, что такой шифр, если известен язык, раскрывается элементарно (надо только набрать достаточный для частотного анализа объём текста). Я вспомнил, что был и у меня похожий — порывшись в личных архивах я обнаружил книжечку из тетрадной бумаги о двенадцати листах, озаглавленную «Личные шифры серии ЛШ-02» :) В выходных данных (да, там есть и выходные данные... бумага клетчатая тетрадная, тираж 1 экз., формат 100 x 125 и т.п.) стоит дата 10.06.1995 г. — это, похоже, уже моя попытка записать «шифры» для истории. В 1995-м я пошёл в институт, а школу закончил на год раньше и хорошо помню, что пользовался шифром в школе. Когда я создавал личные шифры серии ЛШ-02 (класс примерно десятый, т.е. 1992-й или 1993-й год), я уже читал и Гарднера, и много ещё кого, так что какие-то минимальные понятия о криптографии и криптоанализе у меня уже были. Но важнее для меня было не обеспечить стойкость ко взлому, а возможность шифровать и расшифровывать «на лету», а потому никакие сложные схемы не подходили. По сути, этот шифр тоже подстановочный, в нём есть только небольшая хитрость, маленький шажок в сторону усложнения. Прошло почти двенадцать лет, а я сразу вспомнил метод шифрования и, держа перед глазами упомянутую книжечку, зашифровал небольшой отрывок из лежащей на столе повести («Трудно быть богом»). Думаю, затратив несколько минут времени, вы догадаетесь, как именно шифруется текст таким шифром.


Collapse )

Комментарии о своих опытах на ниве криптографии приветствуются.

Что делать?

Вот именно, что делать? Надо сделать для базы данных два новых бланка договора. И работа-то несложная, но чисто механическая и неинтересная. Вместо этого я все утро делал такую фишку, как фоновые картинки в главном меню. Теперь операторы могут видеть вместо скучного зеленого фона любые картинки (я скачал с обойного сайта 20 штук по разным темам). И добавлять любые свои просто перетаскивая их в определенную папку. А также появилась возможность самостоятельно настраивать цвет текста и подсветки в этом самом главном меню. Короче, работающие с программой (а 90% их -- женщины), уверен, будут в восторге. Н-да, но бланки все же сделать надо.

И потом проблема с М*... В понедельник наступет час Х и эта проблема ноет и ноет и осложняет мне жизнь...

NP: Ничего