shoorick: (Рыжий)
Странное равенство:

1 nm = 1.852×10¹² nm

Как так? :-)
А очень просто: левые буквы nm обозначают морскую милю, правые — нанометр.

Мораль — надо применять уникальные обозначения для каждой единицы измерений.

http://shoorick.ru/2016/10/17/nm/
shoorick: (Рыжий)
Челябинск, ночь на двадцать второе июня. Перед памятником танкистам-добровольцам горят свечи, стоя́щие в форме цифр 7 и 5.

Свечи перед памятником танкистам-добровольцам

Свечи перед памятником танкистам-добровольцам

Свечи перед памятником танкистам-добровольцам

Свечи перед памятником танкистам-добровольцам

http://shoorick.ru/2016/06/21/seventy-five/
shoorick: (Рыжий)
Утиль Ростелеком продолжает объединяться с Теле2 — сегодня весь день нет связи. Их советы по ручному выбору оператора бесполезны — телефон не желает этого делать, значит, придётся топать в какой-нибудь чёрный-чёрный пункт обслуживания абонентов, менять сим-карту на новую. Бесплатно, с сохранением номера и тарифного плана.

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

update/20.04.2016: Заменил красную сим-карту на чёрную — связь снова есть.
shoorick: (Рыжий)
Когда-то давно мельком заметил я, что счётчик кадров в фотоаппарате Nikon D70s какой-то странный: номер не всегда возрастает. Порывшись в фотоархиве, нашёл я пачку кадров, где номер сбрасывается, проверил:
#!/bin/sh
for file in `ls 442*jpg`
do
    echo  -n $file
    exiftool $file | grep 'Shutter Count' | cut -c33-44
done

Так и есть!
4420.jpg: 65534
4421.jpg: 65535
4422.jpg: 0
4423.jpg: 1
4424.jpg: 2
4425.jpg: 3
4426.jpg: 4
4427.jpg: 5
4428.jpg: 6
4429.jpg: 7

Выходит, счётчик всего-навсего двухбайтовый. Что же, предполагалось, что камера не может сделать больше, чем 65535 кадров? И ведь ме́ста-то в EXIF для нормального счётчика хватает — поле имеет тип LONG (32-битное беззнаковое целое), но используется лишь наполовину.

Кстати, geeqie показывает некоторые тэги, которые exiftool не отображает и среди них есть Shutter Count 1 (Exif.NikonSi01xx.ShutterCount1), в котором хранятся целые числа со значениями около 869×10⁶ (хотя есть и другие, сильно отличающиеся значения), а также поле Shutter Count 2 (Exif.NikonSi01xx.ShutterCount2), где лежат па́ры небольших целых чисел. Что это за числа — не вышло ни понять, ни нагуглить.

http://shoorick.ru/2016/01/10/two-bytes/

15 ≡ 15

Mar. 10th, 2015 10:26 pm
shoorick: (Рыжий)

  1. КДПВ:
    15 ≡ 15

  2. Весну я встретил простудой, но успешно простуду поборол — а значит, ДР будет и будет в лесу.

  3. Место традиционное, время — не совсем: прямо в день рож, в воскресенье, часов после двенадцати. Буратиновка уже давно настоялась. Хотя я, наверное, буду за рулём. Для рулевых-беременных-кормящих-непьющих — чай и сок.Карта

  4. Вишлист придумывать лень. Всяким туристским, велосипедным, автомобильным, музыкальным и компьютерным штуковинам буду рад.
    Да фиг с ним, с вишлистом — приходите!


http://shoorick.ru/2015/03/11/15iii15/
shoorick: (Рыжий)
12 лет назад по доставшемуся от Романа Ткаченко [livejournal.com profile] kukushk пригласительному коду (с условием, что буду писать, а не только читать) я пришёл в Живой журнал и за прошедшее время написал почти пять тысяч записей и больше двадцати тысяч комментариев (ой!)

Сейчас я пишу не в ЖЖ, а на shoorick.ru — с октября 2013 года новые записи появляются именно там, а в ЖЖ и социальных сетях — автоматически отправляемые копии. Старые записи ещё не перенесены — пока живут в ЖЖ.
shoorick: (Рыжий)
Интересный способ округления увидел сейчас в http://3site.eu/examples/snow/snow.js — для этого там используется сдвиг:
style.left = ((random() * offsetWidth) >> 0) + "px";

Проверил — так и есть:
5 / 2      == 2.5
5 / 2 >> 0 == 2

Но в чём смысл? Сэкономить буквы, отказавшись от Math.floor?
shoorick: (Рыжий)
В комментарии к одному из предыдущих постов пресс-служба Министерства здравоохранения Челябинской области сообщила сегодня, 16 февраля:
По состоянию на 15.00, за медицинской помощью обратились 1158 человек, из них 289 детей. Были госпитализированы 52 человека, из них 13 детей.

В настоящее время началась выписка пострадавших, получивших легкие травмы. Таким образом, на стационарном лечении находятся сейчас 12 взрослых и трое детей. Состояние всех госпитализированных врачи оценивают как стабильное.
shoorick: (Рыжий)
Цифры и буквы

Если кому-то нужен шрифт с цифрами, используемыми на дорожных знаках — берите с https://github.com/shoorick/russian-road-sign-font

БезДвозДмезДно. CC-BY-SA. Пулл-реквесты принимаются. Кернинга и нормальных хинтов пока нет.

Сейчас в шрифте есть все цифры и немного букв. Программа-максимум — отрисовать все символы, определённые в ГОСТ 10807-78 плюс ещё чуть-чуть. Программа-минимум — хотя бы те, что определены в ГОСТ Р 52290-2004.

Рисовал в FontForge + Inkscape. Под виндой ещё не тестировал.
shoorick: (Default)
Если считать, что сейчас не тридцатое апреля, а нулевое мая, то наступившую дату можно записать как 2010-05-00. А если сократить её до 100500, то получится модное в интернетах число «стопицот».

Вот вам, камрады, новый праздник — день числа стопицот.
shoorick: (Default)
  1. Бодание с перловым интерфейсом к геттексту завершилось успешно. Результат можно понаблюдать на http://urc.ac.ru/cgi/ftpsearch/ — скрипт пишет ответ на нужном языке в зависимости от языковых настроек браузера посетителя и использует правильные формы множественного числа (о применении геттекста для множественного числа мне [livejournal.com profile] zauberer Яша ещё в позапрошлом году говорил).
  2. Множественные числа можно добывать функцией nget. Для неё псевдоним тоже не будет лишним:
    # __ и _n - псевдонимы для $d->get и $d->nget
    sub __ ($)   {  $d->get( @_ ) }
    sub _n ($$$) { $d->nget( @_ ) }
  3. Посмотрел в исходники Locale::gettext — там вызываются обычные функции. Нафига было приплетать сюда ООП?
  4. Функция setlocale не хочет понимать переданный язык, ориентируясь исключительно на переменную окружения $LANG. Чей это глюк — непонятно. В результате приходится использовать костыль:
    # Вопреки мануалу, второй параметр функции setlocale игнорируется
    $ENV{'LANG'}
        = ( $ENV{'HTTP_ACCEPT_LANGUAGE'} =~ /ru/ )
        ? 'ru'
        : 'en';

Цифра

Jun. 30th, 2009 03:09 pm
shoorick: (Default)
В подъезде завершили ремонт. При этом на почтовых ящиках нарисовали страшные кривые цифры, а на лестничных площадках не нарисовали никаких. Пришлось взять дело в свои руки — нарисовать цифру, вооружившись трафаретом и аэрозольной краской. Теперь вышедший из лифта гость увидит цифру с номером этажа: ярко-оранжевую, высотой 215 мм. На остальных этажах рисовать не стал.
shoorick: (Default)
100 + 15 % (районный коэффициент) − 13 % (подоходный налог) = 100 × 1,15 × 0,87 = 100,05
что практически совпадает с исходной суммой.
shoorick: (Default)
Мало того, что сегодня тяпница, так ещё и 2008-10-24.
А 1024 — это повод!
shoorick: (Default)
За окошком опять
Градусов пять.

Трижды пять — не четыре.
Зябко в квартире.

Сколько лампу не три —
Джинн не внутри.

Делю ужин на два
Хватит едва.

Ты остался один...
Так, Алладин?

(задумчиво) Если ещё и третью ночь не поспать, чё будет?
shoorick: (Default)
0. В чём смысл использовать сейчас древнюю непозиционную римскую систему счисления? Не пойму...

1. Гугленье показало, что народ и по сей день использует не только римские цифры, но и тяжкое наследство времён пишущих машинок: буквы П и Ш вместо II и III.
shoorick: (Default)
Пытался найти в завалах своих перлоскриптов функцию, возвращающую правильное слово в зависимости от идущего перед ним числа. Не нашёл. Пришлось взять валяющийся на видном месте пример на php и перевести его на перл:
=head1 METHODS

=head2 after_number

Возвращает, в зависимости от $howmany, правильную форму слова:
after_number(10, 'ив', 'ива', 'ивы') == 'ив'
after_number(21, 'ив', 'ива', 'ивы') == 'ива'
after_number(32, 'ив', 'ива', 'ивы') == 'ивы'

=cut

sub after_number	{
	my ($howmany, $s0, $s1, $s2) = @_;
	return $s2 if ($howmany != int $howmany);	# Нецелое число: 1.5 землекопа
	my $c = $howmany % 100;	# Оставляем 2 последних цифры
	# Особые варианты: x11..x14
	return $s0 if ($c >= 5 && $c <= 20);

	$c %= 10;	# Оставляем последнюю цифру
	return $s1 if ($c == 1);
	return $s2 if ($c >= 2 && $c <= 4);
	return $s0;
} # sub after_number
Чую, пора на CPAN выкладывать, чтобы в следующий раз не искать.

777

Jul. 7th, 2007 07:07 am
shoorick: (Default)
Встретили 7.7.7 соответствующим напитком - портвейном 777. Ура, товарищи!
shoorick: (На велосипеде)
Overflow:
00000
Вчера, помимо пятилетия ЖЖ, случился юбилей и у Зины: суммарный её пробег составил 200 тыс. км.
shoorick: (Default)
Хозяйке на заметку:
function ru_numeral ($howmany, $s0, $s1, $s2)
{
// Возвращает, в зависимости от $howmany, правильную форму слова:
// ru_numeral(10, 'ив', 'ива', 'ивы') == 'ив'
// ru_numeral(21, 'ив', 'ива', 'ивы') == 'ива'
// ru_numeral(32, 'ив', 'ива', 'ивы') == 'ивы'
	$c = $howmany % 100;	// Оставляем 2 последних цифры
	// Особые варианты: x11..x14
	if (($c >= 5) && ($c <= 20)) return $s0;

	$c %= 10;	// Оставляем последнюю цифру
	switch ($c)
	{
		case 1:
			return $s1;
		case 2:
		case 3:
		case 4:
			return $s2;
		default:
			return $s0;
	} // switch
} // function ru_numeral
Где-то валялось то же самое на перле.

Profile

shoorick: (Default)
shoorick

December 2016

S M T W T F S
    1 23
45678910
11121314151617
18 19 2021222324
25262728293031

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 19th, 2017 03:14 pm
Powered by Dreamwidth Studios