Архив за 06 февраля 2012 - 3

Phantom Keyless Home Entry – открывайте двери телефоном

Нередко возникают такие ситуации, когда Вы хотите поскорее попасть домой, уже стоите возле двери, но в руках у Вас куча различного барахла в виде сумок, коробок и т.д., а где находится тот самый ключ от двери – Вы и вовсе не помните, из-за чего приходится рыть по всем карманам, сумкам, пакетам… Раздражает, не правда ли? Возможно, для Вас проще было бы открыть двери при помощи мобильного телефона? Если так, то стоит обратить внимание на разработку под названием Phantom Keyless Home Entry.

Phantom Keyless Home Entry – это система, котораяЧитать полностью »

Вдохновившись статьёй Привет из свободного от libc мира, я так же решил проделать нечто подобное. Чтобы не заниматься этим бесцельно, я решил поставить перед собой следующую задачу. Сделать программу, выводящую какую-нибудь простую строку, вроде «ELF, hello!». Разобраться с тем, как именно она будет представлена в исполняемом файле. Ну и попутно, постараться уложиться в 100 байт.
Для начала, стандартный helloworld на C++
#include
using namespace std;
int main()
{
cout << "ELF, hello!n";
return 0;
}

Компилируем, смотри размер:$ g++ test.cpp -static && ls -s -h a.out
1,3M a.out
Сколько, сколько? 1.3 Мб? Для вывода одного единственное сообщения размером в 12 байт? Хм… Ладно,Читать полностью »

C#.NET предлагает множество способов сравнить объекты, как экземпляры классов, так и структур. Способов так много, что без упорядочения этих способов и понимания их грамотного использования и имплементации (при наличии возможности переопределения), в голове, неминуемо, образуется каша.
Итак, класс System.Object предлагает следующие методы:

public static bool ReferenceEquals(object objA, object objB)
{
return objA == objB;
}

public static bool Equals(object objA, object objB)
{
return objA == objB || (objA != null && objB != null && objA.Equals(objB));
}

public virtual bool Equals(object obj)
{
Читать полностью »

Используется в одном из наших проектов такая штучка как Project Voldemort.
Если вкратце, то это весьма любопытная реализация key-value storage aka NoSQL database, реализованная в недрах Linkedin. То есть даешь ему ключик и значение, и оно быстро в памяти это хранит/отдает и на диске тоже сохраняет. Интересна она, в принципе, не этим, а своей реализацией кластеризации, неплохой скоростью, ну тем что часто используется в проектах на Java. В принципе, подробного обзора этой БД на Хабре не было, и можно как нибудь сделать. Но рассказать я тут хочу пока о одних граблях, с которыми пришлось столкнуться.
А столкнулись мы с одной проблемкой при эксплуатации, а именно —Читать полностью »

В первой части статьи, переведенной уважаемым skb7, было рассмотрено идиому Pimpl (pointer to implementation, указатель на реализацию), ее назначение и преимущества. Во второй части будет рассмотрено проблемы, возникающие при использовании этой идиомы, а также предложены некоторые варианты их решения.
Ссылки на оригинал

Это перевод второй части статьи, опубликованной на сайте Heise Developer. Перевод первой части можно найти тут. Оригиналы обеих частей (на немецком языке) лежат тут и здесь.
Перевод был сделан с английского перевода.
Аннотация

Много было написано про эту забавно звучащую идиому, такжеЧитать полностью »

Недавняя история с блокированием сайта EX.UA вызвала в стране волну обсуждения проблем, связанных с соблюдением авторских прав, борьбой с пиратством, способами легального распространения цифрового контента. Даже в популярных политических ток-шоу эта тема вышла на одно их первых мест.
Послушал я эти обсуждения и понял, что этот вопрос ни сейчас, ни в ближайшем будущем решён никак не будет. У всех есть свой законный интерес, однако все стороны пытаются отыскать решение в существующей рыночной системе, и никто как будто не видит, что цифровой контент не укладывается в нынешние рамки сложившихся отношений. Предлагаю свой взгляд наЧитать полностью »

Coworking: работа 2.0 / Вторая волна коворкинг-центров: Зона действия, Flacon Coworking, Циферблат
Не смотря на закрытие многих коворкинг-центров первой волны и постоянные заявления о неприбыльности, коворкинг движение живее всех живых. По данным ведущего коворкинг издания DeskMag, только с мая по ноябрь 2011 года число коворкинг-центров в мире увеличилось с 820 до 1100. Россия не отстает, и новые места продолжают открываться.
Зона действия (Санкт-Петербург)
Коворкинг-центр и образовательный клуб, который вырос из квартирного коворкинг-проекта HomeWork. Поддержку проекту оказывает фонд StartFellows Павла Дурова и Юрия Мильнера.
Зона действия находится на территории Смольнинского хлебозавода, по соседству с Лофт Проектом ЭТАЖИЧитать полностью »

Ненормальное программирование / Русская рулетка с использованием Kinect

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

Железо / [Из песочницы] Модификация SSD Asus Eee PC 900 и интеграция USB 3G Huawei E150
Модификация внутреннего SSD.
Родные чипы памяти SAMSUNG 807 K9F8G08U0M 1GB X 4 заменены на SAMSUNG 825 K9LBG08U0M 4GB X 2:
Донор «убитый» MP3-плеер EXPLAY T10 8GB:В первом банке на месте посадки микросхемы во время демонтажа были сорваны 3 контактные площадки. По даташиту эти контакты не задействованы. Удача преследовала меня в течении 3-х часов.
И вот в 2 часа ночи «ежик» был готов. Закончилось все стиранием памяти с параметрами ERASEALL.EXE 368 M AP2M0J.bin и прошивкой с конфигом:
[General Info]
VendorName=ShEll
ProductName=ASUS SSD
ModelName=8GB SSD
[Flash Info]
Flh_MakeCode=Samsung
Flh_DeviceCode=4096
Flh_Capacity=8192
Flh_Number=2
[Card Info]
DeviceType=fixed
Читать полностью »

HTML5 / Рисуем на холсте или Где же Да Винчи 2.0
Доброго времени суток!
Введение

Только ленивый никогда не открывал какой-либо графический редактор, чтобы нарисоввать что-нибудь. Все мы этим занимались. Да и сейчас занимаемся. Только вот графические редакторы представляют собой исполняемые файлы, а хочется открыть страничку в браузере и начать рисовать, после чего сохранить результат на тот же сайт.
И с приходом HTML5 у нас такая возможность появилась!
new Canvas() ?

Для того, чтобы рисовать на холсте, сначала мы должны объявить элемент Canvas в разметке нашей страницы с некоторыми атрибутами, среди которых width — высота и height — ширина нашегоЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js