Впечатления от less и twitter bootstrap

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

В свое время я уже пробовал, так называемые "решения проблемы" в виде CSS-фреймворков. Тысячи их, любого верстальщика ночью разбуди, он назовет всякие "960", "Blueprint", даже если не пробовал ни один. Как любая стильная модная вещь, они широко обсуждаются сообществом и у кого-то даже получалось что-то готовое на них сделать. У меня нет. Ни у кого, кого я знаю, тоже. Но пока не будем.

Twitter Bootstrap

Недавний релиз Twitter Bootstrap 2.0 снова всколыхнул ОйТи-ресурсы, да даже так-то сильнее обычного. Даже мой любимый дизайнер и арт-директор Артурчик, который до CSS-градиентов-то до сих пор боится и до сих пор иногда требует скругленные уголки верстать картинками, начал расспрашивать меня юзал ли я его уже. В любой другой момент я бы даже не задумался, но тут на носу как раз был очередной экспериментальный проект, который я делал полностью сам и, конечно же, не имел дизайна. Так и решил попробовать.

Сразу все кажется очень неплохо. За исключением некоторых моментов, почти что МАГИЯ. Сделал div class="smth" и стал он крутой кнопочкой с градиентами и ховерами. Так и должно быть в любом css-фреймворке, первый тест пройден. С навигацией чуть сложнее, там уже "для совместимости с IE 6-7" сделаны inner-блоки и МАГИЯ немного теряется, но тоже терпимо. 12-колоночная сетка есть, модная "940-пиксельная" верстка есть, responsive design (не смог вспомнить как это по-русски) есть. Буквально за пару строчек кода простая домохозяйка может сверстать свой твиттер. Ну не чудо ли?

Далее »

Продолжение начавшейся у меня в твиттере, и продолженной с помощью werehuman анонимусами на psto шутки про то, если бы программисты строили дома.

- О, так ты строитель. Построй мне дом, ты же умеешь. Ну по мы же с тобой давно знакомы. В смысле какой? Чо дома ни разу не видел? Ты же строитель, вон сколько домов построил, я видел. Только у меня денег щас нет, давай ты мне построишь, а я тебе потом отдам. Какие еще стройматериалы? Ты же строитель, ты и купи. Делай все как правильно! Поиграй с кладкой стен. Не, что-то красный кирпич не очень. Мы с женой подумали и решили делать белым, разбирай. Фундамент? Так все вон на землю ставят, что за херню ты мне впариваешь? Я что лох что ли? У меня сосед строитель! Я знаю!

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

А можно еще вот здесь чтобы дверь была на улицу? Ну и что, что третий этаж, сделай!

БЛЯДЬ, У МЕНЯ БРАТ ИЗ НЕЕ ВЫПАЛ И УМЕР! Что за хуйню ты мне сделал? Ты что, вообще дурак? Ладно, поставь туда балкон. Какие еще деньги, вон ты же недавно дом строил, давай возьмем балкон оттуда.

Далее »

Алгоритм A* на Java

Как я давно ругал себя, что вроде называю себя программистом, а не знаю даже такого известного алгоритма. Все ждал, что его расскажут в универе, сначала на дискретке, потом на сиаоде, но время идет, третий курс уже в самом разгаре, а рассказывать о нем никто желанием не горит. На ПМИ поди уже давно все выучили, а у нас все ждут.

A* или A Star, как там его называют, один из тех алгоритмов, которые я по незнанию отношу к разряду «волшебных». Потому что вроде бы просто набор правил, простые итерации с подсчетом почти ничего не значащих коэффициентов, а получается красиво. А если еще поиграть шрифтами параметрами, то иногда даже смешно получается. Ну а так же это самый известный и, в зависимости от реализации, быстрый поиск пути, потому что работает за логарифм. Его модификации используются практически везде, начиная от навигаторов и кончая играми (самая широкая сфера его применения). Именно благодаря последним мы получили так много его модификаций и улучшений, потому что именно в играх, где нужно после единственного клика школьника, проябывающего пары перед монитором, просчитать путь сотен юнитов и послать их по правильной траектории, разработчики и стараются применять самые совершенные методы его оптимизации. Я читал интервью по этому поводу с программистом Age of Empires и Starcraft, очень много интересного рассказывают.

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

Коротко + код »

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

г. Сочные Луки

"31" февраля 2011 г.

Молодая, динамично развивающаяся копания «Сызрань inc.» в лице главного исполнительного заместителя экс-президента по влажной уборке Бориса Борисовича Конь, действующего на основании Устава, именуемая в дальнейшем «Заказчик», «Тот поцан», «Как его там, ну этот деревенский», с одной стороны, и г-н Фрилансер Валерий Анфисович, именуемый в дальнейшем «Подрядчик», «Лентяй», «Наш Компьютерщик», с другой стороны, руководствуясь Трудовым кодексом Российской Федерации, заключили настоящий договор о нижеследующем:

1. Предмет договора

1.1. Подрядчик обязуется как можно скорее согласиться выполнить по заданию Заказчика халтурку, указанную в пункте 1.2 настоящего договора, сдать ее на половину Заказчику и свалить нахуй, а Заказчик обязуется принять результат работы и щедро обложить матом Подрядчика и всю его родню до 3 колена.

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

1.3. Работу Подрядчик выполняет исходя из своих скудных знаний, на своем старом компьютере, который купила мама в 8 классе, чтобы сына учился, а не играл в компьютерные игры целыми днями, блеать, сука, иди делай уроки.

1.4. Работа по наябыванию Заказчика считается выполненной после получения предоплаты и посылания нахуй Заказчика или Подрядчика противоположной стороной. Акт приема-сдачи работы, изобретенный маргиналами в прошлом веке, плохо вписывается в концепцию 3 тысячилетия, а так же в лень Подрядчика, поэтому отсутствует как факт.

1.5. Все права на созданный говносайт Заказчика, переходят к Заказчику.

1.6. Предыдущий пункт настоящего договора никто не понимает.

Далее »

О зиме, веселье и рутине

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

К чему это я? Зимнюю ночь очень хорошо проводить с друзьями за... например Heavy Rain. 6 человек, 9 часов геймплея с перерывами на перекур после каждого напряженного момента. Я не представлял, что возможно вот так вот за ночь компанией пройти игру, даже такую относительно длинную. Но нет, это же Heavy Rain. Самое эпичное интерактивное кино длиной 8 часов, это как 3 раза посмотреть Властелина Колец. Только вот от второго засыпаешь уже через час, а первый заставляет 6 человек всю ночь лежать на неудобном ковре и пялиться на 720р экшена на экране. Удивляюсь как соседи не пришли дать пиздюля за крики «бляять, от себя и вверх, бляяять, L2, Move» в 3 часа ночи. Самому проходить, конечно же, более эпично, да еще и одному дома, когда все решения принимаешь только ты, а не коллектив. Но стоит отдать должное игре, она таки не раскрыла убийцу до самого конца. Когда играешь один, можешь пропустить что-то важное для зацепки, но когда вас 6 человек, любое сказанное слово становится предметом догадок и обсуждений. Но все равно не догадались пока не показали. Эпично, круто, а потом отсыпаться до 2 часов дня. Я считаю вечеринка удалась. Редкое развлечение может увлечь столько народа заниматься одним делом до 7 утра. Даже почти без алкоголя. Второй раз наблюдать происходящее, конечно, не так интересно, но народу вроде понравилось.

Далее »

Новогодние каникулы дают ощутить себя настоящим бездельником. Сидишь целый день в этих ваших интернетах, находишь ссылки, отправляешь в licorize. А поделиться не с кем. Не, ну представьте я бужу девушку ночью СМСкой «смотри какой ахуенный фреймворк http://....». Смешно. А в бложеке написать вроде не так смешно. Вот, короче, хвастаюсь тем, что добавил в мемориз за последнее (и не очень) время. Может буду это делать время от времени, как будут накапливаться. Не ограничиваю себя какой-либо тематикой, просто сливаю все, что хоть как-то задело. Как фейсбучный Like. «Мэр повышает цены на бензин». Like! «Маньяк-патологоанатом убил 30 человек в Калифорнии». Like! Фейсбук такой милый, мимими, блять.

Учебовкусняшки

На повестке дня у нас Структуры и Алгоритмы Обработки Данных, поэтому чтобы не читать умные книжки мы как лохи смотрим видео на ютюбе по запросу «б-деревья». Дебилы же. Факультет Алгоритмов и Структур Данных, аминь.

http://slady.net/java/bt/view.php?w=1024&h=768

Эмулятор как бы B-дерева. Позволяет вставлять, удалять и искать в этом дереве, да не просто так, а еще показывая все шаги этого разврата. Собственно, кому надо сдавать это 14-го, тот поймет. Ну либо не сдаст. У меня теперь другой вопрос — чем это отличается от 2-3-4 дерева, кроме того, что это не «2-3-4», а «дохуя-дохуя-дохуя» дерево? Это мы узнаем на экзамене. Кстати, отличительной особенностью программки является, что она одновременно на Java, и одновременно не является системой учета малого бизнеса! Ну и можно разрешение выбирать в URL.

upd: ура, вот еще один с AVL, BST и RB-деревьями: http://qmatica.com/DataStructures/Trees/BST.html

upd: А вот еще визуализаторы 2-3 и других деревьев: http://rain.ifmo.ru/cat/view.php/vis/trees

http://www.sorting-algorithms.com/

Старый боян, кто не знал, тот лох. Самые мажорные и попсовые алгоритмы сортировки на одном экране. Даже просто прогнав пять раз и помедитировав на экран, можно узнать много нового, а уж вдумавшись — можно со всем разобраться. Но не все, жаль.

А теперь для пронромистов »

Идея сервиса

Помню это был 10й или 11й класс. Школоту очень любят мучать подъемом к первой паре, поэтому я участвовал в массовых баталиях «залезь в свой сраный ПАЗик» практически ежедневно, не особо спеша на пару любимого преподавателя. Я не был нападающим в этой игре поэтому выходил пораньше и просто ждал. А в это время у меня было время подумать о своих школьных проблемах. Иногда это надоедало и я начинал думать о проблемах более глобальных. Тогда у меня и родилась идея одного веб-сервиса, которую я с тех пор и не реализовал. Ну, во-первых, я тогда делал очень хуевые сайты, а, во-вторых, был занят любимым школьным занятием «как проебать побольше и получить повыше». Так и приходила эта идея время от времени, но почему-то не мог я догадаться сделать одно — взять ее и реализовать.

А пришла идея так: помню только скачал на свою старую нокию стильную и современную программу Мобильные Яндекс.Карты. Очень удивился, что она пошла и стал время от времени использовать. Так вот однажды, едя в очередной пробке, я увидел новый значок «авария» (в я.картах тогда вроде были только «авария» и «дорожные работы») в километре впереди. Поругавшись про себя, решил прочитать коммент. После чего сильно удивился, что комментарий был примерно «тут сугроб сраный навалили, так бесит, объезжайте по Никитина». Улыбнувшись от находчивости водителя, который, стоя в пробке, решил помочь другим, нарушая правила я.карт, я и придумал. Думаю не надо говорить, что слов «twitter» и «foursquare» тогда никто не знал. И мне захотелось сделать такой сервис, чтобы каждый мог комментить не высеры «братьев по разуму», а вообще все подряд. «Тут открылась дешевая булочная», «тут сегодня распродажа трусов», «отсюда очень красивый закат». «Тут разбился грузовик с мандаринами, бежим собирать» (было такое пол года назад), «в третьем окне слева девочка красивая переодевается», да даже затулинка-edition «завтра стрела поцоны обходим стороной», «тут посоны на дачу уехали, хату выносим». Естественно, главной тут будет мобильная версия. В наш век, когда у каждого есть GPS, это особенно забавно.

Кстати... »

Алгоритм поведения привидений в игре Pac-Man

Что-то давно я не занимался переводами, вот решил вспомнить как это. По просьбам на хабре решил перевести одну интересную статью: http://gameinternals.com/post/2072558330/understanding-pac-man-ghost-behavior.

Мне кажется правильным начать этот блог с темы, которая вдохновила меня в первую очередь. Не так давно я наткнулся на статью Jamey Pittman «Pac-Man Dossier», в которой приводилось очень детальное описание механики игры Pac-Man. Она показалась мне очень интересной, поэтому этот сайт — попытка собрать такую же детальную информацию об остальных играх. Но в дань уважения я все же начну с Pac-Man, а в частности, с описания алгоритма поведения привидений. Это очень интересная тема и, надеюсь, мое объяснение будет немного более понятным и доступным, чем у Джейми, потому что я сосредоточусь лишь на поведении.

Об игре:

«В то время все доступные игры были очень жестокими — игры о войне и космических захватчиках. Не было ни одной игры для всех сразу, а особенно, которые понравились бы девушкам. Я хотел придумать «комическую» игру, которой могли бы наслаждаться даже девушки»

- Toru Iwatani, создатель Pac-Man

Pac-Man — одна из знаковых видеоигр всех времен, большинство людей (даже не геймеров) по крайней мере знакомы с ней. Цель игры очень проста — игрок находится в лабиринте, наполненном «едой» (изображенной в виде точек), и ему нужно съесть их все, чтобы пройти на следующий уровень. Задачу осложняют четыре призрака, преследующих пэкмена. Если пэкмен встретится с одним из привидений, он теряет жизнь и возвращается на начало, так же как съеденные им точки. Кроме простого убегания от привидений, единственная защита пэкмена — это четыре гранулы-энерджайзера, расположенные в углах лабиринта. Если съесть одну — привидения начинают бояться и отступать в течении небольшого времени, а на ранних уровнях пэкмен может съесть кого-нибудь из них, чтобы получить бонусные очки. Съеденное привидение не удаляет его полностью, а возвращает на начальное положение, чтобы заново начать преследование. Кроме поедания точек и призраков, существует еще одна возможность получить бонусные очки — фруктики, которые появляются на каждом уровне ближе к середине лабиринта. Первый фруктик появляется, когда пэкмен съел 70 точек в лабиринте, второй — когда 170.

Далее »

Яндекс СтуДень

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

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

В общем в эту пятницу новосибирский кинотеатр Аврора посетили руководители Яндекса в количестве семи человек. Среди которых: Андрей Себрант (директор по маркетингу сервисов), Илья Сегалович (технический директор), Сергей Певцов (руководитель «антислужбы»), Дмитрий Беляев (мультимедийный поиск) и, естественно, Александр Садовский (руководитель веб-поиска), который всегда привлекает наибольшее внимание вопрошающих. Еще был Александр Ларьяновский, известный новосибирцам как Тот Кто Поднял Электронный Город. С 2008 года он уехал в Яндекс и вот приехал уже в составе этой компании к нам (директор по региональному развитию, кстати).

В общем по порядку: 10 утра, Аврора, на другой стороне проспекта Маркса стоит несколько автобусов с делегациями из Томска, Барнаула, Бердска. Кстати, автобусы были бесплатные. Эх, вот я бы так скатался за 300 км в другой город. Странноватым было отсутствие пробок что на мосту, что на маркса, хотя казалось бы — будний день, утро. Но все равно я приехал почти ровно в 10 и там уже была куча народу. Пробиваемся сквозь толпу, получаем ахуенный двусторонний бейджик со своим именем и логотипами Яндекса и пакет. В пакете нас ждет фирменная майка, блокнот с классными «клеточками», ручку, с фонариком, который светит логотипом Яндекса и головоломку (если это можно так назвать). Забавно, что несмотря на большую толпу, я простоял там минут 3-5. Все сделано быстро, разве что не с первого раза определишь где фамилии на твою букву. Отойдя от регистрации, можно заметить, что для самых голодных уже сделан столик со сладостями: печеньками, конфетами, вафлями, фруктами и кофе. Легкий завтрак это ок, но я по утрам не ем. Возвращаемся на крыльцо авроры, общаемся с друзьями, достаем фотоаппарат. Очень понравился большой плакат «Яндекс СтуДень» на всю Аврору. И куда их девают, когда снимают? :(

Пара фоток »

ASUS RT-N13U или очередное разочарование

Тут в жуйке мне намекнули, что у меня хуевая аура. А ведь правда, сами посудите. Вспомним некоторые покупки за последние пару лет: монитор, acer, дешевка за 12К, хорош только тем, что 24", ну и цвета вроде настроились нормально (а вот контраст не очень). Плох тем, что гудит, мигает автоподстройкой, сильно яркий. Был бы я привередлив - выкинул бы. Но сошлемся на то, что продешевил, надо было брать за 25. Когда собирал компьютер. Ступил. Брал частями, решил, что соберу сам. Хуй. Видеокарта не работала потому что был хуевый BIOS на матери. Но чтобы выяснить это я потратил неделю и 3 часа своего дяди - профессионального админа. Нокея Н900. Сколько ее хвалили, столько же ругали сразу после того как я решился ее купить. Как компьютер - ахуенен, как телефон... ужас. Хотя я смотрю на остальные. Они еще более ужасны. Роутер. Тут я даже дешевить не хотел сильно, бюджет выделил побольше, а хуй. Опять наебали. Опять ASUS. Ненавидел эту фирму, когда у меня 5 лет назад сгорела их материнка, но сейчас думал все изменилось. А вот хуй. Наушники bluetooth-гарнитуры сломались через месяц. Полностью устраивающие меня девайсы - это только мышка MX Revolution, наушники AKG и местами мой Nikon. Все остальное - какой-то пиздец.

Так о чем это я. Это планировалось как обзор, но по всей видимости будет первым антиобзором. Хотя это сейчас модно.

Купив »