Как стать автором
Обновить
84
0.1
Пётр @Error1024

Разработчик

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

Алгоритм генерации QR-кода

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


QR код — это монохромная картинка, на которой некоторые устройства (например смартфон со специальным приложением) распознают текст. Этим текстом может быть не только простая фраза, но и, хоть это и не входит в официальную спецификацию, ссылка, номер телефона или визитная карточка. Такие коды чаще всего используют, чтобы закодировать ссылку и распечатать её на плакате или визитке.

Эта статья — подробная инструкция по созданию QR кода с примерами на каждом шаге, которая требует от вас только базового умения работать с бинарными данными и владения любым языком программирования (если вы хотите создать автоматический генератор QR кода).

За основу этой статьи взят цикл статей «QR Code Demystified» Джейсона Брауна (Jason Brown). В этих статьях опущено много нюансов, что вызвало у меня некоторые проблемы. Все эти нюансы учтены и упомянуты здесь.

Читать дальше →
Всего голосов 106: ↑99 и ↓7+92
Комментарии23

Некорректная работа стандартного поиска операционных систем Windows

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

1. Введение


К написанию статьи меня побудило желание внести свои пять копеек в обсуждение одного из последних выпусков (на данный момент) самой популярной среди пользователей операционной системы Windows. А также состояние растерянности и недоумения, если окажется, что описываемый мною ниже баг в системе поиска действительно является «архитектурной особенностью продукта», как мне ответили специалисты поддержки Microsoft. Изложенный ниже материал представлен на основе моих экспериментов с поиском в операционной системе Windows-8-Pro-64bit (установлена самостоятельно на «чистый» ноутбук, лицензионная, активированная). Подобные опыты проводил и ранее на ноутбуке с предустановленной системой Windows-7-HomeBasic-64bit. В обоих случаях результат был одинаков.
По моему мнению, в поисковом модуле указанных выше операционных систем (подозреваю и не в них одних) серьезный баг механизма поиска. Хотя, как я уже упомянул выше, специалисты Microsoft считают, что это не баг, а фича.
Читать дальше →
Всего голосов 54: ↑39 и ↓15+24
Комментарии71

Жизнь с планшетом или список приложений для Android

Время на прочтение7 мин
Количество просмотров310K
Привет!

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

Пост написан для устройств на базе операционной системы Android, но думаю и в других системах есть аналоги.
Читать дальше →
Всего голосов 143: ↑104 и ↓39+65
Комментарии66

Поднять уровень английского легко!

Время на прочтение1 мин
Количество просмотров15K
Чувак отлично рассказывает и подробно показывает.
Например, за 1 минуту можно выучить 50 тысяч английских слов, не верите?

В русском языке существует около 50 тысяч слов оканчивающихся на «ция» и «сия».
Так вот, почти все слова оканчивающиеся на «ция» имею окончание tion, а на «сия» — sion.
Т.е. из слова вы подставляется все до окончания «ция», «сия».
Модернизация — Modernization
Делегация — Delegation
Корпорация — Corporation
Абстракция — Abstraction
Профессия — Profession

1 урок


Остальные 3 видео доступны в плейлисте или на странице пользователя DjonikNSK
torrent: rutracker.org/forum/viewtopic.php?t=3904361
Всего голосов 96: ↑55 и ↓41+14
Комментарии65

И на них есть управа! (прецедент)

Время на прочтение1 мин
Количество просмотров1.5K
(опубликовано Society Technology, Грег Росс 5 янв 2012)

Джон и Маргарет Вивиан объявили себя банкротами в 1992, поэтому их не обрадовало когда NationsBank отправил им уведомление о задолженности, которая уже была отменена. Банк извинился, заявив, что сообщение отправил компьютер, но супруги получили второе уведомление, а потом и третье.

В результате, судья по делам банкротств A. Jay Cristol, обвинил компьютер в неуважении к суду и ПРИГОВОРИЛ его к общественному порицанию и штрафу в размере 50 МБ HDD и 10 МБ RAM. Компьютер может восстановить свое положение в обществе, если прекратит производство и рассылку уведомлений семье Вивиан.

Компьютер никак не прокомментировал это решение.
Читать дальше →
Всего голосов 113: ↑92 и ↓21+71
Комментарии56

Создание модели электронного компонента для Proteus на Lua

Время на прочтение10 мин
Количество просмотров35K
Есть у меня несколько проектов-долгостроев, один из которых — создание компьютера на базе CDP1802. Основную плату моделировал на бумаге и в Proteus.
Довольно скоро встал ребром вопрос: как быть с элементами, которые отсутствуют в Proteus?
На многих ресурсах подробно описано, как создать свою модель на С++ в Visual Studio.
К сожалению, при сборке под линуксом этот вариант не очень удобен. Да и как быть, если не знаешь С++ или нужно редактировать модель на лету для отладки?
Да и просто хочется сосредоточиться на моделировании, максимально упростив все остальное.
Так появилась идея делать симуляторные модели с помощью скриптов — на Lua.
Заинтересовавшихся прошу под кат (гифки на 2Мб).


Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии5

HDR vs LDR, реализация HDR Rendering

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


Как я и обещал – публикую вторую статью о некоторых моментах разработки игр в трех измерениях. Сегодня расскажу об одной технике, которая используется почти любом проекте ААА-класса. Имя ей — HDR Rendering. Если интересно — добро пожаловать под хабракат.
Читать дальше →
Всего голосов 177: ↑173 и ↓4+169
Комментарии63

Luminous BT Smart Bulb: что внутри умной лампочки? Обзор + разборка на запчасти

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


В мире умных вещей особое место занимают так называемые smart-лампы. Это лампочки, снабженные дополнительными модулями и сенсорами, в результате чего обычная светодиодная лампа превращается в умное устройство.

За последние годы сразу несколько компаний стали позиционировать себя в качестве производителей умных лампочек: Philips, LG и некоторые другие стали довольно известными на этом рынке.

Само собой, есть и менее именитые производители, чьи умные лампы мало чем уступают разработкам крупных корпораций, но до сих пор по той либо иной причине остаются в тени. Умную лампу одного из таких производителей мы сегодня и рассмотрим: речь идет о smart-лампе Luminous BT Smart Bulb.

Читать дальше →
Всего голосов 24: ↑20 и ↓4+16
Комментарии69

Quad-engine. Свой 2D-движок. Когда приперло со всех сторон

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

Предисловие.


Было начало 2010 года, когда я расстроился при просмотре очередного фреймворка с поддержкой Delphi. В тот момент я искал замену уже сильно устаревшему и заброшенному PowerDraw. Как говорится, тоже самое, только с перламутровыми пуговицами. Пересмотрев всё, что было из 2Д, я так и не нашел искомого. То не было шейдеров, то черезчур нагроможденный с точки зрения кода, то вообще какой-то убогий. А душа просила простоты использования и шейдеров.

Поэтому я сел, и начал изобретать свой велосипед. Первое собранное приложение выглядело, конечно, не сильно впечатляюще:



Под катом прилично картинок.
Читать дальше →
Всего голосов 63: ↑53 и ↓10+43
Комментарии27

Инженерная культура, которую мы потеряли?

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

Этот пост, наверно, правильно воспринимать как крик души, как попытку найти поддежку в профильном сообществе и окончательно не потерять веру в текущий уровень высшего инженерно-технического образования. То, что сейчас все крайне непросто в этой сфере, не говорит только ленивый, но я хочу постараться дать вам некую объективную информацию, а выводы… Выводы, думаю, все сделают сами. Кому интересно, прошу под кат.
Читать дальше →
Всего голосов 212: ↑199 и ↓13+186
Комментарии728

Просто о списках, словарях и множествах или ТОП 5 структур данных

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


Привет. Ей! Не говорите “Да блин! Я знаю, чем отличается список от вектора, мне не нужна эта статья”. Прошу, загляните под кат и освежите свои знания. Я надеюсь, однако, что вы сможете почерпнуть из этой статьи намного больше и, некоторые, возможно, наконец-то разберутся, почему существует так много типов данных для коллекций объектов.
Читать дальше →
Всего голосов 124: ↑74 и ↓50+24
Комментарии20

Я всё ещё обожаю программирование графики

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


Примерно год назад я написал рассказ про один из своих велосипедов, который я назвал “Я обожаю программирование графики”. В том рассказе я старался показать процесс разработки “с романтичной стороны”, немного пошутив над собой, мол всё так весело и забавно, когда программируешь графику. Я рассказал историю только со стороны “Ого! Полосатенько...”, а теперь, почти год спустя, я решил поделиться с Вами рассказом о том, как же это всё работало и чем закончилось. Хочу сразу предупредить, что это всё ещё рассказ о велосипедах. Это не рассказ о революционных технологиях или супер-мега умных решениях. Это рассказ о том, как я, в своё удовольствие, умышленно писал велосипед.

Рассказ снова немного сумбурный и всех, кто не любит Android, С++, Live Wallpaper, Minecraft, велосипеды, поток сознания, который слабо привязан к теме и всё около того, хочу сразу предупредить что их может огорчить содержание этого поста, поэтому продолжайте чтение на свой страх и риск.
Читать дальше →
Всего голосов 81: ↑77 и ↓4+73
Комментарии4

Открыта регистрация Официальных Блогеров™ в России

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


На картинке изображено возможное ближайшее будущее*

Сегодня распахнул свои двери ресурс, который позволяет официально зарегистрировать свой сайт (или блог) в интернете.

Теперь каждый может официально зарегистрировать свой ресурс.

Но есть кое-что еще…
Читать дальше →
Всего голосов 93: ↑78 и ↓15+63
Комментарии207

Google анонсировал бесплатные курсы программирования для Android

Время на прочтение2 мин
Количество просмотров91K
Как стало известно на этой неделе, Корпорация Добра объединилась с небезизвестной Udacity чтобы сделать общедоступные бесплатные курсы по программированию под платформу Android. Курсы будут доступны для всех желающих. По традиции они будут включать в себя видео, викторины, множество учебных материалов и доступ к форумам для общения и обсуждения сопутствующих тем.

Узнать все подробности и ссылки
Всего голосов 35: ↑32 и ↓3+29
Комментарии6

SASM – IDE для ассемблера

Время на прочтение4 мин
Количество просмотров119K
Здравствуйте, уважаемые хабравчане!

Данным постом хочу представить сообществу проект, который время от времени писался мной последний год: SASM (SimpleASM) — IDE для разработки программ на языке ассемблера x86 и x86-64.

image

SASM — простая кроссплатформенная (доступна на Windows и Linux) среда разработки для языков ассемблера NASM, MASM, GAS, FASM с подсветкой синтаксиса и отладчиком. Программа работает «из коробки» и хорошо подойдет для начинающих изучение языка ассемблера. Основана на Qt. Распространяется по свободной лицензии GNU GPL v3.0.

Исходники лежат в репозитории на GitHub.
Бинарники можно скачать на сайте программы.

Под катом Вы найдете немножко истории и более подробное описание возможностей.
Читать дальше →
Всего голосов 131: ↑126 и ↓5+121
Комментарии39

Кош на комплексной плоскости

Время на прочтение6 мин
Количество просмотров65K
В какой-то из весенних дней этого года я ехал в троллейбусе и листал комикс о Коше. В одном из выпусков была такая фраза «НО! Её можно понять, она же фракталами в горизонт перетекает, я бы тоже замешкался...». После этого я посмотрел в окно и понял, что если мы возьмём два подходящих дробно-линейных преобразования комплексной плоскости a(z) и b(z), и рассмотрим систему итерированных функций для a(z), b(z), a−1(z), b−1(z), взяв в качестве начального множества картинку с Кошем, то Кош будет перетекать фракталами в горизонт!

И вот несколько дней назад у меня дошли руки, чтобы написать нужный скрипт на питоне. Результаты мне и моим друзьям понравились, и я решил написать эту хабрастатью.

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



Читать дальше →
Всего голосов 214: ↑206 и ↓8+198
Комментарии26

Из Москвы в Кремниевую Долину: как Александр Киров улучшает умные часы Pebble

Время на прочтение7 мин
Количество просмотров37K
А вы хотели бы получить работу в Кремниевой Долине и поучаствовать в разработке продукта, который гремит на весь мир? Это ли не мечта каждого второго гика? У Александра Кирова, бывшего продакт-дизанера из Mail.Ru, который называет себя очень неорганизованным человеком (он бросил учебу в двух институтах), свой рецепт достижения мечты: если тебя отшили, не бойся стучаться снова, пока не добьешься своего. Его, например, отшивали и Google, и Facebook, но в итоге Александр уехал в Калифорнию и присоединился к американской команде Pebble, которая прославилась по всему миру одноименными умными часами (и тоже его сначала отфутболила). Мы попросили Александра рассказать, как он сумел это провернуть и чем его новая жизнь отличается от старой в Москве.



ПЕРВЫЙ МОБИЛЬНЫЙ


— Попыток и поисков в моей жизни было довольно много. Но оказалось, что именно они сформировали мой характер. Так, с учебой у меня не складывалось довольно долго. После школы я год отучился на айтишника, потом еще год на менеджера, но в обоих случаях быстро становилось скучно, и учебу я бросал. Правда, параллельно всегда работал — сначала сисадмином, потом управлял разработкой сайтов в компании «Это Легко», был проджект-менеджером в цифровом подразделении крупного рекламного агентства Lowe Adventa. Тогда я завязал с учебой на некоторое время и понял, что мне интереснее заниматься не менеджментом или программированием, а более творческой работой. Решил попробовать себя в дизайне.
Читать дальше →
Всего голосов 102: ↑90 и ↓12+78
Комментарии16

«Человек на острие ножа» — Джон Кармак, вехи достижений и вклад в игровую индустрию

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


Фигура Джона Кармака в индустрии компьютерных игр (далее по тексту КИ) неоднозначна. Существует большое количество слухов и скандалов, связанных с его именем. Многие считают его неприятным человеком, и многие также считают его гением. Эти два свойства, кстати, не взаимоисключающи. Можно быть не самым приятным в общении человеком, но при этом делать удивительные вещи. В этой публикации мы не рассматриваем все заслуги Джона перед КИ, не обсуждаем его прения с членами команды, и не стараемся раскопать наибольшее количество скандалов. Даже историю Id Software затрагиваем не полностью, лишь вскользь касаясь пройденных Джоном вех.

Любой разработчик со стажем и любой отдавший всю свою жизнь индустрии может быть предметом глубоких исследований, множества публикаций, и даже книг. Однако все понимают, надеюсь, как много нужно времени, чтобы собрать всю эту информацию воедино, проверить и сопоставить факты, связаться с фигурантами, выработать четкую стратегию изложения. Чем больше проходит времени, тем плотнее пелена истории покрывает удаляющиеся от нас годы, откуда можно было бы извлечь знание. Одно дело если ты был очевидцем его, если читатель (или писатель) представляет старый пласт игроков и пласт людей интересующихся. Совсем другое дело если с материалом знакомятся люди, которые вообще не знакомы с играми Wolf3D, Doom, Quake и кому наборы букв IDDQD и IDKFA ничего не говорят. Как рассказать все и не утомить читателя? Как сосредоточиться на главном? Как не потратить недели и месяцы на публикацию казалось бы ненужной статьи?

Ответ прост. Выбрать то главное, что нужно донести до читателя. Выбрать стержень. Первопричину. То, что побудило написать эти строки. И я точно знаю, чего хочу в данный момент. Рассказать о том, почему я считаю Джона — человеком на острие ножа. Человеком авангарда. Рисковым экспериментатором и первопроходцем.


Читать дальше →
Всего голосов 148: ↑143 и ↓5+138
Комментарии90

Обзор языка программирования Rust

Время на прочтение10 мин
Количество просмотров103K
Rust — новый экспериментальный язык программирования, разрабатываемый Mozilla. Язык компилируемый и мультипарадигмальный, позиционируется как альтернатива С/С++, что уже само по себе интересно, так как даже претендентов на конкуренцию не так уж и много. Можно вспомнить D Вальтера Брайта или Go от Google.
В Rust поддерживаются функицональное, параллельное, процедурное и объектно-ориентированное программирование, т.е. почти весь спектр реально используемых в прикладном программировании парадигм.

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

Читать дальше →
Всего голосов 74: ↑73 и ↓1+72
Комментарии73

Создание API: в рамку и на стену

Время на прочтение5 мин
Количество просмотров57K
Каждый программист — проектировщик API. Хорошие программы состоят из модулей, а протокол взаимодействия модулей — это тоже API. Хорошие модули используются повторно.

API — это большая сила и большая ответственность. У хорошего API будут благодарные пользователи; поддержка плохого превратится в кошмар.

Публичный API — не воробей, опубликуешь — не уберешь. Есть только одна попытка сделать все правильно, поэтому постарайся.

API должно быть легко использовать, но сложно использовать неправильно. Сделать что-то простое с помощью такого API должно быть просто; сложное — возможно; сделать что-то неправильно должно быть невозможно, или, по крайней мере, трудно.

API должен описывать сам себя. Изучение кода на таком API не вызывает желания читать комментарии. Вообще, комментарии редко нужны.

Перед разработкой API собери требования с долей здорового скептицизма. Осознай общие задачи и реши их.

Оформляй требования как шаблоны использования API. Сверяйся с ними в процессе проектирования.
Читать дальше →
Всего голосов 154: ↑143 и ↓11+132
Комментарии97

Информация

В рейтинге
2 429-й
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность

Специализация

Software Developer, Траблшутер