LINUX.ORG.RU

Сообщения upcFrost

 

protobuf и java

Форум — Talks

Вести с полей: решил попробовать заюзать протобуф и посмотреть какой классец он сделаем вместо моей шлачной деревянной pojo-модельки с пачкой аннотах для джексона, валидаторов и базы.

Короче ну его нафиг

Особо эпичный кусок сгенеренного кода:

            case 58: {
              if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
                field_ = new java.util.ArrayList<my.test.RepeatedField>();
                mutable_bitField0_ |= 0x00000040;
              }
              field_.add(
                  input.readMessage(my.test.RepeatedField.parser(), extensionRegistry));
              break;
            }

продолжаю наблюдение

p.s. для тех кто в танке. Это блин модель. И очень неплохо когда глядя на модель ты блин видишь что же в ней за поля и на кой хрен она вообще нужна.

p.p.s. кстати javanano вполне читабелен. Прям наверху поля и конструктор. Чисто и удобно

 , , , ,

upcFrost
()

Жидкости в самолёте

Форум — Talks

Оставлю это здесь поржать. Пятница в понедельник, вернее в воскресенье ночью.

Летел из Хельсинки, решил привезти маме камамбера (у нас его так и не осилили нормально). Все было ок помимо жёсткой вони из рюкзака. Начал проходить контроль, воду выпил-выкинул, прохожу...

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

Жж, удаляйте

 , , ,

upcFrost
()

Купил хромбук

Форум — Talks

Сабж. Купил жене для сериалов и прочей развлекухи. Збс машинка кстати, 28к стоит, не тормозит, умеет ставить хипстограм из гугель-стора, живет долго, легкий. Прям задумался не купить ли себе вторым ноутом.

Ноут Asus Chromebook Flip C302CA

Офис юзает гугловый когда надо, а так можно взять подписку и юзать. Mso для ведроида либо через браузер

Брал с авито, ноут для США изначально. Везли доставкой с Ярославля. Взял со второго раза, первый брал из Питера, но там батарейка была дохлая, пришлось сдать.

 ,

upcFrost
()

Гном, кеды, сорта

Форум — Talks

tl;dr Крупные DE говно, все что было хорошего слили

Успел уже побомбить про третьегном, поставил вместо него кеды, теперь бомбану и про них. И про юнити.

Сидел короче 5 лет в пещере на openbox, все было ок. Были некоторые острые углы, которые доставали, в частности переключение мониторов в дуалскрине и отсутствие интеграции с почтовиком. IDE один фиг одинаково будет выглядеть, xterm тоже красивее не станет.

В какой-то момент решил вылезти из пещеры и глянуть на юнити, ибо рабочий ноут на бубунте. Криво, коряво, и блин notification нельзя нажать. Что за нафиг? Почему нельзя открывать по клику окно программы, которая нотификацию послала? Что с этим убогим общим меню, зачем оно?

Ладно, хрен с ним, ушел обратно. Потом решил обновиться на 18.04. Сломалось столько всего, сколько на домашней генте ни разу не ломалось. И вместо кривого косого юнити встал гнум.

Гнум - это полная... счастье. В этом куске отработки тормозит все включая долбаное меню и переключатель раскладок. Как можно вообще заставить переключатель раскладок тормозить?

Отчаялся, пошел на кеды по старой памяти (версия 3.5 была когда-то). Все ок, не тормозит, хоть и не летает мягко говоря. Пытаюсь настроить почту и календарь. Если кратко - calDav через жопу сделан. Календарь не работает, адресная книга тоже. То есть половина кед (akonadi) для меня по факту не юзабельна. Очень смешно.

Пойду короче обратно на свой openbox, дерьмо все эти DE. И убунта тоже. Даже гента на unstable не так ломается.

Кстати, кому интересно. Количество багов в багтрекере KDE.

 , , , ,

upcFrost
()

Akonadi + CalDav

Форум — Desktop

граждане кедерасты, расскажите пещерному человеку, как блин настроить KOrganizer через CalDav? Ну или хотя бы как понять что ему не нравится?

Даю ему ссылку, парсит и видит объекты, сам туда захожу, все ок, возвращает список со строками типа «/calendar/upcfrost%40mydomain/123.ical». Но блин календарь считает что там ничего нет. Если по одному скачивать и давать календарю - все нормально.

В консоли смотрел, error code 0

 , ,

upcFrost
()

третьегном

Форум — Talks

вот на кой-то хрен обновился с бубунты 16.04 с убогой юнити на 18.04 с третьегнумом. Этот шлакоблок вообще настраивается? В настройках только «выключить или включить экраны» или «добавить раскладку».

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

Пойду обратно на openbox, ну его этот гном. Хороший же DE был, зачем его так извращать было?

 ,

upcFrost
()

Ubuntu bionic

Форум — Talks

Решил обновиться с 16.04, читаю лог

No longer supported: fonts-nanum fonts-symbola fonts-takao-pgothic 
  gcc-5-base gcc-6-base gitk gnome-screensaver graphviz gucharmap 
  libasan2 libgcc-5-dev libstdc++-5-dev subversion 
  ttf-ancient-fonts-symbola xterm

subversion, xterm

no longer supported

WUT???

 

upcFrost
()

Кто-нибудь ездил на беспилотнике яндекса в сколково?

Форум — Talks

Сабж. До Казани далеко, а сколково к дс близко. Вдруг кто катался

 ,

upcFrost
()

Каршер и селфи с паспортом

Форум — Talks

Ппц как пригорает с условий каршера и подобных сервисов. Да блин, даже не каршер. Аренда самоката? Селфи с паспортом. А потом открываешь гугель и на первой странице по сабжевому запросу видишь продажу этих фот по 250р за штуку.

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

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

 , ,

upcFrost
()

Numpy Structured Array

Форум — Development

Подскажите плз как с сабжем нормально работать? Цель - попытка заменить невероятно тормозной пандас.

Основная проблема - построчно с этой штукой отказывается работать большая часть np. Ну например надо тупо перемножить массив из одной строки с другим и подсчитать сумму элементов. Можно извратиться типа (A * np.asarray(B.item())).sum(), но это дичь какая-то.

я в целом понимаю что это связано с возможным (и крайне вероятным) различием dtype у каждого из элементов. Но блин, мне по факту в 99% случаев все что нужно от этого массива это имена полей. dtype в большинстве мест (кроме нескольких) у всех полей один и тот же. Может есть что-то еще кроме struct array для этого? Можно в целом держать dict с именами столбцов рядом, но это жесткий геморрой

 , ,

upcFrost
()

Он вам не Илон ч.2

Форум — Talks

В продолжение Он вам не Илон

Спутник таки нашли вроде. фокс конечно те еще новости, но все-таки линк

 , , ,

upcFrost
()

Ищу плагин для Gradle/Maven для сборки докера

Форум — Development

Сабж, желательно для Gradle, ибо на его выхлоп потом еще вешать кучу всего в следующем шаге.

Есть один нюанс. Плагин должен уметь после пуша доставать RepoDigests (через inspect или из выхлопа пуша - пофиг, главное чтоб доставал). Собственно на этом нюансе пока отвалились все доступные gradle-плагины.

 ,

upcFrost
()

Быстрый и логичный пузон

Форум — Talks

Сижу оптимизирую питонокод и тихо фигею. Ниже часть выкладок (тестовых, просто смотрю как лучше тот или иной кусок сделать) от которых больше всего опух

  • np.zeros(5)[list(range(1,3))] - 2.4 us
  • np.zeros(5)[range(1,3)] - 5.1 us

а ведь вроде list() это плюс еще один вызов. ну это еще ладно, генераторы лучше убрать в чулан, но вот дальше

def test1():
    a = np.zeros(5)
    c = list(range(1,3))
    for _ in range(0, 1000):
        a[c] += 5
def test2():
    a = np.zeros(5)
    c = list(range(1,3))
    for _ in range(0, 1000):
        a[c] = np.add(a[c], 5)
  • test1() - 4ms
  • test2() - 3ms (с a[c] = a[c] + 5 аналогично)

И судя по всем тестам оператор += в 90% случаев (кроме сложения целых чисел) тормознее чем тупое присвоение.

Веселее только то что если предварительно сделать что-то типа npadd = np.add, то работать оно будет еще чуть быстрее, потому что np.add каждый раз берет сначала указатель на np, а затем на add()

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

>>> unicode(None)
u'None'

 ,

upcFrost
()

Создайте тему про испанию в клубе

Форум — Linux-org-ru

Сабж. Тухловато, но лучше чем та фигня что там сейчас висит

 

upcFrost
()

дефолтные параметры в пузоне

Форум — Talks

загадка - что выдаст повторный вызов метода a() без параметров из класса ниже?

class A(object):
    def a(self, l=list()):
        l.append('b')
        return l

ну и второй вопрос - да, это есть в доке, но какого хрена? О_о

 

upcFrost
()

byte[] в String без изменений

Форум — Development

Мучаюсь с конвертацией байт-массива в строку. Никакой кодировки там нет, суть - обойти косяк следующей по вызову либы. Цель - байты должны дойти в строку без изменений с точки зрения hex.

Проблем две. Первая - byte в даже signed, а стока состоит из unsigned char. Пока додумался до цикла с byte & 0xff, но думаю где-то есть либа для этого

Вторая проблема что жаба видя странный символ думает что я упорот и фиксит его на хрен знает что либо падает в exception. Вот как это обойти пока хз, чую через charset.

Подскажите плз как это сделать без 100500 циклов и боли

 

upcFrost
()

Где в шланге проход векторизации

Форум — Development

upd: да, продуплил, это и правда opt делает. теперь надо рыть код opt'а

Кто-нибудь знает где в этой помойке коде шланга проход векторизации? или это вообще opt делает?

ну например когда читаем из двух массивов по 4 элемента и их перемножаем, чтоб получить

  %1 = bitcast i32* %a to <4 x i32>*
  %2 = load <4 x i32>, <4 x i32>* %1, align 4, !tbaa !1
  %3 = bitcast i32* %b to <4 x i32>*
  %4 = load <4 x i32>, <4 x i32>* %3, align 4, !tbaa !1
  %5 = mul nsw <4 x i32> %4, %2
  %6 = bitcast i32* %a to <4 x i32>*
  store <4 x i32> %5, <4 x i32>* %6, align 4, !tbaa !1

вместо

  %1 = load i32, i32* %a, align 4, !tbaa !1
  %2 = load i32, i32* %b, align 4, !tbaa !1
  %3 = mul nsw i32 %2, %1
  store i32 %3, i32* %a, align 4, !tbaa !1
  %4 = getelementptr inbounds i32, i32* %a, i64 1
  %5 = load i32, i32* %4, align 4, !tbaa !1
  %6 = getelementptr inbounds i32, i32* %b, i64 1
  %7 = load i32, i32* %6, align 4, !tbaa !1
  %8 = mul nsw i32 %7, %5
  store i32 %8, i32* %4, align 4, !tbaa !1
.......

Очень лень спрашивать в рассылке потому что там скорость реакции как у морской черепахи в пустыне. А в коде шланга искать что-либо бесполезно.

cast DELIRIUM, можт ты знаешь

 ,

upcFrost
()

Флюродрос на версии

Форум — Talks

полез на llvm.org поглядеть не вышел ли еще 4.0.1, чтоб поддерживать бэк в актуальном состоянии. читаю

LLVM Release Schedule:
    4.0.1:
        May 1, 2017:   -rc1
        May 22, 2017:  Deadline for submitting merge requests.
        May 29, 2017:  Deadline for merging changes.
        June 3, 2017:  -rc2
        June 10, 2017: Final Release (лпп кстати, не вышел)
    5.0.0:
        July 19, 2017: Branch point, -rc1.
        August 9: -rc2.
        August 23: Final tag, release.

это они так тонко намекают что раз в квартал будут совместимость ломать, или просто решили угнаться за лисой и хрумом в плане номера версии?

4.0 вышел 13 марта. Марта, блин! 2017 года! если 5.0 поломает совместимость (а она поломает) - это вообще собачий цирк будет а не разработка. и так с 3.9 на 4.0 два дня переписывал, задрался с их вечными скачками в названиях функций

p.s. кстати, их доки лежат или у меня инет тупит? 404 на все страницы. я про class reference и сорцы если что

 ,

upcFrost
()

слегка припух с крестов

Форум — Development

Только что слегка припух с крестов, внезапно выяснил что следующая конструкция выкидывает ошибку

unsigned count = block->size();
State lastState[count] = { STATE_START };

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

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

Перемещено Klymedy из talks

 

upcFrost
()

О пользе предупреждений

Форум — Talks

Сижу копаюсь в гитлабе. Не взлетает registry, проблема в конфиге для nginx (external). Ну думаю ладно, ща проверю какой конфиг nginx он там генерит, скопирую, подправлю, все збс будет.

Включаю опцию для внутреннего nginx, реконфиг, скопировал конифг, подправил. включаю - ругается на ssl. проверяю что случилось - выяснилось что этот засранец (gitlab-ctl, работает через chef) перегенерил закрытый ключ, чтоб его черти драли! обливаясь потом начинаю рыться где есть бэкап, иначе завтра будет пиндец. в итоге нашел бэкап (хоть и с приключениями), выгрузил, все збс.

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

 ,

upcFrost
()

RSS подписка на новые темы