TypeScript и Visual Studio Code

Не поверил, если бы несколько лет назад мне сказали, что я буду программировать на языке, придуманным Microsoft, в программе, в названии которой есть слова «Visual Studio» на Маке. А это так: я пишу на TypeScript в Visual Studio Code!

Нынче без JavaScript далеко не уедешь, но он такой весь неогранизованный и без типов, что в нем легко делать ошибки и потом дебаггить часами. А TypeScript, добавив типизацию и немного современных фич, позволяет писать более корректный код. Серьезно: несмотря на кучи юнит-тестов, какой бы JavaScript код я не сконвертировал в TypeScript, всегда нахожу хотя бы одну ошибку. Сейчас авторы языка работают над уничтожением null и undefined — опция уже доступна в «dev»-версии (правда, пока с багами), и будет выпущена в TypeScript 2.0 — и тогда мы будем делать еще меньше ошибок. Я вчера включил «strict null checks» и обнаружил новый баг в свеженаписанном коде, так что штука очень полезная.

Когда TypeScript только вышел, я шутил, что Anders Hejlsberg сделал самый быстрый в мире компилятор (Turbo Pascal) и самый медленный (TypeScript). Сейчас TypeScript компилирует намного быстрее чем раньше, и меня устраивает.

(Кстати, если вы еще не видели Elm, возможно вам понравится, как альтернатива).

Visual Studio Code — это прелесть. Очень хороший редактор и автозаполнялка (это у них, вроде, называется IntelliSense). Сам процесс работы: код, код, код, коммит, пуш, код, хорошо сделан. Я никогда раньше не пользовался git-интеграцией в редакторах, потому что мне удобнее было вызывать git из коммандной строки, но в Visual Studio Code она очень простая и удобная: клик по иконке, смотрим что поменялось, если нужно выбираем файлы для коммита (иначе коммитит все изменения), пишем описание и коммитим.

(Дебаггер не пробовал, предпочитаю console.log.)

Вот такие чудеса от Microsoft. И все с открытыми исходниками! Что происходит?

StableLib

Месяц назад я запустил StableLib — коллекцию тщательно отобранных опенсорсных Go пакетов с трехлетней поддержкой. Если вы программируете на Go, зайдите, посмотрите. Коллекцию можно бесплатно использовать в оперсорсных и персональных проектах.

Вчера ребята из подкаста Golang Show записали со мной интервью про этот проект, можете послушать: golangshow.com/episode/2015/07-29-008/.

Обновлено 2015-10-22: Aaaand it’s gone! StableLib закрылся.

10 лет

Оказывается, 7 января исполнилось 10 лет с первой заметки в этом блоге. Sellme уже, конечно, не торт:

  • 2005 - 407 постов
  • 2006 - 241
  • 2007 - 227
  • 2008 - 83
  • 2009 - 52
  • 2010 - 56
  • 2011 - 13
  • 2012 - 6
  • 2013 - 2
  • 2014 - 6

Тем не менее, я еще тут. О чем вам рассказать?

Октябрьские ссылки

1.

Илья Бирман пишет серию постов про экономику и государство.

Пересказ книги Man, Economy and State Ротбарда (на английском ее можно бесплатно скачать здесь. Я правильно понимаю, что русского перевода этой книги нет?):

и другие хорошие посты:

2.

Переводы статей Олега Андреева про биткоин.

3.

Дополнительное дополнение

Книга Defending the Undefendable Уолтера Блока (на английском, PDF или ePub бесплатно): почему проститутки, сутенеры, наркодилеры, шантажисты, рекламщики, спекулянты, коррумпированные полицейские — герои и делают полезные для общества дела.

(Русский перевод называется Овцы в волчьих шкурах: в защиту порицаемых).

Уроки английского по скайпу

У автора пособия для учителей и репетиторов Language Burger Games (Mac App Store) и книги The Art of Cat Photography, а по совместительству моей жены, появилась возможность набрать еще несколько учеников на уроки английского языка по Skype.

Александра преподает английский с 2001 года, и последние несколько лет – только по скайпу.

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

Как строится урок:

Программу я подбираю индивидуально для каждого ученика, потому что все люди разные и каждому интересно и нужно что-то свое. На уроках я использую любую интересную и полезную информацию из интернета, например: трейлеры фильмов, статьи и видео новостей, информацию из Википедии и т.п. Я, так же, беру материалы из учебников изданий Longman, Macmillan и Oxford. Урок проводится на английском языке, но я перевожу на русский, когда это необходимо для ученика. Я строю урок так, что бы ученик мог максимально использовать свои знания непосредственно в общении, мог понимать информацию и выражать свои мысли на английском.

В ученики приглашаются и взрослые, и дети. Если вы только начинаете изучать английский, или уже знаете, но хотите что-то улучшить, Александра вам поможет.

Пишите сюда, чтобы узнать больше и записаться: sasha.zakharova@gmail.com. Стоимость одного урока (1 час 15 минут): 20 евро.

Выучите, наконец, английский нормально!

Как выбрать нишу для бизнеса

Дерек Сиверс в недавнем интервью любопытно ответил на вопрос о том, как выбрать нишу, в которой начинать бизнес. Он сказал, что нужно выбрать такую нишу, в которой у вас будет несправедливое преимущество (unfair advantage).

Несправедливым преимуществом Дерек называет ваш уникальный опыт: такой, какого нет у конкурентов в той же нише. Он приводит в пример CD Baby, музыкальный онлайн-магазин, который он основал в 1997 и продал несколько лет назад за много миллионов денег: его несправедливое преимущество состояло в том, что он 13 лет был профессиональным музыкантом и понимал, в отличие от других многочисленных музыкальных стартапов, что именно нужно музыкантам.

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

Джэйсон Коэн, основатель Smart Bear Software, дал такое определение:

Несправедливое преимущество – это такое преимущество, которое нельзя легко скопировать или купить.

Мне не очень нравится термин, но смысл хороший.

Добавлено (2014-02-21): У Макса Крайнова в блоге написано немного подробнее про несправедливое преимущество.

Три черновика

Только что посмотрел видео, в котором Тим Феррисс и Нил Страусс, авторы бестселлеров, обсуждают написание книг, и вот что нашел полезным.

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

Первый черновик – для вас

В первый черновик вы записываете все, что пишется. Когда вы закончите работу над ним, перед вами будет лежать большая куча страниц (образно говоря; скорее большой файл) и на этих страницах будет написано все, что вы хотели сказать. Текст больше не сидит у вас в голове, а перенесен «на бумагу».

Второй черновик – для читателя

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

Третий черновик – для ненавистников

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

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

Кстати, если вы читаете и пишете по-английски, подпишитесь на рассылку I Write Like: Become a better writer, где я ежемесячно делюсь советами экспертов про то, как лучше писать. Скоро выйдет февральский выпуск.

О переусложнении проектов

Переусложненный гамбургер (но, наверное, вкусный)

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

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

Линус Торвальдс

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

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

Препятствия, какие-то недодумки и недоделки не должны возвращать наши мысли в первую стадию (стоит ли делать проект), если, конечно, это не какое-нибудь фатальное препятствие (типа теоремы CAP, если планировали сделать систему со всеми тремя свойствами, или период полураспада ДНК, если хотели клонировать динозавров и сделать Парк Юрского периода).

Помните первый iPhone? Там не было даже копирования и вставки текста! Не знаю, были ли у Apple какие-то задумки о том, как реализовать копирование, но факт в том, что отсутствие этой фичи не отложило и не отменило проект.

Не зря стартаперы говорят про MVP, minimum viable product: просто если не сделать минимально пригодный продукт, можно вообще никакого не сделать. Это же относится и к проектированию, не только к непосредственно исполнению: не усложняйте задачу, придумывая препятствия, которых пока нет, и которых может и не будет никогда.

Sellme.ru умер, да здравствует Sellme.biz!

В России есть два домена верхнего уровня: .ru, который ввели после образования новой свободной страны, и .su, так и оставшийся действующим после распада Советского союза. С каждым днем первый становится все менее отличимым от второго.

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

Исходники сайта, включая все статьи и картинки, теперь можно скачать с Гитхаба.

Я также включил шифрование по умолчанию, поменял дизайн и планирую, наконец, начать сюда снова писать о бизнесе.

У Sellme.biz появился твиттер, где будут анонсироваться новые посты — @sellmebiz. Зафолловьте его.

Старый домен будет продолжать работать в качестве редиректа на новый пока это возможно. Но, пожалуйста, обновите закладки. Новый адрес: https://sellme.biz.

Mémoires 4

Выпустил новую версию Mémoires, моей программы для ведения персонального дневника на Маке.

Скриншот Мемуарс 4

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

Скачать можно с официального сайта: http://www.codingrobots.com/memoires/ (сайт тоже полностью обновился).

Кстати, я веду тумблер о разработке (на английском): http://codingrobots.tumblr.com.

С наступающим!