Search
Write a publication
Pull to refresh
0
0
sonic @sonic

User

Send message

Rework по-русски — краткий обзор

Reading time2 min
Views36K
Привет, хабрадрузья!
Как уже обсуждалось здесь, на русском языке вышла книга 37 signals «Rework».
Хотел бы поделиться с вами своим мнением относительно неё.
image
Эту книгу ждали многие. В их числе был и я. Rework произвел на меня впечатление еще в англоязычном варианте. Оставалось узнать, насколько он хорош в русскоязычном.
Читать дальше →

Об управлении временем, саморазвитии и деньгах

Reading time8 min
Views13K
Я хочу рассказать о том, почему в отдельности не работают подходы, которые люди начинают применять, прочитав ту или иную книгу из области time-management или управления финансами.

Вся суть заключается в том, что указанные книги зачастую предоставляют лишь готовый инструмент, который, однако, подходит далеко не каждому. А чтобы применить инструмент, сначала нужно обучиться основам дела, за которое вы собираете браться.

Вот, например, езда на автомобиле. Сначала человек меняет свои привычки, установки, доводит до автоматизма простые действия. Затем сдает экзамен, и только потом выезжает на дорогу и начинает набирать настоящий опыт, в процессе которого и становится мастером.

А когда мы говорим об управлении временем, часто случается следующее. Человек прочитал одну книгу, один день попробовал вести хронометраж — бросил, лениво. Написал план на неделю, месяц, год, и ни разу их не открыл. На следующий день писал план первые три дня, а потом забросил — ибо ничего не успевал.

Или с деньгами.
Читать дальше →

Evercookie — самые устойчивые куки

Reading time1 min
Views75K
Samy Mamkar разработал систему, которая позволяет хранить куки в 8 местах, автоматически восстанавливая друг друга, и даже добиться того, чтобы куки, поставленное в одном браузере, действовало и в другом.

Удалить это куки практически невозможно! (Все возможно, конечно, но слишком много мороки)

Куки хранятся в:
  • HTTP Cookies;
  • Local Shared Objects (Flash);
  • Сохранение куки в значениях RGB автосгенерированных и форсированно кэшированных PNG с использованием HTML5 canvas;
  • Сохранение куки в Web History;
  • HTML5 Session Storage;
  • HTML5 Local Storage;
  • HTML5 Global Storage;
  • HTML5 Database Storage через SQLite.

При удалении из одного из этих мест кука автоматически восстанавливается из оставшихся. Работает даже если пользователь сменит браузер (через Local Shared Objects из Flash).

Описание (на английском) и демо: http://samy.pl/evercookie/.
Попробуйте удалить куки, почистить систему и зайти назад.



Как пользоваться?
Читать дальше →

Домашний linux сервер своими руками

Reading time5 min
Views192K
Хочется поделиться с хабросооществом информацией о том как я собирал домашний сервер.

image

Из софта на домашнем сервере будет «крутиться» следующий набор:
  • torrent клиент с web-мордой
  • DHCP — раздаем ip адреса и сетевые настройки
  • TFTP — для сетевой загрузки
  • OpenVPN — для хождения в сеть с нетбука из недоверенных сетей
  • FTP/Samba/NFS — сетевые шары для доступа с домашних машин
  • Radius — для WPA2 авторизации
  • DigiTemp — мониторинг домашней температуры

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

Полноценный доступ ко всем Linux-файловым системам в Windows 2000/XP/Vista/7 с помощью coLinux

Reading time5 min
Views116K
В данной статье я расскажу вам, как получить практически полноценный доступ для чтения и записи ко всем файловым системам, используемым в Linux (Ext2/3/4, ReiserFS, XFS, JFS, etc) из-под сабжевых операционных систем. Статья является вольным переводом данного руководства, причем написано оно уже довольно давно, но догуглился я до него только сейчас. :)
Читать дальше →

Основы Linux от основателя Gentoo. Часть 2 (3/5): Управление процессами

Reading time7 min
Views60K
В этом отрывке рассмотрены команды управления процессами. Вы научитесь замораживать процессы, размораживать, отправлять в фоновый режим, изменять приоритет, просматривать запущенные процессы и жестоко их убивать. Введено понятие сигналов. Рассмотрены такие команды, как bg, fg, jobs, kill, nohup, nice, renice, ps и top.



Навигация по основам Linux от основателя Gentoo:

Часть I
  1. BASH: основы навигации (вступление)
  2. Управление файлами и директориями
  3. Ссылки, а также удаление файлов и директорий
  4. Glob-подстановки (итоги и ссылки)

Часть II
  1. Регулярные выражения (вступление)
  2. Назначения папок, поиск файлов
  3. Управление процессами
  4. Обработка текста и перенаправления
  5. Модули ядра (итоги и ссылки)


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

DNS вашего домена: проблема и защита

Reading time3 min
Views14K
В старые добрые времена наш проект неоднократно подвергался DDoS атакам разного типа, разной мощности и продолжительности. Мы отработали много разных методов защиты, а также оптимизировали саму структуру сервиса, частично в аспекте хостинга и расположения серверов. Важной частью выученного урока была правильная настройка DNS. Как показала последняя атака на Хабр и комментарии о проблемах, аналогичным нашим, не все уделяют защите DNS должного внимания, а очень и очень зря.

Коротко о главном

Музыка из кейгенов. Как это работает?

Reading time4 min
Views36K
Еще давно очень многих интересовал один вопрос: «Эта программа занимает всего 100 кб, что за музыку она воспроизводит? Как это работает?»

Так вот, называется это чудо – Трекерная музыка. И что самое главное – она занимает очень мало места, в отличие от .mp3 или .wav. В современных популярных ОС трекерные файлы (MOD, XM, S3M, IT и пр.) проигрываются большинством медиаплееров, например, Winamp, VLC, Amarok, Audacious и другими.

Скачать такую музыку можно, например отсюда — keygenmusic.net, или отсюда www.modarchive.org. Это отнюдь не единственные ресурсы, стоит только обратиться к поиску.

Для того, чтобы воспроизвести такую музыку в своей программе, нам потребуется минимальное знание C++, а также minifmod, доступный в исходниках. Как заявляют разработчики, minifmod добавит всего 50 кб к вашему exe-файлу (без учета сжатия).

читать дальше

Основы Linux от основателя Gentoo. Часть 2 (2/5): Назначения папок, поиск файлов

Reading time9 min
Views78K
В данном отрывке рассказано о стандарте иерархии файловой системы (FHS), почему директории так называются и для чего они нужны. Упомянута переменная окружения PATH и разобраны основные команды для поиска файлов в системе, такие как whereis, find и locate (slocate).



Навигация по основам Linux от основателя Gentoo:

Часть I
  1. BASH: основы навигации (вступление)
  2. Управление файлами и директориями
  3. Ссылки, а также удаление файлов и директорий
  4. Glob-подстановки (итоги и ссылки)

Часть II
  1. Регулярные выражения (вступление)
  2. Назначения папок, поиск файлов
  3. Управление процессами
  4. Обработка текста и перенаправления
  5. Модули ядра (итоги и ссылки)


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

Ищем решение проблемы потери данных при падении Лисы

Reading time3 min
Views3K
Так получилось, что за несколько последних дней Firefox не закрывался нормально дважды. Первый раз он честно сдался (crash) после длительного периода интенсивной работы, неся на борту более 50 экстеншинов, а второй раз: пришел сегодня на работу — а комп выключен. Оказалось, электричество вырубали…

Еще в первый раз я заметил, что не сохранились настройки одного расширения, которым я как раз тогда пользовался. Пришлось заново настроить. Но когда сегодня пришлось во второй раз эти настройки восстанавливать, я подумал, что так быть не должно.

Поискав немного, я нашел, что Firefox делает сохранение настроек в файл prefs.js
(живет по адресу C:\Documents and Settings\User\Application Data\Mozilla\Firefox\Profiles\sDgUfwhg.default\prefs.js)
только при штатном закрытии (и еще при некоторых движениях, которые всплыли в ходе расследования).

Но браузер в наше время практически никогда не закрывается… Значит должно быть решение ;)
Читать дальше →

Использование коэффициента Танимото для поиска людей с одинаковыми предпочтениями

Reading time3 min
Views13K
Решая упражнения к книге «Программируем коллективный разум», я решил поделиться реализацией одного из алгоритмов упомянутого в этой книге (Глава 2 — Упражнение 1).

Исходные условия следующие: пусть мы имеем словарь с оценками критиков:

critics={'Lisa Rose'{'Superman Returns'3.5'You, Me and Dupree'2.5'The Night Listener'3.0}
           'Gene Seymour'
{'Superman Returns'5.0'The Night Listener'3.5'You, Me and Dupree'3.5}}

Чем выше оценка, тем больше нравится фильм.
Надо вычислить: насколько схожи интересы критиков для того, например, чтобы можно было на основе оценок одного рекомендовать фильмы другому?

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

cut и grep или awk?

Reading time2 min
Views79K
Часто в скриптах можно встретить что-то вроде foobar|awk '{print $1}' («часто» — это действительно часто).

Такой вызов awk всего лишь вывходит первую (n-ную) колонку из вывода предыдущей команды. Но это явный оверкилл! awk — довольно мощный язык потоковой обработки данных, и применение его как простого field-separator не есть хорошо.

Для вырезания из строки указанного поля лучше использовать команду cut. Она умеет меньше, а потому проще в использовании и быстрее.

В современном линуксе обработка вызова awk куда более сложна, чем вызов cut. В дебиане, например, awk — линк на /etc/alternatives/awk, который ведёт (чаще всего) на gawk. Который почти в 10 раз больше по размеру, чем cut. Разумееся, cut загружаеся быстрее.

cut умеет вырезать не только байты, но и нужные поля (опция -f). Поле — это текст между разделителями. По-умолчанию разделитель пробел/табуляция, но он легко меняется опцией -d.

Второй подход — использовать опцию -o у grep. Эта опция выводит не всю строку, а только совпадающее с критерием поиска grep. Очевидно бесполезно при поиске точной подстроки, но очень полезно при использовании регулярных выражений.

Например,
grep -v "#" /etc/inittab |cut -f 4 -d : -s
выведет список программ, запускающихся init'ом (четвёртое поле, поля разделяются двоеточием).

Или
grep http://\\S\\+ -o /var/log/apache2/error.log
выдаст список URL'ов из файла с ошибками (первый урл в строке).

… и никакого awk.

UPD: В комментариях подсказывают ещё более интересную конструкцию без запуска внешнего файла (команда read реализуеся средствами bash'а):
foobar | (read p1 p2; echo p1)

P.S. Речь не о единичном вызове (тут нет разницы awk, grep или даже python/perl). Речь о множестве вызовов в цикле в скрипте. Все примеры сравнивайте в цикле с сотнями (лучше тысячами) вызовов.

Как работают алгоритмы сортировки

Reading time1 min
Views22K
Иногда для понимания того, как работает та или иная вещь, лучше один раз увидеть, чем сто раз услышать.

Замечательный сайт www.sorting-algorithms.com позволяет увидеть, как сортируются данные разными алгоритмами. Вы сможете посмотреть анимацию в зависимости от алгоритма, исходных данных.



Все это бегает и сортируется прямо на ваших глазах!

Работает на Google App Engine, видимо, поэтому и лежит от посетителей с «Хабра».

Полнофункциональный RDP клиент — FreeRDP

Reading time3 min
Views426K
Не секрет, что в современном мире без продуктов Microsoft практически не обойтись. Однако во многих случаях получается так, что гораздо эффективней использовать на рабочих компьютерах системы на базе GNU/Linux, а не Windows. Это значительно упрощает администрирование и сокращает расходы, предоставляя при этом пользователям гораздо больше легкодоступного функционала. Но что делать с теми приложениями, которые работают только под Windows и которым нет подходящего аналога в мире Linux? Поскольку обычно таких приложений единицы (иначе просто нету смысла ставить Linux на рабочий компьютер), то разумным выбором может стать использование терминальных серверов, работающих под серверными ОС от Microsoft. Кроме того, Linux лучше всего подходит для любых тонких клиентов, поскольку адекватных версий Windows для них просто не существует.

В любом случае необходимо уметь подключаться к терминальным серверам Windows. Для этого в MS был разработан свой протокол удалённого рабочего стола — RDP. Однако до недавнего времени для Linux существовал единственный открытый клиент для работы с этим протоколом — rdesktop. К сожалению, его развитие давно остановилось, и он испытывает огромные трудности при взаимодействии с современными версиями Windows.

Но недавно тихо и незаметно проект rdesktop был форкнут, в результате чего на свет появился новый открытый RDP клиент — FreeRDP. Первый же релиз этой программы разом исправил большинство известных проблем rdesktop, и проект продолжает активно развиваться. Почему-то появление столь полезного приложение обошли вниманием, поэтому я и решил опубликовать этот пост, чтобы хоть как-то исправить эту ситуацию и рассказать всем о существовании нормального RDP клиента для Linux. Под катом — описание возможностей FreeRDP и немного про отличную графическую оболочку Remmina для него.

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

Почему Git

Reading time8 min
Views69K
Было время, когда я ничего не знал про VCS, ни что это такое, ни тем более зачем это мне. И верхом своих достижений считал папочку с архивами версий. К моменту осознания необходимости системы контроля версий я уже набил шишек и прочувствовал необходимость такого инструмента. Но борландовский аналог CVS меня не впечатлил. У каждого файла свой номер версии. Как мне получить срез определенного релиза я так и не разобрался. А в это время SVN победоносно шла сквозь умы разработчиков. Черт, это было то, чего мне так не хватало. Прочитав доку и начав работать я просто влюбился в нее. Да, были трудности и определенные неудобства, но куда без них.
Так я и работал бы в SVN, но ничего не стоит на месте. В интернете уже потекли тонкие ручейки новостей про Git. Я не кидаюсь за каждой новой технологией, и прошло уже достаточно много времени, пока мне не прожужжали этим Git’ом все мозги. Мне стало любопытно, я вначале присматривался, примерялся, а потом плюнул и начал новый проект на Git. Мучался с ребятами 2 недели, накачал литературы, написал шпаргалку… ничего, привыкли, … а потом меня поперло.

Теперь меня регулярно просят рассказать про Git и что в нем такого. Уже надоело, поэтому этот пост для тех, кто еще сомневается.
Читать дальше →

Цифровой замок на комнату

Reading time1 min
Views3.1K
Вот и пришла осень. Листья меняют цвет, на улице становится холоднее и маленькие хакеры отправились на учебу. А это значит, что мы увидим много новых замков для комнат.



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

Debian штуки — apt-mirror

Reading time1 min
Views8.4K
Очередной пост, посвящённый полезным утилитам. из состава Debian =)) На этот раз хочется вспомнить про программу apt-mirror, которая позволяет не много не мало, а создавать свои собственные зеркала Debian репозитариев с ежедневным обновлением онных.

Зачем это может понадобиться, мне даже не нужно говорить, так как все знают, что в локальной сети предприятия или какого-нибудь села/дома легче сделать общее зеркало со срезом репозитария, чем нагружать Интернет-канал каждый раз, когда некоторый индивид использующий на своём рабочем месте Debian GNU/Linux захочет обновиться до более свежей версии.

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

Идеальный эксперт или гороскопы на службе ERP

Reading time2 min
Views2K
А вы пробовали когда-то делать системный анализ гороскопов? Я пробовал и нашел, что все эти советы дает Капитан Очевидность и они носят универсально-рекомендательный характер.
Например: Хабролюдям сегодня стоит приложить усилия для успешного завершения начатого дела, это может принести успех, но остерегайтесь возможных ДТП, особенно после обеда.

Разберем этот пример. В пятницу очень хорошо закончить запланированный этап работы, чтоб отдыхать со спокойной совестью. А вести себя внимательно на дорогах — это актуально всегда.

Так вот, однажды один владелец крупной компании захотел себе ERP. Но не простую, как у всех, а которая реально помогает управлять предприятием. Вводишь в нее цифры — а она говорит тебе, что надо сделать.

Казалось бы, идея не реальная, но… Я вспомнил за программу генерации гороскопов. Только вместо дней недели меня интересовала дисперсия по введенным числам, а точнее говоря — прибыль (или убыток) компании на этап ввода данных.
Читать дальше →

HDR видео с помощью двух 5D Mark II

Reading time1 min
Views7.1K
От переводчика: Поясню, почему мне этот топик интересен. Во-первых, я сам когда-то занимался HDR фотографией. А во-вторых, когда зеркалки стали снимать видео, я был поражен, как одна профессиональная фуллфреймовая зеркалка с набором хороших линз может порвать профессиональные видеокамеры. Теперь это объединили: двумя зеркалками сняли видео, и сделали из этого HDR. Мне кажется, это достойно того, чтобы перевести и показать вам...

image
Давайте посмотрим, что из этого получилось...

Какой лучший возраст для программиста?

Reading time2 min
Views60K
В массовом сознании давно укоренилось, что программирование — это работа для молодых. Честно говоря, я сам так считал до совсем недавнего времени. Исходил я, при этом, из предположения, что молодые люди легче учатся, быстрее и лучше думают и, поэтому, в большей степени подходят для решения алгоритмических задач. Мне казалось, что с возрастом мозг работает хуже, память ухудшается, нейроны вроде не восстанавливаются, а способность к быстрому обучению падает. Правда, меня смущало то, что на своем собственном опыте я убеждался как раз в обратном: сейчас, в 42 года, я определенно думаю лучше, чем в 20 лет.

Недавно прочтенная статья заставила меня кардинально изменить взгляды.

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

Information

Rating
Does not participate
Location
Гомельская обл., Беларусь
Registered
Activity