среда, 18 мая 2011 г.

Служба поддержки типа точного времени

Эпистолярный рассказ

Продолжение. Начало в мартовском номере.


Часы Гамбурга показывают несуществующее время.

Здравствуйте, Иван!

Уточните, пожалуйста, в чем заключается ошибка?
На скриншоте показано верное время.

--
С уважением, Владимир Кукушкин
Служба поддержки Яндекса
http://help.yandex.ru/

Здравствуйте.

27 марта 2011 года часы в Германии переводили на летнее время.
После 1:59:59 сразу следовало 3:00:00.
В правом верхнем углу экрана правильно показано системное время - 1:56,
за 3 с небольшим минуты до перевода часов на 1 час вперед.

На скриншоте показано неверное время. 2:56 - такое время часы в Германии
27 марта 2011 года показывать просто не могли.

Правильно понимаю, что это была временная ошибка, связанная с переводом часов?
Сейчас все в порядке?

Ошибка несомненно связана с переводом часов на летнее время.
Если эту ошибку никто не исправил, то она не временная, а повторится
при следующем переводе часов. Сейчас ошибка не проявляется, но это
не означает, что сейчас все в порядке.

NO CARRIER


Конец.

Послесловие автора

Я в ахуе. Здравствуй, жопа, Новый год. Пожалуйста, не используйте Яндекс.Время в бортовых системах.

воскресенье, 27 марта 2011 г.

На Яндексе, как известно, найдётся всё

Даже несуществующие показания часов.

Время, которого никогда не было

Баг репорт уже отправлен в службу поддержки.

суббота, 16 октября 2010 г.

Недостающая часть Time::Piece

Единственной вещи, которой мне действительно не хватает в Time::Piece — это truncate, по типу того, что есть в DateTime. Сделал monkey patch, который добавляет этот функционал. Написал в wishlist, жду реакции…

#!/usr/bin/perl
use strict;
use warnings;

use Time::Piece;

local *Time::Piece::truncate;
*Time::Piece::truncate = sub {
package Time::Piece;
my ($time, $to) = @_;
my @t = (0, 0, 0, 1, 0);
return $time->_mktime([@t[0..$to-1], @$time[$to..c_isdst]], $time->[c_islocal]);
};

my $now = Time::Piece->gmtime;
my $midnight = $now->truncate(Time::Piece::c_mday);
print $midnight, "\n";

среда, 13 октября 2010 г.

Одна из величайших трагедий (IMHO)

На сайте «Русская линия» опубликовано открытое письмо Президенту России «Общественность против Познера». Основной сыр-бор завязался из-за следующей реплики Познера:

Я считаю, что одна из величайших трагедий для России – принятие православия.

Якобы можно оставить свое мнение (да, так и написано: не «Ваша подпись», а именно «Ваше мнение»!). Ну что же, конечно, я имею свое мнение по такому важному вопросу. Понимая, что комменты премодерируются и мой комментарий скорее всего не будет опубликован на сём лицемерном портале, тем не менее не мог отказать себе в удовольствии попытаться.

Мои предположения в полной мере оправдались. Что ж, цитирую его в бложике (к сожалению, не дословно, оригинал утерян).

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

вторник, 27 июля 2010 г.

Говнохак

Есть кодеры в русских селеньях…

Из наследия женщины-программиста (осторожно, эссенция!):

use strict;
use warnings;

package Foo::Bar;
__PACKAGE__->{attr} = "Blargh!";
print __PACKAGE__->{attr}, "\n";

Это ведь настоящий сферический пиздец в вакууме, господа. Нарочно ведь такое не придумаешь.

Спойлер:

$ perl -MO=Deparse blargh
package Foo::Bar;
use warnings;
use strict 'refs';
$Foo::Bar{'attr'} = 'Blargh!';
print $Foo::Bar{'attr'}, "\n";
blargh syntax OK

вторник, 29 июня 2010 г.

Crypt::Rijndael::MySQL - MySQL-совместимый AES шифр

В MySQL есть две функции: AES_ENCRYPT() и AES_DECRYPT(), которыми, вообще говоря, лучше не пользоваться (я предпочитаю использовать базу данных исключительно в качестве хранилища данных, а всю логику выносить в код).

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

Основной репозиторий: Gitorious, зеркало для тусовщиков: GitHub, и на подходе место на CPAN (думаю, что этот модуль я всё-таки на CPAN выложу :)

четверг, 24 июня 2010 г.

I am an evil gotcha

Иногда последовательность перлового синтаксиса сводит меня с ума >8-E

use strict;
use warnings;

use Data::Dumper;

use constant AVA => 1;
use constant BIBIKA => 3;

my %things = (
+BIBIKA => 'car',
+AVA => 'dog',
);
$things{+AVA} = 'chien';

print Dumper(\%things);