Теперь вот мне интересно, сколько времени пройдет, пока руководство растелится на 2-3 т.р., чтоб запустить этот сервис в коммерческую эксплуатацию :)
понедельник, 23 марта 2009 г.
sms transmitted with success
Теперь вот мне интересно, сколько времени пройдет, пока руководство растелится на 2-3 т.р., чтоб запустить этот сервис в коммерческую эксплуатацию :)
четверг, 19 марта 2009 г.
Tuz VS Tux
На минуточку будем не "пингвинятниками", а "дьяволятниками" :)
четверг, 19 февраля 2009 г.
rTorrent vs Deluge
Deluge - начиная с версии 1.х представляет из себя не столько клиент, сколько демон, к которому можно прицепиться, используя иксовую, виндовую, консольную либо web-морду.
Каждый из интерфейсов требует помимо поднятого демона еще и запушенную с нужным ключом программу-прослойку. Например, для работы web-интерфейса нужно на сервере (на машине, где поднят демон) запустить deluge --ui web ; консольная утилита - deluge --ui console.
Web-интерфейс представлен тремя скинами, каждый из которых чего-нибудь да не умеет. Например, самый продвинутый аяксовый скин не умеет нормально редактировать текущий торрент, зато показывает все красиво; classic-скин неуклюж, но более корректно редактирует торренты.
Демон по умолчанию слушает порт 8112 и умеет SSL (конечно, если сгенерить сертификат), но можно указать и свой порт. Доступ через веб к демону - под паролем; так же можно запаролить вызов GTK`шного клиента из треи.
Из серьезных замеченных недостатков могу отметить кривую работу веб-морды при добавлении нового торрента. Зачем-то сразу после добавления идет попытка рехеша (в терминах Deluge - Force ReCheck), которая не приводит ни к чему хорошему: файл/папка еще не созданы, а рехеш уже пробует напуститься; итог - просто мертвовисящий торрент. Я решил эту проблему работой через консольную утилиту, имеющую подобие SH. Например добавление торрента: add путь_к_файлу_торрента [куда сохранять]. Справка по внутренним командам: [команда] --help. Все достаточно понятно и вменяемо, хоть и не так наглядно, как в rTorrent.
Сильные стороны: не нужен костыль screen`а, разные морды, SSL, приоритезация торрентов (как на прием, так и на раздачу), приоритезация файлов внутри одной закачки, индивидуальные настройки скорости и прочего для каждой закачки, мультитрекер (можно раздавать/качать один торрент сразу с нескольких трекеров), стабильный демон и GTK клиент.
Слабые стороны: недоработанный web-клиент, маломощный консольный клиент. Еще один большой минус - отсутствие встроенного планировщика. До версии 0.5.х был такой плагин, сейчас же придется пользовать cron.
Если что-то забыл, не обессудьте. Второй день пользую всего лишь.
понедельник, 9 февраля 2009 г.
Kaspersky site & SQL-injection
Тут тебе и скриншоты, и список таблиц мускуля. И утверждается, что есть данные об активации и информация о пользователях.
Если все это правда, то у нас очередной "сапожник без сапог".
четверг, 5 февраля 2009 г.
Google Hosted & Jabber VS ICQ
Достаточно давно перевел всю почту фирмы на Google Hosted, то есть, домен наш, а физически обслуживается серваками Гугла. И сегодня решил проверить, смогу ли я пользоваться "hosted"-аккаунтом ( вида myname@ourdomain.tld ), как обычным GTalk-аккаунтом. Оказалось, что все работает на "ура".
Итак, понадобится Jabber или мультипротокольный IM клиент (для примера, в windows - самы распространенный на сегодняшний день клиент это QIP Infium, в линухе я пользую SIM).
Настраиваем SIM. Для тех, кто уже пользуется SIM`ом, сразу скажу, что настройка hosted-акка совершенно не отличается от настройки обычного акка вида myname@gmail.com. Остальным интересующимся читать ниже.
В менеджере соединений (Connections -> Connection manager) создаем новое соединение, указываем протокол Jabber
Username : пишем полностью с собакой и доменом, например, medved@kremlin.ru
Password : указываем пароль аккаунта
Server : talk.google.com
Port : 5224
Ставим галку "Use SSL"
Переходим на след. вкладку ("Network") и ставим галку "Use plain text login". А на вкладке "Options" ставим галку "Manualy specify Jabber host" и в активированном поле ниже пишем: "gmail.com"
Собственно, все. Осталось нажать "Next" и дождаться завершения процедуры.
среда, 14 января 2009 г.
XNeur & Fedora9
А сегодня вот решил попробовать еще раз побороть тот глюк при ./configure для иксового фронтенда. Смех в том, что по сути иксовая приблуда нафиг не нужна: конфиг xneur весьма прост и не требует для нормального понимания иксовый гуи. Но это еще не все: я больше удивился, когда запущенный сам по себе XNeur стал нормально общаться с роднм xkb`шным индикатором текущей раскладки! (чего не было замечено в более ранних версиях, и даже с родным индикатором он работал весьма криво)
Итог: функционал имеем в полной мере, а за счет отказа от X-GUI экономим память и не жужжим :)
P.S. 08.01.09 выпущен XNeur и gXNeur версии 0.9.3 (я использую 0.9.1), а поддержка KXNeur прекращена ввиду отсутствия разработчика. А он нам теперь и не нужен ;)
понедельник, 22 декабря 2008 г.
JavaScript dFilter для MAC-адресов
Меняем всю функцию dFilter:
function dFilter (key, textbox, dFilterMask)
{
if (key > 95) key = key-48;
dFilterNum = dFilterStrip(textbox.value, dFilterMask);
if (key==9)
{
return true;
}
else if (key==8&&dFilterNum.length!=0)
{
dFilterNum = dFilterNum.substring(0,dFilterNum.length-1);
}
else if ( ((key>47&&key<58)||(key>95&&key<106)||(key>64&&key<71)) && dFilterNum.length<dFilterMax(dFilterMask) )
{
dFilterNum=dFilterNum+String.fromCharCode(key);
}
var dFilterFinal='';
for (dFilterStep = 0; dFilterStep < dFilterMask.length; dFilterStep++)
{
if (dFilterMask.charAt(dFilterStep)=='#')
{
if (dFilterNum.length!=0)
{
dFilterFinal = dFilterFinal + dFilterNum.charAt(0);
dFilterNum = dFilterNum.substring(1,dFilterNum.length);
}
else
{
dFilterFinal = dFilterFinal + "";
}
}
else if (dFilterMask.charAt(dFilterStep)!='#')
{
dFilterFinal = dFilterFinal + dFilterMask.charAt(dFilterStep);
}
}
textbox.value = dFilterFinal;
return false;
}
P.S. Цеплять jQuery + плагин масок не захотел.
вторник, 9 декабря 2008 г.
SIM & GTalk
Вчера или позавчера мой сим сказал мне, что он больше не может работать с гугль-толк. Перепробовал кучу комбинаций в симовском нетворк-сетапе. Не помогло.
Для всех страдальцев, столкнувшихся с этой бякой сообщаю: нужно поставить TLS-либу.
| Debian | qca-tls |
| Fedora | qca-tls |
| Gentoo | app-crypt/qca-tls |
| Mandriva | libqca1-tls |
| SUSE | qca |
| Ubuntu | qca-tls |
пятница, 5 декабря 2008 г.
Загубленый проект красиво послали на
Замечу: до момента продажи сломать его пытались многие, но это у них не получалось; или получалось тлько отчасти и быстро все приводили в норму без последствий для пользователей и проекта в целом. Что ж, туда им и дорога. Хотя, на самом деле, очень жалко, что такой проект загнулся. Было интересно; в процессе работы над ним многому научились. Да и после сдачи даже сами пользовались. Эх...<META HTTP-EQUIV=Refresh CONTENT="10; URL=http://lleo.aha.ru/na/">
P.S. Ссылок не даю. Смотреть там уже не на что.
среда, 3 декабря 2008 г.
Goodle news for every one :)
Подробнее - от самого гугла.
пятница, 24 октября 2008 г.
Oracle
Маленький tip, чтоб сам не забыл. Дефолтные логины-пароли Oracle:
INTERNAL : oracle
SYS : change_on_install
SYSTEM : manager
Внемлем призыву "change_on_install"!
---
Устав бороться с iSQL*PLUS поставил Navicat. Tip: чтобы не открывать порт для взаимодействия внешних утиилит с ораклом, лучше их пускать через ssh-туннель (в настройках соединения).
понедельник, 6 октября 2008 г.
вторник, 30 сентября 2008 г.
День интернета
Звезда веб-мастерского счастья,—
В спецификацях стандартов
Напишут наши имена!
Всем веб-разработчикам посвящается. Тема сисек и цветочков раскрыта полностью.
в трех сериях
via Anch
вторник, 2 сентября 2008 г.
Google mail & maps for mobile
Обновления:
- GMail Mobile
- Google Maps Mobile
- Пополнение: GMail mobile for domains
Причем, приложение GMail mobile for domains гораздо более доработанное и более приятное, нежели "родной" GMail.
У "Карт" (G Maps) субъективно обновилась только иконка. Никаких видимых улучшений по сравнению с предыдущей версией не замечено. Все так же не умеет искать ни по каким критериям, кроме названия населенного пункта. Все так же никакого тебе наложения сторонних/дополнительных лееров. Все так же не умеет tracking. Ну и ладно. Зато работает быстро и безглючно; не то что яндекс-мапс, который в Ростове-на-Дону грузил 5 килобайт 20(!) минут и своей глючной работой посадил мне полностью заряженный аккумулятор за ~4 часа. Не снес я творение тындекса только потому, что там хранится один трек. Как перелью его куда-нибудь, - убью свино-яндекс-мапс без сожалений.
пятница, 1 августа 2008 г.
UTM5 billing all-users-data mysql query
Задача: вытащить все данные клиентов, включая id и имя основного лицевого счета (мастер-аккаунт) и всех связанных с ним с подчиненных аккаунтов. Учитывая гениальную "...улучшенную и оптимизированную структуру БД..", в которой, к слову сказать, во всех таблицах 1 индекс (и то не уникальный) по полю id, задача нетривиальная. Поиск по форуму зазрабов ничего не дал. Несколько дней мучений, советов на #mysql, несколько литров кофе, тонна табака и куча матершины дали результат :) Всем UTM-мученикам посвящается:
SELECT DISTINCT
u.id main_id, u.login main_login,
sl.account_id acc_id,
ip.uname uname, ip.upass upass,
atl.tariff_id tarif,
sl.service_id service_id,
u.full_name,
inet_ntoa(ip.ip&0xffffffff) ip,
ip.mask,
u.juridical_address jur_address, u.actual_address actual_address,
u.work_telephone work_telephone, u.home_telephone home_telephone,
u.mobile_telephone mobile_telephone,
u.tax_number tax_number, u.kpp_number kpp_number
FROM ip_groups AS ip
LEFT JOIN iptraffic_service_links AS isl ON isl.ip_group_id = ip.ip_group_id
LEFT JOIN service_links AS sl ON isl.id = sl.id
LEFT JOIN users AS u ON sl.user_id = u.id
INNER JOIN account_tariff_link AS atl ON sl.account_id = atl.account_id
WHERE
sl.is_deleted = 0
and isl.is_deleted = 0
and ip.is_deleted = 0
and u.is_deleted = 0
AND atl.is_deleted=0
AND ip.is_deleted=0
ORDER BY u.login
Забирайте. Пользуйтесь. Кто там кричит "неоптимизированный запрос" и "зачем столько проверок" ?! Не нравится - не пользуйся! Можешь лучше - покажи! Запрос рабочий. Тянет всю читабельную инфу из users, обращенный IP и маску, id тарифа, id сервиса.
Минусы: весьма тяжелый запрос. На нашем серваке он так и не отработал; тупо повис. Пришлось по одной таблице перетянуть на локальную машину, - это раз. Два - для сбережения своих же нервов советую сразу в поднятом локально дампе проставить индексы. Даже на локальной машине этот запрос вешался, пока я не добавил индексы. Хотя бы такие: в users добавляем по полю login; в ip_groups - ip и ip_group_id; в ip_group_id - ip_group_id, account_id, tariff_link_id; в account_tariff_link - account_id и tariff_id. Хотя, даже половина этих индексов уже заметно ускорит выполнение тяжелых запросов вроде этого.
NOTICE: В данном запросе не учитываются дайлапщики, но я думаю, на этой базе уже не так сложно будет допилить запрос под свои нужды.
четверг, 24 июля 2008 г.
Пользуем JQuery для сокрытия e-mail адреса (antispam)
Допустим, у нас есть ссылка вида "mailto:name@sure.tld" Если оставить ее в таком виде, велика вероятность, что в очень скором времени этот адрес попадет в спам-листы. Ну это всем понятно; поехали дальше.
Обманываем ботов.
В <head> добавляем строку подключения JQuery, если ее там еще нет:
<script type="text/javascript" src="/js/jquery.js"></script>
Для своей задачи я использую отдельный подключаемый js-файл, в котором держу весь жабаскрипт, но вы, разумеется, можете использовать следующий код и в теле html`а:
jQuery(function($) {В данном примере "spfm" - id ссылки. То есть, защищаемая мыльно-ссылка должна иметь некий признак, по которой ее можно идентифицировать и заменить ее атрибут. Я использовал id, как наиболее простой способ. Можно так же использовать, например, класс. Ну и, разумеется, в html меняем ссылку на левую; например, nospam@tundex.ru
$("#spfm").attr(href: "mailto:vasya@pupkin.ru");
} // да-да, режим совместимости с другими библиотеками ;-)
Казалось бы, все хорошо, в теле html светится левый адрес и по готовности DOM линк заменяется на нужный нам. Но, как истинный параноик, я подумал, что особо умные роботы могут скушать и подключаемый js и распарсить его. Про использование данного метода без отдельного js-файла вообще молчу - весь трюк теряет свой смысл... Для обоих случаев, хоть с внутренним js-кодом, хоть с подключаемым файлом, усовершенствуем немного наш антиспам. Разобъем реальное мыло на составляющие, а перед заменой, будем собирать его обратно:
jQuery(function($) {
var zupamail = ["ilto:vasya@", "ma", "pup", "kin.ru"];
$("#spfm").attr({href: zupamail[1]+zupamail[0]+zupamail[2]+zupamail[3]});
} // да-да, режим совместимости с другими библиотеками ;-)
Насколько мне известно, боты пока не умеют жабаскриптить :) и наш мыл останется для них недосягаем.
понедельник, 14 июля 2008 г.
Стартапы и рутина
[аноним] С аутсорсингом все понятно - "одна рутина - дописать, пофиксить, потестить, стереть пыль, перекрасить, забить пару гвоздей...". Нужели со стартап проектами иначе?
[cr-azz] Стартап - это когда строятся стены параллельно с фундаментом :), а гвозди забиваем потом, сначала надо функционал. Пылью ничего не припадает, перекрашивается всё по пять раз по свежей краске :), меняя цвета 3 раза в день.
среда, 9 июля 2008 г.
Интернет пропатчили
Решать эту проблему на корпоративном уровне - дело почти безнадежное: денег не дадут. Хе-хе. Для себя решил проблему прописыванием вторичного DNS на своей машине.
Сегодня просто ради интереса отрубил вторичку и проверил около 50 урлов (тупо взял из серч-резалта гугла); результат - все в норме, за исключеним одного домена, который просто-напросто экспайрился.
К чему это я.. Ах, да! Сегодня узнал о том, что как раз сутки назад (08.07) началось "пропатчивание" тырнета. А точнее, одной из фундаментальных составляющих современного интернета - системы доменных имен (DNS).
Если еще точнее, то модернизации подверглась реализация обмена данными между вышестоящим и нижестоящим DNS-серверами, которые для идентификации входящих данных используют числовые метрики, вычисляемые по псевдо-случайному алгоритму. Кроме того, количество этих метрик конечно и составляет всего 65000. Псевдо-случайность и относительно небольшое количество этих метрик теоретически могут обеспечивать уязвимость, известную как "DNS cache poisoning" ("отравление DNS-кеша"), при котором целевому серверу можно подсунуть пакет, прожевав который, он будет все запросы к Гуглу перенаправлять на vasya.laodzy.cn, например. Ну, после того, как все (все) DNS-сервера обновят свои BIND`ы и прочие иисы, Василий Лаодзы уже не сможет ничего сделать. :)
От так.
вторник, 20 мая 2008 г.
Service Pack 3 для Windows XP вызывает ошибку
Вскоре после начала распространения SP3 для Windows XP в службу технической поддержки Microsoft начали поступать жалобы от пользователей на некорректную работу компьютера после установки пакета обновлений. Во время перезагрузки, завершающей процесс установки SP3, компьютер проходил стадию проверки BIOS, обращался к загрузочному сектору и перезагружался вновь. Повторная перезагрузка, а также выключение компьютера, не исправили ситуацию.
Бывший менеджер по безопасности Microsoft Джеспер Йоханссон (Jesper Johansson) назвал в своем блоге две возможные причины данной проблемы.
Он предположил, что компания HP при первоначальной инсталляции операционной системы использовала один образ как для компьютеров на базе Intel, так и на базе AMD. Поэтому за управление питанием ПК на обеих платформах отвечает один файл intelppm.sys. Однако изначально он создан только для компьютеров с процессором Intel. За управление питанием машин с AMD отвечает amdk8.sys. В результате система определяет intelppm.sys в связке с процессором AMD как нештатную ситуацию и работает некорректно.
Вторая проблема связана с BIOS процессоров AMD. Как правило, она возникает при использовании материнской платы Asus A8N32-SLI Deluxe.
Для восстановления работоспособности компьютера в первом случае Йоханссон рекомендует просто отключить intelppm.sys. Во втором - подключить к компьютеру флэшку, и лишь после этого включать его.
И после этого вы будете говорить мне, что-де "для работы в линуксе надо знать танцы с бубнами"? Хе-хе :) А как вам такие танцы с флешками? Вот оригинальный текст, если кто-то сомневается:
The solution is simplicity itself: insert a USB flash drive, or some other form of secondary storage mechanism, before booting the computer. The people have that have seen this problem report that it goes away when they do. The catch is that the computer will only boot with a secondary drive attached. If you remove the secondary drive it will no longer boot. (Direct link)
Товарищ Джеспер выпустил утилиту диагностики и устранения проблемы (скачать). Перед установкой убедитесь, что в вашем компьютере установлен процессор AMD. Для этого вставьте в соответствующий привод дискету 3.5", отформатируйте ее, запишите на нее пустой текстовый файл и выкиньте в окно. Если дискета зависла в воздухе, значит у вас точно процессор AMD; если же окно оказалось закрыто, у вас стопроцентно UltraSPARC. Теперь просто запустите утилиту двойным щелчком мыши или Enter`ом. Если вам нужно проверить сразу несколько компьютеров, это можно сделать так: "removeIntelPPMonAMD.vbs [comp 1] [comp 2] [comp 3]
HP выпустили официальный хелп по проблеме.
Официальные комментарии Microsoft, относительно обнаруженных проблем, отсутствуют.
По материалам securitylab.ru и блога бывшего менеджера по безопасности Microsoft Jesper Johansson
понедельник, 19 мая 2008 г.
PayPal XSS Vulnerability Undermines EV SSL Security
В платежной системе PayPal обнаружена очередная уязвимость:
A security researcher in Finland has discovered a cross-site scripting vulnerability on paypal.com that would allow hackers to carry out highly plausible attacks, adding their own content to the site and stealing credentials from users.The vulnerability is made worse by the fact that the affected page uses an Extended Validation SSL certificate, which causes the browser's address bar to turn green, assuring visitors that the site – and its content – belongs to PayPal. Two years ago, a similar vulnerability was discovered on a different page of the PayPal site, which also used an SSL certificate.
Полный текст статьи
Смешно то, что похожая уязвимость уже была обнаружена 2 года назад.
