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

2006-12-31

Ява - Java

Для масштабного корпоративного веб-проекта есть два основных варианта: ява и дотнет. Я долго прикидывал последствия выбора того, другого...
Решил заняться явой. Чует моя ж... что скоро это мне понадобится.
Первые опыты (на самом деле вторые, с явой я уже работал в девяностых):
Java:Обзор серверных технологий

2006-12-16

Сколько программеров писали Windows Vista

Прочитал в журнале: в Виста 50 000 000 строк кода, и делали ее около 5 лет.
Вот я посчитал, на калькуляторе: один программист в норме пишет 200 строк отлаженного кода в день,
тогда 50 000 000 / 200 = 250 000 дней одному программисту, или 961.5 лет.

Ладно, значит 1000 программистов напишут Висту за 1 год.
Значит, реально, за пять лет 200 программистов ее писали.

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

QnA или Вопросы и Ответы

Слыхал я, что Google прикрывает свой сервис "вопросы и ответы". Мол - не получилось. А вот у меня появилась мысль, можно сказать "бизнес-модель" такого сервиса.

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

Хорошо, вопрос попадает в очередь вопросов и желающие заработать (эксперты, или отвечающие) 30 рублей (или сколько не пожалел вопрошающий) начинают публиковать ответы. Через некоторое время, скажем, сутки, вопрошающий выбирает лучший ответ и тот ответивший, на кого пал выбор получает денюжку. Если вопрошающий за сутки не определился с выбором, денюжка определяется ... тут пока нет ясности, вариантов несколько: можно положить 30 р. в накопительный фонд и потом лотерейно определять отвечающего, кому перевести накопленное; можно путем голосования отвечающих (или вопрошающих) определить победителя, скажем "эксперт месяца", и ему отдать банк; можно отдать самому востребованному в этом месяце эксперту (чьи ответы были лучшими и ответов было много...); по разному. Можно даже варьировать эти варианты из месяца в месяц.

Но это еще не всё. Далее, вопрошающий может запросить эксперта уточнить - детализировать ответ, за 300 рублей. Но только после оплаты первого варианта ответа за 30 р. Приоритет получает эксперт, которого вопрошающий признал лучшим на первом этапе. Если эскперт за назначенное время не справляется или отказывается, вопрос попадает в общий пул вопросов за 300 р.
И так далее, 3000 р., 30 000 р. ...

Думаю, идея понятна. Сервис живет за комиссионные 10% - 20%
Если есть вопросы, давайте обсудим, на мой взгляд, вполне жизнеспособно. Сам бы занялся, если б не был таким ленивым.

2006-12-15

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

Очередной раз столкнулся с задачей поточнее посчитать расстояние между двумя точками на местности. Некоторые скажут "боян"... да и хрен с ними. Короче, кто до сих пор не знает как посчитать расстояние на эллипсоиде - прошу:

Координаты в десятичных градусах, типа долгота lon: 37.53 широта lat: 55.40. Результат в метрах а заодно и азимут направления движения в градусах от 0 до 360.
Тем кто с GPS работает - нужно часто. Правда еще нужно уметь перевести координаты из NMEA записи в десятичные градусы, это для пятого класса задача... ладно, сначала переведем NMEA запись координат в градусы:


function nmea2DecDegree($nmeaCoord) { // decimal(9,7), convert nmea ddmm.mmmm (dddmm.mmmm) to decimal degree
$res = 0.0;
$pp = strpos($nmeaCoord, '.');
if ($pp === false || $pp <>

$d = substr($nmeaCoord, 0, $pp-2);
$m = substr($nmeaCoord, $pp-2);
$res = (double)$d + ((double)$m / 60.0);
return $res;
}


ну а теперь посчитаем расстояние в метрах и азимут в градусах:


function calcDistance ($StartLat, $StartLon, $EndLat, $EndLon) { // array, 'dist' => 'x' meters, 'bearing' => 'y' degree; from decimal degree coords
//~ 10 сантиметров точность, когда
//~ abs(lon1-lon2) <= 0.0000014
//~ abs(lat1-lat2) <= 0.0000008
$res = array('dist'=>0.0, 'bearing'=>0.0);
$StartLat = (double)str_replace(',', '.', $StartLat); $StartLon = (double)str_replace(',', '.', $StartLon);
$EndLat = (double)str_replace(',', '.', $EndLat); $EndLon = (double)str_replace(',', '.', $EndLon);

if ($StartLat == 0.0 || $StartLon == 0.0 || $EndLat == 0.0 || $EndLon == 0.0) return $res;
if ( abs($StartLon - $EndLon) <= 0.0000014 && abs($StartLat - $EndLat) <= 0.0000008 ) return $res;

$D2R = 0.01745329251994330; // Pi/180
$R2D = 57.29577951308230000; // 180/Pi
/*
// http://www.pcigeomatics.com/cgi-bin/pcihlp/PROJ%7CEARTH+MODELS%7CELLIPSOIDS
// ELLIPS Descriptor Semi-Major Axis (A) (metres) Semi-Minor Axis (B) (metres)
// 12 WGS 1984 6378137.000000 6356752.314245
// 15 Krassovsky 1940 6378245.000000 6356863.018800
*/
$a = 6378137.0; // Semi-major axis of ellipsoid in meters
// $b = 6356752.314245; // Semi-minor axis of ellipsoid
$e2 = 0.00673949674233346; // 2nd eccentricity squared Geocent_ep2 = (Geocent_a2 - Geocent_b2) / Geocent_b2

$fdLambda = ($StartLon - $EndLon) * $D2R;
$fdPhi = ($StartLat - $EndLat) * $D2R;
$fPhimean = ($StartLat + $EndLat) / 2.0 * $D2R;
$fTemp = 1 - $e2 * pow( sin($fPhimean), 2);
$fRho = $a * (1 - $e2) / pow($fTemp, 1.5);
$fNu = $a / sqrt(1 - $e2 * sin($fPhimean) * sin($fPhimean) );
$fz = 2 * asin(sqrt (
pow(sin( $fdPhi / 2.0), 2 ) + cos( $EndLat * $D2R )
* cos( $StartLat * $D2R ) * pow(sin($fdLambda / 2.0), 2)
) );

$fAlpha = asin(cos( $EndLat * $D2R ) * sin($fdLambda) / sin($fz) );
$fR = $fRho * $fNu / ($fRho * pow(sin($fAlpha), 2) + $fNu * pow(cos($fAlpha), 2));
$res['dist'] = $fz * $fR;

if ($res['dist'] <= 0.999) return $res;

$Bearing = abs($fAlpha * $R2D);
if (($StartLat <= $EndLat) and ($StartLon > $EndLon)) $Bearing = 360 - $Bearing;
elseif (($StartLat > $EndLat) and ($StartLon >= $EndLon)) $Bearing = 180 + $Bearing;
elseif (($StartLat > $EndLat) and ($StartLon < $EndLon)) $Bearing = 180 - $Bearing;

$res['bearing'] = $Bearing;
return $res;
}

2006-12-08

опять Чубайс?

А у нас на работе свет (электричество) отрубают в 16 нуль-нуль каждый день. И обещают продолжать сие мерзкое занятие до конца декабря. Без предупреждений, без уведомлений, в один прекрасный день взяли и вырубили. Спрашиваем "че за ботва?", отвечают "потерпите пару дней".
А потом - бац - до нового года ежедневно. Мать! Подстанцию подкручивают.

А я обычно на работе появляюсь к 15 часам. Теперь дома буду работать.

Интересно, какие шансы отсудить компенсацию за нарушение работы бизнеса? А бизнес реально страдает, производительность упала, многие дела просто не успеваем сделать - все на компьютеры завязано.

Надо посмотреть, почем нынче генераторы...

2006-12-01

открытое письмо в Корбину телеком (по поводу повышения скоростей на тарифных планах)

Круто, супер!
Надеюсь, фактическая скорость подтянется за декларированной, а то как было около 700 кбит, так и осталось на безлимитке за $24.
Спасибо!

А теперь малость критики. Лично мне, полагаю и большой массе клиентов, вполне достаточно 500 - 600 кбит. А что, страницы летают, закачать что - вполне, видеосервисы работают. На год вперед скорость устраивает.
Очень хочется, чтобы Корбина отличалась от конкурентов высоким качеством, чтоб можно было сказать "ха, скорость у вас выше, три ха. А у нас качество беспрецедентное!". Асимметричный ответ.
Понимаю, повышать и поддерживать качество труднее, чем декларировать повышение скорости канала. Зато это реальное дело.
Собственно, я и перешел в Корбину от предыдущего провайдера в поисках качества. И не жалею, хотя в скорости я потерял при переходе.

Постскриптум:
чем закончилась война мегагерц, мы все видим. Чем закончится война мегабит? Думаю тем же. Откатом на предыдущие позиции, подсчетом потерь, перегруппировкой и раскраской нового флага. Может не проверять на собственном опыте?

нумерик против флоат (numeric/float)

Столкнулся неожиданно с особенностью (вообще неприятной). У меня в БД под управлением MS SQL Server 2000 есть координаты географические, конечно в формате с "плавающей точкой". С базой я работаю через ADO.
Раньше координаты по простому лежали в полях типа FLOAT, а вот нынче решил зачем то положить их в поля типа NUMERIC(9,7).

Положил, угу.
Тут же перестало все работать. Через пять минут листания дампа выяснилось - теперь ко мне попадает значение с разделителем в виде запятой (например так: 37,321).
Опаньки.
Пока поля были float, во всех ситуациях получал точку как разделитель и вот, нате.
Поскольку дело к ночи, не стал выяснять от чего это зависит, как полагается с этим бороться, взял и добавил фильтр в прослойку между ADO и своими приложениями, фильтр типа "если поле нумерик, меняем запятую на точку без разговоров".

Работать конечно будет медленнее. Зато теперь я с нумериком.
И нафига козе баян?

2006-11-14

хорошая замена PGP

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

Cryptophane is an easy-to-use Windows application that works with GnuPG (a PGP-compatible encryption program.) It allows users to encrypt, sign, decrypt, and perform key maintenance without having to deal with GnuPG's command-line interface.

Если вы уже работали с PGPой, то новостей для вас не будет. Лично мне подходит по всем статьям.

2006-11-06

толковый веб прокси сервер

Проявилась у меня задачка, за минимальное время (ну занят я) настроить на работе такой веб прокси чтобы трафик по пользователям считался (с перспективой отлучения от интернета). Потому как мегабайт за рубль, как мы сейчас платим, это нот гуд. Начальство переживает.
На текущий момент у меня выход в интернет через линуксовый шлюз, на котором SQUID, NAT, IPTABLES (в смысле файрволл). А народ в локальной сети живет в домене Win2003.
Вот такие условия. Да, чуть не забыл, воровать не люблю, поэтому либо бесплатное решение, либо опенсорц (что лучше).

Ну провел я серию экспериментов, поскольку времени в обрез, вошкаться некогда, искал виндовые программы - прокси, бесплатные. А, долго писать, сразу вывод:
Ставим SQUID NT и не паримся. Вполне профессиональное решение. А если будет время, можно и на линуксовый гейт перетащить.

Описываю алгоритм: скачиваем пакет, распаковываем непременно в C:\SQUID (другие каталоги может и подойдут, после камланий, но так быстрее).
Потом в каталоге c:\squid\etc\ переименовываем "примерные" конфиг.файлы в действующие.
Потом вносим правки в c:\squid\etc\squid.conf (в хвосте поста можете посмотреть мои правки в виде diff'a).
Потом устанавливаем сервис, например так:

pushd c:\squid\sbin
rem остановим и убьем:
net stop squid
squid.exe -r
rem обратно установим:
md ..\var\cache
squid.exe -z
squid.exe -i
net start squid

Ну и ради чего все затевалось - анализатор логов: Stone Steps Webalizer
Довольно примитивная штука, в FAQ все описано и все очень просто.
Пример скрипта для анализа логов сквида:

set WALZR=p:\app\webalizer\webalizer
set REPS=c:\squid\var\rep
set LOGS=c:\squid\var\logs
%WALZR%\webalizer.exe -F squid -n localhost -o %REPS% %LOGS%\access.log

главное, не забыть поместить в %REPS% CSS & JS файлы, а то некрасивые отчеты получаются.


обещанный дифф:


--- C:/downloads/prox/squid/etc/squid.conf.default Mon Sep 25 23:09:04 2006
+++ C:/squid/etc/squid.conf Thu Nov 02 20:33:07 2006
@@ -1022,10 +1022,11 @@
# Note that for coss, max-size must be less than COSS_MEMBUF_SZ
# (hard coded at 1 MB).
#
#Default:
# cache_dir ufs c:/squid/var/cache 100 16 256
+cache_dir ufs c:/squid/var/cache 300 16 32

# TAG: logformat
# Usage:
#
# logformat
@@ -1183,10 +1184,11 @@
# this, but the default file contains examples and formatting
# information if you do.
#
#Default:
# mime_table c:/squid/etc/mime.conf
+mime_table c:/squid/etc/mime.conf

# TAG: log_mime_hdrs on|off
# The Cache can record both the request and the response MIME
# headers for each HTTP transaction. The headers are encoded
# safely and will appear as two bracketed fields at the end of
@@ -1424,10 +1426,11 @@
# TAG: unlinkd_program
# Specify the location of the executable for file deletion process.
#
#Default:
# unlinkd_program c:/squid/libexec/unlinkd.exe
+unlinkd_program c:/squid/libexec/unlinkd.exe

# TAG: pinger_program
# Note: This option is only available if Squid is rebuilt with the
# --enable-icmp option
#
@@ -1796,10 +1799,17 @@
#auth_param basic program
#auth_param basic children 5
#auth_param basic realm Squid proxy-caching web server
#auth_param basic credentialsttl 2 hours
#auth_param basic casesensitive off
+auth_param basic program c:/squid/libexec/mswin_auth.exe -A webaccess
+auth_param basic children 1
+auth_param basic realm Squid proxy-caching web server
+auth_param basic credentialsttl 23 hours
+auth_param basic casesensitive off
+
+

# TAG: authenticate_cache_garbage_interval
# The time period between garbage collection across the username cache.
# This is a tradeoff between memory utilization (long intervals - say
# 2 days) and CPU (short intervals - say 1 minute). Only change if you
@@ -2100,10 +2110,11 @@
# Minimum value is 1 second, and it is not recommendable to go
# much below 10 seconds.
#
#Default:
# negative_dns_ttl 1 minute
+negative_dns_ttl 10 seconds

# TAG: range_offset_limit (bytes)
# Sets a upper limit on how far into the the file a Range request
# may be to cause Squid to prefetch the whole file. If beyond this
# limit Squid forwards the Range request as it is and the result
@@ -2438,10 +2449,15 @@
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT

+acl ident proxy_auth REQUIRED
+acl homenet src 192.168.1.0/255.255.255.0
+acl homenet src 127.0.0.1/255.255.255.255
+
+
# TAG: follow_x_forwarded_for
# Allowing or Denying the X-Forwarded-For header to be followed to
# find the original source of a request.
#
# Requests may pass through a chain of several other proxies
@@ -2532,11 +2548,11 @@
# http_access deny all
#
#Recommended minimum configuration:
#
# Only allow cachemgr access from localhost
-http_access allow manager localhost
+# http_access allow manager localhost
http_access deny manager
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports
@@ -2545,10 +2561,15 @@
# web applications running on the proxy server who think the only
# one who can access services on "localhost" is a local user
#http_access deny to_localhost
#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
+http_access allow ident homenet
+# http_access allow homenet
+
+http_access deny manager all
+http_access deny all

# Example rule allowing access from your local networks. Adapt
# to list your (internal) IP networks from where browsing should
# be allowed
#acl our_networks src 192.168.1.0/24 192.168.2.0/24
@@ -2599,11 +2620,13 @@
#
#Default:
# icp_access deny all
#
#Allow ICP queries from everyone
-icp_access allow all
+# icp_access allow all
+icp_access allow homenet
+icp_access deny all

# TAG: htcp_access
# Allowing or Denying access to the HTCP port based on defined
# access lists
#
@@ -2799,10 +2822,11 @@
# Email-address of local cache manager who will receive
# mail if the cache dies. The default is "webmaster".
#
#Default:
# cache_mgr webmaster
+cache_mgr soap@homenet.net

# TAG: mail_from
# From: email-address for mail sent when the cache dies.
# The default is to use 'appname@unique_hostname'.
# Default appname value is "squid", can be changed into
@@ -2858,10 +2882,11 @@
# get errors about IP-forwarding you must set them to have individual
# names with this setting.
#
#Default:
# none
+visible_hostname localhost

# TAG: unique_hostname
# If you want to have multiple machines with the same
# 'visible_hostname' you must give each machine a different
# 'unique_hostname' so forwarding loops can be detected.

ну какой же я не образованный!

Печально... на днях совершенно случайно узнал о целом явлении мировой культуры (или сабкультуры, если хотите). Называется prank . Причем узнал заковыристым образом - близкие обратили мое внимание на ряд форумов, где некая Света Семёненко (или тут) просит помощи. Причем делает это именно так, как и рекомендуется пранковать. И народ ведется...
А ведь шутку нужно либо поддержать, либо проигнорировать. Правда, если никто не поведется, то и шутки не будет.
Хотя доля сомнений остается. Эта Света шутит уже больше двух лет (это то что я нагуглил за 5 минут) а может и дольше. Либо это хобби, весьма устойчивое (кстати, мастерство со временем явно повышается), либо Света действительно тормоз, каких мало. Уж больно долгоживущая шутка.

Темные, необразованные мы. Печально...

2006-10-27

ремонт, плитка и молдаване

Я уже писал, что сделал ремонт в ванной комнате. Прошел месяц и пришел счет за телефон от "Ростелеком"а. На 1344 рубля. Хотя вру, не пришел. Позвонили по телефону и намекнули, что если не заплатить вскоре, отрубят как минимум межгород (8). Говорим "счет высылайте", отвечают "высылали, да вы его потеряли, приходите на переговорный пункт...".
Хрен с вами, телефонистами. Сходил на пункт, оплатил, взял квитанцию. А в ей указано: десять дней подряд (пока ремонт шел) разговоры с Молдавией. На упомянутую сумму, некоторые по полчаса.
Во блин.
А говорил, что не молдаванин. Плиточник, млин. Но раздолбай такой же. Кровь не спрячешь.

Лады, позвонил в контору, что ремонт делала - Ремсантехотряд
Говорю, мол, молдаване телефон заюзали, на сумму... А в ответ "подождите минутку" и понятно, трубку ладонью прикрывают и матом (случайно тот молдаван в кабинете оказался)...
Ну а потом мне "не боись, типа, завтра деньги подвезем". И подвезли.
Ложечки нашлись, но осадок остался... как в анекдоте.

2006-10-26

на опер.ру нашлось

дернуто у опер.ру
Первый урок, английский для начинающих:
Three witches watch three swatch watches. Which witch watches which swatch watch?

Второй урок, английский для продвинутых учеников:
Three switched witches watch three Swatch watch switches. Which switched witch watches which Swatch watch switch?

Урок третий, он же последний:
Three swiss witch-bitches, which wished to be switched swiss witch-bitches, watch three swiss Swatch watch switches. Which swiss witch-bitch, which wishes to be a switched swiss witch-bitch, wishes to watch which swiss Swatch watch switch?

2006-10-06

построил ванную

Странно, такое событие, а поделиться впечатлениями особо и не хотелось. Да, не публичный я человек.

В начале сентября позвал я бригаду. Ремонтников. Делать себе новую ванную комнату. Старая была уж очень чмошная, советская такая, а от прошлых жильцов остались бумажные обои на стенах. Терпел я это безобразие почти пять лет и терпение кончилось.

Ну что я могу сказать, сделали - хорошо, как и обещали. Хотя и не отлично. Швы плиточные можно было и поровнее/покачественнее сделать. Хотя и плитка из магазина "Керама" оказалась не самой качественной - размеры гуляют в пределах 2 мм. легко.
Да, сделали хорошо, все в плитке, новая сантехника, новые трубы, все новое (кроме двери), переделанный тех.шкаф (осталась такая небольшая колонна с дверкой 300х500 мм. Плитка красивая, все блестит и переливается. Красота. Хочется там жить.

Дверь правда менять я не захотел, не умею я двери выбирать, на кухне вон взяли дверь, а она через месяц закрываться перестала. Зачем мне в ванной дверь, которая не закрывается? Договорился, что дверь мне покрасят (опять же на кухне балконную дверь мне рабочии красили, так они ее просто реставрировали, лучше новой), думал выйдет прилично. Бригадир долго отказывался, говорил "купите новую", но я его уломал. Ха.
В итоге дверь стала хуже чем была. Но и денег за нее не взяли, честные.


В целом, я доволен. Денег ушло на всё про всё - 170 тыс.руб. Контора - Ремсантехотряд. Делали 3 недели, дергая ребят на другие обьекты. Меня почти не дергали (жил я в другой квартире, у предков).
Либо я не в курсе нынешних цен на ремонт, либо цена не соответствует качеству. Хотя - фирма известная, гарантия 2 года, ключи оставить не так страшно... Но тыщу баксов они взяли просто "на фирму", а качество работ не лучше чем у приличных шабашников. Да и организация работ не на высоте.

2006-10-02

и опять про интернет провайдеров

Подключился я к Корбине. Безлимитный тариф 512. Был. До сентября. В сентябре за те же деньги ($24 по курсу ЦБ РФ) сделали 600 килобит. При подключении пинги до ya.ru были порядка 20, 30 миллисекунд, а через несколько дней, не успел я пожаловаться на такую беду, пинг стабилизировался на 1, 2 миллисекундах. Красота!

И это несмотря на заверения моих пионеров (из Наутилуса), что такого пинга (1-2 мс) мне никто не обеспечит. Ха три раза.
Кстати, техники, что подключали Корбину потом пошли клеить листовки. Я им говорю: "клейте поверх наутилосовских". А они мне: "нельзя, никак нельзя".
И правда, их листовки висят в сторонке, а пионеры из Нау, не гнушаясь, свои клеят поверх. Тоже показатель.

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

Хотя. может ещё не всё для них потеряно. Я сегодня на форуме прочел реплику админа, типа "прошу прощения, интернет у нас глючит по причине глюкавой программы, обеспечивающей доступ, трафик инспектор...". Признание своих ошибок - первый шаг на пути к выздоровлению. Раньше говорили, что сами мол ламеры, у нас всё работает. А теперь вот как... может и вырастут, если не сдохнут раньше.

управляй своим временем

Ага, опять компьютерра, статья Time management: экономика минут

Правильно автор пишет, для подавляющего количества случаев вполне достаточно ёкселя с примитивной табличкой (нарисованной в статье).
А сервис voo2do просто прикрутил интерфейс к таким табличкам.

Пробовал я пользоваться всякими "проджектами" - избыточно. Хотя в немаленьких коллективах оправданно (при жестком производственном цикле).

по статье "...А серебряной пули все еще нет"

в компьютерре №29 (649) 18 августа 2006
есть статья: "...А серебряной пули все еще нет"

Прочел, долго думал, вот надумал пару выводов:

1. Поскольку невозможно гарантировать сроки и качество создаваемого ПО, нужно плотно контролировать процесс его (ПО) создания, применять методики гибкого построения ПО.

2. Средства ИТ должны обеспечивать повышение эффективности как предприятия, так и персонала. Отсюда требования "платформенности", наглядности, очевидности, легкости освоения, простоты и удобства выполнения задач и операций.

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

2006-07-20

Интернет, локальные городские сети

Ну до чего ж интересно бывает пытаться понять причины тех или иных поступков отдельных личностей!
Я тут проводил, можно сказать, эксперимент. Можно ли фактами и логикой убедить в чем либо людей нагруженных верой. Верой, в смысле, человек верит во что то.
Убедился, что нет. В любом случае, не быстро.
Это я про свои попытки обьяснить как персоналу, так и пользователям своей районной локалки, что оплаченная услуга должна быть получена в полном обьеме, либо недостача компенсирована.
В общем и целом - бесполезняк. У персонала полное отсутствие менеджмента, которому можно пожаловаться на непрофессионализм, хамство и нарушение правил игры. У клиентов - детско-восторженное (в основном, такие мальчики-девочки у нас) отношение к непонятным технологиям и людям, которые в этом типа секут. Да и деньги мальчики/девочки не считают, за них папа с мамой платят.

Провайдер - пираты (считают своим преимуществом перед остальными наличие 10 терабайтного массива с пираткой), даже банковского счета нет. Проводят работы на серверном оборудовании без планирования и предупреждения. Да ладно, без смеха на сайт визитку смотреть нельзя, ладно сами безграмотные, так хоть вордовый спелчекер запустите... нет. Своего ума нет, а менеджер, а был ли менеджер?
Сеть на виндовом домене. Выход и инет через смарт-софтовский "трафик инспектор". Видимо никогда и мысли не было достичь приличных масштабов сети. Пионеры (которые в красных галстуках) и фидошники.
Когда обьясняешь, что у них проблемы с сетью, обижаются и говорят, что у них (высоких профессионалов) все в порядке, это тебе, ламеру по определению надо поменять/переставить все подряд, начиная с параметров сетевого соединения. А если не можешь, вызывай техника. За деньги.
А техники, да. Техники. Не знаю как все (и сколько их) но есть особый. Доказать я ничего не могу, но подозрение мощное. После перепалки на форуме покоцал мне кабель. Типа "получи фашист гранату".
А как на один кабель два подключения сажают... песня. Режем оплетку, половиним витую пару, одну половину - одному соседу, вторую - другому. Понятно, в шахте места мало, каждому кабель не прокинешь с чердака. Но качество исполнения! Ух. Ребята никогда видимо не видели стандарты на кабельные соединения.

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

Короче, к нам в район пришла Корбина. Теперь у меня будет 2 канала. Корбинский - основной (наверно безлимитный тариф попробую, не определился пока), а пионерский - как резерв: за 150 р. в месяц локальная сеть с 10 терабайтами пиратки и 1.5 р. за мегабайт интернета.
Корбинская засада


А пионеры сами сдохнут. Или их Корбина купит. Что жалко. Два канала лучше чем один. А стрим когда еще мне доступен будет.

тестирование веб-приложений

С тестированием веб-приложений все плохо. Потому как при работе продвинутого ВП задействуется множество компонент. И даже если все их протестировать по отдельности, нет гарантии, что все в сборе заработает.
Посмотрим: браузер - сколько вы знаете версий браузеров? Я легко штук 5 перечислю даже не роясь в памяти. Браузер влияет на что? На работу яваскриптов, на отображение страницы (рендеринг), на кеширование. Дальше - вебсервер. Масса возможностей отконфигурировать, в том числе и неправильно. Ограничения доступа, заголовки, средства автоматической обработки запросов - ответов...
Сервер приложений - ну обычно ПХП. Тестировать можно и нужно. Да и проблем особых нет, если отслеживать версию движка. База данных... Вообще целый пласт проблем, но достаточно легко формализуется. А сколько я еще не упомянул....

Вот и получается, что самое надежное - посадить человека за браузер и пусть щелкает до потери адекватности.

А помочь ему в этом могут такие вещи, на мой взгляд реально помогающие:

субьектное программирование

Концепции писания программ.
Субьектное программирование.

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

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


а есть еще Аспектно-ориентированное программирование
это я пока не понял.

просто замечательная история

http://www.anekdot.ru/id.html?204371

сразу цитата:

В общем, мораль (для меня лично) сей абсолютно реальной (клянусь!!!)
истории - легко дается обычно ненужное. Часто именно то, что нужно
другому.

Два года тому назад мой сын готовился поступать в медицинский.
И, что важно - ходил он весь учебный год на платные курсы. Слушатели
которых традиционно, который уже год подряд, подают документы в приемную
комиссию в один и тот же день, в первую субботу приемной эпопеи - чтобы,
значит, потом легче было отследить процент успешных попыток (кстати,
высокий очень процент! На первом экзамене, когда от остальных групп
абитуриентов осталось, бац! около половины - в группах курсантов были
только единичные завалы). Но это детали, главное то, что все знали -
надо подать документы строго в такой-то день. Иначе кошмар и ужас.
Дите наведалось к дверям приемной комиссии и вечером в четверг
предъявило мне мятый листочек со списком документов, которые должен
иметь абитуриент. Читаю, читаю, и вдруг ОЙ! приписное свидетельство!
Что-то я не помню, чтобы оно у сына было... "Сын, а у тебя ведь есть
приписное?" "? чего???" Далее выясняется, что школьный учитель военки
водил в военкомат только тех призывников, которые жили в том же районе,
в котором располагалась наша гимназия. А остальные должны были сами,
значит. Ну, и естественно, как выяснилось (когда я обзвонила мамаш
одноклассников своего оболтуса), примерно половина "забили на этот
вопрос".
Далее опускаю подробности (суета, звонки, поиски знакомых), потому что в
нашем городе пройти военкоматскую комиссию в течение дня нереально.
Короче, нашлась среди моих знакомых жена военкома другого района города.
И ему была передана моя просьба ускорить процесс медкомиссии.
В пятницу (а назавтра, напоминаю - день подачи документов!!!) оболтус
был мною выгружен у дверей военкомата. Через несколько часов звонок от
него: " Мам, тут у меня проблемы".
Тут опускаю подробности (уход с работы: а я работаю в больнице, личный
рекорд скоростной езды по городу в пятницу после обеда, когда все
горожане начинают отъезд на дачу).
В военкомате нахожу печального сына. "Иди к старшему врачу. Они сказали,
что я худой, глухой и у меня плоскостопие и порок сердца".
Иду. Сидит в кабинете дама приятной наружности. Говорю:" Коллега, я
такая-то, врач такой-то специальности, что там с моим сыном таким-то
таким-то?"
Оживляется. "А! Да! Вот вам направления: к эндокринологу, на
фиброгастроскопию, на аудиометрию, к сурдологу, рентген стопы,
травматологу, УЗИ сердца и кардиологу. Ребенок болен, будем
обследовать!"
Я обалдеваю, т. к. уж я-то, пардон, знаю, что за все время своей жизни
он болел, и то не каждый год, только ОРЗ. Ну и ветрянкой в 5 лет.
Говорю осторожно: "Вы знаете, мне кажется, мой сын совершенно здоров. Я
Вас умоляю, приписное выпишите, пожалуйста! Я потом, потом как-нибудь
его обследую у себя в плановом порядке".
Теперь обалдевает уже приятная дама. Прямо охуевает, по-русски говоря.
"Коллега!!! Вы что? Не понимаете? Я Вам говорю - у Вашего сына дефицит
массы тела, тугоухость, плоскостопие и шум в сердце!!!"
Я опять: "Да Бог с Вами, коллега! Он просто стройный мальчик. И слышит
он прекрасно, и ноги нормальные. И порока нет никакого: пролапс
митрального клапана - это вариант нормы! Я очень Вас прошу! Выпишите нам
приписное! Напишите, что он годен, и мы уйдем"
Весь этот цикл повторяется еще дважды с вариациями, и наконец в мою душу
что-то закрадывается такое, понимаете... Ну о чем может просить один
военком другого насчет призывника? Приписное что ли выписать побыстрее?

В ее душу тоже что-то закрадывается, т. к. она делает паузу и говорит:
"Ну вот что. Побудьте пока в коридоре".
Выхожу. В коридоре сидит мой унылый сын и рядом с ним еще один такой же
призывничок со своей мамашей. Та мне: "Что? Тоже пишут, что годен?" Я
молчу и стыжусь.
Открывается дверь, медсестра зычно кричит: "Мама призывника такого-то!"
Захожу. Далее смех, улыбки, выдача приписного, просьба пошуровать среди
знакомых хирургов на предмет работы в их военкомате, обмен телефонами,
полный хэппи-энд, короче.
В общем, мораль (для меня лично) сей абсолютно реальной (клянусь!!!)
истории - легко дается обычно ненужное. Часто именно то, что нужно
другому.
Ну и пост, значит, скриптум: оболтус в медицинский поступил. Сейчас на

2-м курсе.

управление разработкой. начальнику программистов

Своими силами: управление процессом разработки ПО небольшой командой специалистов

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

Антивирусы. Чем успокоится...

С антивирусами ситуация занятная.
Лично мне нужно две функции от антивируса:

  • сканер файлов работающий в командной строке (консоли, для автоматической проверки на серверах);
  • сканер интегрирующийся в оболочку, чтоб по правой кнопке мыши проверять файлы и каталоги.
Понятно, сканер должен проверять архивы, файлы-контейнеры разных форматов (почтовых, в основном).
Некоторым требовательным товарищам нужен еще монитор, чтоб в фоне проверял каждое чтение/запись файла на предмет вирусов.
Ну, и чтоб не воровать, АВ должен быть фри. В идеале - опенсорц.
Это требование вступает в противоречие с качеством защиты - это качество зависит от оперативности пополнения баз сигнатур заразы всякой. А работа эта нудная и бесплатно не делается.

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

А на станциях есть три варианта:
все бесплатные, хорошо работающие. У Антивира персонал даже монитор есть.
Вот где бы еще современный сканер для командной строки найти приличный...

2006-07-16

как оценить требования к ГИС железкам

Наверное многих гисостроителей интересует тема "как подобрать/посчитать" железо под систему? Вот взгляд на тему, по следам переписки по электропочте:

цитата из письма первого:

На самом деле я и сам давно в ГИСовской тематике, вы наверняка натыкались и на мои статьи...но общаясь с очередным заказчиком вдруг заполучил вопрос о возможной связи между некими статистическими параметрами объекта, подлежащего ГИСизации (мера, степень, глубина..) и "железными" параметрами сервера.
Я-то привык это решать по принципу "начните с такого-то минимума, а там посмотрим как пойдет", но настырный клиент не отстает...Не натыкались на какую-то оценку?

Спасибо заранее за любой ответ,


вот цитата из ответа:


Я попросил сказать пару слов по Вашему вопросу одного из коллег, получилось примерно так:

"...да, вопрос туманен.
Что может дать объект гисизации в плане требований к железу?
Убьем хранимых/обрабатываемых/выдаваемых данных? В единицу времени?
Типы данных (растры, вектор, атрибутика)?
Скорость роста объема данных?

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

В общем, грубо, серверные системы можно оценить по объему данных (хранимых, обрабатываемых), пропускной способности систем ввода-вывода, скорости обработки определенного объема данных (вычислительная мощность), надежность (бесперебойность), масштабируемость.

Можно ли параметры объекта гисизации отобразить на эти параметры сервера? Только на основе опыта построения аналогичных систем. И только очень грубо.
А, кроме того, ГИС становится частью КИС, с взаимной диффузией данных и функций между подсистемами, в какой-то момент уже и не скажешь, данные и серверы гисовые или не только. Кстати, именно поэтому так популярны серверные фермы и хранение данных в SAN - всегда можно недорого добавить еще выч. мощности, объемов к хранилищу.

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

В общем, я могу только присоединиться к этим формулировкам.
От себя добавлю, что мы когда-то прикидывали конфигурацию серверной группы для одного из Заказчиков, просчитывая приведенные выше параметры, но проблема в том, что Заказчик не мог сам оценить, что у него есть и как он с системой собирается работать. Быть может Ваш принцип: "начните с такого-то минимума, а там посмотрим, как пойдет" можно сдобрить предложением сначала Заказчику помочь подумать о конфигурации, которая его устроит на какое время развития и роста системы, а потом, когда мощности не смогут сильно масштабироваться, просто перенести используемую технику на другие задачи. Ротация оборудования она же всегда идет.

В общем, вот такие мысли, ничего нового...


ну и финальная цитата:


Re: про ГИСовы " железки"

спасибо за пространный ответ, вы утвердили меня в собственном мнении, а это немало :-)
Мне-то, по большому счету, это совсем не нужно, но мы вышли на "поляну" ххх кадастра. а большие "дяди и тети" часто необоснованно умничают, вместо того, чтобы просто слушать мнение экспертов, к коим я отношу нас обоих.
Вот у нас идет сейчас промышленная эксплуатация системы в ххх, одновременно на редактировании вращаются до 4 миллионов графических объектов, десятки пользователей...начали с некой разумной конфигурации, теперь стало видно, что стоит в первую очередь подумать о гигабитной сети, в общем, все в процессе.
А в другом регионе мне с апломбом заявляют: это почему это для неодинаковых муниципальных образований вы предлагаете одинаковые железки? Для чего ж вы, песьи дети, делали обследование? вот и вычислите нам теперь индивидуальные для каждого города мегабайты и гигагерцы...на дурацкий вопрос, конечно, и ответ должен быть дурацкий, но что-то я и зацепиться ни за что не могу...



Напоследок могу привести пример расчета серверных мощностей по известным (собранным статистически на этапе пилота) параметрам:

Данные, принятые к расчету Расчетный Ожидаемый Пиковый
Количество пользователей (чел.) 200 40 200
Максимальное допустимое время ответа (сек.) 30 3 3
Среднестатистический размер ответа на запрос (Мб) 1 1 1
Общий объем данных, обрабатываемых системой (Мб) 5000 5000 5000
Поддержка сессии пользователя в оперативной памяти (Мб) 5 5 5
Средний объем данных обрабатываемых сервером для ответа на запрос (Мб) 500 400 600
Память, используемая операционной системой (Мб) 300 300 300
Память для кеширования информации файловой системы (Мб) 300 300 300
Коэффициент запаса 2 2 2


Расчет объема оперативной памяти на кластер (Мб) 4200 2400 4400
по формуле: (кол.пользователей*памятьНаСессию+обьемОбрабатываемыхДанных+памятьОС+обьемКэша)*запас


Расчет системы ввода-вывода на кластер


Внутрисерверный ввод-вывод (Мб/сек.) 6666,67 10666,67 80000
Ввод-вывод к клиентам (Мб/сек.) 13,33 26,67 133,33
по формулам: пользователи*обьемОбрабатываемыхДанных/времяОтвета*запас
пользователи*размерОтвета/времяОтвета*запас

Данные для расчета вычислительной мощности


Частота процесора (Ггц) 3,5

Запросов 1

Время ответа (сек.) 1

Загрузка процессора (%) 40

Ггц на запрос, чтобы ответить в секунду 1,4

Нагрузка (Ггц) 9,33 18,67 93,33

формула: пользователей/времяОтвета*ГгцНаЗапросДляОтветаВСекунду

2006-07-03

картографические веб серверы

С появлением в нашей жизни сервиса Гугль мэпс тема картографических серверов стала малоинтересной, да? Ведь как здорово - берем документацию на мэп апи, ваяем свой веб сервис и задействуем в нем карты с гугля. Заглядение.

Но есть области, куда с гугльмэпсом не пролезть - заказные ГИС. Тут на сцену выходят такие игроки:

Autodesk MapGuide
ESRI ArcIMS
и прочие мэпсерверы, например, здесь:
http://www.osgeo.org/

С ArcIMS я не работал, но по всему, это достаточно тяжелое и весьма мощное решение. Дорогое. Для очень серьезных проектов.
С MapGuide я и сейчас работаю, и решение мне нравицца. Не без недостатоков, конечно, но в паре с Oracle Spatial можно сделать всё, что нужно. И не слишком дорого.
А сейчас есть версия MapGuide опенсорц, на том самом http://www.osgeo.org/
Если смогу пощупать, обязательно сделаю выводы.

А теперь несколько интересных примочек:
RTFM // ИнтернетСохраняем карты Google Maps с помощью GoogleMV
http://www.computerra.ru/gid/rtfm/internet/264911/

В Google Maps обозначили московские улицы и развязки
http://citcity.ru/12354/

Сделать копию карты с гугля

Теперь скачиваем бесплатную утилитку url2bmp (360 Кбайт в архиве), которая, по сути дела занимается тем, что эмулирует веб-браузер, позволяя задавать любой размер виртуального экрана и снимать с него скриншоты в заданный момент времени.

2006-06-22

платформа для веб сервера

Есть разные варианты, под виндой, к примеру, есть IIS. И может, для кого то это оправданно. Но я выбрал связку Apache, PHP, ADO. Хотя если уйти с винды, придется искать замену ADO.
Кому нужно строить масштабируемые решения, надо выбирать Java. Хотя, некоторые выбирают .NET

Почитайте, любопытно:
http://www.apachelounge.com/
http://www.apachefriends.org/en/xampp.html
Википедия:Как сделать копию Википедии
http://ru.wikipedia.org/wiki/MediaWiki

Разьясню свою точку зрения по поводу микрософт:
Решения от микрософт чем хороши - легкостью вхождения, раз, мышкой потыркал, все вроде заработало... Потом правда, окажется. что все не проще чем при альтернативных решениях, но это потом...
А чем плохи решения от микрософт - стратегия затягивания. Это когда во первых, очень трудно отказаться от микрософт и перейти (перенести код) на немикрософт, и во вторых, гораздо проще подружить продукт1 (от микрософт) с продукт2 (от микрософт), нежели подружить продукт1 (от микрософт) с продукт2 (от НЕ микрософт).
В итоге у Вас все больше продуктов от микрософт и все меньше от не микрософт. Стратегия затягивания (в болото). Поэтому если можно что то сделать на не микрософт, я делаю именно так.

странно, PHP как CGI и как модуль Apache

А странного вот чего, у меня пхп как CGI программа работает быстрее чем когда я подключаю эту пхп как модуль. Прям на глаз заметно, как быстрее страницы выдаются от сервера.
Кто бы мне обьяснил, почему так происходит? Ведь модуль Апача по определению должен работать быстрее, чем ЦГИ программа.

медиавики (MediaWiki)

http://en.wikipedia.org/wiki/MediaWiki
По разным причинам, поставил на работе сразу две штуки, для разных проектов. Хочу поделиться впечатлениями.
Сильная вещь. Позволяет работать над документами (статьи, в терминологии вики) как программисты работают над кодом сообща при помощи систем поддержки версий.
Вики - это такая база данных статей (документов), которые Вы создаете. При этом каждое изменение статьи сохраняется, любую версию статьи можно посмотреть отдельно. А над этой базой статей накручен вебинтерфейс, то что мы видим в браузере. Здорово.
Думаю, лучший способ применения - совместная работа над документами и быстрое создание вебсайтов или персональных страниц. Ну или замена Системе Управления Контентом на сайте, хотя тут будут трудности.
Вики разрабатывалась как демократичная система, с ограничениями доступа и привилегий негусто. Если кому можно редактировать статьи, то любые. А если нельзя, то никакие.

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

резюме: отличная игрушка!

питон (Python) против пхп (PHP5). Скорость

Последнее время часто стали попадаться известия с упоминанием Ruby on Rails. Причем после описания, как клево делать вебприложения на рубирельсах, идет упоминание о том, что питон мол побыстрее будет...
Ну и решил я посмотреть, кто быстрей. Правда до руби пока ручки не добрались, поэтому сравнивал питон и пхп. Хочу еще и яваскрипт (JavaScript) проверить, в его микрософтовой реализации. Тем более, что мне самому питон нравится, не в последнюю очередь реализацией интерфейса к технологии COM/DCOM.
Сразу скажу итог: питон от 2 (двух) до 3 (трех) раз медленнее чем пхп. А если руби медленнее чем питон... Кто вообще придумал писать вебприложения на руби? Наверное продавцы суперкомпьютеров и прочих кластеров, не иначе.
А теперь приведу код, чтобы вы и сами могли проверить.

Вариант 1. просто прогон вложенного цикла.

пхп, результат:
Thu, 22 Jun 2006 01:55:07 +0400 start count
x = [8997000]
Thu, 22 Jun 2006 01:55:10 +0400 end count
итого - 3 секунды.

питон, результат:
2006-06-22 01:58:52 start count
x: [8997000]
2006-06-22 01:58:57 end count
итого - 5 секунд.

нормально, да?

Вариант 2. Перебор ячеек выборки из таблицы.

пхп, результат:
Thu, 22 Jun 2006 02:02:13 +0400start sql qry
Thu, 22 Jun 2006 02:02:13 +0400end sql qry, start count
Thu, 22 Jun 2006 02:02:19 +0400end count
not null vals: [24480]
итого - 6 секунд.

питон, результат:
2006-06-22 02:05:19 start sql qry
2006-06-22 02:05:20 end sql qry, start count
2006-06-22 02:05:44 end count
not null vals: 24480
итого - 25 секунд.

вот так. ПХП рулит.

Приложение.

Код на пхп:


Код на питон:

2006-05-26

драфт превратился в пост

блог - это лента. сделаешь черновик, и он потеряется в череде постов.
короче - вот драфт, ставший постом.

2006-05-22

тишина ночью

Засиделся я тут в субботу (или пятницу?) за компом до четырех ночи. Собрался таки спать ложиться, а за окном, бубубу, ГА! Бу-га-га... мат, песни, звон стекла... Как обычно в теплую погоду, мОлодеж отдыхает, причем, заразы, иногда отдыхать могут часов до 5-6.
Опять же, обычно народ в них из окон бутылками кидает, но, что то не в этот раз.

Ну ладно, думаю, сыграем в игру "моя милиция меня бережет". Звоню 02, отвечает барышня, милым голосом "чем мы можем Вам помочь?". Ну, говорю, гопоту повоспитывайте (по такому то адресу), шумять. Спросила фамилию и телефон и пообещала прислать наряд. ОК.

Через минут 10, по звуку (я уже в постельке, пытаюсь спать) подьехала машина, народ загалдел и притих. Еще через минут 5 машина отьехала. И тут: "народ ПОДХОДИ! они уехали!" - все вылезли из кустов и продолжили банкет. Так и гудели часов до 5 с половиной.
Попытка воспитания оказалась неудачной.

Я вот думаю - может попробовать достать светошумовых или газовых гранат? Как у SWAT?

2006-05-10

компьютерный гипермаркет Sunrise

Решил я тут сыграть в игру "купи компьютерных комплектующих в санрайз".
Узнал, где поближе к дому терминал "лайт", ознакомился с каталогом и правилами продаж (дома в тырнет залез). В каталоге, то, что мне нужно - есть, правила - нормальные (заказываешь, оплачиваешь, через пару часов привозят).
ОК, поехали. Пришёл в киоск с "лайтом" (на Коломенской), залез в каталог - опаньки, ассортимент совсем не тот, что вчера ночью мне показывали. Того, что мне надо - нет. Ну ладно, подобрал альтернативу, ещё и подешевле, хотя и функционально победнее. Далее, заказ, оплата...
Спрашиваю - привезут когда? Отвечает паренек - завтра. Ещё раз оппаньки...
А быстрее нельзя, говорю. Можно, отвечает, сами езжайте в гипермаркет, на выдаче "два" заберете. ОК.
Выписывай.
Паспорт пожалуйста... Едрён-батон! А где в ваших правилах написано, что я должен с паспортом ходить? Ну хорошо, я редко без паспорта появляюсь на улице - спасибо Лужку и его ментодёрам. А если нет? Предупреждать надо!

Ладно, добрался до гипермаркета.
Захожу - ангар. Мужик с лейблом "информация", я к нему - где тут выдача "два"? Он - направо, второй проход... Иду, пришел, спрашиваю - это вы выдача "два"? Говорят - фиг тебе, иди на улицу, найди пятый подьезд, там спросишь.

Иду, нахожу, спрашиваю. Охрана говорит, пошли, говорит. И ведет куда то.
Привел, еще один ангар "корпоративные клиенты". По причине праздников - никого.
Пареньку на выдаче говорю - товар гони. Берет паспорт мой, счет, читает... и... А не пройтись ли вам, господин хороший на выдачу "один", взад? Я ему - офигел, я тут кто, бегать туда-сюда? Сам иди.
И ведь пошел. Неиспорченный еще, не заматерел.
Пришел, минут через пять, товар принес. Дальше не интересно.

Вот такой квест "купи в санрайзе".
Да, плюс - дело было 9 мая.

2006-04-27

век живи, век учись, дураком останешся

Есть такой ресурс RTFM Компьютерра онлайн
И много чего интересного, а главное - полезного можно почерпнуть (если есть желание познавать). Например:

21 апреля 2006 года, 11:36RTFM: Ведение логов с помощью "Блокнота"Для ведения простеньких отчетов и заметок, вовсе не обязательно прибегать к помощи специально предназначенных для этого утилит. Вполне сгодится и обычный "Блокнот".

Нет ничего проще: создаем текстовый документ, открываем его "Блокнотом", исполняемый файл которого испокон веков носит имя notepad.exe, и пишем в окне загрузившейся программы магическое слово ".LOG" (обязательно с точкой в начале и без кавычек).

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

2006-04-24

Можно ли как-то на провайдера повлиять?

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

Цитирую:
http://www.computery.ru/upgrade/numbers/2006/257/ur_257.htm

Кабельный интернет

Разъясните, пожалуйста. Вот уже почти два месяца я пользуюсь выделенным доступом в интернет. Мало того что в первую неделю у меня три дня сеть не работала по вине провайдера, так еще и наблюдается серьезное ухудшение связи, обрывается она очень часто. В техподдержке говорят, что меняют оборудование и продлится это безобразие неизвестно сколько, но минимум десять дней. Можно ли как-то на провайдера повлиять?

Если, по вашим наблюдениям, связь стала хуже и данные передаются на скорости существенно более низкой, чем та, что была указана в договоре с поставщиком услуги, то имеет смысл на основании абз. 3 п. 1 ст. 29 ЗоЗПП в письменной форме потребовать от провайдера перерасчета абонентской платы за тот период, на протяжении которого у вас были проблемы с коннектом. На практике подобный вопрос обычно решается уменьшением платы за следующий месяц.


Вот так юристы предлагают разговаривать с провайдерами.
Надоело имена в тайне держать, пусть люди знают своих героев - сетка моя Nautilus2001
Бесперспективные ребята, сожрут их (со временем). Хотя... говрят же "г. не тонет", выживает сильнейший, а что сейчас есть сила, в наших условиях... пёс его знает.

2006-04-15

проектирование с помощью UML

Программы в помощь проектировщику и программисту.
Скажу без утайки, каждому программисту (да и не только) иногда приходится рисовать диаграммы обьектов, классов, прочей ахинеи. Когда для отчета, когда для устаканивания в собственной голове.
Наверняка слыхали про язык UML - унифицированный язык моделирования. И программа использующая его по полной - IBM Rational Rose.
Ну допустим, вы нашли эту совсем не бесплатную программу. Тогда дальше не читайте, используйте "розу" и будьте счастливы.
Для тех, кто не нашел "розу" или не хочет воровать, предлагаю обратить взор на ArgoUML
Отличная программа, простая, свободная, понимает русский язык (корректно отрисовывает буковки). На яве. Сам пользуюсь. Рекомендую, короче.
Есть еще проект Eclipse. Но пока разберешься, ногу сломишь. Чего по эклипсу накопаю - расскажу.

блог как ценный ресурс

Читал я тут журнал. Компьютерру № 14 (634 ) 11 апреля 2006 г.
И вычитал я там цитату из Эстер Дайсон, по поводу ценности (в бизнесе) того, что есть в сети.
Цитата цитаты: "... услуги и обработка. Сюда входит отбор, классификация, оценка, интерпретация и привязка содержимого к нуждам конкретного пользователя...."

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

Для затравки, позвольте отрекомендовать две программы, без которых трудно обходится ИТ профессионалу:

FAR Manager - программа управления файлами и архивами в операционных системах семейства Windows (9x/Me/NT/2000/XP)
Total Commander is a Shareware file manager for Windows® 95/98/ME/NT/2000/XP, and Windows® 3.1.
обе программы - файловые манагеры, если с файлами надо сделать нечто - сразу к ним, манагерам. Можно заменить стандартный виндовый проводник.
Фар - программа консольная (текстовая), значит драг-дропа не будет, как и прочих оконных фишек, зато в реальном времени отслеживает состояние файла/каталога. Например можно открыть во встроенном вьювере логфайл и наблюдать за тем как в нем (файле) появляются новые записи. Дос команды выполнять удобно, окно консоли не закрывается.
Тотальный командир (тк), в девичестве Виндовый коммандер, небесплатен, зато всё остальное - вау! Не поленитесь, почитайте встроенный хелп, посмотрите какие есть комбинации клавиш, и я уверен, жить не сможете (за клавиатурой) без тотального командира.
Думаю, ключ к тк найдете сами, если нет, я по дружбе могу помочь. Но какой же вы ИТ профессионал, если ключ к программе найти не можете?

2006-04-09

легализация оружия. свободное ношение оружия

Тут последнее время активно мусолят тему "разрешить хранение/ношение оружия или не разрешать".
Внесу свои 3 копейки.
Посмотрим, кому станет лучше, кому хуже, если разрешить оружие.
Я полагаю, что для общества и государства будет лучше, если разрешить оружие. Ведь это шажок на пути демократизации и либерализации общества. А это делает общество и государство сильнее. Кто сомневается, обратитесь к мировой истории. Приняв решение о разрешении хранения/ношения оружия гражданами, государство подтверждает свою веру в то, что граждане не имбецилы инфантильные, требующие постоянного контроля, а вполне ответственные люди. И это хорошо. Хорошо для общества в целом и для государства.

А вот с отдельными личностями как раз наоборот. Даже простая статистика скажет нам, что если количество стволов возросло (в стране, городе), то шансов получить пулю у простого гражданина стало заметно больше. Даже если гражданин "ни при чем", так, погулять вышел.
Что может гражданин поиметь для себя, любимого, если приобретет ствол: максимум - повысить свою самооценку и уверенность в себе. Всё.
Ведь как обстоит дело с оружием - если чел слаб, ему никакое оружие не поможет (я имею в виду "внутреннюю силу" а не количество поднимаемых/толкаемых килограмм). Он либо побоится пустить его в ход, либо сделает это не так как надо, в итоге только ухудшит свое положение.
А если чел силён, то, в принципе, ему и оружие то не нужно. Как у Кинга "главное оружие стрелка это он сам".
Я уж не говорю, что обращению с оружием надо учиться. Надо постоянно тренироваться. А пустить оружие в ход - это надо иметь соответствующую психологическую подготовку. Думаете это так просто - выстрелить в человека? Зная, что скорее всего он после выстрела умрет?

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

2006-04-03

управление программными проектами

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

Ну ладно, пара мыслей:
Основная задача менеджера: делегировать подчиненным задания, мотивировать и контролировать выполнение заданий в общем движении к Цели Компании.
Эту мысль можно многословно комментировать, но я не уверен, что здесь. Если возьмете за труд подумать над каждым словом и их совокупностью, сами все поймете.

Как чукчи различают около 200 видов снега, так и менеджеров можно делить по категориям, есть Начальники, есть Руководители, есть разные... К какой категории Вы хотите принадлежать?

Избегайте (бегите) желания доделать или переделать за подчиненным. Даже если это быстро решает текущую проблему. Более широко: не делайте того, что могут сделать подчиненные. У Вас своя работа, и ее Ваши подчиненные сделать не смогут (а если смогут, на своем месте Вы сидите?). Добейтесь того, чтобы чувак сам правильно и хорошо сделал работу. И всем будет щастье.

2006-03-06

про ipod. который айпод нано

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

Позитив:
на вид очень красив, приятен, роскошен. Симпатичен. Очень. Я когда его первый раз в руки взял, подумал "куда я со свиным рылом... это как драгоценность, для светских людёв..". Жена до сих пор боится в руки его брать, не по сеньке шапка, типо...

Хороший звук, я слушаю без эквалайзера, на других так не получалось.
Хорошие наушники.
Малый вес, габариты, удобен в таскании.
Обьем - 4 гига, это вполне. Хотя сразу нашлось то, что не влезло.
4 гигабайта за его цену - вполне выгодно, ведь флеш, не винчестер.
Яркий экран, можно читать текста.
Управление кликвилом очень интересное. Местами удобное.
Вот и весь позитив.

Негатив:
аккумулятор встроенный, мне хватает на рабочую неделю - 5 дней (по паре часов в день).
дальше будет хуже, а через пару лет - менять наверняка. может и раньше.
Зарядки нет, заряжается от юсб порта компа, заряжается часа три с лихом.
Шнудок - фирма, поди купи такой, разьем к плееру - еще фирмее.
4 гигабайта, это если по 1000 килобайт, а те, в свою очередь по 1000 байт. ну байты вроде по 8 бит, но я не измерял ;) ну вы поняли.
Управление громкостью вождением пальца по кругу кликвила - прикольно и стремно одновременно, при прослушивании надо _обязательно_ блокировку ставить, а то заденешь случайно колесо - и оглохнешь, я уже напоролся пару раз. Громкость на дисплее без циферок, чисто аналоговое отображение, хрен выставишь точно желаемую громкость.
Текста читать на экране можно, нотес называется опция, но русские только в юникоде. Размер одного нотеса - точно не мерял, но не более 10 килобайт кажется. По виду - не больше одной книжной страницы. Нет, так книги не почитаешь, хотя было бы удобно - знай води пальцем по кликвилу - скроллируй текст.
Заливать музыку - только через айтюнс. Вот уж программа не для всех. Я здорово напряг мозги, пока понял что к чему. И убил час времени на напрасную вычистку плейлиста.
Даю совет - плейлисты лучше создавать в виде каталогов и файлов на диске - 100% не промахнетесь. Да, и не включайте опцию автоматической синхронизации, ни в коем разе.
Программа неудобная, громоздкая, тормозная, шибко интеллектуальная (в плохом смысле). Мне сильно не понравилось.
Чисто субьективно - я слушаю на громкости процентов 70 от максимума, и это не очень громко, иногда хочется громче. Так вот, я считаю это недостатком. Было бы хорошо, если бы 50% громкости хватало (лично мне).
Ну царапается, это точно, враз. Но доставучее то, что отпечатки пальцев и прочий гумус так и липнет по всему зеркальному корпусу, только протрешь, опять. Никакого товарного виду.
Вспомню чего еще, в комменты закину. пока всё.

2006-02-26

про портвейн

Португальский портвейн - это как французское шампанское. Только этот портвейн и может считаться портвейном. По простому - портвейн - это вино с добавкой сахара и бренди. Виноград из которого делают портвейн растет на полосе земли километров 20 вдоль реки, рецептура портвейна закреплена _законодательно_! Это по причине большого количества некачественного портвейна, который производили во времена оны.
Чем портвейн выдержаннее тем дороже. Есть винтажный портвейн. Винтажный - значит виноград вырос в год, определенный спец. комиссией как особо благоприятный для производства портвейна. За 20 век таких годов было порядка 10 (или 20) сами уточняйте, кому надо. Винтажный, да еще и выдержанный портвейн может стоить очень дорого (тысячи долларов), хотя некоторые знатоки говорят, что если его пить, то портвейн дороже 50 долларов не настолько вкуснее насколько дороже.

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

Общей чертой обоих версий является то, что портвейн намертво связан с англичанами. Они его продвигали. В итоге лучший портвейн считается из англицких "домов". Портвейн производят "дома". Ну понятно, что выращивают виноград и делают портвейн в португалии, но англичане.
Хотя и португальцы сами не промах. Я пил, поскольку знаток не великий, сказать какой лучше - не могу.
Но очень вкусно!

2006-02-24

океанская программа португальцев

Ну был такой португальский принц, Энрике, прозванный впоследствии Мореплаватель.
Сам никуда никогда не плавал, но основал на юге Португалии Морскую Школу, где строил кораблики и готовил храбрых капитанов. Начал он свой труд в 12 веке кажется. А может в 13. не помню. Вот строил кораблики и запускал их на поиски Индии.

Небольшое отступление: в Индию по суше ходу португальцам не было. Мочили их арабы знатно. Простить не могли отобранных земель. Вот оне и придумали - вплавь.
Вот, плавали вдоль бережка, столбили земли прибрежные. Плавали долго, на протяжении трех поколений правящей династии. Значит дед плавал, отец плавал, сын плавал. А внук - Вашка да Гама (1469 - 1524) доплыл до Индии наконец.

Вы только представьте себе этот титанический труд на протяжении более 200 лет - год за годом плавать вдоль побережья Африки, с каждым разом забираясь все дальше и дальше, держа в голове мысль " да где же эта гребаная Индия!!!". Я думаю такие подвиги могут совершать только люди начисто лишенные воображения. Если человек с воображением - он как представит что его ждет! И все, никуда я не поплыву, ну вас нахрен с вашей Индией.
А бразилию открыли чиста случайно, попали в шторм и с курса сбились. А там глядь - берег. Оказалось - Бразилия.
А потом, когда Индию открыли, португальцам поперло. Да еще и королевские семьи подсуетились - зафинансировали по самое не балуйся. Меньше чем за 100 лет понаоткрывали все, что можно открыть плавая по воде.
Охренеть - 300 лет плавали и нечего. А потом раз - и все. И стали они богаты до неприличия. Даже крестьяне работать перестали, все покупали у других, менее плавательных стран. Думаю даже сейчас, у каждой старинной португальской семьи в подвалах не один слиток золота припасен.
И лафа такая была опять таки более 200 лет. А потом все, обесценились заморские сокровища. А там и землетрясение накатило... 1 ноября 1755 года, и всю роскошь нажитую закопало.

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

2006-02-15

подарки для мужчин

Ехал я сегодня в метро, на работу. Сижу, никого не трогаю, айпод слушаю, глазки закрыл, хорошо! На перегоне по поверхности торговец выскакивает, начинает громким голосом кайф ломать. Отвертки продает. За 100 рублей суперручка и 18 насадок. Аргумент (один из) - 18 отверток за 100 р. вместо одной за 30.

Милые дамы в преддверие 23 февраля покупали.

Как мужик, женатый и не безрукий, дам совет. Дамы, напрасно вы полагаете, что купив дешёвую экономичную отвертку сделаете хороший подарок. Во первых полезные подарки дешевыми не бывают. Во вторых (поверьте, я знаю) хороший и качественный инструмент даже в руках держать сильно приятнее (что уж про работу говорить) чем дешевку.
Хотите подарить отвертку (или другой струмент)? Найдите фирменный магазин инструментов и купите качественную фирменную немецкую отвертку, даже если она стоит 500 рублей. Без вывертов и насадок, просто отвертку, но непременно качественную и фирменную.

Мужику будет весьма приятно (если ему вообще приходится держать в руках отвертки, в противном случае он не оценит, да и зачем дарить отвертку человеку не знающему, что это такое?).

есть же приятные и отзывчивые люди!

Свалилось мне тут в ящик письмецо. Я сперва не понял, потом врубился. Это реакция благодарного веб-разработчика на мой пост в php.net, где я описал решение одной проблемы.
Мне было очень приятно прочесть этот отзыв. Никакой корысти, чиста спасиба!
Надеюсь, публикуя письмо, я не причиняю вреда Майку.

Not sure who you are, or if this will get to you, but just wanted to send
you a quick note to say THANK YOU! My recent PHP website was just about
to go production after 3 years of development, and at the last minute the
customer demanded SSL encryption of the site. Everything worked well,
until we tried one of our critical print routines and it failed! with a
nasty error from Internet Explorer.

Don't understand a lot about PHP headers, so I went out to php.net, and came
across your post (below)

I still don't understand a lot about headers, but your solution here fixed
me up in a jiffy! and the site was back up and running perfectly.
So, in case you sometimes think these posts are a futile effort, rest
assured that you saved the day for me with this one!!!!

Thanks, and regards,
vsnake at email dot ru

05-Feb-2006 11:51

in situation when I use SSL, sessions and send file to user technique, MSIE
dont get a file.
This code don't work:

session_start();
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="file.pdf"');
header('Content-Length: ' . filesize($fileName));
readfile($fileName);

And I get a solution:

session_start();
header('Pragma: anytextexeptno-cache', true);
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="file.pdf"');
header('Content-Length: ' . filesize($fileName));
readfile($fileName);

The point is: replace header 'Pragma: no-cache'
Good luck!

Michael Mays - Computer Extraordinaire!
Check out my Website: http://home.comcast.net/~memays

Work like you don't need the money, love like you've never been hurt, and dance like no one's watching.

2006-02-07

история Португалии. Зарисовки

Начальные этапы португальской истории. Сравните с русской историей.
На месте нынешней столицы - Лиссабона, народ тусовался еще за 1500 лет до Рождества Христова. Это были Иберийцы, Кельты, Лигурийцы, и так... по мелочи.
Иберийцы с Кельтами дали начало новой расе названной - не смейтесь, Кельтиберийцы.
Потом подвалили Ливийцы с Финикийцами и все вместе основали городок, назвав его "райское местечко" - Alis-Ubbo. И было это за 1200 лет до Р.Х.
Через 600 лет подошли греки, назвали город Tagus Olisipo, позднее Elosipon, позднее Ellasipos. Большие выдумщики были эти греки.
В 238 г. до Р.Х. приперлись Карфагеняне, но ничего назвать не успели, потому как тут же все земли были захвачены злобными римлянами. И 600 лет римляне считали эту землю своей провинцей. Несли культуру и государственность в массы. Римское право, понимаш.
В начале 5 века (уже после Р.Х.) римляне отдали португальские земли германо-готтским варварам - впали в ничтожество. Видать, это судьба всех высокоразвитых цивилизаций - впадать в ничтожество. А ведь Лузитания (Lusitania) как называли португалию римляне, стала при них (римлянах) весьма развитой, особенно с учетом оч. выгодного местоположения Лиссабона.
Но варвары рулят. Собственно Варвары, Вандалы, Швабы, Аланы, и другие (Визиготы например), грабили бедных португальцев вплоть до прихода арабов.
Приблизительно в 472 году землетрясение развалило все наследие Финикийцев, Карфагенян и Римлян. Вообще португальцам везет на масштабные землетрясения, стирающие с лица Португалии все, что они тяжким трудом возвели. В 1755 году мощнейшее землятресение уничтожило "золотой" Лиссабон, живое свидетельство трехсотлетнего грабежа индийских и бразильских колоний. Это была небывалая роскошь. Но мы ее никогда не увидим (если не изобретем машину времени).
Короче, через 200 с лишним лет варварского беспредела, в 714 году, власть взяли арабы, под руководством храброго Абделазиза Бен Мусы.
И еще 400 лет арабы володели португалией. Некисло, да? 600 лет римляне, 300 лет варвары, 400 лет арабы. И пожалуйста, получите португалию, да и испанию заодно. Историю России видели? Сравните.

Между прочим, арабы привили весьма цивилизованную цивилизацию к наследию своих предшественников. И христиан не особо притесняли (за что и поплатились), храмы не разрушали, службы не запрещали.
Ну пока суть да дело, короче, в 1147 году португальский новоиспеченный король Афонсо Энрике (1128-1185) в одном из крестовых походов (совместно с немецкими, аглицкими и фламандскими пацанами) отбил себе столицу у арабов. С тех пор и идет отсчет теперешней португалии, жалких 900 лет пока прошло.
Все, устал писать. Может потом еще добавлю. Хотя и так вроде впечатляет. Кому интересно - идите в библиотеку и читайте исторические учебники.
Хотя про программу освоения океанских просторов (по которой португальцы задвинули эпоху Великих Географических Открытий) написать надо. Ладно, потом напишу.

2006-02-05

Домовые сети. Странные отношения клиентов и провайдеров

Домовые сети и их клиенты, речь об этом. Вот такая странная ситуация:
Провайдеры берут деньги и предоставляют услуги. Клиенты платят деньги и пользуются услугами.
Когда услуга оказывается плохо (некачественно) народ жалуется, это нормально. А вот далее странности: масса клиентов гнобит жалобщиков. Как будто они совладельцы а не такие же клиенты. Не понимаю.
Наблюдаю такую картину в сети, к которой подключен ныне. Имен называть не буду. Сеть в общем нормальная. Внутренние централизованные ресурсы, доступ в интернет, все дела. Ну, доступ в инет периодически отваливается, но пока не сильно раздражает, терпимо. При этом работа с клиентами поставлена отвратно, вроде и есть техподдержка, телефоны на внутреннем сайте, электропочта, форум, форма для отправки заявок... Но почти все мои попытки получить внятные ответы на конкретные вопросы упираются в "игнор". По телефону принципиально не звоню, потому как проблемы мои вполне решаемы по электропочте. Свободы слова никакой на форумах нет, неугодные сообщения вырезаются нещадно. Уведомления и извинения о сбоях и исправлениях в полном непочёте. Складывается впечатление, что персонал держится позиции "мы вам и инет, и внутреннюю сеть, а вы тут нудите...". В общем, эдакие пионеры в красных галстуках, полно энтузиазма и отсутствие знаний и опыта, как по сетям, так и по ведению бизнеса (особенно по общению с клиентами). Нормальная такая, обычная домовая сеть.
Ну и вот. Очередной глюк, инет отвалился, народ начинает пованивать на внутренних форумах сетки. Ну даже не народ, а отдельные личности, которым этот сбой доставляет серьезные неудобства. И вот на форумах появляются личности, активно пропагандирующие позицию: "да задолбали нудеть, ребята работают, стараются, починяют. Отличная сеть! Да я за нашу сетку любого порву!!!" Почти в таких выражениях. В переписке на форумах доходит чуть не до прямых угроз и оскорблений, в основном от этих "защитничков". Не понимаю!
Ведь эти люди платят свою копеечку за услугу, которая предоставляется некачественно, но это их не парит, они, видите ли, любят свою сеть, до потери адекватности. Что творится в голове у этих людей? И ведь они находят поддержу у большого количества пассивных пользователей сетки!
У меня есть два обьяснения, но эти обьяснения не снимают моего недоумения по поводу соломы в головах таких людей.
Обьяснение первое: это подставные пользователи - на самом деле это сотрудники провайдера или проплаченные пиарщики доморощенные. В общем, похоже на теорию мирового заговора. Маловероятно.
Обьяснение второе: это тинейджеры (кстати манера письма и грамотность свидетельствуют об этом), которые рассматривают сетку как место и средство общения с себе подобными. И они этот свой пятачок искренне считают своей территорией и защищают его "до последней капли крови". Ведь вы видели подростков тусующихся на крыльце своей школы по вечерам, с музычкой, с пивком... видели, я уверен. Тут также. Это более вероятная схема. Бедные дети...
А Вы что думаете?

2006-01-10

Subversion. Install SVN server on MS Windows 2003 SP1

HOWTO install Subversion server on windows.
Platform: MS Windows 2003 SP1, Apache 2.0.53 + SSL

1. download SVN binaries svn-win32-1.2.3.zip from http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91

2. extract to D:\app\svn
in result I have tree:
D:\app\svn\bin
D:\app\svn\iconv
D:\app\svn\share

3. set system envvar, add D:\app\svn\bin to PATH
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\WBEM;D:\httpd\php;D:\httpd\php\DLLS;D:\httpd\php\SAPI;D:\app\svn\bin

4. edit D:\httpd\Apache2\conf\httpd.conf
add lines:
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
Include conf/svn.conf

5. make folder D:\cvsnt\repo\svn
create file D:\httpd\Apache2\conf\svn.conf
with this content:

(IfModule mod_dav_svn.c)
(Location /svn)
Order allow,deny
Allow from 192.168.222.65/255.255.255.0
Allow from 127.0.0.1/255.255.255.255
DAV svn
SVNParentPath D:/cvsnt/repo/svn
(/Location)
(/IfModule)


6. create svn repos
rd /s /q D:\cvsnt\repo\svn\repos1
svnadmin create D:\cvsnt\repo\svn\repos1

7. now repos is acessible with url: http://host/svn/repos1/
usage examples:
svn import .\proj http://host/svn/repos1 -m "my project"
svn checkout http://host/svn/repos1/projname dirname
cd dirname
svn diff
svn commit -m "commit test"
svn update

Открытые средства коллективной работы

Для тех, кто задумывается о средствах организации своего ИТ производства. Начальникам над программистами:

http://www.citforum.ru/open_source/opentools/
...
Почтенный возраст TUTOS дает основания надеяться на исчерпывающую
функциональность, и это действительно так. Поддерживаются общие и
индивидуальные календари, списки контактов персон, компаний и
подразделений, мощнейшая система управления проектами (с подфункциями
ведения задач, движения документов, отношений с другими проектами и
прочим), веб-почта с протоколами POP3/IMAP4, "временные шкалы"
выполнения задач.
...

2006-01-09

История русского народа. Развал Киевской Руси. Ключевский

Вопрос: куда девается в 12 веке Киевская Русь и откуда берется в начале 13 века Русь верхневолжская?
Что было в Киевской Руси до 12 века? С одной стороны - богатство князей и купцов, как следствие мощной торговли с арабами и Византией (а также весьма успешное развитие культуры, обусловленное богатством). С другой стороны - княжеские усобицы, в которых каждый князек старался увести в рабство как можно больше людей у соседа. Со всем скарбом. Сюда добавим половецкие нападения, из степей в преддверии Азии. Никакими способами замириться с половцами было нельзя, даже если князь женился на ханской дочери, тесть продолжал грабить зятя. Даже к самому Киеву доходили. А в это время Европа ходила в крестовые походы на мавров. И на Пиренейском полуострове.

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

Запущение днепровской Руси, начавшееся в 12 веке, было завершено в 13 веке татарским погромом 1229-1240 гг. С той поры старинные области этой Руси, густо заселенные некогда, надолго превратились в пустыню со скудным остатком населения. После того, как юго-западная Русь с Галицией в 14 веке была захвачена Польшей и Литвой, днепровские пустыни стали юго-восточной окраиной соединенного Польско-литовского государства.

В документах 14 века для юго-западной Руси появляется название Малая Россия.
И с 15 века становится заметно вторичное заселение среднего Приднепровья, облегченное как распадением Орды и усилением Московской Руси, так и заменой оброчного крестьянства на барщину в Польше (крестьяне побежали из Польши).

Вот такая история.

2006-01-05

история русского народа. по Ключевскому. Зарождение народа и государства

Ниже я приведу выдержки из курса лекций профессора Ключевского. Обратите внимание на следующий факт: русичи перестали приносить человеческие жертвы и стали русским народом после пяти сотен лет, прошедших с рождества Христова. К этому волнующему моменту то, что называют европейским народом уже вовсю учило римское право. Также обратите внимание откуда и вследствие чего русичи пришли и осели на русской земле. Их прогнали с насиженных мест, расположенных у морей. Загнали в болота.

Курс русской истории проф. В. Ключевского.
1904

До половины 9 века, до прихода варягов, на равнине вдоль Днепра, было дико и пусто.
Жили люди, но дико. Начатки гражданственности были занесены пришельцами из Скандинавии варягами, около середины 9 века.
В Повести о начале Русской земли сказано "жили звериным образом, скотски, в лесах, убивали друг друга, жили разбросанными враждебными родами".
Так история русская начинается с половины 9 века, изображением первичных исторических процессов, которыми везде начиналось человеческое общежитие. Картиной выхода из первобытного дикого состояния.

Народ есть население, не только совместно живущее, но и совокупно действующее, имеющее общий язык и общие судьбы.
В 3 веке после Р.Х. наша страна подверглась нашествию со стороны Балтийского моря: это были отважные мореходы готы, по рекам нашей равнины проникавшие в Черное море и громившие Восточную империю. В 4 веке их вождь Германарих завоеваниями образовал из обитателей нашей страны обширное царство. Это было первое исторически известное государство, основанное европейским народом в пределах нынешней России.
По свидетельству Иорнанда - летописца 6 века, славяне занимали Карпатский край. Карпаты были общеславянским гнездом. Эти карпатские славяне с конца 5 века и в продолжение 6 века, громили Восточную империю (организуя военные дружины для походов), переходя за Дунай.
Прежде чем восточные славяне с Дуная попали на Днепр, они долго оставались на капатских склонах; здесь была их промежуточная стоянка.
У восточных славян на Карпатах в 6 веке сложился большой военный союз под предводительством князя дулебов. Борьба с Византией завязала этот союз, сомкнула восточное славянство в нечто целое. Этот военный союз и есть факт, который можно поставить в самом начале нашей истории.

Византийцы говорят о вторжениях задунайских славян в пределы Империи во второй четверти 7 века. Замечали, что славяне живут в плохих хижинах, разбросанных поодиночке, и постоянно переселяются. С половины 7 века прекращаются набеги славян на Империю, вследствие отлива славян с Карпат, каковой совпадает с аварским нашествием на восточных славян.
Ко 2 веку от Р.Х. народные потоки прибили славян к среднему и нижнему Дунаю. Прежде они терялись в разноплеменном населении Дакийского царства и только около этого времени начали выделятся из сарматской массы, обособляться в глазах иноземцев, как и в собственных воспоминаниях. Пришли на Днепр, медленной передвижкой с остановкой на Карпатах, длившейся со 2 до 7 века. В 5 и 6 веках в Средней и Восточной Европе очистилось много мест, покинутых германскими племенами, которых гуннское нашествие двинуло на юг и запад в римские провинции (см. историю Португалии). Аварское нашествие оказало подобное действие на славянские племена, двинув их на опустелые места.

Уже в 6 веке славяне признавали повелителем вселенной одного бога громовержца - Перуна. К концу 10 века князья приносили жертвы и клятвы идолам Перуна.
Обоготворенный предок чествовался под именем чура, или щура. Осталось пращур, чур меня (обереги). Родовые границы - чересчур. Покойника сжигали, пепел собирали в посудину и ставили на столбу на распутьях, где сходятся межи разных владений.

Сев по Днепру, славяне очутились на круговой (вокруг Европы) торговой дороге (из варяг в греки).
Хозары, расселившиеся в степях на юге по берегам Волги и Дона, стали посредниками живого торгового обмена между балтийским Севером и арабским Востоком с половины 8 века. Торговля славян с востоком шла под покровительством хозар, бравших десятину, как и византийский император.
С развитием торговли, возникли сборные торговые пункты, куда сходились для торговли, гостьбы. Погост. Позднее, там ставили христианские храмы (людные места), тогда погост стал местом, где стоит сельская приходская церковь. При церквах хоронили покойников.

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

Архив блога

Ярлыки

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)