Search
Write a publication
Pull to refresh
95
0
allex @allex

User

Send message

Imax B6 — Универсальный зарядочный комбайн

Reading time6 min
Views1.2M
На хабре уже была статья про этот народный зарядник, но как то встречена без особого энтузиазма. Постараюсь это исправить, и рассказать о тех возможностях, про которые не было написано в той статье. Зарядное устройство действительно народное, любой моделист или причастный к ним с первого взгляда его узнает.

Итак, что на обещают производители?
  • Заряд аккумуляторов Li-ion, Li-pol, LiFe, NiCd, NiMH, PbAcid(свинцовые всех типов)
  • Полностью автоматический процесс заряда, управляемый микроконтроллером. Отсечка по току и напряжению для литиевых аккумуляторов, по температуре и ΔV для никелевых. Для всех типов — выключение по максимальному времени и емкости.
  • Тренировка NiCd и NiMH. Балансировочный заряд Li-pol аккумуляторов(для батарей с несколькими банками)
  • Ток заряда до 5А, разряда — до 1А.
  • Экран с показаниями текущего напряжения, тока, емкости. Выгрузка всех этих параметров на компьютер и построение графиков.
Читать дальше →

Какая команда в консоли отнимает у вас больше всего времени?

Reading time4 min
Views24K
У меня — 'cd'.

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

Но должны же быть решения!



В моей любимой оболочке zsh есть такая возможность — «разворачивание» путей по нажатию : например, "/u/in/sy" -> "/usr/include/sys/"

В остальных оболочках можно приноровиться и использовать $CDPATH или pushd/popd, но лично мне это до сих пор кажется неудобным.

А еще есть пара утилиток для ускоренной навигации. Самая известная из них, пожалуй, autojump. Она следит в каких папках пользователь проводит больше всего времени и позволяет указывать только фрагмент пути к папке. Например "incl" приведет вас в "/usr/include", если вы там часто бываете.

Autojump вдохновила другого разработчика на создание утилиты "z". "Z" использует в качестве критерия для перехода т.н. "frecency" - комбинацию частоты посещений папки (frequency) и времени последнего перехода туда (recency).

Обе утилиты хороши по-своему, и я так бы и пользовался autojump или z, однако что-то мне не давало покоя. А недавно я услышал одну фразу:

If the product is used as a tool, its interface should be as unintelligent as
possible. Stupid is predictable; predictable is learnable; learnable is usable.


И тут я понял что самое время придумать свой велосипед. Не-intelligent. Тупой и удобный.
Читать дальше →

Отладка приложений для Android без исходного кода на Java

Reading time4 min
Views56K

О чем статья


В этой статье я сжато, без «воды», расскажу как отлаживать приложения для Android не имея их исходного кода на Java. Статья не совсем для новичков. Она пригодиться прежде всего тем кто более или менее понимает синтаксис Smali и имеет некоторый опыт в reversing engineering приложений для Android.

Хочу послушать

Компиляция пакетов

Reading time2 min
Views34K
В Ubuntu используется философия пакетного менеджмента, то есть все программы ставятся из пакетов deb, в которых хранится, собственно сама программа и скрипты, которые корректно ставят/удаляют/обновляют. Пакеты deb можно найти в сети Интернет, на дисках. Самый лучший способ использовать репозитории, хранилища deb пакетов. Если использовать репозитории, то при появлении в них новых версий установленных у вас программ, вам будет проще и быстрей обновить их. Это очень удобно и позволяет держать систему актуальной и защищенной. Иногда требумой программы в репозитариях нет и приходится компилировать из исходников. Но это надо делать правильно.
Сегодня я хочу предложить изящный метод, не раз помогавший мне.
Читать дальше →

Самый ценный совет по программированию, который я получил

Reading time1 min
Views16K
«Год или два, с момента начала работы в Bell Labs, я работал в паре с Кеном Томпсоном над интерактивным графическим языком, разработанным Джерардом Хольцманом (Gerard Holzmann). Я печатал быстрее, поэтому я сидел за клавиатурой, а Кен стоял позади меня. Мы работали быстро, и когда компилятор выдавал ошибку, я рефлективно начинал закапываться в проблему, изучая стек вызовов, вывод программы, запускал отладчик и так далее. Но Кен просто стоял рядом и думал, игнорируя меня и код, который мы только что написали. Вскоре я заметил закономерность: Кен зачастую понимал, в чем проблема, раньше меня и произносил: „Я знаю, что не так“. Обычно он был прав. Я понял, что Кен выстраивал ментальную модель кода и, когда что-то ломалось, это была ошибка в модели. И думая о том, как эта проблема могла возникнуть, он выяснял, в каком месте модель была неверна или где наш код мог неправильно эту модель отразить.
Читать дальше →

Wi-Fi: неочевидные нюансы (на примере домашней сети)

Reading time14 min
Views1.4M
Сейчас многие покупают точки доступа 802.11n, но хороших скоростей достичь удается не всем. В этом посте поговорим о не очень очевидных мелких нюансах, которые могут ощутимо улучшить (или ухудшить) работу Wi-Fi. Всё описанное ниже применимо как к домашним Wi-Fi-роутерам со стандартными и продвинутыми (DD-WRT & Co.) прошивками, так и к корпоративным железкам и сетям. Поэтому, в качестве примера возьмем «домашнюю» тему, как более родную и близкую к телу. Ибо даже самые администые из админов и инженеристые из инженеров живут в многоквартирных домах (или поселках с достаточной плотностью соседей), и всем хочется быстрого и надежного Wi-Fi.
[!!]: после замечаний касательно публикации первой части привожу текст целиком. Если вы читали первую часть — продолжайте отсюда.
Читать дальше →

Как я покупал квартиру

Reading time11 min
Views62K
Я хотел написать статью про линейную регрессию, но потом подумал, да ну её, лучше куплю квартиру. И пошёл искать, что предлагают. А предлагают, как оказалось, много чего. В подходящий мне ценовой диапозон попало больше 500 квартир. И что, мне теперь все это просматривать? Ну нееет, программист я в конце концов или не программист. Надо это дело как-то автоматизировать.
Читать дальше →

Эмулятор Bluestacks + Eclipse: ускоряем отладку и тестирование Android-приложений

Reading time3 min
Views99K
Об эмуляторе Android под названием Bluestacks на Хабре уже писали. Но писали или в общем, или мало, или сухо. Тем временем проект подрос и ныне вполне пригоден для использования при тестировании и отладке приложений под Android. Зачем это делать? А затем, что Bluestacks работает намного, нет, даже намного-намного быстрее стандартного эмулятора из Android SDK. Под катом я расскажу о нюансах использования Bluestacks, настройке отладки из-под Eclipse, приведу пару замеров скорости работы и расскажу о нескольких ложках дёгтя в бочке мёда.
Читать дальше →

Как сделать группу инпутов удобной

Reading time2 min
Views47K
Когда я работал над сервисом заметок jotsky.com, еще до работы в Островке, надо было сделать ввод телефонного номера из двух инпутов. Примерно такой:



Я сделал навигацию с помощью стрелочек. Сделал, чтобы по мере заполнения фокус переключался к следующем инпуту. А вот сделать правильную вставку из буфера обмена у меня никак не получалось.
Читать дальше →

Свежий взгляд на примеси в JavaScript

Reading time8 min
Views19K
В этой статье я детально исследую примеси в JavaScript, и покажу менее общепринятую, но, на мой взгляд, более естественную стратегию «примешивания», которую, надеюсь, вы найдете полезной. Закончу я матрицей результатов профилирования, подводящей итог влиянию на производительность каждой техники. (Большое спасибо блистательному @kitcambridge за ревью и улучшение кода, на котором основан этот пост!)

Повторное использование функций

В JavaScript каждый объект ссылается на объект-прототип, из которого он может наследовать свойства. Прототипы — отличные инструменты для повторного использования кода: один экземпляр прототипа может определять свойства бесконечного числа зависимых сущностей. Прототипы могут так же наследоваться от других прототипов, формируя, таким образом, цепочки прототипов, которые более-менее повторяют иерархии наследования «классовых» языков типа Java and C++. Многоэтажные иерархии наследования иногда бывают полезны при описании природного порядка вещей, но, если первичным мотивом служит повторное использование кода, такие иерархии могут быстро стать искривленными лабиринтами бессмысленных субклассов, утомительных избыточностей и неуправлямой логики («кнопка — это прямоугольник или контрол? Вот что, давайте унаследуем Button от Rectangle, а Rectangle может наследоваться от Control… так, стоп…»).
Читать дальше →

Как я стал чемпионом Robocode

Level of difficultyMedium
Reading time5 min
Views5.3K
Я — Jdev, автор Robocode-бота Tomcat, который в ноябре/декабре 2011 года был Королём Премьер Лиги общего зачёта Robocode (пруф) без единого поражения, сейчас занимает 3-е место из 911 в процентном зачёте и является героем моего повествования. В этой статье я рассказываю о своём шестилетнем пути к победе.
Читать дальше →

Что я постиг в программировании

Reading time5 min
Views11K
Я программирую уже более 30 лет. И мой путь в программировании тянется от микропроцессоров Z80 и 6502 до современных машин, от таких языков программирования как BASIC, assembly, C, C++ до Tcl, Perl, Lisp, ML, occam или arc, Ruby, Go и проч.

Вот список того, что я постиг в программировании:

0. Программирование удел ремесленника, а не ученого или инженера

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

По мне так это ремесло. Я считаю, что лучшие программисты ближе скорее к часовщикам нежели к строителям мостов или физикам. Конечно, с виду это занятие напоминает науку или инженерное дело всилу использования логики и математики, но в большинстве случаев ты просто берешь инструменты в руки и что-то создаешь.
Читать дальше →

20 лучших iOS и Android приложений 2012

Reading time9 min
Views119K
По состоянию на середину 2012 года для загрузки на iOS и Android-устройства доступно 1.2 млн. мобильных приложений. С таким огромным выбором, доступным буквально по одному тапу – включая десятки достойных приложений, представляемых на наш суд ежедневно, – задача по составлению полугодового списка "лучших из лучших" новых приложений является более сложной (и приятной), чем когда-либо ранее.

Из сотен (если не тысяч) приложений для iOS и Android, выпущенных в 2012 году, приложения, достойные войти в список 20 лучших, могут делать все, начиная от оценки стоимости дома по его фотографии, до начисления пользователям баллов лояльности, просто за просмотр ими любимых ТВ-программ. Мы также приветствовали сиквел долгожданной игры, который, так или иначе, превзошел все наши ожидания.

Быстро пробежимся по нашей методологии до того, как начать. Все отобранные приложения были либо впервые выпущены, либо существенно обновлены в период с 1 января по 30 июня этого года. Приложения, дебютировавшие на iOS и Android, которые ранее были доступны на других платформах, также могли быть включены в выборку. Все наши претенденты были найдены, отобраны и расставлены по местам сервисом Appolicious Advisors и членами нашего сообщества. В целом, около дюжины редакторов из команды Appolicious предложили на рассмотрение свои приложения-фавориты. Также мы опросили наиболее активных и влиятельных пользователей сайтов и приложений от Appolicious. Мы не учитывали количество загрузок приложений или их общую популярность. Наша качественная оценка основывается, главным образом, на полезности и творческой составляющей, заложенной в каждом, из попавших в наш список приложений.

Давай уже приступим.

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

Немного настройки Eclipse Juno: избавляемся от огромных табов и кнопки закрывания таба

Reading time2 min
Views12K
В новом Eclipse Juno (версии 4.2) появилась новая модель построения интерфейса, основанная на UI-плагинах и CSS-подобных стилях оформления. И если раньше часть действий по тюнингу интерфейса можно было делать из настроек, то сейчас там девственно пусто:



Поэтому придётся копаться в CSS-стилях оформления интерфейса (именно CSS-подобные стили сейчас используются в этой среде).

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

Бесплатные способы продвижения Android-приложений

Reading time5 min
Views67K


Всем привет! В этом топике мне хотелось бы обсудить одну из самых интересных и в тоже время загадочных тем для большинства, как мне кажется, инди-разработчиков – это продвижение своих собственных приложений. Скажу пару слов о себе: я примерно 2 года занимаюсь Android-разработкой (исключительно в качестве хобби, правда). У меня есть десяток приложений в Play Store, с совокупным количеством загрузок более 5 млн. Ни то что бы очень много, да и большая часть загрузок приходится на одно приложение, но какие-то выводы касательно маркетинга я для себя сделал. Здесь я хочу поделиться своим опытом, наблюдениями, а так же призываю Вас рассказывать о своих результатах в комментариях. Обмен опытом в этом вопросе был бы полезен всем, я думаю.
Читать дальше →

Контракты vs Юнит тесты

Reading time5 min
Views7.9K
DISCLAIMER: Эта заметка подразумевает наличие у читателя базовых знаний о юнит тестах, в чем автор этих строк не сомневается, а также базовых знаний о проектирование по контракту, которые можно пополнить начиная отсюда.

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

Итак, давайте вкратце рассмотрим, в каком именно месте находится пересечение контрактов и юнит тестов, и постараемся ответить на вопрос: являются ли постусловия избыточными при наличии юнит тестов?

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

Отладка Javascript

Reading time5 min
Views146K
Debug Logo

Многие задают мне один и тот же вопрос:
«Как дебажить этот $%*!%$! JavaScript?».

Так вот, во-первых JavaScript — не $%*!%$! А как я его дебажу — сейчас расскажу.

(Примечание: наверное эта статья больше для новичков. Так что не судите строго)

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

Как удобно делать заметки в pdf файлах

Reading time2 min
Views47K
Хочу поделится новой модой с моего университета (Universidad de Barcelona — Spain). В нашей группе 70+ человек. Учимся на Computer Engineer. Первый год все ходили с бумажками, тетрадками, блокнотами… Но при виде метода преподавания урока большинства учителей (презентации с прожектора), я решил брать с собой ноутбук и нашел программу заметок для pdf формата. Именно в этом формате нам дают материал учителя. После того как пару однокурсников увидели эту программу у меня, с каждым днём количество ноутбуков на парах стало увеличиваться. Даже некоторые учителя стали ей пользоваться отравляя нам отчёты по работам с аннотациями этой программы.

Итак, PDF-XChange Viewer. Программа дает возможность тонкой настройки и включает в себя огромный набор нужных функций о которых можно прочитать на офф-сайте в разделе Feature List .

Что мне больше всего нравится:

  • Ряд заметок
  • Возможность разделять или склеивать разные документы на отдельные страницы.
  • Настройка быстрых клавиш на любую функцию/заметку программы.
  • Прилипание к границам, полям или сетке.
  • Поиск по заметкам, по темам по всем в отрытых документах
  • Snapshot Tool — выделил нужное и сразу с буфера картинкой в e-mail учителю
  • Создание своих заметок.
  • Закладки и работа с ними.
  • Экспорт всех заметок в файл или импорт их в документ.
  • Русский и другие языки.
  • Работает под Wine в linux и МacOSX


В чем удобность?
Читать дальше →

Как разогнать эмулятор Android

Reading time3 min
Views144K
Intel HAXM
Каждый, кто хоть раз работал с эмулятором для разработки приложений под Android, знает, что даже на современном железе эмулятор тормозит так, что для его использования нужно нечеловеческое терпение. То есть, наверное, надо самому стать андроидом-киборгом.

Но есть и еще один метод – попроще.

Intel Hardware Accelerated Execution Manager (Intel HAXM) — это решение, использующее аппаратные возможности виртуализации (Intel VT) и позволяющее значительно ускорить работу эмулятора Android.

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

Bomberman Online и хабраэффект — 450 игроков на одной карте. Отчёт и детали игрового движка

Reading time4 min
Views33K


Как и обещали в топике-анонсе нашей игры, выкладываем отчёт о хабраэффекте и детали игрового движка.
Читать дальше →

Information

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