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

Если в CoordinatorLayout Behavior сделать view GONE, то дальнейшие колбеки отрабатываться не будут. Как например с FloatingActionButton.hide(), если на него не повесить колбек, который принудительно выставляет setVisibility(INVISIBLE)м при скрытии, то кнопка исчезнет и больше не появится.

Могущественная транснациональная корпорация Micro$oft в описании функций удаляет из списка поддерживаемых старые версии операционных систем в статьях на MSDN. Например, исчезло упоминание XP в описании функции accept в минимальных требованиях, теперь только 2003 Server.

Как нормальные люди (не я) минуют этот процесс, эту статью на stackoverflow, эти особые apple technical notes? Я не знаю. Я не понимаю, почему у гомосек в яббле все так сложно. Сколько лет, но все не пойму 8( Взял проект, который заливали на apple store 4 года назад, он уже не заливается, картинки для СТАРОГО ифона ему теперь не такие.

В пакетном файле могут быть функции. Вот пример рекурсивного вычисления факториала в пакетном файле:

@echo off

call :factorial %1
echo %RESULT%
exit
rem Функция для вычисления факториала числа
rem Вход:
rem %1 Число, для которого необходимо подсчитать факториал
rem Выход:
rem %RESULT% Значение факториала
:factorial

if %1 == 0 (
set RESULT=1
exit /b
)

if %1 == 1 (
set RESULT=1
exit /b
)

set /a PARAM=%1 — 1

call :factorial %PARAM%

set /a RESULT=%1 * %RESULT%

exit /b


Пример работы:
factorial.bat 103628800

Каким-то образом при написании ieee754 умудрились придумать правила сравнения которые нарушают требования любой разумной теории порядка, даже рефлексивность. В результате для их обработки не остаётся ничего другого как вводить специальные функции обработки hackage.haskell.org


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

Во что я превратился?



Вот как читать пейтон написаный к папиру с тензрофлов? Типы переменных неясно, размерность массивов неясно, листаешь по нескольким файлам чтобы увязать, что там через запятую идет, где 10 переменных каждая из трех букв.. Еще тензорфлов накладывает свое измерение, которое нужно видеть сквозь этот пластилиновый код.

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

Казалось бы, что WinAPI уходит в прошлое. Давно уже существует огромное количество кросс-платформенных фреймфорков, Windows не только на десктопах, да и сами Microsoft в свой магазин не жалуют приложения, которые используют этого монстра.habrahabr.ru
Казалось бы, колесо уходит в прошлое: давно уже существует огромное количество автомобилей!

Дошли руки наконец доделать HTTPS в своём классе, использующем WinInet для получения данных из Инета. Разобралась почему у меня не работали флаги по игнорированию ошибок сертификатов (не туда пихала их). Вроде бы всё заработало. И тут... Делается запрос на HTTP, устанавливаются флаги для игнорирования ошибок, сервер возвращает 302 на HTTPS, но WinInet достаточно умный чтобы самостоятельно делать редирект. Он делает и возвращает ошибку сертификата. Как так? Вот же флаги! Поковырялась. Судя по всему, флаги сбрасываются при отправке нового запроса, и как их установить – не понятно, ведь всё происходит внутрях WinInet. И это что ли ручками обрабатывать?

Раньше если нужно было найти объект в массиве и вернуть его позицию, прямо так и возвращал индекс из функции. Если объект не был найден, то возвращал −1.
Сейчас же возвращаю из функции True если объект найден и False если объект не найден, а индекс в массиве заполняю параметром по указателю.

Загрузил немного данных в яндексовскую БД ClickHouse, сравнить перфоманс с KDB.

Clickhouse ничего почти кроме селектов не умеет, полезного мне мало (на KDB можно писать на супер-клевом встроенном языке который работает со скоростью самой бд, на clickhouse нет — вытаскивай результаты например в жабу и дальше только жаба, тащемта, а зачем мне жаба, шо я, буду на ней статистику гонять?).

Померял простой group-by, на memory table кликхауз уделал на этих запросах аналогичное KDB раза в полтора, на сжатой таблице хранимой на диске где-то того же порядка результат. Ну чо, нормуль, одобряю. Писать более сложные тесты не стал, потому что ну его нафиг, вот почему. А, и еще у них там сэмплинг есть при желании, то есть берутся не все данные, а регулярные кусочки, и по ним считаются приближенные данные, в кдб такое надо явно писать, но не было нужно.

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

i.ytimg.com ruby-lang.org "Ruby 2.6 introduces an initial implementation of JIT (Just-in-time) compiler.
JIT compiler aims to improve performance of any Ruby program execution. Unlike ordinary JIT compilers for other languages, Ruby’s JIT compiler does JIT compilation in a unique way, which prints C code to a disk and spawns common C compiler process to generate native code. See also: MJIT organization by Vladimir Makarov."

Всякую сисадминскую автоматизацию для линуксов я пишу на шелле (с башизмами). Конечно, это мазохизм, но есть некоторые очень соблазнительные преимущества:

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

Но есть большая ложка дегтя — собственно программировать на шелле очень трудно. Если появляется нужда в нетривиальных структурах данных и нетривиальных алгоритмах их обработки — то наступает полный и беспросветный мрак и отчаяние.

Поэтому вопрос — чем можно в 21-ом веке заменить шелл, чтоб преимуществ не сильно растерять, но и при этом иметь возможность нормально программировать? Готов рассмотреть ЯП с компиляторами со статической линковкой. Поделитесь опытом.

Смотрю я на свой код шестилетней давности и не узнаю себя
if (nameDivSpanNext.nodeType == 3) {
Почему ==, а не ===, ещё как-то можно понять. Не убедил меня тогда ещё JS-Lint, что всё же двойное грешновато. Но почему не if (3 === nameDivSpanNext.nodeType) ?

Как сейчас помню, учил меня Каменский Никита Викторович в НГУ в птичьих языках программирования на всякий случай при сравнении ставить константу всегда влево. Я так и делаю, на птичьих языках — константа влево, а на нормальных языках — гордо ставлю вправо. НГУ был раньше, чем я писал скрипт. Я как будто забыл, а потом вспомнил. Странно это.

вот раньше такая штука была, "zmodem" называлась. Шо это такое: сидишь в терминале, тебе запущенная в терминале консольная программа генерирует специальную последовательность, которую ТЕРМИНАЛ понимает и складывает в файл рядом с собой. Нужно чтобы передать например файл из консоли прямо ко мне, через сколько бы там я штук ssh не сидел далеко. Нужно, чтобы терминал умел понимать zmodem как он понимает ansi sequences. И кстати в другую сторону тоже работало.

Но, насколько я понимаю, это секретное знание древних уже утеряно. А что нынче альтернативой?

youtube.com

Нужно запретить использовать слово приложение (application) из–за того что это заимствование создаёт ещё больше неразберихи в среде малообразованного населения. И у нас уже есть слово «программа» которое в контексте программирования и ЭВМ обозначает комьютерную программу. А ещё «приложение» звучит отвратительно. В англицкой Wikipedia ( en.wikipedia.org ) напечатано что application это программа для ЭВМ созданная для решения пользователем неких своих задач а если почитать эту же статью в переводе, то выясняется что application это прикладная программа. Теперь о якобы взаимозаменяемости application и web site. Нет, блять, это разные понятия. Есть такое замечательное слово как web–узел, web site то есть, узел всемирной, блять, сети. И если вы открываете web–узел www.mazafucka.com, то открываете вы web–узел а не application. И уже через этот узел вы используете, если они есть, ваши прикладные, блять, программы (например, прости господи, текстовый редактор на JavaScript) с помощью которых вы решаете какую–то свою задачу. К сожалению многие senior upper-intermidiate-english javascript-ninja software engineer`ы этого не понимают и говорят «когда я говорю приложение, я не совсем знаю точно что занчит вообще приложение… я долго над этим думал и попытался сформулировать в чём собственно разница между приложением и сайтом…» и выдают размытое определение: вэб–аппс хэв комплэкс интэрэкшнс энд мэйнт э стэйт он зэ клайэнт вайл, вэб сайтс мостли рэндэр стэйтик информэйшн.». Стэйтик информэйшн выдаётся потому ты, web–программист, написал программу которая и выдаёт мостли стэйтик информэйшн (или же ты ничего не писал и её выдает какой–нибудь apache).

попалась мне книжка "Fluent C#"
для меня она сейчас ну прям совсем "hello world", но жаль, что в начале моего пути таких книг не нашел.
она рассказывает о том, как надо делать приложения, а не только программировать.
да еще и СТИМПАНКОВСКИЕ иллюстрации!
books.google.ru
рекомендую новичкам