Как стать автором
Обновить
0
0
Игорь Лифанов @auric

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

Отправить сообщение

Создан первый «вероятностный процессор»

Время на прочтение2 мин
Количество просмотров4.1K
Бостонская компания Lyric Semiconductor разработала новый тип микросхемы, которая основана на вероятностных вычислениях вместо стандартной булевой логики.

Дизайн процессора GP5 спроектирован так, что в качестве логических элементов используются не биты, а аналоговый сигнал, который отражает байесовскую вероятность различных событий. Вместо обычных транзисторов в микросхеме используются байесовские логические вентили. Такой вентиль на входе может получать вероятность двух событий (например, вероятность что этот бит равен 1, а тот бит равен 0) и на выходе выдавать вероятность, с какой эти события пересекаются.

Lyric Semiconductor работала над дизайном микропроцессора с 2006 года, частично проект финансировался военным агентством DARPA.
Читать дальше →
Всего голосов 124: ↑109 и ↓15+94
Комментарии112

Нейронные сети, основанные на гомеостатических нейронах: самоорганизация и целенаправленное поведение

Время на прочтение9 мин
Количество просмотров9K

Введение


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

Сразу оговорюсь, что эта модель не претендует никоим образом на прототип ИИ. Мы скорее хотели исследовать возможность самоорганизации и перспективы возникновения целостного целенаправленного поведения в динамической системе «эгоистичных» (гомеостатических) нейронов.
Как мне кажется, для более полного понимания логики работы модели будет полезно прочитать мой топик про Теорию функциональных систем, однако опять же это на ваше усмотрение.

Поехали!
Читать дальше →
Всего голосов 68: ↑62 и ↓6+56
Комментарии34

Кулеры редкой породы

Время на прочтение6 мин
Количество просмотров2.5K
   Когда я у себя в твиттере выложил эту картинку и спросил, что на ней изображено, я узнал, насколько же безгранична человеческая фантазия.

image

   Варианты были от банальных вариантов типа «колонки, клавиатура, зарядник на солнечных батарейках, внешний винт или пудреница», до экстравагантных «сканер визиток, зажим для денег, вафельница, точилка для ножей и пресс-форма для отливания устройств типа лежащего рядом HD2». И это только сейчас после прочтения заголовка кажется, что все очевидно…
Читать дальше →
Всего голосов 105: ↑71 и ↓34+37
Комментарии73

iPhone 4 и исправление ошибки «No SIM installed»

Время на прочтение2 мин
Количество просмотров64K
Неделю назад я наконец купил новый iPhone 4.



Но нормально использовать его мне удалось не сразу. Как известно в нем используются сим карты формата microsim, и мне пришлось используя ножницы делать из обычной симки нечто похожее на microsim. Однако самодельная симка в новом айфоне не заработала так как я надеялся. Сначала она не хотела находиться вообще, но после некоторых допиливаний все-таки нашлась, чтобы через 5 минут IPhone опять ее потерял. Решив что дело в кривых руках я купил новую симку и ее отрезал уже очень аккуратно. После установки в телефон она сразу же нашлась, но через пару минут использования я опять увидел сообщение «не установлена SIM-карта». Решив, что для работы требуется симка изготовленная с какой-то запредельной точностью, очередные попытки воспользоваться новым гаджетом я предпринял только после покупки оригинальной microsim карты от МТС.
Одноко на этом приключения не закончились и я через пару минут опять увидел «не установлена SIM-карта».
Не весело. А погуглив я вышел на штатовские и английские форумы, на которых толпы людей жаловались на эту же проблему, причем AT&T и Apple людям особо ни чем помочь не могли, предлагали втыкать-вытыкать симку, это помогало на какое-то время, но потом телефон опять терял карту. Единственным решением была замена телефона, правда попались пару чеовек, у которых и новый телефон оказывался с тем же дефектом. Так что решение проблемы пришлось искать самостоятельно. И в итоге я его нашел!

Читать дальше →
Всего голосов 219: ↑172 и ↓47+125
Комментарии231

Google повысит зарплату работникам с нетрадиционной сексуальной ориентацией

Время на прочтение1 мин
Количество просмотров6K
Компания решила повысить зарплату работникам с нетрадиционной сексуальной ориентации, чтобы те могли выплачивать налог на медстрахование.
Читать дальше →
Всего голосов 157: ↑102 и ↓55+47
Комментарии714

Googlebot умеет понимать Javascript

Время на прочтение1 мин
Количество просмотров2.4K
Как известно, Google индексирует миллиарды веб-страниц с молниеносной скоростью, используя Googlebot — сканер, который собирает ссылки и документы из веб-страниц и превращает их в содержимое, по которому можно искать с помощью Google Search.

Изначально предполагалось, что Googlebot умеет только читать ссылки и парсить некоторый код, но, как на днях рассказал представитель Google редактору Forbes Тейлору Бэли, Google в настоящее время умеет более глубоко взаимодействовать с JavaScript, и боты могут даже понимать некоторый JavaScript.

Google can parse and understand some JavaScript.


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


По мнению Тейлора Бэли, вполне возможно, что понимание JavaScript стало частью изменений, связанных с Google Caffeine.
Всего голосов 45: ↑29 и ↓16+13
Комментарии31

Устаревшая раскладка QWERTY против Apple и других изобретателей

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

Когда была изобретена раскладка QWERTY и для чего?

Не стесняйтесь, предполагать, в каком году это случилось. С появлением компьютеров? Нет. С появлением печатных машинок? Да, уже намного теплее. А почему раскладка стала такой? Ответ кроется в том, что изобретатель первой коммерчески успешной печатной машинки, попытался сделать ввод текста в нее максимально медленным. Так, стоп. Это не опечатка, машинка проектировалась так, чтобы быть очень медленной при наборе. Это осознанное решение. Звучит странно и глупо, но чтобы понять причину, надо вспомнить всю историю целиком.

Читать дальше →
Всего голосов 250: ↑188 и ↓62+126
Комментарии259

Tungstene распознает Photoshop

Время на прочтение3 мин
Количество просмотров39K
В конце мая на ряде европейских web-ресурсов прошло сообщение, которое до Рунета пока толком не дошло. В блогах посудачили, покрутили пальцем у виска, поболтали о том о сём, да и разошлись.

Тем не менее, разработка француза Roger Cozien (Роже Козьена), доктора математики, криминалиста и основателя общества цифровой экспертизы Exo Makina, имеет достаточное потенциальное значение, чтобы быть разобранной более подробно.

Знакомьтесь, Tungstene или «Вольфрам». Без «е» на конце в английском написании — антифотошоп и «смерть глянцу», как окрестили его некоторые особо впечатлительные фотоблоггеры.
Читать дальше →
Всего голосов 159: ↑156 и ↓3+153
Комментарии119

Организация работы с помощью Google Wave

Время на прочтение4 мин
Количество просмотров2.8K
Мы ― небольшой коллектив (30 человек) который ведет один немаленький и достаточно успешный проект. У нас, как и у многих IT-фирм, были проблемы с документацией, планированием и организацией нашей работы. Вот уже полгода для коллективной работы мы используем Google Wave, который помог значительно продвинуться в решении вышеперечисленных проблем. И это несмотря на то, что продукт даже еще не в бета-версии.
Читать дальше →
Всего голосов 183: ↑168 и ↓15+153
Комментарии66

Совместная работа над кодом в компании Google

Время на прочтение3 мин
Количество просмотров2.3K
Во второй главе книги «Coders at Work», Брэд Фицпатрик (Brad Fitzpatrick) — автор Live Journal, а сейчас сотрудник компании Google, помимо всяких интересных баек о создании Live Journal, об учебе и о многом другом, рассказывает и о принципах владения кодом и о совместной работе над ним в компании Google.

image

Как известно, в Google существует возможность использовать двадцать процентов своего рабочего времени в целях, отличных от целей текущего проекта (но в целях и интересах компании в целом). Это явление называется групплеты (grouplet) (об этом можно почитать в замечательной статье «The Google Way: Give Engineers Room», или в переводе этой статьи здесь), соответственно, у каждого разработчика может появиться дикое желание порыться в чужом коде и поучаствовать в каком-то проекте. А поскольку таких проектов, мягко говоря, много, то требуются некоторые формальные правила, которые позволят поддерживать весь код в актуальном состоянии и не позволят его качеству опускаться ниже определенного уровня.

Читать дальше →
Всего голосов 88: ↑79 и ↓9+70
Комментарии71

Добавляем безопасности браузеру Firefox

Время на прочтение5 мин
Количество просмотров71K
image

В современном Интернете мы всё чаще сталкиваемся с различными опасностями, исходящими с Web-страниц. Уязвимые плагины, XSS на сайтах, эксплуатирование уязвимостей с помощью JavaScript, Clickjacking — и это далеко не полный список радостей жизни, которые могут встретиться на сайтах.

Даже если у Вас Linux или Mac OS X, нельзя быть полностью спокойными — в таком случае гадость просто не выйдет за пределы браузера, а вот cookies или LocalStorage извлечь вредоносный код вполне в состоянии. Также мощности компьютера могут быть использованы в совершенно неожиданных целях, вплоть до майнинга биткойнов на компьютере жертвы.

Так что защищать браузер необходимо не только снаружи, но и изнутри. Для этого нужно посмотреть на соответствующие расширения, чему и посвящён этот пост. Также здесь будут рассмотрены некоторые вопросы приватности (но не анонимности!), чтобы вы могли защититься от следящих компаний.
Читать дальше →
Всего голосов 52: ↑41 и ↓11+30
Комментарии65

Qt 5.1 и корректный deployment в Windows

Время на прочтение4 мин
Количество просмотров86K
Добрый день!
Для меня он вышел не очень добрым, 10 часов из жизни потрачено в поисках решения на простой вопрос, но в конечном счете я его нашел, и сейчас поделюсь с вами.
Итак, краткая предыстория.
Один мой заказчик попросил разработать kiosk-mode приложение на Qt. И для начала, сделать версию для POS-терминала с ОС Windows XP.
Ok, за неделю я что-то сверстал по приложенным макетам и попробовал отдать версию заказчику. Приложив Qt5Core.dll, Qt5Gui.dll, ну и прочие .dll используемых модулей Qt.
«Failed to load platform plugin „windows“» сказала японскаяфинская бензопила.
Читать дальше
Всего голосов 30: ↑24 и ↓6+18
Комментарии37

Пилим Adblock

Время на прочтение9 мин
Количество просмотров174K


Стратегия


Итак, Адблок… Но здесь я буду говорить не столько о блокировке рекламы, сколько об оптимизации и правильном использовании этого интересного своей универсальностью дополнения. Не отношусь к тем, кого раздражает сама реклама — меня раздражает способ ее доставки.
Читать дальше →
Всего голосов 61: ↑50 и ↓11+39
Комментарии64

Сборка Qt5 в Visual Studio 2012 или я могу пришить глаз кенгуру пока течет мой любимый кетчуп

Время на прочтение7 мин
Количество просмотров38K
Не так давно вышел новый Qt, обещающий большое и светлое будущее, и я решил опробовать сие чудо. Но для начала работы с этим чудом мне понадобилось собрать его для моей установленной студии 2012 года из исходных файлов. А сборка оказалась далеко не тривиальной (хотя кривость моих рук никто не отменял – таким студентам, как я, руки необходимо об забор выпрямлять).
Читать дальше →
Всего голосов 55: ↑48 и ↓7+41
Комментарии36

Код с душком (рефакторинг М. Фаулера)

Время на прочтение2 мин
Количество просмотров77K
Всем привет.

Небольшая шпаргалка для новичков, и всех остальных кто забыл, по книге Рефакторинг. Улучшение существующего кода Мартин Фаулер.
Читать дальше →
Всего голосов 42: ↑20 и ↓22-2
Комментарии8

Варим MVVM для Windows Store-приложений

Время на прочтение11 мин
Количество просмотров8.2K
Когда мы начали работать над приложениями под Windows 8, мы искали библиотеку поддержки шаблона Model-View-ViewModel (MVVM) для этой платформы. Некоторое время провели в интернете в поиске таковой, но в итоге приняли факт, что таких библиотек в природе пока не существует (возможно, мы плохо искали, но теперь это уже не так важно). Ответ на вопрос «что делать?» напрашивался сам…



В недрах нашей компании EastBanc Technologies была создана специальная библиотека (кодовое название EBT.Mvvm). Цель создания — экономия времени в будущем при разработке сложных приложений для Windows 8. В библиотеку вошли как наши собственные наработки, так и некоторые идеи и примеры, которые встречались нам во время наших поисков.

Итак, что мы имеем: все помнят, что основная идея шаблона — это ослабление связи между ViewModel (будем называть вью-модель) и непосредственно View (представление). Идеальное состояние — это когда code-behind представления содержит только конструктор с InitializeComponent и, возможно, код поддержки визуального поведения, которое нельзя определить через XAML. Таким образом, разработчик отдает представление дизайнеру, а сам сосредотачивается на работе и тестировании логики приложения.

Данная статья ориентирована на разработчиков, уже знакомых с программированием на C# и XAML под Windows 8. Ниже мы приводим описания основных фич нашей библиотеки в виде примеров кода их использования и комментариев. Итак, поехали:

Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии30

RAII + С++ variadic templates = win

Время на прочтение4 мин
Количество просмотров11K
Недавно пристально посмотрел на С++ Variadic Templates и неожиданно для себя изобрел новый RAII Scoped Resource Manager.
Получилось кратко и эффектно.

Например, с C-style выделением памяти:
// Аллоцируем ресурс в блоке.
{
    ha::scoped_resource<void*, size_t> mem(::malloc, 1, ::free);

    ::memset(mem, 65, 1);
}
Подробностей и a.out
Всего голосов 33: ↑30 и ↓3+27
Комментарии27

Использование zRam для увеличения количества доступной памяти под Linux

Время на прочтение3 мин
Количество просмотров142K
image
Уже 2 месяца использую на своих компьютерах модуль zRam и хочу поделиться результатами. На практике он позволил мне не используя раздел подкачки, и не получая видимого замедления работы компьютера увеличить размер оперативной памяти в 2.5-3 раза. На сервере виртуалок тот же подход позволил очень ощутимо увеличить отзывчивость при нехватке памяти.
Заинтересовавшихся прошу под кат.
Читать дальше →
Всего голосов 119: ↑116 и ↓3+113
Комментарии99

64 бита

Время на прочтение12 мин
Количество просмотров80K

Статья раскрывает смысл термина «64 бита». В статье кратко рассмотрена история развития 64-битных систем, описаны наиболее распространенные на данный момент 64-битные процессоры архитектуры Intel 64 и 64-битная операционная система Windows.
Читать дальше →
Всего голосов 126: ↑108 и ↓18+90
Комментарии82

Внутреннее устройство Git: хранение данных и merge

Время на прочтение9 мин
Количество просмотров88K
В процессе перехода с SVN на Git мы столкнулись с необходимостью переписывания наших внутренних инструментов, связанных с развёртыванием кода, которые ориентировались на существование линейной истории правок (и разработку в trunk). На Хабре уже публиковались возможные решения этой проблемы через Git-SVN, но мы пошли другим путём. Нам нужна поддержка таких возможностей Git, как branching и merge, поэтому мы решили разобраться в основах, как же работает Git и каким способом должна осуществляться интеграция с ним.
Читать дальше →
Всего голосов 77: ↑77 и ↓0+77
Комментарии10

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность