Top.Mail.Ru
? ?
лытдыбр
пуки в пустоту
 
Image

К сожалению, таких крутых дорков как у Google Duckduckgo пока не предоставляет, но кое что все-таки есть.

Image

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

  • !a — Amazon
  • !w — Wikipedia
  • !yelp — Yelp
  • !ebay — Ebay
  • !twitter — Twitter
  • !yt — YouTube
  • !habr - Habrahabr

На текущий момент доступно 8 тысяч bang'ов, найти нужный вам можно тут: duckduckgo.com/bang.

Image

Получить список URL с зависимостями пакета может помочь сделать вот такая команда:
apt-get install -qq --reinstall --print-uris <имя-пакета> | perl -lne "/'(.*?)'/;print \$1"

Пример использования:
# sudo apt-get install -qq --reinstall --print-uris bash | perl -lne "/'(.*?)'/;print \$1"
http://server/debian/pool/main/b/bash/bash_4.1-3_i386.deb
Image
Деструкторы классов вызываются в момент уничтожения объекта сборщиком мусора. В них помещают код, который необходим для корректного завершения работы объекта. Предположим есть такой код:
class FooType(object):
    def __init__(self, id):
        self.id = id
        print self.id, 'born'

    def __del__(self):
        print self.id, 'died'

def make_foo():
    print 'Making...'
    ft = FooType(1)
    print 'Returning...'
    return ft

print 'Calling...'
ft = make_foo()
print 'End...'


Он производит такой вывод:
Calling...
Making...
1 born
Returning...
End...
1 died


Как видим, все нормально. Но иногда с деструкторами бывают проблемы. Приведенный ниже код имеет циклическую ссылку:
class FooType(object):
    def __init__(self, id, parent):
        self.id = id
        self.parent = parent
        print 'Foo', self.id, 'born'
    def __del__(self):
        print 'Foo', self.id, 'died'
class BarType(object):
    def __init__(self, id):
        self.id = id
        self.foo = FooType(id, self)
        print 'Bar', self.id, 'born'
    def __del__(self):
        print 'Bar', self.id, 'died'

b = BarType(12)

Здесь объект класса FooType является свойством объекта класса BarType и при этом он хранит ссылку на него. Если бы этой ссылки не было, то вызов деструтора BarType, приводил бы к вызову деструктора FooType. Но в нашей ситуации этого не происходит:


Foo 12 born
Bar 12 born

Официальная документация сообщает:



Циклические ссылки не могут быть обработаны сборщиком мусора, если только не используется __del__() метод уровня не Python-кода.

В таких случаях многие python-программисты часто добавляют дополнительные методы, вызов которых необходимо производить перед завершением работы с объектом. Но всегда есть опасность забыть о вызове такого метода. К счастью, есть способ решения этой проблемы с использованием деструкторов. Для этого ссылку на родительский объект в классе FooType необходимо сделать слабой (weak reference). Эту возможность предоставляет модуль weakref. Справка из документации:

Слабая ссылка на объект является не достаточным условием для поддержания жизни объекта. Если единственные оставшиеся ссылки являются слабыми, сборщик мусора произведет уничтожение объекта и освободит память. Основная польза слабых ссылок заключается в реализации кэша или отображения (mapping) крупных объектов, для поддержания функционирования которых недостаточно одного их наличия в кэше или отображении.

Ниже показан предыдущий пример с использованием weakref:
import weakref
class FooType(object):
    def __init__(self, id, parent):
        self.id = id
        self.parent = weakref.ref(parent)
        print 'Foo', self.id, 'born'
    def __del__(self):
        print 'Foo', self.id, 'died'
class BarType(object):
    def __init__(self, id):
        self.id = id
        self.foo = FooType(id, self)
        print 'Bar', self.id, 'born'
    def __del__(self):
        print 'Bar', self.id, 'died'
b = BarType(12)

Теперь все работает так как надо:


Foo 12 born
Bar 12 born
Bar 12 died
Foo 12 died

(Перевод статьи: http://eli.thegreenplace.net/2009/06/12/safely-using-destructors-in-python)

Image

В файл /etc/yum.repos.d/CentOS-Base.repo добавляем:

[centos]
name=CentOS-$releasever - $basearch
baseurl=http://ftp.heanet.ie/pub/centos/
$releasever/os/$basearch/
enabled=1
gpgcheck=0

После этого делаем:

$ yum clean all

Ежели во время последующих установок новых пакетов, yum ругается на несовпадение контрольной суммы

yumpaas/primary_db | 30 kB 00:00
http://yumrepo.example.com/paas_oel5/repodata/b8e385ebfdd7bed69b7619e63cd82475c8bacc529db7b8c145609b64646d918a-primary.sqlite.bz2: [Errno -3] Error performing checksum
Trying other mirror.


то самое время установить python-hashlib...

$ yum install python-hashlib

Image

Через cask: https://github.com/caskroom/homebrew-fonts

$ brew install caskroom/cask/brew-cask  # устанавливаем  cask, если у вас его еще не было
$ brew tap caskroom/fonts               # скачиваем все шрифты
$ brew cask install font-inconsolata    # подключаем шрифт

Список доступных шрифтов: https://github.com/caskroom/homebrew-fonts/tree/master/Casks. Terminus тоже есть.

27th-Sep-2015 09:16 pm - Шрифты для кодинга
Image

На linux.org.ru прошло голосавание по теме "лучший моноширинный шрифт для редактора кода". Ниже представлены самые популярные шрифты из опроса.

Read more...Collapse )
Image
# заархивировать файл (или добавить файл в архив)
zip архив.zip файл
# архивирование директории
zip -r архив.zip директория/
# повышение уровня сжатия
zip -0 архив.zip файл
zip -9 архив.zip файл
 
# защита архива паролем
# не рекомендуемая опция, показывает пароль
zip -P пароль архив.zip файл
# безопасная опция, пароль запрашивается и скрывается при вводе
zip -e архив.zip файл
 
# удалить файл из архива
zip -d архив.zip имя-файла
# удалить все файлы из директории
zip -d архив.zip директория/\*
# удалить все файлы из директории c расширением .o
zip -d архив.zip директория/\*.o
 
# разархивирование
unzip архив.zip
# детальный вывод информации при распаковке
unzip -v архив.zip
# получение списка содержимого архива
unzip -l архив.zip
# проверка архива на повреждение
unzip -t архив.zip

Ещё тут:  работа с архивами в терминале.
8th-Jun-2015 07:06 pm - Пфенниг
Image

Почему то приснился пфенниг. Приснилось что пошарил в кармане и нашёл там 1 пфенниг. Новый, блестящий, не старый там какой-нибудь. Изображение самой монетки я, конечно, не видел, знал только номинал.

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

Пфенниг (нем. Pfennig) — германская разменная монета достоинством в 1/100 марки, имевшая хождение до введения евро. Название монеты имеет общий корень с британским пенни (на старом английском языке penig, pening, penning, pending), скандинавским пеннингом (penning), польским и литовским пенязем(польск. pieniądz), фенингом Боснии и Герцеговины (хорв. fening; серб. фенинг). Происхождение слова остается спорным.

1 пфенниг ФРГ состоял из стального ядра, покрытого слоем меди (диаметр — 16,5 мм). Монеты достоинством 2 пфеннига до 1968 года состояли из бронзы, потом из того же материала, что и 1 пфенниг. Монеты в 5 и 10 пфеннигов изготовлялись из латуни со стальным ядром. Пфенниги ГДР были изготовлены из алюминия. Исключением была монета в 20 пфеннигов, которая выпускалась из латуни.

Мой как раз ГДР'ский.

Image
Image


Покупал с интернет-магазина. Многие магазины не хотят продавать, если заказ меньше 500 рублей, поэтому пришлось немного поковыряться.

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

Image
Настроил открытие файлов в mc на своём маке.

"Теория" тут: debiania.blogspot.ru/2008/08/midnight-commander.html

Для Mac OS просмотр PDF можно сделать так:

#PDF
type/^PDF
Open=/Applications/Preview.app/Contents/MacOS/Preview %d/%s &
View=/Applications/Preview.app/Contents/MacOS/Preview %d/%s &


Preview можно поставить и на картинки:

include/image
Open=/Applications/Preview.app/Contents/MacOS/Preview %d/%s &
View=/Applications/Preview.app/Contents/MacOS/Preview %d/%s &


Макропеременные:
%f -- имя текущего файла. %F -- текущее имя файла в пассивной панели.
%d -- имя текущего каталога. %D -- имя текущего каталога в пассивной панели.
%t -- текущие выделенные файлы. %T выделенные файлы в пассивной панели.
%s и %S выделенные файлы, если таковые имеются, в противном случае текущий файл.

Ещё трюки: www.softpanorama.org/OFM/MC/mc_tips.shtml
Image
Смена значения TTL помогает бороться с ограничениями мобильных операторов на раздачу Интернета. При прохождении пакета через узел в сети, значение TTL уменьшается на единицу. На мобильных устройствах TTL обычно 64, поэтому если на компьютере выставить 65, то оператор не заметит факт раздачи интернета.

На Windows:
В редакторе реестра (regedit) открываем ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters и добавляем туда DWORD поле с именем DefaultTTL и десятичным значением 65. Затем перезагружаемся.

На Mac OS:
Открываем консоль и выполняем команду:
$ sudo sysctl -w net.inet.ip.ttl=65

На Linux:
В файл /etc/sysctl.conf необходимо добавить строку
net.ipv4.ip_default_ttl = 65

This page was loaded Jan 19th 2026, 10:23 pm GMT.
Image