Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.

2010-06-30

д'Артаньян

Где-то я читал, что Дюма в Трех Мушкетерах едко высмеивал тогдашнее дворянство, типа сатира. А если посмотреть на героев произведения как на современников?

Кто-то из современных писателей однажды метко сравнил д’Артаньяна с приехавшим покорять Москву азербайджанцем.

В самом деле: представьте себе молодого задиристого азербайджанца, приехавшего в Москву без денег и на выкрашенной в красный цвет копейке. Он идёт к старому знакомому отца, показывает ему рекомендательное письмо, устраивается по блату в спецслужбы.

А через полсерии уже заводит себе таких же безбашенных друзей как он сам, и разъезжает с ними на чёрных джипах по городу, устраивая пьяные разборки с милицией…

Не очень романтично?

Тем не менее, именно таков д’Артаньян, которого мы любим. Драчливый заносчивый гопник с хорошими связями, который ни во грош не ставит ни закон, ни спокойствие мирных буржуа.

fritzmorgen.livejournal.com/308504

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

2010-06-29

Компенсация на компенсацию

В воскресенье вечером до меня дозвонился ОтделПоРаботеСКлиентами Бибины. И этим (воскресенье вечером) сразу достиг психологического преимущества :) ну как же, мы тут работаем, а вы? Пивко потягиваете?
И сообщил мне Отдел, что компенсация мне за плохой тырнет выплачена не будет. И не просто так, (денег жалко) а потому как «мы не выплачиваем компенсацию на компенсацию». И этим фразеологическим оборотом закрепил психологическое преимущество, потому как я ничерта не понял. Но потом разобрались.

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

А в этот раз денег дать отказались. Я наседаю и получаю телефонный звонок. В воскресенье :)
Оказывается, бибина компенсацию считает по своему. С умом. Компенсацию можно получить только если была проплата с моей стороны по тарифу. И уже на эту проплату пересчитывается компенсация. То есть, я каждый месяц должен класть 450 рублей на счет, не смотря на то, что там достаточно денег. Потом я могу просить компенсацию и, может быть, мне ее добавят на счет. Со счета деньги снять нельзя, так что провайдер по любому не в обиде. А в этом месяце, по их бухгалтерии, я пользовался тырнетом за счет бибины! В принципе, этого быть не может, потому как я ни разу не получал компенсацию более тарифной суммы, а значит, некую долю услуг оплачивал из своего кармана (а, соврамши, щаз проверил, один раз мне вернули 458 рублей при тарифе 450, один месяц я действительно бесплатно пользовался тырнетом). Но у них свой калькулятор, и по нему, я, видимо, каждый месяц должен оплачивать полную сумму, чтобы иметь привилегию на компенсацию. Те еще жуки.

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

Вы каждый день ходите в магазин. За едой. Допустим, вы покупаете килограм мяса (семья большая или аппетит завидный, не важно). Но в этом, во всех смыслах удобном магазине механические весы в мясном отделе. И эти весы врут на 100 грамм не в вашу пользу. Вы вместо кило стабильно получаете 900 грамм. Но денег с вас берут за килограм. На попытки возмутиться и навести справедливость, вам говорят, что-то типа «мы же вас предупреждали, поймите, весы механические, электронные сделают в следующем месяце, а пока делаем что можем а если не нравится, мы вас не задерживаем». Если постараться, можно выбить талончик на скидку при следующей покупке мяса. Не более того.
Вот так у меня и интернетом, получается.

2010-06-26

Халява кончилась

Наша телекоммуникационная телега, хоть со скрипом, но движется к светлому будущему. Когда Йота стала доступной, я писал, что недолго осталось жлобам жировать на офисном тырнете. И вот, наблюдаю, менее чем за 100 евро в месяц, БЕЗЛИМИТНЫЙ интернет для юр.лиц по ADSL, от МГТС. Это вам не хрен собачий, это АФК «Система».
По моему, это знаковое событие (кстати, любопытно, когда эти тарифы у них появились?), эпоха безумно дорогого и ограниченного интернета кончилась. Ну или кончается вот прям сейчас.
Даже удивительно, неужели никого не пристрелили?

Надо будет присесть на выю нашему прову, пусть цены снижает и безлимит выдает.


Oracle SQL FAQ. Wiki, что интересно. В Интернетах просто безумное количество информации по Ораклу, к чему бы это?

2010-06-25

Самый быстрый сервер DNS

Не секрет, что толстого и ровного канала в Интернет недостаточно для безбедного пользования тырнетными ресурсами. Вот вроде и канал толстый и соседи все спят а не засирают его, и все равно, иногда мучительно долго ждешь открытия страницы. Так бывает, если тормозит DNS-сервер, и хотя есть куча других причин, эта интереснее. Потому как ее можно устранить.

Про локальный кеширующий DNS-сервер я уже писал. А теперь - Namebench, про него я узнал на днях.
Это тулза, которая проверит доступные вам DNS-сервера и предложит быстрейший вариант.
Останется только подкрутить настройки TCP/IP в компе.

lifehacker.com/5420931/namebench-helps-you-find-the-fastest-dns-server-for-your-computer


Express для Node.js, веб-разработка на JavaScript, серверная часть. Каждый уважающий себя энтузиаст веб-разработки должен написать под ноду хоть один сайт. Однозначно :)

2010-06-24

МаркерМенеджер, с блекджеком и шлюхами

Кто выводил на карту POI с указанием их маркерами, наверняка сталкивался с тем, что при определенном зуме маркеры сливаются и перекрываются.
Для решения этой проблемы на гуглокартах добрые люди сделали менеджер маркеров:

Группировка осуществляется по принципу «разбили карту на ячейки; если на видимой области m*n в масштабе карты расположено k маркеров, скрываем эти маркеры, рисуем групповой маркер с указанием количества покрываемых соучастников». В общем-то всё. Координаты расположения группового маркера — геометрический центр ячейки.

Казалось бы — всё, но это не так. Перерисовка, когда же её делать? Самый точный и убийственный вариант — при каждом перемещении по карте. Почему этот вариант убийственен, думаю, объяснять не нужно, но как же тогда быть?
...
habrahabr.ru/blogs/webdev/93723
И, как всегда на хабре, главное — каменты.


shell tools online, набор утилит для обработки текста. Мне пригодился XML-форматтер.

2010-06-23

ГИС-акселератор

Помню, были времена, когда покупая видеокарточку в комп, стоило поинтересоваться, есть в ней акселератор GDI или нет. Если такого акселя не было, виндовые окошки отрисовывались заметно медленнее.
А теперь в видеокарты ставят такие камни, что возникает вопрос, а куда такую мощу девать? И как практичные люди, давай пихать ее во все места. Вот и до ГИС-ов добрались.

azavea.com/blogs/labs/2010/06/gpu-computing-for-gis
azavea.com/blogs/labs/2010/06/what-the-heck-is-gpgpu

Пока ничего конкретного, но людям дали грант на проведение сравнительных измерений скорости некоторых ГИС-операций. Они уже воодушевлены :) ибо говорят про двадцатикратный рост быстродействия.


Явистам интересно должно быть, вышла опенсорцная СУБД HyperSQL, релиз 2. На яве и для явы. Во всяком случае, под другие системы драйверов я не нашел.

2010-06-22

Самая короткая ночь

Google выкатил тулзу для командной строки, GoogleCL. С ее помощью можно работать с сервисами гугеля с консоли; можно делать автоматы скриптовые, много чего можно. Приглашают расширять функциональность всех заинтересованных, что несложно, ибо применяется Python и Google Data API.

Read more at the GoogleCL project page, or jump right to the examples. Along with a standard tarball, we have a .deb package ready for download, and hope to have it included in Debian and Ubuntu repositories in time for their next releases. We're adding features all the time, so check in frequently. Or better yet, contribute.

google-opensource.blogspot.com/2010/06/introducing-google-command-line-tool

Затея прекрасная, придумать бы еще, зачем это нужно лично мне :)


Алексей Федорчук затеял сайт «Советская геология». Может чего и выйдет.

Исландия борется за свободу слова. Путем предоставления хостинга неугодным в других странах авторам. А что, при наличи тяжелой артиллерии в виде вулканов, кто рискнет затыкать рот исландцам?

2010-06-21

Хостинг Silverlight аппликух под IIS-ом

Казалось бы, что надо от веб-сервера (IIS, другие не пробовал), чтобы отгружать клиентам сильверлайтные аппликухи? Да ничего, каталог, в который сгрузить минимальный набор файлов: app.xap, silverlight.js, default.htm. Думаете вы. Я тоже так думал. И даже попробовал. Аппликуха не заработала.

Логи показали, что файл app.xap сервер найти не может. Я каждую букву в урлах и именах файлов проверил, все ДОЛЖНО работать. И не работает. Опустим промежуток времени, в который я матерился и пытался понять, что не так. Как всегда, помогли добрые люди, наступившие на эти грабли ранее. Ну и вдумчивое гугление.

Открываю тайну, долбаный MS IIS файлы XAP пытается как-то обрабатывать вместо простой отгрузки клиенту. А в итоге — ошибка 404. Победить это можно в два приема: 1. в настройках веб-каталога запретить выполнение чего-либо, кроме скриптов (да и их можно запретить). По минимуму можно оставить только «чтение». 2. прописать доп. mime-типы, как описано тут.

Маймы в MS IIS можно прописать автоматом. Вот текст автомата:
Рецепт взят отсюда:
learn.iis.net/page.aspx/262/configuring-iis-for-silverlight-applications

2010-06-18

XML in Zope/Plone

Это очень легко, выполнить любую обработку XML в Zope. На слово не верится, но есть примеры.

сервер и клиент XML-RPC:

You've seen first hand how to use Zope as an XML-RPC server and client. It's not hard to build a simple web application with Zope and XML-RPC.
Zope and XML-RPC provide a easy-to-use, scriptable distributed object system. Simplicity, reliance on Internet standards, and language independence make XML-RPC an appealing protocol. Zope's web object architecture make it an obvious choice for XML-RPC work.
Zope and XML-RPC provide a compelling example of how XML is allowing a shift from a world of web sites to a world of web applications.

xml.com/lpt/a/489


данные в XML, показывать в HTML:

In this article we are going to look at the process of using Zope to develop a small web application centered around XML. We will build an FAQ viewer that stores its data in XML and allows browsing and searching. This article assumes that you have Zope installed and that you have some experience with Zope.

xml.com/lpt/a/132


обработка и выдача данных из RSS:

Real world XML application development requires more than just the ability to retrieve and store XML. Zope provides a host of resources that can be useful for turning XML data into a web application. Zope gives you searching, security, persistence, over-the-web management, support for many network protocols, rapid application development, and more. Add to this the ability to read and write XML over the network, and you have a good environment for XML application development.

xml.com/lpt/a/390

Глядя на исходный код примеров, занимающий по 20-30 строк, осознаешь, да, действительно просто. Если знать как :)

2010-06-17

Конгломерат

Вчера я упомянул о статье на хабре, в которой упомянуто много «страшных слов» - аббревиатур и названий. И сказал, что многие из них заслуживают отдельного рассмотрения.
Что ж, посмотрим (елы палы, сколько новых аббревиатур и названий для давно известных технологий; а что делать, в каждой избушке свои погремушки). Хотя все погремушки наличествуют в единой MS VisualStudio, некоторые можно использовать в виде отдельных инструментов.

POCO адаптер для Entity Framework. Plain Old CLR Objects — это POCO, простые старые обьекты CLR. Интересно, каковы сложные новые? По сути, адаптер это генератор кода .NET для обертки обьектов Entity Framework, ничего более. Если на пальцах, то так - указываете на входе модель (обьекты БД, к примеру) а на выходе получаете код для работы с обьектами вашей БД. Технология уже широко распространенная в разных фреймворках, местами называется scaffolds. В самом свежем релизе EF можно работать с POCO без отдельного адаптера (генератор встроен в EF). Более того, адаптер перестает поддерживаться.

Entity Framework это ORM решение для .NET. Похоже на развитие технологии ADO.

LINQ — Language INtegrated Query, язык запросов интегрированный в язык. Способ замаскировать запросы, скажем SQL, в коде на C#. Типа, если пишем на сишарп, то нафик сиквель, пишите все на сишарп.

T4 (Text Template Transformation Toolkit) — средство шаблонизации, очень мощное и развесистое. Расширение файлов обычно .tt Используется в генераторах кода студии. Что такое есть шаблонизаторы вроде никому не надо обьяснять?

JSLint — анализатор и валидатор кода JavaScript. Есть в виде плагина к студии, есть как отдельный инструмент. Почему «Lint»? Потому как так назывался один из первых популярных струментов статического анализа кода на C.

Как видно, в студии тоже есть современный инструментарий. Хотя в популярных фреймворках (типа RoR) эта тема получила активное развитие несколько лет назад, MS, идя медленно и выкатывая свои решения с опозданием, реализует технологии на очень высоком уровне. Короче, теперь у вебмастера список выбора средств разработки широк как никогда :) (повторяйте это каждый день и каждый день это будет правда)

Ну и до кучи:
Плагины jQuery: DataTables — вывод данных в таблицы HTML с поддержкой сортировки, пейджинга и проч., Autocomplete — даже картинки показывает в списке предложений, jQuery-JSON — облегчает работу с ясоном, например конвертит обьекты в ясон.

Руководство MICROSOFT® по проектированию архитектуры приложений

2010-06-16

Silverlight xaml source uri

Уринотерапия, да. Сегодня почти весь день потратил на бесплодные попытки повторить один из примеров аппликухи на Silverlight API для ArcGIS. Вроде делаю все, как в примере, а результата нет. Заткнулся на том, что картинка не подгружается в элемент <Image .../>. А фишка была в том, что как URL не прописывай, файл система будет искать в подкаталоге ClientBin вебсайта, ибо, по замыслу мелкомягких, именно там должна лежать сборка аппликухи. Самый простой вариант победить эту пакость — переместить сборку (файл *.XAP) в корень сайта. Все остальные варианты требуют детального знания механизмов работы сильверлайта с ресурсами.

Some Workarounds
1. Include the content in a subfolder of ClientBin. Set the content type to “Content” rather than “Resource” unless you want it downloaded with the XAP. Don’t include the media as a resource, or your users will have to download all the video and images before the Silverlight element is displayed.
2. You can manually move the XAP in the root of the site, and site relative paths will work. This solves the Uri issue, but then you’re on your own a bit because you’ve stepped outside of what Visual Studio’s tooling supports

weblogs.asp.net/jgalloway/archive/2008/09/11/silverlight-and-relative-uri-s-for-image-and-video-sources

Очень толковая статья, расставляет все по местам.

Сцылки дня:

2010-06-15

Комп 2010

Давно не занимался подбором комплектухи для десктопов. Рынок в застое, компы новые особо не нужны никому, ибо и старые работают неплохо. И чего-то захотелось, для развлечения, подобрать комплектуху, как для себя.

Получилось на 32 тысячи рублёв. Системный блок. По сравнению с тем, на чем я работаю сейчас, изменилась оперативка — DDR3, количество ядер — 4, видеокарта посвежей и похолодней. Да и все. Ну жесткий диск на терабайт. И это нынче называют прогрессом? В лучшем случае, новый конфиг на треть быстрее старого (местами может раза в два, но сомневаюсь), собранного более двух лет назад.



spreadsheets.google.com

2010-06-14

Генерализация

Четыре секунды система решает задачу «точка в полигоне» если ничего не делать. И одну десятую секунды, если провести генерализацию слоя данных. При этом на экране картинки одинакие. А если на глаз разницы не видно, зачем возиться с тяжеловесными данными?

So, my simple fix was to use ArcToolbox and perform a generalization operation against the layer. You GIS folks should be familiar with that type of thing. In short, it removes superfluous geometry in the shape. Instead of 1000 points along a curve, it can reduce it to say, 100. Visually, you can normally not tell the difference. But, to be on the safe side, I left the original layer alone, and just made a copy. Then, I use that copy in all all my identify operations instead of the original.

Yes, it does create extra overhead and some additional logic in your app, but the run time processing saving is huge. My 4 sec response times have been cut to under 100 millisecs. Yeah, its that big of a difference. So, in my mind, totally worth the extra effort.

roktech.net/devblog/index.cfm/2010/6/4/ArcGIS-Server-Identify-Operations-Slow

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

2010-06-12

MirrorBrain

ЗеркальныйМозг? ЗеркалирующийМозг скорее. Фреймворк и набор струментария для поддержки зеркал в сети доставки контента (CDN). Например, качая ОпенОфис, вы получите сцыль на файл от МиррорБрейна.

Choosing a suitable mirror for a users request is the key, and MirrorBrain uses geolocation and global routing data to make a sensible choice, and achieve load-balancing for the mirrors at the same time. The used algorithm is both sophisticated and easy to control and tune. In addition, MirrorBrain monitors mirrors, scans them for files, generates mirror lists, and more.
mirrorbrain.org

Опен сорц.

2010-06-11

Водород

"Либеральный клоун" Никонов не оставляет тему водородной дегазации ядра Земли. Тема очень интересная и ее развитие приводит к некоторым замечательным для жителя средней полосы России выводам.
А Петровичу эту тему прошил геолог Владимир Ларин.
Почитайте, любопытно очень.

А я для себя решил, что пока высшие чиновники из Москвы не бегут, беспокоиться о угрозе со стороны водорода мне рано. Есть масса других, более близких угроз, хоть те же чиновники :)

А вы знаете, что гремучий газ, это когда в газе более 4% водорода? А вы знаете, что в средней полосе есть много мест, где в почве накапливается уже до 2% водорода?

Сцылки дня:
  • SpatiaLite это SQLite с поддержкой пространственных данных.
  • Использование в SQL пространственных функций, примеры и картинки.
  • И более приземленный пример (не абстрактный) использования геом.функций в SQL, с приложением Spatial Reference. Почему все так непросто в геодезии?
  • Перечень пространственных SQL функций в ArcGIS SDE.
  • Hamachi это средство построить VPN для тех, кто со всех сторон закрыт NAT файрволлами. Интересен даже не Хамачи, интересны ссылки на альтернативные продукты (опенсорц!) и описание технологии. Чудес не бывает, да. Нужен посредник, доступный обоим точкам соединения.

2010-06-10

Привет

Заинтересовался этимологией слова «привет». Обнаружил занятное:

СО - идея совместности. СОвет - совместное говорение.
ПРИ - идея приближения. ПРИвет - говорение во время приближения к кому-то.
НА - тут несколько близких идей, в том числе и идея набрасывания некоего предмета предмета на что-либо, кого-либо. НАвет - это когда на кого-то набросили в виде грязной тряпки необоснованное обвинение.
ЗА - идея того, что остаётся позади чего-либо. Например, позади чьей-то жизни, ушедшей от нас. ЗАвет - это как бы говорение после смерти.
ОТ - идея движения в сторону от чего-либо, кого-либо. ОТвет - это говорение от одного человека в сторону другого.
...
Действительно, слово "привет" содержит корень "вед" (вет, вид, вит), и как правильно заметил ura означает ведание, знание.
Слово "видеть" однокоренное слову "ведать". Уместно будет отметить, что предки наши "знание" отождествляли с "виденьем", т.е. в их понимании "знание" было ясным виденьем, поэтому и были на Руси ведуны, которые знали не благодаря тому, что долго учились (хотя и это тоже было), а знали благодаря пониманию - ясному виденью устройства мира.
Слово "привет!" - означает "привиделись!", "свиделись!"

korneslov.ru/forum/4-8-1

Получается что, «ни ответа ни привета» это типа «и не признали и нах не послали»? Вроде того.

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

2010-06-09

Открывая PST

PST это расширение главного файла с данными, используемого в MS Outlook. В пст-шнике лежат все письма, заметки и прочая требуха. И теперь MS открыла формат этого файла и даже предоставила некий SDK для иллюстрации использования формата. Теперь нет нужды использовать именно Аутлук для работы с вашими любимыми пст-шниками.

Это как же надо было прищемить яйца руководству MS, чтобы вынудить их на такой шаг? Это же фугас в фундамент популярности офиса от Мелкомягких. Хотя нет, фугас, это когда форматы doc, xls открыли. А открытие пст-шника пожалуй калибром поменьше будет.

Microsoft, выполняя прошлогодние обещания, продолжает открывать спецификации на формат хранения баз данных Outlook, популярной в корпоративной среде личной информационной системы.
Файлы типа PST (personal storage table) хранят почтовые сообщения, вложения, календарные записи, контакты, события и прочую информацию на локальном компьютере пользователя.
Выпущены два инструмента для помощи разработчикам в использовании Outlook-данных в сторонних приложениях. Применение графического визуализатора PST-структуры PST Data Structure View Tool и набора разработчиков PST File Format SDK не требует инсталлированной Outlook. Новинки проходят под открытой лицензией Apache 2.0.

citforum.ru/news/23867


Довольно странная статья, про использование C# (CLR) в научных вычислениях. Странная тем, что лично я чую запах заказухи (неискренности автора). Но тем не менее, есть смысл почитать, если вас интересуют вопросы производительности кода на C#.

2010-06-08

Simple Help

Сайт такой есть. Набор шпаргалок и полезняшек. Мне, к примеру, пригодилась такая: «Как паковать и распаковывать архивы zip, tar, tar.gz и tar.bz2 в Linux». ибо я никак не могу запомнить комбо опций «zcvf» для паковки или «zxvf» для распаковки tar.gz

А еще там рассказано, как сделать картинку на рабочем столе, которая будет показывать карту мира с актуальным (в рамках трех часов) терминатором.

И этот рассказ привел меня на замечательный сайт где автор выкладывает результаты постоянного и регулярного рендеринга приятных глазу карт. А что более всего впечатлило — там он (автор) умудрился описать основные черты и назначение четырех проекций земного шара, не поверите, в 30 словах и менее. Потрясающе.

2010-06-06

Dependency Walker

Очередное граблехождение и вывод: если у вас не запускается некая программулина (речь про виндовую платформу), не торопитесь применять тяжелую артиллерию. Можеть быть все гораздо проще. Примените сначала тулзу Dependency Walker. Она покажет вам, может ли система найти все модули, необходимые программулине. Ибо если хоть один из модулей недоступен, система не сможет запустить программулину и выдаст очень информативное сообщение, наподобие «невозможно запустить программулину».

Я вчера пытался поиграть в Left4Dead2. На одном компе все установилось и заработало, на другом — фик. ПрямойХ переустановил, сервиспак на винду поставил, игру переустановил — не помогает. Только вечером вспомнил про Д.Волкера и через 10 минут (поиск, скачивание Д.Волкера, запуск, поиск длл-ки, скачивание, установка) я уже играл. Добрые люди, отвязавшие игрулю от контроля Стима, забыли приложить рантайм от визуальной студии 2008, на которой они, видимо, делали отвязку.

Что мне понравилось, так это сообщение системы - «прога, мол, незапускаема». А почему, не скажу. Что, так трудно сделать сообщение «не могу найти модуль такой-то»?

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

2010-06-04

Герои

Сегодня годовщина Поступка Химаера. Кто как, а я лично думаю, что поступок геройский, ибо сделать то, что он сделал, по резонам, которые у него были, это нужны стальные яйца. Ну, если и не стальные (самоубился таки, это сомнительный момент), то бронозовые — минимум.
Марвин, мы тебя помним.

А чтоб не так грустно было, посмотрите на героев в другом измерении. Зацените финальный взляд на Луну :)



exler.ru/blog/item/8070

Comet

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

теперь все иначе. Все хотят, чтобы информация приходила к нам сама в момент появления, а не ждать и тыкать сто раз в рефреш, ожидая, когда же твой друг наконец появиться в сети. Такие требования поставили перед разработчиками новые задачи, существенно усложнив жизнь, но, а что делать? Так и родилась технология Comet или, по простому, набор приёмов и средств для обновления данных (страниц или их элементов) в браузере без твоего участия. От тебя надо только залогиниться и зайти на сайт – в социальную сеть, онлайн игру или другой ресурс. От этого момента, если какая-то новая информация появляется, сервер сам отправит твоему браузеру новые данные.
В этом и отличие от AJAX-а, который запускается только если надо отправить данные, и завершает свою нелегкую трудовую жизнь после получения ответа. К сожалению, создание запроса через AJAX это всегда дорого и долго, да и браузер выкидывает свои штучки, ограничивая количество одновременных соединений. Но зато AJAX это самое родное для веба – он работает точно так же как и HTTP-протокол, по схеме запрос-ответ, а вот Comet, чтобы раскрыть свою мощь, должен прибегать к различным извращениям, имитируя постоянное соединение.

abrdev.com/?p=1100

Статья вводная, без особых подробностей (зато с кусочками кода), зато дает осознание назначения Кометы. Не обращайте внимание на «ты», хамство нынче в моде, а мода преходяща.

2010-06-03

C#

В процессе блужданий по тырнету, напал на анонс интересной книги (# ISBN-10: 0521585198 # ISBN-13: 978-0521585194). Называется типа «Алгоритмы обработки строк, деревьев и последовательностей: наука вычислять и вычислительная биология». Цена на Амазоне 80 баксов. В книге рассматриваются варианты, когда все, в общем, давно и хорошо известные, алгоритмы оказываются неэффективными и приходится выдумывать что-то особенное. Можно отдельные страницы посмотреть прям на Амазоне, кстати.
Очень занятная книга, должно быть. Баксов за 20 я б купил.

Халявный онлайн-учебник по C#. Это про него я хотел написать, а написал про книгу на Амазоне.

Два способа указать код возврата из консольной программы на .NET.

2010-06-02

LatLon2Map

Сегодня долго мусолили тему «какбэтак сделать, чтобы имея координаты точек в геоградусах (широта, долгота), получать расстояние между ними в километрах». А потом я вспомнил, что год назад я уже писал такой код. Ну не совсем такой, там надо было воткнуть клизму (маркер) в карту, в точку-центроид, координаты которой храняцца в БД в виде широты, долготы. А карта, понятное дело, отображается в некоей проекции.
http://forums.esri.com/Thread.asp?c=158&f=2276&t=234307#879484

Раз уж можно точку спроецировать, верняк, можно и длину отрезка в километрах посчитать.

2010-06-01

Register with Geodatabase

Сегодня подчистил хвосты, в итоге публикую отрыжку автоматизации работ с ArcGIS:

Register with Geodatabase- консольная программулька на .NET, выполняющая единственную функцию, которая в контекстном меню ArcCatalog так и называется "Register with Geodatabase".


sites.google.com/site/vasnake/home
forums.esri.com

Кому надо, тот знает, что это и зачем.
А я спать.

Архив блога

Ярлыки

linux (241) python (191) citation (186) web-develop (170) gov.ru (159) video (124) бытовуха (115) sysadm (100) GIS (97) Zope(Plone) (88) бурчалки (84) Book (83) programming (82) грабли (77) Fun (76) development (73) windsurfing (72) Microsoft (64) hiload (62) internet provider (57) opensource (57) security (57) опыт (55) movie (52) Wisdom (51) ML (47) driving (45) hardware (45) language (45) money (42) JS (41) curse (40) bigdata (39) DBMS (38) ArcGIS (34) history (31) PDA (30) howto (30) holyday (29) Google (27) Oracle (27) tourism (27) virtbox (27) health (26) vacation (24) AI (23) Autodesk (23) SQL (23) humor (23) Java (22) knowledge (22) translate (20) CSS (19) cheatsheet (19) hack (19) Apache (16) Klaipeda (15) Manager (15) web-browser (15) Никонов (15) functional programming (14) happiness (14) music (14) todo (14) PHP (13) course (13) scala (13) weapon (13) HTTP. Apache (12) SSH (12) frameworks (12) hero (12) im (12) settings (12) HTML (11) SciTE (11) USA (11) crypto (11) game (11) map (11) HTTPD (9) ODF (9) Photo (9) купи/продай (9) benchmark (8) documentation (8) 3D (7) CS (7) DNS (7) NoSQL (7) cloud (7) django (7) gun (7) matroska (7) telephony (7) Microsoft Office (6) VCS (6) bluetooth (6) pidgin (6) proxy (6) Donald Knuth (5) ETL (5) NVIDIA (5) Palanga (5) REST (5) bash (5) flash (5) keyboard (5) price (5) samba (5) CGI (4) LISP (4) RoR (4) cache (4) car (4) display (4) holywar (4) nginx (4) pistol (4) spark (4) xml (4) Лебедев (4) IDE (3) IE8 (3) J2EE (3) NTFS (3) RDP (3) holiday (3) mount (3) Гоблин (3) кухня (3) урюк (3) AMQP (2) ERP (2) IE7 (2) NAS (2) Naudoc (2) PDF (2) address (2) air (2) british (2) coffee (2) fitness (2) font (2) ftp (2) fuckup (2) messaging (2) notify (2) sharepoint (2) ssl/tls (2) stardict (2) tests (2) tunnel (2) udev (2) APT (1) Baltic (1) CRUD (1) Canyonlands (1) Cyprus (1) DVDShrink (1) Jabber (1) K9Copy (1) Matlab (1) Portugal (1) VBA (1) WD My Book (1) autoit (1) bike (1) cannabis (1) chat (1) concurrent (1) dbf (1) ext4 (1) idioten (1) join (1) krusader (1) license (1) life (1) migration (1) mindmap (1) navitel (1) pneumatic weapon (1) quiz (1) regexp (1) robot (1) science (1) seaside (1) serialization (1) shore (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)