Search
Write a publication
Pull to refresh
0
0

User

Send message

Электрика в  малом и среднем офисе, часть  первая

Reading time7 min
Views11K
Если вы арендуете офис в большом центре, где есть СКС и все круто, то эта заметка не для вас. Но если вы переезжаете в помещение, переведенное из жилого фонда, то эта статья будет для вас полезна. Я расскажу о возможных проблемах с электрикой и о том, как их предотвратить.
Читать дальше →

Как подружить Java и C++. Часть первая

Reading time5 min
Views102K
Здравствуйте.

Как вы, наверное, уже догадались, речь пойдет о JNI. Для тех, кто не знает что это, объясняю: JNI (или java native interface) — это такая штука, которая позволяет делать вызовы нативного кода из java машины и наоборот.

Зачем это может потребоваться? Есть несколько причин: необходимость использовать код, который уже написан для нативной платформы, необходимость реализовать что-то такое, что невозможно сделать с помощью одной JVM (например, работа с какими-нибудь специфическими железками), ну и ускорение выполнения критических кусков кода (правда, это весьма спорный момент).

Так как же им пользоваться?

Консольный скринкаст

Reading time2 min
Views1.6K
Оказывается, записывать сессии работы в терминале — совсем просто. Программа script, входящая в пакет util-linux-ng может записать все ваши действия в файл. В выходном файле ( по умолчанию он называется «typescript» ) сохраняется полный лог вашей работы за терминалом, включая вывод консоли. Можно использовать его в разных целях, начиная с записи студенческих лабораторных работ и заканчивая слежением за тем, кто и что делал за вашим терминалом.

Но самое интересное — возможность последующего проигрывание этого лога в реальном времени с помощью perl-скрипта под названием scriptreplay
Читать дальше →

Эстетика штрих-кода

Reading time1 min
Views5.7K
Мужик из Австралии слепил онлайн-генератор QR Code, в который можно органично поместить собственный текст. Генератор позволяет выбрать место расположения текста, его цвет, а также указать другие подробности, которые порадуют дизайнера.

Несмотря на, казалось бы, ограниченные оформительные свойства двухмерных штрих-кодов, в умелых руках они вполне способны превратиться в самостоятельный эстетический объект. Взять хотя бы нашумевшую ёлочку Тёмы Лебедева.

Далее, хочу привести в пример, как к подобной задаче подошли BBC, Adidas и Microsoft.

Читать дальше →

ASCII-стеганография на ваших картинках

Reading time1 min
Views5.1K
Всем известно ASCII-искусство, которое позволяет рисовать любые картинки с помощью стандартной ASCII-кодировки. В то же время всем известна стеганография — искусство прятать информацию в открытые для всех файлы таким образом, что никто даже не догадывается в них что-то искать. А если найдёт, то не сможет раскодировать, потому что применяется стойкая криптография.

Народные умельцы забавы ради решили скрестить две этих технологии — ASCII-искусство и стеганографию. В результате появился новый сервис, где вы можете загрузить свою фотографию и документы объёмом до 40 КБ, а программа сгенерирует ASCII-изображение с информацией, надёжно зашифрованной в нём (никто не мешает применить 128-битный ключ перед помещением в ASCII-контейнер).

Например, вот в этом ASCII-логотипе Хабра размером 100х100 пикселов закодирован весь текст данной заметки. Другие примеры тут. Каждый пример можно раскодировать на страничке с декодером (просто сделать копипаст картинки в текстовую форму декодера).


Читать дальше →

Пакетное масштабирование изображений

Reading time3 min
Views2.9K
Столкнулся с необходимостью масштабирования большого количества фотографий. Конечно, думаю есть и более элегантное решение,
но поскольку гугла под руками не было — быстро набросал фронт к imagemagick на bash. Думаю, кому-то он может пригодиться.
Читать дальше →

Gmail Notifier своими руками

Reading time6 min
Views5.3K
image Начал я обустраиваться под Linux'ом и обнаружил, что мне сильно не хватает тех красивых попапов, уведомляющих о приходе новой почты, которые умеет показывать Google Talk под Windows. Гугление обнаружило несколько готовых скриптов, позволяющих реализовать подобные попапы (среди прочих: bash-скрипт, bash-скрипт + python-скрипт, плюс pidgin умеет проверять почту), но все подходы слегка уродливы были мне не по душе и требовали доработки напильником, поэтому я решил сделать всё с нуля (пусть будет уродливое, но своё!). О вещах, с которыми я столкнулся в процессе и пойдёт речь…

Читать дальше →

Векторная графика в LaTeX. Пакет PGF/TikZ

Reading time7 min
Views61K
Доброго времени суток. Давно собирался рассказать о возможностях векторной графики в LaTeX, предоставляемых низкоуровневым макропакетом PGF и его расширением TikZ, а выход предыдущей статьи о пакете Xy-pic для создания диаграмм и графов и появление свободного времени сделали возможным начать работу :-).

Мне в своё время понадобилось найти и изучить какое-то гибкое средство для создания качественных векторных изображений, потому что уже достали криво масштабированные, вставленные с ужасным расширением картинки растровых форматов, портящие всё впечатление от документа, да и увеличивающие его размер в два раза из-за одной большой картинки с прямоугольником и несколькими подписями к нему. Имеющиеся возможности встроенного окружения picture весьма скудны; пакет PStricks ориентирован на язык PostScript (не работает с pdflatex, который мне необходим), хотя и может кое-что, чего не может PGF; система MetaPost, пожалуй, является наиболее мощной из всех в этой области, но функционирует с использованием отдельного интерпретатора со всеми вытекающими из этого последствиями. Таким образом, выбор пал на PGF/TikZ.


Читать дальше →

Частые ошибки программирования на Bash (продолжение)

Reading time6 min
Views39K
Продолжаю знакомить сообщество с переводом Bash Pitfalls.
Часть первая.

11. cat file | sed s/foo/bar/ > file


Нельзя читать из файла и писать в него в одном и том же конвейере. В зависимости от того, как построен конвейер, файл может обнулиться (или оказаться усечённым до размера, равному объёму буфера, выделяемого операционной системой для конвейера), или неограниченно увеличиваться до тех пор, пока он не займёт всё доступное пространство на диске, или не достигнет ограничения на размер файла, заданного операционной системой или квотой, и т.д.
Что же делать?

Пакеты с getdeb.net теперь доступны в качестве неофициального репозитория

Reading time1 min
Views1.6K
Я люблю когда стоит последняя версия любимого пакета, но к сожалению официальный репозиторий не всегда их содержит, поэтому часто приходится пользоваться getdeb.net. Сегодня набор зависимостей оказался таким, что руками не получилось с ними разобраться, после гугления было обнаружено зеркало:
deb http://ubuntu.org.ua getdeb/
Читать дальше →

Apt-cacher как корпоративный сервер обновлений для Ubuntu/Kubuntu/*buntu

Reading time5 min
Views16K

Замена apt-mirror`у


apt-cacher — утилита для Debian-подобных дистрибутивов использующих apt в качестве установщика пакетов. Она кеширует файлы, которые скачивает пользователь с офф. зеркала обновлений и при следующем запросе выдает их из своего кэша.
Читать дальше →

Атака на WPA: подробности

Reading time10 min
Views39K
По мотивам топика о взломанном WPA.
Попытаемся все же разобраться, что случилось и чем это может нам грозить. Поскольку криптографические атаки — вещь, требующая для понимания весьма много специфических знаний, статью можно считать в некотором роде ознакомительной с безопасностью в Wi-Fi сетях.
Читать дальше →

Настройка резервного копирования в Ubuntu

Reading time4 min
Views99K

Настройка резервного копирования в Ubuntu за 20 минут.


Для работы над проектами использую svn, который находится на удаленном виртуальном выделенном хосте, под управлением ubuntu 8.04. Со временем объемы данных выросли, как и критичность этих данных. Потеря чего-то снилась в кошмарах. Время от времени копировал репозитории на локальный компьютер. Недавно мне это надоело. И я стал искать возможности автоматизировать это дело. Не буду говорить о поисках и вариантах, расскажу о результатах.

Итак, мы имеем удаленный хост под управлением ubuntu, с некоторым массивом довольно критичных данных. Довольно логичным было бы настроить бэкап прямо на удаленном хосте, с помощью tar по крону, rsyns и т.д. Но, т.к. место на виртуальном выделенном хостинге довольно дорого и использовать его лучше по делу, идеально было бы, чтобы данные автоматически копировались на какую нибудь локальную машину, место на которой хоть отбавляй. В моем случае это файловый сервис в офисе, под управлением все той же Ubuntu.

Итак, приступим

USB в VirtualBox

Reading time1 min
Views57K
После установки VirtualBox в Ubuntu не подключаются USB устройства в виртуальных машинах.
Дело в том, что информацию об устройствах VirtualBox берет из файловой системы /proc/bus/usb, которая в Убунте не примонтирована. Чтобы ее смонтировать, пишем в /etc/fstab следующее:
none /proc/bus/usb usbfs devgid=125,devmode=664 0 0
Сохраняем файл, и выполняем в консоли sudo mount /proc/bus/usb
Теперь можно подключать устройства к виртуальным машинам.

Работа с ветками в SVN. Изменения в версии 1.5.

Reading time2 min
Views12K
Продолжение этой статьи

Долгое время в ветках SVN был один существенный недостаток. Система не помнила мержей, и программисту приходилось самостоятельно заботиться о том, что бы сохранить номер ревизии, когда происходило копирование изменений из транка. Проблема частично решалась добавлением комментариев в лог, но все таки это было чревато ошибками, и целиком ложилось на совесть программиста.
В версии 1.5, наконец-то, программисты Subversion выполнили свое давнее обещание, и добавили несколько полезных фич для работы с ветками.
Итак, в версии 1.5 команда merge обзавелась двумя новыми опциями: --record-only и --reintegrate.
Теперь ответственность за контроль копирования изменений ложится целиком на плечи SVN (merge tracking), а программист может легко, и без боязни выполнять merge так часто, словно это команда update.
Читать дальше →

Работа с ветками SVN

Reading time6 min
Views189K
Прежде чем приступать вообще к использованию веток, и даже если вы и не думаете их использовать, необходимо прочесть Этот Священный Талмуд.

После того как вы прочли статью о ветках в svnbook, вы уже понимаете для чего нужны ветки, как с ними работать и в каких случаях их необходимо использовать. В принципе, после этого, то, что написано под катом вам уже скорее всего не нужно. Но если вам было лень читать, то может текст ниже вас заинтересует, и вы все таки прочтете статью документации. А может, просто поможет вам лучше понять то, что только что прочли в svnbook-е.
Читать дальше →

Компоновка — начало начал

Reading time5 min
Views15K
В этой статье я расскажу о компоновке элементов интерфейса в PyGTK. Мы будем использовать дизайнер интерфейсов Glade и сделаем первое кросплатформенное приложение на PyGTK.
Читать дальше →

Северное сияние впервые сняли в 3D

Reading time1 min
Views1.6K
На сайте New Scientist выложили трёхминутный видеофильм о британских физиках, которые впервые в мире сделали трёхмерную съёмку северного сияния (там есть и фрагменты видео, которое вообще-то нужно смотреть в стереоочках). Северное сияние в этом фильме похоже на полотно зелёного шёлка, которое развевается на ветру (фотографии можно посмотреть здесь).



Природное явление снимали с двух точек, расположенных на расстоянии 32 км друг от друга и идеально чётко откалиброванных по звёздам. Хотя в теории создание такой стереопары выглядит просто, но на практике исследователи столкнулись с множеством технических проблем. Им нужно было подобрать оборудование, которое способно длительное время работать при температуре почти -40 градусов по Цельсию и обеспечивающее приемлемое качество видео практически в полной темноте.

Финансирование проекта обеспечили научные организации Великобритании и Финляндии, а также компания Apple.
Читать дальше →

«Python 3 Patterns & Idioms». Новая книга Брюса Эккеля.

Reading time1 min
Views3.6K
Брюс Эккель, автор бэст-сэллеров «Thinkin in Java» и «Thinking in C++», выпустил новую книгу «Python 3 Patterns & Idioms».
Книга доступна в форматах html и Windows Help.
Распространяется по лицензии Creative Commons Attribution-Share Alike 3.0.
Линк

Tribler сделал торрент-трекеры архаизмом

Reading time1 min
Views14K
Несколько европейских университетов и Гарвард продолжают работу над совместным мега-проектом Tribler по созданию идеального BitTorrent-клиента. Об этом проекте мы уже несколько раз упоминали на Хабре, например, после разработки платёжной системы, основанной на взаимозачёте трафика (гигабайты вместо долларов, которыми можно расплачиваться за товары), а также после внедрения там системы рекомендаций.

И вот сейчас разработчики объявили (PDF), что в новой версии клиента Tribler 4.1.0 реализована технология полноценной децентрализованной работы. Вся статистика об объёмах закачек и раздач, а также информация о рейтингах и привилегиях, сохраняется в распределённой клиентской сети без помощи торрент-трекеров, при этом есть система социальных рекомендаций по протоколу Buddycast, что устраняет угрозу спама. Искать новые .torrent-файлы можно напрямую на компьютерах других пользователей, опять же без нужды в торрент-трекерах.
Читать дальше →

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity