Без рубрики

Дворники интеллектуалы

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

Как известно сейчас я вожу серебристый мерседес (E430), так что текст применим к нему и более старшим моделям.

Сегодня дождь был как из ведра, заливало так не хило. Пришлось воспользоваться дворниками. Дворники имеют три режима: с перерывами, без перерывов, адский улёт. Первого режима сразу было недостаточно, поставил второй. Если скорость авто превышает 15-20км/ч, то он работает как ему и положено. Как только скорость понижается, он переключается в первый режим.

Меня всегда раздражал этот звук, а теперь машина сама решает важен ли мне обзор когда я стою, или нет.

Thermaltake_shark_silver

Thermaltake Shark

Привезли корпус: Thermaltake Shark. Теперь он будет мой. Типоразмер Full-Tower. Два замка. Безвинтовое крепление. Подробнее тут. Тут видео обзор
Внутри ещё вставлен Zalman ZM-MFC1 PLUS. 6-канальный регулятор для вентиляторов, которых будет 4-5 в итоге.
Ещё там LCD дисплей от фирмы AcBel API4PC75-550 для блока питания, но он работает только с фирменными, так что пойдёт на мусорку.
Ну и какой системный блок обходится без флупика? NEC FD1231H. И кулер с подсветкой сзади Thermaltake TT-1225.

RS232-TTL

RS232-TTL converter


Заказал с eBay MAX232 RS232 To TTL Converter. Расскажу предысторию: не так давно мой винт Seagate Barracuda 7200.11 1TB отказал работать. Тогда я это списал на питание, сейчас же я уверен что я словил «Муху CC».
Дабы удостоверится в этом, и восстановить винт, я и заказал этот переходничек.
Заказывал на eBay, оплачивал на сайте VirtualVillage.com через PayPal, с платёжной карты «Связной-Клуб» MasterCard. Стоимость получилась 4.50$, а с карты списалось 136.58, так что курс составил 1$=30.35 руб..
Оплатил 8 января, отправили 10. 28 января получил уведомление и получил конверт.
На конверте стоит обратный адрес – Hong Kong. Наклеена опись. Конверт внутри проклеен пупырышками. Сам переходник окутан антидепрессантами :) и в маленьком герметичном пакете.

Теперь о плохом, о Почте России: конверт сзади порван, поначалу сложилось впечатление что конверт открывали для того чтобы оттуда стырить. Я это сразу заметил, и попросил кассира показать конверт, на что получил отказ. Мол, подпишите – и покажем. Я, мог бы и поспорить, но не стал. Не такая большая сумма для споров.
Ещё очень прикола мантра о качестве обслуживания наклеенная на стене. Сфотографировать не удалось.

Первый и последний день месяца

    $i = 1;
    $beginm = strtotime('first day 2010-09')-86400; # вычисляем первый день
    $days = date('t',$beginm); # сколько дней в этом месяце
    while ( $i <= $days ) {
        $rows[] = array(
            date('d.m.Y - H:i',$beginm),
            date('t', $beginm),
        );
    $beginm = $beginm + 86400; # +1 день
    $i++; # i, оно и в африке i
    }

Субботнее путешествие

IKEA:
Тофтбу 499,00 Коврик для ванны
Антониусрама 70см 595,00, крышка 125,00, ящик 4×250,00 = 1720,00 Типо тумбы с выдвижными ящиками, только из металла и пластика. Отлично будет смотреться на кухне.
Вессла 249,00, крышка 70,00 Ящик на колёсах, с крышкой. Туда можно засыпать картошки и катать его по дому :)
Тапочки Феген, которых нет на сайте. Не себе :) 199,00
Элли 79,00 – 4 кухонных полотенца в одной упаковке. Дайте две!
Простыня кноппа 69,00 – дома простыней мало, взяли две, даже без уверенности в том что они могут быть не по размеру. Фактор «ВАУ, простыня за 69 рублей!!!!» сыграл решающую роль при покупке.
Прихватки Ирис 2 шт. 39,00
Сковорода стека 89,00 – «ВАУ сковорода за 89 рублей!!!»
Плед ирма 79,00 – неожиданная находка, я давно хотел. Хотя больше бы пригодилось прохладное одеяло, однако оно дороговато стоит.
ВАУ! Подставка для ножей и 4 ножа за 99,00!!! Хаке
Комплект Бюгель, резка для яиц, фирменная сумка и ещё пару мелочей. Так же было сьедено 4 мороженого, 1 хот дог, 1 пицца и выпито примерно литр газировки mountain dew.

Так же чек в ашане на 1500, и чек в оби на 200 рублей. Купили какой то цвяток.
А ну и шмотки. Куртку взяли в MEXX, за 6к. Понравилось в Calvin Klein, но ценник в два раза больше. Ещё джемпер (бороду, шредер и кота) и майку.

Дебаг форм друпала

Столкнулся с тем, что написание простого print_r($form_state['values']); не спасает отца российской демократии, и не выводит данные отправленные с помощью POST. Решение пришло сразу как я узнал про $form_state['clicked_button'].

function books_form_submit($form, &$form_state) {
  print '<pre>'; var_dump($form_state); print '</pre>';
  exit;
}
zebra

Библиотека – Книговыдача

Одной из самых первых задач поставленных передо мной, была реализация электронной книговыдачи на базе Drupal.

Как оно должно работать: читатель (студент/преподователь) показывает свой цифровой ключ (представляет из себя карточку на простой бумаге, с логином в двух вариантах отображения: штрихкод и текстовый), библиотекарь сканирует штрих код и открывается формуляр читателя. Читатель называет книги которые ему нужны, библиотекарь их приносит, и начинает сканировать штрих-коды с книг. После каждого сканирования выдаётся чек на принтер. Читатель расписывается в чеке за каждый экземпляр выданной ему книги и получает книги на руки. Всё.

Технические средства: сканер штрих кодов NoName, принтер Zebra EPL 2824.

Разработка: был написан парсер базы ИРБИС, под utf8:


$file=file_get_contents($files->filepath);
$file = str_replace(pack("CCC", 0xef, 0xbb, 0xbf), '', $file);
$arr=explode('*****',$file); $arr = array_diff($arr,array('')); # разбиваем на массив по разделителю (*****) и удаляем пустые элементы
foreach ($arr as $key=>$list): # цикл - обработка каждой книги
$s_arr = explode("\n", trim($list));
foreach ($s_arr as $str) { # обработка каждой строчки
preg_match('/^#(\d+): (.*)$/',$str,$res);
if ($res[1]=='700' or $res[1]=='701') {
$author = trim(preg_replace('#(\^\d+|\^.)#', ' ',  $res[2]));
}
if ($res[1]=='200') {
$title = trim(preg_replace('#\^.#', ' ',  $res[2]));
}
if ($res[1] == '461' and strlen($title)<10) {
$title = trim(preg_replace('#\^.#', ' ',  $res[2]));
}

if ($res[1]=='910') {
// Когда количество наклееных штрихкодов на книгах станет больше 99999 следует исправить эту строчку
preg_match("/[H][0]{3}[0-9]{5}/", $res[2], $ololo);
$code = $ololo[0];
$shcode=substr($code, 1, strlen($code));
if (strlen($code)>0) { // echo '<b>'.$author.'</b> '.$title.' '.$shcode.'<br>';
}    }    }
$author = '';
endforeach;
}

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

Zebra EPL 2824 использует язык программирования EPL. Когда в нём разбераешся, то печатать очень просто. Вот пример:

'N\n',
'A00,0,0,a,1,1,N,"Книга:"\n',
'A00,50,0,a,1,1,N,"'.$b1.'"\n',
'A00,100,0,a,1,1,N,"Код: '.$shcode.'"\n',
'A00,150,0,a,1,1,N,"Взял:'.$fio.'"\n',
'A00,200,0,a,1,1,N,"Логин: '.$login.'"\n',
'A00,250,0,a,1,1,N,"Подпись: _____________"\n',
'P1\n'

Где A – ASCII текст, p1 – позиция Х, p2 – позиция Y, p3 – шрифт.
Поскольку дефолтный шрифт не знал русского языка, пришлось заливать на него Arial с русскими символами через спец утилиту от производителя.
В общем метров 15 ленты я на тесты истратил. Облепил ей широкоформатный моник :)
Ещё была приделана аварийная форма для ввода данных вручную. Работает она по такому принципу: пока не все книги в библиотеке обладают штрих-кодами, соответственно их нет в базе книг. В форму вбивается автор, название книги, инвентарный номер (по которому можно однозначно опознать экземпляр в ИРБИСе) и наклеенный штрих код. С этой формы сразу идёт занесение на пользователя. Позже выводится отчёт, и в базу ИРБИСа вбиваются новые штрих коды. Затем когда базу перезаливают, те записи которые были сделаны через аварийную форму принимают нормальный вид (название по библиотечным ГОСТам и т.д.).

Как всё получилось: весь первый день я стоял в библиотеке и наблюдал как они работают. Без фокуса на поле и при большом формуляре им приходилось прокручивать форму вниз и кликать на нужном поле, что при больших объёмах непрактично. Вбивать вручную 10 одинаковых книг смертельно долго. Расписываться на каждом чеке тоже неудобно. Ещё несколько мелких программных багов, которые я за сегодня исправил.

Итого: в общем пока не получилось быстродействия. Я поправил дизайн, начал дорабатывать автофокус на нужном поле, и приделывать копирование для аварийной формы. Всё, и то что выплывет за следующие дни работы системы и сложит её конечное рабочее состояние.

Need For Speed World Starter Pack

На этой неделе купил себе стартер пак. То чего так давно хотел :) Просматривал множество предложений магазинов, однако все не подходили. Отчего и захотел опубликовать краткую инструкцию по покупке:

1. Идём в магазин «Связной» http://www.svyaznoy.ru/

2. Просим оформить карту «Связной Клуб Master-Card» http://pay.sclub.ru/

3. Закидываем на счёт 800 рублей.

4. Идём в настройки своего аккаунта на EA.com и меняем страну проживания на «United States».

5. Идём в store.ea.com и добавляем игру в корзину. (примерно 20 евро)

6. В корзине нажимаем ссылку вверху страницы «worldwide». Откроется окошко (pop-up) в котором нужно будет выбрать любой пункт и нажать кнопку внизу.

7. Возвращаемся в корзину и видим что нам сделали скидку в 2 евро. (общая сумма примерно 18 евро)

8. На странице ввода информации о себе вводим логин и пароль и входим в аккаунт. Затем вводим всю информацию о себе и о карте.

9. Оплачиваем и ждём письма на электронный ящик.

10. В игре добавляем ник Timka и зовём играццо :)

Windows 98

Windows 98 is an operational system based on the expanding windows principle whith used icons to graphically represent files. It`s very easy to use internet if you have Windows 98 on you computer.
Windows 98 makes the way you and your computer interact with internet more easy. Most everyday task are easer to do than before. For example, the second mouse button has become a powerful weapon. Recycle Bin makes it easier to recover accidentally deleted files. Your computer probably will crash less with Windows 98. Microsoft says that it is moving forward to the time when we will all think more about our data and less about the programs used to create them.
Windows 98 plug-and-play capability makes it easy to upgrade your computer hardware. A new Windows 98 shortcuts capability makes it easy to reach frequently used files.

Вот такой своевременный текст по IT я буду учить чтобы завтра получить пять по английскому языку :)

TODO

Я прикреплю этот пост наверху до 2011 и устрою себе TODO лист на ближайший год.

  1. Планировщик PROGDVB (dvbdream рулит)
  2. CUE сплиттер
  3. Drupal (IN PROGRESS)
  4. Поиграть в Diablo 2 %)
  5. Jumpstyle
  6. Texas Holdem
  7. mcx74
  8. ??????????????
  9. PROFIT!!!