Pull to refresh
11
0
Send message

Работа с ICQ в Java

Reading time8 min
Views7.8K

Предыстория


Как-то раз мы решили создать свой собственный микроблоггинг с блекджеком и шлюхами c шахматами и поэтессами. Сначала сделали сайт, но быстро стало понятно, что для реализации идеи его недостаточно. Необходимо было работать с сообщениями через Jabber и ICQ.
Начали с простого — с джаббера. Никаких проблем тут не возникло — мы писали на Java, поэтому прикрутили Smack API и все заработало. Но, как это не печально, но самым популярным IM протоколом все еще является ICQ…

Задача


Итак, задача: залогиниться в ICQ, принимать и отправлять сообщения, понимать X-статусы, работать с кириллицей.

Рассмотрим пути решения.
Читать дальше →

Кодировки

Reading time2 min
Views38K
Тут на самом деле всё просто. Храните все тексты в Unicode и будет вам счастье (при условии правильно установленной опции 'encoding' конечно ;) В ином случае (у вас куча текстов в национальных кодировках) придется
дочитать топик до конца

Делаем фото на документы

Reading time2 min
Views12K
imageФото на документы — написанная мною программа, которая предназначена для подготовки фотографии человека на российские документы. Программа больше года используется в десятках точках типа «фото на документы за 5 минут». Кроме этого, программу можно использовать дома, получая значительную экономию.

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

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

Бюджетный стол

Reading time1 min
Views23K
За полтора десятка лет изготовил несколько вариантов конструкции. Делюсь рецептом. Преимущества:
  • конструкция дешевая и проста в изготовлении.
  • можно выставить любую высоту столешницы.
  • большая глубина стола. Раньше использовалась под трубку CRT монитора. Интересно, чтобы вы туда положили сегодня?
  • есть куда вытянуть ноги (от края стола до угла 80см).
  • эффективное использование пространства комнаты. Визуальный объем комнаты не уменьшается, т.к. виден периметр пола и потолка.

Общий вид
Читать дальше →

Пишем кандидатскую работу

Reading time3 min
Views18K
Этот пост, возможно, будет полезен аспирантам (и магистрам) при написании своих научных работ, так как содержит некоторые наблюдения и выводы, сделанные автором во время работы над кандидатской.

Выбор темы


Наверное, самый важный пункт и к тому же, самый сложный. Причин может быть множество — от организационных, таких как смена университета, кафедры, руководителя до вполне обычных — нынешнее направление не интересное, а новое еще не придумали. Но, как правило, проблема одна — какую тему выбрать для кандидатской?
Читать дальше →

Триграммный индекс или «Поиск с опечатками»

Reading time4 min
Views35K
Как-то по долгу службы появилась необходимость добавить к поиску на сайте всем известную фичу, сервис «Возможно вы имели в виду…» или «Поиск с опечатками». Стали думать как реализовывать. Сторонние сервисы и api использовать не хотелось, ибо время до чужого сервера и назад, да и в целом не очень хорошо. Как раз кстати пришелся модуль pg_trgm, который ищет близкие к запросу слову на основе триграммного индекса.

Итак, идея есть, надо реализовывать.

Students Calculator теперь open source

Reading time2 min
Views5.2K
imageStudents Calculator — это мое первое серьезное приложение, идея доведенная до конечной реализации. Это то, что определило мою текущую профессию. Смешно вспомнить, начинал я писать его в блокноте, в функциональном стиле, не зная о существовании Javadoc и даже java.util, пользуясь только исходниками других j2me приложений. (Конечно, в дальнейшем, с ростом моих навыков программа пережила 2 рефакторинга)

Программа оказалась достаточно популярной среди школьников и студентов. Ей даже была посвящена колонка в одном журнале ). Но вершиной славы было письмо из китайского представительства Моторолы с предложением включить Students Calculator в набор стандартных приложений их мобильных телефонов (Чему, к сожалению, не суждено было сбыться)

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

Оффсайт: calc.motofan.ru (тут последняя версия 1.5.0 PR от 26.03.2006)
Реальная последняя версия:1.9.2 альфа от 2.4.2008
Sourceforge: sourceforge.net/projects/stdcalc/develop — исходники тут
Для заинтересовавшихся

Обработка сигналов в Java

Reading time3 min
Views15K
Передо мной частенько вставала задача написать какой-нибудь Java-сервис. В качестве ОС мы используем по большей части линукс, так что удобнее всего управляться с такими сервисами — работать с ними как с демонами. То есть, запускаем:
start-stop-daemon --start --make-pidfile --pidfile /var/run/myservice.pid --exec /usr/bin/java — -jar myservice.jar

, и останавливаем:
start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/myservice.pid

Команда --stop посылает JVM сигнал SIGTERM и сервис останавливается. Все как бы неплохо, JVM завершается в штатном порядке, если только вам не нужно выполнить по завершении работы сервиса какое-либо действие. Например явно освободить ресурс, или написать что-нибудь приятное в stdout.

Но все не так страшно, благо JVM начиная с 1.3.1 позволяет обрабатывать сигналы. За ответом как — под хабракат.
Читать дальше →

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

Reading time2 min
Views39K
Как известно, любой стартап начинается с фразы «Как же вы за***ли, лучше сам сделаю лучше».

В 2007 году положение с датацентрами в Москве, да и во всей России было критическим. Попасть туда простому хостеру можно было только по предварительной записи. Драли с него втридорога, сервера частенько перегревали, электричество периодически отсутствовало, и еще, стоило датацентру начать генерировать 2-3 гигабита полосы, как он тут же воображал себя царем горы, пытался барыжить твоим трафиком, а с несогласными боролся методом пускания моего трафика через узкий зашейпенный канал ***телекома зарубеж.
А общение с ночными дежурными датацентра — это отдельная песня. Чаще всего было проще приехать и самому найти вывалившийся патчкорд, чем полночи пытаться добиться от мало вменяемого, ничего не хотящего юноши. И это хорошо, если дежурный был и попасть в датацентр ночью было возможно. Некоторые датацентры работали с 9 до 5, кроме праздников и выходных дней. Все остальное время там не было НИКОГО. Сервер, упавший в пятницу вечером, пролежит, минимум, до дня понедельника.

Картинка, о том, что творилось внутри типичного датацентра того времени.
картинка Взято с сайта Nag.ru

Мне, к тому времени, это порядком надоело, и, как выход, я решил строить свой датацентр, ориентированный на запросы меня и моих пользователей.
Читать дальше →

Как заработать деньги на торговых автоматах

Reading time4 min
Views5.2K
imageЗнаете ли вы, что общего у терминала по приёму платежей в подземном переходе, гандономата в Лавке Студии Лебедева, и кран-машины, вокруг которой толпятся ребятишки, в надежде вытянуть мягкую игрушку? Всё это — вендинговые автоматы.

Вендинг — это продажа товаров и услуг с помощью автоматизированных систем (торговых автоматов). Вендинг получил широкое распространение в мире, как удобный и не очень требовательный способ вести торговлю или оказывать услуги. В 2001 объём вендинга в США составил $24,34 млрд. В Японии — около $60 млрд (самый большой в мире). (Wikipedia)

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

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

Как заработать на торговых автоматах: кофе, снеки и все-все-все

Reading time7 min
Views8.6K
Блог им. Andorro при поддержке портала «Век Вендинга» продолжает серию публикаций (1, 2) про вендинговый бизнес в России. На сей раз мы расскажем вам о том, какие бывают торговые автоматы.

Предупреждение: в этой статье будет много матов — в частности, кофематов, снекоматов и прочих хотдогоагрегатов. А также парочка вредных советов и несколько картинок. Кому это надо — добро пожаловать под кат.

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

Как заработать на торговых автоматах: законы и налоги

Reading time4 min
Views2.6K
Это вторая статья цикла публикаций о вендинговом бизнесе в России, совместного проекта блога им. Andorro и онлайн-издания "Век Вендинга".

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

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

Итак, если вы уверены, что вам это нужно — добро пожаловать под хабракат.

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

Обзор NoSQL систем

Reading time5 min
Views56K
Беспрецедентные объемы данных заставляют разработчиков и бизнес приглядываться к альтернативам реляционных баз данных, используемым вот уже более тридцати лет. В совокупности все эти технологии известны как «NoSQL базы данных».


Основной проблемой является то, что реляционные базы данных не могут справляться с нагрузками актуальными в наше время (мы говорим о high-load проектах). Есть три конкретные проблемных области:
  • горизонтальное масштабирование при больших объемах данных, например как в случае Digg (3 терабайта для зеленых значков, отображаемых, если ваш друг сделал dugg на статье) или Facebook (50 терабайт для поиска по входящим сообщениям) или eBay (2 петабайта в целом)
  • производительность каждого отдельного сервера
  • не гибкий дизайн логической структуры.
Читать дальше →

Основы декларативного программирования на Lua

Reading time12 min
Views51K
Луа (Lua) — мощный, быстрый, лёгкий, расширяемый и встраиваемый скриптовый язык программирования. Луа удобно использовать для написания бизнес-логики приложений.

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

Луа — мультипарадигменный язык программирования. Одна из сильных сторон Луа — хорошая поддержка декларативного стиля. В этой статье я кратко опишу базовые декларативные средства, предоставлямые языком Луа.
Читать дальше →

Канбан в IT (Kanban Development)

Reading time7 min
Views283K
Я собираюсь написать несколько статей про новую методологию гибкой разработки Канбан (Kanban Development) в целях подготовки к Scandinavian Agile Conference 2009, где я буду делать один из докладов (кстати, заодно приглашаю всех на конференцию).
Сегодня публикую первую из статей.
Основная задача первой статьи — это как можно проще описать основы Канбан: что это такое, в чем отличие от других гибких методологий и зачем это нужно.
Также я хотел бы собрать как можно больше вопросов и сомнений в комментариях, чтобы ответить на них в следующих статьях, так что пишите всё, что вам непонятно, или что ещё вы хотели бы узнать про Канбан.
Я не то, чтобы большой специалист по этой новой методологии, но мы внутри команды пришли к Канбану самостоятельно и последовательно прошли все этапы мутации от SCRUM до Канбан, так что практический опыт есть.

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

Мой отчет по годовому изучению платформы Java EE

Reading time6 min
Views119K
Этот пост – отчет по результатам годового изучения платформы Java EE.
Он будет полезен мне своей отчетностью. Может быть пост будет полезен тем читателям хабра, которые задумали учить Джаву.

подробности

Были получены исходники 3300 глобальных интернет-проектов

Reading time5 min
Views277K
Пару месяцев назад нами (2Товарища и Антон Исайкин) была обнаружена уязвимость, присущая в основном большим интернет-проектам (вроде Рамблера, Мейла, Яндекса, Оперы и пр.). Удалось получить доступ к файловым структурам известнейших сайтов (в общей сложности 3320 сайтов) и в ряде случаев их полные исходные коды.
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Registered
Activity