Шпаргалко Сумасшедшего ПрограммЁра Waiting of summer

2Май/120

Установка Debian. Way of perverts.

Шалом тебе, торагой читатель.

Нашёл я таки дома рабочий и ненужный IDE винт на 80 ГБ. И так как давно хотел дома иметь десктопный линукс, то занялся на выходных его установкой. И всё бы ничего, но у меня всего один IDE канал, на нём висит довольно древний DVD привод, и хард с ним на одном шлейфе никак не захотел работать. Возможно дело в кривости моих рук, возможно они не понравились друг другу. Не проблема! Сказал я себе, и запилил загрузочную флешку с образом netinstall.

Перезагружаемся. И инсталлятор говорит мне: "Хуй тебе, добрый человек, без CD-ROM я работать не буду". Дословно это звучало примерно так: "Определение привода CD-ROM". Естественно, debian-овский установщик привод не находил, предлагал поставить драйверы и прочую ересь. Порылся в интернетах - кто как проблему решает, что-то там говорят насчёт iso-образа на флешке, прочей херни... В общем, всё это требует плясок с бубном и заячъей лапкой, с завыванием каких-нить пингвинячьих молебнов. Что, сука, характерно, до того все иные дистрибутивы с задачей установки с флешки справлялись. Убунта (которая мне лично по разным мотивам не нравится), OpenSUSE, etc...



Если с дерева ты слез подпишись на RSS!

10Апр/120

Сравнительно честный способ.

Остап Бендер (Миронов)

Остап Бендер (Миронов)

Радует лента.ру, как обычно. Своей свеженькой статьёй они напомнили мне подзабытые творения Ильфа и Петрова, а конкретнее Остапа Сулеймана Берта-Мария Бендер Бея, турецкоподданного, знавшего аж целых "четыреста способов сравнительно честного отъёма денег". Впрочем, российские силовые и правительственные организации, на мой взгляд, вполне могут потягаться с Великим Комбинатором. На этот раз, если вкратце, придуман довольно забавный способ выудить некоторое количество бабла из бюджета. Способ, безусловно, направлен на повышение благосостояния общества, защиту гражданина и обеспечение его безопасности от мерзких интернет-злодеев. Это, можно даже не сомневаться, инновационное решение в рамках политического и промышленного курса, намеченного солнцеликим.

Смысл этого решения в том, чтобы придумать картинку. Да-да, картинку. Эдакий значок "безопасного интернет-ресурса", который будет сообщать пользователю - таки да, этот сайт кошерен и безопасен. Его можно даже употреблять в шабат. Затем, надо сформировать комиссию из специально обученных людей, которые будут лазить по порносайтам интернету, и оценивать ресурсы: этот, так сказать, кавай, а этот бяка, и его надо низвергнуть в самый адЪ. И вот тем, которые кавай, будут предлагать установить у себя бесплатный баннер значок, мол, сайт безопасен, и рекомендован к употреблению.

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



Обновленье RSS вызывает интерес!

16Янв/120

Выкат проектов с помощью Apache ANT

Шалом тебе, дражайший читатель.

В этом посте речь пойдёт о вещах сугубо технических, и мало кому интересных. Однако, довольно насущных в сфере разработки всяческого программного обеспечения. Имеется ввиду автоматизированный "выкат" (ну, или "сборка") какого-либо проекта, путём написания для этого скриптов развёртки. Всё ещё хотите читать?))  Ну ладно, ладно.

Так вот, о чем это я. Систем выката, как известно, существует великое множество - например самой распространённой в *nix мире является make - по крайней мере если не брать красноглазиков из мира gentoo. Как вариант некоторые рассматривают cmake. Возможно довольно неплохие вещи, но скажем перенос их на другую платформу как правило означает переписывание всех скриптов заново. Да и синтаксис их написания практически один в один напоминает unix-shell, который я лично стараюсь использовать по минимуму. Ужасен он, ИМХО, что бы по этому не думали труЪ-адепты секты линуксоидов, хотя надо признать, что он предоставляет широкие возможности.

Так вот, есть более-менее нормальная такая альтернатива. Называется она Apache Ant, и в принципе с задачей она справиться вполне способна. Единственный её минус - очень мало информации на русском языке. Но для начала, давайте подумаем - зачем вообще может понадобиться делать лишнюю работу, и писать ещё какие-то билд-скрипты, ант устанавливать, и вообще, фигнёй страдать?



Магдалина охуела: "Чудо! Чудо! Ты воскрес!"
Он протягивая руки: Подпишись на RSS!

Метки записи: , , , Читать полностью
15Ноя/112

jQuery в массы

Логотип jQuery

Логотип jQuery

Шалом тебе, дражайший читатель.

Вот сейчас залез на сайт translate.ru запиленный небезызвестной компанией PROMT - если кто не в курсе, это онлайн-переводчик. И обратил внимание, что там чуть ли не половина интерфейса сделана на jQuery: всплывающие окошки, например, виртуальная клавиатура, и так далее. Что и говорить, этот замечательный продукт за несколько последних лет изменил картину разработки AJAX-приложений. Раньше все интерфейсы как правило писались "с нуля". Фреймворки, конечно, были, но писать много всё равно приходилось. jQuery, слоган которой "Write less, do more" (пишите меньше, делайте больше) облегчил жизнь веб-программистам. Жаль, что есть ещё некоторые дремучие коллеги (от сотрудничества с которыми я кстати избавился уже довольно давно, к счастью), не приемлют фреймворки, и предпочитают делать всё по-старинке. Руками. С нуля. Это грустно, и напоминает изобретение велосипедов. В jQuery многие вещи делаются одной-двумя строчками, просто потому что это уже реализовано за вас. К примеру исчезающий и появляющийся слой делается примерно так:

$('#div_id').toggle('slow');

И это всё. Примерно такой же по объёму размер кода для отправки ajax-запроса на сервер (ну немного больше, хорошо). Я помню, на старой работе была громоздкая функция ajax_request(), которую написал как раз наш доблестный дремучий коллега. И использовать надо было именно её. Мотивация была смешная: "а зачем нам лишние 80 кб кода подгружаемого?!". При том, что размер страницы был в районе 500 кб - 1 мб, и генерация её на отладочных машинах занимала секунд 7 (кэша тоже не было). Как я уже говорил, я к счастью избавился от той работы, но контраст с текущей, где оптимизация и скорость разработки стоят на первом месте - это выглядит дикостью. Где я сейчас работаю, например, jQuery активно используется в новых проектах.

Не изобретайте велосипедов, дорогие коллеги - в 99% случаев вам не требуется заковыристая реализация этого двухколёсного средства передвижения. Живите в гармонии и балансе - между качеством, скоростью, и количеством вложенного труда. И на выходе вы получите замечательные продукты.

В заключение несколько ссылок по теме:

Собственно, сайт самой библиотеки jQuery.

И довольно качественный мануал, живущий в Израильском домене - я им постоянно пользуюсь сам.



Не ожидай от жизни чудес. Лучше друг читай RSS.

Метки записи: , , , 2 Комментарии
14Окт/110

Google Developer Day 2011 в Москве

Логотип Google у входа на конференцию

Логотип Google у входа на конференцию

Шалом тебе, дражайший читатель.

Вот буквально в понедельник прошёл Google Developer Day 2011, который я и имел удовольствие посетить. В целом доставило. Кто не в курсе - GDD - это конференция программистов, менеджеров, всяческих айтишников и предпринимателей, которую компания Google проводит ежегодно. Ну и на конференции всяческие иностранные докладчики читают всяческие доклады на английском языке, по поводу того нового, доброго и светлого, что гугль приносит в наш мир. Ну да по порядку.

Начинается всё это удовольствие в 9 утра, в крокус-экспо, станция метро "Мякининская". Ветка до безобразия длинная, и скушная - особенно если не взять с собой никакого чтива. Понемногу выходят-заходят люди. Под конец вагон становится полупустым, и начинают выкристаллизовываться гики, едущие туда же, куда и ты: у того ноутбук, у другого - майка с прошлого года осталась, у третьего - рюкзак с логотипом GDD, четвёртый уже разжился томиком, в который без труда могла бы уместиться вся "война и мир" Льва Николаевича (неиллюзорная мудотень, на мой вкус) - только в томике описывается что-то заумно-техническое. В общем, градус интеллектуальности на подъезде к мякининской всё повышался и повышался, обратно пропорционально внешним данным едущих - впрочем дорогие гики не обижайтесь, я такой же :)) Никогда раньше не был на этой станции - впечатлила размерами и открытым контактным рельсом (ибо всё сделано наоборот, и двери справа, по ходу движения. По моему скромному садистскому мнению слева, где нет платформы, было бы лучше).



Хочешь скоротать досуг? RSS читай, мой друг!

6Окт/112

Умер Стив Джобс

Скриншот главной страницы apple.com

Скриншот главной страницы apple.com

Сегодня утром увидел эту новость.

Вообще, я никогда не пользовался продуктами фирмы Apple - да, я признаю их удобство, красоту дизайна, то количество интеллекта, которое вложили менеджеры, инженеры, дизайнеры, электронщики... Да и по деньгам я не сказал бы, что их продукты были слишком дороги - просто не моё, как минимум пока. Тем не менее Apple действительно всегда имела имидж компании "на переднем краю технологии", компании-новатора. И не последнюю роль в создании этого имиджа играл Стив Джобс. По сути весь этот имидж был создан одним человеком - поистине iКоной мира технологий.

Но опять же, это всё не имеет такого значения как характер. Что такое технологии без того, кто сможет их продать? Да ничто - электронный мусор. Я знаю множество людей, которые испытывают какую-то иррациональную ненависть к продуктам Apple, к методам их работы, к Джобсу лично... И знаете что удивительно - как правило это патологические неудачники, неспособные сами сделать что-либо даже отдалённо напоминающие то, что он делал, как он жил. Именно за стиль мышления, жизни, ведения бизнеса - я лично уважаю этого человека. Джобс показал, как надо работать, мыслить, жить, чтобы оставить свой след в истории - не считаясь с помехами - как с людьми, так и с объективными трудностями.

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

Good night, Steve.



Чтобы девушка стонала - подпишись на фид канала!

2Окт/1114

I2P Multihoming – или один сайт на разных серверах.

Репликация. Фото с сайта clusterdb.com

Репликация. Фото с сайта clusterdb.com

Шалом тебе, дражайший читатель.

Я думаю, настало время поговорить о такой любопытной вещи, как i2p-multihoming, иначе говоря, возможности хостить один и тот же сайт на разных (физически разных) компьютерах. Поясню что я имею ввиду. Допустим, у вас есть некий сайт - скажем rus.i2p (условно) :) и он хостится на каком-нибудь старом системнике на кухне. Понятное дело, что подобная система абсолютно ненадёжна. Отключили электрики свет - всё, накрылся ваш сайт. Отключил провайдер интернет (скажем, авария у него на линии) - сервер недоступен. Куча различных причин! Опять же - пришли к вам какие-нибудь злые пидорасы, и изъяли из вашей квартиры системный блок - ну украли, допустим. И всё, все ваши (а возможно и не только ваши) труды - пошли прахом, владыка, блокаду надо снять. Как иэтого избежать? Нет, самый простой способ - это полное бэкапирование на удалённый сервер - делаете раз в сутки архив, а потом отправляете его туда, не знаю куда. Однако от выключения сервера до развёртки рабочей копии кем-либо на удалённой машине - времени может пройти уйма. Надо думать о чем-то другом.



Не ожидай от жизни чудес. Лучше друг читай RSS.

29Сен/112

Резка строк в UTF-8 в PHP

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

Если у вас есть расширение php_mbstring - нет проблем, там есть функция mb_substr, которая корректно обрабатывает юникод. А вот если нету (скажем, на высоконагруженных проектах интерпретатор PHP как правило максимально облегчён - без всяких лишних расширений) то уже сложнее. Однако, выход есть - не обязательно резать по буквам, можно резать по словам. Этот метод я случайно обнаружил в одном из рабочих проектов и просто поразился простоте и эффективности решения такой уже тривиальной задачи. Собственно, сабж:

$arr = explode(' ', $text);
$arr = array_slice($arr, 50);
$text = implode(' ', $arr[0]).'...';
unset($arr);

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



Хочешь скоротать досуг? RSS читай, мой друг!

14Сен/110

Das ist Schroedinbug

Господин Шрёдингер. Возможно убийца котов и трололольщик программиздов

Господин Шрёдингер. Возможно убийца котов и трололольщик программиздов

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

Я живу в Париже как денди
Женщин имею до ста
И мой хуй, как сюжет в легенде
Переходит из уст в уста.

Гарики, правда, владимир владимирович не писал, то больше к Губерману, однако же... Вообще конечно прикольно оно - чем больше мы наблюдаем за системой, тем меньше она показывает нам свои интимные подробности, ага. Как опять же рассказывают старожилы - когда в первый раз всё сломалось, понаставили логгировщиков, ввели анальный досмотр, и вообще, усложнили жизнь серверу. Результат не заставил себя долго ждать - в течении месяца, пока работала система логгирования, всё шло хорошо, и даже работало как надо. Скрипты показывали себя пай-мальчиками, и не устраивали вынос мозга. Однако всё волшебно изменилось, как только кому-то пришла в голову мысль забыть о багах. Что характерно, логгирование не убирали, однако в логах - пустота и треш. До сих пор ищут (ищем)...

Грустно это всё...



Коль хочешь в знаниях прогресс - подпишись на RSS!

13Сен/114

День погроммизда 2011

День программиста 2011

День программиста 2011

class Шалом_тебе_дырагой_читатель {

public function __construct() { 

echo "Тащемта, сегодня уже второй год отмечается день программиста, который ныне даже официальный празднег. В общем, 13-е сентября объявляется ежегодным концом света, так как программы работать не будут, компьютеры загружаться перестанут, в магазинах вам ничего продавать не будут, а в памяти начнутся провалы из-за нарушения адресации и повреждения некоторых сегментов. Это будет происходить в силу тотального и всеобщего запоя программистов, которые решат забить на всё и праздновать, праздновать, праздновать!!! К программиздам присоединятся танкисты, которые дружно направят пушки прямо по кремлю, и тоже так сказать отметят свой профессиональный празднег, а заодно устроят оный всем гражданам этой страны.";

echo "Но всё это разумеется шутка, ведь погроммисты люди ответственные, своих пользователей на произвол судьбы не бросают, и только иногда забывают о них на месяц или два. Потому то и надо программистов любить, всячески задабривать, и почаще напоминать о своём существовании, путём приношения разнообразных водок, пива, всяческих других вкусняков (тащемта, если раздобудете какое-нибудь крымское вино, например, мускат розовый, например, производства фирмы "Массандра", то персонально я например весьма буду благосклонен и в дичайше атличном настроении).";

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

}

}



Даже последний из недотёп всегда RSS читает взахлёб!

Страница 1 из 1312345...10...Последняя »