Pull to refresh
1
0
hungry.mavr @Voffko

User

Send message

Параллакс эффект для живых обоев на Android

Reading time7 min
Views35K
Каждый, кто пробовал установить себе живые обои, замечал параллакс эффект при перемещении между рабочими столами. Выглядит он очень занимательно, но вот в его реализации возникают проблемы, которые и будут освещены в данной статье. Речь пойдет про реализацию параллакс эффекта под живые обои Android.

Читать дальше →
Total votes 24: ↑21 and ↓3+18
Comments17

Конечный автомат (он же машина состояний) на чистом С

Reading time5 min
Views127K
Почти каждый микроконтроллерщик сталкивался с громадными switch-case и мучительно их отлаживал.
И много кто, начиная писать реализацию какого-либо протокола, задумывался как написать её красиво, изящно, так чтобы через месяц было понятно что ты имел в виду, чтобы она не отжирала всю память и вообще какала бабочками.
И вот тут на помощь приходят машины состояний, они же конечные автоматы (те самые которые используются в регулярных выражениях).

Собственно через регулярные выражения я к ним и пришёл.
Читать дальше →
Total votes 51: ↑48 and ↓3+45
Comments50

Наша электроника: топ-10 разработок компании Promwad

Reading time5 min
Views56K

На фото: проекты из портфолио инновационной компании Promwad

Сегодня мы публикуем на Хабре свой 30-й пост про разработку электроники для серийного производства. За полтора года мы написали обо всех этапах проектирования новых устройств: от идеи до послепродажного обслуживания.

Пришло время показать реальные примеры наших собственных разработок, которые мы делаем для клиентов из России, ЕС, США и Канады. Итак, под катом вас ждет обзор 10 прорывных проектов Promwad, одного из крупнейших дизайн-центров в Восточной Европе с полным циклом разработки электроники на заказ. По мнению основателей нашей компании, эти разработки были инновационными для своего времени, как с точки зрения технологий, так и бизнес-решений.
Читать дальше →
Total votes 65: ↑62 and ↓3+59
Comments34

Overclock мозга или Внутренняя виртуализация сознания

Reading time29 min
Views455K


Все помнят этот фильм? Какого черта он делает на Хабре? И вообще что тут делает подобный пост?
Наверное потому, что я считаю главным звеном в IT все таки человека, а точнее его мозги. Я попробую рассказать еще об одной возможности использовать свой мозг чуточку эффективнее. Одна из слабо задокументированных возможностей, которую мы используем каждый день, но не всегда даже об этом вспоминаем. Все описанное проверялось на мне. Если что-то я не пробовал, но рассказать об этом важно буду отмечать особо. Никаких наркотиков, аппаратов и издевательств над собой, только общедоступные легкие методики (короче, лег проспался и вперед, не вставая даже с кровати).
И да… Это до жути реалистично, на столько, что попробовав, вы не сможете не рассказать об этом.

Что бы не было лишних криков в комментах, попрошу всех кто ярых сторонников любой религии и конфессии, а так же убежденных эзотериков сразу поставить минус в карму и не читать дальше. Здесь не будет философии и великих вселенских тайн. А остальных прошу под кат — попробую рассказать о своей практике разгона мозга с помощью встроенных функций.
ночь как полигон для...
Total votes 224: ↑172 and ↓52+120
Comments292

Учёные выдвинули гипотезу о том, что измерения времени не существует

Reading time5 min
Views9.9K
image

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

В двух недавних работах (одна уже опубликована и вторая вот-вот подоспеет) в журнале «Physics Essays», Амрит Сорли, Давид Фискарлетти, и Душан Клинар из научно-исследовательского центра Бистра в городе Птуй (Словения), более подробно описали, что всё это значит.

Узнать подробнее...
Total votes 201: ↑182 and ↓19+163
Comments388

Порнография с точки зрения эволюционной психологии

Reading time14 min
Views65K
Данный топик был написан по следам бурных обсуждений на Хабре ряда новостей, так или иначе связанных с порно (раз, два, три, четыре). В этих и подобных топиках подымается тема цензурирования интернета и запрета порнографии вообще либо отдельных её жанров. Хотя хабрасообщество в целом довольно либерально относится к порно, обсуждение влияния его на психику — особенно детскую — выливается обычно в нешуточные драмы (самая серьёзная, на моей памяти, была тут).

Между тем, сколько-нибудь заслуживающих доверия данных о влиянии порнографии на общественное и личное здоровье в этих обсуждениях нет; более того, мои попытки по-быстрому найти какие-то вменяемые данные в интернете не увенчались успехом. В поисках ответов на вопросы мне пришлось погрузиться довольно глубоко в научные исследования, и кое-что я в итоге нашёл. Краткий синопсис современных научных взглядов на порнографию и её влияние на человека будет дан под катом после небольшого FAQ'а.

Вопрос: картинки будут?
Ответ: будут.

Вопрос: какое отношение этот топик имеет к Хабру?
Ответ: он интересен читателям Хабра.

Вопрос: нет, всё-таки, какое отношение имеет топик к тематике Хабра?
Ответ: никакого; просто я считаю, что Хабр — это, прежде всего, определённая аудитория, а не тематика.

Вопрос: почему в блог «Интернет»?
Ответ: потому что Internet is for porn.

Если Вам не исполнилось 18 лет, под кат лучше не ходить
Total votes 528: ↑476 and ↓52+424
Comments343

Учимся договариваться у ФБР и «Виталсмартс»

Reading time2 min
Views3.3K
"В жизни каждого мужчины
наступает момент,
когда он без-воз-вратно рвет..."
(из фильма "Здравствуйте, я ваша тетя")


В жизни многих айтишников наступает момент, когда их светлые головы посещает идея начать свое дело. Айтишники — существа логичные; и логика говорит им: работать на дядю или тетю со временем становится невыгодно и бесперспективно. «Создам… скажем, веб-студию» — говорит он себе.

Продравшись сквозь бюрократические дебри, наш компьютерный гений открыл фирму, создал и раскрутил свой сайт, взял пару-тройку заказов… и энтузиазм его несколько поубавился. Потому что на сцену вышел новый персонаж — Его Высочество Клиент. Тот самый, про которого ClientsFromHell, Zadolba.li и проч.

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

Я расскажу о двух книгах, которые будут неплохим подспорьем молодому предпринимателю. Они посвящены искусству переговоров в критических ситуациях.

Очередная поп-психология, «сделайте глубокий вдох и подумайте о вечности»? Нет же! Обе книги написали профессиональные переговорщики: автор первой тренирует антитеррористические подразделения ФБР, авторы второй специализируются на критически важных переговорах в бизнесе.



Итак, два пособия:
Марк Гоулстон — «Я слышу вас насквозь» (в оригинале — «Просто слушай»).
Патерсон, Гренни, Макмиллан — «Есть серьезный разговор».
Читать дальше →
Total votes 86: ↑78 and ↓8+70
Comments25

Почему 0x00400000 является базовым адресом по умолчанию для EXE

Reading time3 min
Views46K
Базовым адресом по умолчанию для DLL является 0x10000000, но для исполняемых файлов это 0x00400000. Почему именно такое особое значение для EXE? Что такого особенного в 4 мегабайтах?

Это имеет отношение к размеру адресного пространства, отображаемого одной таблицей страниц в архитектуре x86, и такую конструкцию выбрали в 1987 году.

Единственным техническим требованием для базового адреса EXE является кратность 64 КБ. Но некоторые варианты базового адреса лучше, чем другие.

Цель выбора базового адреса состоит в минимизации вероятности, что модули будут перемещены. Это означает, что следует предотвратить столкновение 1) с другими объектами, которые уже в адресном пространстве (что и вызовет перемещение); 2) а также с объектами, которые могут появиться в адресном пространстве позже (форсируя их перемещение). Для исполняемых файлов избегать конфликта с объектами, которые могут появиться позже, означает уход из района адресного пространства, который может быть заполнен библиотеками DLL. Поскольку сама операционная система помещает файлы DLL в старшие адреса и базовым адресом по умолчанию для несистемных DLL является 0x10000000, то базовый адрес для EXE должен быть где-то младше 0x10000000, и чем младше, тем больше места останется до того, как вы начнёте конфликтовать с библиотеками. Но насколько низко нужно заходить?
Читать дальше →
Total votes 97: ↑89 and ↓8+81
Comments11

Как работает CPU: интерактивный урок для начинающих

Reading time2 min
Views115K
Simple CPU — маленький урок, который знакомит новичка с ключевыми понятиями информатики. Хотя урок далеко не полный и предназначен для «самых маленьких», но даже образованному человеку приятно видеть, насколько доступно и элегантно можно изложить сложный материал.

Урок состоит из 8 интерактивных примеров.

1. Бинарное счисление.

2. Логические операции на примере штриха Шеффера (NAND gate).


Штрих Шеффера (NAND gate)
Читать дальше →
Total votes 52: ↑41 and ↓11+30
Comments13

Dropclock для xscreensaver или как верстальщик писал заставку под Linux

Reading time8 min
Views27K
Не помню, где первый раз увидел, но был очарован заставкой DropClock, о которой уже упоминалось на Хабре.

=>

Но вот беда: авторы собрали её только для Win и Mac. Несмотря на это, желание было сильнее ограничений, и я решил во что бы то ни стало собрать собственную реализацию.
Читать дальше →
Total votes 39: ↑35 and ↓4+31
Comments19

Разбираемся с rtorrent всерьёз

Reading time14 min
Views75K
Об установке и базовой настройке rtorrent на хабре хватает статей, как и споров о том, стоит ли вообще связываться с хардкорным rtorrent или лучше обойтись чем-нибудь более дружественным к пользователю. Лично я много лет назад пересмотрел все качалки и в результате rtorrent оказался самым стабильным и эффективным. Интерфейс у него не самый удобный, но достаточно понятный и юзабельный чтобы это не стало серьёзной проблемой. Альтернативные интерфейсы вроде rutorrent у меня как-то не прижились - ставить php только ради rutorrent неохота, а остальные варианты выглядят совсем слабо (и ни одного кроме rutorrent даже нет в портаж Gentoo).

  

Одно из основных преимуществ rtorrent — очень гибкие возможности по его настройке и автоматизации. К сожалению, синтаксис ~/.rtorrent.rc достаточно нестандартный, нормальная документация отсутствует, поэтому обычно настройка сводится к поиску и копированию (попытка что-то в них изменить кроме констант/путей к каталогам обычно проваливается) готовых рецептов или вообще ограничивается редактированием констант в базовой конфигурации.

На днях я решил, что так дальше продолжаться не может — мы очень много лет знакомы, он для меня столько хорошего выкачал, а я всё никак не познакомлюсь с ним поближе! Не скажу, что досконально с ним разобрался, но по крайней мере я смог реализовать все свои идеи по автоматизации rtorrent, и сделал это понимая, что и почему я делаю, без шаманства с чужими рецептами.

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

15 малоизвестных команд Linux

Reading time3 min
Views315K
Каждому разработчику в определенной степени следует овладеть навыками работы в терминале. Физически находиться у компьютера не всегда возможно, поэтому приходится подключаться удаленно. И действительно, GUI-программы вполне могут с этим с правиться, но зачастую они работают медленнее, чем получение доступа через тот же терминал (в конце концов, это лишь обмен текстом).
Читать дальше →
Total votes 333: ↑274 and ↓59+215
Comments224

Lock-free структуры данных. 1 — Начало

Reading time12 min
Views145K

Я надеюсь, что эта статья станет началом цикла заметок о lock-free структурах данных. Я хочу поделиться с хабрасообществом своим опытом, наблюдениям и размышлениями о том, что такое lock-free структуры данных, как их реализовывать, подходят ли концепции контейнеров стандартной библиотеки STL к lock-free контейнерам, и когда стоит (и стоит ли вообще) применять lock-free структуры данных.

Читать дальше →
Total votes 165: ↑161 and ↓4+157
Comments39

Создание собственных драйверов под Linux

Reading time24 min
Views205K


Многие мои друзья и знакомые крутят пальцем у виска или задаются вопросом: не жмёт ли мне череп, когда узнают, что я пишу драйвера под Linux. Слово “драйвер” окутано каким-то почти мистическим смыслом, и постичь Дао его написания способны лишь избранные гуру.
К счастью это не так. Не знаю, как обстоят дела с написанием драйверов под другие операционные системы, в т.ч. и наиболее популярные, но под linux, вне зависимости от аппаратной архитектуры драйвера пишутся очень просто. Для написания драйвера необходимы базовые знания языка си, представление о работе ОС линукс (базовые), понимание того, что мы хотим получить, желание чтения документации и исходных кодов, ну и усидчивость. Всё.
Вы хотите посмотреть как написать драйвер для своего устройства? Тогда ныряйте под кат!
Читать дальше →
Total votes 323: ↑318 and ↓5+313
Comments107

Секреты тернарного оператора

Reading time4 min
Views158K
Каждый уважающий себя программист С\С++ знает что такое тернарный оператор и большинство использовало его хотя бы раз в своих программах. Но знаете ли вы все секреты тернарного оператора? Какие потенциальные опасности сопряжены с его использованием и какие, казалось бы не связанные с его прямым предназначением, возможности в нем таятся? Эта статья дает вам возможность проверить свои знания и, возможно, узнать что-то новое.
Читать дальше →
Total votes 105: ↑98 and ↓7+91
Comments39

«Boost.Asio C++ Network Programming». Глава 2: Основы Boost.Asio. Часть 1

Reading time20 min
Views109K
Всем привет!
Продолжаю перевод книги John Torjo «Boost.Asio C++ Network Programming». Вторая глава получилась большая, поэтому разобью ее на две части. В этой части мы поговорим именно про основы Boost.Asio, а во второй части речь пойдет про асинхронное программирование.

Содержание:


В этой главе мы рассмотрим то, что вам обязательно знать, используя Boost.Asio. Мы углубимся в асинхронное программирование, которое намного сложнее, чем синхронное и гораздо более интересное.

Читать дальше →
Total votes 38: ↑38 and ↓0+38
Comments6

Цикл разработки через Github

Reading time3 min
Views104K

Разработка



Я расскажу о цикле разработки через Github, который я использую. Он был проверен в течении года на командах разного размера: 3 — 14 человек.

Существует 2 основных ветки: master и dev.

master — стабильная ветка, готовая к выкатыванию на production сервер в любой момент.

dev — ветка, над которой в данный момент работает команда.

Итак, в начале разработки master и dev ветки идентичны.

Читать дальше →
Total votes 102: ↑86 and ↓16+70
Comments59

«Boost.Asio C++ Network Programming». Глава 1: Приступая к работе с Boost.Asio

Reading time15 min
Views221K
Привет Хабралюди!
Это мой первый пост, поэтому не судите строго. Я хочу начать вольный перевод книги John Torjo «Boost.Asio C++ Network Programming» вот ссылка на нее.

Содержание:


Во-первых разберем что есть Boost.Asio, как его собрать, а так же несколько примеров. Вы узнаете, что Boost.Asio больше, чем сетевая библиотека. Так же вы узнаете о самом важном классе, который находится в самом сердце Boost.Asio — io_service.

Читать дальше →
Total votes 44: ↑43 and ↓1+42
Comments13

Архив интересного кода

Reading time1 min
Views54K
Преподаватель из Стэнфордского университета Кит Шварц (Keith Schwarz) уже несколько лет пополняет свой архив интересного кода — образцы самых лучших алгоритмов и структур данных, когда-либо изобретённых человечеством (Шварц весьма амбициозно оценивает свою коллекцию).

Примеры на сайте преимущественно закодированы в C++, поскольку STL предоставляет прекрасную базу для выражения алгоритмов, работающих с различными типами данных. Структуры данных реализованы на Java.

Кит Шварц дает разрешение использовать свой код всем желающим без всяких ограничений.
Читать дальше →
Total votes 103: ↑92 and ↓11+81
Comments33

Система оплаты проезда общественного транспорта Москвы

Reading time8 min
Views182K
image
Предыстория
В далёком 2005 году, когда я был ещё мелким ребёнком, я впервые увидел такую вещь как «Социальная карта москвича» Смотря на то как пенсионеры прикладывают её при проходе через турникеты наземного транспорта и метрополитена, я стал задумываться над тем, как же работает вся эта система. Но в детстве у меня не было возможности этим заняться. Позже, когда я уже сам начал зарабатывать деньги, я решил всерьёз приступить к изучению системы оплаты проезда в общественном транспорте.

RFID
Конечно же я начал с поиска в гугле и без особых усилий нашёл название данной — RFID (Radio Frequency IDentification) или в переводе на русский Радиочастотная Идентификация. Прочитав статью на википедии, я понял что метки (карты) делятся на 3 диапазона работы, Метки диапазона LF (125—134 кГц), Метки диапазона HF (13,56 МГц), Метки диапазона UHF (860—960 МГц). В общественном транспорте используются метки второго диапазона — HF.
Читать дальше →
Total votes 155: ↑145 and ↓10+135
Comments167
1

Information

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