Архив за 16 марта 2017

Liscript — REPL боты онлайн - 1

Некоторое время назад, вдохновившись прочтением SICP, я написал пару своих реализаций интерпретаторов лиспоподобного языка со строгой семантикой, добавил десктопный GUI, консольный интерфейс, написал на нем Тетрис и много чего еще, и опубликовал пару статей на Хабр об этом. Недавно я добавил возможность широкой аудитории познакомиться с данным языком — написал REPL-ботов для следующих мессенжеров: IRC, Telegram, Slack, Gitter. Боты располагаются на специально созданных для них каналах, но в большинстве случаев их можно добавлять/приглашать на другие каналы и вести с ними личную переписку. Такой формат позволяет проводить текстовые онлайн-доклады на тему основ функционального программирования, сопровождая их демонстрацией интерпретатора в реальном времени. Конечно, графические окна с анимацией конечно можно создавать только в десктопном варианте приложения. Поэтому для большего раскрытия возможностей языка и РЕПЛа я написал текстовую реализацию игры Лабиринт, в которую могут играть с ботом любое количество человек. Подробности и немного лирики под катом.
Читать полностью »

Кокаин разрушает зубы

Ученые подметили, что люди употребляющие кокаин имеют плохие зубы. Их десны при этом также не в лучшем состоянии. Это объясняется влиянием наркотического вещества. Из-за особенностей употребления, люди, «сидящие» на кокаине, обычно теряют до четырех передних зубов.

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

Читать полностью »

MPAA и RIAA планируют восстановить данные с вышедших из строя жестких дисков файлообменника Megaupload - 1

Файлообменный сервис Megaupload, созданный предпринимателем Кимом Доткомом в 2005 году, успешно работал несколько лет, став популярным среди миллионов пользователей сети. Долгое время он находился на 13-й позиции рейтинга самых посещаемых файлообменников мира. В значительной степени эта популярность была обусловлена возможностью хранить на серверах сервиса файлы большого размера, за легальностью которых никто не следил. На ресурс неоднократно подавали иски в суд правообладатели. Их стараниями файлообменник в 2012 году был закрыт, а его основателю Киму Доткому (имя при рождении — Ким Шмитц) было предъявлено обвинение в пиратстве. По мнению правообладателей, деятельность файлообменника нанесла им убытки в полмиллиарда долларов США.

Правоохранители арестовали имущество компании Megaupload Limited, включая сервера, которые работали в дата-центре Cogent. Арестованное оборудование оставили на обслуживании у провайдера. Сейчас сотрудники Cogent сообщили о том, что часть жестких дисков отключенных несколько лет назад серверов вышла из строя. Дело по Megaupload в отношении Кима Доткома ведется до сих пор, а информацию, которая хранится на серверах, правообладатели считают уликами, указывающими на нарушение Megaupload Limited законов США и ряда других стран. Сейчас крупнейшие звукозаписывающие компании США MPAA и RIAA планируют в оперативном порядке изучить данные, которые хранятся на рабочих дисках, а нерабочие — восстановить.
Читать полностью »

В процессе работы над мобильным приложением использующим открытые данные пришлось близко познакомиться с содержанием ряда порталов, в результате возникли предложения, как усовершенствовать «внутренний мир порталов открытых данных» в интересах разработчика.
Если Вам это интересно и у Вас уже есть опыт работы в этой области, то можете сравнить свои выводы с написанным ниже.
Читать полностью »

Захотелось собрать VPN-комбайн который бы пользователей брал из БД, настраивал фаервол под этого пользователя и писал логи в БД.

OpenVPN на каждое событие (подключение, отключение клиента) может вызывать внешнюю программу. Этим и воспользуемся.
Читать полностью »

Благотворительность напрямую: детям — игрушки, взрослым — права на рисунки - 1

Разработчик из DataArt Виктор Борисов придумал и реализовал что-то похожее на банк данных и социальную сеть в одном приложении. Причем не коммерческом, его проект — инструмент прямой благотворительности. Дети подают заявки на игрушки, прикрепляя к ним свои рисунки, а благотворители выполняют заявки и получают права на изображения. Хобби-проект Виктора называется «Игрушка за рисунок. Платформа для проведения конкурсов детских рисунков через интернет», а подробнее о нем рассказал сам автор.

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

«Игрушка за рисунок» предлагает уже с ранних лет прилагать усилия для достижения цели, искать альтернативные пути, но добиваться успеха. Если родителям конкретная игрушка кажется дорогой, для другого человека цена такого подарка может быть вполне посильной. Остается подать заявку на игрушку, дать ссылку на интернет-магазин, где благотворитель может купить этот товар, написать о себе и регулярно добавлять к заявке свои рисунки.Читать полностью »

Статья для менеджеров по продажам и агентов.

В большинстве случаев, начинающий агент или специалист по крупным сделкам, желает и имеет возможность, разом заработать крупную сумму. Особенно, если агент нашел крупный проект, с бюджетом на научную часть или техническое задание от 10 000 $.

Как частенько поступает начинающий агент, у которого на прямой связи может быть одна или несколько групп разработчиков?

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

Именно в этот момент, агент может попасть в неловкую ситуацию, не только сам, и рискнуть не только своей репутацией, но и обронить репутацию разработчика, с которым сотрудничает.
Читать полностью »

Multidimensional Space Trading Strategies
Рис. 1. Оптимизация многомерного пространства алгоритмов торговых стратегий.

Оптимизация торговых стратегий

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

Многие из нас в школе или университете посещали уроки черчения, но не многим из нас это нравилось. Часами возиться с линейкой, циркулем и плохо заточенным карандашом, пытаясь ровно и без помарок выводить размерные линии, бесконечные штриховки и странные формы, мало кому могло показаться интересным. Тем более, что к тому времени уже существовали компьютерные программы, способные автоматизировать это скучное, бессмысленное и беспощадное занятие. А настоящий прорыв в области проектирования деталей и подготовки конструкторской документации произошел в 1989 вместе с дебютом параметрического моделирования в Системе Автоматизированного Проектирования (САПР) Pro/Engineer.

Это — вводная статья к циклу статей "Параметрическое моделирование". Из этого цикла вы узнаете о внутреннем устройстве настоящего решателя геометрических ограничений, проблемах и их решениях на примере open-source САПР "SolveSpace". Кому не чужд мир трехмерного моделирования, добро пожаловать под кат!

image alt text

Читать полностью »

Наверняка каждый программист, работающий с OAuth 2.0, задумывался – зачем же нужны Refresh токены, неужели Access токенов недостаточно? 64 KB — Их должно хватать каждому!

Эта тема довольно активно дискутируется – вот и на Stackoverflow вопрос есть и на Хабре тоже обсуждается. Собственно, именно обсуждение на Хабре и заставило меня высказаться.

Все предложенные комментаторами и авторами мнения касаются безопасности двухтокенного подхода. Безусловно, так и должно быть, ведь безопасность – это главное для фреймворка авторизации/аутентификации! Но будем откровенны – во многих случаях использования подход с двумя токенами не дает никакого выигрыша в защищенности по сравнению с простым и тупым подходом с одним токеном. Или этого сразу не видно…

«Refresh токен можно хранить более защищенно!» — можно и нужно, хотя почти никто так не делает.
«Access token передается по сети чаще – и вероятность его утечки больше» — полноте, мы ведь всегда используем TLS, правда?
«Утечка Ассеss токена на так страшна как утечка Refresh токена» — да, и это тоже правда, именно поэтому в браузер Refresh токен и не выдается…

Есть много нюансов, есть много сценариев использования, при которых использование разных токенов становится полезным, просто видно их не сразу!

Но есть и еще один аргумент, который я почему-то ни разу не встречал – хотя он, на мой взгляд, полностью объясняет, зачем же нужен Refresh токен и почему нельзя, абсолютно, категорически нельзя обойтись только Access токеном.

Производительность.
Читать полностью »