Pull to refresh
25
0
Programmer @Programmer

Пользователь

Send message

Доступны первые дополнения

Reading time1 min
Views638
Гугл, как и обещал, включает поддержку дополнений для своего браузера.
Недавно была опубликована документация для разработчиков, а теперь и примеры дополнений.
Всего их три Gmail Checker, Subscribe в Google Reader и BuildBot Monitor. Я попробовал Gmail Checker.

Как установить?
Читать дальше →
Total votes 74: ↑69 and ↓5+64
Comments77

Конференция по молодежному IT-предпринимательству в России

Reading time1 min
Views803
Планируем проведение сабжа 26 мая в МИРБИС.

Целевая аудитория – молодые предприниматели в сфере IT-обслуживания и компьютерной техники, IT-специалисты, студенты ВУЗов со специализацией IT. Планируем трансляцию в инете для других городов и тех, кто по той или иной причине не смог на ней появиться.

План конференции примерно таков:

1. Ситуация на рынке
2. Перспективы направления
3. Чему и где учиться?
4. Юридическая регистрация IT-компании и подводные камни, связанные с ней
5. Дилерство и прямые поставки
6. IT-обслуживание (outsourcing)
7. Проектирование и монтаж локальных сетей
8. Лицензионное программное обеспечение
9. Ценообразование
10. Техника продаж
11. Реклама IT-компании
12. Работа с госзаказом и образовательными проектами
13. Техническая поддержка — стиль работы, подводные камни

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

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

Хабралюди! Посоветуйте, пожалуйста!

1. Кого бы вы пригласили в качестве консультантов на эту конференцию, если бы ее проводили вы?
2. Какие бы темы вы добавили, на чем заострили бы внимание?
3. Как бы вы сообщали об этой конференции, чтобы она заинтересовала именно ту целевую аудиторию, для которой проводится?

Заранее спасибо за помощь — и ждем вас на конференции.
Total votes 42: ↑35 and ↓7+28
Comments60

Доступ к приватному видео Вконтакте

Reading time2 min
Views67K
Так вышло, что мне стало интересно узнать, насколько безопасно публиковать приватное видео на вконтакте.ру Оказалось, что сейчас уровень защиты слабый.

Немного копнуть


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

Далее, свое публичное видео я сделал крайне приватным (только для себя), и попробовал снова скачать файл напрямую с завершенной сессией. Ага, качается. Это значит, что сервера на раздаче видео не производят проверки на приватность (и правильно делают, потому как это надо делать в другом месте).
Читать дальше →
Total votes 135: ↑111 and ↓24+87
Comments67

Почти ОС реального времени: event-driven

Reading time7 min
Views12K
Пару слов введения:
Делаю систему контроля на базе AtMega32. Цель — отслеживать значение датчиков температуры и давления, управление нагрузкой и сброс отладочных логов в компьютер.

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

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

На форумах, посвященных программированию микроконтроллеров, наткнулся на упоминание об rtos — операционных системах реального времени. Почитал, скачал пару бесплатных, попробовал и принял решение: написать свое.

Читать дальше →
Total votes 75: ↑72 and ↓3+69
Comments36

Как оформить своё дело (в Украине)

Reading time7 min
Views11K
В этом посте я написал длинный текст о том как:
  • оформиться в Украине
  • стать физическим лицом-предпринимателем
  • платить единый налог
  • упростить себе жизнь при помощи интернет отчётности

Я описываю свой личный опыт. Простите за возможные ошибки. Навеяно этим постом
Исходные данные такие: Украина, удаленная работа с иностранным заказчиком, разработка сайтов.
Читать дальше →
Total votes 119: ↑105 and ↓14+91
Comments154

Настраиваем сканер отпечатков пальцев (finger print) в Ubuntu 9.04

Reading time2 min
Views40K
На написание данного топика меня сподвигла замена ноутбука и переезд на бету Ubuntu 9.04, вследствие этого знаменательного события.
Надо сказать, что пользую сей достойный продукт еще с версии 7.10. За это время сменилось несколько машин, и мне не разу не пришлось сильно сожалеть о своем выборе, поскольку проблем с определением оборудования не наблюдалось, правда может быть больше из за того, что используемая мной техника IBM Thinkpad всегда неплохо поддерживалась в линуксах, как и все что сделано в IBM.
Сейчас для работы, в руки мне попало достойное изделие от HP — ноутбук nc6400. Этот девайс обладает сканером отпечатков пальца, который несколько упрощает жизнь в нашем парольном хаосе. До настоящего времени использование сканера ограничивалось MS Windows и я не предполагал, что сообщество занимается столь малопопулярными устройствами.
Читать дальше →
Total votes 44: ↑39 and ↓5+34
Comments19

Монетизация веб-сервисов: бизнес модели

Reading time4 min
Views5.4K
Мы потратили несколько часов, исследуя онлайн-сервисы из списка Webware 100 Top Web Apps 2008 и изучая их бизнес модели. Следующая диаграмма показывает результаты исследования — 34% сервисов используют рекламную модель, 12% различные схемы подписки, 8% продают виртуальные товары (чаще всего в виде данных для скачивания), такая же доля сервисов предлагает сопутствующие продукты (обычно большие компании-разработчики предлагают бесплатный вариант продукта для привлечения к их платформе) и еще 8% сервисов используют схему «оплата за использование».
Читать дальше →
Total votes 68: ↑63 and ↓5+58
Comments28

Основы репликации в MySQL

Reading time10 min
Views328K
С репликацией серверов MySQL я познакомился относительно недавно, и по мере проведения разных опытов с настройкой, записывал, что у меня получалось. Когда материала набралось достаточно много, появилась идея написать эту статью. Я постарался собрать советы и решения по некоторым самым основным вопросам, с которыми я столкнулся. По ходу дела я буду давать ссылки на документацию и другие источники. Не могу претендовать на полноту описания, но надеюсь, что статья будет полезной.
Читать дальше →
Total votes 72: ↑70 and ↓2+68
Comments44

Атомарная группировка, или Ни шагу назад!

Reading time8 min
Views16K

0. Присказка


В некотором царстве, в некотором государстве жил-был программист. Звали его, как полагается, Иван. Был он настоящим спецом, обладал всеми Тремя Великими Добродетелями Программиста, то есть был ленив, спесив и нетерпелив. Случилась в том царстве печаль великая: кризис. И выгнали Ваню с работы без выходного пособия. Горевал Ваня долго, а потом собрался с духом и разослал резюме по всему белу свету. Долго ли, коротко ли, вызвали Ваню на собеседование. Требований к соискателю было много, но главное — требовалось хорошо владеть регулярными выражениями. До собеседования — почти месяц, готовься — не хочу. Будучи человеком серьёзным, готовиться Иван решил обстоятельно. 3 недели и 3 дня он лежал на печи, почитывал Хабр и думал, как же неслыханно обстоятельно он будет готовиться. До собеседования остался 1 день. Ванюша мысленно обругал работодателей, которые назначают собеседование так скоро, что совсем подготовиться не успеваешь, слез с печи, сдал пивные бутылки и на вырученные деньги купил книжку по регексам. Читал он её до полного изнеможения, пока не отключился. Утром мы найдём сонную физиономию Ванюши лежащей, как на подушке, на этой самой книжке под Хабракатом.
Читать дальше →
Total votes 87: ↑86 and ↓1+85
Comments42

Столик для ноутбука

Reading time2 min
Views54K
Речь в данном топике пойдет о столике для ноутбука для работы в кровати, либо на диване (ну и параллельно, возможно жене завтрак в постель подать :)

Дело в том, что я работаю дома, и постоянное сидение за столом — даже на сколько бы то ни было удобном стуле — надоедает — и за день уже просто все болит. (Это даже включая какие-то вставания-разминки или что-либо в этом роде) Плюс жена категорически за стол с ноутом не садится — только лежаче-сидячее положение на кровати.

Было решено приобрести столик для работы в кровати. Обзор киевского рынка по сути не дал результатов — был найден только один столик в одном интернет магазине — специально для работы на ноубуке за 500грн (62USD), но как и ожидалось в наличии их нет — и когда будут вообще не ясно.
Читать дальше →
Total votes 111: ↑90 and ↓21+69
Comments181

Безопасный код: Работа с пользовательским вводом

Reading time5 min
Views5.6K

(ч2. Подделка межсайтовых запросов; ч2. Работа с базой данных)

Наверняка, XSS атаки остаются самыми популярными наравне с SQL инъекциями. Их принцип прост до безобразия, а последствия разнятся от невинного коверканья вывода страниц до получения злоумышленником полного контроля над сайтом.

Некоторые сценарии XSS атак



Устойчивая атака


  • Вова создает частицу контента на сайте Пети.
  • Когда Маша просматривает этот контент, Вовин XSS ворует Машины куки.
  • Теперь Вова может пробраться на сайт, используя Машину сессию.
  • Чем более людей увидит этот контент, тем более успешной можно считать атаку. Максимум достигается путем создания противоречивых холиварных тем на сайте и т.д.
Читать дальше →
Total votes 75: ↑69 and ↓6+63
Comments26

Передача файлов между двумя компьютерами по интернету (netcat)

Reading time1 min
Views28K
Простая и очень нужная утилита, способная передавать данные по сети.
netcat (или nc) должна быть в любом дистрибутиве. Если же ее нету, то на примере дебиана ставится она так:
apt-get install netcat

Идея netcat очень проста: он просто перенаправляет поток данных в порт сетевого устройства, а на другом конце поток перенаправляется в файл.

использовать ее так:

на стороне сервера
nc -l -p 3333 > file.txt

на стороне клиента:
cat file.txt | nc -q 0 <remote_ip> 3333
Ключ -q 0 нужен для того, что бы netcat завершил работу сразу после отправки

можно отправлять файлы предварительно запаковав их:
на стороне сервера
nc -l -p 3333 | tar xv

на стороне клиента:
tar cv * | nc -q 0 <remote_ip> 3333
Total votes 11: ↑9 and ↓2+7
Comments13

Сверхжадные квантификаторы

Reading time4 min
Views15K
В статье Regexp — это «язык программирования». Основы была поставлена задача: написать регулярное выражение, находящее в цепочке символов текст в двойных кавычках, причем внутри кавычек "..." могут быть и сами символы ", если они экранированы обратным слэшем, например:
one two "foo:=\"quux\"; print" three "four"
Здесь наш регекс должен найти соответствие цепочке
"foo:=\"quux\"; print"
Автором (той статьи) было предложено такое решение:
/ " ( \\" | [^"] )* " /x
(здесь и далее синтаксис Perl; ключ /x означает, что пробелы в регексе не учитываются, мы добавили их лишь для наглядности, чтобы части регекса не слились в единый «модемный шум»).
Этот регекс работает в том случае, когда есть совпадение (текст в кавычках). Проблема же в том, что он находит текст в кавычках даже тогда, когда текста в кавычках (согласно нашим правилам экранирования обратным слэшем) просто нет. Например, в цепочке "\" регекс находит соответствие (равное всей строке "\" ), хотя его быть не должно: кавычка открыта, экранированная кавычка… а вот закрывающей-то кавычки нет.
Ситуацию легко исправить, исходную задачу решить несложно, внеся несколько простых изменений в регекс… но речь не об этом, а о том, что если у вас в руках современный инструмент, т. е. движок регексов (свежая версия Perl, Java или PHP с PCRE), то вы можете «исправить» описанный регекс, добавив в него всего лишь 1 символ. Какой? Куда? Почему? Если знаете ответы, то читать дальше вам не стОит ;-)
Читать дальше →
Total votes 63: ↑59 and ↓4+55
Comments22

Атака на беспроводные сети. Чуть меньше теории и чуть больше практики

Reading time6 min
Views313K
image
В общих чертах теорию и процесс атаки хорошо описал юзер n3m0 в своих статьях «Атаки на беспроводные сети», поэтому я не буду заострять внимание на многих теоретических моментах.
Я же хочу описать самые простейшие способы обхода защиты, но более подробно.
Читать дальше →
Total votes 199: ↑189 and ↓10+179
Comments103

Простой цифровой термометр своими руками

Reading time3 min
Views171K
Наткнулся недавно в интернете на интересный материал, идея заинтересовала, но после сборки отказалась корректно работать, погуглив дальше наткнулся на другой вариант, который и представляю.

Простой цифровой термометр с подключением через COM-порт.


Читать дальше →
Total votes 111: ↑108 and ↓3+105
Comments148

Простой цифровой генератор сигналов произвольной формы

Reading time2 min
Views35K


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

Читать дальше →
Total votes 64: ↑59 and ↓5+54
Comments16

Используем 2+ провайдера (вторая часть)

Reading time5 min
Views26K
Продолжим настройку нашего шлюза, про который я говорил в предыдущей статье. Напомню, там мы настроили правила маршрутизации, теперь нам надо заняться iptables. Сейчас мы настроим сеть состоящую из шлюза и сервера. На шлюзе будет работать SSH и DNS, а сервер у нас будет виндовый на нем у нас RDP и SMTP. Сеть будет настроена таким образом, что через любой из внешних айпишников мы сможем подключаться к любому из серверов, а SMTP сервер будет выходить наружу через основного провайдера.
Читать дальше...
Total votes 34: ↑29 and ↓5+24
Comments10

Будущее ботнетов или размышления об том, что нас может ждать.

Reading time3 min
Views1.2K
Занимаясь по совместительству со своей основной работой анализом вирусной активности, возникли определенные идеи по поводу того, что нас может ждать в ближайшем будущем в отношении ботнетов(спам, DoS и т.д.). Речь пойдёт о возможных методах управления ботнетами.
Читать дальше →
Total votes 82: ↑74 and ↓8+66
Comments51

SoapClient: параллельные асинхронные запросы, реконнект, обработка тайм-аутов

Reading time3 min
Views7.9K
Dklab_SoapClient — это расширенная версия стандартного PHP-класса SoapClient, предназначенная для параллельного (асинхронного) удаленного вызова процедур в высоконагруженных проектах.

При помощи этой библиотеки вы можете, например, строить страницу вашего сайта из блоков, как из конструктора. Каждый блок запрашивается через SOAP отдельно и независимо от других, при этом все запросы происходят параллельно. Если один из блогов не уложился в отведенное ему время (тайм-аут), то его можно не отображать на странице.

По сравнению со встроенным в PHP SoapClient, поддерживаются дополнительные возможности:
  • Одновременное, параллельное выполнение запросов к нескольким удаленным процедурам — ключевая особенность библиотеки. Если страница на вашем сайте собирается из 5 удаленных блоков, каждый из которых генерируется по 100ms, их можно запустить параллельно и получить всю страницу целиком не за 500ms, а за те же самые 100ms.
  • Реконнект при невозможности установления связи. К сожалению, мир несовершенен, и из-за случайной потери пакетов первая попытка соединения с SOAP-сервером может закончиться тайм-аутом. Это особенно часто происходит, когда проект располагается в нескольких датацентрах. Dklab_SoapClient позволяет задать тайм-аут на время открытия соединения (например, 1 секунду) и, в случае неудачи, повторить попытку указанное число раз. На практике это снижает вероятность итогового сбоя в тысячи раз, т.к. реконнект почти всегда помогает при утере пакета.
  • Поддержка тайм-аута на получение данных. Если страница собирается из удаленных блоков, то в случае «подвисания» одного из них «зависает» и вся страница. В то же время, отсутствие одного из блоков при наличии остальных — не такая большая беда. Вы можете указать, сколько времени Dklab_SoapClient должен ждать ответа от удаленной процедуры; если время превышено, возникает исключение PHP, которое вы можете обработать по своему усмотрению, не прерывая загрузку остальных блоков.
Читать дальше →
Total votes 38: ↑34 and ↓4+30
Comments29

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity