LINUX.ORG.RU

Сообщения Davidov

 

Go2 draft: generics, error handling & error values

Драфты generics и расширения системы обработки ошибок тут. Сейчас ещё можно повлиять на то, как это будет в итоге сделано.

Generics

contract Addable(t T) {
	t + t
}

func Sum(type T Addable)(x []T) T {
	var total T
	for _, v := range x {
		total += v
	}
	return total
}

Error handling

func CopyFile(src, dst string) error {
	handle err {
		return fmt.Errorf("copy %s %s: %v", src, dst, err)
	}

	r := check os.Open(src)
	defer r.Close()

	w := check os.Create(dst)
	handle err {
		w.Close()
		os.Remove(dst) // (only if a check fails)
	}

	check io.Copy(w, r)
	check w.Close()
	return nil
}

 

Davidov ()

пересобрать deb пакет FF57

Хочется пересобрать firefox с парой патчей для Ubuntu (16.04).

Проблема в том, что build-dep не находит зависимостей. Говорит, нужен новый rust, а его нигде нет, ни в universe, ни в multiverse.

Попытался поставить rust тремя разными способами: локально (и передать PATH debuild), глобально из ppa:jonathonf/rustlang, и глобально из ppa mozilla security (вместе с их clang).

Во время комиляции вылетает ошибка cstddef file not found, err: true (подробнее тут).

1. Это вообще нормально, что build-dep поломанный?

2. В каком окружении нужно собирать deb пакет для firefox57?

 , ,

Davidov ()

vista убивает загрузчик?

У друга дуалбут: kubuntu 9.10 и vista. Похоже, иногда винда портит загрузчик: груб показывает что-то вроде «Grub.» и уходит в перезагрузку.

Как можно отучить висту убивать загрузчик?

Davidov ()

Gmail chats history export: нужны бета-тестеры

Если вы хотите уйти с гуглопочты, но вас удерживают тысячи сохранённых чатов, то это сообщение для вас.

На данный момент мне известно о трёх способах экспортировать историю чатов.

  • Питоновский скрипт использующий libgmail. Существуют две проблемы: во-первых, заставить libgmail работать не так уж просто, и, судя по всему, в ближайшие месяцы библиотека перестанет работать окончательно. Во-вторых, в экспортированных сообщениях каша с timestamp'ами и порядком сообщений, которую тоже надо как-то разгребать.
  • Танцы с бубном на основе iMacros. Экспорт в html (забудьте о правильных timestamp'ах).
  • Хак с использованием Gears. Работает вполне сносно, но нужна некоторая работа руками.

Я предлагаю свой скрипт, который использует отреверсинжениренное API gmail mobile. Прошу потестировать работоспособность скрипта (что ещё делать в субботу, верно?).

Справка лежит на битбакете (справа вверху кнопочка get source). Запускать приблизительно так:

python get_chats.py -d -t +0300 -o chats/ username

В директорю chats/ будут сохранены файлы в формате .eml.

Не забудьте указать часовой пояс, на который настроен ваш gmail (в формате +nnnn). Иначе у сообщений будет неправильная дата.

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

Davidov ()

графический редактор JavaScript

Стоит задача: сделать примитивный векторный редактор на JavaScript.

Должен уметь рисовать прямоугольники и писать текст (если под наклоном, вообще замечательно). Результат должен отдавать серверу в векторном виде, естественно.

Не обязательно должен работать в IE (т.е. использовать canvas или svg можно).

Вопросы:

а) Что бы хорошее почитать про сам ECMAScript?

б) Какую библиотеку использовать, чтоб было не очень низкоуровнево? Вообще, для JavaScript сейчас уйма библиотек. И совершенно не ясно, какая для чего хороша.

Davidov ()

Apple + ZFS != любовь

<Ъ>

Apple сегодня сообщила о завершении своего open source проекта ZFS. Почтовая рассылка и репозитарий, вскоре, так же будут удалены.

ZFS (Zettabyte File System) является продвинутой файловой системой, изначально разрабатываемой Sun Microsystems, которая была портирована Apple на Mac OS X и представлена в качестве open source проекта, доступного на страницах Mac OS Forge с 2007 года.

По слухам, ZFS должна была стать файловой системой по-умолчанию еще в Mac OS X «Leopard», но в конечном счете появилась только в виде усеченной версии с возможностями только для чтения.

Apple продолжала сохранять интерес к ZFS, что проявлялось в ранних описаниях к разрабатываемой ОС «Snow Leopard Server», но с сайта вскоре были удалены все упоминания, касающиеся ZFS и поддержка этой файловой системы так и не была включена в релизы «Snow Leopard» и «Snow Leopard Server».

Позднее, несколько источников предположили, что поддержка ZFS в «Snow Leopard» не состоялась из-за лицензионных проблем с продуктом. Напомним, что Sun предпочла открыть коды своей файловой системы под коммерческой лицензией CDDL, что создало дополнительные риски для бизнеса Apple. В апреле 2009 года Sun была приобретена Oracle Corporation, которая в свою очередь уже имеет свой «клон» ZFS — Btrfs — что ставит дальнейшую судьбу первой под вопросом. К тому же, у ZFS остаются некоторые открытые вопросы касающиеся нарушений патентов принадлежащих компании NetApp. Все это, могло бы перепасть на плечи Apple.

Компания из Купертино вчера разместила вакансию на место инженера файловой системы. Однако, в описание включались лишь требования по поддержке уже существующего проекта, а так же разработка, поддержка и внедрение будущих технологий из этой области. Сей факт скорее всего свидетельствует о том, что компания скорее предпочтет свои собственные решения вместо погони за ZFS.

</Ъ>

http://snupt.com/apple-shutsdown-zfs/

Вот ещё в одной ОС не будет ZFS. Зря Sun столько патентов на неё сделала, все теперь боятся (кроме бесстрашных FreeBSD-шников, у которых пока не было своей SCO).

Davidov ()

а кому троянчика для перехвата скайпа?

http://www.megapanzer.com/2009/08/25/skype-trojan-sourcecode-available-for-do...

Интересно, под эхотаг портируют?

Davidov ()

pv: меряемся

Ноут:

davidov@theatre:~$ pv /dev/zero > /dev/null
50.7GB 0:00:10 [4.95GB/s] [         <=>                                       ]

Десктоп:

davidov@music:~$ pv /dev/zero > /dev/null
 188GB 0:00:35 [6,49GB/s] [                                 <=>               ]

Сервер:

[davidov@calculator ~]$ pv /dev/zero > /dev/null
 214GB 0:00:14 [15.3GB/s] [             <=>                                   ]

Davidov ()

Поддерка парсилки HTMLParse

К сожалению, в питоновском HTMLParse есть глюк, из-за которого он неправильно воспринимает html в такой конструкции <a href=".."title=".."> (отсутствие пробела после кавычки.

Можно его добавить? Это 138 строка файла http://github.com/maxcom/lorsource/blob/652e1f841de7bb8a0835c6c35bfb86f720e15... , перед кавычкой нужно поставить пробел.

Спасибо!

Davidov ()

Абсолютное 4.2

http://www.linux.org.ru/view-message.jsp?msgid=3877904

Текст новости не соответствует действительности; google voice - это не voip клиент, не конкурент скайпа, и для андроида они сделали не voip клиент.

Davidov ()

Новый раздел Google?

Может добавить раздел гугл? Для андроида, хрома, GSOC и проч?

http://omploader.org/vMXllaA/google.png http://omploader.org/vMXllaQ/google_white.png http://omploader.org/vMXllag/google_black.png

Если у кого-то есть корел, можете попробовать вырезать первую букву G отсюда: http://www.brandsoftheworld.com/search/98028138/87685.html .

Davidov ()

Забанить?

Davidov ()

shell: изменить файл in place

Хочу выполнять некоторые операции над файлами in place при помощи пайпов.

Допустим, у sed есть соответствующий ключик, а что делать в той ситуации, когда ключа нет?

Записать в другой файл, а потом выполнить mv? Или есть более простой способ?
Перемещено Dimez из Talks

Davidov ()

python multiprocessing.Queue.empty()

Иногда после (быстрого) заполнения Queue

for i in xrange(N):
  q.put(i)

вызов из того же потока q.empty() возвращает True (хотя q.qsize() всегда возвращает правильное значение N). Иллюстрация:

from multiprocessing import Queue

N = 100

q = Queue()
while True:
  for i in xrange(N):
    q.put(i)
  r = q.empty()
  if r == True:
    print 'Gotcha!'
    print 'q.empty()=%s' % r
    break
  for i in xrange(N):
    q.get()

# Тут можно вставить очистку очереди; но необходимости нет.

В доке написано, что «Because of multithreading/multiprocessing semantics, this is not reliable.», но неужели до такой степени всё плохо, что даже из одного потока всё непредсказуемо?

Davidov ()

deluge: отображение индикатора

Скриншот из википедии: http://upload.wikimedia.org/wikipedia/commons/5/59/Deluge_screenshot.png

Скриншот последней версии: http://omploader.org/vMXRwMw

Вопрос: они решили отказаться от отображения скаченных кусков? Или, всё-таки, это можно как-то включить?

Davidov ()

семафоры для bash?

Есть большой список команд, которые нужно вызвать.

Есть простой способ распараллелить их на нужное количество потоков на bash/shell?
Перемещено cavia_porcellus из Talks

Davidov ()

OOo 3.1 от инфры: история неуспеха

Подключил инфровский репозиторий в Jaunty, Обновил пакеты.

Со временем обнаружил, что начал падать libpanel-applet (infra), сделал downgrade до jaunty.

Спустя несколько дней открыл вордовский файл и увидел на месте таблицы пустое место. То же самое наблюдалось и в других doc файлах.

Снёс все пакеты от инфры, отключил репозиторий. Теперь OOo снова открывает все файлы нормально.

В общем, зачем нужен infra linux я так и не понял.

Davidov ()

[ba]sh: перенаправление stdin и stderr фонового процесса

Почему не работает (как ожидается) следующий код:

$COMMAND >>"$LOGFILE" 2>&1 &

В $LOGFILE попадает только stderr.

Davidov ()

omploader.sh: конструктивная критика

На сервере нет Ruby, а omploader штука полезная. Поскольку руби скрипт — всего лишь обёртка над curl, я его переписал на bash.

http://bitbucket.org/Davydov/omploadersh/src/tip/omploader.sh

P.S. Bash/sh знаю плохо, поэтому прошу конструктивной критики/патчей.

Davidov ()

Google Code supports Mercurial

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.

Новость.

По-русски.

Davidov ()

RSS подписка на новые темы