Другими словами, вы используете API для отправки писем со своей html-странички, не используя никакой код на сервере.
[...]
Для того, чтоб данный пример заработал — необходимо получить свой API Key.
[...]
Квота составляет 12,000 сообщений в месяц (295 в час) на один аккаут.
habr.com
OAuth никого ничему не научил. API Key наружу! Модно, стильно, молодёжно!

Странные нынче девелоперы пошли. То они внятное сообщение об ошибке выдать не могут, потому что «не станешь же перед каждым open_file переменную file_name вписывать!» То без прямой трансляции с устройства пользователя у них ну вообще никакие баги не отлавливаются...
habr.com

YoptaScript это первый в мире скриптовый язык программирования для гопников и реальных пацанов, транслируемый в чистый JavaScript. YoptaScript позволит "чётким пацанам" быстро влиться в ряды программистов и процесс разработки.github.com
Пипец макакам.

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

dartangular не достреливает до GWT с точки зрения архитектуры конеш. В GWT был global reachability analysis, и если куски кода были доступны только через специальный "коридор" ( GWT.runAsync(new Runnable() { void run() { lazyLoadedCode.. } }) ) то они компилировались в отдельные куски после анализа и подгружались по необходимости. В dartangular этого нет, хотя язык/фреймворк тоже без рефлекшна и с глобальной оптимизацией.

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

Пытаюсь автоматизировать "скрытие" устаревших веток в git.
Когда я весь в работе, то создаю много временных веток которые потом на всякий случай не удаляю, а переименовываю в old/имя_ветки. То, что она "old" не означает что через месяц или год мне не захочется посмотреть какую-нибудь светлую идею которая не попала в основную ветку. Поэтому ветки копятся и непонятно куда их девать.
О "скрытии" веток подсмотрел идею здесь: stackoverflow.com
Написал такой скрипт:
git branch | grep old/ | sed 's/^*//' | awk -v date=$(date +%y-%m-%d) '{print "create refs/archive/" date "/" $1, $1}' | git update-ref —stdin
который ищет ветки содержащие "old/" и создаёт ссылки на них в refs/archive/<дата>/имя_ветки.
Затем оригинальные ветки "old/" удаляю так:
git branch | grep old/ | sed 's/^*//' | xargs -n 1 git branch -D

"Дата" в первой команде — тупой способ обойти проблему с одинаковыми названиями веток.

После этого "архивные" ветки по-идее нигде не отображаются, но на них по-прежнему можно перейти с помощью
git checkout refs/archive/<дата>/имя_ветки

В ублюдочном ЯваСценарии всего две функции для таймеров (setTimeout, setInterval) а в няшном .NET для правильных пацанов есть 5 разных способов:

• System.Threading.Timer
• System.Windows.Forms.Timer
• System.Timers.Timer
• System.Windows.Threading.DispatcherTimer
• System.Web.UI.Timer

В документации к System.Timers.Timer цела страница оговорок типа
The Timer component catches and suppresses all exceptions thrown by event handlers for the Elapsed event. This behavior is subject to change in future releases of the .NET Framework. Note, however, that this is not true of event handlers that execute asynchronously and include the await operator (in C#) or the Await operator (in Visual Basic). Exceptions thrown in these event handlers are propagated back to the calling thread, as the following example illustrates. For more information on exceptions thrown in asynchronous methods, see Exception Handling.

написала хэлловорд. Почему так долго?
Потому что монстрикам понадобился редактор bluefish, потом они захотели, чтобы код открывался в хроме, а не в огнелисе, потом снова в огнелисе, потом в хроме (потому что в огнелисе плагин для отладки не захотел работать, а разбираться ещё и с плагином это уже слишком для хэлловорд). А сразу хром не заработал, потому что в хауту нагугленом неправильно все написано.
Но вот все работает и наверное ещё надо потыкать в код.
Javascript вроде лёгкий. Это у меня мозг наверное не заточен под программирование, а то бы я давно что-то кодила. Или, как говорят, что после Бейсика человека не переучить.

Я не хочу заявлять, что я видел ВСЕ, но я был внезапно удивлен, увидев большие блобы в YAML файлах (!) в виде массивов там всяких, в квадратных скобочках, правая граница справа 80 символов и выравнено все индентацией слева как требуется. Эти люди неисправимы.

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

Последние неделю практически не вылипаю из Rust'а, очень интересный язык, очень приятно на нем писать, несмотря на то, что код порой выглядит странновато. Может быть это мой шанс наконец-то уйти с динамической типизации.

Видео, где автор nodejs кается за ошибки которые он допустил, порождая сие изделие. Послушивал, покуда он не выдал внезапно, что "dart was a failure". Дальше смотреть не стал, конечно.

Горбатого не исправить, хотя он чуток подает надежды, сказал что typescript включил в свое новое изделие. Он о чем-то догадывается.

Вот Karpathy рассказывает ( vimeo.com ) как он возбужден software 2.0, как его ставят в тупик редкие случаи интересные для распознавания изображений в наборе данных для программирования тесла-автомобилей, как это все восхитительно и возбудительно, он делает интересную лекцию, зрители слушают и тащутся, и у них возникает мечта сделать тоже свое офигенно.

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

В целом angular dart ничо так, терпимо. Цикл edit-compile-run конечно подольше чем был в славном gwt, секунд 25 у меня на 2ядерном гейбуке.

Профит в том, что тайпчекает выражения в html шаблонах тоже, что немного утешает. Ну все остальное тоже тайпчекает, кроме левых проколов, таких как если ты написал левый тег, то он его молча как есть оставит. Всякие SCSS тоже нихрена не чекает, легло оно на что или нет. Но импорты в них понятно, ругается.

На безрыбье и рак — рыба.