Как стать автором
Обновить
0
0
Константин @stan3w

Пользователь

Отправить сообщение

Я дойду

Время на прочтение3 мин
Количество просмотров69K
— Да, милая, я тебя тоже люблю.
Пальцы автоматически нажимают хоткей отправки сообщения. Я тру уставшие глаза, в которые неизвестный злой волшебник насыпал песка. Уже почти сутки без сна, надо выделить себе 4 часа. Это — мой цикл. Пять, шесть, семь часов — для меня самоубийство, я встану уставшим, недовольным, а значит, неэффективным. Следующая цифра — восемь, но это слишком много. Так что только 4 часа сна.
Прогресс-бар, дергаясь, словно в конвульсиях, дополз до правой границы, уперся в нее и исчез.
Я привычно лезу в лог отправки сообщений. Отклонений, вроде, нет. Четыре слоя шифрования, для скольких… для где-то тридцати символов. Надо будет до конца недели закончить скрипт-анализатор, а то вручную просматривать… бред.
Читать дальше →
Всего голосов 267: ↑188 и ↓79+109
Комментарии98

Температура цвета

Время на прочтение10 мин
Количество просмотров378K
image
По нашим психологическим ощущениям цвета бывают тёплыми и горячими, бывают холодными и очень холодными. На самом деле все цвета горячие, очень горячие, ведь у каждого цвета есть своя температура и она очень высокая.
Читать дальше →
Всего голосов 192: ↑174 и ↓18+156
Комментарии65

Порнография с точки зрения эволюционной психологии

Время на прочтение14 мин
Количество просмотров66K
Данный топик был написан по следам бурных обсуждений на Хабре ряда новостей, так или иначе связанных с порно (раз, два, три, четыре). В этих и подобных топиках подымается тема цензурирования интернета и запрета порнографии вообще либо отдельных её жанров. Хотя хабрасообщество в целом довольно либерально относится к порно, обсуждение влияния его на психику — особенно детскую — выливается обычно в нешуточные драмы (самая серьёзная, на моей памяти, была тут).

Между тем, сколько-нибудь заслуживающих доверия данных о влиянии порнографии на общественное и личное здоровье в этих обсуждениях нет; более того, мои попытки по-быстрому найти какие-то вменяемые данные в интернете не увенчались успехом. В поисках ответов на вопросы мне пришлось погрузиться довольно глубоко в научные исследования, и кое-что я в итоге нашёл. Краткий синопсис современных научных взглядов на порнографию и её влияние на человека будет дан под катом после небольшого FAQ'а.

Вопрос: картинки будут?
Ответ: будут.

Вопрос: какое отношение этот топик имеет к Хабру?
Ответ: он интересен читателям Хабра.

Вопрос: нет, всё-таки, какое отношение имеет топик к тематике Хабра?
Ответ: никакого; просто я считаю, что Хабр — это, прежде всего, определённая аудитория, а не тематика.

Вопрос: почему в блог «Интернет»?
Ответ: потому что Internet is for porn.

Если Вам не исполнилось 18 лет, под кат лучше не ходить
Всего голосов 528: ↑476 и ↓52+424
Комментарии343

Разработка привлекательных реалистичных пользовательских интерфейсов

Время на прочтение4 мин
Количество просмотров15K
Cекрет разработки привлекательных интерфейсов заключается в реализме. Ваша задача — придать плоским элементам объём, используя свойства реальных объектов, вроде неровностей и шероховатостей, бликов и теней, различных текстур поверхностей. В идеале они должны выглядеть как предметы на вашем столе. Создавая классный интерфейс, в первую очередь нужно думать не «как», а «почему».
Читать дальше →
Всего голосов 212: ↑205 и ↓7+198
Комментарии49

How-to install gitosis (мануал с учётом проблем возникающих при установке) + интеграция в redmine

Время на прочтение6 мин
Количество просмотров4.3K

gitosis — программное обеспечение для хостинга Git репозиториев


image

Установка:


Появился скрипт авто установки пока тестируется
sudo apt-get install python-setuptools git-core -y
mkdir ~/src
cd ~/src
git clone git://github.com/sc0rp1us/gitosis-tools.git
cd gitosis-tools/gitautoinstall
sudo bash main

Дальше следуем инструкциям скрипта


Но вернёмся к статье
Для начала установим необходимые компоненты для запуска gitosis:
  • Для debian & ubuntu выполните следующие команды от пользователя root

apt-get update
apt-get upgrade
apt-get install python-setuptools git-core -y
cd ~/src
git clone git://eagain.net/gitosis.git
cd gitosis
python setup.py install



Далее зайдём в учётную запись через которую будем управлять gitosis'om (назовём её gitadmin), выгрузим дистрибутив и установим его

Настройка:


Теперь нам нужно будет создать пользователя который будет владеть хранилищем(имя может быть любым, но я предпочитаю использовать просто git), к тому же на одном сервере может быть несколько аккаунтов владеющих хранилищами, такому аккаунту не нужен пароль, но необходим действующий shell иначе SSH откажется с ним работать:
P.S. вы конечно можете использовать уже существующую учётную запись, но по соображениям безопасности, крайне не рекомендуется этого делать
Читать дальше →
Всего голосов 15: ↑9 и ↓6+3
Комментарии7

Как создать свое первое приложение для iPhone

Время на прочтение11 мин
Количество просмотров4.4K
Что если бы вам давали по рублю каждый раз, когда вы слышите выражение «У меня отличная идея для нового приложения”. Сейчас все говорят об одном и том же. iPhone создало беспрецедентное нововведение для людей как в обществе программистов так и вне. И для тех, кто находится вне среды разработки, этот процесс остается загадкой.

Это руководство предназначено для ознакомления вас с процессом разработки приложений для iPhone, от идеи до реализации и выхода на рынок. Этот топик представляет разные идеи, методы, советы и ресурсы, которые понадобятся, если вы собираетесь создать свое первое приложение для iPhone.

1. Есть хорошая идея?


Как же узнать – хорошая ли у вас идея или нет? Первый шаг: насколько цельна идея. Шаг второй: ответьте на вопрос – имеет ли она хоть один показатель успеха?

image

Решает ли ваше приложение уникальную проблему? До того как лампочка была изобретена, кто то должен был крикнуть «Эй, омерзительно трудно читать под светом свечи!”. Разберитесь что делать сейчас «омерзительно” трудно и как ваше приложение может сделать более комфортным жизнь тех людей, которые его будут использовать.

Dog Tricks

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

Do Not Press

Заставляет ли людей хохотать? Это не поддается прогнозам. Если вы можете придумать что нибудь смешное, вы несомненно на верном пути и ваша идея может стать золотой. Вчера я нажимал красную кнопки «не нажимать” в течении 5-и минут.

Wine PhD

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

Popper

Будет ли приложение интерактивным? Давайте посмотрим правде в глаза, многим из нас нравятся именно такие приложения. Удачные игры и приложения привлекают пользователей именно требованием действий!



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

Читать дальше →
Всего голосов 38: ↑27 и ↓11+16
Комментарии16

Памятка по оптимизации PNG

Время на прочтение1 мин
Количество просмотров3K
4 совета по оптимизации изображений в формате PNG для пользователей Gimp. Будет полезно начинающим верстальщикам.

Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии37

Что нам стоит док настроить

Время на прочтение2 мин
Количество просмотров5.4K
Существует много программ позволяющих настроить док, добавить или изменить его функциональность и т.д и т.п. Лично меня из всего предлагаемого разнообразия интересовало всего несколько конкретных вещей:
  • Запрет на изменение расположения иконок в доке (ну а когда надо, быстрая отмена такого запрета).
  • Запрет на изменение размера дока (подобрать оптимальный и зафиксировать).
  • Добавление в док разделителей для визуального выделения приложений в группы.

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

Читать дальше →
Всего голосов 33: ↑22 и ↓11+11
Комментарии14

Шпаргалка по шаблонам проектирования

Время на прочтение2 мин
Количество просмотров1.4M

Перевод pdf файла с сайта http://www.mcdonaldland.info/ с описанием 23-х шаблонов проектирования GOF. Каждый пункт содержит [очень] короткое описание паттерна и UML-диаграмму. Сама шпаргалка доступна в pdf, в виде двух png файлов (как в оригинале), и в виде 23-х отдельных частей изображений. Для самых нетерпеливых — все файлы в конце статьи.

Под катом — много картинок.

Читать дальше →
Всего голосов 192: ↑179 и ↓13+166
Комментарии66

«Инструментарий системного администратора» или «Как мы работаем»

Время на прочтение7 мин
Количество просмотров75K
Как работают системные администраторы, что используют в своем повседневном труде, какие утилиты облегчают нам жизнь?
Мы постараемся вкратце ответить на эти вопросы и описать, как устроена наша работа.

Итак, что в принципе, должен делать (уметь делать) системный администратор:
Устанавливать/обновлять/удалять ПО
Настройку ПО
Планировать работы
Документировать
Мониторить состояние ИТ-систем
Диагностировать и поддерживать ИТ-системы
Резервное копирование/архивацию ПО и данных

Для всего этого есть немало различного ПО, постараемся описать все самое необходимое.
Читать дальше →
Всего голосов 58: ↑35 и ↓23+12
Комментарии37

Перевод учебника по алгоритмам

Время на прочтение1 мин
Количество просмотров166K


Рад сообщить, что вышел перевод отличнейшего учебника Дасгупты, Пападимитриу, Вазирани «Алгоритмы», над которым я работал последние несколько лет. В книге многие алгоритмы объяснены гораздо короче и проще, чем в других учебниках: с одной стороны, без излишнего формализа, с другой — без потери математической строгости. Откройте книгу на каком-нибудь известном вам алгоритме и убедитесь в этом. =)

В общем, угощайтесь: печатный вариант перевода, электронный вариант перевода (PDF), печатный вариант оригинала, электронный вариант оригинала (PDF).
Читать дальше →
Всего голосов 323: ↑321 и ↓2+319
Комментарии109

Обращение не ASCII-строки

Время на прочтение3 мин
Количество просмотров18K
Если вы знаете, что такое ICU, то, вероятно, вы не узнаете из этого поста ничего нового.

    Порой приходится слышать от товарищей, что на собеседовании их просили написать код, который бы обращал строку. И даже в Cracking the Coding Interview это второй вопрос в тестах. Однако, правильное, с моей точки зрения, решение выходит далеко за рамки библиотечного вызова или одного цикла while.
Читать дальше →
Всего голосов 42: ↑35 и ↓7+28
Комментарии28

Курс лекций «Стартап». Питер Тиль. Стенфорд 2012. Занятие 1

Время на прочтение11 мин
Количество просмотров720K

Этой весной, Питер Тиль (Peter Thiel), один из основателей PayPal и первый инвестор FaceBook, провел курс в Стенфорде — «Стартап». Перед началом Тиль заявил: «Если я сделаю свою работу правильно, это будет последний предмет, который вам придется изучать».

Один из студентов лекции записывал и выложил транскипт. В данном хабратопике я делаю перевод первого занятия. Если пост покажется стоящим — продолжу переводить и выкладывать.

Конспект лекций — Питер Тиль (курс: CS183) Стартап — Стэнфорд, весна 2012 г.


Занятие 1: Вызов будущего
Занятие 2: Снова как в 1999?
Занятие 3: Системы ценностей
Занятие 4: Преимущество последнего хода
Занятие 5: Механика мафии
Занятие 6: Закон Тиля
Занятие 7: Следуйте за деньгами
Занятие 8: Презентация идеи (питч)
Занятие 9: Все готово, а придут ли они?
Занятие 10: После Web 2.0
Занятие 11: Секреты
Занятие 12: Война и мир
Занятие 13: Вы — не лотерейный билет
Занятие 14: Экология как мировоззрение
Занятие 15: Назад в будущее
Занятие 16: Разбираясь в себе
Занятие 17: Глубокие мысли
Занятие 18: Основатель — жертва или бог
Занятие 19: Стагнация или сингулярность?
Читать дальше →
Всего голосов 86: ↑76 и ↓10+66
Комментарии33

Байес

Время на прочтение3 мин
Количество просмотров98K
В левой руке Морфеуса лежит 7 синих и 3 красных таблетки, а в правой 5 синих и 8 красных. Вы закрываете глаза и берете таблетку — она оказывается красной, однако вы не знаете из какой руки ее взяли. Какова вероятность, что вы взяли ее из правой руки?


image

17 апреля 1761 — день смерти Томаса Байеса.
Под катом результаты того, что есть в рунете, помимо стандартных вещей типа Теорема Байеса, Байесовская сеть, Наивный байесовский классификатор , Байесовская фильтрация спама
Читать дальше →
Всего голосов 102: ↑94 и ↓8+86
Комментарии38

Организация многозадачности в ядре ОС

Время на прочтение22 мин
Количество просмотров79K
Волею судеб мне довелось разбираться с организацией многозадачности, точнее псевдо-многозадачности, поскольку задачи делят время на одном ядре процессора. Я уже несколько раз встречала на хабре статьи по данной теме, и мне показалось, что данная тема сообществу интересна, поэтому я позволю себе внести свою скромную лепту в освещение данного вопроса.
Сначала я попытаюсь рассказать о типах многозадачности (кооперативной и вытесняющей). Затем перейду к принципам планирования для вытесняющей многозадачности. Рассказ рассчитан скорее на начинающего читателя, который хочет разобраться, как работает многозадачность на уровне ядра ОС. Но поскольку все будет сопровождаться примерами, которые можно скомпилировать, запустить, и с которыми при желании можно поиграться, то, возможно, статья заинтересует и тех, кто уже знаком с теорией, но никогда не пробовал планировщик “на вкус”. Кому лень читать, может сразу перейти к изучению кода, поскольку код примеров будет взят из нашего проекта.
Ну, и многопоточные котики для привлечения внимания.

Читать дальше →
Всего голосов 92: ↑92 и ↓0+92
Комментарии19

«Что такое доказательство?»: взгляд из теоретической информатики

Время на прочтение12 мин
Количество просмотров23K
Теоретическая информатика — одно из направлений обучения на кафедре Математических и информационные технологий Академического университета. Нас часто спрашивают, чем занимается теоретическая информатика. Теоретическая информатика — активно развивающееся научное направление, включающее в себя как фундаментальные области: алгоритмы, сложность вычислений, криптография, теория информации, теория кодирования, алгоритмическая теория игр, так и более прикладные: искусственный интеллект, машинное обучение, семантика языков программирования, верификация, автоматическое доказательство теорем и многое другое. Эту статью мы посвятим обзору лишь небольшого сюжета, а именно расскажем о необычных подходах к понятию доказательства, которые рассматривает теоретическая информатика.



Чтобы объяснить, о какого рода доказательствах пойдет речь, рассмотрим пример: есть компьютерная программа, авторы которой утверждают, что программа делает что-то определенное (конкретные примеры будут чуть позже). Программу можно запустить и получить ответ. А как можно удостовериться, что программа делает то, что должна делать? Хорошо бы, если кроме ответа программа выдавала бы доказательство того, что этот ответ правильный.

Рассмотрим более конкретный пример: мы хотим иметь программу, которая в двудольном графе находит паросочетание максимального размера вместе с доказательством его максимальности.



Напомним, что граф называется двудольным, если его вершины можно покрасить в два цвета так, что ребра графа соединяют вершины разных цветов. Паросочетанием в графе называется такое множество ребер, что никакие два из них не имеют общего конца. Множество вершин графа называется покрывающим, если каждое ребро графа имеет как минимум один конец в этом множестве. Теорема Кенига гласит, что в двудольном графе размер максимального паросочетания совпадает с размером минимального покрывающего множества. Таким образом, чтобы доказать, что паросочетание является максимальным, можно предъявить, покрывающее множество, размер которого совпадает с размером данного паросочетания. Действительно, это покрывающее множество будет минимальным, поскольку каждое покрывающее множество обязано покрыть хотя бы один конец каждого ребра этого паросочетания. Например, в графе на рисунке паросочетание (M1, G3), (M2, G2), (M4,G1) будет максимальным, поскольку есть покрывающее множество размера 3, которое состоит из G2, G3 и M4. Отметим, что проверить такое доказательство гораздо проще, чем вычислять максимальное паросочетание: достаточно проверить, что размер паросочетания совпадает с размером покрывающего множества и проверить, что все ребра покрыты.

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



Как можно доказать правильность результата? Если система совместна, то доказательством совместности может стать решение этой системы (нетрудно доказать, что если у такой системы есть решение, то есть и рациональное решение, т.е. его можно записать). А как доказать, что система несовместна? Оказывается, что это сделать можно с помощью леммы Фаркаша, которая утверждает, что если система нестрогих линейных неравенств несовместна, то можно сложить эти неравенства с неотрицательными коэффициентами и получить противоречивое неравенство 0≥1. Например, система на рисунке несовместна, и если сложить первое уравнение с коэффициентом 1, второе с коэффициентом 2, а третье с коэффициентом 1, то получится 0≥1. Доказательством несовместности будет как раз набор неотрицательных коэффициентов.

В этой статье мы поговорим о том, нужны ли доказательства, или проверка доказательства всегда не проще, чем самостоятельное решение задачи. (В примере про максимальное паросочетание мы не доказали, что не существует алгоритма, решающего задачу за то же время, сколько занимает проверка доказательства.) Если мы не ограничиваем размер доказательства, то окажется, что доказательства нужны, а если будем требовать, чтобы доказательства были короткими, то вопрос о нужности доказательств эквивалентен важнейшему открытому вопросу о равенстве классов P и NP. Потом мы поговорим об интерактивных доказательствах (доказательства в диалоге). Обсудим криптографические доказательства, которые не разглашают лишнюю информацию, кроме верности доказываемого утверждения. И закончим обсуждением вероятностно проверяемых доказательств и знаменитой PCP-теоремы, которая используется для доказательства трудности приближения оптимизационных задач.

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

Читать дальше →
Всего голосов 49: ↑46 и ↓3+43
Комментарии11

Парсинг формул в 40 строк

Время на прочтение2 мин
Количество просмотров38K
Иногда бывает интересно взять какую небольшую задачку(по типу тех, что дают на собеседованиях) и найти для нее необычное решение.
В этот раз такой это стала задача от Яндекса. В самом посте и в комментариях было предложено несколько вариантов решения, темой этого топика станет поиск короткого решения в функциональном стиле.
Читать дальше →
Всего голосов 48: ↑44 и ↓4+40
Комментарии27

Знаете ли Вы массивы?

Время на прочтение5 мин
Количество просмотров130K
Думаю, мало кто из готовящихся к своему первому интервью, при приеме на первую работу в должности (pre)junior программиста, ответит на этот вопрос отрицательно. Или хотя бы усомнится в положительном ответе. Конечно, такая простая структура данных с прямым доступом по индексу — никаких подвохов! Нет, в некоторых языках типа JavaScript или PHP массивы, конечно, реализованы очень интересно и по сути являются много большим чем просто массив. Но речь не об этом, а о «традиционной» реализации массивов в виде «сплошного участка памяти». В этом случае на основании индексов и размера одного элемента просто вычисляется адрес и осуществляется доступ к соответствующему значению. Что тут сложного?
Давайте разберемся
Всего голосов 118: ↑71 и ↓47+24
Комментарии178

10+ полезных jQuery сниппетов на каждый день

Время на прочтение5 мин
Количество просмотров86K


Спустя годы библиотека jQuery стала неотъемлемой частью в работе каждого web-разработчика. Ведь она простая в использовании, быстрая и имеет очень широкие возможности. В этой статье я собрал список из более чем десяти сниппетов, которые вы можете свободно брать для использования. Их очень легко адаптировать под нужды ваших собственных проектов.
Читать дальше →
Всего голосов 194: ↑109 и ↓85+24
Комментарии55

Информация

В рейтинге
Не участвует
Откуда
Королев, Москва и Московская обл., Россия
Зарегистрирован
Активность