Pull to refresh
20
0
mcgregor @mcgregor

User

Send message

Мозг на вынос

Reading time2 min
Views999
Есть игры красивые, есть игры любимые, есть игры умные, есть игры безумные. Вот о парочке последних я бы и хотел рассказать.

Живет на свете замечательный парень по имени Kyle Gabler. Однажды он подарил миру свой маленький мир — World of Goo. Мир это послание воспринял крайне благосклонно и с тех пор Kyle в работе не нуждается.

Но, существует несколько крышесносящих проектов, которые он со своей командой делал до World of Goo. Собственно, их достаточно сложно назвать играми с традиционной точки зрения. Хотя бы потому, что в них нельзя выиграть. Но попытаться, определенно, стоит.

image


Некоторые из них..
Total votes 104: ↑101 and ↓3+98
Comments51

OpenSource игры и просто игры под линукс

Reading time1 min
Views2.4K
Уважаемое хабрасообщество!
У меня есть небольшая просьба к вам: не могли бы вы в комментариях отписаться о существовании различных хороших OpenSource-игр, а также игр под линукс (не только бесплатных). Если игры платные, то обязательное наличие демо-версии или видео. Буду очень благодарен. Если вас не затруднит — напишите оценку игры (0-5 баллов).
Читать дальше →
Total votes 21: ↑12 and ↓9+3
Comments55

Вышла версия 1.1 бесплатной игры Yo Frankie

Reading time1 min
Views649
4 июля вышла версия 1.1 трехмерного красочного платформера YoFrankie (описание на русском).

120-мегабайтовый архив с версиями для GNU/Linux, Windows и OSX доступен для скачивания.

В этой версии появились 3 новых призовых уровня, добавлены улучшения в игровую логику, внесены улучшения, делающие игру быстрее.

Total votes 47: ↑41 and ↓6+35
Comments29

Приближаясь к 3D картам

Reading time1 min
Views4.5K


Все ближе и ближе картостроители всего мира подбираются к созданию 3D карт. В этом в первую очередь конечно заинтересован google со своими карто-проектами. Пытается не отставать и microsoft, но теперь вперед вырвался тот, чье имя врядли было у всех на слуху — компания из Швеции — C3 Technologies.
Дальше
Total votes 125: ↑123 and ↓2+121
Comments135

Выбери свою расцветку дня

Reading time1 min
Views524
Иногда необходимо найти какое-то абстрактное изображение в заданном цветовом освещении. Например, хочется поставить обои в заданном цветовом режиме или оформить презентацию. В этих случаях зачастую берут любое понравившееся изображение и редактируют его в графических редакторах, изменяя насыщенность цветов. Однако, есть способ лучше!

Читать дальше →
Total votes 77: ↑72 and ↓5+67
Comments49

Новая Зеландия, как оно там?

Reading time4 min
Views5.6K
После моего предыдущего топика, завалили вопросами дескать, переехать мы поняли как. А стоит ли?
Дам кратенький расклад.
imgp9066
Все цены в NZD если не указано обратное.

Жилье


Из жилья — квартиры в центре, или дома подальше. Двуспальный дом от
300 долларов в неделю. Купить что то приличное можно за 300к, кредиты
и т.д. доступны. В центре живут китайцы да студенты. Местное население
предпочитает дома с лужайкой.
Читать дальше →
Total votes 110: ↑97 and ↓13+84
Comments105

Страна кленового листа: Канада

Reading time6 min
Views17K


Раз пошла такая пьянка тема про эмиграцию (истории покорения «нашими людьми» Новой Зеландии и Австралии), расскажу свою историю.

О себе: программист (основной язык С++), окончил ММФ НГУ в 2003-м году, с августа 2007-го года проживаем с женой в г. Оттава, Канада.

Замечания


1) все цены — в канадских долларах, на момент написания гугль сообщал, что «1 канадский доллар = 0.850557 доллара США»
2) всё изложенное — исключительно личные впечатления одного из сотен и тысяч приезжих и ни в коей мере не претендует на истину в последней инстанции
3) это никоим образом не агитация, а всего лишь изложение фактов (отрицательных моментов я тоже перечислил достаточно)

Итак, поехали!
Читать дальше →
Total votes 177: ↑164 and ↓13+151
Comments185

Как создать идеал?

Reading time4 min
Views19K
В далеком 2007 году, мы, агентство «Shiloff Group», занимались ребрендингом группы компаний «АСК». В комплекс работ входило все: начиная от маркетинга и фирменного стиля, заканчивая наружной и медийной рекламой, ну и, разумеется, сайтом. Для придания уникальности этому сайту мы решили создать идеальную девушку.

image

Под катом 1.4 МБ картинок, будъте бдительны!
Как мы это сделали?
Total votes 382: ↑340 and ↓42+298
Comments282

The Path, новая игра студии The Tale of Tales

Reading time2 min
Views871

Tale


Не знаю известно ли Хабралюдям про студию Арт-игр, что базируется в Бельгии и состоит из двух человек: Майкла Самина и Ория Харви. Думаю, что если и знают то далеко не все. Да и сам я узнал всего-то с месяц назад. Начинал я свое знакомство из студией с маленькой, онлайновой игры, где вас переносят в Волшебный Лес и наделяю телом оленя, но с человеческим лицом. Говорить вы не можете, все общение осуществятся зыком жестов. Вы растете и с маленького олененка можете стать большим с ветвистыми рогами и оригинальным окрасом. Но она так и не запустилась.

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

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

The Path


image

Описать сюжет можно коротко, — Вы то, что движет шестью девушками от 6 до 19 лет. А им нужно отнести бабушке лукошко с вином и едой. Вы можете идти по-прямой, не сворачивая, не заходя в лес, очень быстро отнести все в домик и… Проиграть. А можете свернуть в лес и ходит там кругами чувствуя непередаваемую атмосферу, что создаться из звуков, музыки, мыслей девушки за которую вы сейчас играете.

Каждая имеет свое мировоззрение, характер, мысли, желания, — каждая особенная. Но всех объединят Путь.

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

Играть советую ночью, в наушниках и темной комнате. После 10 минут оторвать глаза от экрана нереально. Атмосфера затягивает, окутывает не дает расслабиться. Рекомендуется, в первую очередь, тем кто играл в Тургор и Мор, да и вообще любит подобные арт-проекты.

Скачать игру (наряду с другими) можно с оригинального сайта разработчиков

P. S. Да, это моя первая запись в блог на Хабре и да, русский не мой родной язык.
Total votes 28: ↑23 and ↓5+18
Comments7

Критика: «Настройка Firefox: устраняем подвисания и пожирание памяти»

Reading time2 min
Views1.2K
Я тоже давно пользуюсь и люблю firefox, правда, в отличии от автора топика Настройка Firefox: устраняем подвисания и пожирание памяти, у меня он не так часто подвисает. По-моему, то, что происходит у автора — нонсенс.
Теперь, собственно, что я хотел сказать. Хотелось обратить внимание на то, что автор дал только ключи, но не дал их описания. Не понятно: почему я должен выставлять тот или иной ключ в то или иное значение? Кроме того, некоторые значения ключей сомнительны. Поэтому я решил внести какую-никакую ясность.
Итак...

  1. browser.sessionhistory.max_total_viewer = 0. Данное значение приведёт к тому, что ни одна посещённая страница не будет кэшироваться, а это, в свою очередь, приведёт к повторной загрузке с сервера страницы, на которую Вы решили повторно вернуться, например, нажав Back.
  2. network.http.pipelining = true и network.http.proxy.pipelining = true вполне могут повысить скорость загрузки страниц, так как позволяют посылать запросы серверу, не дождавшись ответов на предыдущие запросы, а вот network.http.pipelining.maxrequests = 30 — бессмыслица, так как этот параметр может принимать значение от 1 до 8 (см. здесь http://kb.mozillazine.org/Network.http.pipelining.maxrequests).
  3. nglayout.initialpaint.delay = 0 — означает, что браузер начнёт прорисовывать страницу сразу, как только получит первую порцию данных. Но в этой первой порции может оказаться не так уж и много полезной информации. Сомнительная необходимость изменения данного параметра.
  4. network.dns.disableIPv6 = false — выполнять попытки разрешения имён в IPv6-адреса. Под Linux это значение выставлено по-умолчанию. Вероятно, правильнее было бы выставить в значение true, для отключения такой попытки.
  5. content.notify.backoffcount = 5 — честно говоря, не понял описания этого параметра. Что-то типа, предотвращения нежелательных перерисовок полученной страницы.
  6. plugin.expose_full_path = true — никак не повлияет на скорость загрузки страницы! А делает этот параметр вот что: при просмотре в about:plugins, данное значение покажет плагин с полным путём вместо просто имени.
  7. ui.submenuDelay = 0 — никак не отразиться на скорости загрузки страницы, так как этот параметр регулирует задержку между наведением указателя на подменю браузера и отображением содержимого подменю.(http://kb.mozillazine.org/Firefox_:_FAQs_:_About:config_Entries#UI..2A)
  8. сonfig.trim_on_minimize = true — этот параметр позволяет ОС Windows выбросить в swap данные из памяти, занимаемой firefox, в то время, когда его окно свёрнуто (minimzed). Да, на это время высвободится память, но это может повлечь долгое восстановление из состояния minimzed.
Total votes 23: ↑19 and ↓4+15
Comments11

Silvermel — красивая тема для Thunderbird и Firefox

Reading time1 min
Views1.4K
Недавно обновилась красивая тема оформления для Mozilla продуктов Thunderbird и Firefox.

image | image

Я пользуюсь почтовым клиентом Thunderbird уже давно, сейчас у меня стоит версия 3.0b1, silvermel работает с ним без проблем и радует меня как красивыми иконками так и отличными шрифтами.
Офф. сайт темы www.silvermel.net и на addons.mozilla.org
Total votes 35: ↑19 and ↓16+3
Comments18

История системных требований Microsoft Windows

Reading time1 min
Views432
Вдохновившись топиком "Не спешите переходить на новую версию любимой программы" решил составить гистограмму с историей системных требований Microsoft Windows.
Читать дальше →
Total votes 42: ↑27 and ↓15+12
Comments48

10 шагов создания идеального личного сайта

Reading time5 min
Views6.5K
Если ты создаёшь сайт-портфолио, то у тебя несколько причин: ты фрилансер — и тебе нужно показать людям что ты умеешь и как это умеешь, или ты студент (или безработный) — и ты ищишь через сайт потенциальных работодателей, или ты работаешь в отделе крупной компании — и вы создаёте корпоративный блог о жизни компании и показываете что делает ваша компания — не важно кто ты, главное что через сайт-портфолио к тебе обратятся люди (за помощью или для того, чтобы дать тебе работу).

1. Логотип


Логотип — это первое что видит пользователь. На западе люди привыкли смотреть слева-направо, по этому логотип располагают обычно в верхнем левом углу сайта, чтобы сразу понять кто владелец данного сайта.
Читать дальше →
Total votes 142: ↑87 and ↓55+32
Comments58

Подключаемся к камерам наблюдения

Reading time2 min
Views38K
image

Зачем нужны камеры наблюдения? Правильно — чтобы наблюдать за происходящим и контролировать ситуацию! В наше неспокойное время эти самые камеры развешаны повсюду — от денежных хранилищ до придорожных кафе. Однако защищая свои владения, хозяева порой забывают о защите самой камеры путем банальной установки пароля на доступ из Интернета. И очень зря. Если пароль не установить — ваша камера «безопасности» превращается в публичную вэб-камеру с реалити шоу для всех желающих.
Читать дальше →
Total votes 258: ↑245 and ↓13+232
Comments133

Как избежать зоопарка или дайте пользователям работающие кнопки…

Reading time5 min
Views1.4K
Начинать данную статью с различных вводных матчастей о «Великой силе SCRUM'а» и «ущербности водопадной методологии» считаю пустой тратой времени, поскольку в интернете и так достаточно много ресурсов, позволяющих узнать всё: от историй предпосылок создания технологий до всех преимуществ и недостатков в текущих реализациях. Как говорится: «Кто ищет, тот всегда найдет...» (с) :-).

Хочу поделиться неким опытом и даже скорей всего своим мнением о «существующем зоопарке ПО» в некоторых ИТ-компаниях, а именно подходах и реализациях.

Итак, начнем…

Естественно, для написания нового или улучшения существующего продукта предварительно нужно исследовать рынок, проанализировать потребность заказчиков, написать кучу каких-то нелепых концепций и ТЗ, в которых для «большего страха и мощи системы» необходимо как можно больше применять такие выражения как: «… на основе существующих артефактов, разработанная метамодель поможет реальным пользователям ...», обязательно использовать только термины и аббревиатуры и конечно же обязательным условием является описание «сферических коней в вакууме». Затем надо детально проанализировать все эти концепции, обрасти еще миллионами моделей: от простых IDEF-диаграмм до огромных UML-моделей со всякими ассоциациями, агрегациями и прочей «атрибутикой». В итоге получаются все новые и новые «пауки». Конечным пользователям глубоко наплевать на эти модели, диаграммы и т.д., им нужны рабочие кнопки…

После этого начинается непосредственно разработка, программисты начинают «клепать» то задуманное, о чем писалось в ТЗ. Опустим документирование и тестирование… перейдем сразу к выходу продукта на рынок. Маркетологи разработали кучу бумажек о выходе продукта «СуперМегаСистемаПро», которая позволит не только быть «системой, автоматизирующей то-то и то-то», но также (причем без лишней скромности)… она… она… она вообще позволяет «автоматизировать весь мир» :-). Вроде все хорошо, система мощная, современная, но почему-то заказчики недовольны… вроде система обо всем, а на самом деле не о чем. В итоге существующие продукты начинают ругать все кому не лень, а внедренцы в тихоря при помощи SDK (если есть) «клепают» все новые и новые плагинчики, лишь бы заказчик был доволен. Следствие, зоопарк разрастается…

Существующие проблемы ПО находятся прямо «на поверхности», их не надо искать, а уж тем более вытаскивать из глубины. Но тем не менее, начинаются новые обсуждения, новые концепции… в итоге «кто в лес, кто по дрова»… но главное, существующие недостатки завуалированы емкими терминами и как следствие новая система только стала еще сложнее и не понятнее. Жалко потраченного времени (2-5 лет), а уже тем более жалко выкидывать «тонны кода», ведь программисты не виноваты.

После разведенной мною демагогии о «водопадном подходе» :-) имеет смысл перейти к реально рабочей технологии SCRUM. Данная технология действительно помогает оживлять продукты и способствует разработке новых и качественных продуктов.

Инициативная группа разработки решила поработать по SCRUM, пытаясь исправить существующее положение вещей. Была сформирована команда в составе: программисты, аналитики и тестировщики, в которой как и положено технологии был ProductOwner со своим ProductBacklog'ом и SCRUM-мастер.

Процесс
Практику SCRUM мы объединили с некоторыми практиками XP (eXtreme Programming). SCRUM позволяет решить вопросы управления и организации, а XP специализируется на инженерных практиках. Из XP мы позаимствовали: парное программирование, рефакторинг, CodeReview и стилевое описание кода. Также на ретроспективах мы определили для себя ряд правил, которых мы придерживаемся. Для проектирования качественного GUI применяем практику использования персонажей.

Используем только легковесное документирование: диаграмма БД и UML-модель, которые разрастаются только в ходе разработки, соответственно — это не такие страшные пауки, как было описано выше.

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

Для подсчета идеальных часов мы используем фокус-фактор равный 0.4. В принципе такой показатель является средним по всем итерациям и является оптимальным, поскольку обычно запланированные задачи мы успеваем сделать вовремя.

Планирование как правило происходит возле «стены проектирования» (доски с маркерами) или за столом с компьютером, где наглядно можно посмотреть предыдущий функционал и GUI. Некоторые диалоги рисуются сразу на доске и фотографируются, затем эти фотографии будут задействованы при реальном выполнении задач. Для оценки трудоемкости используем PlanningPoker, практически все задачи являются тестируемые, что позволяет сразу выявить все ошибки.

SCRUM — митинг
Ежедневные встречи проводятся 2 раза в день возле SCRUM-доски. После встречи делается отметка на графике сгорания. Задача считается выполненной, т.е. переносится в «Done», только после тестирования. Программист может взять следующую задачу в «InProgress» только после одобрения аналитиком предыдущей задачи, взятой на выполнение. Диаграмму сгорания «подбивает» Скрам-мастер. Чтобы не превышать временной 15-минутный лимит, встреча проводится стоя. На встрече мы определяем, что мы сделали, что будем дальше делать, какие проблемы. Стараемся не обсуждать технические детали, но не всегда получается. Обычно встреча длится не более 10 минут. Если на митинге были определены некоторые технические проблемы, то их обсуждение проводится после скрам-митинга возле «стены проектирования» (доска с маркерами).

SCRUM — доска
В качестве скрам-доски мы используем обыкновенную пробковую доску. Область доски мы разделили на три части: ToDo (что надо сделать), InProgress (В работе), Done (Выполнено).

Однако, мы ведем и электронную версию доски (UserStory, задачи, % участия задействованных участников команды и т.д.) в программе. Это делается «для истории», в работе мы пользуемся только доской.

График сгорания
График сгорания является наглядным индикатором прогресса. Ось X — это ось времени. Ось Y — трудоемкость невыполненных задач. Задача считается выполненной если она проверена тестировщиком, во всех остальных случаях задача не выполнена.

Выполненные задачи переносятся в раздел «Done» скрам-доски. Таким образом график отображает сумму трудоемкости задач, находящихся в разделах «ToDo» и «InProgress». После ежедневных митингов, диаграмма сгорания «подбивается» с учетом выполенных задач за день. Также информация о выполнении заносится в программу, в которой наглядно отображается дата взятия задачи в «InProgress», дата выполнения данной задачи. В продукте автоматически подсчитывается средняя скорость команды, фокус-фактор. Данная информация иногда может помочь в переоценке трудоемкости задач и фокус-фактора команды.

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

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

Для проведения ретроспективы используем доску с маркерами, которая условна разделена на 4 блока: минусы, плюсы, идеи и план. После того как все участники высказались и все идеи были записаны, мы проводим голосование путем расставления магнитных фишечек. Практически все, что было записано в блок «План» мы стараемся впоследствии соблюдать.

В результате работы по SCRUM наша команда смогла решить многие из тех проблем «на поверхности» быстро и качественно (правда систему не оживляли, писали с нуля).
Да пребудет с нами «великая сила SCRUMа» и дайте пользователям рабочие кнопки!!!
Total votes 37: ↑11 and ↓26-15
Comments5

Система контроля доступа на cakePHP.

Reading time9 min
Views1K
Как вы знаете существуют различные системы контроля доступа.
Некторые из них простые, реализованные только на основе сессий, другие же сложные, такие как ACL. Каждая из них имеет свои плюсы и минусы. Простые системы легки в понимании и в обращении, но при увеличении количества привелегий и необходимости их динамического изменения будут возникать и соотвествующие трудности, ACL же довольно громоздка, не столь гибка и сложна в понимании. Долгое время использовав обе системы, пришел к выводу, что нужно разработать свою систему контроля доступом, которая бы имела следующие возможности:
  • простота понимания и простота исполнения
  • динамическое сосздание групп\ролей и перемещение юзера по ролям\группам
  • юзер может состоять в любом количестве групп\ролей
  • легкое, быстрое и понятное изменение доступа
  • минимизация кода при использовании системы
  • мимнимизация размера таблиц связанных с контролем доступа
  • минимизация количества запросов к БД


Читая существующие топики о системах разделения доступа часто натыкался на коментарии: «Зачем городить огород, если есть ACL». Сразу же отвечу чем меня не устраивает ACL.
  • сложность понимания
  • юзер не может быть в нескольких группах одновременно
  • при необходимости ограничения доступа отдельныи юзерам сильно раздуваются таблички (необходимо хранить id каждого юзера )
  • сложность с перемещением юзеров по группам
  • отсутсвие кеширования
  • необходимость делать визуализацию для работы с группами и правами
  • своя тельняжка ближе к телу (в том смысле, что свой код легче потдерживать)


Читать дальше →
Total votes 15: ↑11 and ↓4+7
Comments10

Сборник свободного и открытого ПО для Windows

Reading time3 min
Views7K
Многие преподаватели очень осторожно (а чаще негативно) относятся к Linux. В то-же время «Первая помощь» не вызывает восторга у преподавателей. Специально для учебных заведений и учащихся я собрал диск со свободным и открытым программным обеспечением под Windows XP и Vista.
Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments37

Information

Rating
Does not participate
Location
Япония
Date of birth
Registered
Activity