понедельник, 13 июля 2009 г.

Настройка домашнего интернета (1)

Как только я начинаю гуглить что-то про настройку убунты, я тут же вижу, что это очень модно, писать рецепты для нее; я тоже хочу быть модным, поэтому тоже буду писать рецепты для убунту :)
На самом деле я просто собираюсь как-нибудь проапгрейдить свое домашнее хозяйство, а тут оказия потренироваться - так я и модно продвинусь, и руку набью
В общем - как установить Ubuntu и научить ее раздавать интернет в локальную сеть

Я уже хвалился, что у меня для интернета выделен и исправно трудится старенький компьютер, детали на который в свое время мне (или добрым людям, отдавших их мне) просто жалко было выкинуть: сначала это был Celeron-700, с 384 мб памяти и 80 Гб винтом, потом процессор немного улучшился с оказией на Athlon 2000.

Для слабого компьютера и выбиралась в свое время операционка, не помню уже по какой причине, но ею стала Ubuntu.. наверное потому, что когда-то в офисе болтались бесплатные диски с десктопной версией, 7.04 кажется, и один из этих дисков у меня нашелся в нужный момент, так что изначально у меня была десктопная версия 7.04, у которой позже я отключил gui - он мне был не нужен, и тормозной сильно уж был (видео в материнке было встроенное - читай "фуфловое") - и которая как-то со временем (я даже не помню как) проапгрейдилась до 8.04

Когда недавно в одном "дружественном" мне офисе (который платит деньги за то, что у них все работает) обострились проблемы с интернетом, я решил, что им тоже надо поставить убунту - заодно и потренировался в установке серверного варианта последней на сегодня версии - 9.04

Итак, Т.З.: есть компьютер не особой свежести, звезд с неба не хватает, но работает; есть "хороший" интернет ("хороший" = не диалап), т.е. есть смысл его раздавать в сеть из нескольких компьютеров); надо, чтобы
  • пользователи сети (секретарша в офисе или жена дома) не задумывались о том, откуда берется интернет, а просто им пользовались
  • злые хацкеры не знали, что у нас есть интернет и не делали нам разные гадости
  • если у компьютера большой жесткий диск, то пусть на этом компьютере хранятся файлы - видео, семейные фото - да мало ли
  • видео в наше время может качатся из инета из пиринговых сетей - пусть этот компьютер и качает его, раз он все время (теоретически) включен - для рейтинга на торрент-трекерах хорошо
  • ну додумается по ходу дела..
(!) При раздаче интернета в локальную сеть мы имеем фактически огромную сеть ТАМ, где-то во внешнем мире, и небольшую (возможно всего 2 компьютера) сеть ЗДЕСЬ, у нас в офисе или квартире; поэтому в компьютере, который будет рулить обменом между этими сетями, должно быть 2 (две) сетевые карты - одна будет подключена во внешний мир, другая - в нашу домашнюю/офисную сеть.. Учитывая, что сейчас практич. любая материнская плата имеет встроенную сетевую карту, докупить еще одну, самую простую - не очень разорительно.. А лучше всего - купить две одинаковые сетевые карты на проверенном чипе (Realtek 8139 кажется работает везде и всюду.. я ее специально покупал в свое время, чтобы заработала сеть в Хакинтоше)

Начинается все с загрузки с сайта ubuntu.com образа подходящего дистрибутива, для моих целей нужен сервер; качаем, прожигаем на болванку и в зависимости от типа материнской платы как-то загружаемся с этой болванки; если образ не битый и записан без проблем, то начнется установка

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

После выбора языка видим стартовое меню, интересует самый первый пункт - Install Ubuntu Server

Выбрали, начинается установка с вопросов про язык установки, страну пребывания, раскладку клавиатуры - все это я обычно оставляю по умолчанию.
Дальше начинается автоматическое определение сетевых карт; хорошо бы, чтобы при этом сетевая, которая смотрит в интернет, могла его увидеть - т.е. adsl-модем был включен или шнурок от провайдера был воткнут.. хотя все можно настроить и вручную позже:

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


Дальше надо разбить жесткий диск; систему можно поставить на пустой жесткий диск, а можно поставить и параллельно существующей операционке (хотя смысл не вижу); в любом случае на жестком диске должно быть немного свободного места: немного - ну например у меня для системы отведено 5 гигабайт и его хватает:

Здесь опять же виден диск, созданный виртуальной машиной; в "реальной жизни" его тип и буквы будут другими

Если диск пустой - выбираем его "целиком" и создаем новые разделы, иначе выбираем свободное место и начинаем его делить: сам не придумал, а прочитал где-то, что есть смысл в 3-х разделах: в "/" живет собственно система, мне хватает для него 5 гигабайт; еще один раздел, размером от 1 до 2 размеров оперативной памяти, нужен для "файла подкачки" наверное?.. для /swap в общем.
Ну и данные пользователей хорошо бы хранить на отдельном разделе (размер которого конечно ограничивает только запросы этих самых пользователей и размер дисков) - тогда систему можно переустановить, не потеряв эти самые данные пользователей..
В любом случае - выбираем нераспределенное место, указываем размер, выбираем тип:







Точно так же добавить swap и /home  разделы, только тип раздела стоит указывать не primary, а logical (иначе у кого-то там могут возникнуть проблемы с загрузкой - сам не придумал, где-то прочитал):

Для создания swap в Use as: выбрать "swap area"


Остаток места выделить под /user (инсталлятор уже все предугадал и настроил, надо только с ним согласится):

Когда все место "поделено" - применяем изменения

Идет инсталляция, даже на виртуальной машине это занимает совсем немного времени...


Затем создается новый пользователь, надо ввести полное имя пользователя, логин, 2 раза пароль (установка предупредит, если пароль "слабый"), дальше можно включить шифрование каталога с пользовательскими данными.

Перед подключением к инету инсталлятор запрашивает адрес прокси-сервера, после чего настраивает apt-get, затем предлагает настроить автоматическое обновление системы

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

В самом конце устанавливается и настраивается grub, если есть другие операционки, то они будут доступны в меню загрузки.

Все, инсталлятор предлагает вынуть диск из лотка и первый раз перезагрузится

Очередной ремонт закончен..

Закончил ремонт в спальне. Особо хвалится нечем, так что даже ничего не фотографировал в процессе.. прошлогодний ремонт был круче.. Наконец в освещении - только экономичные лампы, теперь наша спальня - новое самое яркое место в квартире.. ну а что - экономия должна быть

Наконец спал по людски - не на полу :)

Хотя на полу спать оказалось очень неплохо, да и для спины говорят полезно

Долго возился - раскладывал по плинтусу кабели (2 для сети, 2 для звука тыльного, сетевой, антенный.. еле запихал), зато перенес наконец компьютер "служебный" в кладовку, из остатков крепежа для гипсокартона сделал "корзину", в которой подвесил внутри корпуса в широкой его части 2 ж/диска, напротив поставил 12 см вентилятор для обдува - все таки жара, а работают 24/7 - жалко их..

В кладовке сразу стало намного теплее :( вентиляции там никакой в принципе.. оставляю приоткрытой дверь; зато в комнате (где этот компьютер жил уже года 3 под столом) стало намного тише


четверг, 25 июня 2009 г.

Обновил ffmpeg...

Ну не ffmpeg, а хедеры паскалевские для него, ну и пересобрал dll-ки есессно

Основательно не тестил, но пока тьфу-тьфу-тьфу старые проекты вроде работают.. "Портировалось" практически безболезнено, в основном менял в uses avutil на pixfmt

Брать тут (тут и хедеры, и dll готовые.. все из svn ~ 18-19 июня), если чего не работает - пробуйте жаловаться..

А я между прочим был на море...

И там между прочим просто отлично... Несмотря на июнь, казалось бы еще ж не жара - но вода теплая, зато ничего в ней не развелось еще, не плавает зелень разная да жуки всяческие морские Может оно где-то всегда так, но в Кириловке (это Азовское море) вот повезло.. Зато с чего кириловчане взяли, что их село - пуп земли, непонятно; но цены на все такие, как будто-бы как минимум все там на золотых блюдцах подается :) Но зато если все нужное привезти с собой ;)

вторник, 16 июня 2009 г.

Это анекдот..

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

Дзвінок. Путін знімає слухавку.
- Гальо, пане президенте, ту Місько зі Станіслава! Телефоную, жеби вам вповісти, же ми ту вам офіційно війну декляруємо.
- Харашо Міша, ето действительно важная новость. А большая у вас армия?
- Ну, зара... (щитає)... Я, Влодко, сусід Стефко і всі, шо ту в преферанс грали. То нас разом вісім.
- Должен сказать тебе, Міша, что у меня в армії 100 тисяч людей, каториє только ждут маєво пріказа.
- Холєра, я зара вам віддзвоню. ..
(за якийсь час)... - Гальо, прошу пана президента, стан війни не скасовано! До нас приєдналося ше штири хлопаки з сусідньої кнайпи.
- Должен сказать тебе, Міша, что со времені нашева последнєва разгавора я увеличил армию до 200 тисяч человек!
- Най го холєра вхопе! Я ще зателефоную.
(за якийсь час)...
- Слава Йсу, пане Путін! Я сі тєжко вибачєю, але мусимо ся вицофати з тої войни.
- Неужели? Очень жаль. А почему ето ви вдруг передумалі?
- Ну, ми ту посиділи за пару гальбами пива, так си між собов порадили, і вздріли, же аж ніяк не зможемо нагодувати 200 тисяч плєнних москалів.

Было испытание №3..

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

Но очевидцы говорят, что получилось неплохо :)

пятница, 12 июня 2009 г.

Испытание №2..

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

Вообще это уже смахивает на "что вижу то пишу" :) но зато можно будет "хронологию" если что вспомнить (я в прошл. году когда ремонт делал - кажется что все лето на него потратил):

- 18 мая мы сделали первый набросок, который собственно не очень и поменялся по ходу дела;
- 25 мая был готов чертеж и список для распила
- 26 мая отнесли чертежи
- 1 июня привезли доски
- 3 июня начал сборку
- 9 июня уже сам испытал 2-й этаж
- 11 июня заказчик обжил новое спальное место

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



Наконец (хоть и всего на пару дней) спала жара, +35 - это жесть просто..


четверг, 11 июня 2009 г.

Про школу..

Само приплыло - Отмечая день учителя

Особенно в тему, потому что сегодня жену классная попросила в школу прити и директору дифирамб на каком-то собрании попеть..

среда, 10 июня 2009 г.

Про ремонт..

У меня в доме снова как после стихийного бедствия.. готовимся к ремонту

Надо что-то сделать с комнатой 3*3.5 м, в которой живем с женой; собственно размахиваться особо не на что - у нового окна (с установки которого начался бардак, который дал старт ремонту) стоят мои башни-близнецы,  они там "навечно" на ближайшее время (сейчас вижу, можно было бы делать не такими глубокими - до сих пор полупустые.. правда размер столешницы между ними определяется как раз глубиной шкафа). Напротив окна - двери в комнату (которые сняли, потому что открываясь в комнату занимают много места, открываясь в коридор - то же самое.. хотели дверь-гармошку, но чтото они сейчас такие убогие), слева в углу стоит огромезный диван, на котором очень удобно спать или валяться перед телевизором - который на тумбочке у стены справа (а в плане перевесится чуть выше на стену)

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

Так что когда нормальные люди едут на море, я еду за шпаклевкой и прочим :)

вторник, 9 июня 2009 г.

Про "Терминатора-4"..

На что потратились 3 выходные - в т.ч. на поход в кино на последнего Терминатора; в кино сто лет не ходил уже.. и ходить наверное не буду - смотришь кино в большом зале, на большом экране, а видишь тусклую экранку, которую можно было посмотреть за бесплатно еще позавчера.. я понимаю, что $$ вырос последние годы и лампочки для проекторов дОроги - но давайте не экономить на заварке!?

Как выйдет на dvd или в hdtv - пересмотрю с удовольствием дома; задумался, идти ли на Трансформеров-2..

Чего я зацепился.. а вот с этого: упрощенный сценарий Терминатора-4 :)

Кровать ну уже совсем почти..

С 3-я выходными время как вода в песок куда-то ушло :( так что кровать моя все еще не сделана полностью.. но прогресс налице: поставили ее на ее место, сделал верхнее "корыто", собрал несколько ящиков, собрал частично ступеньки, испытал :) :



Теперь точно не страшно никого туда запустить, раз тест с двойной нагрузкой прошел ;)

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

Как всегда накосячили немного и я, и программа (из-за меня скорее всего конечно), так что надо подрезать 3 детальки, чтобы было совсем все красиво - чем и попросил заняться жену сегодня, вечером буду заканчивать ступеньки..

Нет направляющих длинных :( , макс. 500 (а надо 600.. когда-то для шкафов каких-то я тоже 450 искал очень-очень долго.. бред какой-то, тоже мне дефицит) мм.. думаю - может и фиг с ним, ну будет ящик выезжать меньше, зато будет выезжать уже завтра, а не через сколько-там-дней-я-потрачу-пока-буду-искать-эти-направляющие..


пятница, 5 июня 2009 г.

Про drag-n-drop

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

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

  • добавить .pas файл в проект или путь к файлу в настройки окружения - кому как нравится
  • добавить в uses формы, которая будет принимать дропы, ссылку на модуль
  • создать 2 обработчика, для реакции на "мышка с обьектом над нами" и "юзер бросил нам обьект"
  • ну и создать собственно экземпляр класса в подходящем месте

Где-то вот так:

...
type
  TfrmMain = class(TForm)
  ...
  private
  ...
    procedure FileDropEvent (Sender: TObject; const Filenames: TWideStrings);
    procedure FileEnterEvent (Sender: TObject; const Filenames: TWideStrings; var Accept: boolean);
  public
    { Public declarations }
  end;
var
  frmMain: TfrmMain;

implementation

uses
  DragDropSupportUnit, ActiveX;

var
  FileDrop: TFileDrop;

{$R *.dfm}

...

procedure TfrmMain.FileEnterEvent(Sender: TObject; const Filenames: TWideStrings; var Accept: boolean);
begin
   // разрешим дропать только файлы по какому-то правилу - скажем только файлы .mp3
  Accept := AnsiLowerCase ( ExtractFileExt ( Filenames [0] ) ) = '.flv';
end;

procedure TfrmMain.FileDropEvent(Sender: TObject; const Filenames: TWideStrings);
begin
  // прореагируем на бросание файлов на контрол (файлов может быть и несколько)
  if Filenames.Count > 1 then
  begin
    MessageBox(Handle, 'Many files - will be used only first', 'Warning', MB_OK + MB_ICONINFORMATION);
  end;
  edSource.Text := Filenames [0];
end;

...

procedure TfrmMain.FormCreate(Sender: TObject);
begin
  ...
  FileDrop := TFileDrop.Create ( FileDropEvent, FileEnterEvent );
  RegisterDragDrop (Handle, FileDrop as IDropTarget);
  ...
end;

procedure TfrmMain.FormDestroy(Sender: TObject);
begin
  ...
  RevokeDragDrop(handle);
  ...
end;

Это все: вызов RegisterDragDrop назначает контрол, handle которого передали параметром, приемником драг-дропа (так что это может быть как вся форма, так и к примеру только поле ввода.. дропаем файл на поле ввода и там тут же появляется имя файла), закрывая программу вертаем все взад.

Код собственно полезного модуля (мне лениво в пятницу вечером делать архив, ложить куда-то на рапиду.. скопипастить в ide да сохранить):

// использование: создать обьект, передав ему указатели на обработчики
// OnEnter и OnDrop и зарегистрировать приемник drag-drop-а:
//     RegisterDragDrop (Handle, FFileDrop as IDropTarget);
unit DragDropSupportUnit;

interface

uses
  windows, sysutils, widestrings, ActiveX, shellAPI;

type
  TFileDropEvent = procedure (Sender: TObject; const Filenames: TWideStrings) of object;
  TFileEnterEvent = procedure (Sender: TObject; const Filenames: TWideStrings; var Accept: boolean) of object;

  TFileDrop = class (TInterfacedObject, IDropTarget)
  private
    FDropEvent: TFileDropEvent;
    FEnterEvent: TFileEnterEvent;
    FFilenames: TWideStrings;
    FCanDrop: boolean;
  public
    constructor Create (AOnDrop: TFileDropEvent; AOnEnter: TFileEnterEvent);
    destructor Destroy; override;

    function DragEnter(const dataObj: IDataObject; grfKeyState: Longint;
      pt: TPoint; var dwEffect: Longint): HResult; stdcall;
    function DragOver(grfKeyState: Longint; pt: TPoint;
      var dwEffect: Longint): HResult; stdcall;
    function DragLeave: HResult; stdcall;
    function Drop(const dataObj: IDataObject; grfKeyState: Longint; pt: TPoint;
      var dwEffect: Longint): HResult; stdcall;
  end;


implementation

{ TFileDrop }

constructor TFileDrop.Create(AOnDrop: TFileDropEvent;
  AOnEnter: TFileEnterEvent);
begin
  inherited Create;
  FDropEvent := AOnDrop;
  FEnterEvent := AOnEnter;
  FCanDrop := false;

  FFilenames := TWideStringList.Create;
end;

destructor TFileDrop.Destroy;
begin
  FFilenames.Free;
  inherited;
end;

function TFileDrop.DragEnter(const dataObj: IDataObject;
  grfKeyState: Integer; pt: TPoint; var dwEffect: Integer): HResult;
var
  medium: TStgMedium;
  format: TFormatEtc;
  fn: array [0..MAX_PATH] of char;
  fcount, i: integer;
begin
  dataObj._AddRef;

  format.cfFormat := CF_HDROP;
  format.ptd := nil;
  format.dwAspect := DVASPECT_CONTENT;
  format.lindex := -1;
  format.tymed := TYMED_HGLOBAL;

  if dataObj.GetData (format, medium) = S_OK then
  begin
    fcount := DragQueryFile (medium.hGlobal, $FFFFFFFF, nil, 0);
    if fcount > 0 then
    begin
      for i := 0 to fcount - 1 do
      begin
        DragQueryFile (medium.hGlobal, i, fn, sizeof (fn));
        FFilenames.Add ( string ( fn ) );
      end;
      FCanDrop := true;
    end else
      FFilenames.Clear;
  end;

  if medium.unkForRelease = nil then
    ReleaseStgMedium (medium);
  dataObj._Release;

  if Assigned (FEnterEvent) then
    FEnterEvent (self, FFilenames, FCanDrop);

  if FCanDrop then
    dwEffect := DROPEFFECT_COPY
  else
    dwEffect := DROPEFFECT_NONE;
  Result := S_OK;
end;

function TFileDrop.DragLeave: HResult;
begin
  FFilenames.Clear;
  Result := S_OK;
end;

function TFileDrop.DragOver(grfKeyState: Integer; pt: TPoint;
  var dwEffect: Integer): HResult;
begin
  if FCanDrop then
    dwEffect := DROPEFFECT_COPY
  else
    dwEffect := DROPEFFECT_NONE;
  Result := S_OK;
end;

function TFileDrop.Drop(const dataObj: IDataObject; grfKeyState: Integer;
  pt: TPoint; var dwEffect: Integer): HResult;
begin
  if Assigned (FDropEvent) and FCanDrop then
  begin
    FDropEvent (self, FFilenames);
    dwEffect := DROPEFFECT_COPY;
  end else
    dwEffect := DROPEFFECT_NONE;

  FFilenames.Clear;
  Result := S_OK;
end;

initialization
  OleInitialize(nil);

finalization
  OleUninitialize;

end.

Про халяву и свистелки..

Я жутко падок до свистелок и перделок, поделать с чем ничего не могу :) поэтому в этом супер-блоге есть свои свистелки и остальное - в "бесполезностях".. ну а как, пользы нет особой - зато прикольненько :)

Хотя про пользу - ваучер на 30 минут прислали.. скайп я как-то использую редко и только между компами, а так поиграюсь, раз "холява"..


Вчера вечер прошел в праздном безделье ("Как я встретил вашу маму", 3/8, "Менталист" 1/22 и "Звездный путь") - жена забыла зарядить аккумуляторы днем, вот и бездельничал..

четверг, 4 июня 2009 г.

Про видео-декодирование..

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

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

Но я его не виню ;) - он же не с AV падал, а честно говорил на своем непонятном языке машинном - "не получилось декодировать"..

Т.е. решение для декодирования произвольного кадра: катится назад, пока не найдется ключевой кадр, и декодировать с него до нужного..

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

Кровать в процессе..

Вчера шуруповертил до 11 ночи, пока аккумулятор не сел.. Нашуруповертил:



Заказали 2 матраса (16 см толщиной), обещают привезти на след. неделе.. Я не думал, что даже матрацы у нас и то редкость - дня за 2 думаю я все доделаю уже. Проблема - диван, его заберут, только когда - неясно

среда, 3 июня 2009 г.

Все про кровать и про кровать..

Вчера НАЧАЛОСЬ! :)

Сделал правда совсем мало (6 дырок если быть совсем точным), сидел долго прикидывал - что за чем делать (схему сборки короче); детали большие, места мало, рук всего 2

А, еще - бОльшую часть времени потратил на выпилы небольшие.. в мастерской сказали, что не делают (или делают, но очень уж задорого, не знаю деталей - я заказывать жену посылаю O:-) - я то на работе), так что делал 4 прямоугольных выреза 16х130 мм.. чепуха, а попотел (решил, что 4 выреза пока что не причина покупать электролобзик)

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

Хотя с другой стороны, мой прошлогоднеремонтный девиз остается в силе - "пугаться проблем по мере их появления".. вот перекосятся ящики - тогда и буду переживать

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

Капля нытья - уснул в пол-третьего ночи :'-(

Борюсь со своим новым интернетом; интернет сам по себе неплохой, со скоростями более-менее вроде все хорошо - не могу настроить все, чтобы локальная сеть видела интернет (пока видит только компьютер, собственно к шнурку подключенный)

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

вторник, 2 июня 2009 г.

Квас, кровать..

Прислали ссылку, теперь хожу облизываюсь - Mangiare e Bere - Окрошка в ледяной вазе.

Собственно не на окрошку (не понимаю я пока, огурцы в воде плавающие есть :) ), а на квас.. обязательно с-агитирую жену попробовать квас сделать!
 
Может даже сегодня - начну кровать собирать, а она пусть мне за это квас готовит. Забрали вчера из распила дрова - а 2 детали (1902*802 между прочим) как-то не заметили и оставили - причем я не участвовал в процессе забирания, так что не виноват ни в чем ;)

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

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

понедельник, 1 июня 2009 г.

Новый месяц; новая кровать; новый интернет...

Прям все-все новое навалилось :) :

- лето началось - это раз; причем по температуре - еще позавчера-вчера.. можно "официально" ходить на работу в обрезанных штанах :-]

- мне провели новый интернет домой: Beeline Home Internet, 5 неограниченных трафиком мегобит.. использовать его впрочем как настоящий интернет посмотрю как получится - сайты грузятся так себе (потестил только тытюбик, простые сайты понятно что грузятся хорошо), но фишка интернета дома ж не в этом ;) - а торренты качаются/раздаются на 620/670 кбайт/сек, что есть намнОГО быстрее, чем мой нынешний интернет (ОГО-1, которым я впрочем тоже очень доволен все 3 года пользования)

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

пятница, 29 мая 2009 г.

Thumbnails для флеш-файлов..

До этой темы у меня руки не дойдут все никак уже с год точно :(

Как вот люди есть, которые все успевают и еще время свободное остается?..

По отдельности я все могу - сделать эскиз для swf или flv файла, сделать провайдер эскизов для типа файлов; а слепить все в кучу - как подумаю, что надо что-то сочинять несколькоступенчатое: эскизы мгновенно не делаются, значит надо обрабатывать запрос на эскиз, создавать этот эскиз и хранить в какой-нибудь БД локальной, чтоб к следующему разу оттуда его достать.. а запросы могут из разных потоков приходить, так что прямо читать базу наверное не выход, надо какая-то очередь

Как начнешь все это придумывать - так сразу и накатывает сонливость и апатия и все откладывается "до лучших времен" :) ..

Или просто надоело программировать?.. когда-то "для души" программки по ночам писал, тестил, сапортил.. а теперь - "да нафига оно мне надо?.."

Это видимо старость :)

з.ы. а еще в зачаточном состоянии лежит проект для индексирования fb2-файлов (книжки в электронном виде); учитывая, что у меня их 70000+ штук - вроде и очень нужная вещь.. а лень..

з.з.ы. последнее недорожденное - это тулза для получения инфы для видеофайлов: привык уже к хорошему, когда использую XBMC для просмотра видео (и в основном сериалов) и для каждого сериала/сезона свой фанарт, описания серий, скриншоты и прочие свистелки.. А почему-то что сам xbmc, что программы-помощники так тупят, когда обновляют данные, сил нет - так что начал своего "помощника" писать.. ну что, инфу с tvdb научился брать - дальше сразу резко неинтересно стало..