Pull to refresh
34
0
Дмитрий @artyfarty

User

Send message

Квадрокоптер за 1 день и $120

Reading time8 min
Views350K
Создать квадрокоптер как платформу для летающего робота я планирую уже очень давно. Первые расчеты и заказ деталей я сделал год еще назад. Однако, делать «просто коптер» чтобы полетать, управляя с пультом или даже в FPV режиме конечной задачей не является. Поэтому коптер должен быть максимально гибким и как можно менее дорогим.
По отдельности все детали для коптера есть, но их сопряжение — дело простое только в теории. Нужно быть и программистом и инженером и моделистом — вертолетчиком. Поэтому процесс движется довольно небыстро. А летать хочется :) Ничто так не расхолаживает и не демотивирует как отсутствие видимых результатов, особенно когда прогресс-то вроде есть, но не наглядный. Да и экспериментировать сразу на большом квадракоптере дорого и опасно.
Поэтому я решил собрать для экспериментов миникоптер. Как всегда — задача сделать недорого, просто и гибко.
Мой результат — готовый коптер за 1 день (на сборку и запуск) и $120 (стоимость квадрокоптера включая доставку). А с аппаратурой — $145.
MiniQuadroCopter
«MiniQuadroCopter»
Под катом описание и видео.
Buddy-коды для заказа на HobbyKing
Строим недорогой квадрокоптер

PHP: фрактал плохого дизайна

Reading time32 min
Views207K

Предисловие


Я капризный. Я жалуюсь о многих вещах. Многое в мире технологий мне не нравится и это предсказуемо: программирование — шумная молодая дисциплина, и никто из нас не имеет ни малейшего представления, что он делает. Учитывая закон Старджона, у нас достаточно вещей для постижения на всю жизнь.

Тут другое дело. PHP не просто неудобен в использовании, плохо мне подходит, субоптимален или не соответствует моим религиозным убеждениям. Я могу рассказать вам много хороших вещей о языках, которых я стараюсь избегать, и много плохих вещей о языках, которые мне нравятся. Вперёд, спрашивайте! Получаются интересные обсуждения.

PHP — единственное исключение. Фактически каждая деталь PHP в какой-то мере поломана. Язык, структура, экосистема: всё плохо. И даже нельзя указать на одну убийственную вещь, настолько дефект систематичный. Каждый раз, когда я пытаюсь систематизировать недостатки PHP, я теряюсь в поиске в глубину обнаруживая всё больше и больше ужасных мелочей(отсюда фрактал).

PHP — препятствие, отрава моего ремесла. Я схожу с ума от того, насколько он сломан и насколько воспеваем каждым уполномоченным любителем нежелающим научиться чему-либо ещё. У него ничтожно мало оправдывающих положительных качеств и я бы хотел забыть, что он вообще существует.
Читать дальше →

Любительский перевод игр: анатомия процесса, часть первая

Reading time17 min
Views99K
Любительская локализация — явление, затронувшее многих игроманов, и порой даже сыгравшее не последнюю роль в формировании их интересов и отношения к игровой индустрии в целом. Наверное, благодаря тому, что оно издавна преследовало в основном благие цели, у большинства любителей интерактивных развлечений при его упоминании возникают преимущественно положительные ассоциации, а порой даже и ностальгические эмоции.

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


На картинке изображён логотип российского ромхакинг-сообщества по версии проекта Russian Romhacking.
Читать дальше →

[SSD only] Активация TRIM в Mac OS Lion / Mountain Lion 10.8

Reading time6 min
Views115K
Здравствуйте, уважаемые хабражители.

Этот перевод предназначен в первую очередь для тех, кто уже использует SSD диск и MacOS Lion. Лично я год с хвостиком радуюсь производительности SSD Intel X-25M и отсутствию карусельки смерти чего и вам от души желаю.

До сегодняшнего дня я был уверен, что мой SSD работает на 100% своих возможностей. Но не тут-то было! Если вы купили свой яблочный компьютер без SSD, то есть из магазина он выехал с обычным HDD, то обещанный во Льве TRIM у вас будет не активен, как оказалось только изначально укомплектованные SSD накопителем компьютеры имеют эту функцию по умолчанию. Проблема, как вы понимаете, в вызывающем вопросы маркетинге компании имеет софтверные корни, а не железные. И на эту подлянку от Apple мистер Грант Пеннэл предлагает свой болт с резьбой.

Добро пожаловать под Хабракат, там мы расчехлим Терминал и поправим это вопиющие недоразумение...

XCode 4.3: теперь можно ставить компилятор отдельно

Reading time1 min
Views6.5K
Изучая список изменений в обновившейся на днях XCode я заметил интересное — «command-line tools» теперь не входят в комплект и устанавливаются отдельно, в настройках. Анализатор TCP и гугление показали, что установить эти самые «command line tools» теперь можно не только из XCode, но и отдельно от него. Что это значит для пользователей? Теперь для использования macports или сборки себе последней версии Ruby нет необходимости качать несколько гигабайт XCode — достаточно скачать около 160 мегабайт «command-line tools» и к нашим услугам вполне себе полноценный gcc, make и прочий toolchain. Под катом инструкция куда кликать и пример сборки последней ruby 1.9.3-p125 с поддержкой Tk

Читать дальше →

Не компьютерная мышь и высокие технологии

Reading time3 min
Views10K
В древние времена слово «мышь» трактовалось однозначно, затем настали новые года, другие нравы и вот уже приходиться отмечать — статья не про компьютерную мышь.

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

Хочется взять и расстрелять, или ликбез о том, почему не стоит использовать make install

Reading time5 min
Views177K
К написанию сей заметки меня сподвигло то, что я устал делать развёрнутые замечания на эту тему в комментариях к статьям, где в качестве части инструкции по сборке и настройке чего-либо для конкретного дистра предлагают выполнить make install.
Суть сводится к тому, что эту команду в виде «make install» или «sudo make install» использовать в современных дистрибутивах нельзя.

Но ведь авторы программ в руководствах по установке пишут, что нужно использовать эту команду, возможно, скажете вы. Да, пишут. Но это лишь означает, что они не знают, какой у вас дистрибутив, и дистрибутив ли это вообще, может, вы вступили в секту и обкурилисьчитались LFS и теперь решили под свою хтоническую систему скомпилять их творение. А make install является универсальным, хоть и зачастую неправильным способом это сделать.

Читать дальше →

Топик якобы из песочницы

Reading time1 min
Views8.1K
Итак, кроме обычных топиков есть еще и топики из песочницы, при этом их можно публиковать с какой угодно кармой, так что можно опубликовать топик с кармой меньше нуля, для этого (далее на примере хрома): лезем в Developer Tools -> Element -> Search topic-type, меняем значение поля на sandbox и вуаля, топик якобы из песочницы, как подтверждение теории я публикую этот топик с кармой -4.

P.S. т.к. мне терять нечего то если меня забанят то пусть так и будет.

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

По следам ошибок распознавания

Reading time4 min
Views11K
Перекличка в армии
— Иванов!
— Я!
— Петров!
— Я!
— тридцать-тридцать!
— ???
— тридцать-тридцать, есть такой???
— Товарищ лейтенант! Моя фамилия Зозо.

Анекдот.


Все мы знаем, что программы распознавания документов иногда ошибаются. Действительно, если бы они не ошибались, не нужен им бы был развесистый пользовательский интерфейс с текстовым редактором. Наш FineReader, увы, всё ещё не исключение, но не в этом суть. Программы распознавания существуют уже довольно давно, столько же существуют и их ошибки… Кто из нас не сталкивался с фразой вроде «иду но дороге» в оцифрованной книжке? Давайте сегодня поищем эти милые шалости распознавалок, посмотрим, как они в конечном счёте повлияли на наш язык, как наблюдаемый объект – попробуем заметить статистически уловимые аномалии. Да, разумеется, при серьёзном языковом исследовании лингвист наверняка сумеет отделить зёрна от плевел, но, вот увидите, плевелы тоже весьма интересные попадаются.

Сразу оговорюсь. Не все найденные аномалии ведут происхождения от FineReader’а, хотя ко многим он приложил руку. Итак, начнём.
Читать дальше →

Бог — бестолковый гейм-дизайнер

Reading time5 min
Views6.1K
Вы наверное слышали, что существуют взрослые люди, которые верят в то, что вся вселенная, вся материя-пространство, наша планета Земля и все её обитатели созданы неким сверхъестественным сверхразумным существом по прозвищу Бог? Лично я не представляю как можно всерьёз относиться к таким идеям. Но общий смысл библейского сюжета о том, что всезнающий Бог создал наш мир и нас самих, а теперь пристально наблюдает за происходящим, натолкнул меня на мысль что это классический gamedev. И тут я решил буквально на секундочку принять идею «божественного творения» и посмотреть — так ли хорошо он справился со своей задачей, как утверждают некоторые?
Читать дальше →

Разбираемся с анимацией в jQuery

Reading time4 min
Views31K
imageЗдравствуйте. Сегодняшний топик я хотел написать о том, что механизм анимации в jQuery не эффективен, создает кучу таймеров, каждый из которых работает по отдельности, что приводит к чрезмерно частой перерисовки контента и сильно тормозит браузер, и хотел описать некоторые приемы написания «правильной анимации». В ходе подготовки примеров я понял, что я ошибался. Механизм анимации jQuery действительно не эффективен, создает кучу проблем, но причины этих проблем вовсе не в создании большого количества таймеров, а в нечте совсем другом, и, кажется, я добился замечательных результатов в устранении этих проблем.
Читать дальше →

Закрепление табов

Reading time1 min
Views2.3K
image

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

Лично у меня всегда есть несколько сайтов, которые открыты практически всегда — а места они занимают столько же, сколько и «временные табы», так что функция закрепления принесла много пользы!

Минихак: если хоть один таб уже закреплен, чтобы закрепить еще один, достаточно донести его к закрепленному табу мышкой. Чтобы раскрепить таб, нужно его немного подвинуть вправо.

Хорошего вечера!
UPD: Как это сделать? Нужно кликнуть правой кнопкой мыши по табу и выбрать пункт«Pin»

UPD2: От slik'a: можно перенести там в верхний левый угол и он закрепится

Интересная статистика для тех, кто продвигает свои iPhone приложения

Reading time1 min
Views2.2K
В данной статье в сжатом виде собрана статистика, которая будет интересна тем, кто создает и продает свои iPhone приложения в AppStore.

Читать дальше →

Трюки языка C#

Reading time4 min
Views20K

ИМХО, вместо того, чтобы вкручивать собеседникам мозги насчет заумной семантики event’ов и делегатов или же спрашивать когда написание new IEntity() легально, можно задать вопрос попроще – например “приведите пример необычного поведения или использования языка C#”. Вот несколько примеров, которые пришли в голову в качестве возможных ответов.



Читать дальше →

phpFastCGI: настоящий FastCGI для PHP

Reading time2 min
Views10K
— Добрый день. Вы наверняка уже наслышаны о протоколе FastCGI, он связывает Веб-сервер и сервер приложений, его реализации есть во множестве языков. Однако, в PHP реализация FastCGI до недавних пор была представлена лишь патчем PHP-FPM, который фактически не давал прироста производительности перед mod_php, поскольку он, вопреки идеологии FastCGI, перезапускает скрипт каждый раз заново. Идеология FastCGI подразумевает единовременную инициализацию приложения при запуске (подгрузку нужных классов, соединение с базой данных, и т.д.), и выполнение запросов один за другим.
phpFastCGI — правильная реализация FastCGI, которая позволяет добиться немыслимой производительности.
Разработка идёт очень активно, и новые фичи появляются очень быстро.
Страничка проекта — phpfastcgi.googlecode.com
Пример простого приложения — code.google.com/p/phpfastcgi/source/browse/trunk/example.php
В действии пример можно увидеть здесь — ya-tv.ru/phpfastcgid (может переодически лежать, это нормально, идёт тестирование). Страничка-пример легко выдерживает 5,000 запросов в секунду всего на 20-ти воркерах.
Проект пока в стадии тестирования и живёт только в SVN.
Приглашаю всех заинтересовавшихся принять в нем посильное участие!
$ svn checkout phpfastcgi.googlecode.com/svn/trunk phpfastcgi

Читать дальше →

«Безопасные» шрифты

Reading time1 min
Views38K
Задался недавно вопросом, какие шрифты можно без зазрения совести и страха развалить дизайн сайта использовать на последнем.

Нашел несколько полезных ссылок, спешу поделиться с теми, кто еще не успел найти подобное.
пять штук

Полиглоты

Reading time5 min
Views4.3K
Есть люди-полиглоты, которые отличаются тем, что знают несколько языков. А есть программы-полиглоты, исходный код которых интерпретируется или компилируется независимо от языка.

Вся прелесть полиглота в том, что один и тот же исходный код можно сохранить как сишный файл, скомпилировать его, и порадоваться результату работы. А можно этот же файл запустить как bash-скрипт и увидеть точно такой же результат работы!
Читать дальше →

ImageOptim (mac), smush.it — сжимаем изображения

Reading time2 min
Views7K
Наверное многие из вас знают, что Adobe Photoshop и Adobe Fireworks сжимают изображения не оптимально и после нарезки макета в Photoshop'e (Fireworks'e) изображения в большинстве случаев можно ужать. В среднем на дополнительном сжатии без потери качества небольшого сайта можно сэкономить килобайт 10, уж не говоря о разного рода фотогаллереях или сайтов с большим количеством графики. Немало, особенно на высоконагруженных проектах! Существует довольно много консольных программ для сжатия картинок без потери качества, а через консоль работать достаточно неудобно, и это отнимает время разработчика. Около месяца назад наткнулся на программу под названием ImageOptim.

ImageOptim

Она прогоняет картинки через консольные оптимизаторы изображении (AdvPNG from AdvanceCOMP, OptiPNG, PngCrush, JpegOptim, Jpegtran from libjpeg и опционально PNGOUT) и выбирает лучший алгоритм для сжатия, и самое главное она имеет очень удобный визуальный интерфейс. Достаточно просто перетащить изображение или папку с изображениями в окно ImageOptim и все. К сожалению программа рассчитана на работу только с png и jpg форматами и не поддерживает gif.

Спешу расстроить пользователей Windows, есть только версия программы под Mac. Те кто использует Windows, могут обратить внимание на сервис smush.it — это онлайновый оптимизатор графики, также есть расширение для Firefox. Одним из преимуществ сервиса над ImageOptim является возможность оптимизации анимированных gif.

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

upd. Перенес в Web-разработку

upd2. В комментах подсказали, что есть программа с аналогичным функционалом под windows, называется PictureBeaver. Сам сию утилиту не тестировал, так что кто пользуется отпишитесь плз. Автор кстати москвич Артём Сапегин.

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity