Size: a a a

2018 August 20
javawatch
Переслано от Vik Gamov
Всем понедельник, а это значит, что пора потреблять #ДжаваДайджест

👓  https://jug.ru/2018/08/digest-week-71
🎧 http://razbor-poletov.com/2018/08/episode-176.html

Давайде дружно скажем спасибо @olegchir и @JBaruch за работу!
источник
2018 August 21
javawatch
Рей Крок - "есть свободная минута - наводи подрядок"

Соотстветственно, в моем случае - "есть свободная минута - пиши техническую статью"

Вот и вся блин правда жизни
День без коммита в какой-то текст прожит зря
источник
2018 August 22
javawatch
Переслано от Евгений Нефедов...
источник
2018 August 24
javawatch
Только что один из топовейших Java/JS/.NET международных спикеров, Venkat Subramaniam, потратил два часа на интервью со мной и Евгенем Трифоновым. Это... удивительно, учитывая какой там лютейший график. Он даже сорвал голос под конец, и неудивительно - этот чувак может лететь 15 часов и потом сразу выступать на собрании юзергруппы, но вот голосовые связки не железные. Наверное, оформим в виде двух статей, в зависимости от того, кто задавал вопросы. Женина часть будет про путешествия и проведение докладов. Моя часть будет про функциональное и реактивное программирование, эволюцию разных языков и изменение майндсета разработчиков.
источник
javawatch
У нас было два 4K-видеопроцессора Kramer, 20 радиомикрофонов, 5 видеосплиттеров, 8 ящиков с проводами и гора адаптеров, переходников, блоков питания и всего такого, всех цветов, а ещё система сквозного мониторинга, система управления залами, ящик с силовой коммутацией, пол-ящика с оборудованием для тестирования и две дюжины переходников для новых макбуков. Не то, чтобы всё это было нужно на конференции, но раз начал заниматься оборудованием, то иди в своём увлечении до конца. Единственное, что меня беспокоило — это электричество. В мире нет никого более беспомощного, безответственного и безнравственного, чем электрик на площадке. И я знал, что довольно скоро мы в это окунёмся.
источник
2018 August 28
javawatch
Джава там тоже в Котлина (ажно трех докладов включая Бреслава и Елизарова), Борисова, итп

https://habr.com/company/jugru/blog/421359/
источник
2018 August 29
javawatch
Только что вместе с Женей провели интервью с настоящим живым Джефри Рихтером. Да, тем самым который написал самые известные книжки про кишки Шиндовс, открыл компанию Wintellect, и сейчас видный чувак в Azure

Он оказался умным и доброжелательным чуваком, с очень взвешенным вглядом на жизнь. Изучает Golang и Python, кстати. Несмотря на свою позицию, реально пишет на них код. И на Java тоже!
источник
javawatch
А еще Рихтер рассказал, что у него совершенно точно такие же проблемы с написанием постов и отсутствием сил их делать. И решил он это жестким графиком, планированием и маниакальной самодисциплиной. Может, в жопу мой "гибкий график". Только расписание, только хардкор.

Олсо, он заявился с докладом на этот DotNext 2018. Нужно будет поймать его и допрашивать о том, как правильно писать по графику. Для меня это как-то сильно важней, чем что там в рослине, это можно и нагуглить или Акиньшина спросить
источник
2018 August 30
javawatch
Привет, дневничок. Ещё один вечер охуительного компания в architecture descriptor файлах.

Оказалось, что ловеринг для PowerPC написан эээ не очень удобно для чтения.

Да и сам PPC... Например, там есть инструкция TWI. Она сравнивает регистр RA с филдом SI на основании TO бита, который может быть в промежутке от 0 до 4, где 0-1 это знаковые "больше" и "меньше", 3-4 - они же но беззнаковые, и 2 - равенство. Сэкономили так сэкономили! И потом в .ad на эту тему какие-то танцы. Главное чтобы во сне не приснилось.

Ещё там все густо намзано предикатами вида followed_by_acquire, думать почему уже слишком хочется спать, да и вроде нам это не нужно

Вначале смотрели x86 и aarch64, тоже грустили, но меньше.

Потом обнаружили порт mips64 от Loongnix и понимание пошло куда проще. Там люди пишут настоящие комментарии !!! И функции у них названы не так, как будто автор был на измене, как будто его лихоманка била. Всё чистенько, аккуратненько.

Очень сильно мешает отсутствие какой-либо документации вообще. Непонятно какие слова можно использовать в ad-файлах, хотя оно могло бы быть в вики.. Непонятно откуда берутся всякие операнды типа imm_63 (почему 63? это какой-то сдвиг?), хотя оно могло бы быть в комментариях. Итд итп. Нигде капсом не написано: "ВОТ ЭТОТ СЕТ ВАМ РЕАЛИЗОВАТЬ ОБЯЗАТЕЛЬНО, а все остальное - по желанию"

Думаю что надо начинать вести блог с документацией ко всему этому говну. (Хотя Оракл мог бы просто взять и выложить свою вики, наверняка у них таковая имеется).

В общем пока идея в том, что список необходимых для реализации вещей лежит в vmStructs, в секции " Matcher (C2 only) ". Надо вначале пройти по нему, и реализовать всё с помощью нарытого в ISA. И дальше наоборот - бежать по ISA и придумывать, какие вещи можно заматчить более умным образом.

Конец дня был ознаменован чтением вслух user-level ISA нашей платформы. От этого стало легко и приятно, и зачесалось qemu.

Отдельное совершенно пока непонятное - про i2c и c2i, стабы методов, трамплины (которые где-то реализованы, и где-то нет, не говоря уж о том что непонятно пока что это такое). Документации как повелось, нет. Надо разбираться.

Продолжаю наблюдение.
источник
javawatch
- Петька, иммидиейт!
- 63!
- Что 63?
- А что иммидиейт?

operand immL_63()
%{
 predicate(n->get_int() == 63);


instruct div2RoundL(iRegLNoSp dst, iRegL src, immL_63 div1, immL_63 div2) %{
 match(Set dst (AddL src (URShiftL (RShiftL src div1) div2)));
источник
javawatch
Сделал интервью с одним из ключевых разработчиков языка Kotlin, Романом Елизаровым:

https://habr.com/company/jugru/blog/421607
источник
2018 August 31
javawatch
Решили сделать ход конем и сделать интервью с интервьюером. Сегодня в нашей виртуальной студии @asm0dey 😊

https://habr.com/company/jugru/blog/421749/
источник
2018 September 04
javawatch
Обещанное интервью с Рихтером. Это тот чувак из Microsoft Azure Storage, который учит Java, Go и Python :)

Принципиально новая, менее унылая верстка текста. Заницените, хорошо получилось?

https://habr.com/company/jugru/blog/422251/
источник
2018 September 05
javawatch
источник
javawatch
Как вы, возможно, помните, весной на портале JUG.ru проводили эксперимент: еженедельные дайджесты по языку Scala. Эксперимент удался настолько, что оказалось осмысленным иметь отдельный сайт про Scala. Сейчас этот сайт запущен, живёт своей жизнью и поддерживается силами отдельной Scala-редакции.

Итак, встречайте ScalaNews.org! *Шампанское, конфетти, салют*

Несмотря на то, что в редакции есть полный минимальный состав — от экспертов по Scala до собственного художника и девопс-инженера, вы всё еще можете вписаться в тему и поучаствовать в подготовке материалов. Например, вам хочется поделиться своей интересной новостью или что-то такое. Для этого в конце дайджеста есть контактная информация, можно писать Олегу Чирухину или кому угодно из авторов. Мы будем очень рады и благодарны хорошим новостям и статьям.

Ну и да. Вышла новая версия дайджеста. Можно начинать наслаждаться чтением.

https://scalanews.org/ru/2018/09/03/digest-8-2/
источник
2018 September 07
javawatch
как вы знаете, Java — молодой развивающийся язык
совсем недавно у нас было мало модификаторов, поэтому мы решили добавить ещё один...

встречайте:
lazy private final static Logger LOGGER = Logger.getLogger("com.foo.Bar");

https://habr.com/company/jugru/blog/422629/
источник
javawatch
Но вот вы просто задумайтесь.

Роуз первой строчкой пишет, что по классу на переменную (чтобы симулировать ленивость) - это зашквар

А потом говорят: ой. мы забыли, самого слова lazy недостаточно, ведь рантайм же как-то должен понять, что поле неиницализированное!

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

Поэтому давайте-ка мы отмечать, что переменная не инициализирована тем фактом, что она инициализирована дефолтным значением

Если на поле одновременно и lazy, и например для инта она равна нулю - значит это неинициализированный lazy, и при первом использовании нужно запустить его инициализатор

И перфоманс нихуевый такой, и вообще

НО ЭТО ЗНАЧИТ ЧТО ДЛЯ ВСЕХ ПРАКТИЧЕСКИХ ПРИМЕНЕНИЙ ПРИДЁТСЯ ОБОРАЧИВАТЬ ВСЁ В КЛАССЫ-ОБЁРТКИ!

например, если ты хочешь ленивый boolean, то тебе придётся делать

lazy Optional<Boolean>

потому что нахуя тебе boolean, который может иметь всего одно значение - true? false нельзя, потому что это будет дефолт, и всё упадет с ошибкой

убежали от классов-обёрток, говорите, ага.

Какая-то ебанина творится
источник
javawatch
lazy private final static Opional<Logger> LOGGER = Optional.of(Logger.getLogger("com.foo.Bar"));
источник
2018 September 08
javawatch
О системном. Скоро чувак, понимающий устройство кишков React.js будет считаться системным!

К слову сказать, а почему вы так дрочите на разделение вёрстки и кода? Давайте пропустим ту часть, где доказывается, что jsx - это не html и сразу перейдём к части, где доселе не существующий человек может доказать оправданность этого выделения вёрстки в отдельный файл
источник
javawatch
источник