Март 31

Как обрести спокойствие в мире, где царит парольная лихорадка

В сентябре 2014 в открытый доступ утёк миллион паролей от Яндекс.Почты, за ними тут же последовали 4,5 млн паролей от ящиков Mail.ru, и буквально через пару дней та же участь постигла 4,9 млн паролей от Gmail. До этого, в июне 2014, аналогичная история произошла с LinkedIn (взломано 6,5 млн паролей) и мессенджером Yahoo Voice (450 тыс. паролей). Что характерно, самыми типичными среди этих украденных паролей были: «123456,» «welcome,» и вечный пароль «password». Но проблема не в этом. Проблема в том, что пароли сами по себе обречены на провал. Нам приходится создавать слишком много паролей, и чем они надёжнее, тем сложнее их запомнить.

Раздел: Без рубрики | Комментарии к записи Как обрести спокойствие в мире, где царит парольная лихорадка отключены
Март 31

Топ-5 самых дурацких антивирусов. Записки хулигана

Дисклеймер: всему сказанному ниже «верить нельзя не верить»… Запятую поставьте сами.

На носу 1 апреля, а многие из вас все еще пользуются скучными и устаревшими антивирусами.
А ведь если побродить по разным софт-каталогам и поискать чего-нибудь на слово антивирус, можно найти ну очень интересные вещи!

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

Раздел: Информационная безопасность | Комментарии к записи Топ-5 самых дурацких антивирусов. Записки хулигана отключены
Март 31

Управление складом: на «волнах» операций

Сталкиваясь с автоматизацией, часто приходится слышать о «волновой сборке» и «волнах заказов». Для начала, маленькая вводная о том, каким образом появился термин «волна». Представим себе график, где по оси X – время, а по оси Y – некоторый показатель. Мы ждем, пока значение показателя по оси Y не увеличится до заданной максимальной величины, и начинаем выполнять действия, приводящие к уменьшению значения. Затем, «упав» до заданного минимального значения, снова ждем накопления. Таким образом, у нас появляется график в виде своеобразных «волн». Приведу простой пример, когда использование таких «волн» нам может быть выгодно при сборке заказов:
Читать дальше →

Раздел: Без рубрики | Комментарии к записи Управление складом: на «волнах» операций отключены
Март 31

[Из песочницы] Эволюция скорости передачи данных в сетях Wi-Fi

Впервые рабочая группа IEEE 802.11 была анонсирована в 1990 году и вот уже 25 лет идёт непрекращающаяся работа над беспроводными стандартами. Основным трендом является постоянное увеличение скоростей передачи данных. В данной статье я попробую проследить путь развития технологии и показать, за счёт чего обеспечивалось увеличение производительности и чего стоит ждать в ближайшем будущем. Предполагается, что читатель знаком с основными принципами беспроводной связи: видами модуляции, глубиной модуляции, шириной спектра и т.д. и знает основные принципы работы Wi-Fi сетей. На самом деле существует не так много способов увеличения пропускной системы связи и большинство из них было реализовано на разных этапах совершенствования стандартов группы 802.11.
Читать дальше →

Раздел: Без рубрики | Комментарии к записи [Из песочницы] Эволюция скорости передачи данных в сетях Wi-Fi отключены
Март 31

[Перевод] JSONB запросы в PostgreSQL

Ранее я писал, как включить поддержку jsonb в postgres/psycopg2. Сегодня экспериментировал с тем, как запрашивать данные в колонках типа JSON.
На эту тему есть документация, но мне было не совсем понятно, как работают различные операции:

CREATE TABLE json_test (
  id serial primary key,
  data jsonb
);

INSERT INTO json_test (data) VALUES 
  ('{}'),
  ('{"a": 1}'),
  ('{"a": 2, "b": ["c", "d"]}'),
  ('{"a": 1, "b": {"c": "d", "e": true}}'),
  ('{"b": 2}');

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

Раздел: Без рубрики | Комментарии к записи [Перевод] JSONB запросы в PostgreSQL отключены
Март 31

[Из песочницы] Повреждение стека в одном из методов NSString

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

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

NSURLComponents* urlComp = [[NSURLComponents new] autorelease];
...
urlComp.path = path;
urlComp.user = username;
...

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

Раздел: Без рубрики | Комментарии к записи [Из песочницы] Повреждение стека в одном из методов NSString отключены
Март 31

[Из песочницы] Повреждение стека в одном из методов NSString

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

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

NSURLComponents* urlComp = [[NSURLComponents new] autorelease];
...
urlComp.path = path;
urlComp.user = username;
...

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

Раздел: Без рубрики | Комментарии к записи [Из песочницы] Повреждение стека в одном из методов NSString отключены
Март 31

Исследование факторов лидерства в ИТ

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

Особенно интересны комментарии участников опроса:

наберите в поиске «лидерские качества», «лидерство». Обладание какими-то супер-знаниями — это последнее, что вы там увидите. Тема лидерства топтана огромным количеством психологов. Наверное было бы интересно опровергнуть их теории, но доказывать их правильность не вижу смысла.

Или, например, такие:

Я думаю, что для лидера гораздо важнее другие качества:
Инициативность — он постоянно должен что-то делать, не дожидаясь указания от начальника.
Открытость к людям — стремление помочь им с их проблемами (но без фанатизма).
Харизма — банально, у человека который шумно рассказывает анекдоты, которые поднимают всем настроение больше шансов быть лидером, чем у человека который изучает очередной ЯП за компом и ни с кем не общается.

И даже такие:

По сути, это «авторитет». Что бы им стать нужно два фактора:
— Уметь быть убедительным, убеждать. Развитая речь и система аргументации, жизненный опыт (есть что рассказать)
— Поддерживать внутри коллектива справедливость, систему понятий 😉
В итоге получается человек, с которым комфортно, на которого можно положиться, который никогда не паникует и не теряется. К таким людям внутри коллектива остальные тянутся, вот и получается лидер.

Но это все теоретизирование, а что же нам расскажут результаты опроса?
Читать дальше →

Раздел: Без рубрики | Комментарии к записи Исследование факторов лидерства в ИТ отключены
Март 31

Исследование факторов лидерства в ИТ

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

Особенно интересны комментарии участников опроса:

наберите в поиске «лидерские качества», «лидерство». Обладание какими-то супер-знаниями — это последнее, что вы там увидите. Тема лидерства топтана огромным количеством психологов. Наверное было бы интересно опровергнуть их теории, но доказывать их правильность не вижу смысла.

Или, например, такие:

Я думаю, что для лидера гораздо важнее другие качества:
Инициативность — он постоянно должен что-то делать, не дожидаясь указания от начальника.
Открытость к людям — стремление помочь им с их проблемами (но без фанатизма).
Харизма — банально, у человека который шумно рассказывает анекдоты, которые поднимают всем настроение больше шансов быть лидером, чем у человека который изучает очередной ЯП за компом и ни с кем не общается.

И даже такие:

По сути, это «авторитет». Что бы им стать нужно два фактора:
— Уметь быть убедительным, убеждать. Развитая речь и система аргументации, жизненный опыт (есть что рассказать)
— Поддерживать внутри коллектива справедливость, систему понятий 😉
В итоге получается человек, с которым комфортно, на которого можно положиться, который никогда не паникует и не теряется. К таким людям внутри коллектива остальные тянутся, вот и получается лидер.

Но это все теоретизирование, а что же нам расскажут результаты опроса?
Читать дальше →

Раздел: Без рубрики | Комментарии к записи Исследование факторов лидерства в ИТ отключены
Март 31

Декларативная разработка на Caché

    В Caché есть несколько различных способов пройтись по коллекции и выполнить какие-нибудь действия с ее элементами. Самым простым является while-цикл. Такой способ позволяет решить поставленную задачу в императивном стиле. Разработчику приходиться явно заботиться об итераторе, о переходе к следующему элементу и о проверке выхода за пределы коллекции.
    Но разве это то, о чем должен заботиться разработчик?! Разработчик должен решать поставленную перед ним задачу, за максимально короткое время с максимально хорошим качеством кода. Было бы очень здорово просто взять коллекцию и применить к ней функцию, которая выполняет необходимые действия на каждом элементе этой коллекции. Не проверять границ, не создавать итератор, не вызывать вручную функцию на каждом элементе. Такой способ решения задач называется декларативным программированием.

Declarative programming is when you write your code in such a way that it describes what you want to do, and not how you want to do it.

(c) 1800-information
Давайте подумаем, как же решить поставленную задачу декларативно, используя средства и возможности Caché. Читать дальше →

Раздел: Без рубрики | Комментарии к записи Декларативная разработка на Caché отключены