Categories
*.JAR

Clean Code

В русскоязычной среде почему-то принято хаять классическую литературу о дизайне приложений. Clean Code, GoF, вот это все.
Причем никакой альтернативы автор, работающей в какой-нибудь галере вроде EPAM, кроме набивания шишек 10 лет и своего невнятного мычания на тему, не предлагает.

Categories
*.BAK *.JAR

Udemy такой Udemy

Web Development? Python? Flutter? iOS и Swift?

Dr. Angela Yu научит вас всему на свете!

Categories
*.JAR

Y2K bug

Двадцать лет прошло, а байки про Y2K все такие же глупые:

Эта хоть про Unix timestamp’ы знает?

Categories
*.BAK *.JAR

Дорогой “CTO” никому неизвестной галеры.
Если ты спрашиваешь Java программистов о том, кто разработал Pascal, то проблема явно не в Java программистах.

Categories
*.JAR

NodeJS в энтерпрайзе

https://habr.com/ru/company/yandex/blog/514550/

По ходу, NodeJS в 2020 дорос до того, что у тебя dependency injection через annotations.
Все как в Java Spring в 2010ом.

Categories
*.JAR

Java Champion

Когда в Java Champion’ы стали брать QA’ев:

Categories
*.BAK *.JAR

Индусики-миды в Канаде задолбали всех настолько, что туда уже готовы везти джунов-фронтендеров из Киева?

Categories
*.JAR

Spotify Failed

Читаю плач бывшего PM’а из Spotify на тему того, почему он считает тамошнюю культуру провальной, и тут такое:

Product managers should have an equivalent peer for engineering. Product managers should be accountable for the prioritization of work. Engineering managers should be accountable for the engineers’ execution, which includes being able to negotiate speed and quality tradeoffs with the product manager.

Миллениалы изобрели team lead’ов.

Categories
*.JAR

Дурачки и Go

Значало гошники кричат “жависты тупые, зачем столько переключателей в GC”.

А потом аллоцируют 10GB мусора, чтобы их GC для бедных не загнулся.

https://blog.twitch.tv/en/2019/04/10/go-memory-ballast-how-i-learnt-to-stop-worrying-and-love-the-heap-26c2462549a2/

Categories
*.BAK *.JAR

Skills Matter все

Давно так не смеялся.

12го декабря Skills Matter планировали устроить в Лондоне конференцию по Scala, на которую пригласили keynote’ом John De Goes.

Но какой-то левачок из Берлина накатал на John’а донос, от которого прослезился бы любой красный комиcсар. Дескать Джон white supremacist. И Skills Matter Джона выпнули.

Но Джон не ударил в грязь лицом, и организовал свой собственный лунапарк со Scala’ой и Funtional Programming. Тоже в Лондоне, и тоже 12го декабря. Объявление об этом пытались снять с официальной страницы Scala, дескать конференция создана на зло и только, но вмешался автор языка.

И тут сообщение, что Skills Matter сколапсились. И теперь единственная конференция по Scala 12го декабря в Лондоне – за Джоном.

Как говорится, “не рой другому яму”.

Categories
*.BAK *.JAR

Open source все

Под шум от дела Эпштейна взялись за Stallman’а, который RMS.

Все чтобы посадить на его место Нужных Людей с Правильной Идеологией.
Скоро в MIT как в совковых НИИ сотрудникам начнут колбасой платить, похоже.

Categories
*.BAK *.JAR

Вирус SJW и Open Source

Вирус SJW продолжает атаковать Open Source.
Собственно, с чего бы ему останавливаться, если даже у Линуса Торвальдса удалось отжать Linux.
Modus operandi у SJW всегда один и тот же. Сначала в меченый Open Source засыпается pull request с CoC, Code of Conduct.
Основное заявление CoC всегда одно и то же. Отныне и впредь этот open source должен принимать все pull request’ы от “меньшинств” без разбирательств.
Понятно, что для любого open source’а принятия такого CoC равно смертному приговору. Особенно учитывая, что любой мужик может объявить себя трансгендером со вчерашнего дня. Даже усы с бородой для этого сбривать не надо.
Дальше есть два варианта развития событий.
Либо автор open source этот CoC отвергает, и его начинают бойкотировать, потому что он дескать расист и гомофоб.
Либо же он его принимает. И спустя какое-то время его выпирают из его же проекта, на основании того, что он CoC не соответствует. Вестимо, большинство авторов open source’а – white cis male, очень offending типы, самим своим существованием.
Показательно, что текущая охота идет за John De Goes, который пару лет назад защищал Larry Garfield‘а, у которого тогда отжимали Drupal.
Теперь SJW уже вплотную взялись за самого John’а.

Categories
*.JAR

Scala, берегите свои глаза

Another common kind of operation combines the elements of a list with some operator. For instance:

sum(List(a,b,c)) equals 0+a+b+c

This is a special instance of a fold operation:

  scala> def sum(xs: List[Int]): Int = (0 /: xs) (_ + _)
  sum: (xs: List[Int])Int

Similarly:

product(List(a, b, c)) equals 1 * a * b * c

is a special instance of this fold operation:

  scala> def product(xs: List[Int]): Int = (1 /: xs) (_ * _)
  product: (xs: List[Int])Int

Не знаю кем нужно быть, чтобы (1 /: xs) (_ * _) показалось хорошей идеей.

Categories
*.BAK *.JAR

Tech? Girl? Wonder?

В биологии это называется мимикрией:

 

И вредит такое явление в основном настоящим женщинам.

Вместо того, чтобы выступила женщина-программистка, вроде той же Trisha Gee, ее биологическую нишу осознанно отъедает Это.

Меня больше всего смущает, что это Hannah Howard даже не особо пытается быть женщиной. Потому что быть женщиной – тяжело. А Hannah застряло где-то посредине, достигнув своих целей.

 

Categories
*.JAR

Scala головного мозга

Подсказка: не надо так делать

If a method is used in operator notation, such as a * b, the method is invoked on the left operand, as in a.*(b)—unless the method name ends in a colon. If the method name ends in a colon, the method is invoked on the right operand.

Categories
*.JAR

JavaScript в опасности

In JavaScript, functions are objects. Because of this, functions can take functions as arguments, and can be returned by other functions. Functions that do this are called higher-order functions. Any function that is passed as an argument is called a callback function.

Отсюда:
https://codeburst.io/javascript-what-the-heck-is-a-callback-aba4da2deced

Этот человек “учит” других JavaScript’у. И судя по тому, что у статьи 10K лайков, и она так и не исправлена, всякие индусы успешно “учатся”. И других уже “учат”, скорее всего.

Categories
*.JAR

Об абстракциях

Никитка, который не мог понять почему Android весит 6GB, оказывается и в абстракции не может. Ему бы не на Clojure с такими знаниями писать, а на Go каком-нибудь.

Categories
*.BAK *.JAR

Хипстеры в атаке

Левый (во всех отношениях) JavaScript opensource’ик решил запретить себя использовать всем “злым дядям”.
Если интересно, вот список “злых дядек”:
https://github.com/lerna/lerna/commit/250ec4f68f07903ef1d1b34170f93a796895f266#diff-9879d6db96fd29134fc802214163b95a
Методики достойные Коммунистической Партии.
К счастью, SJW’шку кикнули. Тут еще хороший отзыв: http://esr.ibiblio.org/?p=8106

Categories
*.JAR

Индусы покоряют Go

Меня не перестает изумлять способность индусов объяснить всему миру то, чего они сами не поняли.
https://golangbot.com/buffered-channels-worker-pools/
Великий исследователь придумал очень сложную concurrent задачу, которую иначе как Go не решить. Есть 100 трехзначных чисел. Для каждого нужно посчитать сумму цифр. Чтобы не было совсем скучно, каждая goroutine’а засыпает на две секунды. Если сумму цифр трехзначного числа можно посчитать за наносекунды, то секунда – это уже не один, а два порядка выше.
А теперь, внимание, фокус! Запускаем в два раза больше goroutine. Поскольку, все, что они делают 99.99% времени – это спят, конечно в два раза большее количество спящих недопотоков справилось с работой в два раза быстрей. С тем же успехом можно было бы создать их сразу сто, и получить десятикратный прирост performance’а. Вот где сила то!

Categories
*.JAR

Егорка и ORM

Как-то упустил в свое время этот высер Егорки про ORM:
http://www.yegor256.com/2014/12/01/orm-offensive-anti-pattern.html

Суть в том, что Егорка не любит ORM, и потому придумывает свой собственный, уникальный подход.
Впрочем, будучи неучем, ему невдомек, что его подход называется ActiveRecord, который он распилил напополам, и теперь пытается заставить хоть как-то работать.
Забавно, что как раз ActiveRecord из Ruby on Rails Егорка считает ORM’ом.

К счастью, даже среди ПэХэПэшников еще водятся разумные люди:
https://medium.com/@mantasd/orm-is-an-offensive-anti-pattern-really-42269673d54d