Все избранные     Kazuya Minekura
23:59 

Untitled [525]

zHz00
Те, кто располагают соответствующие остановки трамвая и иного транспорта не рядом -- поступают плохо. Это затрудняет пересадку.

Например, у м. Сокол автобусно-троллейбусная остановка расположена в точности между двумя трамвайными.

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

@темы: Наблюдения, Общественный транспорт

19:58 

lock Доступ к записи ограничен

Mr.Prince ~bling-bling~
It's nothing personal <3
Закрытая запись, не предназначенная для публичного просмотра

19:51 

lock Доступ к записи ограничен

Mr.Prince ~bling-bling~
It's nothing personal <3
Закрытая запись, не предназначенная для публичного просмотра

14:32 

Акварель

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

У меня к вам предложение, впервые его озвучиваю здесь: хотите картину акварелью на заказ? По мотивам каких-нибудь моих котов.

Размером, скажем, А4 - можно спокойно пересылать заказным письмом или бандеролью, обложив переплетным картоном (рамку пересылать не так удобно, особенно со стеклом - вдруг разобьется).



(картинка к теме вопроса почти не относится. Это просто хамоватая продавщица в каком-то междумирном чайном магазинчике)

Желающие обрести моего кота в свой интерьер могут писать мне вконтакт или в умыло, или Инстаграм, ну или здесь.
Стоить это будет 5 тысяч рублей - как простое украшение.



@темы: нордины рисунки

23:59 

Об ошибках в POS-терминалах

zHz00
POS-терминалы, банкоматы и другие подобные устройства стали весьма распространены. Очевидно, информация, которая на них показывается, чем-то генерируется. Как правило, в основе подобных устройств лежит обычный ПК, хотя иногда встречаются исключения.

Поскольку в основе -- ПК, а на нём крутится винда и какое-то ПО, всё это изредка падает. Выводятся соответствующие сообщения об ошибках, синие экраны и прочее.

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

Не я один дивлюсь на такое, в интернете куча фоток. Я сам тоже снимаю, если вижу. Вот, например, захожу я как-то раз в одно заведение и вижу там на кассе вот что:



Хотя испытать удивление в связи с нетипичной ситуацией -- это очень хорошо, но для владельцев экранов отвалившаяся декорация -- это плохо. Хотя все всё понимают, но демонстрация внутренностей всё равно снижает доверие к владельцам. Непорядок у них!

Как же должно вести себя ПО на компьютерах, экраны которых постоянно видят клиенты?

1. Желательно, чтобы сообщения об ошибках на такие экраны не выводились вообще. Должно быть просто написано "устройство временно не работает". Примерно так пишут банкоматы Сбербанка. Клиентам незачем знать, что там сломалось. Если устройство предназначено для пассивного вывода информации, либо работают с ним только сотрудники, но не клиенты, то можно вообще выводить логотип организации без пояснений. Тогда клиенты даже не догадаются, что что-то сломано. Очевидно, сотрудники должны уметь отличать логотип, сигнализирующий об ошибке, от обычного.
2. Естественно, работники, либо сервисный инженер, должны иметь возможность узнать, что произошло на самом деле. Это можно реализовать различными способами, к примеру, если нажать определённую комбинацию клавиш на терминале, откроется окно с текстом ошибки. Также возможна запись в лог-файл и последующий дистанционный его просмотр.
3. Тексты сообщений об ошибках должны быть на простом русском языке. Если работник в состоянии сам исправить ошибку, по тексту должно быть понятно, что делать ("отсутствует питание: вставьте вилку в розетку"). Если сообщение предназначено для сервисного инженера, оно должно легко читаться вслух, чтобы инженер мог оказать помощь по телефону. Проще всего выводить код ошибки.

Философский вопрос, следует ли перезапускать программу, если возникла ошибка? Или надо держать её в состоянии ошибки до прибытия помощи? Я считаю так: если ошибка предусмотрена разработчиками и корректно обработана И нет серьёзной необходимости, чтобы ПО постоянно работало, то пусть себе висит в состоянии ошибки. Если же ошибка не предусмотрена (типа access violation) либо если ПО должно работать 24/7, то лучше программу перезапустить. То есть:

4. Должна быть специальная сторожевая программа, которая проверяет, жива ли основная. Сторожевая программа должна уметь определять нестандартные ситуации (и особенно access violation) и при малейшем подозрении перезапускать основную программу. Основная программа, в свою очередь, должна проверять, жива ли сторожевая, и запускать её, если упала уже она.
5. Продолжение 4. Предусмотренные сообщения об ошибках должны выводиться в стиле основного интерфейса. Любые стандартные окошки винды, панель задач и т.п. -- недопустимы. Если основная программа падает всё время, сторожевая должна запускать альтернативную программу, которая будет уметь показывать на экране только полноэкранный логотип на переднем плане. Шанс, что такая программа сфейлится в работе, гораздо ниже, чем шанс фейла основной.

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

@темы: Программирование, Мысли, Восприятие

20:13 

Доступ к записи ограничен

loin de chez moi
А потом я вырос и понял, что взрослых не существует...
Закрытая запись, не предназначенная для публичного просмотра

18:29 

Доступ к записи ограничен

лис с седыми ушами
"Но пока ты хочешь, чтоб я провалился, — Я вечен, беспечен и неуязвим. "
Закрытая запись, не предназначенная для публичного просмотра

12:31 

Доступ к записи ограничен

loin de chez moi
А потом я вырос и понял, что взрослых не существует...
Закрытая запись, не предназначенная для публичного просмотра

12:13 

мистер Уайт
любить значит страдать, но не любить тоже значит страдать, а страдать значит страдать

Glorious 25th May
To truth, justice, reasonably priced love and a hard-boiled egg!

23:59 

Как работает стек в PIC32 (MIPS)?

zHz00
По-видимому кроме STM32 (ARM) теперь я буду работать ещё и с PIC32 (MIPS). Стал разбираться, что к чему. И что-то оказалось, что в MIPS всё не как у людей. Про статусное слово процессора ничего не видно. Про стек ничего не видно. Что происходит вообще?

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

А вот со стеком... в общем, стека в MIPS действительно нет. Программист, если хочет, может реализовать его в виде программной эмуляции. Ясное дело, что стек всем нужен, поэтому компиляторы Си автоматически делают эту эмуляцию. Выглядит это примерно так:

Каждый раз, когда нужен push:

1. Вычесть из регистра, который назначен регистром стека, четыре.
2. Положить по адресу в этом регистре нужное число.

Каждый раз, когда нужен pop:

1. Забрать по адресу из регистра число.
2. Прибавить к регистру четыре.

ААА!

Из-за этого оверхеда один товарищ, который давно с pic32 работает, старается локальные переменные вынести по максимому в глобальные. Типа для скорости. Потому что локальные переменные хранятся на стеке. Хотя так ли велика потеря?

UPD. Потеря такова.

1. Согласно документации, пуш и поп в STM32 (ARM) занимают 1+N тактов, где N -- число сохраняемых регистров (они задаются списком). См, например, Cortex M-4 r0p0 Technical Reference Manual, Issue B, p. 3-6, Table 3-1.
2. Судя по описанию работы конвейера в PIC32, все команды кроме команд умножения, деления и FPU выполняются за один такт. Хотя мне не удалось найти, где про это написано явно.

Таким образом, оверхед при сохранении/загрузке одного регистра одинаковый (без учёта конвейерной оптимизации). Если регистров несколько, то у STM32 (ARM) небольшое преимущество, однако:
1. В зависимости от реализации конвейера в конкретном PIC32 а также получившегося кода общее время выполнения при той же частоте у PIC32 может оказаться даже меньше.
2. Далеко не вся работа со стеком заключается в использовании пуш и поп. Если локальная переменная хранится в стеке, то обращение к ней будет просто load/store командой, которая занимает 2 такта в STM32 (ARM) и, по-видимому, 1 такт в PIC32. Кроме того, работа с переменными в стеке в таком случае не будет отличаться от работы с глобальными переменными (по времени).
3. При таком большом количестве регистров общего назначения появляется возможность размещать часть локальных переменных в регистрах процессора, а не в стеке. И у PIC32 возможности тут шире, т.к. регистров больше.

Таким образом, отказ от локальных переменных в пользу глобальных для ускорения работы программы необоснован.


Вот я не знаю, может быть, я что-то не понимаю в архитектурах, но почему нельзя было сделать встроенные пуш и поп? Что-что, говорите? Потому что это RISC? Так ARM тоже RISC. И там есть отличные пуш и поп.

@темы: Программирование, Крик души, Говнокод, Борьба с техникой

22:25 

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

Хан Соло: Звёздные Войны. Истории

читать дальше


Дедпул-2

читать дальше


Возвращение в Брайдсхед (2008)

читать дальше

@темы: Эстер, может сила и пребудет с тобой (но особо не рассчитывай), фильмы

16:28 

lock Доступ к записи ограничен

Гибискус леди Лотос
no matter who we are, where we come from, who we love, or what we believe
Закрытая запись, не предназначенная для публичного просмотра

06:47 

Лу Сайфер

monpansie
Ангел
Нафига они натолкали в новый Pillars (Pillars of Eternity 2: Deadfire) этих морских боев? Может, втянусь, конечно, безмерно, но пока просто раздражает. Идешь так себе спокойненько, вразвалочку вломить кому-нибудь файерболом промеж глаз или вторгнуться в чужой разум - по-хозяйски, по-сайферски - и насадить там ужас и отчаяние, а тут эти обезьяньи прыжки на мачтах. Еще раздражает, что дают перса-помощника - тоже сайфера, но можно назначить его варваром – и я немедля назначаю – зачем нам два сайфера? сайфер либо один, либо их уже много – но все собутыльники-согруппники продолжают общаться со свеженьким тепленьким барбарианом как будто он по-прежнему сайфер и айкью у него зашкаливает – «а вить хозяин-то я!»
А так все обычно – начало игры, денег нет и неизвестно, одет в ситцевое, опыта как у первоклассника, но уже со всеми пересрался, передрался, с одной стороны одни наседают, с другой стороны – разумеется, другие, мир не спасен, каюта не обставлена, гештальты не закрыты, на меня одна надёжа.

@темы: игры

23:59 

Быстрее, чем ты скажешь "черничный пирог"

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

Но это -- другие табло. Висят хвосте платформы, т.е. не там, где табло со временем. Это -- обычные большие ЖК-дисплеи. На них белым по чёрному огромными цифрами написано, сколько осталось. При этом время пересчитывается на ходу, и может стоять на месте или даже увеличиваться.

Время до следующего поезда начинает отображаться ещё до отправления текущего.

Чего я не понял, так это почему табло размещены с противоположной стороны от табло текущего времени+времени от отправления последнего поезда. Логичнее было бы их разместить там же -- и оформить в том же стиле.

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

@темы: Общественный транспорт, Наблюдения, Мысли

20:15 

lock Доступ к записи ограничен

Бог_Черной_Луны
Je suis la guerre... A perdre la raison... Je suis l'enfer... Plus de prières
Закрытая запись, не предназначенная для публичного просмотра

19:41 

Предзаказ на Агаву и Пино открыт!



фото - Алексей Геец

платье - Monster High, обувь - Barbie

вся информация по предзаказу здесь bardoresearch.blogspot.ru/2018/05/bardo-researc...


19:15 

Тэль: вести с полей

в цвете peach normal


Harucasting’s WIP on May 23. by Haru casting, on Flickr

09:49 

naumchas
Все, что раздражает в других, может вести к пониманию себя.
Зашел, потому что всё тлен дайри прислал письмо, мол не было записей полгода - го в архив. И удивился в итоге, что народ всё ещё тут, эм, пописывает :)

@темы: Life :)

23:59 

Untitled [524]

zHz00
Захожу на работе в туалет. Там чел моет руки. Встаю рядом.
Чел: Тут очередь!
Я: Да мне только спросить!

@темы: Случай из жизни, Викторика

17:49 

Сегодня будет аукцион в контакте

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



Безымянный

главная