Pull to refresh
3
0
tunelix2 @tunelix

User

Send message

Самодельный SD Card Shield для Arduino

Reading time3 min
Views92K
Приветствую, %username%!
Подумал на днях, что для своего будущего 2х ядерного коптера (да и мало ли других проектов) неплохо бы потом сделать еще и черный ящик (GPS), а для этого надо много памяти и EEPROM не поможет, а поэтому стоит купить или сделать SD шилд для Arduino.
Купить — дороговато для такой мелочи и долго ждать пока пришлют, поэтому гуглим и находим что народ то клепает свои шилды, для этого нам понадобится всего 6 резисторов, переходник/разъем для карты памяти и сама карточка (заработало с картами SD и SDHC, отформатированными в FAT16 и FAT32).
Читать дальше →

JS1k — пишем отличное веб приложение в 1024 байт

Reading time7 min
Views3.5K


Уже второй год я участвую в JS1k, в прошлом году был пробный скрипт, сейчас я решил подойти основательно. Приложения я уже написал и отправил. В статье я хочу поделиться своим опытом: как стоит писать приложение для JS1k, чем сжимать, как сократить код в 4 раза и вообще как впихнуть что-то интересное в 1 Кб.

Тема текущего JS1k "Oregon Trail" — классическая игра для Apple II (что это можно нагуглить). Поэтому рекомендуется написать что-то в этом духе, но это не обязательно.

Начало


Вам необходимо придумать небольшое приложение или демку, которое по вашему мнению может влезть в 1кб (продумать детали и управление). Если вы сомневаетесь в своих прикидках, то можно посмотреть, что впихнули в прошлом году: Legend Of The Bouncing Beholder, Tiny chess. Прочитайте правила и используйте html шаблон — тогда ваше приложение будет 100% работать в демо среде.
Начните писать скрипт, без каких-либо оптимизаций, но следите за его размером. Если он стал больше 4-5Кб — вам стоит придумать другую тему или в будущем придется попотеть (у меня было 4393 байт).
Читать дальше →

Nagios мониторинг баланса мобильного телефона

Reading time6 min
Views10K

Для чего это нужно


Когда в семье число мобильных телефонов становится более 3-х, назревает вопрос мониторинга баланса и оповещения, когда баланс приближается к критической отметке. Есть много средств для мониторинга баланса, но зачем городить огород, когда под рукой есть незаменимый Nagios (так получилось что и дома у меня есть свой мониторинговый сервер, его основная задача наблюдать за состоянием серверов организаций которые я администрирую в нерабочее время). Данное решение также подойдет для мониторинга баланса корпоративного лицевого счета.
Читать дальше →

Как быстро проверить Linux сервер на предмет взлома

Reading time4 min
Views128K
Примерно два года назад я арендовал у одного немецкого хостера не очень мощный сервер на базе Centos 5.2. На нём живут несколько вебпроектов, приносящих некоторую прибыль, и поэтому, я стараюсь присматривать за ним по мере возможности.
На Centos есть стандартный анализатор логов Logwatch, который запускается ежедневно по крону, анализирует содержимое /var/log, делает сводный отчет и присылает его по электропочте. В один прекрасный день я обнаружил в этом отчете запись:

--------------------- yum Begin ------------------------ 
 
 Packages Installed:
    lzo2 - 2.02-3.el5.rf.i386
    dnstracer - 1.8-1.2.el5.rf.i386
    openvpn - 2.0.9-1.el5.rf.i386

---------------------- yum End -------------------------


В тот момент меня она очень смутила, так как в предыдущий день на сервер я не логинился и тем более ничего не устанавливал. Первое, что пришло в голову — сервер был скомпроментирован. Себя я считал уверенным пользователем Linux, однако я растерялся. Благо в тот момент в icq был мой бывший коллега, лучший системный администратор, которого я знаю, и просто очень хороший человек.
Он помог быстро проверить систему. В результате у меня сформировалось краткое HowTo о том, как быстро проверить свой сервер на предмет взлома. Уверен, что многим Храброчитателям оно будет полезно. Предполагается, что пользователь знаком с консолью Linux/Unix.

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

Начинающим: счетчик на микроконтроллере с шагом 2/3 микросекунды и переполнением в несколько суток

Reading time7 min
Views30K
Часто при работе микроконтроллерного устройства есть необходимость отсчитывать «антропоморфное» время – сколько долей секунды светиться светодиоду, максимальный промежуток времени double-click и т. д. В общем, отсчитывать не только нано- и микросекунды, но и десятки миллисекунд, а то и секунды, минуты и даже часы (боюсь сказать о сутках…).
В то же время в микроконтроллерах нередко нужно одновременно с этим иметь дело с микросекундами – периоды импульсов, антидребезговое ожидание и т. п.
Есть также устройства, которые работают непрерывно многие часы и даже сутки – авиационная техника, автомобильная, скважинные устройства (там речь идет иной раз о непрерывной работе несколько дней). В этих случаях недопустимо переполнение таймеров и 8-битных переменных.
Хотелось бы это все объединить в одно изящное и универсальное решение – иметь средство измерения времени с точностью до микросекунды, не переполняющееся несколько дней.
Почему бы и нет? Помучился я некоторое время и родил решение для 8-битных микроконтроллеров AVR. Для этого я задействовал 8-битный таймер-счетчик и 4х-байтную переменную. С PIC-ами и AT89 я сейчас не работаю, а с другими embedded-платформами не дружу. Впрочем, если читатели помогут – сделаю и для них.
Достоинства – код в высшей степени повторяемый (я уже 5-ое устройство с ним делаю); простота в работе (не используются прерывания для клиентской части работы); клиентская часть кода условно платформенно-независимая; в прерывании – одна операция суммирования (но, правда, для 4-хбайтной величины); нет внешнего устройства — таймера реального времени.
Недостаток я нашел один – занят один такой полезный и всегда нужный таймер…
Статья будет интересна в первую очередь начинающим — Америку я тут не открыл.
Читать дальше →

Медиамагия: Приходишь домой, берёшь пульт и выбираешь, чтобы посмотреть с трекера

Reading time2 min
Views23K
Позвольте мне начать своё повествование с рассказа про свободное время, семью и тягу к прекрасному. Свободного времени, которое я могу провести с женой, обычно очень мало. То я занят, то жена. То мы оба. Но иногда высвобождается час-другой, который можно провести вместе. А что можно сделать вместе? Ну, кроме того что вы подумали, можно ещё посмотреть вместе фильм. Сходить в кино, например, выбрав один из пяти унылых фильмов в кинотеатре. Или достать с полки DVD и в 5й раз посмотреть «Новинки 2006 года, 8 в 1». Но кому нужны новинки 2006 года в качестве для мобильного телефона или платить деньги за билеты в кино, если всё что нужно для удовольствия можно сделать у себя дома практически бесплатно? Если есть трекер на котором постоянно выкладываются сотни интересных фильмов? Если есть хороший телевизор и диван, на котором смотреть фильмы намного приятнее? Нет, иногда, конечно, приятно сходить в кино, или пересмотреть новинки 2006, но в большинстве случаев мы хотим (1) дома, (2) бесплатно посмотреть (3) новый фильм (4) в хорошем качестве (5) не дожидаясь пока он скачается.
Читать дальше →

Пишем HTTP proxy сервер с плагинами

Reading time7 min
Views20K
imageОдно время всплыла тема, что в одной из онлайн-игр появилась такая довольно досадная штука, как каптча. Само по себе, отвлекаться от игры для ввода каптчи может обернуться не слишком хорошими последствиями, особенно, если вводишь её не с первого раза, могут и враги насолить. Но не в этом соль. Особенно плоха вещь для тех, кто использует локальных ботов. Те то, маленькие, спотыкаются об каптчу, и за это игра мнгновенно их штрафует потерей юнитов и ресурсов. Неприятная штука, что говорить.

Итак, задача:
Хочется, чтобы каптчу вводить не приходилось. Хоть если играешь сам, хоть если играет за тебя бот, если ты спишь.
Дополнительное условие: 40 часов времени (ибо паника на корабле).
Желательное условие: установочный файл под Windows.
Ещё одно желательное условие: результат должен занимать не более мегабайта.
Решение задачи с нуля под катом

Апгрейд видеокарты ноутбука

Reading time4 min
Views309K
Здесь расскажу о том, как из 5ти летнего Samsung R45 с видеокартой ATI Radeon Express 200M, у которой нет Pixel Shader 3.0, на которой современные игры либо вообще не идут, либо идут с 2 FPS на минимальных настройках, сделать достаточно мощную машину для игр и экспериментов по программированию.

image
Как превратить слабенький маленький ноутбук в монстра - читать далее...

Храним пароли открыто

Reading time1 min
Views16K
logo
Наткнулся на один очень интересный сервис от швейцарской компании Savernova, занимающейся вопросами безопасности. Он генерирует так называемую карту паролей, password card. С помощью нее очень легко выбрать себе сложный пароль, легко им пользоваться впоследствии и, самое главное, хранить такую карту можно хоть прилепив к монитору. Никто и никогда не сможет понять какой пароль был использован. Карту можно использовать для создания десятков различных комбинаций паролей. Ниже приведен механизм их выбора.
Читать дальше →

Генерация мнемонических сильных паролей

Reading time4 min
Views17K
Эта статья написана хабрапользователем stboris в рамках идеи "Green card".

В своей жизни я часто сталкиваюсь с необходимостью придумать пароль для своего (а также и не своего) нового аккаунта/логина.

Пароли должны быть достаточно сложны, иначе они могут быть легко подобраны (привет счастливым обладателям паролей god, sex, love). Также они должны по возможности быть разными, т.к. если вы даже и придумали очень сложный пароль, но пользуетесь им везде, то это легко может привести к компрометации.
Запомнить несколько десятков паролей, состоящих из случайного набора букв разных регистров, цифр, спецсимволов не такая уж тривиальная задача.

Моя память работает по какому-то своему особому принципу, что-то вроде «тут помню, тут не помню». С девушкой одного моего друга я знакомился 4 раза, не мог ее запомнить и все тут. Но есть у моей памяти и бонус — она очень хорошо работает с ассоциациями.
А еще, раньше я весьма много играл в разные игрушки: Кваку, Линягу, ВоВ и много еще чего сетевого и не очень и давно заметил, что для записи ников часто используют не только буквы, но и цифры и специальные символы.

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

Watir: простой парсинг сложных сайтов

Reading time4 min
Views51K
imageКаждый, кто пишет парсеры, знает, что можно распарсить сто сайтов, а на сто-первом застрять на несколько дней. Структура очередного отмороженного сайта может быть сколь угодно сложной, и, когда дело касается сжатых javascript-ов и ajax-запросов, расшифровать их и извлечь информацию с помощью обычного curl-а и регекспов становится дороже самой информации.

Грубо говоря, проблема в том, что в браузере работает javascript, а на сервере его нет. Нужно либо писать интерпретатор js на одном из серверных языков (jParser и jTokenizer), либо ставить на сервер браузер, посылать в него запросы и вытаскивать итоговое dom-дерево.

В древности в таких случаях мы строили свой велосипед: на отдельной машине запускали браузер, в нем js, который постоянно стучался на сервер и получал от него задания (джобы), сам сайт грузился в iframe, а скрипт извне отправлял dom-дерево ифрейма обратно на сервер.

Сейчас появились более продвинутые средства — xulrunner (crowbar) и watir. Первый — безголовый firefox. У crowbar есть даже ff-плагин для визуального выделения нужных данных, который генерит специальный парсер-js-код, однако там не поддерживаются cookies, а допиливать неохота. Watir позиционируется разработчиками как средство отладки, но мы будем его использовать по прямому назначению и в качестве примера вытащим какие-нибудь данные с сайта travelocity.com.

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

Моя безбумажная технология

Reading time3 min
Views3.3K
Я имею дело со множеством бумажных документов. Как ни стараюсь избавляться от бумаг, мне все равно приходят выписки из банка, извещения из пенсионного фонда, официальные письма, я заключаю договора в частном порядке, не говоря уже о работе, где количество изводимой бумаги зашкаливает.

Я отдаю себе отчет, что перебирание бумажек не главное в моей жизни, так что разбор корреспонденции у меня по приоритету болтается где-то на последних местах. В принципе, дела и так делаются, жизнь продолжается, так что можно было бы и не париться насчет бумажек. Как там говорится, «джентльменам верят на слово», что ли, но, к сожалению, далеко не все вокруг меня подпадают под категорию людей, слову которых стоит верить. А существенная часть бумажек, оседающая у меня, может быть классифицирована как «договор в простой письменной форме», или как акты исполнения обязательств. Соответственно, хотя бы до полного выполнения обязательств, их стоит хранить.

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

И ещё про «домашний» Asterisk

Reading time4 min
Views19K
Прочитав этот пост, решил поделиться и своим опытом.

В данный момент решены 2 простые задачи:
  • все звонки, поступающие на PSTN номер (обычный городской), переадресовываются на мобильный телефон, который у меня всегда в кармане и, одновременно, на SIP телефон, который стоит дома
  • с SIP телефона я могу звонить как по России, так и в некоторые нужные мне страны по минимальным тарифам.

Как это сделано?
Читать дальше →

Asterisk, или домашняя телефония для (про)двинутых пользователей

Reading time14 min
Views122K
Эта история началась два долгих года назад, когда во время командировки в США я ВДРУГ остался без мобильной связи: с дуру перед поездкой поменял телефон, а он оказался «двух-диапазонником»… Да и роуминг не дешёвый…
Итогом стало открытие для себя SIP-телефонии.

И вот несколько месяцев назад, из статей на Хабре, выясняю, что чужим дядям можно и не платить за межгород, если надо позвонить откуда-то в родной город через Интернет! Достаточно поставить VoIP сервер и настроить его так, как надо именно тебе!

И вот, взяв в руки Asterisk, я приступил к операции по борьбе с излишней жадностью ОпСоСов…

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

SIP телефония для дома — реализация, опыт, фишки

Reading time9 min
Views204K
Всем привет.

В комментариях к различным топикам на Хабре нередко видел вопросы класса «А зачем вам нужна SIP-телефония дома» и «Как все это безобразие работает». Некоторые темы на хабре уже раскрывались, но многое осталось в тени. Посему решил описать используемую мной схему SIP-устройств и сервисов, и набросать некоторые планы на будущее.

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

Подход к образованию по-английски

Reading time13 min
Views7.1K
Подход к образованию по-английскиПодхватывая новую волну статей об образовании, я хотел бы поделиться своим опытом обучения в магистратуре City University London (CUL). Во время зимней сессии я уже писал о том, как здесь проводятся экзамены, а сейчас собираюсь сделать обзор некоторых особенностях ВУЗа, в котором учусь. Многие вещи, о которых пойдёт речь, достойны того, чтобы быть позаимствованы. Наибольшее внимание будет уделяться тем моментам, которые, так или иначе, близки тематике Хабра.

Статья довольно обширная, и в ней немало фотографий, поэтому предупреждаю: трафик.

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

Дополненная реальность с открытым кодом

Reading time1 min
Views4.6K
Основанный на XNA Game Studio 3.1, движок Goblin XNA позволяет создавать миры дополненной реальности для мобильных и других платформ. Что из этого получается можно увидеть в видео.



Движок Goblin XNA распространяется с открытым исходным кодом под лицензией New BSD License. Дополнительную информацию можно почерпнуть со страницы сайта Колумбийского Университета.

Личный тайм-менеджмент

Reading time9 min
Views93K
Почитав недавний топик про лягушек я понял, что Хабрасообщество не очень хорошо ориентируется в вопросах тайм-менеджмента и многие никогда не занимались построением своей тайм-системы.

Поэтому я попробую исправить этот недочёт.

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

Welcome!

Читать дальше →
12 ...
14

Information

Rating
7,716-th
Registered
Activity