Некоторое время назад, вдохновившись прочтением SICP, я написал пару своих реализаций интерпретаторов лиспоподобного языка со строгой семантикой, добавил десктопный GUI, консольный интерфейс, написал на нем Тетрис и много чего еще, и опубликовал пару статей на Хабр об этом. Недавно я добавил возможность широкой аудитории познакомиться с данным языком — написал REPL-ботов для следующих мессенжеров: IRC, Telegram, Slack, Gitter. Боты располагаются на специально созданных для них каналах, но в большинстве случаев их можно добавлять/приглашать на другие каналы и вести с ними личную переписку. Такой формат позволяет проводить текстовые онлайн-доклады на тему основ функционального программирования, сопровождая их демонстрацией интерпретатора в реальном времени. Конечно, графические окна с анимацией конечно можно создавать только в десктопном варианте приложения. Поэтому для большего раскрытия возможностей языка и РЕПЛа я написал текстовую реализацию игры Лабиринт, в которую могут играть с ботом любое количество человек. Подробности и немного лирики под катом.
Читать полностью »
Архив за 16 марта 2017
Liscript — REPL боты онлайн
2017-03-16 в 23:45, admin, рубрики: bot, REPL, игры, ненормальное программирование, разработка игр, функциональное программирование
Ученые подметили, что люди употребляющие кокаин имеют плохие зубы. Их десны при этом также не в лучшем состоянии. Это объясняется влиянием наркотического вещества. Из-за особенностей употребления, люди, «сидящие» на кокаине, обычно теряют до четырех передних зубов.
Кокаин изнашивает зубы. Под влиянием наркотика те начинают гнить, а затем и выпадать. При этом человек чувствует постоянно голод. Это заставляет много есть, что тоже негативно отражается на состоянии зубов.
MPAA и RIAA планируют восстановить данные с вышедших из строя жестких дисков файлообменника Megaupload
2017-03-16 в 20:08, admin, рубрики: Megaupload, Железо, информационная безопасность, кит дотком, Новая Зеландия, Регулирование IT-сектораФайлообменный сервис Megaupload, созданный предпринимателем Кимом Доткомом в 2005 году, успешно работал несколько лет, став популярным среди миллионов пользователей сети. Долгое время он находился на 13-й позиции рейтинга самых посещаемых файлообменников мира. В значительной степени эта популярность была обусловлена возможностью хранить на серверах сервиса файлы большого размера, за легальностью которых никто не следил. На ресурс неоднократно подавали иски в суд правообладатели. Их стараниями файлообменник в 2012 году был закрыт, а его основателю Киму Доткому (имя при рождении — Ким Шмитц) было предъявлено обвинение в пиратстве. По мнению правообладателей, деятельность файлообменника нанесла им убытки в полмиллиарда долларов США.
Правоохранители арестовали имущество компании Megaupload Limited, включая сервера, которые работали в дата-центре Cogent. Арестованное оборудование оставили на обслуживании у провайдера. Сейчас сотрудники Cogent сообщили о том, что часть жестких дисков отключенных несколько лет назад серверов вышла из строя. Дело по Megaupload в отношении Кима Доткома ведется до сих пор, а информацию, которая хранится на серверах, правообладатели считают уликами, указывающими на нарушение Megaupload Limited законов США и ряда других стран. Сейчас крупнейшие звукозаписывающие компании США MPAA и RIAA планируют в оперативном порядке изучить данные, которые хранятся на рабочих дисках, а нерабочие — восстановить.
Читать полностью »
Открытые данные со стороны разработчика
2017-03-16 в 18:13, admin, рубрики: открытые данные, метки: open data, открытые данныеВ процессе работы над мобильным приложением использующим открытые данные пришлось близко познакомиться с содержанием ряда порталов, в результате возникли предложения, как усовершенствовать «внутренний мир порталов открытых данных» в интересах разработчика.
Если Вам это интересно и у Вас уже есть опыт работы в этой области, то можете сравнить свои выводы с написанным ниже.
Читать полностью »
Использование скриптов в Openvpn для интеграции его с другими сервисами системы (Firewall, DB и т.д.)
2017-03-16 в 17:50, admin, рубрики: openvpn, интеграция, системное администрированиеЗахотелось собрать VPN-комбайн который бы пользователей брал из БД, настраивал фаервол под этого пользователя и писал логи в БД.
OpenVPN на каждое событие (подключение, отключение клиента) может вызывать внешнюю программу. Этим и воспользуемся.
Читать полностью »
Благотворительность напрямую: детям — игрушки, взрослым — права на рисунки
2017-03-16 в 17:47, admin, рубрики: cms, благотворительная помощь, благотворительность, Блог компании DataArt, детям, игрушки, Разработка веб-сайтов, хобби-проектыРазработчик из DataArt Виктор Борисов придумал и реализовал что-то похожее на банк данных и социальную сеть в одном приложении. Причем не коммерческом, его проект — инструмент прямой благотворительности. Дети подают заявки на игрушки, прикрепляя к ним свои рисунки, а благотворители выполняют заявки и получают права на изображения. Хобби-проект Виктора называется «Игрушка за рисунок. Платформа для проведения конкурсов детских рисунков через интернет», а подробнее о нем рассказал сам автор.
Типичная ситуация: ребенок просит дорогую игрушку, которую родители купить ему не могут. Что остается делать ребенку? Обычно — просто смириться. Но каково ему будет, когда он вырастет и на него навалятся желания крупнее, если с самого детства его приучили сидеть сложа руки, отказавшись от амбиций?
«Игрушка за рисунок» предлагает уже с ранних лет прилагать усилия для достижения цели, искать альтернативные пути, но добиваться успеха. Если родителям конкретная игрушка кажется дорогой, для другого человека цена такого подарка может быть вполне посильной. Остается подать заявку на игрушку, дать ссылку на интернет-магазин, где благотворитель может купить этот товар, написать о себе и регулярно добавлять к заявке свои рисунки.Читать полностью »
Быстрая продажа – Matrix has you
2017-03-16 в 17:23, admin, рубрики: финансы в IT, Читальный зал, метки: Агент, менеджерам по продажам, продажа, продажа разработок, Работа с агентамиСтатья для менеджеров по продажам и агентов.
В большинстве случаев, начинающий агент или специалист по крупным сделкам, желает и имеет возможность, разом заработать крупную сумму. Особенно, если агент нашел крупный проект, с бюджетом на научную часть или техническое задание от 10 000 $.
Как частенько поступает начинающий агент, у которого на прямой связи может быть одна или несколько групп разработчиков?
Очень просто: агент выясняет у клиента вопрос, звонит разработчикам, парой фраз описывает задачу и интересуется, какой разработчик выполнит задачу быстрее, дешевле, и с большим качеством. Узнав варианты, агент называет клиенту, те же сроки, что назвал разработчик и примерно удвоенную сумму.
Именно в этот момент, агент может попасть в неловкую ситуацию, не только сам, и рискнуть не только своей репутацией, но и обронить репутацию разработчика, с которым сотрудничает.
Читать полностью »
Как я сделал тестер-оптимизатор для нахождения прибыльных стратегий на Бирже — 2
2017-03-16 в 17:12, admin, рубрики: data mining, Алгоритмы, математика, метки: Walk Forward, алгоритмический трейдинг, математическое программирование, стохастическая оптимизация, торговые роботы
Рис. 1. Оптимизация многомерного пространства алгоритмов торговых стратегий.
Оптимизация торговых стратегий
В процессе алгоритмической торговли постоянно возникает необходимость настройки параметров алгоритмов торговых стратегий. Сочетания всех возможных параметров превращается в большое многомерное пространство вариантов стратегий. Чтобы получить самые прибыльные и стабильные стратегии нужно исследовать это пространство и подобрать оптимальные параметры для торговли.
Читать полностью »
Параметрическое моделирование в САПР SolveSpace
2017-03-16 в 17:08, admin, рубрики: cad, CAD/CAM, open source, opensource, Solver, SolveSpace, математика, сапрМногие из нас в школе или университете посещали уроки черчения, но не многим из нас это нравилось. Часами возиться с линейкой, циркулем и плохо заточенным карандашом, пытаясь ровно и без помарок выводить размерные линии, бесконечные штриховки и странные формы, мало кому могло показаться интересным. Тем более, что к тому времени уже существовали компьютерные программы, способные автоматизировать это скучное, бессмысленное и беспощадное занятие. А настоящий прорыв в области проектирования деталей и подготовки конструкторской документации произошел в 1989 вместе с дебютом параметрического моделирования в Системе Автоматизированного Проектирования (САПР) Pro/Engineer.
Это — вводная статья к циклу статей "Параметрическое моделирование". Из этого цикла вы узнаете о внутреннем устройстве настоящего решателя геометрических ограничений, проблемах и их решениях на примере open-source САПР "SolveSpace". Кому не чужд мир трехмерного моделирования, добро пожаловать под кат!
Так зачем же все таки нужны Refresh токены в OAuth?
2017-03-16 в 17:04, admin, рубрики: информационная безопасность, Программирование, Разработка веб-сайтов, разработка мобильных приложений, метки: oauth 2.0, oauth2, безопасность веб-приложений, токеныНаверняка каждый программист, работающий с OAuth 2.0, задумывался – зачем же нужны Refresh токены, неужели Access токенов недостаточно? 64 KB — Их должно хватать каждому!
Эта тема довольно активно дискутируется – вот и на Stackoverflow вопрос есть и на Хабре тоже обсуждается. Собственно, именно обсуждение на Хабре и заставило меня высказаться.
Все предложенные комментаторами и авторами мнения касаются безопасности двухтокенного подхода. Безусловно, так и должно быть, ведь безопасность – это главное для фреймворка авторизации/аутентификации! Но будем откровенны – во многих случаях использования подход с двумя токенами не дает никакого выигрыша в защищенности по сравнению с простым и тупым подходом с одним токеном. Или этого сразу не видно…
«Refresh токен можно хранить более защищенно!» — можно и нужно, хотя почти никто так не делает.
«Access token передается по сети чаще – и вероятность его утечки больше» — полноте, мы ведь всегда используем TLS, правда?
«Утечка Ассеss токена на так страшна как утечка Refresh токена» — да, и это тоже правда, именно поэтому в браузер Refresh токен и не выдается…
Есть много нюансов, есть много сценариев использования, при которых использование разных токенов становится полезным, просто видно их не сразу!
Но есть и еще один аргумент, который я почему-то ни разу не встречал – хотя он, на мой взгляд, полностью объясняет, зачем же нужен Refresh токен и почему нельзя, абсолютно, категорически нельзя обойтись только Access токеном.
Производительность.
Читать полностью »