Архив рубрики «заметки»

Чётко и по делу.

21.07.2010

Слова чётко и по делу часто звучат как оскорбление. Мама до сих пор обижается на фразу «говори по делу» – дела-то никакого нет, просто есть желание отнять немного моего времени. Инстинкт.

На любой вопрос всегда желание ответить мягко и уклончиво. Не как профессиональные болтологи политики, но в таком же стиле.

Однако жизнь подтверждает, что прямые вопросы и ответы выгоднее. Особенно насчёт денег. Например, есть заказчик с проектом на Zend Framework. Одни из лучших моих переговоров, если б не один пункт – отсутствие суммы. Но она оказалась вполне адекватной.

Дата – восьмое число. Зелёным – мой текст.

Датой началы работы будем считать сегодняшний день. Т.к. по сути и вчера, и сегодня, и завтра загрузка не полная будет. А первый расчет я планирую через неделю, на середину-конец недели (21/24)
Хотя возможно, 17-го и 31-го расчет сделаем, чтобы в следующем месяце тоже в середине и конце месяца могли нормально расчитаться. Но это уточнить смогу наверняка только к концу следующей недели

По поводу дата начала – хорошо, думаю это справедливо.
По авансу – это не очень хороший вариант. Аванс показывает серьёзность намерений.

Понял вас. По авансу тогда рассмотрим вариант перевода в начале следующей недели (пн-вт)

Понедельник меня вполне устроит, но давайте тогда договоримся, что не «рассмотрим», а что это именно дата аванса. Хорошо? Или вам нужно время что бы решить?

Нет, нормально

Инстинкты.

13.06.2010

Я понял, почему одни люди говорят другим, что делать. Понял с другой стороны.

Это инстинкт. Головы практически всех пусты и если в твоей голове есть хоть что-то, жизненно необходимо для выживания племени, что бы ты сказал это остальным. Пришло тебе в голову, что надо идти охотиться, говори всем. Если у всех пусто, эта мысль займёт мозг и все пойдут. Ну а в случае двух мыслителей одновременно, всё определяется рангом. Глубина мысли не важна, важно наличие.

А постоянно поучающие друг-друга интеллегенты – это просто баг. Когда омега говорит что-то, альфа даёт ему подзатыльник, что бы так больше не делал, а если мысль здравая – присваивает. А сейчас просто некому раздавать подзатыльники – племя разобщено, иерархия не строгая.

Собрался сейчас поработать – в голове пусто. Да, можно напрячься и придумать, что сделать, но пока не напрягся – пусто. Может раньше на автомате напрягался, а может роились мусорные мысли постоянно, а сейчас не так уже. Может просветление приближается. А может – симптом деградации мозга, которая начинается примерно в моём возрасте. Всё новое надо делать молодым.

JAVA.

30.05.2010

Сегодня я расскажу вам про яву. Это такие сигареты. Это такой динозавр. Наверное думаете, что они давно вымерли? Это устаревшие данные. По новейшим данным, известным ведущим палеонтологам, до наших времён сохранилось как минимум два вида этих удивительнейших животных. Архитектура x86 и язык Java (COBOL – это не динозавр, это протоплазма). Оба вида сформировались в древнейшие времена и благодаря естественному внутривидовому отбору научились выживать практически в любых условиях. Одни атомы в нетбуках чего стоят.

Впрочем, наша сегодняшняя тема – JAVA. Боевой клич этого животного – «write once, run anywhere». Неудачный клич, ибо практически никто его повторить не может, при попытке его произнести получается «write once, test anywhere». И это неспроста. Богатый и обширный набор правил безопастности, различающихся в зависимости от платформы и способа запуска кода превращает тестирование из правила хорошего тона в жизненную необходимость, без которой можно запросто умереть от от какой-нибудь IO.error.

Рассмотрим несколько подвидов, объединённых общим ареалом обитания – java for web. Информация об этих подвидах не систематизирована, разрознена, зачастую старая, как сами динозавры. Впрочем, это увеличивает ценность специалистов по изучению Java – джаво’логов.

Самый известный вид – java applet – является и самым старым. Приживается хорошо, но плохо обучается новым трюкам. Потому считается на данный момент вымирающим. Если, например, захочется обучить его медиа-штучкам (звук, видео), то первое, что вы найдёте – JMF. Но принюхайтесь внимательнее, что это? Нафталин? Вряд ли, он практически весь выветрился с 1999 года, которым датирован мануал по JMF. Если заглянуть в зазеркалье, можно там найти FMJ. Здесь нафталином пахнет намного сильнее – всего-то три года консервации. JMC – ещё одна забавная аббревиатура, которую можно выучить для того, что бы поддержать разговор в приличном обществе (если общество, в котором разговаривают о веб-подвидах java, можно назвать приличным).

Теперь про JavaWS. Нет, это не ещё одна жалкая попытка научить животное работать с видео. Это ещё одно животное. Java Web Start. Самое первое внешнее отличие, которое бросится вам в глаза – это особый метод деплоя. Конечно, вам необходимо знать, что такое деплой, что бы увидеть всю прелесть JNLP.

Подвид JavaFX. Многими исследователями выделяется в отдельный вид, JavaFX Script. Значительно более молодой, а потому более прыткий, чем предыдущие два. Унаследовал от JavaWS сакральное отношение к процессу деплоя (процесс, чем-то сходный с размножением). Характеризуется повышенной способностью обучения всяким современным фокусам (которая, впрочем, всё равно невысока – научить можно, но врожденных инстинктов, помогающих в этом, немного). А так же – плохой выживаемостью в диких условиях. Для своего питания требует специального корма JavaFX Desktop Runtime. Корм этот доставляется по первому требованию в места обитания JavaFX абсолютно бесплатно, однако не каждый, кто хотел бы приютить на время у себя зверька, согласен завозить и специальный корм. Потому ареол обитания JavaFX намного меньше, чем у Java Applet или JavaWS (для них корм уже есть в 70% домов, его завозят при строительстве).

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

Забавно то, что детям об обряде не говорят – их просто не пускают в места для взрослых, без объяснения причин. Есть гипотеза, что это часть обряда – только тот код, что сам изъявил желание стать взрослым, достоин стать таковым. Кстати, у разных подвидов обряды практически не различаются, а вот строгость ограничения детей, не прошедших обряд – разнится. Например, детские особи JavaWS иногда могут получать доступ к локальным ресурсам, чего детям Applet не дозволяется никогда.

Это была передача «Забавная IT-Биология», с вами её бессменный ведущий, Secret. Увидимся в следующем выпуске!

Думаю.

16.04.2010

Смотрел серию Хауса про девушку-блоггера. Много думал.

Смотрел День Триффидов. Отличную идею экранизируют уже третий раз. Не смотрел первые два варианта, но третья попытка не удалась. Чуть-чуть надо было. Плевать на игру актёров, плевать на декорации, просто сценариста на неделю на улицу выгнать, что б жизненного опыта набрался. И всё было бы отлично.

Смотрел Скалолаза. Эх, снимали ж боевики. Сейчас больше сопли какие-то.

Вроде б определился с дальнейшей жизнью.

Освоение бюджета.

06.04.2010

Была такая отличная штука в советское время – освоение бюджета. И выделенный бюджет нужно было всенепременно освоить, иначе на следующий год уже столько не выделят – урежут. Например, в строительстве самый быстрый способ освоить бюджет – это поставить коробку дома. Особенно, если не из кирпича, а из панелей. Для внутренней отделки нужно штукатуров искать, электриков, сантехников, а расходы? Все расходы на трубы, да штукатурку с проводами. Быстро деньги не потратишь. А на панели – легко. И в отчёте хорошо выглядит – запустили в строй ещё N многоквартирных домов.

Второй постоянно ходит кругами и сокрушается, что мы ничего не делаем. И при этом бодро рапортует о том, что он начал новые 10 лендингов. На прямой вопрос – куда можно лить траф? – прямой ответ – У меня наполовину сделаны 8 лендингов. И при этом все понимают, что 8 лендингов по 50% никак не дадут 4-х готовых, а значит траф лить некуда.

К слову. Я, как главный Д’Артаньян, рапортую о 80%-й готовности двух сервисов для пользователей сайта, 50% готовности нового раздела, а сегодня я взялся за новую внутренюю фичу – допиливаю ресайзилку картинок. Задумка готова минимум на 30%. Представляете, как всё скоро будет замечательно?

161

Продублировать paginate symfony admin generator.

12.02.2010

Я постепенно становлюсь стойким фанатом Javascript.

В админке все обьекты выводятся постранично, штук по 20 на страницу. И под списком есть листалка, примерно такая

Во-первых, захотелось, что бы такая же листалка выводилась вверху списка. Во-вторых, что бы были стрелочки «10 страниц назад» и «10 страниц вперед».

Править код, который генерит код, рисующий админку – нельзя. При обновлении symfony придётся долго и мучительно сливать все изменения.

Поправить сгенеренный код – можно, но в админке 31 модуль, т.е. 31 такой список, в каждый из которых нужно будет перекопипастить кусок кода. Плюс, если заменить сгенеренный код своим, то потом он не будет перегенерироваться, если что-нибудь поменяешь в конфиге админки, придётся каждый раз править вручную. Тоже не вариант, вообщем.

На jquery всё это заняло 7 строчек. Времени, как обычно, до черта, больше часа, но 7 строчек – это круто. Впрочем, все и так знают, что jquery жгёт. Но я фанат не jquery, а javascript, который позволяет делать вот такое:

if ( (pagen=page+10) > (p=$(«#lastlink») .attr(«href») .split(‘/page/’))[1] ) pagen=p[1];

Не понадобился else (if (x>z) t=1 else t=z), не понадобились присвоения на отдельных строчках. Но самое жесткое вот:
x > (y=z)[1]

Мы присвоили Y массив Z, потом взяли первый элемент и сравнили с X. Зачем? Затем, что потом нулевой элемент этого массива мы позже тоже используем (иначе б можно было написать x > (y=z[1])).

Впрочем, использовать потом y[0] мне показалось некрасивым, к тому же в коде не только else не нужен, но и if абсолютно лишний и через полчаса код стал вот таким

pagen=Math.min(page+10, ([url,]=$(«#lastlink») .attr(«href») .split(‘/page/’))[1]);

[url,], это примерно [url,p], просто опустили второй параметр, т.к. он нам не понадобится больше. Впрочем, код быстро усложнился обратно, т.к. гугл-хром не понимает конструкцию типа [A,B]=Z. А очень зря. Браузеры по-взрослее (opera, firefox) её понимают. Надеюсь, хром тоже подрастёт.


page=parseInt($(".sf_admin_list .float-right span:first").text());
pagep=Math.max(1,page-10);
pagen=Math.min(page+10, (p=$(".sf_admin_list .float-right a:last").attr("href").split('/page/'))[1]);
url=p[0];
$(".sf_admin_list .float-right a:first").after("<a href=\"" + url +"/page/" + pagep + "\"><img align=\"absmiddle\" src=\"/images/admin/previous10.png\"></a>");
$(".sf_admin_list .float-right a:last").before("<a href=\"" + url +"/page/" + pagen + "\"><img align=\"absmiddle\" src=\"/images/admin/next10.png\"></a>");
$(".sf_admin_list thead:first").prepend($(".sf_admin_list tfoot:first").html() + '<tr><td colspan="9"></td></tr>');

173

Инсайдер.

12.02.2010

Неделю-две назад.

Захожу на кухню, Trash спрашивает у второго – «а ты что думаешь по поводу инсайдера?». Первый – «нет, ты лучше у Секрета спроси».
1 – Что ты думаешь по поводу того, что пишет инсайдер?
S – А о чем он пишет? Какая тематика?
1 – О, обо всем.
S – Очередной всесторонний профессионал?
T – О жизни, откуда мы и куда уйдём.
S – Это далеко не обо всем. Кому это вообще интересно?

На том разговор и закончили. Кто такой этот инсайдер и что он там пишет я до сих пор не знаю. Врожденное любопытство у меня имеется, но жалко тратить время на ерунду – вопрос «о жизни» давно решен, ответ на него известен (мне, про мою жизнь, про ваши спрашивайте у себя сами). Есть куча частных «белых пятен» в текущей картине мира, но прояснение большей части из них достаточно бессмысленно.

Сегодня.

Новенький:
- Она так всё обставила, что смерть для него была самым легким выходом.

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

Стандарты.

12.02.2010

Все течет, всё меняется. Однако есть люди, которые этого не видят. И не важно, какая скорость этих изменений, даже если мир будет переворачиваться с ног на голову раз в неделю, будут люди, которые будут считать, что происходившее в понедельник было стандартом. Ещё и приводить доводы в стиле – «во вторник и среду было так же, значит и завтра так же будет».

Особенно смешно это выглядит в контексте холивара «Windows vs Linux». Мол, везде всегда стояла винда, потому ни одному разумному человеку тратить время на Linux не стоит.

Смешно потому что не только не «всегда», даже какое-то продолжительное время винда нигде не стояла. Винда вообще существует всего 20 лет, за это время на куче предприятий и школ даже директора не поменялись.

Разумеется, в IT огромное количество людей, для которых 20 лет – много больше их сознательной жизни. Однако они могут вспомнить время без сотовых телефонов или, скажем, без быстрого интернета (или вообще без интернета). Как можно считать интернет стандартом, если хоть сколько-нибудь значимое количество людей про него знает от силы лет 10? К примеру. Завтра производители начнут выпускать модули wifi, работающие сразу на двух частотах (что бы подсоединяться сразу к двум ближайшим точкам), а послезавтра про интернет будут знать только олдфаги, т.к. все будут сидеть во фринете без каких-либо провайдеров, а сеть будет одноранговой (p2p). Невозможно? Для тех, для кого интернет существовал всю их сознательную жизнь – да. Так же невозможно, как невозможно продать больше «5 компьютеров» или телефон, т.к. «за 5 центов всегда можно отправить паренька сбегать на телеграф». Полагаю, примеры мной притянуты за уши, но общая схема проста – у кого в этой жизни всё устаканилось, всегда будут консерваторами, вот только обращать на них внимание не стоит.

Это всё не довод в пользу Linux. Это довод против доводов в стиле «а у тёти Клаши и у сантехника Вовы винда стоит, потому и нам всем надо пользоваться виндой, ведь это же отраслевой стандарт! И детей учить тоже надо винде, ведь позавчера пользовались виндой, значит и через 10 лет, когда нынешние шестикласники закончат университеты, все будут пользоваться виндой».

P.S. Мне абсолютно похуй, кто какой осью пользуется.

174

Elfen Lied

28.01.2010

12 серия так забавно заканчивается.
- Держись меня, я всё расскажу.

Как будто больше не будет бессмысленных действий и бесполезных решений и начнется боевик. Светлый приключенческий боевик. По факту же он не начнется. К сожалению.

183

Расслабься и живи.

26.01.2010

Есть такая старая досовская игра – поле чудес. Там ещё в качестве соперников есть пятачок, винни пух и прочие.
Когда-то, когда компьютеры были большими, а город вокруг меня – маленький, приехали к нам дедушка с бабушкой в гости.
И дед говорит, ну, показывай, что у вас там на этих компьютерах есть. И я показал ему и отцу эту игру.

И что-то пошло не так. Кто-то с кем-то не согласился по части правил или стратегии поведения. Что сделал дед? Сказал, пойду-ка я ещё стопочку выпью и ушел. Взбесило меня это жутко. Из-за каких-то разногласий уходить от такой замечательной игры. И, понятное дело, до сих пор не придумал, какую бы дед мог принять стратегию поведения, что б я остался доволен. Остался бы – были б разногласия между нами троими, ушел – обида на него.

Играли сейчас в покер. Первый неверно раздал – не на себе закончил раздачу. Я ему об этом сказал и, соответственно забрал карты, которые лежали перед ним. Моё ожидание было простое – он возьмет карты у Второго, Второй у Trash и мы продолжим играть. Первый же взорвался. Как так, это мои карты. Второй тоже решил, что Первый неверно раздал и тоже решил взять другие карты (почему-то мои, которые теперь лежали перед Первым). Первый взъерепенился на Второго, но решил забить – взять его карты, однако Второй сказал, что поглядел их. Мои ожидания не оправдались, партию мы не продолжили. Trash поддержала Первого, Первый начал мне высказывать, что я не прав и начал какую-то хуйню. Я конечно, в шоке, вместо того, что бы подвинуть карты или перераздать, начать говорить кто был прав, а кто нет.

Произошло это все быстро, минута, не больше. После этого Первый собрал карты и перераздал, но он и Trash высказали мне ещё разочек. Я слил оставшиеся 40 рублей и вышел из игры. Однако дед мне не вспомнился. Потому через 10 минут я пришел в игру обратно. В первой партии вышло непонимание по поводу суммы, которую поставил Первый (решили, что он поднял, а он уровнял просто). Предотвращаются такие проблемы просто – кто сколько поставил – стоит около него, а не в общей куче, так что всегда видно, потому в следующей партии я свой блайн поставил около себя. Выслушал от Trash, что я «опять начинаю». Попросил всех относиться к жизни проще, сбросил карты и вышел из игры.

Не думаю, что была возможна стратегия для меня, что бы не оставить обид. В игру возвращаться не стоило, но Trash бы в любом случае кричала и ругалась, Первый в любом случае был бы в своей яростной обиде. Он считает себя слишком крутым, что бы обидеться, но выказывать неудовольствие, когда что-то идет не так, как ему хочется он зазорным не считает.

Не то, что бы мне не похуй, остались обиды или нет – за своими эмоциями стоит последить тем, кто начинает раздражаться или кричать, но при прочих равных интересно потренироваться в социальных взаимодействиях.