Оказавшись в данный период времени у руководства не большой, но стремительно растущей, IT-компании, я начинаю понимать зачем вообще нужны менеджеры проектов. Пока что я только в начале этого понимания, но могу точно сказать, какие менеджеры проектов не нужны.
Во всех компаниях, где мне приходилось работать, эти самые менеджеры были абсолютно бесполезной прослойкой между заказчиками, начальством и командой. Они только усложняли жизнь разработчика. Будучи абсолютно неспособны разобраться в сути процессов, которыми они «управляли», они были вынуждены как-то оправдывать своё существование (и зарплату), вмешиваясь в рабочий процесс там, где от него следовало держаться подальше (подсказывать программисту, как ему починить баг, sic!), или просто регулярно отвлекая разработчика необходимостью предоставлять абсолютно бессмысленные отчёты (не всякие отчёты одинаково бессмысленные, я знаю).
Эта информация для Вас, если:
Суть: один мой знакомый организует осенью (сентябрь—октябрь) футбольный турнир для харьковских IT'шников. Собственно, вся информация есть на официальном сайте. Хочу только добавить следующее.
Во-первых, я участвую :-)
Во-вторых, поучаствовать можете и вы. Если вы работаете в более-менее крупной харьковской IT-компании, то с большой вероятностью её руководство получило официальное приглашение от организаторов на электронную почту. Требуйте информации у начальства :-) Если ничего никто не получал или вы, скажем, фрилансер или, к примеру, работаете IT-специалистом, но не в IT-компании, то вам нужно собрать команду (до 15-ти человек, разумный минимум — человек 8) и сделать предварительную заявку, написав организаторам (почта partorg@itleague.kharkov.ua). Если команду вам никак не собрать, но участвовать хочется, всё равно напишите организаторам, возможно, таких как вы желающих наберётся на целую команду.
В-третьих, мероприятие действительно того стоит. Соревноваться Вы будете не с затесавшимися в команды профессионалами из ПФЛ, а с такими же как Вы, программерами, сисадминами, дизайнерами и проджект-менеджерами. Организаторы обещают за этим уследить. Дух соревнования, все дела. Играть будем на ОСК «Металлист» (на комплексе мини-футбольных полей Детской академии). Судить будут профессиональные судьи, лечить профессиональные медики, играть профессиональные футболисты не будут. Цена вопроса: две с половиной штуки с команды смотрите на сайте.
Завершающее напутственное слово: иногда стоит вылезать из-за компьютера. Это я себе :-)
Некоторое время назад в Интернетах обсуждали забавные часы, где на циферблате вместо цифр были оригинальные подписи из области математики, физики и компьютерных наук. Вчера я в рамках любви к KDE 4, написал эмулирующих их плазмоид. «Написал» сказано громко, так как писать пришлось мало (взял код обычных часов :)), больше рисовать. В общем, все интересующиеся могут посетить страничку проекта или страничку на kde-look. С пакетами для разных дистрибутивов пока что плохо (пытаюсь подружиться с openSUSE Build Service), есть только PKGBUILD для моего любимого Arch Linux.
Исходники само собой прилагаются, собрать не так уж и трудно (если, конечно, у вас имеется cmake и devel-пакеты для KDE 4 ). Делается примерно так (в директории, куда предварительно распакованы исходники):
cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` make sudo make install
UITableView можно настроить так, чтобы пользователь имел возможность менять элементы таблицы местами, перетаскивая их. Естественно, на эти перемещения программа должна реагировать, внося соответствующие изменения в структуры данных, отображаемых в таблице.
Как использовать этот функционал достаточно внятно описано в документации, но есть небольшой нюанс. Если просто задать:
cell.showsReorderControl = YES;
для каждой UITableViewCell (и предварительно выставить для таблицы свойство editing в YES), то ничего не измениться. Для того, чтобы у ячеек таблицы действительно появился контрол, позволяющий перетаскивание, необходимо у UITableViewDataSource определить следующие методы:
- (BOOL)tableView:(UITableView *)tableview canMoveRowAtIndexPath:(NSIndexPath *)indexPath { return YES; } - (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath { }
Они в любом случае понадобятся для обработки перемещений, но подводный камень тут в том, что если их не будет, то ничего не заработает, что может вызвать трудности, если вы используете эту фичу впервые. В документации этот факт явно не указан.
Условия задачи: имеется ноутбук, тягаемый туда-сюда, как и полагается ноутбуку. Есть пара основных мест, где он бывает: дом и работа. И там и сям он подключается к локальной сети через wi-fi. И там и сям имеются некие сервера, которые из оружающего мира видны через внешний IP, а из локальной сети только через локальный IP (порты форвардятся на роутере) по некой причине, которую я сам не до конца догоняю, но поделать с этим ничего нельзя. Если вы находясь в той же сети, что и сервер, попробуете зайти на него, используя его доменное имя, а не прямой локальный IP, то вас ждёт облом, ибо DNS выдаст вам внешний IP. Решение есть такое: прописать всем компам в локальной сети в файле hosts локальный айпишник для заданных доменных имён. Для стационарных компов это сделано и забыто, но как быть с упомянутым выше ноутом?
Решение: под Виндой я написал скрипт, которым вручную переключал hosts на нужную сеть (скрипт просто копировал заранее подготовленный файл). Но вот недавно я после полугодового перерыва, вновь окунулся в чудесный мир Линукс (об этом отдельно) и подумал, что переключать руками как-то западло. дальше
Если вдруг кто-то ещё не в курсе, то «Приват Банк» — говно. «Приват Банк» должен умереть. «Приват Банк» — говно.
У меня вот завелся год назад их продукт «Интернет-карта». Так уж получилось. Ей можно расплачиваться в Сети, ни разу не было, чтобы где-то ей не приняли. Как я её заводил — это отдельная история. Это заняло две недели, включая подключение системы «Приват 24» для управления счётом через Интернет. Последнее — не блажь, а необходимость, потому как другого способа следить за состоянием своего счёта на данной карте нет, ибо она виртуальная, то есть представляет собой всего лишь номер, записанный на картонке, и в банкомат его не сунешь. А между тем, чтобы подключить «Приват 24», нужно (сюрприз!) воспользоваться соответсвующим пунктом меню в банкомате. Но в Привате об этом не удосужились подумать, а следовательно клиент вынужден проворачивать весёлый финт с заведением ещё одной, уже реальной, карты, её подключать к «Приват 24», а затем добавлять интернет-карту к своему эккаунту. Всё вместе — это весёлый квест с участием сотрудников банка и службы техподдержки.
Quake Live — клёвая штука, если кто не играл. Она с конца февраля находится в открытом бета-тестировании. Это практически тот же самый Quake 3 Arena, только MMO.
Сама игра — это как бы плагин к браузеру (Internet Explorer и Firefox), то есть надо этот плагин предварительно установить. Для FF по крайней мере так, под IE это, скорее всего работает как ActiveX компонент, то есть его сам IE и установит. Да-да, пока только Windows, но Mac OS X и Линукс на подходе.
После установки проходим 10-тиминутную «практику», на основании которой игра определит наш уровень навыков. После чего из списка доступных игр выбираем подходящую. При этом нам показывается уровень участвующих в ней игроков: насколько он выше или ниже нашего. Выбираем, жмём «Play» и играем.
С каким крутым разводом для вКонтакте сегодня встретился. Приходит личное сообщение:
приветик, Виталий помогай, голосуй за меня http://super-gold.ru/583316.html, очень прошу, я почти на первом месте, не верится даже)
Я подумал: ссылка вроде выглядит безобидно, чего бы и не заценить очередную глупость.
Жесть в том, что заходишь, а там и правда страничка, где мой друг-которому-сломали-эккаунт изображен на втором месте всего в 10-ти голосах от первого. Номер в конце ссылки «583316» — это его id в контакте. Если подставить другое id, к сожалению, говорит, что «Sorry, site is temporarily unavailable. Please try again later», а жаль, я было попытался увидеть себя на 2-м месте :) Голосовать, понятное дело, хитровыебано по SMS, при чём честно предупреждают, что цена 5 рублей (на самом деле, конечно, хз сколько).
Заявление типа «Не попадитесь!» не делаю — сами умные :) Интересно, сколько пацаны заработали? Скрин странички для потомков: дальше
Видео программы, которую я делал последние пару месяцев. Каминг, ну буквально, вери сун. Спешите видеть на своих айфонах. Русская локализация тоже будет. Мультиплейер по wi-fi до 4-х человек. Можно играть в «переводного» или классического «подкидного».
UPD. Старое видео удалили, ниже пара других, сделанных уже пользователями (да-да, игра уже вышла):
И ещё одно:
дальше
Вот уже полгода я занимаюсь разработкой под iPhone. За это время я недалеко вышел за пределы необходимого при написании OpenGL-игр и не стал большим знатоком Objective C, так как имею возможность писать всё на любимом C++. Тем не менее, регулярно попадались достаточно специфичные задачи. В этой записе собраны некоторые подсказки осваивающим платформу, да и мне самому на будущее, как некоторые из таких задач решать. Всего 5 пунктов.
Задача: нужно обрабатывать изменения положения устройства в пространстве на предмет того, как сейчас пользователь держит его в руках. Вертикально, горизонтально, какой край сверху, а какой снизу? дальше