Pull to refresh
1
0
Павел @pab

User

Send message

Чем пересылать посылки с литиевыми аккумуляторами?

Reading time3 min
Views54K
imageНе так давно интернет пестрил новостями о том, что почтовая служба США решила запретить c 16 мая 2012г пересылку устройств, содержащих литиевые аккумуляторы, воздушным способом, тем самым приняв рекомендациии Международной организации гражданской авиации (ICAO) и всемирного почтового союза (UPU) и перекрыв канал огромному потоку электроники из США в страны СНГ.

Первым об этом сообщил CEO Shipito на форуме сервиса, приложив текст на тот момент неопубликованного официального заявления USPS.
Интернеты спорили, будет ли данный запрет действовать или нет, но официальное заявление USPS расставило все на свои места, подкрепив новость апдейтом документа о пересылке литиевых аккумуляторов на официальном сайте.

Mail-Forwarder'ы выжидали. В первые дни никто не делал заявлений о том, что пересылка айпадов и айфонов будет прекращена, все ждали прямых указаний от своих транспортных партнеров, но сначала Shipito, а потом и Бандеролька с рядом форвардеров калибром помельче рапортовали, что пересылку отправлений, содержащих литиевые батареи, они прекращают «до выяснения обстоятельств».

Пора паниковать? Нет, рановато.
Читать дальше →

Взломать Wi-Fi за 10 часов

Reading time12 min
Views1.5M
Еще не так давно казалось, что беспроводная сеть, защищенная с помощью технологии WPA2, вполне безопасна. Подобрать простой ключ для подключения действительно возможно. Но если установить по-настоящему длинный ключ, то сбрутить его не помогут ни радужные таблицы, ни даже ускорения за счет GPU. Но, как оказалось, подключиться к беспроводной сети можно и без этого — воспользовавшись недавно найденной уязвимостью в протоколе WPS.


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

Делиться не всегда полезно: оптимизируем работу с кэш-памятью

Reading time7 min
Views40K
Делиться с ближним своим для нас, божьих тварей, это очень характерно, считается добродетелью, и вообще, как утверждает первоисточник, положительно отражается на карме. Однако в мире, созданном архитекторами микропроцессоров, такое поведение не всегда приводит к хорошим результатам, особенно если это касается разделения памяти между потоками.

Мы все «немного читали» об оптимизации работы с памятью, и у нас отложилось, что полезно, когда «кэш остается горячим», то есть данные, к которым часто обращаются потоки, должны быть компактными и находиться в ближайшем к процессорному ядру кэше. Все так, но когда дело доходит до того, чтобы делиться доступом, потоки становятся злейшими врагами [производительности], а кэш не просто горячий, он аж «горит адским огнем» – такая во круг него разворачивается борьба.

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

Сжатие информации без потерь. Часть вторая

Reading time10 min
Views26K
Первая часть.

Во второй части будут рассмотрены арифметическое кодирование и преобразование Барроуза-Уилера (последнее часто незаслуженно забывают во многих статьях). Я не буду рассматривать семейство алгоритмов LZ, так как про них на хабре уже были неплохие статьи.

Итак, начнем с арифметического кодирования — на мой взгляд, одного из самых изящных (с точки зрения идеи) методов сжатия.
Читать дальше →

CXXI: Мост между мирами C# и C++

Reading time7 min
Views42K
В рантайме Mono есть немало средств для взаимодействия с кодом на не .NET языках, но никогда не было ничего вменяемого для взаимодействия с кодом на C++.

Но это вскоре изменится благодаря работе Алекса Коррадо, Андрэа Гайта и Зольтана Варга.

Вкратце, новая технология позволяет разработчикам C#/.NET:

  • Легко и прозрачно использовать классы C++ из C# или любого иного .NET языка
  • Создавать экземпляры классов C++ из C#
  • Вызывать методы классов C++ из кода на C#
  • Вызывать инлайн-методы C++ из кода на C# (при условии, что библиотека скомпилирована с флагом -fkeep-inline-functions или если вы скомпилируете дополнительную библиотеку с их реализациями)
  • Наследовать классы C++ из C#
  • Переопределять виртуальные методы классов C++ методами на C#
  • Использовать экземпляры таких смешанных C++/C# классов как в коде на C#, так и в коде на C++

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

Практика работы с сигналами

Reading time6 min
Views113K
Хочу запечатлеть небольшой опыт работы с сигналами в Linux. Ниже будут представлены примеры использования наиболее значимых конструкций в этой области. Постараюсь разложить все по отдельным полочкам, чтобы всегда было легко глянуть и вспомнить, что и как использовать.
Читать дальше →

Связь на Марсе

Reading time27 min
Views13K


​12 апреля отмечается международный день полёта человека в космос. Более полувека прошло с того момента, когда Человечество сделало первый шаг в его освоение. Череда блестящих технических и научных побед сделала нас ближе к звёздам. Жажда открытий тянет постигать новые таинственные миры. Марс, красная «звезда» на небосводе, с древних времён притягивал к себе внимание людей. Невообразимо похожий на Землю, но всё-таки чужой мир до сих пор не покидает сознание многих исследователей. Вероятно в скором времени мы можем стать свидетелями тому, как на Марсе станут появляться небольшие исследовательские колонии людей. Инженерам предстоит столкнуться с многими проблемами. На Хабре присутствует большое количество специалистов разных областей, каждый обладает широким кругозором и определёнными знаниями. Предлагаю воспользоваться коллективным разумом и в этой статье поразмышлять о том, как бы выглядела связь на Марсе, если бы там существовали колонии людей.



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



Иллюстраций: 21, символов: 45 081.



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

Плезиохронная цифровая иерархия и поток E1

Reading time7 min
Views176K
Приветствую вас, друзья!

В ходе изучения Цифровых систем передачи, а так же по рекомендации наставника, дабы лучше разобраться в изучаемом материале и разложить всё по полочкам, я постараюсь объяснить этот материал Вам, если это у меня получится, то можно считать, что я его усвоил хорошо. Надеюсь Вам будет интересно.
В статье расскажу кратко о ЦСП и особенностях их построения, ПЦИ(PDH) и более подробно о потоке Е1 и его структуре.
Читать дальше →

Оптимизация для CPU: как найти черную кошку в темной комнате

Reading time9 min
Views27K

Метод недопустимой операции:
Разделить кошку на ноль,
после чего она станет бесконечно большой,
так что её будет невозможно упустить.

[АбсурдопедиЯ]

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

Итак, имеем задачу последовательной перестановки байтов в каждом слове массива (big-endian <-> little-endian) и суммирования всех слов в одно (reduction). Оставим пока в стороне задачу распараллеливания, ибо ее решение близко к тривиальному, и для нас пока не представляет интереса.

image

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

Спасительная флешка на основе дистрибутива Linux Debian/Ubuntu

Reading time4 min
Views22K
Начну с сути идеи — куча одинаковых компов, на них требуется установить ОС Windows XP с одинаковым набором программ. Первая мысль — настроить один эталонный компьютер, снять с него образ жесткого диска и развернуть на остальных компьютерах.

Acronis не подходил по «религиозным соображениям» компании.

Поискав DIY решение, наткнулся на замечательную вещь ntfsclone из пакета ntfsprogs.

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

Пусть утро станет добрым или Sleep as Android

Reading time4 min
Views158K
Доброго времени суток!
Как известно, утро добрым не бывает, но аудитория хабрахабра знает, что сон можно обхитрить, и проснуться полным сил для нового дня. Выделю три группы высыпающихся людей, кто-то просто много спит, другие правильно готовятся ко сну, третьи пользуются хитрыми будильниками. С недавних пор, я переехал из разряда не высыпающихся в группы пользователей будильников с фазами сна. На переезд было затрачено минимум усилий, потребовалась лишь бесплатная программа для моего android смартфона.

Upd. Владельцы iOS и Windows Phone 7.5 не остались забытыми.
Читать дальше →

Самый важный инструментарий

Reading time5 min
Views22K
Давно хотел написать на данную тему, но создавая топик, подвис минуты на две, пытаясь понять, куда его запихнуть (в какую тему). В итоге запихнул в программирование, но тема актуальна вообще для всего хабра в целом. Речь идет о глазах.

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

Приступим.
Читать дальше →

Android. Обзор боевых приложений

Reading time2 min
Views322K
Доброго времени суток!

Наряду со статьей "iPhone: MiTM атака из кармана", родилась почти аналогичная статья про Android.

Мы уже знаем, на что способен iPhone. Уступает ли ему Android?

Было рассмотрено около 25 боевых приложений. Хочу предоставить вам результат маленького исследования. Многие приложения даже не запустились, некоторые подвесили телефон намертво, но некоторые даже работали!

Весь софт тестировался на телефоне LG Optimus, с версией Android 2.3.

Итак, краткий обзор боевого софта на Android:

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

Код Хэмминга. Пример работы алгоритма

Reading time4 min
Views593K

Вступление.


Прежде всего стоит сказать, что такое Код Хэмминга и для чего он, собственно, нужен. На Википедии даётся следующее определение:

Коды Хэмминга — наиболее известные и, вероятно, первые из самоконтролирующихся и самокорректирующихся кодов. Построены они применительно к двоичной системе счисления.

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

А понимаете ли Вы move семантику?

Reading time3 min
Views17K
Добрый день!

Еще вчера я честно думал, что разобрался как работают rvalue references в C++11. Думал до тех пор, пока не наткнулся на грабли.

Итак, я предлагаю размять мозги и попробовать написать функцию move_if_rr. Такой себе тест на понимание: успех засчитывается за функцию, которая работает правильно при условии, что Вы ее ни разу не отлаживали. Детали задания под катом.
Читать дальше →

Фильтрация RSS ленты Хабрахабра с помощью Yahoo!Pipes

Reading time2 min
Views1.4K
Здравствуйте, Уважаемое Хабрасообщество.

Тема фильтрации RSS потоков с помощью Yahoo!Pipes уже освещалась (Например вот), но хотелось бы показать более простой и доступный для простых смертных способ.

Итак, буквально неделю назад все посты на Хабре имели вид habrahabr.ru/blogs/Название_блога/Номер_поста. По наличию в теле ссылки названия блога можно было легко очистить ленту от неинтересных записей просто отфильтровывая ненужные блоги по ссылке


Сейчас же, после весеннего обновления, ссылки на посты теперь имеют вид habrahabr.ru/post/Номер_поста/. Пост теперь может быть не в одном хабе а сразу в 3-х. Что ж, это очень интересный подход, однако наша задача научится фильтровать неинтересные хабы.

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

Усилитель для наушников, чуть сложнее

Reading time5 min
Views204K
Проапгрейдил недавно компьютер на LGA2011, на коробке от относительно недешевой платы красовалась надпись «супер пупер звук, 110Дб вся фигня». Отлично подумал я, хороший звук никогда не помешает. Следующие 2 дня я неистово гнал железо, и все было хорошо. А потом вернулся к обычной работе, и естественно, к рабочей музыке. Тихо. Нет. ТИХО! 100% громкости едва хватало для комфортной громкости с моими обычными 32-х омными наушниками (Sennheiser HD 448, отличающихся не самой высокой чувствительностью), а если запись была сделана с низким уровнем сигнала — то хоть волосы вырывай.

От безысходности начал было даже слушать через bluetooth A2DP адаптор, но само собой и качество и аккумуляторы (~6 часов) вгоняли в печаль…

Стало ясно что жить так больше нельзя…
Читать дальше →

Документация по Grab — библиотеке для парсинга сайтов

Reading time2 min
Views34K
Я ранее уже рассказывал на хабре о Grab — библиотеке для парсинга сайтов и о Spider — асинхронном модуле для парсинга. Рад сообщить, что я наконец-то дописал документацию по Grab. Я решил писать всё на русском языке т.к. на английском языке мне труднее выражать мысли. На деле писанины получилось гораздо больше, чем представлялось в начале, но я таки описал практически все функции библиотеки. Я решил просто вставить сюда, оглавление, кликайте на интересный раздел и читайте о возможностях Grab:
Читать дальше →

Построение графиков на Android: sl4a, python и flot

Reading time4 min
Views14K
Доброго времени суток, %username%!

Введение


Графики — наглядный способ представления информации. Картинка стоит тысячи слов, а график в некоторых случаях часто полностью описывает результаты эксперимента, физического или вычислительного. В конце концов, мне нравятся графики.

Однажды я оказался в ситуации, что данные для построения графика уже есть, а компьютера под рукой нет. Но ведь с такой задачей может справиться и смартфон! Так я смог заставить себя начать применять знания, полученные из наполовину пройденного курса по Python от Google, и использовать sl4a, уже успевший покрыться виртуальной пылью. Итак, для работы понадобятся sl4a (кто еще не слышал такую аббревиатуру, прочитайте это, это и это) + flot (подойдет любая библиотека для построения графиков на js).
Читать дальше →

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity