Search
Write a publication
Pull to refresh
0
0
zCooler @zCooler

User

Send message

Ricochet — анонимный бессерверный протокол передачи мгновенных сообщений

Reading time6 min
Views46K
Перевод вводной части и введения в техническое описание проекта с открытым исходным кодом Ricochet (github).

Анонимная бессерверная система передачи мгновенных сообщений, которая просто работает


Ricochet – это эксперимент с альтернативным методом передачи мгновенных сообщений, который не доверяет никому – не раскрывает вашу личность, список контактов или общение.

— можно общаться без раскрытия личности или ip-адреса.
— никто не может выяснить, с кем вы общаетесь или когда вы общаетесь (никаких мета-данных)
— никаких серверов, которые можно было бы взломать, или операторов, которых можно было бы заставить выдать информацию о вас
— кросс-платформенный и простой даже для обычных пользователей

Примечание: проект недавно был переименован из Torsion.
Читать дальше →

ah — лучше, чем history

Reading time3 min
Views30K
Так получается, что я провожу в консоли (терминале) достаточно времени, порой даже больше, чем хотелось бы. Порой даже исполняю там какие-то команды и внимательно изучаю их вывод. Часто случается, что к выводу той или иной команды приходится возвращаться, а он постоянно теряется: то терминалы захлопываются, то в tmux окно закрываешь, то выводы прочих команд уже давным-давно забили и похоронили ту самую полезную строчку.

Для того, чтобы сохранить вывод какой-либо утилиты я, как и многие, пользовался tee. Это работало, но постоянная суета среди бесконечных error.log, out.log, output.log, err.log log.log, lll.txt и тп если не сводила с ума, то безумно раздражала; вместо того, чтобы вести какой-то порядок, постоянно подмывало создать Новую Папку (1), где и похоронить эти самые логи, периодически бэкапя могильничек: порядок предполагал какую-то систематизацию, а в разгаре работы вспоминать как назвать свой файл крайне не хотелось.

Тогда я написал ah, крохотную утилитку, которая сильно-сильно улучшила мою жизнь.
Читать дальше →

Парные товары. Размещения товаров в торговом зале

Reading time2 min
Views23K


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

Итак, Пары — это товары, часто покупаемые вместе. В паре один товар является ключевым (якорным), а второй — сопутствующим. On-line сервис Datawiz.io выявляет парные взаимосвязи товаров при помощи алгоритма APRIORI.
Читать дальше →

Анализ рыночной корзины и ассоциативные правила

Reading time3 min
Views29K
В продолжении темы о Data Mining поговорим о том, с чего все начиналось. А начиналось все с анализа рыночной корзины (market basket analysis).

Из глоссария BaseGroup:

Анализ рыночной корзины — процесс поиска наиболее типичных шаблонов покупок в супермаркетах. Он производится путем анализа баз данных транзакций с целью определения комбинаций товаров, связанных между собой. Иными словами, выполняется обнаружение товаров, наличие которых в транзакции влияет на вероятность появления других товаров или их комбинаций.

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

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

Плохая и хорошая новость о выводе денег с Google AdSense

Reading time2 min
Views37K
image
Если вы обналичиваете деньги с Google AdSense и не хотите связываться с письмами и бумажной волокитой, то две новости, предоставленные тут, будут Вам полезны. Особенно актуально для жителей Украины, так как у них нет возможности выводить через Рапиду.
Читать дальше →

Как обмануть Корпорацию Добра или покупаем Nexus 7 в России без гуглолотереи

Reading time4 min
Views260K
В недавней статье на Хабре уже шла речь о том, как закупаться на Google Play в разделе Devices прямо из нашего захолустья. Тема бесспорно интересная: Nexus 7 пока в России и близлежащих странах вообще не водится, а Galaxy Nexus, скорее всего, просто обойдется вам значительно дороже, если, конечно, вы не живете в Москве или Питере. Проблема только в том, что рецепт оказался несколько нестабильный: лично меня Самая Добрая Корпорация небезосновательно заподозрила в подтасовке личных данных, а судя по комментариям – я такой оказался далеко не один.

Неделя мучений и попыток обмануть Google Wallet привела-таки к положительному результату в виде возможности покупать что угодно и где угодно на Google Play, более того, решение, строго говоря, лежало на поверхности и никаких сложных действий не требовало.

Под катом новый рецепт и совсем чуть-чуть скриншотов.
Читать дальше →

Жизнь разработчика (в картинках)

Reading time1 min
Views67K
Взято отсюда специально для хабра. Возможно, в некоторых из ситуаций вы узнаете себя.

Когда я показываю босу, что окончательно пофиксил баг



Когда проджект-менеджер входит в офис



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

Очень быстрый и эффективный способ расслабления глаз

Reading time4 min
Views416K

Предисловие


imageНе знаю, все ли программисты всесторонне любознательные люди, но я всегда пытаюсь получить фундаментальные знания во всех областях, которые могут быть практически полезны. В то время, когда мне в голову пришла эта идея я изучал анатомию и физиологию по журналам «Тело человека. Снаружи и внутри», ну а по работе я занимался стерео-варио фотографиями (для тех кто не знает — были такие советские календарики с ребристой поверхностью, где картинка либо казалась объемной, либо менялась). Так вот, в один из вечеров мне пришла в голову замечательная идея, которую я на протяжении уже 4х лет использую для поддержания своего зрения.
Обещаю, что эффект почувствуете сразу!
Читать дальше →

Нейронная сеть против DDoS'а

Reading time7 min
Views40K

Предисловие


Некоторые из вас наверняка недавно проходили Stanford'ские курсы, в частности ai-class и ml-class. Однако, одно дело просмотреть несколько видео-лекций, поотвечать на вопросики quiz'ов и написать десяток программ в Matlab/Octave, другое дело начать применять полученные знания на практике. Дабы знания полученые от Andrew Ng не угодили в тот же тёмный угол моего мозга, где заблудились dft, Специальная теория относительности и Уравнение Эйлера Лагранжа, я решил не повторять институтских ошибок и, пока знания ещё свежи в памяти, практиковаться как можно больше.

И тут как раз на наш сайтик приехал DDoS. Отбиваться от которого можно было админско-программерскими (grep / awk / etc) способами или же прибегнуть к использованию технологий машинного обучения.

Далее пойдёт рассказ о создании нейронной сети на Python 2.7 / PyBrain и её применении для защиты от DDoS'а.

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

Помоги Марио пулемётом

Reading time1 min
Views1.6K


Мне всегда было интересно, как бы персонажи игр вели себя в незнакомых им мирах из других игр. И тут, изучая ассортимент магазина Chrome, я обнаружил приложение-мечту из детства: Super Mario Bros. Crossover.

Вооружившись пулемётом-веером из Кóнтры можно вклочья разнести черепах и прочих монстров вместе с кирпичными стенами.
Читать дальше →

Краткая инструкция по настройке Vlan-ов

Reading time6 min
Views93K
Для начала определимся что такое 802.1q vlan, дабы не изобретать велосипед маленькая вырезка из википедии:
VLAN (аббр. от англ. Virtual Local Area Network) — виртуальная локальная компьютерная сеть, представляет собой группу хостов с общим набором требований, которые взаимодействуют так, как если бы они были подключены к широковещательному домену, независимо от их физического местонахождения. VLAN имеет те же свойства, что и физическая локальная сеть, но позволяет конечным станциям группироваться вместе, даже если они не находятся в одной физической сети. Такая реорганизация может быть сделана на основе программного обеспечения вместо физического перемещения устройств.
На устройствах Cisco, протокол VTP (VLAN Trunking Protocol) предусматривает VLAN-домены для упрощения администрирования. VTP также выполняет «чистку» трафика, направляя VLAN трафик только на те коммутаторы, которые имеют целевые VLAN-порты. Коммутаторы Cisco в основном используют протокол ISL (Inter-Switch Link) для обеспечения совместимости информации.
По умолчанию на каждом порту коммутатора имеется сеть VLAN1 или VLAN управления. Сеть управления не может быть удалена, однако могут быть созданы дополнительные сети VLAN и этим альтернативным VLAN могут быть дополнительно назначены порты.
Native VLAN — это параметр каждого порта, который определяет номер VLAN, который получают все непомеченные (untagged) пакеты.


Для чего это надо?
Есть несколько ситуаций:
1. Банально представим ситуацию есть большая сеть, в районе покрытия этой сети у нас расположено два офиса, их необходимо объединить в одну физическую сеть, при этом общегородская сеть не должна видеть/иметь доступ к офисным тачкам. Данную ситуацию конешно можно разрулить VPN-ами, но на шифрованый трафик порядка 100 мегабит нужно не кислое железо, поэтому рулим vlan-aми.
2. Есть масса подсетей, территориально поделенных по городу, необходимо на каждую подсеть настроить интерфейс, по началу можно конечно обойтись сетевыми картами, но сети имеют свойства разростаться, и что прикажете делать, например в такой ситуации?:
serv:~# ifconfig | grep eth | wc -l
152
serv:~#

3. Клиенту необходимо выдать блок из 4,8,16 и т.д. и т.п. адресов.
4. Уменьшение количества широковещательного трафика в сети
Каждый VLAN — это отдельный широковещательный домен. Например, коммутатор — это устройство 2 уровня модели OSI. Все порты на коммутаторе, где нет VLANов, находятся в одном широковещательном домене. Создание VLAN на коммутаторе означает разбиение коммутатора на несколько широковещательных доменов. Если один и тот же VLAN есть на разных коммутаторах, то порты разных коммутаторов будут образовывать один широковещательный домен.
И множество других причин/ситуаций в которых это может понадобиться.
5. Увеличение безопасности и управляемости сети
Когда сеть разбита на VLAN, упрощается задача применения политик и правил безопасности. С VLAN политики можно применять к целым подсетям, а не к отдельному устройству. Кроме того, переход из одного VLAN в другой предполагает прохождение через устройство 3 уровня, на котором, как правило, применяются политики разрешающие или запрещающие доступ из VLAN в VLAN.

Как мне это все сделать?
Легко!
Читать дальше →

IMAP и POP Gmail через telnet или читать почту это просто

Reading time5 min
Views7.8K
Я решил написать эту статью после того, как мне потребовалось написать простенький почтовик, который будет обслуживать почту из Gmail. Надеюсь, что кому-то стало проще жить — хоть в целом это выглядит как пособие от Капитана Очевидность :) Всю необходимую для написания клиента информацию я нашёл в гугле минут за 10 — но считаю, что простенький мануал типа такого — хорошая шпаргалка на будущее :)

В этом нет ничего сложного — правда! Фактически — написать свой почтовик — проще простого. Так же просто как и читать почту через консоль.

Далее — две маленькие статьи на живых примерах — как пользоваться POP3 и IMAP без почтового клиента.

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

ownCloud, делаем своё собственное защищённое облако

Reading time4 min
Views36K
ownCloud представляет собой Open Source решение для организации своего собственного dropbox-подобного хранилища файлов. Кроме, собственно, синхронизации файлов доступны так же дополнительные возможности, как то: синхронизация контактов, календарей (наличествует поддержка CalDAV) и задач, фотогалерея, проигрыватель аудио (с поддержкой протокола Ampache). Сервис работает в многопользовательском режиме, есть функционал общих папок.

Клиенты синхронизации доступны для Windows / Mac / Linux / Android, версия для iOS, по заверениям разработчиков, в финальной стадии. Наличествует достаточно интересная, но пока экспериментальная функция External Storage, позволяющая монтировать Dropbox и GDrive в папку с ownCloud.

Важной для меня функцией в Android-клиенте является Instant Upload, автоматически загружающий видео и фотографии в облако сразу после съёмки, аналогично клиенту Dropbox.

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

В качестве хостинга можно выбрать VDS или домашний сервер на антресоли.

Рассмотрим вариант с «домашним сервером».
Читать дальше →

Тестирование wifi-линка на базе оборудования Ubiquiti NanoStation M2

Reading time2 min
Views15K
Возникла необходимость детально протестировать пару NanoStation M2 на предмет возможности их использования для организации линка на 5 км.

Под катом развернутый отчет о тестировании

Cisco Unequal Load Balancing с двумя провайдерами, NAT и статическими шлюзами

Reading time4 min
Views3.2K
Тема, возможно, избитая. Но решения задачи при указанных исходных данных не нашёл. Ткните носом, если не прав. Пришлось приложить немного хитрости ;-).

Постановка задачи


В одном городе N-ке живёт небольшая сеть с двумя провайдерами подключёнными к маршрутизатору Cisco. IOS 12.2(33). После очередного расширения каналов у "First" провайдера берём 8 Мбит, у "Second" 4 Мбита.

Динамической маршрутизации с провайдерами нет и не предвидится.
Пользователи NAT-ятся на провайдеро-зависимые IP адреса.

Необходимо прогружать максимально оба канала.

image

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

Сисадмину: Пишем скрипты на все случаи жизни

Reading time1 min
Views3.9K
Каждый, кто работал сисадмином UNIX-систем, рано или поздно начинает автоматизировать свою работу с помощью скриптов.
Написаны они могут быть на чём угодно — от bash'а до tcl. Важен подход.
В этой статье я попробую вкратце описать приемы скриптовой автоматизации.

Когда нужно писать скрипты?



1. Когда это приведет к экономии времени.
Если нужно однотипно настроить 1000 свитчей, разослать спам приглашения на конференцию или собрать базу MAC-адресов — скрипты наши лучшие друзья.

2. Когда некие действия выполняются регулярно.
Архивирования резервных копий, очистка mysql-базы от мусора или сбор статистики — те самые случаи.

3. Когда нужно создать что-то сложное, но лениво делать это «по серьёзному».
Примеры — микробиллинги, счетчики трафика и системы блокировки должников.
Это нужно писать на C/C++. Но начальство сказало: «Сделать сегодня!». И снова скрипты — и мысль «когда-нибудь перепишу». :)
Читать дальше →

Уведомление пользователей в JIRA

Reading time3 min
Views12K
Привет всем. Это мой первый пост на Хабре — прошу не судить строго.

Не так давно я устроился на работу. Работаю Администратором системы, которая используется в одном крупном банке. Отделы банка расположены по всей стране.

Ко мне поступают сообщения об ошибках работы, которые регистрирует JIRA bug tracker, звонят\пишут программисты, банкиры (которых перенаправит ко мне HelpDesk), отдаленные работники и тестеры.

В JIRA создано несколько workflow'ов для нескольких проектов. И всё бы было отлично. Но возникла необходимость создать новый workflow'ов, действия в котором будут выполнять в основном люди из бизнеса — т.е. продавцы банковских услуг — они же и будут конечными тестерами.

Эти люди конечно же очень заняты, они не любят когда к ним звонят Администраторы, программисты, люди с IT. Не любят, в основном потому, что они не понимают что от них хотят. И некоторые тестовые задания «висят» на них неделями.

Так что в новом workflow'е нужно было всё упростить, а также оптимизировать процесс коммуникации с «людьми из бизнеса».

Так как все задания регистрируются в JIR'е, то нужно было создать механизм, который бы оповещал тестеров, которые не предприянли никакого действия в течение 2х дней. Оповещал не очень навящиво — т.е. по 2-х днях высылал им уведомление на e-mail.

О том как это сделать в JIRA я расскажу
дальше.

Моделим Неигровой персонаж — урок 1 (вводная часть)

Reading time4 min
Views2.7K
Неигровой персонаж (анг. Non Playable Character, NPC) — в компьютерных и настольных ролевых играх персонаж, управляемый программой или мастером, в последнем случае иногда может называться мастерским персонажем. В компьютерных играх таким термином обычно обозначают дружественных или нейтральных к игроку персонажей, а враждебных чаще называют монстрами или «мобами» (в случае с MMORPG). Неигровые персонажи служат как инструмент создания игровой атмосферы (животные, мирные жители в городах), и для сюжетных целей (в приключенческих и ролевых играх).
Сразу хочу оговориться, что написанием статей я занимаю первый раз, так что сильно не ругайте я не претендую на мастер-класс. Будут ошибки, не точности, возможно неверные подходы к тем или иным техническим моментам. Можно сказать, что буду учиться вместе с вами, «продвинутых» профи прошу высказывать конструктивную критику (желательно с примерами), возможно вместе у нас получиться неплохой урок. Комментируйте здесь или пишите на почту info(псина)kraftmedia.ru

Итак. что нам понадобится?
Читать дальше →

Information

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