to post messages and comments.

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

wiki.tcl.tk — Implement tcl in tcl
заголовок скрипта оттуда:
```
# Lct — A Tcl-like language implemented in Tcl
# The implementation does NOT try to exploit the fact we
# are implementing Tcl in Tcl exposing some Tcl built-in
# to make the work simpler, thus this implementation is
# quite portable. It should be quite easy to port it
# to Python, PHP, Perl, Scheme and alike.
```

Слегка поправил скриптик, который мне выводит погоду в всплывающем окне в трее — gist.github.com
Теперь сия хрень 1) использует таки моноширинный шрифт, 2) выравнивает не по центру.
То есть, не сбивается форматирование с wttr.in и, кстати, градусы выглядят как градусы, а не как "мю"

В связи с ВНЕЗАПНО добавившимися требованиями допиливаю сервис.
Наступил на то, что не понимаю, как в sqlalchemy сделать update конкретной записи в цикле чтения из базы.
Похоже, таки придётся читать всё и потом уже обновлять чего надо.

metacpan.org

С помощью C::Blocks становится возможным делать вставки C-кода внутри Perl-программ. В отличии от схожих по функционалу модулей, как например, Inline::C, в C::Blocks возможно использовать также Perl-переменные внутри C-кода:

# расчёт суммы целых положительных чисел от 1 до 100
my $N = 100;
my $result;
cblock {
int i;
int result = 0;
int N = SvIV($N); / скаляр $N /
for (i = 1; i < N; i++) result += i;
sv_setiv($result, result); / скаляр $result /
}
print "Сумма чисел от 1 до $N = $result\n";

К предыдущему:
Генерация случайного имени файла из какой-то коммерческой софтины:

for (i=0, i<8, i++) {
char *f+= (char) rnd();
}

"""
причем нам сначала выкатили пять или шесть "сервиспаков".... чтоб не падала... а уже потом за дополнительное бабло продали исходники... как только я их увидел — сказал, что винда лучше... ЛЮБАЯ... даже 1.0...
"""

Правда, товарищ не помнит, что за софтина, ибо было давно.

Обнаружил, что мыслю по-разному, когда программирую на разных языках.
То есть, если на том же перле делить пополам для меня — это именно /2, то на C — уже >> 1
При этом на обоих языках можно делать и так и так.
Но сделать на C через /2 или на перле через >> 1 — не то чтобы не получается совсем, программа кажется какой-то не такой...

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

import sys
__author__ = u"Александр Киборгов"

class Киборги():
def Заполонить(self, Планета, Вся):
return Планета

class Пидорги(Киборги):
color = blue

def main(argv):
Планету = argv[1]
Всю = True
for bot in [Киборги,Пидорги]:
bot.Заполонить(Планету, Всю)

if __name__ == "__main__":
main(sys.argv)

Благодаря моей харизме и громкому голосу, стандартом ОС у нас теперь является Debian.
А стандартом разработки — Java.
Причем, весь департамент знает Java, чуть менее чем никак.
Теперь все приложения будем переписывать на ExtGWT.

Сегодня пол дня два отдела убили, угадайте на что?
На синхронизацию, блядь, летосчисления!!!!

Дело в том что у логистов уже идет первая (01) неделя 2011. В то время как по ГОСТ/ISO идет 52-я неделя 2010.
Выпадение недели рушит хренову темень расчетов, завязанных на количество недель. Это аргумент разработчиков.
Люди будут смотреть на настенный календарь и будут путаться. Это аргумент логистов.

Потребовалось полдня ругани, и прямая беседа двух директоров департаментов, чтоб решить вопрос в пользу разума. Это не смотря на то что я объяснял, как трудно будет объяснить PostgewSQL'у, Python'у, Perl'у и Дельфям, что логисты, мол, решили недельку пропустить.

При чем тут M$ спросите вы? А при том, что только в их продуктах 1-я неделя — это где 1-е января.

НЕНАВИЖУ ТОГО ПИДОРАСА КОТОРЫЕ ДЕЛАЕТ ШАБЛОНЫ ДЛЯ КАЛЕНДАРЕЙ В M$ EXCELL

Я зопилил возможность из PostgreSQL напрямую обращаться к MSSQL.
Нужен pl/python и установленный в системе pymssql. И еще нужно создать тип

а дальше — тривиально

— Function: test3()

— DROP FUNCTION test3();

CREATE OR REPLACE FUNCTION test3()
RETURNS SETOF st_vetitems AS
$BODY$import pymssql
try:
connms = pymssql.connect(host='server', user='user', password='password', database='db', charset='utf8')
except pymssql.DatabaseError:
print;
curms = connms.cursor()
curms.execute(""" SELECT * FROM [mira71].[dbo].[v_items] ORDER BY "No" """);
rowms = curms.fetchone()
arr = []
while rowms:
myrow = []
for col in rowms:
if isinstance(col, basestring ):
col = col.encode('utf-8')
myrow.append(col)
arr.append(myrow)
rowms = curms.fetchone()
return arr$BODY$
LANGUAGE plpythonu VOLATILE
COST 100
ROWS 1000;
ALTER FUNCTION test3() OWNER TO pigfarm;

Мои московские вендоколлеги, не в состоянии осилить интерфейс grep'а, и постоянно долбают просьбами посмотреть, а не завернуто ли то или иное письмо нашим антиспамом на Postfix'e
Мне это надоело, и сегодня родился этот проект.))
Если кому надо, то вот вам web-морда для grep'а по логам postfix'а которые коллекционируются metalog'ом
Доработку для остальных случаев оставлю сторонним разработчикам

cat ./grep.cgi
#!/bin/bash
#(c) Graf,2010
# GPL 3

# disable filename globbing
set -f

echo "Content-type: text/html; charset=utf8"
echo


if [ "$REQUEST_METHOD" = "POST" ]; then
read POST_STRING
fi;

echo "<html>"
echo "<head>"
echo "<title> GREP </title>"
echo "</head>"
echo "<body>"
echo '<div align="center">'
echo '<form name="mf" method="post" action="grep.cgi">'
echo 'Введите паттерн: '
echo '<input type="text" name="query" > <br>'
echo '<input type="radio" name="logf" value="current">текущий лог</input> <br /> <input type="radio" name="logf" value="*">все доступные</input> <br/>'
echo '<input type="submit" value="поиск" />'
echo '</form>'
echo '</div>'
#echo CGI/1.0 test script report:
#echo

# replace all escaped percent signs with a single percent sign
POST_STRING=$(echo $POST_STRING | sed 's/%%/%/g')
# replace all ampersands with spaces for easier handling later
POST_STRING=$(echo $POST_STRING | sed 's/&/ /g')
echo $POST_STRING
for i in $POST_STRING; do
#echo $i;
eval "$i";
done;
echo '<br />'
#echo $query
echo '<br />'
#echo $logf
echo '<br />'
rep="<font color=red>$query</font>"
#result=$(grep -i $query /var/log/mail/$logf | sed 's/</\&lt;/g; s/>/\&gt/g;';)
result=$(grep -i $query /var/log/mail/$logf |sed '{:q;N;s/\n/<br>/g;}')
#result=${result/\n/<br>}
result=${result//</\&lt;}
result=${result//>/\&gt;}
result=${result//&lt;br&gt;/<br />}
result=${result//$query/$rep}
echo $result
echo "</body>"
echo "</html>"