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

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

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

Подборка полезных слайдов от Джулии Эванс

Время на прочтение1 мин
Количество просмотров52K
Перевели новую порцию слайдов. Права доступа в Unix, файловые дескрипторы, потоки, магия proc. И на закуску пара советов о том, как общаться, когда ты не согласен. А вдруг пригодятся =)



Читать дальше →
Всего голосов 115: ↑111 и ↓4+107
Комментарии42

Управление плеером Yandex.Music в OSX, используя клавиатуру без медиа клавиш

Время на прочтение2 мин
Количество просмотров30K
Недавно я принял решение развернуть в офисе на рабочем компьютере Hackintosh. Все получилось. Единственное, что мне не нравилось это отсутствие медиа клавиш на офисной клавиатуре. Ими я привык управлять музыкой, в том числе на сервисе Yandex.Music. Данная статья посвящена тому, как я исправил ситуацию.

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

Дорожная карта математических дисциплин для машинного обучения, часть 1

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

Вместо предисловия


Допустим, сидя вечерком в теплом кресле вам вдруг пришла в голову шальная мысль: «Хм, а почему бы мне вместо случайного подбора гиперпараметров модели не узнать, а почему оно всё работает?»
Читать дальше →
Всего голосов 40: ↑39 и ↓1+38
Комментарии42

Создание собственной цветовой палитры

Время на прочтение4 мин
Количество просмотров44K
Адаптировано из нашей будущей книги «Рефакторинг UI»

Видели эти модные генераторы цветовой палитры? Когда выбираешь цвет, настраиваешь несколько параметров с музыкальными словечками типа «триада» или «четвёртый мажор» — и получаете пять идеальных цветов для своего веб-сайта?



Такой вычислительный и научный подход к выбору идеальной цветовой гаммы крайне соблазнителен, но не очень полезен.
Читать дальше →
Всего голосов 94: ↑92 и ↓2+90
Комментарии12

Руководство по установке и настройке OpenVPN

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



Когда у нас появились сотрудники, работающие удаленно, пришлось думать над тем, как обеспечить им защищенный доступ к нашим хостинговым серверам, виртуальным выделенным серверам разработчиков Virtual Dedicated Server (VDS), сайтам обеспечения и сопровождения разработки и к другим ресурсам.



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



Выход нашелся довольно быстро — это использование технологии виртуальных частных сетей Virtual Private Network (VPN) и ее свободной реализации OpenVPN. Эта реализация доступна практически для всех распространенных платформ, в том числе для планшетов и смартфонов. История развития OpenVPN насчитывает уже 12 лет (компания OpenVPN Technologies, Inc. была создана Francis Dinha и James Yona в 2002 году), так что это надежное и проверенное временем решение.



В нашей компании сеть VPN позволила предоставить защищенный доступ сотрудников к VDS, играющей роль сервера OpenVPN. И уже для фиксированного IP этого сервера был разрешен доступ к другим ресурсам компании. Попутно на сервере OpenVPN был установлен прокси Squid, что решило все проблемы доступа сотрудников с динамическими IP к защищенным ресурсам компании.



Теме OpenVPN посвящены многочисленные статьи и сообщения на форумах. Тем не менее, нужную информацию мне пришлось собирать по частям из разных мест. Попутно приходилось разбираться с многочисленными терминами и технологиями. В качестве серверов OpenVPN были использованы VDS на базе FreeBSD и Debian Linux, в качестве клиентов — рабочие станции FreeBSD, Debian Linux, Ubuntu и Microsoft Windows.



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


Читать дальше →
Всего голосов 128: ↑115 и ↓13+102
Комментарии97

Kaggle и Titanic — еще одно решение задачи с помощью Python

Время на прочтение23 мин
Количество просмотров78K
Хочу поделиться опытом работы с задачей известного конкурса по машинному обучению от Kaggle. Этот конкурс позиционируется как конкурс для начинающих, а у меня как раз не было почти никакого практического опыта в этой области. Я немного знал теорию, но с реальными данными дела почти не имел и с питоном плотно не работал. В итоге, потратив пару предновогодних вечеров, набрал 0.80383 (первая четверть рейтинга).



Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Комментарии6

Простые алгебраические типы данных

Время на прочтение12 мин
Количество просмотров35K
Это шестая статья из цикла «Теория категорий для программистов». Предыдущие статьи уже публиковались на Хабре:
0. Теория категорий для программистов: предисловие
1. Категория: суть композиции
2. Типы и функции
3. Категории, большие и малые
4. Категории Клейсли
5. Произведения и копроизведения

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

Рассмотрим подробнее место произведения и копроизведения типов в программировании.

Произведение типов


Каноническая реализация произведения типов в языках программирования — это пара. В Haskell пара является примитивным конструктором типов, а в C++ это относительно сложный шаблон из стандартной библиотеки.
Pair
Строго говоря, произведение типов не коммутативно: нельзя подставить пару типа (Int, Bool) вместо (Bool, Int), хотя они и содержат одни и те же данные. Однако произведение коммутативно с точностью до изоморфизма, задаваемого функцией swap, которая обратна самой себе:
swap :: (a, b) -> (b, a)
swap (x, y) = (y, x)

Можно рассматривать такие пары как различные форматы хранения одной и той же информации, как big endian и little endian.
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии7

История роутинга в проекте MAPS.ME

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


Прокладка маршрутов из одной точки в другую стала обязательной функцией для электронных карт, даже если они не используются как навигатор. В этой статье я расскажу историю создания роутинга в проекте MAPS.ME: какие этапы мы прошли и чему научились за это время.
Читать дальше →
Всего голосов 36: ↑34 и ↓2+32
Комментарии37

Lua, ООП и ничего лишнего

Время на прочтение4 мин
Количество просмотров63K
Однажды судьба свела меня с ней. С первого взгляда я был ослеплен и долгое время не мог отвести от нее взгляд. Шло время, но она не переставала меня удивлять, иногда казалось, что я изучил ее вдоль и поперек, но она снова переворачивала все мои представления. Ее гибкости не было предела, а потом я узнал, что она умеет еще и… ООП!

Как-то я всерьез занялся покорением ООП в lua. И все, что я находил в интернете по этой теме, было вырвиглазными нагромождениями кода с обилием нижних подчеркиваний, которые никак не вписывались в элегантность этого языка. Поэтому я решил искать простое решение.

После прочтения множества умных книжек и разбора нескольких ужасных реализаций ООП, я, крупица за крупицей, собирал все самое полезное и простое, пока не выработал свой стиль объектно ориентированного программирования на lua.
Читать дальше →
Всего голосов 29: ↑25 и ↓4+21
Комментарии21

15 лучших JavaScript-библиотек для построения диаграмм и сводных таблиц

Время на прочтение6 мин
Количество просмотров307K
Практически невозможно представить себе информационную панель без диаграмм и графиков. Они быстро и эффективно отображают сложные статистические данные. Более того, хорошая диаграмма также улучшает общий дизайн вашего сайта.

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

Хотя большинство библиотек являются бесплатными и свободно распространяемыми, для некоторых из них есть платные версии с дополнительным функционалом.

Читать дальше →
Всего голосов 71: ↑65 и ↓6+59
Комментарии17

Питер Тиль: конкуренция – удел проигравших

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


Cтэнфордский курс CS183B: How to start a startup. Стартовал в 2012 году под руководством Питера Тиля. Осенью 2014 года прошла новая серия лекций ведущих предпринимателей и экспертов Y Combinator:


Первая часть курса
Читать дальше →
Всего голосов 44: ↑41 и ↓3+38
Комментарии53

Сэм Альтман и Дастин Московитц: Как и зачем создавать стартап?

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


Cтэнфордский курс CS183B: How to start a startup. Стартовал в 2012 году под руководством Питера Тиля. Осенью 2014 года прошла новая серия лекций ведущих предпринимателей и экспертов Y Combinator:


Первая часть курса
Читать дальше →
Всего голосов 30: ↑26 и ↓4+22
Комментарии14

Делаем email-уведомления и увеличиваем число платящих клиентов

Время на прочтение2 мин
Количество просмотров9.9K
image

Коммуникация с пользователями важная составляющая любого проекта. Иногда нужно идти на встречу пользователям и первыми начинать диалог. Email-уведомления — идеальный способ сообщить человеку о каких-то изменениях и результатах. Это может привести к очень неожиданно приятным результатам. О том, как мы делали email-уведомления для LPCloud пойдет речь в этой статье.
Читать дальше →
Всего голосов 26: ↑19 и ↓7+12
Комментарии4

Много хороших книг

Время на прочтение1 мин
Количество просмотров955
www.bookgo.org

На английском языке. O'Reily, Microsoft, Apress… Разумеется, все только для ознакомления! Отдельно хочется высказать сожаления по поводу того, что многих из этих книг просто нет на русском :-(

Надеюсь, сервер не ляжет…

PS. Надеюсь, выбрал правильный коллектинвый блог…
Всего голосов 41: ↑32 и ↓9+23
Комментарии33

Поисковик бесплатных аудиокниг

Время на прочтение1 мин
Количество просмотров1.3K
Screenshot.png - Picamatic - upload your images

Люблю слушать аудиокниги. Однажды с помощью Google Coop сделал поисковик по бесплатным аудиокнигам. Решил, что можно поделиться со всеми — и зарегистрировал домен, вот он www.freeabooks.com
Всего голосов 43: ↑37 и ↓6+31
Комментарии15

Не сниппетами единными…

Время на прочтение3 мин
Количество просмотров978
Недавно до меня дошел слух, что «унылые маки»© — некоторые психи покупают исключительно из-за легендарного текстового редактора, ТextMate. Любопытство взяло верх, и мне безумно захотелось посмотреть, что же это за зверь такой. Тем более мой нежно любимый WinSyntax упорно не хотел разучивать команду UnIndent (что не удивительно, учитывая то, что не обновлялся он с 2002 года). И так, как говорится «плод созрел», и я решил потратить день на поиск нового, блестящего и, не побоюсь этого слова, веб-два-нольного редактора для моих замечательных скриптов. Сразу стОит оговориться, задача установки какого-ть монстра типа Zend Eclipse и т.п. — не стояла. Я работаю один, скрипты несложные и вообще мне нравятся небольшие удобные программы из серии «Ничего лишнего».
что из этого получилось
Всего голосов 2: ↑1 и ↓10
Комментарии73

Знакомьтесь, Интернет-магазин 2.0 — RIA

Время на прочтение3 мин
Количество просмотров2.1K
Как повысить скорость, юзабилити и user experience посетителей вашего интернет-магазина?
— Сделать его RIA! (Rich Internet Application)


Читать подробнее и посмотреть демку
Всего голосов 115: ↑103 и ↓12+91
Комментарии139

Загрузка контента через YQL

Время на прочтение1 мин
Количество просмотров5.4K
Возможно для вас, как и для меня, станет новостью то, что используя язык запросов Yahoo! Query Language — можно выдрать контент практически с любой страницы непосредственно в браузере (через javascript). Т.е. отпадает необходимость в использовании сервер-сайд кода и библиотек типа curl.

Выглядит это примерно так:
DELETE FROM HTML WHERE 1=1

Даже больше. YQL позволяет выполнять GET и POST HTML запросы.

Как это использовать — да по разному. Вот, для наглядности/примера — украл яндекс) (view source code вам поможет). Можно подглядеть информацию, закрытую корпоративным фаерволом.
А можно и поиграться с кросс-доменными запросами.
Тут уж у кого какая фантазия.
Всего голосов 49: ↑46 и ↓3+43
Комментарии23

Запросы к Twitter API на синтаксисе SQL

Время на прочтение1 мин
Количество просмотров1.5K
Язык запросов TweeQL сделан по образцу SQL-синтаксиса и позволяет работать с базой твитов так же просто, как с реляционной базой данных.

TweeQL имеет следующий синтаксис:

SELECT field1, field2 FROM streams WHERE filter_conditions GROUP BY field3, field4 WINDOW x seconds
Читать дальше →
Всего голосов 50: ↑40 и ↓10+30
Комментарии34

OilRush — стратегия в реальном времени для Linux, PS3, Windows от отечественных разработчиков из Томска

Время на прочтение1 мин
Количество просмотров874
Выйдет в четвертом квартале 2010 года.

Используется собственный движок Unigine.

Тизер:


Ссылки:
Всего голосов 89: ↑80 и ↓9+71
Комментарии96
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность