Тематические блоги разработчиков

Планета разработчиков rss icon

Агрегатор тематических блогов разработчиков.

Утренний артхаус

Опубликовано 01.12.2008 в блоге sash_ko
Сегодня в 5 утра ехал на такси на вокзал. Всю дорогу таксист рассказывал как он прикручивал индексацию на ассемблере для базы данных, хранящейся на 8-ми дюймовой дискете...

Презентація по Unitils

Опубликовано 01.12.2008 в блоге Блог Зеника Матчишина

Накопав дуже хорошу перезентацію по Unitils.
Unitils це бібліотека яка поєднює в собі DBUnit, Mocks, JUnit, TestNG + набір речей для тестування Spring/Hibernate та JPA

Некоторые видео с Adobe MAX

Опубликовано 01.12.2008 в блоге Флэш Потрошитель

Пока ждем появления всех видео с MAX'а на сайте Adobe TV, можно посмотреть уже доступные:

За ссылки — спасибо Суми Лим из Adobe.

Небольшой анонс

Опубликовано 01.12.2008 в блоге Сергей Щербак
В связи с тем, что близится праздничная дата - год сайту shcherbak.net, я работаю над переводом документа, который необходимо прочитать каждому разработчику приложений Semantic Web. Следите за обновлениями, этот документ будет доступен читателям сайта shcherbak.net! Подписаться на новости сайта shcherbak.net можно здесь!

Nokia выпускает Series 40 Platform SDK 6th Edition

Опубликовано 01.12.2008 в блоге Владимир Тряпичко

Nokia выпустила новою версию программного набора для разработчиков, создающих программы под сотовые телефоны работающие на базе системы Series 40 6th Edition. Первым телефонов, работающим на базе данной ОС стал новый Nokia 7510 Supernova, его продажи должны по всему миру начаться до конца года. В новой версии средств разработки заявлена поддержка:

  • WebKit open-source browser.
  • Location API for J2ME™ (JSR-179).
  • Flash Lite 3.0 from Adobe.
  • HVGA (320 x 480-pixels) resolution portrait screen.

Загрузить SDK можно здесь.

Share and Enjoy: Digg del.icio.us Netvouz description ThisNext MisterWong Wists Technorati YahooMyWeb Google

Скаженi кабани: Оставляем IIS 7.0 в глубоком одиночестве

Опубликовано 01.12.2008 в блоге Подлипенский Павел

Ясен пень, заголовок немного провокационный. Но мне надоели эти занудные “Быстрые веб-страницы”, поэтому серия статей по оптимизации веб-приложений продолжится под заголовком “Скаженi кабани”. Уже интереснее, правда?

ОК, мальчики и девочки, тема сегодняшней лекции – создание “облегченной” версии IIS 7.0 сервера, для простейших HTML приложений и статических файлов. А нафиг надо? Понадобиться это может в случае, если вы решили вынести все свои статические ресурсы (картинки, css, js-скрипты) на другой сервер. Или же, если вы наколбасили 2000-3000 html страниц, а Апач настраивать вы не умеете… Для тех, кто еще не успел поставить IIS 7 на свой сервер, дам небольшой setup snippet:

Start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-Security;IIS-RequestFiltering;IIS-HttpCompressionStatic;IIS-WebServerManagementTools;WAS-WindowsActivationService;WAS-ProcessModel

(заметка: я опустил IIS-ManagementConsole, WAS-NetFxEnvironment, и WAS-ConfigurationAPI, чтобы сервер был дружелюбнее)

Прежде, чем следовать советам всяких умников (вроде меня) сделайте бэкап настроек сервера по умолчанию:

%windir%\system32\inetsrv\appcmd add backup "default_install"

Теперь осталось “раздеть” IIS, бережно, как любимую девушку:

%windir%\system32\inetsrv\appcmd uninstall module TokenCacheModule
%windir%\system32\inetsrv\appcmd uninstall module DefaultDocumentModule
%windir%\system32\inetsrv\appcmd uninstall module DirectoryListingModule
%windir%\system32\inetsrv\appcmd uninstall module RequestFilteringModule
%windir%\system32\inetsrv\appcmd uninstall module HttpLoggingModule
%windir%\system32\inetsrv\appcmd uninstall module ProtocolSupportModule

Все видео Adobe MAX на tv.adobe.com

Опубликовано 01.12.2008 в блоге Флэш Потрошитель

Все 3 ТБ (терабайта) видео, покрывающих 290 часов Adobe MAX в Сан-Франциско, обещает выложить на Adobe TV Тед Патрик, который отвечает за процесс их записи и публикации. Первые видео появятся в первой неделе декабря, она начинается сегодня.

Эти записи пригодятся не только неудачнегам (типа меня), которые не смогли попасть на событие, но и тем, кто был там, но не сумел самоклонироваться во все места MAX'а и пропустил что-то важное для себя. Теперь он может это увидеть и поставить увиденному пятизвездочную оценку на сайте Adobe.TV, тем самым помогая другим найти лучшие сессии.

А искать их можно по поисковому запросу "МАХ" — сайт AdobeTV хорошо поддерживает диплинкинг, можно проверить, кликнув по ссылке. Пока что она выдает только одно видео с рокенролом про то, как два чудика едут на MAX в Милане (он стартовал сегодня). Можно использовать это поведение как шорткат — например, теперь понятно, что найти все Catalyst-видео можно по запросу "http://tv.adobe.com/#se+Catalyst" (пока 0 результатов, но скоро начнется).

Главная цель публикации этих видео — дать доступ к самой важной и свежей информации не только тем 5000, что были на MAX в СанФране, но

Softkey внедрил уникальный сервис мобильных покупок

Опубликовано 01.12.2008 в блоге Павел Сиделев
Интернет-супермаркет программного обеспечения Softkey первым на российском рынке запускает новую услугу для своих покупателей - сервис мобильных покупок. Его уникальность заключается в том, что для заказа и оплаты программных продуктов пользователю не нужны компьютер и Интернет, достаточно только мобильного телефона.

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

Например, для приобретения антивирусной программы "Лаборатории Касперского" - Kaspersky Mobile Security нужно отправить инициирующее SMS-сообщение на номер 4161. Текст сообщения: 734022. Подробности на сайте Softkey.ru.

Данный сервис интернет-супермаркета Softkey обслуживает компания i-Free, один из лидеров российского мобильного рынка. Перед запуском интернет-супермаркет Softkey провел на своем сайте опрос, в котором приняло участие около 6 тысяч человек, из них большинство являются абонентами "МТС" (около 40%), "Билайн" (около 28%) и "Мегафон" (25%). Приобретать программное обеспечение посредством SMS считают удобным около половины опрошенных. Более трети респондентов заявили, что готовы покупать программное обеспечение стоимостью от 100 до 500 рублей, оплачивая его при помощи нового

Горизонтальный скроллинг по Flex. Быстрый!

Опубликовано 01.12.2008 в блоге injun #576871

Угу, проблема как говорится знакома многим, кто вообще хоть раз делал большой-пребольшой и широченный DataGrid во Flex. Горизонтальный скроллинг в таких случаях не совсем так сказать удовлетворителен.

Вот и Алекс Харуи озаботился как же ж это дело оптимизировать. И оптимизировал. Посмотрите на пример и скачайте сорсы.

Geode + Gears + Flex

Опубликовано 01.12.2008 в блоге injun #576871

2008-12-01_171337 Мансур Раад показал как можно всё вышеперечисленное соединить. Пример богат, широкоэкранный, но бесполезный в том виде, в каком есть.

Но не это главное. Главное то, как это сделано – используется Geers и Geode. Подробнее читайте у самого Мансура.

Symfony: Propel предзагрузка объектов (preload objects)

Опубликовано 01.12.2008 в блоге Блог разработчков на Symfony

Цель: уменьшить количество запросов для таблиц использующих много внешних ключей.

Описание проблемы: имеем 4 таблицы: news, news_i18n, news_type и news_type_i18n. На странице нужно отобразить список из 20 новостей, используя все перечисленные таблицы. А это 21 запрос. Методы doSelectWithI18n и doSelectJoinAll не позволяют получить значения i18n NewsTypePeer для NewsPeer с минимальным количеством запросов к БД.

Решение проблемы: вместо 21 запроса к БД выполнить 2. Механизм - использовать предзагрузку объектов NewsTypePeer со значениями i18n.

Листинг 1: schema.yml


propel:
_attributes:        { package: lib.model.news }

news_type:
_attributes:      { isI18N: true, i18nTable: news_type_i18n }
id:               ~
url_segment:      { type: varchar, size: 255, required: true }

news_type_i18n:
title:            { type: varchar, size: 255, required: true }

news:
_attributes:      { isI18N: true, i18nTable: news_i18n }
id:               ~
news_type_id:     { type: integer, default: 0, foreignTable: news_type, foreignReference: id }
url_segment:     

Нигерийские спамеры придумали новый способ электронного отъема денег

Опубликовано 01.12.2008 в блоге Павел Сиделев
Нигерийские интернет-мошенники сумели модернизировать схему отъема денег при помощи спама и применить ее к системе электронных платежей Paypal.

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

Новая схема вместо электронной почты использует связь по Skype. Жертве предлагается получить не на банковский, а на счет Paypal крупную сумму. В обмен необходимо отправить гораздо меньшую сумму переводом Western Union. 

Деньги действительно приходят, однако затем мошенники используют правила Paypal для отзыва платежей за услуги. Жертва, которая в данном случае выступает в качестве "продавца", не сможет доказать, что оказала эти услуги. В то же время перевод Western Union отозвать нельзя. 

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

Flex-постеры пришли

Опубликовано 01.12.2008 в блоге Флэш Потрошитель

Рецепт получения постеров по Flex и AS3 работает. Сегодня убедился в этом сам, когда позвонили из FedEx и принесли увесистый тубус с пятью большими плакатами и парой сюрпризов внутри, как до этого у injun, akira и Полуночника. Который, кстати, уже опубликовал короткий фотоотчет о RAFPUG-12 в Питере.

Делаю профили.. затягивает

Опубликовано 01.12.2008 в блоге Блог команды ДОУ
Наконец-то пишу функционал, которым пользуюсь сам. Это прет неподеццки.

Что уже сделано:
  • публичный адрес странички профиля, напр. http://www.developers.org.ua/m/max/
  • загрузка фоток (любого размера, при загрузке масштабируются до 200 пикселей по ширине), пример
  • загрузка аватарок пользователей с gravatar.com, пример
  • ре-публикация ленты твиттера, если пользователь указал свой twitter id, пример
  • публичная страничка Участники, пока правда малофункциональная
  • поиск участника по имени
  • форма "Написать пользователю" - ее реально используют, а одни хитрые друзья пытались через нее своими вакансиями спамить :)
  • грамотный SEO для страниц участников, пример1, пример2
Что хочу сделать:
  • управление емейл подписками (кнопка Отписаться)
  • функция "Друзья", для построения сети контактов :)
  • ре-публикация рсс-ленты пользователя, например личного блога, который нельзя поставить в Планету
  • рейтинг пользователей: раздача +/- другим участникам
  • мини-аватарки 24х24, как на Хабре
  • загрузка аваторок из гмейл, через XMPP
  • загрузка резюме в формате doc/html/pdf (?)
  • функция "Группы"
  • функция "ищу работу": галочка в профиле, страничка со списоком пользователей, которые ищут работу
А что хочется вам?

WP Super Cache

Опубликовано 01.12.2008 в блоге WordPress блог

WP Super CacheWP Super Cache – это плагин статического кэширования для WordPress. Он генерирует html файлы, которые сохраняются, и Apache не обрабатывает сложные РНР скрипты. Вы значительно ускорите свой блог, при использовании плагина. (more…)

Как посмотреть оригинал письма в GMail

Опубликовано 01.12.2008 в блоге Irina Sribna

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

Для начала заходим в нужное письмо. Правый верхний угол письма должен выглядеть так:

Как посмотреть оригинал письма в Gmail

Нажав на синий треугольник возле “Ответить” увидим выпадающее меню, которое содержит нужный пункт “Показать оригинал”.

Как посмотреть оригинал письма в Gmail


© Yuriy Drozdov для Sribna, 2008. | Permalink | 2 комментариев

Добавить в del.icio.us

Хотите больше по данной теме? Просмотрите статьи в категории Web.

Краткий обзор MQ (Messages queue) для применения в проектах на РНР. Часть 2

Опубликовано 01.12.2008 в блоге Alpha-Beta-Release Blog
Приветствуем наших читателей! Сегодня мы продолжаем исследовать тему такого класса ПО как очереди сообщений применительно к РНР веб-системам. В прошлой статье мы рассмотрели некоторое ПО, в частности представителей как самой верхней области (Apache Active MQ, возможности которого находятся на уровне уже корпоративного ПО), так и достаточно простые варианты, например, MQS. Но не рассмотренными остались еще [...]

Рисуешь?

Опубликовано 01.12.2008 в блоге injun #576871

Покажи и посмотри, как это делают другие” – так называется достаточно забавный небольшой проектик Юрия “Z-13” Федорченко. Для детей – самое то! :)

Первый день MAX в Милане — живая блог-трансляция

Опубликовано 01.12.2008 в блоге Флэш Потрошитель

Михай Корлан, Adobe: живая трансляция с Adobe МАХ в Милане — текст и скриншоты (не видео).

Adobe Alchemy и главный вопрос

Опубликовано 01.12.2008 в блоге Leschinsky Oleg

Недавно Adobe опубликовала проект Alchemy позволяющий компилировать код на C/C++ в байткод виртуальной машины ActionScript.

Первым наглядным результатом можно считать портирование на Flash игры Doom.

Но это не главное. Главное можно описать двумя вопросами:

  • Можно ли на Adobe Alchemy запустить Linux?
  • Если да, то можно ли из нескольких экземпляров создать кластер Beowulf?

Java vs .NET

Опубликовано 01.12.2008 в блоге JavaInUa

Собрались как-то 4-е .NET прогера и 4-е Java программера свалить подальше в теплые края. Немного поразмыслив, в качестве транспорта выбрали поезд, так дешевле, нынче кризис, ну его нах эти самолёты-шмоты. В общем с транспортом кое-как определились, ну и рванули за билетами - хули ждать, бакс растёт, гривна падает, по кредитам просрочка - короче говоря жизнь гавно, и так понятно. Подходят значит к кассе за билетами, стали в очередь, все в ажуре. Подходит очередь до .NET-чиков, бабло на кассу, 4 билета в кармане. Отлично, думают ребята… но тут один из них замечает, что Java прогеры покупают 1 билет на 4-ых!!! В РОТ МНЕ НОГИ! Ладно, хер с ними с этими джавистами, подумали нетчики, после чего подобрав все свои баулы, молча и дружно отправились на посадку. Зашли в вагон, расселись по местам, нетчики в первом купе - джависты в последнем, как всегда, возле параши. Тронулись. Доходит очередь до проверки билетов. Первое купе - все .NET программеры с билетом, всё отлично. Потом второе купе, третье, и т.д. … Нетчики в шоке, мол, думают, высадят сейчас коллег из последнего купе, однозначно высадят. И тут они замечают, как толпа из четырех человек в оранжевых футболках

PDF-версия статьи "Пишем скринсейвер на wxWidgets"

Опубликовано 01.12.2008 в блоге wxWidgets.info - Все о кросс-платформенном программировании на C++ с библиотекой wxWidgets

Выложил русскую PDF-версию статьи "Пишем скринсейвер на wxWidgets". В статье рассмотрено:

  • Создание собственных компонентов
  • Отрисовка графики, double-buffering с использованием wxBufferedPaintDC
  • Обработка событий от мыши и клавиатуры
  • Обработка аргументов командной строки с помощью wxCmdLineParser
  • read more

Девід Блейн шукає особливі, ВУЛИЧНІ баги! 0_о

Опубликовано 30.11.2008 в блоге Про Тестування та QA.

:) Не втримався..

ДБ: Так, ось ці хлопці..

Дев1: Нє-нє-нє-нє-нє-нє-нє-нє, Девід Блейн, не чіпай нас! Що ми тобі зробили?

Дев2: Відстань, демон!

ДБ: Привіт, хлопці. Я шукаю особливі, ВУЛИЧНІ баги. Хочете побачити вуличні баги? Ось ти, що ти робиш?

Дев1: Форму замовлення обіду, зрозумів? О-БІ-ДУ! Ланчордер нах! Отут вибираєш зі списку що подобається, тиснеш Замовити - і вуаля, завтра тобі його привезуть!

Дев2: Та, Девід Блейн, не мішай нам, тут багів нема, йди звідси. Білд саксес, всьо заїбісь!

ДБ: Білд саксес кажеш.. Ану вибери мені зупку з печериць, відбивну з макаронами і банановий пудинг..

Дев1: От приставучий… Во! На, маєш! Тиснем Замовити… Шо за нах!!!! Зупа молочна  з оселедцем, каша перлова, огірки квашені в сметані! Йо-ма-йо, демон, ти що зробив????!!!!! Де нормальне замовлення????????

Дев2: В рот мну ноги!!! Ти чого ланч-ордер поламав, демон? Фак мій мозг!!!!

ДБ: 0_о

Мультиязычность в JavaScript

Опубликовано 30.11.2008 в блоге Все о JavaScript

Приветствую вас дорогие читатели! Сегодня я представляю вашему вниманию скрипт, способный обеспечить мультиязычность приложениям, написанным на JavaScript. Сам скрипт создан с использованием jQuery, однако при желании, его можно легко переделать на чистые JavaScript функции или под другую библиотеку - Mootols, Prototype и т.п.

Суть работы скрипта заключается в том, что стандартный объект String расширяется двумя функциями для переключения языков. Функция String.localize() возвращает перевод текущей строки, а String.localize_with_args() возвращает перевод строки с заменой указанных в параметрах фраз. Обе эти переменные имеют псевдонимы String.l() и String.l_with_args() соответственно.

Собственно языковые переменные хранятся в виде пары “ключ” - “значение” в объектах отдельно для каждого языка.

Пример инициализации языковых переменных:

Globalite.language("en", {
	welcome: "Hello world",
	goodbye: "Good bye",
	how_are_you: "How are you",
	see_you: "See you later"
});

Пример применения функции localize():

"welcome".l()
"welcome".l("Hello world") // Показывает "Hello World" если ключ "welcome" не найден

Пример применения функции localize_with_args():

Globalite.language("ru", {
  welcome: "Привет {name}"
});

Globalite.language("en", {
  welcome: "Hi {name}"
});

"welcome".l_with_args({ name: "Dima" })
"welcome".l_with_args({ name: "Dima" }, "Hi Dima") // возвращает Hi Dima если ключ не найден

Текущее значения языка установлено в виде атрибута lang тега html:

<html lang="ru">

Для того, чтобы изменить текущий язык, нужно воспользоваться функцией Globalite.setLang():

Globalite.setLang("en");	// переключаем язык на английский

Теперь можно без перезагрузки

Doom, converted to Flash by Mike thanks to Alchemy

Опубликовано 30.11.2008 в блоге Флэш Потрошитель

Так приветствует после загрузки флэш-игра, полученная из исходного кода Doom путем адаптации его под Flash Player с помощью вышедшей недавно Alchemy. Игра портирована вся целиком, за исключением музыки и некоторых звуков (чит-коды работают). На среднем компе дает 30-40 fps.

Эту версию DOOM Michael Welsh из Newgrounds выпустил 22 ноября, сообщив о ее выходе на форуме Alchemy. Там же он обещал скоро выложить исходники.

В блоге Майка есть и другие интересные эксперименты.

Я балуюсь с игрушкой…

Опубликовано 30.11.2008 в блоге injun #576871

Игрушка – моя любимая… :) CF, разумеется. Как славно было бы, если бы можно было бы писать такой код:

<cfprocessingdirective pageencoding="utf-8" suppresswhitespace="yes">
<cfscript>
h = new http();
h.setAttributes(url="http://news.yandex.ru/internet.rss"); //Указываем адрес нужного (RSS 2.0) фида
h.send();
rss = xmlParse(h.getresult().filecontent);
items=""; rssItems=""; i=""; row=""; title=""; link=""; published=""; //Определяем переменные
items=xmlsearch(rss, "/rss/channel/item"); //Ищем все элементы в дереве, которые начинаются с item
rssItems=queryNew("title,description,link,published"); //Создаём пустой запрос (query)
for (i=1; i lte arraylen(items); i=i+1) {
    row=queryaddrow(rssItems);
    title=xmlsearch(rss, "rss/channel/item[#i#]/title"); //ищем заголовки сообщений
    if (arraylen(title)) {
        title = title[1].xmlText;
    } else {
        title="";
    }
    description=xmlsearch(items[i], "/rss/channel/item[#i#]/description"); //Ищем тело сообщений
    if (arraylen(description)) {
        description = description[1].xmlText;
    } else {
        description="";
    }
    link=xmlsearch(items[i], "/rss/channel/item[#i#]/link"); //Ищем ссылки на сообщения
    if (arraylen(link)) {
        link=link[1].xmlText;
    } else {
        link="";

Любовь с первого кадра

Опубликовано 30.11.2008 в блоге Флэш Потрошитель

Сергей 'M$L' Максимович пришел во флэш-анимацию из мира анимации традиционной, когда вместе с СССР исчезла и его родная мультипликационная студия "Киевнаучфильм", давшая нам такие мультфильмы, как "Приключения капитана Врунгеля (1979)", "Алиса в стране чудес (1981)", "Як Петрик П'яточкін слоненят рахував (1984)", "Остров сокровищ (1986, 1988)" — всего более 500 работ, включая фильмы "Чи думають звірі? (1970)", "Індійські йоги: хто вони? (1973)", "Толкование сновидений (1989)".

А Валерия Маллаева взяла интервью у Сергея Максимовича, и в этом интервью есть многое: и практические советы flash-аниматорам, и немного "Капитане Врунгеле", и самые полезные для анимации плагины Flash IDE, и про роль Масяни в анимации, но главное — там Человек.

Динамические запросы (фильтры) в django

Опубликовано 30.11.2008 в блоге Праздник Игоря

Хороший заголовок, информации в гугле по этому поводу не найдено. Стоит задача сделать фильтр. Возьмем, к примеру, таблицу, первая строка которой содержит фильтры для колонок. Усложненный вариант фильтра позволяет выбирать сразу несколько значений. Реализовать такой механизм средствами ORM django довольно просто.

Создаем метод, получающий на вход имя поля и массив значений:

Буква О - спокойствие

Опубликовано 30.11.2008 в блоге Флэш Потрошитель

После того, как Антоний усвоил буквы "А" и "Б", я вспомнил, что детям легче даются гласные, и решил, что следующей будет буква "О":

Чтобы ограничить силу воздействия самой анимации, при создании "O" было использовано не такое интенсивное движение, как для предыдущих букв. Как мы знаем из опыта буквы "Б", сила анимации для "А" была мной недооценена. Некоторые комментаторы к предыдущим записям по теме указывали на это, и я согласен — с анимацией нужно обращаться аккуратно.

Установите Flash Player (или, если вы читаете статью в RSS-ридере, зайдите на сайт, чтобы увидеть приложение.)

Как следствие, буква "О" далась Антонию не так легко, как "А". Но легче, чем "Б". Напомню, что "А" далась с первой попытки, а "Б" как именно "Б" далась далеко не с первой, а сначала долго давалась как "А" (причины я анализировал в "Б").

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

Конкурс: «Юзабилити решения»

Опубликовано 30.11.2008 в блоге code is art
Уважаемые читатели! В последнее время мы все чаще задаемся вопросами юзабилити сайтов, как на этапе их создания, так и в процессе серфинга в сети Интернет. В связи с этим, решили провести конкурс «Юзабилити решения». Конкурс только для блогов и проводится 2 недели — с 1 декабря 2008г. по 14 декабря 2008г. Далее мы изучаем ваши стати на их информативность и актуальность и выбираем двух победителей. Порядок конкурса Порядок конкурса следующий: вы пишите у себя в блоге статью о юзабилити решениях, способных повысить удобство и доступность сайта. [...]

гегемония качества монстров

Опубликовано 30.11.2008 в блоге junior c++ dev notes
с сегодняшнего утра портал i.ua (детище комманды разработчиков, ушедших пару лет назад из bigmir)net) перешел с самописного (пусть таки кривоватого, да) поиска на Яндекс.XML. жалко разработчиков

swf 2 html

Опубликовано 30.11.2008 в блоге junior c++ dev notes
1 июля 2008 года на сайте Abobe появилась статья SWF searchability FAQ - Adobe выпустила приблуду, с помощью которой можно выдирать html и линки из swf файлов.

Adobe is teaming up with search industry leaders to dramatically improve search results of dynamic web content and rich Internet applications (RIAs). Adobe is providing optimized Adobe Flash Player technology to Google and Yahoo! to enhance search engine indexing of the Flash file format (SWF) and uncover information that is currently undiscoverable by search engines.

Как найти линк на саму утилиту на сайте - отдельная история. Обнаружить страницу с линком на исходники через поиск по сайту Adobe не удалось, помог гугл и линк с какого-то форума.

А вот в исходном коде содержиться занятный копирайт - The entire contents of this file is Copyright © Macromedia, Inc. 2002 , All Rights Reserved. Судя по копирайтам, утилите уже 6 лет. Почему ее открыли только в этом году, для меня остается загадкой.

Wide Finder 2: processing 42GB of httpd logs, 300X faster than naïve Ruby

Опубликовано 30.11.2008 в блоге junior c++ dev notes
The Wide Finder 2 benchmark measures the speed at which a program can analyze 42GB worth of webserver logs and generate basic statistics... Several people have written a multitude of implementations in various languages, including C++, OCaml, C, Java, Scala, Groovy, Fan, Python, Perl, Ruby, and combinations thereof.

http://eigenclass.org/hiki/widefinder2-conclusions

в top3 - две реализации на с++ и одна на OCaml

Релизация на OCaml, на сколько я понял, в разы проще в написании и короче, чем С++. А стоит ли игра в С++ свечь, если есть более простые альтернативы, дающие почти туже производительность?

link via DOU

борба за такты - многопоточность

Опубликовано 30.11.2008 в блоге junior c++ dev notes
еще немного материалов о повышении производительности

собственно почему и чем грозит:
"The Free Lunch Is Over - A Fundamental Turn Toward Concurrency in Software" By Herb Sutter


"То, что вам никто не говорил о многозадачности в Windows" Роман Лут

"Начало работы с OpenMP*" Intell Software Network. тулза, позволяющая просто(?) распараллеливать вычисления под Hyper-Threading

"Software optimization resources" ну очень глубоко - This series of five manuals describes everything you need to know about optimizing code for Intel and AMD microprocessors, including optimization advices for C++ and assembly language, details about the microarchitecture and instruction timings of Intel and AMD processors, and details about different compilers and calling conventions.

Weird iPhone Application Idea

Опубликовано 30.11.2008 в блоге Yurii Rashkovskii
Coke-junk-food-Bouquet

I am not sure whether it is really feasible to implement this (or at least make it work reasonably fast & accurate), but here is an idea for an iPhone app I would definitely buy:


Whenever I shop at supermarket, I would like to point my iPhone at Nutrition Information of another package (here camera gets involved), press a button to scan it and get alerted if this product is bad for me for some reason (in general, or for my diet).

It definitely should have built-in alerts presets, like "General", "Low carbohydrate diet", "Low sugar diet", etc.

Why is it weird? Well, because you can actually read this nutrition information by yourself. But wouldn't it be fun & hi-tech to scan nutrition information (though it would be easier if this information was also printed in a form of a 3d barcode or something like that).

Настройка совместной работы ASP.NET MVC и IIS 6

Опубликовано 30.11.2008 в блоге e0ne's comments
Уже немала было написано на эту тему, но в статье http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx пошли немного дальше: теперь url rewriting настроен таким образом,...

>>

FBA The Creator - Аццкий комбайн для создания мобильных игр

Опубликовано 30.11.2008 в блоге Владимир Тряпичко

Попробовал сегодня FBA The Creator. Это что-то похожее на IDE для создания игр для PDA и смартфонов под управлением Windows Mobile. Имеет очень удобное API для работы с изображениями различных форматов, звуковыми файлами и др. Язык разрботки напоминает гибрид Pascal’я и Basic’а (знаю, многие не любят ни тот ни другой, но на самом деле плеваться нечего ибо такая аццкая смесь вполне может помочь какому-нибудь новичку с минимальными усилиями слепить несложную игру) (UPD: После прочтения документации оказалось что это LUA, да уж, век живи, век учись).

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

Плюс ко всему FBA The Creator позволяет создать инсталлятор для игры без каких-либо сторонних утилит. Т.е. получается самодостаточный инструмент разработки, на выходе у которого можно получить готовый к употреблению продукт.

И все это совершенно бесплатно! И весит мало. Дистрибутив FBA The Creator весит всего около

Ремонт ноутбука DELL в Киеве

Опубликовано 29.11.2008 в блоге Vadim Voituk & Juriy Bura

Через неделю, после вроде-как найденного решения проблеммы с видео на DELL XPS 1330, оказалось, что рано радовался - проблема начала повторяться с завидной регулярностью - прийшлось обратиться в сервис.

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

В первом, DataLux, мне сказали, что диагностика будет длиться в течении недели, а ремонт - ещё 2-3 недели, при условии наличия нужных запчастей. Если запчастей на складе нет, то доставка займет ещё 4-5 недель. - фигасе! сказал я се!

Во втором (не помню как зовется) вообще сообщили, что будут ремонтировать мой DELL бесплатно, только(!!!) если он куплен у них.
На мой вопрос, не должны ли они, будучи в статусе “Authorized Service Partner” ремонтировать любое оборудование DELL, проданное в любой точке мира услышал феноменальный ответ: “Ну в принципе то должны, но мы так не делаем и бесплатно ремонтируем только ноутбуки, купленные у нас”.
Менталитет, млять! Договор с крупнейшим мировым производителем ценится не дороже бумаги, но которой напечатан.
Как-нибудь,  будучи в плохом настроении,  позвоню в DELL и “накапаю” на таких недо-партнеров - думаю статуса партнера эта шарашкина контора лишится очень быстро.

Дальше по списку на сайте нашел ещё одну

Знайшов баг в wordpress (Ticket #8428)

Опубликовано 29.11.2008 в блоге My name is Stepan Tanasiychuk і це мій блог
В понеділок вручну переносив блог з одного сервака на інший - все ніби нормально запустилось. Та коли сьогодні хотів зааплоадити картинку в галерею, то отримав: 502 Bad Gateway nginx/0.5.32 Я спочатку подумав, що то знову nginx вимахується (на старому сервері його не було). Написав в support. Вони звернули мою увагу, на error лог ...

Rails + Populator + Faker

Опубликовано 29.11.2008 в блоге Блог Smartviolet.com

Часто в процессе разработки сайта на Rails нужно быстро создать много данных, например для тестирования пажинатора.

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

Чтобы сэкономить время рекомендую воспользоваться библиотекой populator.

Ставим:

  gem install populator 

Используем. Например, нам нужно добавить в базу 3000 записей о пользователях

  User.populate(3000) do |user|
    user.first_name = “Tony”
    user.last_name = “Stark”
  end

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

Для этого есть еще одна чудная библиотечка faker. Ставим:

  gem install faker 

Теперь перепишем наш пример, добавив пару дополнительных полей и оформив в rake задачу, чтобы удобно было запускать, например в production:

  require ‘populator’
  require ‘faker’

  require ‘rake’
  require ‘rake/testtask’
  require ‘rake/rdoctask’

  require ‘rubygems’
  require(File.join(File.dirname(__FILE__), ‘../../config/environment.rb’))

  namespace :populate do
     desc “Add test data”
     task(:users) do
   

Интерактивные манипуляции с видео

Опубликовано 29.11.2008 в блоге Флэш Потрошитель

Adobe смешивает видео с интерактивностью. Например, можно прокручивать ролик, используя его объекты как элементы управления. Функционал совместим с тачпад- и айфон-концепциями:

Interactive Video Object Manipulation from Dan Goldman on Vimeo.

Узнать больше об этой технологии можно на странице Video Visualization and Interaction на сайте Adobe (в конце самого видео адрес битый из-за опечатки, "visualization" написано как "visualisation").

JavaScript бесплатно - азы

Опубликовано 29.11.2008 в блоге Di Sole
Это первая статья в моем блоге посвященная JavaScript, ее цель - рассказать про основы языка, то что вы знаете и не знаете. Это одна из серии статей, в конечном счете мы напишем полноценное JavaScript приложение. На JQuery или Dojo. Для испытания ниже приведенных примеров я советую поставить плагин для firefox - firebug Давайте начнем с нуля, так как будто этот язык вы видите впервые.
Операции с данными Типы данных в js можно поделить на два класса:
  • примитивные
  • сложные
К примитивным относятся переменные: var veriable; - вот простейший пример объявления переменной.
В javascript переменные чувствительны к регистру потому variable и Varible не будут одним и тем же
Особой разницы оперирования данными по сравнению с другими языками нет. Операции теже: "+"- суммирование "-" - вычитание "/" -деление "*" - умножение "%" - остаток от деления "++" -инкремент "--" - дикремент Знак "=" тоже оператор, оператор присвоения, поэтому когда вы набираете var i = 1 - вы используете простейший опертор.
Определение и присвоение можно объединить: var i = 1;
Для удобства и быстроты можно группировать "=" с другими операторами: i += 3 тоже самое, что и i = i + 3; i -= 3 аналогично i = i - 3 i *= 3 как вы догадались i = i * 3; i %= 3 вычисляет

JavaScript бесплатно - массивы

Опубликовано 29.11.2008 в блоге Di Sole

В прошлой статье я описывал примитивные типы данных, в это статье мы рассмотрим массивы.

Для объявления пустого массива используется следующая конструкция:

var a = [];

Typeof a

>> "Object"

Хоть функция typeof и сказала нам, что наша переменная объект – не обращайте внимания, чуть позже мы к этому вернемся.

Для создания массива с уже заданными параметрами надо поместить между скобок через запятую значения:

var a = [d,z,b];

a

>> [d,z,b];

В отличие от PHP в JavaScript нет ассоциативных массивов, вместо этого, обычно используют объекты. Так что же такое массив в JavaScript? Это список элементов, в определенной последовательности. Достучаться до нужного нам элемента возможно через уникальный индекс. У наших элементов следующие индексы:

1 – d
2 – z
3 – b

Чтоб обратиться через индекс в массив, используют квадратные скобки, к примеру, нам нужен первый элемент:

a[0]

>> d

В JavaScript, как и в других языках, индекс начинается с 0.

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

Важный момент:

var testArray = [];

testArray[5] = 'five';

testArray

>> ,,,,,'five'

Поняли? Когда вы создали элемент с индексом 5, вы тем самым определил предыдущие 5 (наш «пятый»

Психология пользователей и оптимизация изображений для веб

Опубликовано 29.11.2008 в блоге Проблемы и решения в web-дизайне

Иллюстрация к статье «Психология и оптимизация изображений для веб»

На мысль поэкспериментировать со способом оптимизации изображений для сети, натолкнул отчёт моих коллег по работе, побывавших на usability-семинаре Джеффа Джонсона в рамках конференции UserExperience ‘08.

Наверное, многие замечали, что изображения на страницах грузятся по-разному. Одни загружаются построчно, и создаётся впечатление что они грузятся сверху-вниз. Другие же грузятся сразу полным размером, но в «размытом» состоянии и постепенно детализируются.

Первый вариант получается, когда изображения просто сохраняются, а второй, когда при сохранении используется «прогрессивная развёртка». Какой способ сохранения лучше?

Эксперимент

Проведём небольшой эксперимент. Перейдите по двум ссылкам ниже (со сверхскоростным интернетом опыт не получится) и ответьте для себя на вопрос: «какая из картинок загружается быстрее?»

Ссылки: тест1 и тест2.

Результаты, которые я получил разослав ссылки своим подопытным кроликам друзьям и коллегам:

  • первый вариант — 9 человек;
  • второй вариант — 1 человек;
  • никакой вариант — 2 человека (буржуи на толстых каналах, у которых картинки грузились предательски быстро);
  • «задолбал ты со своими опытами!» — 2 человека.

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

Военная тайна

Теперь раскрою секрет: оба изображения загружались одинаковое время, так как

Новая версия Блогун на подходе

Опубликовано 29.11.2008 в блоге code is art
«Блогун» — крупнейший организатор рекламных кампаний в блогосфере рунета планирует выпуск новой версии системы. На данный момент она находится на стадии разработки, но думаю в скором времени нам откроются новые возможности заработка с помощью блогов. Так же поменялся логотип системы «Блогун» — преобрел золотистый оттенок. Дизайнеры логотипа старались предать мысль — «Слово — золото».

Linux на iPhone? Это реально!

Опубликовано 29.11.2008 в блоге Владимир Тряпичко

Ага! народным умельцам все-таки удалось запустить Linux на iPhone. Судя по анонсу поддерживаются первое и второе поколение iPhone, а также первое поколение iPod Touch. Работа над портированием Linux на iPhone еще не завершена и на данный момент поддерживается далеко не весь функционал, предоставляемый устройствами, но сам факт довольно примечательный.

Кстати уже выложили видео с демонстрацией того как это все работает:

Share and Enjoy: Digg del.icio.us Netvouz description ThisNext MisterWong Wists Technorati YahooMyWeb Google LinkedIn Live

Спешите видеть!

Опубликовано 29.11.2008 в блоге Eugene Pyvovarov - найголовнiше в дрiбницях

Здравствуйте, все читатели и возможные читатели моего блога :)

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

Я хочу сделать открытую разработку одного вполне реального проекта с паралельной публикацией того, что я делаю и как. Заодно и посмотрим, может более знающие люди в Python и Django подскажут - что и где я еще делаю не так.

В целом концепт публикаций уже сформулирован, но хотелось бы услышать пожеланий - что будет более интересно - смотреть видео с процессом написания или читать текст со скриншотами? Также готов выслушать любые другие идеи :)

Заранее спасибо всем отозвавшимся!

Расширения ExtJS для платформы Adobe AIR

Опубликовано 29.11.2008 в блоге Alpha-Beta-Release Blog
Приветствуем читателей. Как и обещал, продолжаем знакомить с новинками фреймворка ExtJS. На этот раз команда разработчиков сообщает, что в сотрудничестве с Adobe они развивают библиотеке в сторону совместимости с платформой AIR. И эта новость самая приятная, ведь именно для запуска серьезных AJAX приложений эта среда подходит наилучшим образом, а ExtJS позволяет создавать профессиональные интерфейсы, почти [...]

Первая он-лайн школа молодого предпринимателя

Опубликовано 29.11.2008 в блоге Павел Сиделев
Представленный ниже проект - давно ожидаемая новинка.
Разочаровывает ее незавершенный статус, как миним бета-версия или возможно альфа.
На сайте только структура - никакого контента, никакого функционала.
Очень непонятна причина запуска пустого сайта. Нужно было отчитаться перед заказчиками? Или чиновникам понадобилось галочку заработать?

Ответы мне неизвестны. Выводы такие:
1. Проект подобного плана нужен.
2. Проект должен быть наполнен перед выходом в свет и пиара по СМИ.
3. Хороший пример как НЕ НАДО запускать сайты.

---

   Ініціатор проекту є Львівська міська рада, розробку ресурсу здійснювала Аналітична Група Комітету Підприємців Львівщини.
            «Основна мета проекту – створення інформаційного ресурсу, який би допомагав підприємцям-початківцям відкрити власну справу, а вже існуючим підприємцям – розвивати свій бізнес. Сподіваємось, що цей ресурс стане дієвим інструментом для Львівської міської ради, щоб краще реагувати на проблеми підприємців та швидше скеровувати свої зусилля на допомогу їм», – зауважила начальник відділу економічного розвитку Львівської міської ради Вікторія Довжик.
            Щоб отримати доступ до усіх ресурсів школи, на ньому необхідно зареєструватись. Реєстрація є швидкою та безкоштовною Натомість після неї користувачі отримають можливість доступу усіх матеріалів, отримання розсилок, написання тестів тощо.
            Адреса Школи молодого підприємця - www.youngbs.com.ua.
    

Оновлення

Опубликовано 29.11.2008 в блоге Блог Зеника Матчишина

Ми щойно трошки оновились ;)

Редизайн блога

Опубликовано 28.11.2008 в блоге Amazon byteflow

Идея эта у меня висит ещё с лета, когда я увидел ifany.org — очень симпатично сделанный, с моей точки зрения, сайт. Но когда я попытался натянуть дизайн на свой блог, оказалось, что мне не нравятся всякие мелочи. В результате я нарисовал практически всё с нуля, использовав оттуда только идеи и некоторые цвета.

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

Даже не знаю, что ещё написать — но хотелось бы услышать мнения о новом дизайне. :)

P.S.Очень нравится, как повписывались иконки фидов — перед комментариями и в фильтрации по тегам. :)

P.P.S.Надеюсь, ни с чем не завтыкал. :) А то в следующий раз взгляну аж через сутки. ;)

Мои инструменты

Опубликовано 28.11.2008 в блоге Amazon byteflow

Я тут немножечко протормозил с продолжением поста Лориена на тему используемых инструментов — довольно напряжённые были последние пару дней (да и последующие тоже такими будут, судя по всему :), но вот всё же собрался — и пишу. :)

Собственно основное время я провожу в Емаксе. ;) У меня в нём — текстовый редактор (да, это можно использовать как текстовый редактор!), органайзер, почтовый клиент (Gnus), джаббер-клиент и irc-клиент. :) На самом деле это всё достаточно удобно, потому что система управления окнами (так в емаксе называются те зоны, на которые вертикально или горизонтально можно делить окно) тут достаточно развитая (больше 20 лет уже занимаются ей), и в результате так выходит гораздо проще, чем держать все эти программы во внешней ОС. Кстати, благодаря монитору (как я доволен, что купил себе вайдскрин — 1680х1050) при делении экрана пополам вертикально как раз влазит по 90 с небольшим символов — очень удобно редактировать, посматривая на что-то сопуствующее (старый код, документация, чат с кем-то в джаббере).

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

Hobnox AudioTool — взрослый аудио-синтез во Flash + Java

Опубликовано 28.11.2008 в блоге Флэш Потрошитель

Мы были свидетелями многих аудио-экспериментов, а теперь можем наблюдать реализацию полноценной онлайн-студии во Flash. Сделали это те же, кто удивлял нас вышеупомянутыми экспериментами. (Напомню также, что Антон Волков уже в 2004 сделал свой DJ Mix).

Hobnox.com — это целая виртуальная студия, в которой вы можете работать с синтезаторами-копиями аналоговых синтов от Roland, таких, как генератор басовой линии TB-303 по-русски, благодаря которому появился музыкальный стиль goa trance и его предшественник acid house, драм-машинами Roland TR-808 ru и TR-909 читайте также: +air-версия на experiment.ru, которые до сих считаются в своем роде непревзойденными, в частности, за и мощный kick drum и смешной cowbell, два набора педалей с эффектами, включая три delay, crusher, detune, flanger, reverb, параметрический эквалайзер и комп