?

Log in

No account? Create an account
Alex Tracer's LiveJournal

Tracer
Date: 2008-02-03 02:46
Subject: (без темы)
Security: Public
Этот журнал закрыт.
1 Comment | Post A Comment | Поделиться | Ссылка



Tracer
Date: 2007-08-18 22:36
Subject: Пятый Элефант
Security: Public
Tags:books, flat world, pratchett
Дочитал "Пятый Элефант" от Терри Пратчетта. Автор, как всегда, на высоте.
Эх, всё-таки не стоит мне читать Пратчетта, ой не стоит: слишком тяжело оторваться :)

Теперь в электронном виде от "Плоского минра" у меня осталась непрочитанной только "Правда".  Жаль, что на долго одной книги не хватит.
Post A Comment | Поделиться | Ссылка



Tracer
Date: 2007-08-16 03:29
Subject: Игрушки
Security: Public
Mood:lazylazy
Tags:toys smf php mods
Вчера и сегодня в очередной раз игрался с SMF. Ставил "Karma Description Mod" - мод на карму, для того чтобы она была как в IPB (лог + комментарии). К счастью мод был с русским языком, так что его пришлось только по-минимуму подправить под недефолтную тему. Однако меня убил тот факт, что ни в самом форуме, ни в моде нет возможности обнулить карму всем пользователям, ведь это штука полезная, неоднократно упоминаемая на форуме поддержки SMF, а по реализации она проще некуда. Пришлось самому мод собрать, благо на это ушло меньше времени, чем набрать эту запись - SMF в этом отношении чертовски удобен : )
Post A Comment | Поделиться | Ссылка



Tracer
Date: 2007-08-13 14:12
Subject: (без темы)
Security: Public
Mood:draineddrained
Tags:web optimization bots
Блин, вот что значит подсел на очередную дурь: на днях решил между делом слегка заняться оптимизацией сайта для поисковых машин, а сейчас уже вторые сутки жду, когда сайт будет снова посещен ГуглБотом, который выдаст мне свежую статистику. И это не смотря на то, что он может зайти и через неделю, а то и две. Нужно в срочном порядке менять траву.
Post A Comment | Поделиться | Ссылка



Tracer
Date: 2007-08-06 23:22
Subject: (без темы)
Security: Public
Tags:quiz
Что ж, мы тоже поддержим эту  заразу ^_^

01. ваше имя:
02. ваш возраст:
03. одиноки или в отношениях:
04. любимый фильм:
05. любимая песня или альбом:
06. любимый исполнитель или группа:
07. где вы живете?
08. где учитесь? на кого?
09. мы знакомы вне интернета?
10. ваша жизненная позиция?
11. фраза, которую чаще всего произносите?
12. стакан наполовину полон или наполовину пуст?
13. будете ли держать что-то от меня в секрете, если это будет в моих интересах?
14. самое приятное воспоминание, касающееся нас:
15. ваше самое любимое удовольствие?
16. один интересный факт о вас:
17. вы можете загадать три желания для себя (т.ч. "мир во всем мире" не катит). что это будет?
18. как насчет совместного приготовления пирога?
19. страна, являющаяся вашим духовным домом:
20. ваша слабость:
21. как вы думаете, я хороший человек?
22. ваш любимый предмет в школе/универе?
23. любимая книга? что посоветуете мне?
24. вы бы изменили во мне что-либо, если бы смогли?
25. как вам мой дизайн?
26. брюки или юбки?
27. сигареты или алкоголь?
28. мне осталось жить один день, как мы проведем его?
29. поместите ли вы эти вопросы к себе, чтобы я мог на них ответить?
30. вы бы хотели встретиться со мной в реале?
4 Comments | Post A Comment | Поделиться | Ссылка






Tracer
Date: 2007-07-31 00:39
Subject: Тест на стрессовое состояние
Security: Public
Не мое. Вероятно, что для многих - старый боян, но я все же не смогу удержаться.

Итак, тест.

Внимание! Сначала внимательно прочитайте текст, а потом смотрите на картинку.


На прилагаемом фото изображены два дельфина.
Оно использовалось в качестве иллюстрации при изучении стрессовых состояний в Госпитале Святой Марии.
Посмотрите на двух дельфинов, выпрыгивающих из воды.
Как было установлено на примере подопытной группы, несмотря на тот факт, что дельфины абсолютно идентичны, человек, находящийся в стрессовом состоянии, находит отличия в них.
Если человек находит много отличий, значит, он испытывает сильнейший стресс.
Посмотрите на картинку.
Если Вы нашли в дельфинах более двух отличий, то Вам срочно надо в отпуск.

Ссылка на фото. (нужно найти отличия между дельфинами)
2 Comments | Post A Comment | Поделиться | Ссылка



Tracer
Date: 2007-07-22 22:49
Subject: (без темы)
Security: Public
Mood:blankblank
Tags:journal
Да уж, давненько я ничего не писал. Да и сейчас писать не буду, а просто отмечу тот факт, что журнал окончательно заброшен. Увы.

Себе на заметку: никогда не берись за 5-6 дел. Ограничься 2-3 и жить будет легче :)
Post A Comment | Поделиться | Ссылка



Tracer
Date: 2007-04-01 20:26
Subject: Why’s (Poignant) Guide to Ruby
Security: Public
Mood:impressedimpressed
Tags:languages, programming, ruby
Сейчас читаю книжку по Ruby: "Why’s (Poignant) Guide to Ruby". Это самая необычная книга по программированию, которую я когда-либо видел. Даже если вы не интересуетесь Ruby, я очень рекомендую прочитать эту книгу - просто ради того чтобы получить удовольствие. Книга небольшая и читается очень легко.

Онлайн версия: http://poignantguide.net/ruby/index.html
1 Comment | Post A Comment | Поделиться | Ссылка



Tracer
Date: 2007-04-01 20:22
Subject: Семинар по RoR
Security: Public
Mood:crazycrazy
Tags:chunky bacon, impressions, languages, programming, ruby, ruby on rails
Вчера был на лекции-семинаре по Ruby on Rails. Мероприятие длилось добрых 7 часов (+ около часа на перерывы). Честно говоря, я не ожидал, что презентация займет весь почти день, но я ни капли не жалею: этот день был самым интересным для меня за последнее время.

Презентация состояла из трех частей:
1. Ruby
2. Ruby on Rails (RoR)
3. Демонстрация RoR

Итак, по порядку.
Вначале у меня отношение к Ruby было весьма скептическое. В духе: ну вот, еще один язык с извращенным синтаксисом. Что еще можно подумать видя строку кода вроде вот этой?
5.times { print "Chunky Bacon" }
Что она делает? Да вот же, написано: "пять раз напечатай Chunky Bacon".

Как я уже сказал, вначале конструкции Ruby у меня вызывали усмешку.
Однако постепенно стали мелькать мысли "Хм, а вот это довольно интересно..."
Затем: "Черт! Да ведь это удобно!"
Потом осталась только одна мысль: "Хочу! Хочу! Хочу!"
К концу второй части презентации я был преисполнен черной завсти к тем кто работает с Ruby.
Вот так вот.

Теперь немного конкретики про Ruby (из того, что мне запомнилось):
1. Замыкания, регулярные выражения, интервалы, хэши - "родные" элементы языка Ruby.
Comment: в Ruby замыкания используются повсеместно и это действительно очень удобно.
2. Если вы хотите что-то сделать, вы просто делаете это - почти наверняка это будет правильно.
Comment: так называемый "принцип наименьшего удивления Ruby" - вы можете писать как вам нравиться - вас почти наверняка поймут, причем поймут правильно.
3. Вы можете в любой момент в любой класс или в любой объект добавить новую фунциональность (новые поля и методы).
Comment: вот это как раз самая ненормальная вещь в Ruby. "Что за бред? Добавлять методы в уже декларированные классы? Добавить десяток методов в конкретный объект, а сам класс оставить без изменений? Вы вообще в своем уме? Как же можно?" - вот приблизительно такие мысли у меня и были. Дело в том, что я привык к подходу из тех языков на которых писал раньше (Pascal/Delphi, PHP, C++, C#, Java) - там есть классы и есть объекты: классы никогда не изменяются в процессе работы программы, а все объекты одного класса по функциональности и структуре идентичны между собой. В Ruby это не обязательно. А вот теперь тупой пример.

Тупой пример (под впечатлениями о Ruby):
Пусть у меня есть класс Двери. Пусть я создал объект Дверь. Пусть я хочу иметь возможность нарисовать эту дверь где-нибудь. На стене, например. Нет, я не буду реализовывать для класса двери интерфейс Рисовабельность. Зачем? Ведь весьма вероятно, что когда я думал о Дверях, я даже и не планировал, что мне понадобится их еще и рисовать. В место этого, я могу подключить к классу Дверей модуль Рисование непосредственно там, где мне понадобилось озаботиться проблемой рисования дверей на стенах. Итак, я подключил Рисование и описал пару методов, которые определяют общий принцип рисования дверей. При этом модуль Рисование сразу же обеспечил меня широким набором дополнительного функционала. Например у меня появилась возможность рисовать двери, повернутые под углом. Или возможность определить цвет в конкретной точке двери. И так далее. Теперь предположим, что в мою безумную голову взбрело желание сделать мою Дверь волосатой (так смешнее). Причем волосатой я хочу сделать только одну дверь (я не псих, и не хочу чтобы все Двери были волосатыми). Я просто беру и подключаю к моей конкретной Двери набор функциональности Волосатость. После этого у мой Двери сразу появляются новые поля длина_волос, цвет_волос, густота_волос, чистота_волос и методы подстричь, помыть, высушить, причесать и взъерошить. А все остальные двери останутся "лысыми" и у меня не возникнет необходимости следить за их внешним видом. Вот такие вот дела.

Подобный подход вначале кажется чистым безумием. Но на примере RoR я понял, что подобные возможности могу быть просто невероятно удобными. Более того, они могут быть до жути удобными. Пример. У вас есть класс Books. Парой простых строчек (количество зависит от того, насколько вы привередливы) вы задаете связь между классом Books и таблицой в БД (тот самый ORM). Теперь вы можете написать book.save - и ваш объект сохранится в БД (подключения, соединения, транзакции, SQL - вы этого вообще не касаетесь). Ну, в Java через аннотации Hibernate я почти так тоже могу. Но это еще не всё. Пусть я хочу найти книги по автору и году. Я просто пишу Books.find_by_author_and_year{:author => "Йа!", :year => (2002..2008)}. Всё! Больше ни-че-го. Возможно синтаксис немного неверный - но идея именно такая. То есть я даже не занимаюсь реализацией метода find_by_author_and_year. Я просто его использую. При первом использовании этого метода, модуль, который я подключил, когда заявил, что мой объект отображается в БД, проанализирует имя метода который я захотел использовать (find_by_author_and_year) и на на основе этого добавит в мой объект этот метод. SQL, подстановка параметров, разбор результата - это не мое дело. Я пишу book_list = Books.find_all - я получу все книги. И чтобы это работало, мне понадобится просто написать Books.find_all. Возможно кого-то это не проняло, но я например мог только сидеть и тупо ухмыляться от смеси дикой зависти и адского восторга. Возможно я просто что-то упустил в этой жизни, возможно это где-то давно было и я просто жил в каменной пещере, ничего не зная.

Или еще одна вещь из RoR. Scaffolding. Вот вы добавили в свой веб-приложение какой-то новый класс. Хотя бы тот же Book. Вам еще предстоит сделать чтобы книги можно было редактировать, сохранять, отображать, покупать, отправлять и так далее. Много чего. А теперь вы берете и пишете одну строку, которая включает "леса" для работы вашими книгами. Теперь вы получаете 1) страницу, на которой вы видите список всех ваших книг, откуда вы можете вызвать 2) страницу для просмотра и редактирования каждого объекта 3) страницу для создания новых экземпляров. То есть вы уже можете оперировать через веб-интерфейс своего приложения с объектами, которые только что ввели. И это - одной строчкой.

И в довершение - вы можете считанными строчками добавлять себе на страницы разнообразную сложную AJAX-функциональность... не написав ни одной строки JavaScript'а. Он останется за кадром. Хотите обновить фрагмент страницы - пожалуйста. Сделать, чтобы при введении в данных в поле с сервера запрашивались подходящие варианты по набранной части - без проблем. И так далее.

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

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


Замечание: в приведенном тексте фактически нет конкретных примеров. Объясняю почему - я еще не писал на Ruby, я только взглянул на него и не хочу кидаться примерами с ошибками. Всё будет, но потом.
3 Comments | Post A Comment | Поделиться | Ссылка



Tracer
Date: 2007-03-21 17:09
Subject: HandyCache
Security: Public
Music:Chris Vrenna - The Funhouse
Tags:recommended, software
Я уже давно пытался найти какой-нибудь нормальный кэш для инета (точнее для http). Потому как довольно неприятно осознавать, что когда я просматриваю сайт в одном браузере (в FireFox'е например), а потом открываю его в другом (например в Maxton'е) - весь контент качается заново. Особенно неприятно, что заново качюются все изображения, swf, flv, mp3 и другие тяжеловесные файлы. Да и вообще, в IE свой кэш работает довольно отвратительно. И, что главное, ни в одном браузере я не нашел возможности 1) определить, что кэшировать, а что - нет; 2) нормально просмотреть содержимое кэша.

Итак, к вашему вниманию миниатюрный кэширующий прокси HandyCache.
Сайт программы: http://handycache.ru/

Что нам дает установка и использование этой утилиты?
  1. Общий эффективный кэш на все браузеры
  2. Настраиваемый кэш (самый богатый набор настроек для кэша http из тех, что мне попадались)
  3. Сохранение всего контента с разбиением разбиением на директории и папки. Хочу заметить, что превосходно сохраняются flv и mp3 файлы, воспроизводимые плеерами на страницах, которые и из браузера обычно не так уж просто сохранить. Фактически вы получаете у себя оффлайновую копию практически всего, что вы посещали в инэте.
Также хочу добавить, что при настройках по-умолчанию кэш работает весьма и весьма эффективно: у меня экономия трафика держится на уровне 25-30% + базовые настройки Черного списка убивают где-то 90% всей рекламы (дополнительная экономия трафика).

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

PS: Программа совершенно бесплатна (трафик, потраченный на скачивание, окупится менее чем за день)
3 Comments | Post A Comment | Поделиться | Ссылка






browse
my journal
Февраль 2008