Pull to refresh
4
0
Вячеслав @iSlava

Пользователь

Иллюзии мозга. Когнитивные искажения из-за переизбытка информации

Reading time 9 min
Views 115K


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

В работе с широкими массами профессионалы используют способы обхода механизма цензуры, который в мозге фильтрует информацию, поступающего из внешнего мира. Например, если усилить информацию эмоционально, то вербальное или невербальное послание легче пройдёт встроенные фильтры сознания и надолго сохранится в памяти потребителя информации.
Читать дальше →
Total votes 34: ↑32 and ↓2 +30
Comments 32

Разработка игры «Fable» разрушила мне жизнь, но я не жалею об этом

Reading time 9 min
Views 33K

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




Это было лучшее из всех времен, это было худшее из всех времен; это был век мудрости, это был век глупости; это была эпоха веры, это была эпоха безверия; это были годы света, это были годы мрака; это была весна надежд, это была зима отчаяния; у нас было все впереди, у нас не было ничего впереди; все мы стремительно мчались в рай, все мы стремительно мчались в ад…
— Чарльз Диккенс, Повесть о двух городах


Не думаю, что смог бы лучше описать свои чувства по поводу моей работы над «Fable», чем это сделал Диккенс 160 лет назад. Недавнее закрытие Lionhead Studios делает это время идеальным для рассказа некоторых из накопившихся историй.

Лучшее из всех времён


Лучшие часы пролетают быстрее всего
— «Георгики», Вергилий


В фирме-разработчике игр Big Blue Box работало около 20 человек, когда я присоединился к ним в декабре 2001 года, и, с некоторыми исключениями, все они проработали до конца. Офис был небольшой, но располагался на первом этаже здания рядом с рекой в Годалминг, деревне к югу от Гилфорда, где базировались Lionhead.

На ум приходит слово «колоритный».
Читать дальше →
Total votes 28: ↑21 and ↓7 +14
Comments 36

Система проветривания комнаты на основе «малинки» и «Детектора СО2»

Reading time 4 min
Views 20K
Мода на умные дома захлестнула весь интернет, каждый нынче хочет сделать лампочку, которая умеет выключаться через интернет или пощёлкать вентилятором в туалете. Мой опыт был достаточно прост: я хотел сделать систему, которая умеет автоматически проветривать комнату, ни больше, ни меньше.

После обдумывания принципа работы системы пришел к некоторым выводам, которые и решил реализовать. По задумке, весь функционал системы делится на три составляющие: «мозги» которые всем управляют, система открывания форточки/или включение вентилятора и сам датчик который следит за качеством воздуха в помещении. Вот о сенсоре качества воздуха далее я и расскажу, плюс немного затрону тему интеграции его с “мозгами” умного дома.
Читать дальше →
Total votes 26: ↑20 and ↓6 +14
Comments 40

Разоблачение 12 юридических заблуждений о программах для ЭВМ

Reading time 7 min
Views 182K


Заблуждение / опасная привычка На самом деле … Наш совет прост:
1. Мы создали программу и автоматически стали ее авторами и правообладателями. Для охраны и продажи программы никаких документов оформлять не нужно, ведь она охраняется авторским правом — ©! Действительно: программа для ЭВМ охраняется авторским правом как литературное произведение (п.1 ст. 1259, ст. 1261 ГК РФ).

Но то, что для возникновения авторских прав не требуется регистрация или соблюдение каких-либо иных формальностей (п.4 ст. 1259 ГК РФ), ни в коем случае не освобождает:
− от соблюдения набора критериев, установленных законом;
− от необходимости документально доказать факт создания программы и свои права на них.

Неоформленный SOFT закон не охраняет.

Всё просто: если у вас спор о правах на программу, то без документов вы не сможете доказать, что (1) у вас были права и (2) ваши права нарушены, (3) что сама эта совокупность данных и команд на языке программирования является интеллектуальной собственностью (ведь различные версии и релизы никакой новой интеллектуальной собственности не создают).
То же самое – при постановке на бухгалтерский учёт и оформлении бухгалтерских проводок.

Коротко говоря: нет документов = нет интеллектуальной собственности = нет нарушений прав = нет компенсации за нарушение прав.
Оформляйте много хороших и разных документов при создании программ для ЭВМ:
— договоры с авторами;
— договоры с подрядчиками;
— технические задания;
— протоколы совещаний и тестов;
— соглашения между соавторами;
— авторское свидетельство;
— сертификат признания интеллектуальной собственности;
— спецификация РИД;
— свидетельство о регистрации программы для ЭВМ (Роспатент).
Читать дальше →
Total votes 149: ↑119 and ↓30 +89
Comments 210

То, чего еще никто не писал про Нокиа, Элопа и горящую платформу

Reading time 40 min
Views 547K
Взявшись за этот пост, автор полностью отдает себе отчет. И в том что «набило оскомину». И что «только ленивый не кинул камень». И про то что «хватит уже, достали». Однако, вдоволь начитавшись доморощенных и не очень аналитиков, автор решил все-таки выразить собственное мнение, которое отличается от того общепринятого, что с некоей мазохистской истомой доселе перепечатывалось здесь и тут различными авторами, интерпретаторами и переводчиками. Вероятно кому-то будет интересно его прочитать.

Традиционно, для тех кто не любит много буков, краткие (более-менее) тезисы:

  • Будучи долгое время лидером на рынке, Нокиа сильно расслабилась и загадила свою внутреннюю инфраструктуру бюрократией, чрезмерным аутсорсингом и огромным количеством бесполезной «менеджерской прослойки».
  • Будучи долгое время лидером, Нокиа просрала потратила много денег на ненужные операционные расходы, поглощения никому не нужных фирм и на невменяемую модель аутсорсинга.
  • Полностью оторвавшись от реальности с уходом Йормы Оллилла, Нокиа, под управлением гениального юриста CEO Олли-Пекки Каласвуо, потратила кучу денег и усилий на создание бесполезной и неконкурентоспособной сервисной инфраструктуры Ovi. В результате этого, помимо денег, Нокиа потеряла уйму полезного времени, которое можно и нужно было потратить на развитие основного бизнеса — телефонов, софта и т.д.
  • Бюрократия и непотопляемая менеджерская прослойка в Нокиа, последовательно мигрировала из одного передового проекта в другой, в составе одних и тех же групп лиц, самореплицируясь в виде кучи формальных дебилопроцессов комитетов и управленческих групп, немного перетасовываемых с учетом специфики. В итоге именно эта бюрократия убила и Symbian, и Ovi, и MeeGo и остальные попытки догнать уходящий поезд своими силами.
  • Борьба с бюрократией и прослойкой в Нокиа зашла в полный тупик.
  • У великого CEO Элопа просто не было другого выхода кроме как прибить всю старую, неповоротливую и прогнившую организацию, путем создания альянса с Майкрософтом и переходом на Windows Phone. Тем самым все старые процессы, компетенции, технологии и самое главное — люди резко стали, что называется, «не в тему». И следовательно тем самым можно было под благовидным предлогом прибить этот табун менеджеров, бесконечно рисующих фэнтезийные роадмапы с единорогами и перекладывающих бумаги с левого края стола на правый.
  • Новая Нокиа, после 2011 года и старая Нокиа до 2011 года – это две РАЗНЫЕ организации. Их объединяет только общее название и операционка S40 для телефонов Asha.
  • Горящая платформа, это не Symbian и не MeeGo. Горящая платформа, это то состояние в которое Нокиа загнали годы расслабленного лидерства и тупоголовые амбиции предыдущего CEO – Олли-Пекки Каласвуо с кликой подкаркивающих вице-президентов.
  • С бюрократией и бизнес процессами, имеющимися на 2010 год, Нокиа не спас бы ни Андроид, ни половина населения Бангалора, пишущих на Qt под MeeGo. Даже если бы Apple бесплатно передал Нокиа iOS и все сервисы, то они бы выродились руками всяких Requirement Managerов в типичные Нокийские дизайн-химеры и в итоге загнулись через какое-то время.
  • То, что сделал великий CEO Элоп – было единственно возможным разумным решением, дающим хоть какие-то шансы на выживание. Вопрос «каким образом он это сделал?», остается открытым, равно как и вопрос «поможет ли это Нокиа?» в итоге. Не следует забывать, что нынешняя Нокиа — это совершенно новая организация, поэтому глупо предполагать, что она разом вернет себе лидерство. Как и всем новым организациям ей придется за это лидерство долго бороться.
  • Без ошибок и побед Нокиа никогда не было бы ни Андроида, ни Айфона. И Google и Apple тщательно проанализировали достоинства и недостатки более старших конкурентов перед тем как шагнуть вперед.

Все это в деталях — под катом. Предупреждаю что клевых картинок там нет. Сплошное графоманство и ёрничанье.
Читать дальше →
Total votes 548: ↑505 and ↓43 +462
Comments 330

Синтетический вирус M13 преобразует кинетическую энергию в электричество

Reading time 2 min
Views 7.1K

Протеиновая оболочка генетически модифицированного варианта M13 и его код

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

Группа учёных из Национальной лаборатории им. Лоуренса в Беркли нашла решение этой проблемы: они сконструировали вирус, который справляется с задачей гораздо лучше, чем неорганические пьезоэлектрики, и при этом безопасен.
Читать дальше →
Total votes 87: ↑83 and ↓4 +79
Comments 48

Подкаст Chiptune 3x000001 — Пройдя долиной смертной тени

Reading time 1 min
Views 1.2K


Пройдя долиной смертной тени, не убоюсь зла, потому что Ты со мной (с)

В подкасте использована:

— музыка из игры Journey to Silius, 1990-й год NES. Композитор: Наоки Кодака.
— сэмплы из фильма «Подозрительные лица» (The Usual Suspects, 1995-й, озвучка Петра Карцева)
— сэмплы из фильма «Разрушитель» (Demolition Man, 1993-й, озвучка Андрея Гаврилова)

Читать дальше →
Total votes 12: ↑8 and ↓4 +4
Comments 5

Файл Humans.txt от Google

Reading time 1 min
Views 12K
У Google есть файл robots.txt, содержащий список всех путей, которые не могут быть проиндексированы веб-пауками. Но также есть файл humans.txt, которым они пытаются показать, что Google — это не только боты и алгоритмы.

image

«Google построен большой группой разработчиков, дизайнеров, исследователей, роботов и т.д. в разных местах по всему миру. Он непрерывно обновляется и построен с использованием большого количества инструментов и технологий. Если вы хотите помочь нам, посмотрите google.com/jobs».

Тим Брей из Google связал этот текстовый файл с twitter-аккаунтом Google Jobs, что сделало его более популярным.

В файл robots.txt для Youtube недавно был добавлен юмористический комментарий: «Создано в далеком будущем (2000 год), после восстания роботов в середине 90-х, которое уничтожило всё человечество».
Total votes 113: ↑84 and ↓29 +55
Comments 44

Выполнение USSD запросов под Linux

Reading time 4 min
Views 24K
Спасибо автору топика Проверка счета Киевстар модема в Linux который помог мне понять принцип работы модемов и способ работы с ними в линуксе. Мне как раз нужно было решить задачу отображения уровня сигнала, проверки баланса, пополнения счета с использованием 3ж модема. Но так как ставить на домашние машины пхп ради такой мелочи мне не хотелось, решил переписать скрипт под себя на Python, который есть в любом десктоп-линуксе из коробки.

Работать данный скрипт будет на любых модемах/телефонах которые поддерживают USSD без PDU кодирования. Для модемов требующих PDU-кодировку команд нужно написать функции-обертки аналогично php-скрипту из указаного выше топика. У меня к сожалению нету такого модема и проверить я бы не смог — потому писать не стал.

Проверена работа на 3G модеме ZTE MF100(должно работать с mf620, mf622, mf626, mf628) и тарифе Интернет 3G от Киевстара.
Читать дальше →
Total votes 41: ↑37 and ↓4 +33
Comments 19

Андроидфон Motorola Atrix заменяет системный блок

Reading time 1 min
Views 1.9K


В потоке новостей с CES эта затерялась, а на нее стоит обратить внимание: Motorola показала андроидфон Atrix 4G, который может подключаться через док к внешним дисплею/мыши/клавиатуре и заменять системный блок (конечно, полноценной десктопной ОС там нет, но Firefox вполне «взрослый», а с помощью решений от Citrix возможно удаленно запускать Windows-приложения). У смартфона двухъядерный процессор частотой в гигагерц и гигабайт памяти — многим пользователям от компьютера больше и не нужно. Таким образом, стало возможно носить свой компьютер в кармане, подключая его на работе, дома и у друзей, везде работая с одними и теми же файлами. Ранее некоторые пользователи уже пытались превращать свой смартфон (например, Nokia N900) в мобильную рабочую станцию, но специального софта для этого из коробки, насколько знаю, нигде не было.

Также был представлен специальный док-ноутбук с 11-дюймовым экраном, «сердцем» которого становится Atrix.

Прочитать подробнее и посмотреть видео можно на Engadget.
Total votes 94: ↑90 and ↓4 +86
Comments 128

Развенчание мифов об x32 ABI

Reading time 7 min
Views 18K
Наверное, некоторые из вас слышали о халяве под названием x32 ABI.

Вкратце о x32 ABI


Если вкратце, то это возможность использовать все преимущества 64-битной архитектуры, но при этом сохраняя 32-битные указатели. Потенциально при этом приложение будет расходовать меньше памяти, хоть и не сможет адресовать более 4 ГиБ памяти.

Пример. В своём коде вы определяете массив целых чисел и заполняете его значениями. Сколько при этом вы расходуете памяти? Если очень грубо изобразить, то получится примерно так:
32 бита: Указатель + Счётчик числа элементов + N целых чисел = N+2 32-битных числа
64 бита: Указатель + Счётчик числа элементов + N целых чисел = N+2 64-битных числа = 2N+4 32-битных числа
Вот инженеры и задумались: а что если попробовать использовать 32-битные указатели на 64-битной архитектуре? Архитектура X86-64 имеет систему команд CISC и позволяет это сделать. В этом случае наш массив выше будет расходовать памяти 2N+3 вместо 2N+4. Экономия конечно же незначительная, но дело в том, что в современном коде количество разного рода указателей в структурах нередко доходит до десятка, и использование коротких указателей потенциально позволит экономить до 50% памяти (в идеальном случае).

Для тех кому надо расчёты точнее:
* Насколько большие массивы (и значения) в PHP? (Подсказка: ОЧЕНЬ БОЛЬШИЕ)
* Сколько памяти потребляют объекты в PHP и стоит ли использовать 64-битную версию?

Но как оказалось халявы не будет.
Далее перевод статьи
Total votes 45: ↑35 and ↓10 +25
Comments 20

Практика работы «в белую» с иностранными заказчиками

Reading time 4 min
Views 108K
Итак, тут уже была серия статей про то как открыть ИП, как вести бизнес с иностранцами и так далее.
Я хочу всё систематизировать и поделиться реальной практикой.

Для начала введём определения и ограничения:
1. вы уже должны быть зарегистрированы как ИП и вы ознакомились со статьями: habrahabr.ru/blogs/freelance/132232, habrahabr.ru/blogs/freelance/132360, habrahabr.ru/blogs/Dura_Lex/114069
2. мы хотим вести бизнес честно, платить с этого налог и делаем это в России;
3. всё что написано ниже в статье применимо только к ИП, возможно что-то применимо и к ООО, но я ИП и рассказываю про ИП;
4. ИП рассматривается на упрощённой системе налогообложения (УСН) со схемой уплаты налогов в 6% от дохода и без наёмных работников – то есть вы сами по себе;
5. вы предоставляете услуги в области ИТ (программинг, дизайн, консультации и т. п.).

Читать дальше →
Total votes 65: ↑64 and ↓1 +63
Comments 145

Я не могу написать бинарный поиск

Reading time 11 min
Views 205K
Недавно (буквально два года назад) тут пробегала статья Только 10% программистов способны написать двоичный поиск. Двоичный поиск — это классический алгоритм поиска. Мало того, это еще чрезвычайно простой алгоритм, который можно очень легко описать: берем отсортированный массив, смотрим в середину, если не нашли там число, в зависимости от того, что в середине — ищем это число этим же методом либо в левой части, либо в правой, откидывая средний элемент. Для функций также, просто берем не массив, а функцию. Все очень и очень просто, алгоритм описан почти везде, все баги словлены и описаны.

Так вот, я не могу реализовать двоичный поиск. Для меня он ни капельки не тривиален. Наверное, я ненастоящий программист. А ведь так и есть, я всего-лишь студент, но ведь это не оправдание? Если точнее, я не могу реализовать хороший корректный красивый двоичный поиск. Все время у меня вылезает проблема либо с корректностью, либо с красивостью, либо и с тем, и с другим. Так что, да, заголовок немного желтоват.
Прежде чем читать этот топик, напишите свою версию бинарного поиска — для отсортированного массива. Причем, в зависимости от параметра, поиск должен выдавать или первый элемент, или любой из дублирующих. Еще для сравнения, напишите бинарный поиск для функций

А в чем, собственно, проблема?
Total votes 165: ↑107 and ↓58 +49
Comments 156

7 типичных русских проблем в английской речи

Reading time 10 min
Views 254K
South Park
Предметом данной статьи является попытка систематизировать культурные различия, и типичные ошибки которые мы допускаем с нашими иностранными коллегами. Большинство примеров взято из книги Русские проблемы в английской речи. Я взял на себя смелость в небольшой популяризации данной темы, снабжению комментариями и собственными примерами.

1. Я прав, а ты нет
Читать дальше →
Total votes 170: ↑160 and ↓10 +150
Comments 171

PHP: фрактал плохого дизайна

Reading time 32 min
Views 204K

Предисловие


Я капризный. Я жалуюсь о многих вещах. Многое в мире технологий мне не нравится и это предсказуемо: программирование — шумная молодая дисциплина, и никто из нас не имеет ни малейшего представления, что он делает. Учитывая закон Старджона, у нас достаточно вещей для постижения на всю жизнь.

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

PHP — единственное исключение. Фактически каждая деталь PHP в какой-то мере поломана. Язык, структура, экосистема: всё плохо. И даже нельзя указать на одну убийственную вещь, настолько дефект систематичный. Каждый раз, когда я пытаюсь систематизировать недостатки PHP, я теряюсь в поиске в глубину обнаруживая всё больше и больше ужасных мелочей(отсюда фрактал).

PHP — препятствие, отрава моего ремесла. Я схожу с ума от того, насколько он сломан и насколько воспеваем каждым уполномоченным любителем нежелающим научиться чему-либо ещё. У него ничтожно мало оправдывающих положительных качеств и я бы хотел забыть, что он вообще существует.
Читать дальше →
Total votes 450: ↑392 and ↓58 +334
Comments 538

Coder vs. Developer vs. Engineer — а какой Job Title у тебя, %username%?

Reading time 12 min
Views 68K
Computer Scientist, Software Engineer и Coder заходят в бар.
— О, а вот и программисты! — окликает их бармен...


Я знаю людей, которые программируют уже не один десяток лет, но обижаются, когда их называют "программистами". А по запросу Coder vs Developer vs Software Engineer в гугле находится 113 000 000 ссылок: 1 2 3 4 5 6 7 8 9 … 113 000 000. Что интересно, можно найти совершенно противоположные мнения об одном и том же. С чем-то я согласен, а с чем-то в корне нет.

Последние же несколько лет так вообще постоянно подливают масло в огонь, появляются какие-то совсем странные программисты, которые называют себя Creative Technologist, Creative Coder и Interactive Developer.

Давайте же попробуем разобраться.
Читать дальше →
Total votes 148: ↑132 and ↓16 +116
Comments 129

Распределенные эволюционные вычисления

Reading time 1 min
Views 5.4K


Одна из моих любимых тем в программировании – эволюционные вычисления и генетические алгоритмы в частности. Пару лет назад я поднимал эту (в целом уже заезженную) тему на Хабре, но сейчас глядя на то видео немного стыдно – слишком уж туманно и сумбурно было объяснение.

Сегодня я постараюсь объяснить генетические алгоритмы проще и нагляднее, а заодно рассказать вкратце о прототипе очень простого JavaScript-фреймворка для распределенных генетических вычислений degas.js. В двух словах – degas.js запускает генетический алгоритм в виде «треда» в браузере клиента используя web workers и обменивается информацией о полученных в ходе эволюции индивидуумах с сервером и другими клиентами с помощью web sockets. Сервер использует node.js.

Degas.js пока в супер-зародышевом состоянии, функционал еще примитивен, а код некрасив, но если кто-то захочет присоединиться к разработке – было бы здорово.
Total votes 31: ↑30 and ↓1 +29
Comments 5

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity