Не так давно озадачился поднятием на своем роутере D-Link DIR-320 сервера OpenVPN. Но после установки прошивки OpenWRT оказалось, что на 4-х мегабайтной флешке роутера не осталось достаточно места для установки OpenVPN. Выходом из ситуации стала сборка собственного варианта прошивки с помощью Image Generator, что позволило при том же наборе пакетов получить прошивку меньшего размера.
SolarFly @solarfly
Пользователь
Реклама программы, маскирующей Facebook-аккаунт под Excel
1 мин
415Соответственно тематике блога, это видео содержит даже два момента — весьма любопытный подход к рекламе своего программного продукта и, собственно, сам продукт — приложение, которое маскирует Facebook-аккаунт любителя пообщаться в рабочее время под страницу Excel, минимизируя риск быть пойманным бдительным начальником. Приложение Excellbook существенно ограничено в сравнении с обычной страницей Facebook, открытой в браузере. В частности, через эту программу нельзя просматривать фото или видео, но пользователи могут обновлять свой статус, получать последние новости от друзей и общаться ними в чате.
UPD: Для удобства попросили добавить ссылку на Excellbook.
UPD: Для удобства попросили добавить ссылку на Excellbook.
+9
Стек директорий. Снова простая вещь + дополнения
1 мин
3.7KМало кто знает о таких командах bash как pushd и popd.
Они позволяют работать со стеком директорий.
pushd $DIR позволяет перейти в $DIR и добавить текущую в стек. При каждом выполнении команды стек пополняется текущей директорией.
popd позволяет перейти к последней директории в стеке и извлечь её оттуда. Таким образом после каждого выполнения команды стек уменьшается на одну директорию, а текущая директория становится директорией на вершине стека.
Они позволяют работать со стеком директорий.
pushd $DIR позволяет перейти в $DIR и добавить текущую в стек. При каждом выполнении команды стек пополняется текущей директорией.
popd позволяет перейти к последней директории в стеке и извлечь её оттуда. Таким образом после каждого выполнения команды стек уменьшается на одну директорию, а текущая директория становится директорией на вершине стека.
+47
Сумма измерений показателя в rrdtool
3 мин
2.3KОб чем
RRD и RRDTool прочно вошли в нашу жизнь как средство хранения статистических данных данных и отрисовки графиков по ним. Если с графиками в принципе все понятно, то из поля легенды можно извлечь еще немного пользы. В частности, можно выводить сумму всех значений источника данных (datasource), например входящий траффик за промежуток времени, что можно использовать в дальнейшем для приблизительных прикидок. Мой пример для pnp4nagios, но верно для всех остальных систем на основе rrdtool.
+1
Сделайте ваши QR-коды более красивыми
3 мин
97KПеревод
Гамильтон Чан является генеральным директором и основателем Paperlinks.
Используя свободное приложение для iPhone от Paperlinks, рекомендованное Apple как одно из самых нужных и важных приложений, пользователи могут сканировать и просматривать содержимое QR-кодов. Paperlinks также обеспечивает мощную платформу для создания QR-кодов, хранения и отслеживания их посещаемости.
Используя свободное приложение для iPhone от Paperlinks, рекомендованное Apple как одно из самых нужных и важных приложений, пользователи могут сканировать и просматривать содержимое QR-кодов. Paperlinks также обеспечивает мощную платформу для создания QR-кодов, хранения и отслеживания их посещаемости.
+103
Мобильная связь до 50% дешевле?! Реальность
5 мин
9KПриветствую.
Я хочу рассказать как можно сэкономить до 50% на мобильной связи. Не используя гиковских средств. Вроде скайпа.
Предисловие
Мало кто знает, что операторы сотовой связи получают колоссальный процент дохода от тех, кто однажды купил сим-карту-вставил и звонит. Это происходит потому, что купив тариф с завлекательной надписью или по совету консультанта чаще всего мы не задумываемся о том, что идет время, у операторов выходят все новые и новые предложения. И на старых тарифах цена поднимается.
Операторы специально повышают цены на старых тарифах. Мотивируя это тем, чтобы пользователи переходили на новые тарифы и не засиживались на старых. Но в реальности, мало кто следит за изменениями в тарифах. В обществе укоренено мнение, что раз написано в бумажке 2 рубля минута, значит так будет всегда. На самом деле всё иначе. Операторы попросту наживаются на абонентах. И придраться к ним трудно, ведь все для нас, для нашего блага.
К сожалению, действительно выгодные старые тарифы остались только у корпоративных пользователей — подключение к таким тарифам возможно только на сером рынке. Для нас же обычных обывателей идет постоянное повышение цен.
В этом топике основной упор сделан на то, что вас по каким-то причинам устраивает ваш оператор. И вы просто хотите сэкономить в рамках своего оператора. Не взирая на то, что у конкурентов дешевле.
Однако, желающие могут так же воспользоваться рекомендациями из этого топика и подобрать себе что нибудь из тарифов другого оператора.
В этом топике, акцент будет сделан только на логистику.
Никаких секретов. :)
Главное начать!
+43
5 клевых сайтов, чтобы все думали, что вы работаете
2 мин
2.4KПеревод
На работе заблокированы любимые сайты? Офисный firewall прикрыл Twitter? Вот пятерка сайтов, которые помогут решить эту проблему и при этом сделать вид, что вы работаете ;)
1) Vanishd – прячем одну веб-страницу за другую
Сделаем так, чтобы сотрудники, босс и друзья думали, что вы работаете. Что если бы мы могли, например, прикрыть любую веб-страницу ложным Word-документом или даже страницей google.com и смотреть через небольшое окно на YouTube или что-нибудь другое? Для этих целей придуман сайт Vanishd.com
1) Vanishd – прячем одну веб-страницу за другую
Сделаем так, чтобы сотрудники, босс и друзья думали, что вы работаете. Что если бы мы могли, например, прикрыть любую веб-страницу ложным Word-документом или даже страницей google.com и смотреть через небольшое окно на YouTube или что-нибудь другое? Для этих целей придуман сайт Vanishd.com
+30
Пространственно-временная обработка изображений на GPU
9 мин
28KНе так уж и давно стало популярным использовать видеокарты для вычислений. В один прекрасный день, несколько лет назад и я взглянул на новую, тогда, технологию CUDA. В руках была хорошая карточка по тем временам GTX8800, да и задачки для распараллеливания тоже были.
Кто работал с GPU, знает про объединение запросов, конфликт банков и как с этим бороться, а если не работал, то можно найти несколько полезных статей по основам программирования на CUDA[1]. Карта GTX8800, в некотором смысле, была хороша тем, что была одной из первых и поддерживала только первые версии CUDA, поэтому на ней было четко заметно, когда есть конфликты банков или запросы в глобальную память не объединяются, потому что время в этом случае увеличивалось в разы. Все это помогало лучше понять все правила работы с картой и писать нормальный код.
В новые модели добавляют все больше и больше функциональности, что облегчает и ускорят разработку. Появились атомарные операции, кеш, динамический параллелизм и т.д.
В посте я расскажу про пространственно-временную фильтрацию изображений и реализацию для compute capability = 1.0, и как можно ускорить получившийся результат за счет новых возможностей.
Временная фильтрация может пригодиться при наблюдении за спутниками или в прочих ситуациях фильтрации, когда требуется точное подавление фона.
Кто работал с GPU, знает про объединение запросов, конфликт банков и как с этим бороться, а если не работал, то можно найти несколько полезных статей по основам программирования на CUDA[1]. Карта GTX8800, в некотором смысле, была хороша тем, что была одной из первых и поддерживала только первые версии CUDA, поэтому на ней было четко заметно, когда есть конфликты банков или запросы в глобальную память не объединяются, потому что время в этом случае увеличивалось в разы. Все это помогало лучше понять все правила работы с картой и писать нормальный код.
В новые модели добавляют все больше и больше функциональности, что облегчает и ускорят разработку. Появились атомарные операции, кеш, динамический параллелизм и т.д.
В посте я расскажу про пространственно-временную фильтрацию изображений и реализацию для compute capability = 1.0, и как можно ускорить получившийся результат за счет новых возможностей.
Временная фильтрация может пригодиться при наблюдении за спутниками или в прочих ситуациях фильтрации, когда требуется точное подавление фона.
+80
Введение в OpenSceneGraph
7 мин
42KOpenSceneGraph — это кроссплатформенная библиотека с открытыми исходниками для разработки высокопроизводительных 3D-приложений. Это не игровой движок, связывающий пользователя по рукам и ногам заложенными в него ограничениями, а именно библиотека — набор полезных модулей, которые отлично работают как поодиночке, так и в сборке.
Ядро OpenSceneGraph, собственно граф сцены, — довольно тонкая обёртка вокруг OpenGL, позволяющая задавать иерархию объектов и выполнять над ними любые желаемые преобразования:
Ядро OpenSceneGraph, собственно граф сцены, — довольно тонкая обёртка вокруг OpenGL, позволяющая задавать иерархию объектов и выполнять над ними любые желаемые преобразования:
- изменять характеристики узлов (двигать объекты в пространстве, назначать им материалы, свойства освещённости, шейдеры и прочие режимы и атрибуты OpenGL);
- перестраивать дерево любым желаемым образом (создавать и удалять объекты, перелинковывать их к другим узлам графа);
- делать обход графа, выполняя для каждого их узлов какие-либо действия;
- ну и конечно рендерить сцену при помощи OpenGL.
+60
Использование Paint в качестве редактора уровней
8 мин
24KВсю сознательную программистскую деятельность я увлекался созданием игр и не любил делать редакторы и прочие утилиты. Главным моим редактором почти всегда был Paint. Но для игр, в которых уровень статичен и состоит из тайлов (Марио подобные и прочие танчики), это более-менее оправдано, т.к. одному пикселю из файла уровня, созданного в Paint, соответствует тайл в игре. А что если требуется создать игру, где нет тайлов, а игровая локация состоит из неровных скалистых пещер. Или игру, в которой много движущихся элементов (летающие платформы, лифты, циркулярные пилы, вращающиеся по окружности).
Создавать редактор для таких целей мне по-прежнему не хотелось. О том, как я это решил с помощью Paint опишу в этой статье.
Создавать редактор для таких целей мне по-прежнему не хотелось. О том, как я это решил с помощью Paint опишу в этой статье.
+62
3D-моделирование окружения с помощью видеокамеры
3 мин
25KПеревод
Новая технология от MIT позволяет смоделировать 3D-карту местности/помещения с помощью обычной видеокамеры.
Суть в том, что обычная камера снимает окружение и запоминает его с помощью специального алгоритма. Как только камера после своего кругового путешествия возвращается к начальной точке маршрута, алгоритм понимает, что это одно и то же место, и быстро «сшивает» концы пространства, образуя связную 3D-карту.
+30
Работа с виртуальными машинами KVM. Лимитирование ресурсов виртуальной машины
9 мин
30KВ предыдущих
+36
Делаем микросхемы дома — часть 3
6 мин
201KПрошло чуть больше года после предыдущих статей о моем проекте создания микросхем дома (1, 2), люди продолжают интересоваться результатами — а значит пора рассказать о прогрессе.
Напомню цель проекта: научиться изготавливать несложные кремниевые цифровые микросхемы в «домашних» условиях. Это никоим образом не позволит конкурировать с серийным производством — помимо того, что оно на порядки более совершенное (~22нм против ~20мкм, каждый транзистор в миллион раз меньше по площади), так еще и чудовищно дешевое (этот пункт не сразу стал очевиден). Тем не менее, даже простейшие работающие микросхемы, изготовленные в домашних условиях будут иметь как минимум образовательную и конечно декоративную ценность.
Напомню цель проекта: научиться изготавливать несложные кремниевые цифровые микросхемы в «домашних» условиях. Это никоим образом не позволит конкурировать с серийным производством — помимо того, что оно на порядки более совершенное (~22нм против ~20мкм, каждый транзистор в миллион раз меньше по площади), так еще и чудовищно дешевое (этот пункт не сразу стал очевиден). Тем не менее, даже простейшие работающие микросхемы, изготовленные в домашних условиях будут иметь как минимум образовательную и конечно декоративную ценность.
+240
Уроки по электрическим цепям — линии передачи
10 мин
241KЕщё не начав читать статью, попробуйте подумать над вопросом: побежит ли ток, если подключить к батарейке очень длинный провод(более чем 300 тысяч километров, сверхпроводник), если противоположные концы провода никуда не подключены? Сколько Ампер?
Прочитав эту статью, вы поймёте в чём смысл волнового сопротивления. Из лекций по теории волн я вынес только то, что волновое сопротивление — это сопротивление волнам. Большая часть студентов, кажется, поняла ровно то же самое. То есть ничего.
Эта статья — весьма вольный перевод этой книги: Lessons In Electric Circuits
Статьи по теме: На Хабре: Контакт есть, сигнала нет
Трэш в Википедии: Длинная линия
Прочитав эту статью, вы поймёте в чём смысл волнового сопротивления. Из лекций по теории волн я вынес только то, что волновое сопротивление — это сопротивление волнам. Большая часть студентов, кажется, поняла ровно то же самое. То есть ничего.
Эта статья — весьма вольный перевод этой книги: Lessons In Electric Circuits
Статьи по теме: На Хабре: Контакт есть, сигнала нет
Трэш в Википедии: Длинная линия
+95
Уроки по электрическим цепям — линии передачи, часть 2
9 мин
88KЭта статья — перевод. Начало здесь.
Источник.
В программе:
1) Провода болтаются в воздухе, но источник тока/напряжения видит короткое замыкание.
2) На одном конце провода амплитуда равна 0 Вольт, а на другом — 1 Вольт. Как это возможно?
3) Согласование 75 Ом источника сигнала с 300 Ом нагрузкой при помощи правильно подобранного кабеля.
Стоячие волны и резонанс
Всегда, когда есть несоотвествие между сопротивлением линии передачи и нагрузкой, происходит отражение. Если падающий сигнал имеет одну частоту, то этот сигнал будет накладываться на отражённые волны, и возникнет стоячая волна.
На рисунке показано, как треугольная падающая волна зеркально отражается от открытого конца линии. Для простоты, линия передачи в этом примере показана как единая жирная линия, а не как пара проводов. Падающая волна идёт слева направо, а отражённая – справа налево.
+86
Я делаю свой квадрокоптер. Часть 1. Уравнения динамики
2 мин
179KОглавление
1. Уравнения динамики
Введение
Давным-давно я написал следующий комментарий: Всё.
После такой новости сажусь делать свой квадрокоптер. А то вон все делают, а я нет. Не, ну а что.
Всегда хотел, чтобы у меня была какая-нибудь летающая штука. Были 2 вертолета радиоуправляемых. Но кончилось это плохо.
Я решил делать свой квадрокоптер. Как это кончится — посмотрим. Я не буду использовать какие-либо готовые полетные контроллеры, все запрограммирую самостоятельно. И постараюсь этот процесс описать в цикле статей. Сейчас представляю вашему вниманию первую часть. В ней будет бегло показано то, какие уравнения динамики скрываются внутри квадрокоптера.
Итак, поехали.
+99
Усилитель для наушников на основе композитной схемы LME49710 + LT1210CT7
5 мин
100KНемного лирики
По роду своей деятельности постоянно общаюсь с профессиональной аудио аппаратурой, поэтому целью этой разработки было получить устройство, обладающее высокой верностью воспроизведения. Поэтому схемотехнические решения без ООС сразу были отброшены и за основу была взята композитная схема, обладающая большим потенциалом. Приходилось встречать несколько устройств с такой топологией, однако в большинстве конструкций были использованы приборы LT1795 или AD815. Однако как упоминал в одной из своих статей Дмитрий Андронников (aka Lynx):
даже весьма мощные ОУ с ТОС при подключении к их выходу наушников сопротивлением ниже 50...60 Ом работают в достаточно напряженном режиме как по выходному току (что приводит к росту искажений), так и по тепловыделению.
Было решено привлечь «тяжелую артиллерию», но об этом ниже.
+55
Способы передвижения компьютерных персонажей (часть 2)
5 мин
45KТуториал
В предыдущей статье я рассказал о видах передвижений и перемещений в плиточном мире. Сегодня расскажу подробней о векторных способах. Как и в прошлый раз расскажу теорию, объясню суть и покажу пример реализации перемещений на языке C++.
+23
Способы передвижения компьютерных персонажей (Часть 1)
6 мин
64KТуториал
Все, кто начинал заниматься реализацией игрового искусственного интеллекта, наверняка сталкивались с проблемой реализации движений своих персонажей. Дело в том, что поведение и в реальном мире в большей степени определяет интеллектуальность того или иного существа. Даже люди друг друга зачастую оценивают по поведению (что немного неверно). Эта статья рассчитана на тех, кто только приступает к реализации своего первого игрового ИИ. Я расскажу о видах перемещений, их преимуществах и недостатках, а также покажу на примере как можно реализовать тот или иной способ на языке C++. Замечания и критика, а так же свои точки зрения приветствуются.
+57
Ретенция, или почему пользователь вернется в игру?
7 мин
66KПривет, Хабр!
Меня всегда интересовал геймдев. Несколько лет назад я сделал шаг и окунулся в этот мир. Меня поражал успех Энгри Бердс (Angry Birds), взлёт и падение Зинги (Zynga), и одна мысль мне не давала спать — «Как же они сделали такие классные игры?».
Прошло немало времени, накопился ящик опыта, в закромах образовалиськакие-то отрывочные записи и комментарии. Я решил все структурировать и систематизировать, стараясь ответить на один из краеугольных вопросов — «Почему же пользователь вернётся в игру?».
Меня всегда интересовал геймдев. Несколько лет назад я сделал шаг и окунулся в этот мир. Меня поражал успех Энгри Бердс (Angry Birds), взлёт и падение Зинги (Zynga), и одна мысль мне не давала спать — «Как же они сделали такие классные игры?».
Прошло немало времени, накопился ящик опыта, в закромах образовались
+69
Информация
- В рейтинге
- Не участвует
- Откуда
- Россия
- Зарегистрирован
- Активность