@hirthwork

Тег идиоты в блоге hirthwork

hirthwork

Если ты талантливо мочишь крипов, вовсе не означает, что ты знаешь как правильно хранить персональные данные в открытом доступе: https://www.cybersport.ru/n...v-rabote-google-docs

hirthwork

Если мне захочется найти формальный повод забанить или похуесосить magog, то я просто перечитаю #midhl/31 и повод найдётся.

hirthwork

Спонсор и адресат сегодняшних лучей поноса — mail.ru, который до 23 января 2015 года рассылал DMARC Aggregate Reports с Subject сформированным строго в соответствии с rfc7489, а после этого изменивший формат на несколько иной, rfc не соответствующий.

hirthwork

Не регайтесь на dominospizza.ru — они присылают ваш пароль в плейнтексте

hirthwork

МГТС прислал спам с темой «Жаркое лето на Цифровом ТВ!»
Они ещё и издеваются

hirthwork

Теперь я видел всё™. Снова. Чувак попросил помощи в разборе проблемы и прислал скриншот логов: http://mail-archives.apache...bqCQ@mail.gmail.com>

hirthwork

бланк ОСАГО имеет размер 210х304 мм

hirthwork

СУКА БЛЯДЬ ПИЗДА НАХУЙ
ДЕСЯТЬ МИНУТ ЗАНИМАЛА ТЕРМИНАЛ ОПЛАТЫ
СУКА ТУПАЯ НАСОСИ НА ИНТЕЛЛЕКТ УЖЕ

hirthwork
hirthwork
hirthwork

Тем временем в ржд изобрели летающие поезда

hirthwork

Расскажу как мне сегодня припекло от опенсорса.

Есть библиотека Apache PDFBox. Есть там одно (единственное) место, где нужно отсортировать нестандартные объекты. Под нестантартные имеются ввиду объекты, компаратор которых не отвечает требованию транзитивности.
Начиная с Java 7 стал использоваться tim sort, который кидает эксепшен, если детектит, что компаратор не обеспечивает транзитивность.
Итак, итерация первая: Чуваки написали свой собственный quick sort (сортировка Хоара), который не делает подобных проверок: http://grepcode.com/file/re...il/QuickSort.java#68

Сортировка формально правильная, вот только на длинных отсортированных массивах падает со StackOverflowError. Потому что нехуй длинные рекурсии городить.
Когда я на эту проблему наступил, то недолго думая развернул одну из веток рекурсии. Т.е. если левая часть от делителя больше, то я делаю вызов quick sort для правой, а для левой делаю split в контексте текущего вызова — таким образом максимальная глубина рекурсивных вызовов становится log N и никакой ошибки. Да и работает быстрее, за счёт устранения лишнего вызова.

Но это вы прочитали про то как проблему решает инженер. Опенсорс коммьюнити идёт совершенно другим путём. Эти специалисты решили, что если стека потока не хватает, то нужно эмулировать стек в куче! https://svn.apache.org/view...&pathrev=1723157#l71
Т.е. заводим Stack<Integer> и пихаем в него пары границ итерирования. Охуенно же! Теперь у нас есть аллокации в памяти которых у нас не было, а так же есть O(N) дополнительный вызовов Stack<Integer>.push()/pop(), которые, я напомню забывшим, являются synchronized, т.е. как минимум используют спинлок!

В общем, повторю фразу тимлида: «У меня складывается ощущение, что в опенсорсе вообще никто не думает о производительности»

hirthwork

Мне не нравятся письма от gog с темой "Более 40 способов стать героем не отходя от экрана!"

hirthwork

это постыдное чувство, когда на англоязычном форуме встречаешь соотечественника:

hi. i'm from russia and i want supported this project(i2p). who is users from russia supported it. write me!!!
sorry, i don't speak english well.

© http://zzz.i2p/topics/2012-help-me

hirthwork

Из #anwn мы узнаём, что вереск настолько криворук, что не смог на школьной лабораторке вычислить g. Я как щас помню — у меня 9.83 м/с² получилось тогда

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.