Pull to refresh
156
0
https://linkedin.com/in/profileab @apcsb

Инженер/учитель/советчик

Send message

Как я внедрял первое правило ведения бизнеса в России

Reading time5 min
Views125K
image
«1. Держите сервера за границей»
(с) 9,5 правил ведения безопасного бизнеса в России


Вводная часть.

Мы — маленькая компания из 10 сотрудников, половина из которых периодически работает удаленно.
Что мы имели изначально: сервер с Windows и терминальным доступом, который стоял в офисе. У всех пользователей были ноутбуки. Никакой особо конфиденциальной информации у нас нет, за исключением важной для бизнеса информации.
В один прекрасный момент меня окончательно «добила» паранойя и было принято решение вынести сервер за пределы офиса.

Читать 7 шагов:

О разных командных оболочках Linux и Unix

Reading time6 min
Views88K
imageНаверняка почти все читатели Хабра знают оболочки sh и bash. Так же большинство из нас что-то слышали про zsh и tcsh. Однако на этом список существующих оболочек не заканчивается. Условно можно разделить их на три группы:

  • Клоны Bourne shell (bash, zsh)
  • C shell (csh, tcsh)
  • Базирующиеся на популярных языках программирования(psh, ipython, scsh)
  • Экзотические, специфические и все остальные

О наиболее интересных из них и пойдет речь.
Читать дальше →

Google укрепляет защиту ОС Android

Reading time3 min
Views32K
В конце октября компания Google, не проведя специальной презентации, анонсировала новую версию ОС Android. Несмотря на то, что многие ждали выпуска Android Key Lime Pie, корпорация ограничилась накопительным обновлением с Android 4.1 до 4.2, сохранив название Jelly Bean. Представленные функции вызвали много вопросов, мол, а что нового привнесло обновление, не считая новых сферических снимков, виджетов на экране блокировки и пары свистоперделок? Сайт Android Developers пока молчит как рыба, но изданию Computerworld удалось получить комментарии от вице-президента по проектированию и разработке подразделения Android Хироши Локхаймера, который раскрыл завесу над улучшениями безопасности системы.
Читать дальше →

Индикация состояния абонента в очереди на телефоне с BLF кнопками

Reading time3 min
Views12K
imageСегодня задача немного посложнее.
Клиенту нужно, чтобы нажатием на кнопку быстрого набора можно было входить/выходить в очередь. При этом если абонент в очереди, то кнопка горит зеленым, если нет, то моргает красным. Сделать такое можно если IP само собой телефон поддерживает функцию BLF. Для работы функции на кнопке нужно будет прописать номер вида *12111*222, где 111 номер очереди, а 222 номер абонента. Тестировалось это на Grandstream GXP серии, самых разных. Сервером выступает Linux c Elastix, ну и можно просто Asterisk 1.6+.
Одним из условий является отсутствие привязки к номеру абонента. Номера очередей фиксированы, а абоненты могут быть любые. Для мониторинга состояния в Asterisk нужен HINT и если его нет, мы его будем создавать.
Читать дальше →

Генерация PDF на сервере в Ruby

Reading time8 min
Views4.8K
Чуть более месяца назад я устроился верстальщиком в старт-ап, в команду Ruby-разработчиков. Так повезло, что команда оказалась очень хорошей и моё стремление учиться совпало с их желанием получить хорошего специалиста.

HTML-вёрстка сама по себе имеет немного ценности и не единственное, чем можно нагрузить верстальщика.

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

Варианты генераторов для Ruby


Согласно сайту Ruby Toolbox существует два принципиальных подхода к генерации PDF-файлов:


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

Я выбрал вариант с использованием Prawn (по большей части, конечно, по тому, что предыдущая версия PDF-файла генерировалась этим способом) даже не смотря на то, что мне пришлось вынырнуть из привычного мне мира HTML и CSS

Тех, кому интересно приглашаю под хабракат.
Читать дальше →

Опыт сборки eGPU и его взаимодействие с ноутбуком

Reading time12 min
Views206K

Введение



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

Как вы, наверное, уже успели заметить, данная статья далеко не первая, посвящённая теме eGPU. Вполне возможно, что в моей статье вы найдёте мало интересного, но, тем не менее, я хочу поделиться своим опытом, результаты которого меня впечатлили. Прошу под кат (внимание трафик!)…
Далее

Cisco IOS ACLs

Reading time10 min
Views163K
Всем доброго дня!

В этой статье я бы хотел поговорить про возможности Cisco IOS Access Control Lists (ACLs). Тема многим из вас должна быть знакомой, поэтому мне хочется обобщить информацию по разным типам ACLs. Я кратко пробегусь по основам, а затем поговорим про специальные типы ACLs: time-based (на основе времени), reflexive (отражающие), dynamic (динамические). Итак, начнем…
Читать дальше →

Использование регулярных выражений в Ruby

Reading time4 min
Views49K
Регулярные выражения — спасение от всех бед для одних и ночной кошмар для других разработчиков, а если говорить объективно, то это мощнейший инструмент, требующий, однако, большой осторожности при применении. Регулярные выражения (регексы, регекспы, регулярки) в языке Ruby основаны на синтаксисе Perl 5 и потому в основных чертах знакомы всем, кто использовал Perl, Python или PHP. Но Ruby тем и хорош, что каждый компонент языка реализован со своим собственным подходом, упрощающим использование данного инструмента и увеличивающим его мощность. В предлагаемой мной небольшой статье рассматриваются особенности регулярок в Ruby и их применение в различных операторах.
Читать дальше →

Четыре паттерна вызова функций в JavaScript

Reading time6 min
Views45K
Язык JavaScript был представлен как язык функционального программирования. Причина заключается в том, что функции в JS не просто разделяют логику на операционные блоки, функции являются объектами первого класса, способными создавать другие объекты. Подобная зависимость от функций одновременно является как сильной стороной, так и настоящим проклятием этого языка. Сильная сторона заключается в том, что язык, обладая подобными особенностями, становится легковесным и быстрым (каким JavaScript изначально и видели его создатели). Однако если вы не знаете что делаете — однозначно ждите беды.

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

Итак, существует четыре пути вызова функций:

  • Вызов метода — Method Invocation
  • Вызов функции — Function Invocation
  • Вызов конструктора — Constructor Invocation
  • Вызов apply и call — Apply And Call Invocation

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

От идеи до гаджета. Путь «Самурая» в России

Reading time4 min
Views32K
Здравствуйте!
Наверно у каждого пробегала мысль разработать какой-нибудь свой «девайс». Например, кофеварку на Linux или IRobot который не только пылесосит, но и стрижет траву на даче и собирает носки по комнате.
Мы решили рассказать, как от идеи создания устройства мы дошли до его серийного выпуска в России.

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

И пошел мозговой штурм:
Посмотреть мозговой штурм

Ваш фонарик может отправлять SMS: еще один повод обновить ваши устройства до iOS 6

Reading time3 min
Views40K


Сегодня я не буду рассказывать вам, как устроена система безопасности iOS 5. И мы не будем собирать крохи информации через недокументированные возможности. Мы просто отправим SMS из приложения без ведома пользователя.

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

JSter – все, что нужно для Javascript

Reading time1 min
Views14K
Насколько сложно собрать все Javascript библиотеки в одном месте? Задача, конечно, непростая, у веб-разработчика из солнечной Финляндии Juho Vepsäläinen ушло на это около семи месяцев. Его проект JSWiki содержит более 30 категорий, в которых перечислены самые разнообразные проекты для frontend разработки. Сколько библиотек и утилит там упомянуто посчитать очень трудно. Прежде всего, потому что каталог слабо структурирован и не содержит практически ничего кроме ссылок.

Тем не менее, JSWiki послужила нам отличной базой для нового проекта JSter. Вместе с Juho Vepsäläinen мы разработали самый полный открытый Javascript каталог. В нем уже почти 700 библиотек (в основном open-source) и любой пользователь может дополнить список.
Читать дальше →

Овертаймим? А как насчет результатов?

Reading time6 min
Views88K
Вашему вниманию перевод статьи старшего преподавателя Гарвардской Школы Бизнеса Роберта Позена (Robert Pozen), They Work Long Hours, but What About Results?, опубликованной в The New York Times 6 октября 2012.

image
5 часов вечера. Работая быстро, вы завершили все свои задачи и хотите домой. Но пока никто из ваших коллег не ушел, что заставляет вас остаться еще на пару часов, попусту тратя время в интернете и перечитывая почту. Зато никто не подумает что вы — лентяй.

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

Декодирование ipsec в Linux

Reading time3 min
Views17K
Иногда возникает необходимость снять дамп трафика внутри ipsec тоннеля. Я расскажу как это сделать в случае ipsec, поднятом на Linux сервере с PSK аутентификацией при помощи wireshark.

Подробности

Сети ZigBee. Зачем и почему?

Reading time7 min
Views201K

Чего «репу» чешешь?
На золотую рыбку другая сеть нужна!


Собственно, я собирался продолжить серию топиков, посвященных работе RTLS – системы позиционирования в реальном времени. А именно, рассказать о беспроводной инфраструктуре системы, основанной на сетях ZigBee. Но вдруг с удивлением обнаружил, что на Хабрахабре нет публикаций, посвященных стандарту IEEE 802.15.4 и спецификации ZigBee. Есть лишь немногочисленные упоминания, связанные с тем или иным приложением. Попытаюсь по мерее сил заполнить этот пробел.

В последнее время все большее распространение и значение приобретают беспроводные сенсорные сети. Сети, которые по своему назначению, параметрам, спецификациям существенно отличаются от сетей связи – WiFi, GSM, LTE и т.п. Среди прочих, используемых в сенсорных сетях, выделяется спецификация ZigBee – наиболее продвинутая надстройка к стандарту IEEE 802.15.4
В этом году исполнилось 10 лет со времени основания ZigBee альянса, а в октябре исполняется 5 лет с момента утверждения действующей в настоящее время спецификации ZigBee Pro Feature Set 2006. Так что публикацию можно считать юбилейной.

Желающих познакомиться с самоорганизующейся самовосстанавливающейся и не требующей специального частотного разрешения сенсорной сетью прошу под кат.


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

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

Reading time14 min
Views353K
abstract: разница между текущей производительностью и производительностью теоретической; latency и IOPS, понятие независимости дисковой нагрузки; подготовка тестирования; типовые параметры тестирования; практическое copypaste howto.

Предупреждение: много букв, долго читать.

Лирика



Очень частой проблемой, является попытка понять «насколько быстрый сервер?» Среди всех тестов наиболее жалко выглядят попытки оценить производительность дисковой подсистемы. Вот ужасы, которые я видел в своей жизни:
  • научная публикация, в которой скорость кластерной FS оценивали с помощью dd (и включенным файловым кешем, то есть без опции direct)
  • использование bonnie++
  • использование iozone
  • использование пачки cp с измерениема времени выполнения
  • использование iometer с dynamo на 64-битных системах


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

Как мерять правильно

Необычное переполнение жесткого диска или как удалить миллионы файлов из одной папки

Reading time4 min
Views159K

Предисловие


Скорей всего, матерым системным администраторам статья будет не очень интересна. В первую очередь она ориентирована на новичков, а также на людей, которые столкнулись с подобной проблемой — необходимостью удалить огромное количество файлов из одной папки в ОС Linux (Debian в моем случае), а также с закончившимся местом на диске, когда df -h выдает что почти 30% свободно.
Читать дальше →

HP Networking для начинающих — где быстро найти информацию

Reading time2 min
Views8.8K
После приобретения компании 3Com HP стала активно перестраивать свою часть сайта про сетевые продукты и технологии. Проведя некоторое время за поиском нужной мне информации? я подумал, что хорошо было бы поделиться ей в структурированном виде.

Кратко о главном:


Сетевые продукты HP делятся на группы: (A) Advanced, (E) Essential, (V) Value и (S) Security.
  • Группа А предназначена для организаций, имеющих большие и сложные сети, где функционал оборудования выходит на первое место (или «Хочу передовую корпоративную сетку!»)
  • Группа Е предназначена для организаций, желающих получить производительное и не сложное в использовании оборудование с доступной ценой (или «Хочу консоль, но дешевле и проще»)
  • Группа V предназначена для организаций, ищущих надежное и простое оборудование с низкой стоимостью («Хочу включить и чтоб работало, ну или на худой конец пусть будет Web-интерфейс»)
  • Группа S объединяет продукты обеспечения сетевой безопасности («Разграничьте доступ, почистите мне сетевой трафик, и лучше пусть работает само»)
Читать дальше →

Беспроводные сети HP

Reading time5 min
Views17K
Сегодня в корпоративных сетях все более широкое применение находят разнообразные беспроводные устройства, от ноутбуков планшетов и смартфонов.

В этих условиях встают вопросы как наиболее просто и экономически эффективно разрешить задачу доступа с мобильных WiFi-устройств к корпоративным данным. Одно из решений предлагает компания HP — точки доступа HP MSM. А ПО сетевого управления HP IMC может централизованно управлять как беспроводным, так и проводным сегментами сети.
Читать дальше →

Multiseat для Windows рабочих мест

Reading time10 min
Views48K

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

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

Для того чтобы решение стало достойным применения, ему были предъявлены следующие требования:
  • В качестве операционной системы для конечных пользователей должна остаться Windows.
  • Стоимость системного блока для двух сотрудников, в идеале должна быть сравнима со стоимостью одного типового, из приобретаемых на тот момент.
  • Работа пользователей не должна сколько-нибудь заметно замедлится или быть некомфортной, от того, что используется один компьютер.

Ну собственно, бизнес-требования ясны, значит пора переходить к решению…
Читать дальше →

Information

Rating
Does not participate
Location
Антарктика
Date of birth
Registered
Activity