Рубрика «переводы» - 26

Внимание: перед тем как читать текст ниже, вы уже должны иметь представление о том, что такое монады. Если это не так, то прежде прочитайте вот этот пост!

Перед нами функция half:
Тройка полезных монад

И мы можем применить её несколько раз:

half . half $ 8
=> 2

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

half x = (x `div` 2, "Я только что располовинил  " ++ (show x) ++ "!")

Что ж, отлично. Но что будет если вы теперь захотите применить half несколько раз?

half . half $ 8

Вот то, что мы хотели бы, чтобы происходило:
Тройка полезных монад

Спойлер: автоматически так не сделается. Придётся всё расписывать ручками:

finalValue = (val2, log1 ++ log2)
    where (val1, log1) = half 8
          (val2, log2) = half val1

Фу! Это ни капли не похоже на лаконичное

half . half $ 8

А что, если у вас есть ещё функции, имеющие лог? Напрашивается такая схема: для каждой функции, возвращающей вместе со значением лог, мы бы хотели объединять эти логи. Это побочный эффект, а никто не силён в побочных эффектах так, как монады!
Читать полностью »

Перевод заявления Эдварда Сноудена, размещенного на сайте Wikileaks в понедельник, 1 июля

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

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

Один из студентов лекции записывал и выложил транскипт. В данном хабратопике astropilot переводит пятнадцатое занятие.

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

image
Google Reader закроют в понедельник, и весь интернет в печали, кроме меня, мне не грустно, я не буду скучать.
Я довольно активно пользовался Google Reader, практически каждый день. Это был один из ключевых компонентов, в арсенале моих приложений. Reader позволял мне держать руку на пульсе интернета. Это был мой способ быть в курсе всего, что происходит в сети. Для тех, кто следит за техническими новостями, иметь такой ресурс как Google Reader — очень важно. Нет, стоп. Было. Было очень важно.
Читать полностью »

Данная статья является переводом статьи от 13.07.2012 за авторством Александра Матросова, ссылку на которую я нашел в конце поста про утечку исходников Caberp. Мне она показалась интересной и я решил ее перевести.
Кому стало так же интересно, добро пожаловать под кат.
Читать полностью »

Как я переводил Leisure Suit Larry

Однажды вечером я наткнулся на очередную новость о разработке Leisure Suit Larry: Reloaded, хотя игра уже полгода как собрала деньги на Kickstarter на тот момент. Но тут я задумался — а будет ли русская версия? Понятно, что Taralej & JaboCrack SoftWare руку к ней уже не приложит. На сайте разработчиков русского среди поддерживаемых языков не было вообще. Конечно, на торрентах могла появиться фанатская версия с выдернутым переводом из оригинала, но а как же тогда честные покупатели? Чтобы поиграть на родном языке, им пришлось бы качать пиратку.

Завернув эту мысль в три абзаца на английском языке, я написал письмо самому Элу Лоу, создателю культовой серии. Было 23 декабря, американцы наверняка готовились к праздникам (Рождество на носу), так что я почти не надеялся на ответ. Тем не менее, через 3 дня я его получил. Эл писал, что он благодарен за желание помочь и уже переслал моё письмо разработчикам. В тот же день мне пришло письмо от Кевина Кеттлера, директора по корпоративной стратегии Replay Games. Они были заинтересованы моим предложением, но на тот момент сценарий был готов только на 50%. Мы обсудили сроки, и в середине янврая Кевин прислал мне NDA и IP Release на подпись. Затем мне в почту упала готовая половина сценария, чтобы можно было начинать работу, пока сценаристы дописывают игру.
Читать полностью »

image

Хотите услышать рассказ о том, как классика ролевых игр на PC смогла возродиться как мультиплатформенный проект, да еще и в виде «расширенного издания»? Один из основателей Bioware Трент Остер (сегодня — президент компании Beamdog / Overhaul Games, занимавшейся разработкой переиздания) готов провести нас за кулисы и рассказать, как же все происходило.
Читать полностью »

Один год проекту «What If?». О создании и работе с сообществом переводчиков энтузиастов

Около года назад, 26 июня, Рэндалл Монро, автор комиксов xkcd начал проект «What If?». Суть проекта в том, что Рэндалл с физической точки зрения отвечал на «глупые» вопросы, которые часто рассматривались с неожиданных точек зрения. Конечно, Рэндалл не упускал возможности устроить катастрофу планетарного масштаба во время ответа.

Но, статья не про это. Я бы хотел рассказать про проект «Что если?», где мы переводим статьи из «What If?». Я недаром опубликовал статью в хаб «Управление проектами», поскольку статья будет про то, как мы им управляем и что из этого получилось менее чем за год (я начал его делать в начале сентября 2012 года).

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

Перевод статьи Андрея Бауера — The HoTT book

Книга по HoTT закончена!

Начиная с весны, и даже раньше, я участвовал в командном проекте по написанию книги по гомотопической теории типов (Homotopy Type Theory). Она наконец написана и готова к употреблению. Вы можете скачать книгу бесплатно: homotopytypetheory.org/book/. Майк Шульман рассказал о содержании книги, так что я не буду повторять то же самое. Вместо этого я бы хотел прокомментировать некоторые социо-технологические аспекты создания книги и, в частности, рассказать о том, чему нас научило сообщество Open source.
Читать полностью »

Просто хотел Вас предупредить: С++14 не будет обратно совместим с C++11 в одном аспекте constexpr функций.

В С++11, если Вы определите constexpr функцию-член, то она неявно получит спецификатор const:

// C++11
struct NonNegative
{
  int i;
  constexpr int const& get() /*const*/ { return i; }
  int& get() { return i; }
};

Первое объявление функции get получит спецификатор const, даже если мы не укажем это явно. Следовательно, эти две функции являются перегруженными: const и не-const версии.

В С++14 это будет уже не так: оба объявления будут определять одиннаковую, не-const версию функции-члена с различающимися возвращаемыми значениями — это приведет к ошибке компиляции. Если Вы уже начали использовать constexpr функции и надеетесь на неявный спецификатор const, то я советую Вам начать добавлять его явно, чтобы Ваш код продолжал компилироваться, если Вы решите перейти на компиляторы С++14.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js