Pull to refresh
34
0
Антон @pushist1y

User

Send message

Наполовину пустой стакан

Reading time4 min
Views8.3K
На Хабре уже упоминалась новая рубрика What if Рендела Манро (xkcd). Каждый вторник он отвечает на разные дурацкие вопросы читателей с точки зрения законов физики. Ниже перевод одного из выпусков.

Что, если внезапно стакан станет буквально наполовину пустым?
—Витторио Иаковелла


Как выяснится далее, пессимист в данном случае окажется прав. Когда говорят «стакан наполовину пуст» обычно имеют ввиду, что стакан содержит поровну воды и воздуха.

Считается, что оптимисту стакан кажется наполовину полным, тогда как пессимист находит его наполовину пустым. Эта притча породила целую кучу шутливых вариаций (инженер видит стакан, который спроектирован с двукратным запасом емкости; сюрреалист видит жирафа, жующего галстук и т.п.)
Читать дальше →
Total votes 173: ↑162 and ↓11+151
Comments59

Установка VNC-сервера на VDS и рекомендации по тюнингу

Reading time13 min
Views83K
Данное руководство ориентировано на виртуальные серверы (VDS/VPS), доступ к которым осуществляется по VNC через интернет. Это задает основные приоритеты — экономное использования ресурсов сервера и работа по недостаточно быстрому каналу. В качестве базовой системы, на которую выполняется установка, используется минимальная инсталляция Ubuntu 9.10. С небольшими изменениями это руководство применимо к другим дистрибутивам Linux и операционным системам семейства Unix, а также для настройки VNC на обычных выделенных серверах и на серверах в локальной сети.

* Способы организации работы VNC-серверов
** Встроенный VNC-сервер в эмуляторах аппаратного обеспечение (Xen/HVM, VMWare, Qemu)
** VNC-сервер, привязанный к работающему X-серверу (GNOME vino)
** VNC-сервер с встроенным X-сервером
*** VNC-сервер, запускаемый вручную
*** VNC-сервер, запускаемый в режиме демона
*** VNC-сервер, запускаемый через inetd
* Выбор VNC-сервера
* Тюнинг сервера
** Тюнинг десктопа
** Опции VNC-сервера
Читать дальше →
Total votes 8: ↑7 and ↓1+6
Comments11

Как распознать кракозябры?

Reading time1 min
Views429K
В комментариях к предыдущему посту про иероглифы сказали, что хорошо бы иметь такую же блок-схему для кракозябр.

Итак, вуаля!


За источник информации была взята статья из вики. В блок-схеме «UTF-16 → CP 866» означает, что исходная кодировка была «UTF-16», а распозналась она как «CP 866».

Как всегда — кликабельно. Исходник в .docx: здесь.
Total votes 429: ↑418 and ↓11+407
Comments64

Удаленное управление сеансом пользователя windows стандартными средствами

Reading time3 min
Views308K
Однажды мне захотелось управлять одним из домашних компьютеров удаленно, но при этом взаимодействовать с текущим пользователем, но компьютер был довольно слабый и при запуске например TeamViewer’а нагрузка процессора поднималась до 98% и компьютер начинал заметно тормозить. Попробовал стандартный RDP, но тогда «выбивался» текущий пользователь и для входа локально приходилось набивать пароль. Но чуть позже мне случайно попалась команда shadow.
Читать дальше →
Total votes 77: ↑72 and ↓5+67
Comments41

Коаны о программировании

Reading time4 min
Views36K
От переводчика: The Codeless Code — сборник побасенок о философии программирования. Побасенки в сборнике разные — некоторые весьма кровожадные, некоторые достаточно хардкорные с технической точки зрения (родной язык автора — Java), но встречаются очень емкие. Представляю вам перевод семи наиболее полюбившихся мне историй, остальные 30+ (новые добавляются каждую неделю) можно найти на сайте.

Пустяк


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

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

Мастер ответил: «Здесь есть изъян, и я размышляю, как лучше его исправить.»
Читать дальше →
Total votes 253: ↑240 and ↓13+227
Comments74

Файервол для Linux с простым интерфейсом

Reading time4 min
Views21K
Файервол представляет из себя bash-скрипт, который интегрирует с помощью соответствующих пакетов следующие функции:
  1. Файервол внешний и внутренний (пакет iptables).
  2. Учёт трафика внешнего и внутреннего (пакет iptables).
  3. Прокси-сервер для локальных сетей (пакет Squid).
  4. Контент-фильтр для локальных сетей (пакет DansGuardian).
  5. DNS-сервер для локальных сетей (пакет BIND).

Читать дальше →
Total votes 56: ↑48 and ↓8+40
Comments35

Крадущийся тигр, затаившийся дракон

Reading time8 min
Views34K
Java vs. C#… Что может быть лучше вечного спора? Нет, данная статья не посвящена очередному бенчмарку, и даже не является holy war, не стоит даже вопрос: «кто круче».

Для каждой задачи существует свой инструмент. Сравнивать C# и Ruby, например, не имеет смысла, т.к. их целевое предназначение совершенно разное, да и природа также. Однако именно C# и Java являются наиболее близкими по своей философии.

Очень часто коллеги, пишущие на Java, даже не подозревают о многих (!!!) вещах, которые предоставляет (или, наоборот не предоставляет) C#.

Если Вам интересно посмотреть на C# и Java без субъективизма, а также узнать внутреннее устройство той или иной возможности, тогда вперед.
Читать дальше →
Total votes 200: ↑129 and ↓71+58
Comments194

Защита для NGINX — NAXSI

Reading time3 min
Views38K

Что такое NAXSI ?


NAXSI = NGINX ANTI XSS & SQL INJECTION
Проще говоря, это файрвол веб-приложений (WAF) для NGINX, помогающий в защите от XSS, SQL-инъекций, CSRF, Local & Remote file inclusions.
Отличительными особенностями его являются быстрота работы и простота настройки. Это делает его хорошей альтернативой например mod_security и апачу.

Зачем нужен NAXSI ?

Очевидно, лучше всего защищаться от вышеперечисленных атак правильно написанным кодом. Но есть ситуации, когда WAF (и в частности naxsi), поможет:
  • Низкое качество кода сайта, при отсутствии возможности/ресурсов все выкинуть и переписать нормально.
  • “Закрытый” код, в котором невозможно исправить ошибки.
  • Неизвестное качество кода в важном для бизнеса участке.


Читать дальше →
Total votes 102: ↑100 and ↓2+98
Comments60

Переезд проекта с SVN на Git

Reading time8 min
Views72K
image
Много лет подряд в качестве системы контроля версий для большого количества проектов использовали только SVN. Но наступил момент, когда количество разработчиков на одном из проектов заметно увеличилось, проект уже запущен в работу, и нужно как активно разрабатывать параллельно несколько фич, так и фиксить уже имеющиеся баги в оперативном режиме. Единый trunk в SVN не позволяет этого делать, а организация бранчей в нем же превращает жизнь разработчиков в ад. Поэтому было принято решение о переезде этого проекта с SVN на Git.
Читать дальше о том, как это делается от А до Я
Total votes 119: ↑113 and ↓6+107
Comments51

SQL Server 2012 — что нового для разработчика?

Reading time3 min
Views38K
1 апреля 2012 г. стала доступна финальная версия Microsoft SQL Server 2012.
В новой версии появилось большое количество нововведений.
В данной статье я хотел бы подробнее остановиться на обзоре ряда новшеств для разработчика баз данных.
Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments32

Android. Обзор боевых приложений

Reading time2 min
Views321K
Доброго времени суток!

Наряду со статьей "iPhone: MiTM атака из кармана", родилась почти аналогичная статья про Android.

Мы уже знаем, на что способен iPhone. Уступает ли ему Android?

Было рассмотрено около 25 боевых приложений. Хочу предоставить вам результат маленького исследования. Многие приложения даже не запустились, некоторые подвесили телефон намертво, но некоторые даже работали!

Весь софт тестировался на телефоне LG Optimus, с версией Android 2.3.

Итак, краткий обзор боевого софта на Android:

Читать дальше →
Total votes 255: ↑238 and ↓17+221
Comments49

В комнате с белым потолком

Reading time4 min
Views9.5K
С вирусами стало сложно. С эксплойтами сложно. Антивиры помогают конечно, но машину грузят, да и надежность срабатывания не позволяет расслабиться. Но это еще ладно, вирусы это внешние факторы. А сама операционка? Раздел winsxs почистить невозможно (я нашел всего одну полурабочую тулзу) растет он по 1 гигу в месяц и размер его ввиду сплошных ссылок — сплошное же вранье. Реестр полон грязи от всевозможных левых, полулевых и очень даже правых программ. И качественно зачистить его тоже никто не может.

Однажды я понял, что лучше не будет, это технология. Регулярные чистки не помогают, антивирусы молчат. Пришлось искать другой выход. С год назад выход был установлен и опробован. Тоже, в общем технология, одним действием дело не ограничивается. Но один раз настроив — таки да можно реально расслабиться. Ничего принципиально нового, у меня просто хватило терпения довести дело до конца. Дальше — описание.
Читать дальше →
Total votes 101: ↑73 and ↓28+45
Comments130

Я медленно удаляю apache с сервера

Reading time13 min
Views54K
image
Есть у меня серверок (да, да, именно серверок, сервером его назвать сложно). Железо старенькое (2 гига оперативы, AMD Athlon(tm) 64 Processor 3500+, програмный RAID). Админю я его сам, без особых навыков и познаний. Когда-то давным давно (больше года назад) поставил на него Debian 5.0 Lenny (это была вторая в жизни установка linux-системы, до этого ставил только Ubuntu на рабочий ноутбук) и панель управления ISPConfig3 по мануалу. Держу на нем несколько (штук 40) сайтов друзей и клиентов, Redmine, SVN и еще немного по мелочам.
Периодически все это безобразие падает (load average > 20), и приходится на сервере раз в пару часов перегружать apache или высасывать из пальца очередную попытку оптимизации. В общем полный раздрай и разруха. И вот в одну прекрасную субботу я подумал — а почему бы не решить вопрос раз и… И вот в общем.
Под катом — история убитых выходных + предыстория. Интересна в первую очередь мне, чтобы потом легко вспомнить что именно и зачем я ставил. Может быть интересна новичкам в интересном и нелегком (ох, ...) деле серверной оптимизации постепенным(!) переводом сайтов из-под Apache c его ModRewrite под Nginx (кстати, правильно это слово читается «энжинкс»меня поправили, Сысоев на конференциях не раз говорил, что название сервера стоит читать, как «энжин-икс», спасибо bayandin и DorBer ). Возможно, будет интересна более-менее опытным товарищам, оказавшимся в тех же условиях (Debian Lenny, ISPConfig3, слабое железо, несколько хороших, не сильно хороших и разных сайтов). И более опытным может быть интересно зайти, оставить пару комментариев.
Если интересно - нажмите сюда, если нет - нажмите звездочку ниже
Total votes 167: ↑137 and ↓30+107
Comments184

Опыт использования GPU для финансового моделирования

Reading time5 min
Views8.3K
В этой статье я вкратце описываю свой опыт оптимизации одной задачи перебора, начиная от однопроцессорного алгоритма к многопроцессорному и к версии на OpenCL.



Читать дальше →
Total votes 103: ↑97 and ↓6+91
Comments39

RubyMonk — уроки Руби от Монаха

Reading time1 min
Views4.6K
rubymonk

Вышла альфа версия онлайн уроков по Руби — RubyMonk. Пока что это 46 заданий, которые охватывают работу со строками, массивами и циклами. Сделано все красиво и удобно, работает в стиле подобного сервиса Rails For Zombies
Все бесплатно, зайти можно через аккаунт на Твиттере или ГитХабе: rubymonk.com
Total votes 53: ↑50 and ↓3+47
Comments18

«Слабо загрузить 40 ядер?» или простой конкурс параллельного программирования Acceler8 2011

Reading time3 min
Views17K
Продолжая неделю высказывания мнений о высшем образовании на Хабре, расскажу о конкурсе, который находится где-то посередине, между работой (так отрицаемой уважаемым AlexanderLarin) и умением учиться (так продвигаемым хабрапользователем Alexnn).
Конкурс параллельного программирования Acceler8 2011
А расскажу я о конкурсе параллельного программирования Acceler8. Да, это конкурс, в котором есть возможность не только научиться, но и заработать один из «небольших» призов: 2 мощных лэптопа HP и 10 нетбуков Asus.
Хотите попробовать свои силы?
Добро пожаловать под кат.
Total votes 35: ↑32 and ↓3+29
Comments31

has_many :through => Как быстро обратиться к join-объектам?

Reading time3 min
Views7.2K
Вы знаете, что когда требуется организовать many-to-many отношения между двумя моделями, прогрессивная часть человечества применяет join-таблицы и метод has_many с опцией :through => :join_model_name. Каждая связь между двумя ActiveRecord-объектами представляет собой ActiveRecord-объект.

И это чудесно, ибо в join-таблице можно насоздавать полезных (так называемых «extra») полей с дополнительной информацией о связях между объектами.

Вопрос в том, как красиво достучаться до этих extra атрибутов.

Все скринкасты и книжки, как назло, оперируют простыми примерами. Например, дружат между собой модели Article и Category. Само собой, для join-класса интуитивно напрашивается имя Categorization или ArticleCategorization.

has_many through

Соответственно, если у нас есть два объекта — article и category, и мы хотим найти AR-объект (или объекты), олицетворяющий связь между ними, то авторы книжек с чистым сердцем предлагают делать так:

relations = article.article_categorizations.find_by_category_id(category)


В жизни все сложнее. Модели нередко имеют длинные составные имена, либо между моделями такая связь, что придумывание имени для каждой join-модели превращается в маленькую пытку. Представим, что у нас модели не Article и Category, а UserGroup и Community, или Preorder и CustomerNotification. Как должна называться связующая модель? Возможны варианты.

Читать дальше →
Total votes 36: ↑32 and ↓4+28
Comments11

Введение в IBM DB2

Reading time4 min
Views43K
По работе пришлось в течение некоторого времени разбираться с СУБД IBM DB2. Т.к. система коммерческая, то в интернете не так много информации на русском языке, поэтому решил описать некоторые особенности работы этой СУБД.

Читать дальше →
Total votes 39: ↑32 and ↓7+25
Comments6

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity