Pull to refresh
21
Aleks Lozovyuk @aleks_raidenread⁠-⁠only

Криптовалюты, финансы, распределенные системы

Send message

Facebook как самый большой фото-сайт: факты и комментарии

Reading time3 min
Views622
image

оригинал Techcrunch тут

обратите внимание на цифры, особенно во второй статье.

как вы думаете, Одноклассники и Вконтакте уже крупнейшие фото-архивы в России? может, кто-нить владеет конкретными цифрами?

[перевод не буквальный, естественно]

Читать больше

Jabber-бот для Openfire за час

Reading time10 min
Views16K


Вот уже порядка двух лет я занимаюсь разработкой ботов для ICQ. После ряда недавних событий, из-за которых ICQ-боты часто оказывались неработоспособными, а также после статьи Знакомство с jabber ботами, у меня возникло стойкое желание изучить вопросы, связанные с разработкой ботов для Jabber.
В данном посте я хочу поделиться с вами своим первым опытом в данной области. Расскажу как с нуля, потратив всего один час времени, написать простого Jabber-бота.
В качестве платфомы для разработки бота я выбрал Openfire. На выбор повлияло то, что Openfire написан на Java (изучать что-нибудь типа Python совершенно не хотелось). Плагинная структура Openfire позволяет быстро и удобно прикрутить к нему функционал бота. Кроме того, Openfire прост в настройке, и к тому времени уже был установлен в качестве моего jabber-сервера.
Итак, приступим

qpimg — динамическое создание CSS спрайтов

Reading time2 min
Views3.1K
При разработке сайтов все чаще и чаще приходиться использовать технологию CSS спрайтов, дабы уменьшить кол-во изображений загружаемых на странице. Создание и редактирование таких изображений является не простой задачей, на которую тратится довольно таки много времени: изначально нужно скомпоновать изображения в графическом редакторе, а после описать позиционирование и размеры каждого элемента в файле стилей (CSS). Редактирование элементов и изменение их размеров может повлечь глобальный пересмотр спрайта, вплоть до полного его пересоздания.

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

Элементарные типы и операции над ними. Часть I: типы данных, размер, ограничение.

Reading time15 min
Views16K
Строительными кирпичиками любого языка является элементарные типы данных с которыми мы можем работать. Зная их, мы всегда понимаем, что у нас хранится в той или иной переменной, что возвращает та или иная функция. Какие действия мы можем совершить над нашими данными. Это база. Поэтому именно этому я и хотел уделить внимание в данной статье в общем, а так же примерам работы с бинарными данными в частности.

Материал в первую очередь адресую тем кто только начал или хочет начать писать на Erlang-e. Но я постарался максимально полно охватить данный аспект языка и поэтому надеюсь, что написанное будет полезно и более продвинутой аудитории.

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

Прогрессивные технологии, как способ выжать из сервера максимум

Reading time5 min
Views12K

Вступление


Просто красивый rrdtool =)
Забавно, но когда программист разрабатывает какой-либо продукт, он редко задумывается над вопросом могут ли на одну кнопку в один момент времени нажать одновременно 2000 человек. А зря. Оказывается могут. Как ни странно но большинство движков, написанных такими программистами, очень плохо ведут себя под большими нагрузками. Кто бы подумал, а всего один лишний INSERT, не проставленный index, или кривая рекурсивная функция могут поднять load averages чуть ли не на порядок.

В этой статье я опишу как мы, разработчики проекта, сумели выжать из одного сервера с Pentium 4 HT / 512Mb RAM, максимум, держа одновременно 700+ пользователей на форуме и 120,000 на трекере. Да, проект этот — торрент трекер. Предлагаю сразу оставить в стороне разговоры о копирайтах и правах, мне это не интересно, что действительно интересно — это HighLoad.
читать дальше

Кропотливая оптимизация PHP-приложений (рассматриваю PHP5, но большинство справедливо и для 4-й ветки)

Reading time9 min
Views8.9K

Когда во сне снится «ой а если сервера не хватит...»


Для начала, Доброй Ночи. Пишу что-то полезное вроде впервые (если не считать разного рода полу-тестов в моём блоге). Человек я допытливый до жути, неожиданно в голову пришло, что могу помочь сэкономить кому-то много времени ;).


танцуем с бубном

LINQ to SQL: паттерн Repository

Reading time10 min
Views55K
Бар LINQВ этой статье будет рассмотрен один из вариантов реализации паттерна репозиторий на базе LINQ to SQL.

Сегодня LINQ to SQL – это одна из технологий Microsoft, предназначенная для решения проблемы объектно-реляционного отображения (object-relational mapping). Альтернативная технология Entity Framework является более мощным инструментом, однако у LINQ to SQL есть свои преимущества – относительная простота и низкоуровневость.

Данная статья — это попытка продемонстрировать сильные стороны LINQ to SQL. Паттерн репозиторий отлично ложится на парадигму LINQ to SQL.
Читать дальше →

Erlang в Рисоваське, часть 1 — обзор языка

Reading time6 min
Views10K
В этой и последующих статьях (часть 2) я хочу рассказать про язык программирования Erlang/Эрланг, его использование в нашем проекте Рисоваська, а также какие приложения и готовые модули (большинство которых тоже написаны на Эрланге) мы использовали в серверной части.

Поискав на Хабре по теме Erlang/Эрланг, понял, что тема освещена мало, есть всего пара действительно хороших статей на тему языка (например, отличная статья от создателя языка в переводе alex_blank What's all this fuss about Erlang? написанная понятным, доходчивым языком). Именно поэтому хочется остановиться сначала на самом языке и его отличиях от традиционных языков.
Читать дальше →

Erlang в Рисоваське, часть 2 — ответы на вопросы

Reading time8 min
Views15K
Данная статья является продолжением цикла статей про язык программирования Эрланг/Erlang и его использование в нашем проекте Рисоваська. В первую очередь я хочу ответить на вопросы заданные в комментариях к первой статье, а вопросов было задано много. Итак продолжим:

Установка Erlang под Windows


Установить Erlang достаточно просто. Сначала скачиваем дистрибутив с официального сайта. Нам нужна последняя на данный момент версия R12B-5, колонка Windows binary (incl. documentation). После инсталляции в меня «Пуск» — «Все программы» появится пункт Erlang OTP R12B и в нем подпункт «Erlang». Если его выбрать, то запуститься безымянная нода вместе с оболочкой (shell) в которой уже можно выполнять эрланговский код, в том числе из моих примеров. Я буду придерживаться названия «нода», так как официального названия в русском языке пока не устоялось, хотя слово «node» и переводиться как «узел».

Вот ссылки про установку Эрланга под Mac OS X и Линукс (на английском).
Читать дальше →

Бибигоша – детский виртуальный мир на Silverlight 2

Reading time1 min
Views2.9K
На конференции “Платформа 2009” мы показали раннюю версию портала Bibigosha.ru. На прошлой неделе сайт официально открылся в экскурсионном режиме.

Бибигоша – это целый виртуальный мир для детей от 3 до 7 лет со своими героями, включая шестилапую(ого?) Бибигошу, играми, загадками и приключениями. Однако практика показывает, что не только дети любят в нее играть :)

Про общее назначение и цели проекта подробно рассказано в пресс-релизе Microsoft и видеосюжете в Вестях. Портал создан в рамках стратегического партнерства ВГТРК и Microsoft.

С технической точки зрения весь игровой мир полностью сделан на Silverlight 2 силами компании TVX. Для комфортной работы в регионах России с медленным Интернетом при первом запуске происходит кэширование большого объема данных. Так что не удивляйтесь, что первый запуск будет несколько долгим. Это только в начале.

Вообще, писать про Бибигошу сложно – это нужно видеть, наблюдать, изучать и играть :)

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

Бесплатные семинары для стартапщиков

Reading time1 min
Views543
Проект Egenius.ru компании АВК-Медиа начинает проведение цикла бесплатных семинаров для стартапщиков в сфере интернет-бизнеса. Докладчиками выступят специалисты компаний — лидеров российского рынка интернет-индустрии и консалтинга в сфере IT-проектов («Пронто-Москва», «Deloitte» «Тематические медиа» и др.), а так же руководители наиболее успешных российских стартапов («Tvigle.ru», «Мегаплан», «ГДЕЭТОТДОМ.ру» и др.)

Каждый двухчасовой семинар предполагает выступления двух спикеров: представителя компании – лидера рынка интернет-индустрии (который осветит теоретические и практические вопросы обсуждаемой темы) и руководителя успешного стартапа (который расскажет о конкретных приемах, которые привели его компанию к успеху). Для ответов на конкретные вопросы участников спикерам отводится значительное время: по 20-30 минут. Посмотреть семинар и задать вопросы можно будет и онлайн – предполагается интернет-трансляция.

Первый семинар состоится 21 февраля, в субботу, и будет посвящен теме: «Маркетинговый анализ идеи стартапа. Оценка рынков, конкурентов, характеристик потенциальных клиентов. Оценка перспективности». Докладчиками выступят Олеся Батог, руководитель проекта «Сайт IRR.ru» в регионах (компания «Пронто-Москва») и Рубен Акопов, генеральный директор ООО «ГДЕЭТОТДОМ.РУ».
Зарегистрироваться на семинар можно здесь: www.egenius.ru/seminar


Ждем вопросов, пожеланий, предложений. И, конечно, желающих посетить семинар:-)

acts_as_conference 2009

Reading time4 min
Views474
6 и 7 февраля в штате Флорида прошла очередная конференция посвященная Ruby и Rails. На сайте который специализируется на публикации видео с конференций связанных с Ruby были выложены записи выступлений.

Выступления на английском языке.

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

Кому это может быть интересно? Это может прозвучать странно, но самые интересные, на мой взгляд, доклады достаточно универсальны. Они затрагивают темы которые будут интересны людям независимо от того, какой язык программирования они используют. Разумеется, со знанием Ruby будет легче понять примеры, но идеи которые излагаются могут использоваться в разных языках. Два доклада на которых хотелось бы заострить внимание — The Grand Unified Theory… и Relaxing with CouchDB

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

Идеальный шторм. Постмортем неанонсированного проекта.

Reading time8 min
Views2.7K
Сегодня мы шли с Вовчегом, нашим гуру гейм-дизайнером, брать ему кредит на покупку квартиры и обсуждали наш текущий проект.

Сошлись на том, что удивительно, что нас до сих пор обоих не уволили. Мы умудрились допустить огромное количество очень существенных ошибок: я — по управлению, Вовчег — по дизайну. Проект еще не закончен, но уже можно сделать определенные выводы.



Проект длится 8-ой месяц, будет длиться со всеми многочисленными платформами еще 2-3 месяца. При этом мы сейчас четко видим, какие именно ошибки стоили компании 2-3 месяца разработки и десятки тысяч долларов (надеюсь, что счет на сотни тысяч не пойдет).

КОМАНДА

Главная ошибка в управлении моя — это ошибка выбора команды:
— Ставка на молодую команду, которая так и не смогла, по сути, «развернуться» на этом очень сложном во всех аспектах проекте.
— Связка молодой PM + опытный PMA, которая провалилась сразу. Мне показалось, что я смогу реализовать то, что, мне тогда казалось, работало в Нивале.
— Мы фатально ошиблись с оценкой сложности задачи по гейм-дизайну, что привело к тому, что связка дизайнер-программист оказалась удаленной, что почти катастрофа для проекта нашей сложности.

Мне потребовалось целых 2 месяца, чтобы осознать, насколько плоха ситуация, меня только совсем чуть-чуть оправдывает, что из этих 2 месяцев 2 недели я был в отпуске в тёплом месте. То, что я увидел после отпуска, было катастрофой. Я понял, _насколько_ категорически и масштабно я облажался. Кажется, еще никогда раньше я не ошибался ТАК круто.

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

Создание демон-процесса на Java

Reading time6 min
Views36K
Доброго всем времени суток.

Недавно, по долгу службы, появилась необходимость написать background process для IBM AIX 5.2 на Java с контролирующим shell скриптом.

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

читать дальше ...

Современная отладка JavaScript

Reading time12 min
Views26K
В связи с достаточно широким выбором неплохих отладчиков, JavaScript-программисты могут получить достаточно много пользы, изучая то как их можно использовать. Их пользовательские интерфейсы становятся все более совершенными, более стандартизированными между собой и более легкими в использовании, что делает их полезными как для экспертов так и новичков в отладке JS. В этой статье мы обсудим передовые методы отладки для диагностики и анализа ошибок, используя типичное веб-приложение.

В настоящее время средства отладки доступны для всех основных браузеров.
  • Firefox имеет хорошо известное расширение Firebug
  • IE8 выпускается со встроенными Developer Tools
  • Опера 9.5+ поддердивает отладчик Dragonfly
  • У Safari есть JS-отладчик Drosera и DOM-вьювер WebInspector. В более свежих версиях отладчик интегрирован в WebInspector.

На данный момент Firebug и Dragonfly наиболее стабильны. Утилиты IE8 иногда игнорируют контрольные точки, а во время написания этой статьи WebInspector имеет некоторые проблемы совмстимости с последними билдами Webkit.

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

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

AddVenture – лекарство от кризиса для российского стартапа

Reading time5 min
Views1.1K
Всего через 4 месяца после запуска программы динамичного развития стартапов AddVenture в разгар кризиса два из шести ее «выпускников» привлекли следующий раунд инвестиций. Фонд бизнес-ангелов AddVenture считает кризис «окном возможностей» и запускает в марте вторую программу.
В августе 2008 года фонд AddVenture отобрал шесть IT-стартапов, в которые проинвестировал по 20-50 тыс. дол. Мы искали команды «супергероев» – целеустремленных людей с глубоким пониманием рынка, потому что единственная определенность в стартапах – «все пойдет не так». Известно наверняка, что бизнес-план устареет до того, как высохнут чернила. Значит, нужно уметь приспосабливаться и играть вне своей зоны комфорта, уметь быстро находить решения.
Итак, первый транш переведен на счет только что созданной компании. Здесь работа большинства инвесторов если не прекращается, то становится гораздо менее интенсивной, у нас же в этот момент началось самое интересное.
Читать дальше →

Декоративные и значимые элементы в дизайне интерфейсов

Reading time3 min
Views1.3K
Перевод статьи "Distinguishing decorative from meaningful elements in UI design".

Как дизайнеры интерфейсов мы хотим, чтобы наши работы хорошо выглядели и были понятными. Каждый элемент на экране должен ласкать взор, и в то же время, интерфейсы — это не просто объекты. Они должны работать. Интерфейсы должны представлять информацию и ясно указывать возможные направления действий. Эти две стороны — сексапильность и функциональность, привлекательность и простота, оформление и значимость — они часто сосуществуют у опытного дизайнера. Но по-прежнему существует опасность конфликта между тем, как это по нашему мнению должно выглядеть и тем, как это будет воспринято пользователем (им бы только о клиентах (customers), нет чтобы о людях подумать… — мысль вслух пер.). Недавно я обратил внимание на такого рода противоречие между оформлением и значением на сервисе GitHub.

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

Разработка модуля для Apache 2.x

Reading time16 min
Views12K

Предисловие



Недавно мне пришлось столкнуться с необходимостью разработать собственный небольшой модуль для веб-сервера Apache 2.2.x. Проведя несколько часов в поисках подходящей информации, я столкнулся с тем фактом, что по-русски об этом мало кто рассказывает. Поэтому и возникла идея написать эту статью. Ниже я постараюсь как можно подробнее поделиться накопленным опытом, пошагово описать этапы создания модуля и приведу различные полезные ссылки по данной теме.

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

Information

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