[ba]sh: перенаправление stdin и stderr фонового процесса
Почему не работает (как ожидается) следующий код:
$COMMAND >>"$LOGFILE" 2>&1 &
В $LOGFILE попадает только stderr.
Почему не работает (как ожидается) следующий код:
$COMMAND >>"$LOGFILE" 2>&1 &
В $LOGFILE попадает только stderr.
На сервере нет Ruby, а omploader штука полезная. Поскольку руби скрипт — всего лишь обёртка над curl, я его переписал на bash.
http://bitbucket.org/Davydov/omploadersh/src/tip/omploader.sh
P.S. Bash/sh знаю плохо, поэтому прошу конструктивной критики/патчей.
While there were several DVCSs that we could support, our decision to support Mercurial was based on two key reasons. The primary reason was to support our large base of existing Subversion users that want to use a distributed version control system. For these users we felt that Mercurial had the lowest barrier to adoption because of its similar command set, great documentation (including a great online book), and excellent tools such as Tortoise Hg. Second, given that Google Code's infrastructure is built for HTTP-based services, we found that Mercurial had the best protocol and performance characteristics for HTTP support. For more information, see our analysis.
Допустим, у нас есть список (имён) листов дерева t$tip.label, а также список граней t$edges (всегда от корня в сторону листа).
Список граней, это int [1:..., 1:2] (список пар вида вершина-вершина; от корня к листу).
Допустим у нас есть некая функция присвоения значений граням, которая распространяется начиная с листов к корню. Простейший пример: каждой гране присваиваем значение, соответствующее сумме значений для поддерева, растущего из этой грани.
Как это нужно реализовывать в R? Поигрался с рекурсией, но получил слишком глубокую рекурсию.
my_tip_function <- function(l)rep(1,times=length(l))
my_edge_function <- function(edges,tip.label) ifelse (is.na(tip.label[edges[,2]]),sum(my_edge_function(edges,tip.label)[sapply(edges[,2], function(x) edges[which(edges[,1]==x)])]),my_tip_function(tip.label))
Допустим:
edge=matrix(c(4,1,4,5,5,3,5,2),ncol=2,byrow=T)
tips=c('a','b','c')
my_edge_function(edge,tips)
Ошибка: исполнение расположено слишком глубоко: неопределенная рекурсия / options(expressions=)?
Что может быть не так?
Package: firefox-3.0-branding
Description: Package that ships the firefox branding
This package ships the firefox branding bits. If you remove this package you your user experience will become that of the abrowser.
o_O
Кто может расшифровать последнее предложение?
На VDS хостинге screen выдаёт ошибку: no more PTYs.
Почему так происходит, и как с этим можно бороться?
Обязательные требования:
Желательно также:
P.S. Thunderbird и Evolution продемонстрировали свою неадекватность при работе на плохих каналах. Claws мне не удалось научить показывать треды из писем, лежащих в разных папках. Возможно, mutt можно научить, но у меня пока не получилось.
# 2.py
result = 1
for i in xrange(1,20000):
result*=i
print result
# 3.py
result = 1
for i in range(1,20000):
result*=i
print(result)
$ time python2.5 2.py > /dev/null
real 0m5.437s
user 0m5.360s
sys 0m0.024s
$ time python3.0 3.py > /dev/null
real 0m1.931s
user 0m1.912s
sys 0m0.004s
А на каких тестах Python3 сливает?
Допустим, есть некое условие в таблице A, после которого в таблицу B нельзя больше добавлять значения.
Как такое реализовать, допустим, на MySQL не опасаясь race condition?
Нужно делать lock table?
P.S. Триггеры, к сожалению, использовать нельзя, т.к. пишется на ORM, который этого не умеет.
Имеется некий модуль, который содержит обёртки вокруг xmlrpc сервера.
Возник вопрос, как правильно реализовать обработку ошибок. Сначала начал делать абстрактный класс Error и к нему кучу потомков на каждый чих.
Сейчас подумал, а нужно ли оно? Есть же прекрасные готовые классы вроде socket.error, xmlrpc.Error и проч. Зачем повторять их функциональность в моём модуле?
Итак, какой же правильный способ обработки ошибок в модуле?
http://validator.w3.org/check?uri=http%3A%2F%2Fblog.kremlin.ru&charset=(d...
(django, python)
А тем временем в другой стране:
http://validator.w3.org/check?uri=http%3A%2F%2Fwww.barackobama.com%2F&cha...
(php)
Достаточно давно я предлагал сделать персональные RSS фиды.
Есть несколько путей реализовать подобный подход:
Реализуется это следующим образом: каждому юзеру выдаётся персональный RSS фид (с уникальным адресом, например вида pesonal-rss.jsp?id=sha1sum(nickname+'secret code'; а лучше эти адреса перегенерировать по запросу). Адрес фида можно получить на страничке whois. Там же можно перегенерировать адрес.
У каждого треда юзер видит кнопочку «подписаться» (или «отписаться», если он уже подписан). Тред генерируется по тому же принципу, что и topic-rss, но только в два прохода, сначала собирается список тредов, которыми интересуется пользователь.
Опционально можно сделать кнопку «отписаться от всех» на странице whois. И список тредов, на которые ты подписан.
Фича полезная. Реализуется относительно просто. В принципе, её можно сделать даже в виде стороннего сервиса (+ какой-то userscript), но JB посоветовал отписать сюда.
Asterix (разработчик Gajim) в очередной раз поломал русские шорткаты.
Пытаюсь разобраться, как исправить ситуацию.
Почти все шорткаты сейчас забайндены при помощи акселераторов, но дочернему виджету передаётся key-press-event. Естественно, при вызове key-press-event accel'ы не обрабатываются. Есть какой-то простой способ это побороть?
Можно ли как-то сказать виджету, чтобы он из key-press-event разобрал accel'ы?
Если более предметно, то http://trac.gajim.org/browser/trunk/src/message_window.py#L762 .
Последний раз пользовался RPM-based дистрибутивами ещё во времена Red Hat Linux 6. Подскажите, что можно почитать про пакетный менеджер/настройку/etc?
Для примера: Справочник по Debian, Настольная книга Gentoo, FreeBSD Handbook.
Имеется pdf файл с огромными полями. Какой самый простой способ вывести его на печать с полями нормального размера (масштабировать содержимое страницы)?
Есть .torrent файл. Как узнать контрольные суммы файлов в него входящих, не начиная закачку?
Кто-то из местных уже рассказывал о подобной проблеме: при большом количестве (~100) установленных соединений интернет волшебным образом перестаёт работать.
Сначала я грешил на стрим, но оказалось, что если вместо Ethernet модема использовать USBшный, то проблема исчезает.
Грешу на Zyxel'овскую реализацию NAT сервера. Хотя загрузка модемного CPU остаётся в пределах 10%.
Ещё попробовал (на всякий случай) уменьшить MTU. Но это ничего не изменило.
If you're a developer, you will be able to register and upload your applications starting next Monday, 2008-10-27, when we've wrapped up a few final details. In order to make sure that each developer is authenticated and responsible for their apps, you will need to register and pay a one time _$25 application fee_. Once registered, your apps can be made available to users without further validation or approval.
http://android-developers.blogspot.com/2008/10/android-market-now-available-f...
Уроды. Единственная надежда остаётся на то, что можно будет устанавливать приложение, минуя Android Market.
Кстати, вот он: http://www.android.com/market/
Шрифт arial: http://www.fileformat.info/info/unicode/font/arial/u066D.png
Шрифт Dejavu sans: http://www.fileformat.info/info/unicode/font/dejavu_sans/u066D.png
Кто прав?
В других шрифтах: http://www.fileformat.info/info/unicode/char/066d/fontsupport.htm
← предыдущие | следующие → |