В продолжении популярного цикла статей о том, что 30 строк джаваскрипта достаточно каждому, предлагаю Вашему вниманию перевод статьи Мэтью P01 Генри о его последней работе:
Пётр @Error1024
Разработчик
Смартфон от РЖД: расставляем точки над i
4 min
114KМой рассказ о смартфоне-мобильном терминале РЖД (http://habrahabr.ru/post/201422) вызвал огромный резонанс. В интернете появились десятки публикаций, использовавших мои фотографии.
Сегодня я расскажу обо всём, что мне удалось узнать о смартфоне из разных источников — от РЖД до контрактного разработчика и производителя.
Сегодня я расскажу обо всём, что мне удалось узнать о смартфоне из разных источников — от РЖД до контрактного разработчика и производителя.
+150
Реализация мечты, или Радио 86РК — 25 лет спустя
13 min
183KВ уже далеком 1986 году у меня появилась мечта. Вернее, МЕЧТА – построить свою собственную микро-ЭВМ «Радио-86РК», схема которой была опубликована в журнале «Радио» (и который уже неоднократно упоминался на Хабре, например, здесь — habrahabr.ru/post/172405 ).
+249
Конкурс «Осенняя мобилизация»
1 min
2.8KВ сентябре мы запустили релиз RAD Studio XE5 с поддержкой Android.
Специально для вас мы организовали конкурс «Осенняя мобилизация», чтобы поощрить разработку под самую популярную мобильную платформу Android и наградить лучших разработчиков. Конкурс стартует 11 ноября, а подводить итоги мы будем в последнюю неделю года, 25 декабря.
Регистрируйтесь на сайте конкурса, создавайте приложения на Delphi XE5 для Android и выигрывайте призы: планшет Asus Nexus 10, планшет Asus Nexus 7, смартфон Nexus 4 или специальный приз от компании Софтлайн – лицензия RAD Studio XE5.
Если вы разрабатываете на Delphi, но только задумываетесь о создании мобильных приложений, это хороший способ попробовать свои силы.
Если вы уже писали приложения под Android, конкурс – отличный повод попробовать новый инструмент разработки.
Если у вас есть опыт и в Delphi и в разработке под Android – ваши шансы на победу выше!
Для участия в конкурсе вам необходимо
0
Отладка самолета? Это очень просто!
13 min
119KНекоторое время назад мне пришлось очень плотно поучаствовать в приемо-сдаточных испытаниях самолета. Эти испытания были основной частью процесса передачи свежеизготовленного, самого (по моему мнению) технически продвинутого на настоящий момент времени бизнес-джета от производителя заказчику. Казалось бы, причем здесь тестирование, разработка, да и вообще тематика Хабра? Желающие узнать это могут перевернуть страницу и прочитать довольно много текста, причем вообще без картинок.
+256
HTML Academy, Хабр и краудфандинг
3 min
89KHTML Academy — это интерактивные онлайн-курсы по HTML и CSS. Проект существует уже более года, за который мы создали более 15 курсов, большая часть из которых бесплатна. Всё это время работа велась на чистом энтузиазме, однако, сейчас уже нужно выходить на новый уровень, чтобы делать курсы чаще, круче и полезнее. Для этого есть много путей, и один из них — народное финансирование.
Всё обучение в академии происходит в практическом режиме. По сути, оно сводится к прохождению огромного количества практических заданий. Практическое задание выглядит вот так:
Немного об HTML Academy
Всё обучение в академии происходит в практическом режиме. По сути, оно сводится к прохождению огромного количества практических заданий. Практическое задание выглядит вот так:
+106
Легкий FPV-трикоптер: разработка, сборка, конфигурация
10 min
172KTutorial
Пару месяцев назад я здесь писал про свой тяжелый квад: раз, два. Спасибо всем, кто читал и комментировал — я нe ожидал, что мои скромные труды привлекут такое количество читателей. Нo раз данная тема, судя по всему, интересует аудиторию Хабра, то поведаю вам о своем последнем проекте: легком FPV-трикоптере, который я завершил буквально на днях.
Для этого коптера я поставил себe следующие задачи:
Исходя из этих требований, я опять сел за LibreCad, и нарисовал вот что:
Поставленная задача
Для этого коптера я поставил себe следующие задачи:
- Высокая маневренность: хотя мой квад неповоротливым назвать не получается, но тем не менее, при весе в 2.2кг и с дорогой камерой на относительно хрупком подвесе спереди исполнять на нем фигуры высшего пилотажа как-то рука не поднимается. Хотелось коптер, на котором можно будет крутить бочки и петли вокруг деревьев без задних мыслей.
- Удароустойчивость: требование непосредственно связано с первым. Долго чинить коптер после каждой неожиданной посадки в дерево — не дело, аппарат должен держать удар.
- Время полета: хотя бы 10-15 минут, менять аккумуляторы чаще — ужe неинтересно.
- Легкий вес: данное требование исходит из трех предыдущих. Чем легче коптер, тем проще ему менять направление полета, тем меньше энергия столкновения с чем-либо, и тем дольше он провисит в воздухе на одной батарейке.
- Компактность: хотелось аппарат, который помещается в рюкзак, чтобы можно было его без проблем брать с собой в общественном транспорте и при пеших походах.
Исходя из этих требований, я опять сел за LibreCad, и нарисовал вот что:
+156
Файл, который нужно закоммитить перед уходом с работы
2 min
112KRecovery Mode
Немножко пятничного настроения в субботу. Я думаю, все видели этот код:
Но Aras Pranckevičius пошел еще дальше. Как написать код, который не так просто обнаружить?
И если вначале идут простые примеры, то дальше начинается…
Но Aras Pranckevičius пошел еще дальше. Как написать код, который не так просто обнаружить?
И если вначале идут простые примеры, то дальше начинается…
+172
Прямые в гексагональном растре
4 min
11KДанное исследование не претендует на оригинальность, я полагаю, что на самом деле изобретаю велосипед, но никаких деталей от него при (признаю, довольно поверхностном) изучении интернета мне найти не удалось.
Понаблюдав за разнообразными игрушками, передвижение персонажей в которых производится на плоскости, вымощенной правильными шестиугольниками, меня зацепил вопрос — а как должна выглядеть прямая на такой плоскости. Собственно, задача оптимального перемещения персонажа из шестиугольника A в шестиугольник B (подразумеваю, что на плоскости нет препятствий, под оптимальным перемещением подразумеваю такое, чтобы оно происходило через наименьшее количество шестиугольников) может быть решена кучей разных способов, маршрут далеко не единственен, так же, как, впрочем, и на плоскости, покрытой квадратами. Но мне хотелось бы, чтобы маршрут был приближен к отрезку прямой, как приближено к отрезку прямой изображение, построенное по алгоритму Брезенхэма, и в то же время реализация должна быть достаточно прозрачной и простой.
Понаблюдав за разнообразными игрушками, передвижение персонажей в которых производится на плоскости, вымощенной правильными шестиугольниками, меня зацепил вопрос — а как должна выглядеть прямая на такой плоскости. Собственно, задача оптимального перемещения персонажа из шестиугольника A в шестиугольник B (подразумеваю, что на плоскости нет препятствий, под оптимальным перемещением подразумеваю такое, чтобы оно происходило через наименьшее количество шестиугольников) может быть решена кучей разных способов, маршрут далеко не единственен, так же, как, впрочем, и на плоскости, покрытой квадратами. Но мне хотелось бы, чтобы маршрут был приближен к отрезку прямой, как приближено к отрезку прямой изображение, построенное по алгоритму Брезенхэма, и в то же время реализация должна быть достаточно прозрачной и простой.
+35
Python for Programmers
1 min
31KTutorial
Многие знакомы с выступлением Алекса Мартелли (Alex Martelli) на Google Tech Talk под названием Python for Programmers (слайды) — в нём он чётко и лаконично рассказывает основы Питона для тех, кто уже умеет программировать, например на C, С++ или Java. По его презентации я сам учил Питон четыре года назад, перед тем как начать использовать его в преподавании программирования на матмехе СПбГУ.
Сегодня хочу представить вам интерактивный вариант этой презентации — онлайн мини-курс Python for Programmers, созданный и опубликованный под лицензией Creative Commons с разрешения Алекса. Мы добавили к его презентации интерактивных упражнений, обновили материал с Python 2.5 до Python 3.3, добавили информацию по актуальным библиотекам и разнице между 2 и 3 версиями Питона.
Сегодня хочу представить вам интерактивный вариант этой презентации — онлайн мини-курс Python for Programmers, созданный и опубликованный под лицензией Creative Commons с разрешения Алекса. Мы добавили к его презентации интерактивных упражнений, обновили материал с Python 2.5 до Python 3.3, добавили информацию по актуальным библиотекам и разнице между 2 и 3 версиями Питона.
+69
О простых числах, криптографии и повреждениях мозга
2 min
46KСегодня же пятница, да?
Прочитал совсем недавно довольно известную книгу «Человек, который принял жену за шляпу». Книга действительно стоит быть прочитанной, но я сейчас не об этом.
В одном из сюжетов автор — практикующий врач, работающий с людьми с разной степенью повреждения мозга, сталкивается с близнецами-аутистами, играющими друг с другом в игру. Сначала один из них называет шестизначное число, через какое-то время другой явно этому чилу радуется, словно что-то в нем разглядев, и в свою очередь, называет другое шестизначное число. Процесс повторяется много раз.
Прочитал совсем недавно довольно известную книгу «Человек, который принял жену за шляпу». Книга действительно стоит быть прочитанной, но я сейчас не об этом.
В одном из сюжетов автор — практикующий врач, работающий с людьми с разной степенью повреждения мозга, сталкивается с близнецами-аутистами, играющими друг с другом в игру. Сначала один из них называет шестизначное число, через какое-то время другой явно этому чилу радуется, словно что-то в нем разглядев, и в свою очередь, называет другое шестизначное число. Процесс повторяется много раз.
+53
[NES] Пишем редактор уровней для Prince of Persia. Глава первая. Знакомство
10 min
30KГлава первая, Глава вторая, Глава третья, Глава четвертая, Глава пятая, Эпилог
В детстве, как и у многих, родившихся в 80-х, у меня была приставка Dendy. Клон японской FamiCom, подаренный нам добрыми китайцами, и распространяемый небезызвестной Steepler, раскрасил в яркие цвета детство многих из поколения 80-х. Раз за разом, проходя полюбившиеся мне игры вдоль и поперек, находя все возможные секреты (причем, зачастую, без книжек с громкими заголовками в духе «Секреты и прохождения 100500+1 игр», ценность которых стремилась к нулю), мне хотелось играть в них еще и еще, но с новыми уровнями, новыми секретами и новыми возможностями.
Некоторые игры предусматривали встроенный редактор уровней (например, Battle City, Fire'n'Ice aka Solomon's Key 2), но большинство из них, разумеется, таковой возможности не предоставляли. Хотелось сыграть (естественно!) в новый Super Mario Bros (о, как я любил и ненавидел китайцев, выпустивших картридж 99...9 in 1, в котором были уровни A-1, B-1,… Z-1, которые невозможно было пройти, или которые представляли собой дубли оригинальных уровней, но с измененными текстурами), Duck Tales 1, 2 и многие другие.
С появлением компьютера и возможности эмуляции на нем игр, забрезжил свет в конце туннеля моей мечты, и во мне начала украдкой теплиться надежда. Начали появляться различные редакторы игр, в которых достаточно указать ROM-файл и ты можешь не только увидеть всю игру целиком со всеми ее секретами и подводными камнями, но и добавить что-то свое.
Между тем, редакторы на одни игры находились чуть ли не по первым ссылкам в гугле, на другие же были запрятаны либо где-то далеко (но находились таки), либо отсутствовали вовсе. Найдя редакторы для большинства любимых мной игр, я никак не мог найти редактор для Персидского принца. Да, есть редакторы для DOS-версии, есть для SNES, но моя родная, — NES-версия, была обделена таким сокровищем.
Различного рода ресурсы по NES и ее эмуляции не очень охотно поддавались моему пониманию и я так и оставался где-то на уровне нуба.
И, однажды, в час небывало жаркого заката, в Москве, я, подтянув ремень, открыв HEX-редактор и эмулятор с отладчиком, приступил к изучению загадочного для меня набора байтов, содержащихся в ROM.
Начал я… Впрочем, перед тем, как я начну рассказывать далее, предостерегу:
Не рекомендуется лезть под кат профессионалам. Там рассматриваются «живодерские» методы новичка! Работа Вашей нервной системы может быть необратимо нарушена! Я предупредил.
Disclaimer
В детстве, как и у многих, родившихся в 80-х, у меня была приставка Dendy. Клон японской FamiCom, подаренный нам добрыми китайцами, и распространяемый небезызвестной Steepler, раскрасил в яркие цвета детство многих из поколения 80-х. Раз за разом, проходя полюбившиеся мне игры вдоль и поперек, находя все возможные секреты (причем, зачастую, без книжек с громкими заголовками в духе «Секреты и прохождения 100500+1 игр», ценность которых стремилась к нулю), мне хотелось играть в них еще и еще, но с новыми уровнями, новыми секретами и новыми возможностями.
Некоторые игры предусматривали встроенный редактор уровней (например, Battle City, Fire'n'Ice aka Solomon's Key 2), но большинство из них, разумеется, таковой возможности не предоставляли. Хотелось сыграть (естественно!) в новый Super Mario Bros (о, как я любил и ненавидел китайцев, выпустивших картридж 99...9 in 1, в котором были уровни A-1, B-1,… Z-1, которые невозможно было пройти, или которые представляли собой дубли оригинальных уровней, но с измененными текстурами), Duck Tales 1, 2 и многие другие.
С появлением компьютера и возможности эмуляции на нем игр, забрезжил свет в конце туннеля моей мечты, и во мне начала украдкой теплиться надежда. Начали появляться различные редакторы игр, в которых достаточно указать ROM-файл и ты можешь не только увидеть всю игру целиком со всеми ее секретами и подводными камнями, но и добавить что-то свое.
Между тем, редакторы на одни игры находились чуть ли не по первым ссылкам в гугле, на другие же были запрятаны либо где-то далеко (но находились таки), либо отсутствовали вовсе. Найдя редакторы для большинства любимых мной игр, я никак не мог найти редактор для Персидского принца. Да, есть редакторы для DOS-версии, есть для SNES, но моя родная, — NES-версия, была обделена таким сокровищем.
Различного рода ресурсы по NES и ее эмуляции не очень охотно поддавались моему пониманию и я так и оставался где-то на уровне нуба.
И, однажды, в час небывало жаркого заката, в Москве, я, подтянув ремень, открыв HEX-редактор и эмулятор с отладчиком, приступил к изучению загадочного для меня набора байтов, содержащихся в ROM.
Начал я… Впрочем, перед тем, как я начну рассказывать далее, предостерегу:
Не рекомендуется лезть под кат профессионалам. Там рассматриваются «живодерские» методы новичка! Работа Вашей нервной системы может быть необратимо нарушена! Я предупредил.
+71
mySQLgame 2.0
2 min
15KУстали от однообразных браузерных игр, которые представляют собой лишь набор кнопок, отправляющих запросы к базам данным? Встречайте Lone lord — игру, в которой нет кнопок и в которой надо писать запросы в базу данных.
+40
Raytracing render на C
12 min
75KИмея опыт разработки на одном из высокоуровневых языков программирования, а также интерес к задачам из различных областей информатики, я наконец нашел возможность овладеть еще одним инструментом — языком программирования С. Исходя из собственного опыта — знания лучше усваиваются, если применять их для решения практических задач. Поэтому, было решено реализовать с нуля Ray tracing рендер (поскольку увлекаюсь компьютерной графикой ещё со школьных времен).
В данной статье хочу поделиться собственным подходом и полученными результатами.
В данной статье хочу поделиться собственным подходом и полученными результатами.
+103
Ассембли 2013
2 min
26KНа этих выходных в Финляндии проходил легендарный компьютерный фестиваль Assembly 2013. Во время 76-часовой онлайн трансляции AssemblyTV мы могли наблюдать за одним из самых больших компьютерных фестивалей в мире, который ежегодно посещают более 5.000 участников, а также более 200 волонтеров работают над его организацей.
Ассембли это мероприятие для геймеров, демосценеров и любого кто интересуется цифровой культурой.
Трансляция открыта для всего интернета. С её помощью мы можем в живую следить за событиями в Hartwall Areena, виртуально присутствовать на интересных семинарах, смотреть конкурсы на лучшее демо и интро, наблюдать за графическими и музыкальными соревнованиями, участвовать в обсуждении демок в студии AssemblyTV с известными личностями демосцены, смотреть интервью со спонсорами и живые концерты.
Главным событием Ассембли традиционно являются конкурсы с демонстрацией визуальных и аудиоэффектов, которые выполняются/просчитываются/воспроизводятся специально написанными программами в realtime.
Рад представить вам несколько демо из номинантов этого года:
Участвуют демки с максимальным размером до 1 килобайта(!).
Ассембли это мероприятие для геймеров, демосценеров и любого кто интересуется цифровой культурой.
Трансляция открыта для всего интернета. С её помощью мы можем в живую следить за событиями в Hartwall Areena, виртуально присутствовать на интересных семинарах, смотреть конкурсы на лучшее демо и интро, наблюдать за графическими и музыкальными соревнованиями, участвовать в обсуждении демок в студии AssemblyTV с известными личностями демосцены, смотреть интервью со спонсорами и живые концерты.
Главным событием Ассембли традиционно являются конкурсы с демонстрацией визуальных и аудиоэффектов, которые выполняются/просчитываются/воспроизводятся специально написанными программами в realtime.
Рад представить вам несколько демо из номинантов этого года:
1k — intro
Участвуют демки с максимальным размером до 1 килобайта(!).
+41
Знай сложности алгоритмов
2 min
997KTranslation
Эта статья рассказывает о времени выполнения и о расходе памяти большинства алгоритмов используемых в информатике. В прошлом, когда я готовился к прохождению собеседования я потратил много времени исследуя интернет для поиска информации о лучшем, среднем и худшем случае работы алгоритмов поиска и сортировки, чтобы заданный вопрос на собеседовании не поставил меня в тупик. За последние несколько лет я проходил интервью в нескольких стартапах из Силиконовой долины, а также в некоторых крупных компаниях таких как Yahoo, eBay, LinkedIn и Google и каждый раз, когда я готовился к интервью, я подумал: «Почему никто не создал хорошую шпаргалку по асимптотической сложности алгоритмов? ». Чтобы сохранить ваше время я создал такую шпаргалку. Наслаждайтесь!
+280
Брезенхем и У на страже диагоналей
4 min
95KНа что вы сейчас смотрите? Если вы не из параллельной вселенной, где все сидят за векторными мониторами, то перед вами растровое изображение. Поглядите на эту полоску: /. Если придвинуться поближе к монитору, то можно увидеть пиксельные ступеньки, которые пытаются притвориться векторной линией. Для этой цели существует целая куча всевозможных алгоритмов растеризации, но я бы хотел рассказать об алгоритме Брезенхема и алгоритме У, которые находят приближение векторного отрезка в растровых координатах.
С проблемой растеризации мне довелось столкнуться во время работы над процедурным генератором планов зданий. Мне нужно было представить стены помещения в виде ячеек двумерного массива. Похожие задачи могут встретиться в физических расчётах, алгоритмах поиска пути или расчёте освещения, если используется разбиение пространства. Кто бы мог подумать, что знакомство с алгоритмами растеризации однажды может пригодиться?
+50
Кручу-верчу, запутать хочу: углы Эйлера и Gimbal lock
3 min
126KВыставите любой палец левой руки вперед. Давайте, не стесняйтесь, никто не будет над вами смеяться. Это нужно для важного эксперимента. Выставили? Теперь представьте что вы — это ваш палец (ну и бред). Повернитесь под прямым углом направо, затем наверх, и наконец налево. Где вы оказались? Правильно, в том же месте, но уже на спине.
С некоторой натяжкой именно так работает вращение с помощью углов Эйлера. Немного непредсказуемо и неудобно, не правда ли? Углы Эйлера имеют несколько недостатков, но есть одно особенно нехорошее свойство из-за которого вы не захотите с ними связываться. Его имя — Gimbal lock.
В русском языке gimbal lock называют по-разному: шарнирный замок, блокировка осей, складывание рамок. К сожалению, по запросам в поисковике с такими ключевыми словами выдаётся много мусора, а статья в Википедии оставляет желать лучшего, поэтому я сам расскажу вам об этом феномене и предложу как с ним бороться.
Внимание! Заходя под кат вы подвергаетесь риску поломать голову.
+53
Torchlight бесплатен для загрузки на GOG.COM в течение двух дней
1 min
45KНа сайте GOG.COM стартовала летняя распродажа игр «2013 #NoDRM Summer Sale». В том числе, только до конца 20 июня будет доступна для бесплатного скачивания известная Diablo-like игра от Runic Games Torchlight.
Игра доступна для Windows (XP, Vista, 7, 8) и Mac OS X (10.6.8 или выше).
В качестве бонуса к игре Вы получаете мануал, обои, саундтрек, аватарки и редактор уровней.
+54
Google и Facebook не давали разведке прямого доступа к серверам, но создавали для неё «защищённые порталы»
2 min
25KДевять компаний, обвинённых вчера в участии в разведывательной программе по сбору данных PRISM, опровергли обвинения, заявив, что не предоставляли «прямого доступа» к своим серверам. Однако по словам The New York Times, всё дело в формулировках.
Как пишет The Verge с ссылкой на The Times, на самом деле правительство обратилось к таким компаниям, как Google, Apple, Microsoft и Facebook, с вопросом о разработке цифровых защищённых порталов, в которые компании могли бы передавать данные и куда позже могло бы получить доступ правительство.
По данным источников Times, большая часть упоминавшихся компаний сначала сопротивлялись реализации такого сервиса, но в итоге многие из них согласились на участие в той или иной степени (Twitter, как сообщают, отказался от участия). Причём и Google, и Facebook принимали участие в обсуждении планов по разработке отдельных «защищённых порталов» — и Facebook якобы уже создал такую систему, несмотря на сегодняшний возмущённый пост Марка Цукерберга.
+39
Information
- Rating
- 3,826-th
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Registered
- Activity
Specialization
Software Developer, Траблшутер