juan_gandhi: (VP)
[personal profile] juan_gandhi
В выходные Арно апрувнул кусочек моего кода; good timing, Клиф где-то шлялся, и не успел покритиковать. Теперь он пишет:

fyi - allowing a setAny is one of those performance leaks I've been talking about. If you call it by the 1'sies and 10'sies it's all fine. If you call it by the billions, you'll be drowning in GC costs - you made at least the billion objects that are getting passed it, but probably lots more to get there.
Having the programming model specifically disallow slow-at-scale coding has been a design goal of H2O - and as a consequence nearly always the code is fast by default. You have to think a little bit more up front, but it's hella faster in the long run.

Может быть, сишники с ним и согласятся, но я думаю, это он глуповато выступил.

А я ему написал

Talking about setAny specifically, I consider it as a temporary solution that will be eventually removed, replaced with a more type-safe solution; of course making an ad-hoc decision for each value is not nice. Eventually I'm planning to have type-safe classes for doing stuff safely and efficiently.

In general, I think, not giving our users a choice between a comfortable and an arguably more efficient (nobody measured) API may be a disservice to our customers. The speed of development, I believe, beats the speed of execution. An hour of a developer is worth about 10^15 operations on an Amazon small instance, if I'm not mistaken.

I'd also love to see specific performance results from profilers. Without measurable, verifiable data it's some kind of religious discussion whose invisible god is better.

----------an update from Cliff---------- the guy is definitely new to trolling

Yeah, and 10^15 ops takes about a few minutes on a cluster.
You say "arguably more efficient (nobody measured) API" - bullshit!!!!
Of course we measured, over and over again. Please go do some serious
measurement - and don't bother quoting "without measurement it's a
religious discussion" bullshit at me; I f*cking made Java performant, by
religiously measuring everything - and then talking about it every forum
I could about the importance of measurement.

Sigh - we're clearly talking right past each other.

I said "Cost model is important" and you said "Type Safety".
Type safety is wonderful, until the program runs so slow that no one
bothers.... which will pretty much be the case for all datasets > 1bn
elements (or even 1m elements if you get slow enough!).

Type-Safety is not "efficient", although you can have both type safety
and efficiency (Example: set(long row, double value) - is both type-safe
and efficient).

H2O is/was intended for data that's: too big for a single machine, and
too big for e.g. Python style approaches, because it's too slow to
manipulate that way. There has always been a core need for speed in
these problems, one which you (and to some extent Pasha) appear to be
throwing away as fast as you can. It won't be coming back easily! So
before you go about busily adding Yet Another Function Call overhead, or
Yet Another Auto-Boxing call, I suggest YOU do some performance measures
- and see what the cost to use your fancy setAny call is vs what's there
already.

Execution time for Double vs double HAS been measured, a-lot. It's
between 100x and 1000x slower. Slow enough that's its a Real Bug - some
stuff simply does not complete soon enough to be bothered with.

And - to head this off at the pass - 90% of the time I see somebody
without any performance experience talk benchmarks, they invariably
start with some amazingly slow code, and add some modest more overhead -
and report "it's about the same". I suggest you start with e.g. the
RollupStats code, which is fairly complex but also fairly fast... and
try adding a few Double vs double calls and see what happens. Be sure
to measure on big enough data that It Matters, and data big enough
relative to your heap that It Matters - i.e., you should be seeing tons
of GC if you make a few billion Doubles, and if you're not seeing it,
then you are "cheating" - using more heap & hardware than data.

Cliff

=========my answer==========
Thank you. It was very interesting to read. I deeply apologize, I'm new in this company. So far I could not find any performance test in our codebase. I'll be happy to use some, to make sure my new code does not deteriorate anything. I have some points of improvement in mind, but without the profiling framework I can't test them.
(deleted comment)
From: [identity profile] snowps.livejournal.com
Это напоминает реднековские закидоны с наклейками на пятилитровых GMC "Fuck fuel economy!" :) Если серьёзно, то любая концептуальность в системах, ориентированных на высокую производительность, всегда имеет меньший приоритет, чем скорость выполнения и низкая латентность обмена данными. Если код слишком высокоуровневый, то он часто слабопредсказуем по латентности исполнения (в том числе и из-за GC), так что disallow slow-at-scale coding - это вполне здравое решение, если у них приоритет в производительности, нравится это или нет.
Edited Date: 2016-10-17 05:25 pm (UTC)

Date: 2016-10-17 05:16 pm (UTC)
From: [identity profile] dvig-al.livejournal.com
Чего глуповато? Вероятно, он полагается на имеющийся опыт.
Я тоже сталкивался с проблемами из-за сумасшедшего allocation rate в горячих местах (под 1000 запросов в секунду), который был причиной частых минорных сборок. После профилирования и рефакторинга, application time увеличился в 3-4 раза.

Scala расхолаживает, тут функция, сям функция, не говоря о трихомонадах и их переносчиках.
Edited Date: 2016-10-17 05:18 pm (UTC)

Date: 2016-10-17 05:18 pm (UTC)
From: [identity profile] con-vertor.livejournal.com
я бы замочек на пост поставил...)

Date: 2016-10-17 05:46 pm (UTC)
From: [identity profile] juan-gandhi.livejournal.com
:) чуть попозже

(no subject)

From: [personal profile] dennisgorelik - Date: 2016-10-17 11:06 pm (UTC) - Expand

Date: 2016-10-17 05:22 pm (UTC)
From: [identity profile] sleepy-drago.livejournal.com
свежий пример. виндовс 10 x64 все патчи итп в одном чувствительном к паузам приложении при вызове win32 HeapFree (освободить блок памяти) - пауза 30мс. Сижу вот думаю что с этим делать =)
и да переписка лучше под замок

Date: 2016-10-17 05:26 pm (UTC)
From: [identity profile] zinal.livejournal.com
Религиозный спор, ага.

> Without measurable, verifiable data it's some kind of religious discussion whose invisible god is better.

+1

Date: 2016-10-17 05:34 pm (UTC)
From: [identity profile] snowps.livejournal.com
Тут и без измерения понятно, что мусор сам собой не убирается - вопрос только в его количестве. Даже инкрементальный GC может существенно повредить производительности параллельного исполнения из-за увеличения латентности выдачи результата отдельными тасками, а уж если мусора перебор будет, то там всё легко может на секунды колом встать.

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-10-17 05:49 pm (UTC) - Expand

(no subject)

From: [identity profile] kzn.livejournal.com - Date: 2016-10-17 06:21 pm (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-10-17 07:46 pm (UTC) - Expand

(no subject)

From: [identity profile] kzn.livejournal.com - Date: 2016-10-17 07:50 pm (UTC) - Expand

(no subject)

From: [identity profile] http://users.livejournal.com/_xacid_/ - Date: 2016-10-17 09:03 pm (UTC) - Expand

(no subject)

From: [identity profile] kzn.livejournal.com - Date: 2016-10-17 09:16 pm (UTC) - Expand

(no subject)

From: [identity profile] http://users.livejournal.com/_xacid_/ - Date: 2016-10-17 09:22 pm (UTC) - Expand

(no subject)

From: [identity profile] tridecahedron.livejournal.com - Date: 2016-10-17 11:50 pm (UTC) - Expand

(no subject)

From: [identity profile] http://users.livejournal.com/_xacid_/ - Date: 2016-10-17 09:01 pm (UTC) - Expand

(no subject)

From: [identity profile] kzn.livejournal.com - Date: 2016-10-17 09:17 pm (UTC) - Expand

(no subject)

From: [identity profile] http://users.livejournal.com/_xacid_/ - Date: 2016-10-17 09:20 pm (UTC) - Expand

(no subject)

From: [identity profile] http://users.livejournal.com/_xacid_/ - Date: 2016-10-17 09:39 pm (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-10-17 09:58 pm (UTC) - Expand

(no subject)

From: [identity profile] sassa-nf.livejournal.com - Date: 2016-10-17 10:24 pm (UTC) - Expand

(no subject)

From: [identity profile] http://users.livejournal.com/_xacid_/ - Date: 2016-10-17 10:40 pm (UTC) - Expand

(no subject)

From: [identity profile] sassa-nf.livejournal.com - Date: 2016-10-17 11:02 pm (UTC) - Expand

(no subject)

From: [identity profile] http://users.livejournal.com/_xacid_/ - Date: 2016-10-17 11:10 pm (UTC) - Expand

(no subject)

From: [identity profile] http://users.livejournal.com/_xacid_/ - Date: 2016-10-17 10:02 pm (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-10-17 10:55 pm (UTC) - Expand

(no subject)

From: [identity profile] snowps.livejournal.com - Date: 2016-10-17 06:24 pm (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-10-17 07:47 pm (UTC) - Expand

(no subject)

From: [identity profile] snowps.livejournal.com - Date: 2016-10-17 08:53 pm (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-10-17 10:54 pm (UTC) - Expand

(no subject)

From: [personal profile] ppk_ptichkin - Date: 2016-10-17 11:03 pm (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-10-18 12:16 am (UTC) - Expand

(no subject)

From: [personal profile] dennisgorelik - Date: 2016-10-18 01:05 am (UTC) - Expand

(no subject)

From: [identity profile] gineer.livejournal.com - Date: 2016-10-19 06:30 am (UTC) - Expand

(no subject)

From: [identity profile] http://users.livejournal.com/_xacid_/ - Date: 2016-10-17 09:34 pm (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-10-17 09:58 pm (UTC) - Expand

(no subject)

From: [personal profile] dennisgorelik - Date: 2016-10-17 11:11 pm (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-10-18 01:32 am (UTC) - Expand

(no subject)

From: [personal profile] dennisgorelik - Date: 2016-10-18 01:47 am (UTC) - Expand

Date: 2016-10-17 06:42 pm (UTC)
From: [identity profile] izard.livejournal.com
Обычно да. Но если человек хорошо знает какую-то кодовую базу, и регулярно видит результаты ее профилировки, то может появиться устойчивая и надежная интуиция на этот счет. Скорее всего, не этот случай, но вдруг?

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-10-17 07:47 pm (UTC) - Expand

Date: 2016-10-17 05:31 pm (UTC)
From: [identity profile] blackyblack.livejournal.com
Вот это демарш. Респект.

Date: 2016-10-17 05:54 pm (UTC)
From: [identity profile] juan-gandhi.livejournal.com
Да ладно, я как погляжу вокруг, по жизни... мы еще мирные люди.

(no subject)

From: [personal profile] dennisgorelik - Date: 2016-10-17 11:26 pm (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-10-18 12:15 am (UTC) - Expand

(no subject)

From: [personal profile] dennisgorelik - Date: 2016-10-18 12:22 am (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-10-18 12:27 am (UTC) - Expand

(no subject)

From: [identity profile] gineer.livejournal.com - Date: 2016-10-19 06:35 am (UTC) - Expand

(no subject)

From: [personal profile] dennisgorelik - Date: 2016-10-19 06:40 am (UTC) - Expand

(no subject)

From: [identity profile] gineer.livejournal.com - Date: 2016-10-19 06:56 am (UTC) - Expand

(no subject)

From: [personal profile] dennisgorelik - Date: 2016-10-19 06:59 am (UTC) - Expand

(no subject)

From: [identity profile] gineer.livejournal.com - Date: 2016-10-19 07:27 am (UTC) - Expand

(no subject)

From: [personal profile] dennisgorelik - Date: 2016-10-19 07:46 am (UTC) - Expand

Усё с вами ясно %)

From: [identity profile] gineer.livejournal.com - Date: 2016-10-19 08:02 am (UTC) - Expand

Date: 2016-10-17 06:14 pm (UTC)
From: [identity profile] link0ff.livejournal.com
Premature optimization is the root of all evil.

Date: 2016-10-17 06:20 pm (UTC)
From: [identity profile] juan-gandhi.livejournal.com
I don't think he read DEK's books.

(no subject)

From: [identity profile] snowps.livejournal.com - Date: 2016-10-17 09:01 pm (UTC) - Expand

(no subject)

From: [identity profile] yatur.livejournal.com - Date: 2016-10-17 09:11 pm (UTC) - Expand

(no subject)

From: [personal profile] dennisgorelik - Date: 2016-10-17 11:16 pm (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-10-17 09:59 pm (UTC) - Expand

(no subject)

From: [identity profile] yatur.livejournal.com - Date: 2016-10-17 11:47 pm (UTC) - Expand

(no subject)

From: [identity profile] snowps.livejournal.com - Date: 2016-10-18 04:47 am (UTC) - Expand

Date: 2016-10-17 06:27 pm (UTC)
ppk_ptichkin: (Default)
From: [personal profile] ppk_ptichkin
Ещё можно приложить к этому profiling data. Плевать в душу, так с размахом.
Edited Date: 2016-10-17 06:56 pm (UTC)

Date: 2016-10-17 07:10 pm (UTC)
From: [identity profile] yatur.livejournal.com
> allowing a setAny is one of those performance leaks...
> specifically disallow slow-at-scale coding has been a design goal of H2O...
> the code is fast by default

Да, ты попал... Это же какой-то параноидальный бред из начала 70-х годов. Если этот ваш Клиф так сильно печется о производительности, то где тесты? Где объективные критерии?

"Performance leak" - это просто такой ярлык, который позволяет запретить неприятное на основании "я ж@пой чую, что будет медленно". Вы там что, драйвера пишете? Или какой-то real-time signal processing? Тогда какой идиот придумал делать это на Джаве? По большому счету, Джава - это один большой performance leak.

И что такое "slow-at-scale coding"? Все, что будет медленно работать, если его вызвать миллиард раз при 640К памяти? Или это просто все, что по какой-то причине не нравится Клифу?

Я понимаю демарш "мне кажется, этот setAny может сильно повлиять на производительность, прогони пожалуйста stress test #42 и посмотри, не вылезли ли мы за 10 секунд". В противном случае, это просто старческое брюзжание инженера, привыкшего экономить циклы процессора со времен PDP7, у которого единственный критерий - инженерная интуиция.

Date: 2016-10-17 07:45 pm (UTC)
From: [identity profile] juan-gandhi.livejournal.com
Какая может быть потеря перформенса, если это новый метод, который никто еще не вызывал, кроме теста.

(no subject)

From: [identity profile] yatur.livejournal.com - Date: 2016-10-17 08:05 pm (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-10-17 10:53 pm (UTC) - Expand

(no subject)

From: [personal profile] dennisgorelik - Date: 2016-10-17 11:21 pm (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-10-18 12:12 am (UTC) - Expand

(no subject)

From: [identity profile] yatur.livejournal.com - Date: 2016-10-18 12:27 am (UTC) - Expand

(no subject)

From: [personal profile] dennisgorelik - Date: 2016-10-18 01:11 am (UTC) - Expand

(no subject)

From: [identity profile] yatur.livejournal.com - Date: 2016-10-18 01:15 am (UTC) - Expand

(no subject)

From: [personal profile] dennisgorelik - Date: 2016-10-18 01:27 am (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-10-18 02:08 am (UTC) - Expand

(no subject)

From: [identity profile] yatur.livejournal.com - Date: 2016-10-18 03:30 am (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-10-18 05:14 am (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-10-18 01:31 am (UTC) - Expand

(no subject)

From: [identity profile] anatoly borodin - Date: 2016-10-18 11:25 am (UTC) - Expand

(no subject)

From: [personal profile] dennisgorelik - Date: 2016-10-19 01:37 am (UTC) - Expand

(no subject)

From: [identity profile] anatoly borodin - Date: 2016-10-19 02:46 am (UTC) - Expand

(no subject)

From: [personal profile] dennisgorelik - Date: 2016-10-19 03:30 am (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-10-19 04:43 am (UTC) - Expand

(no subject)

From: [personal profile] dennisgorelik - Date: 2016-10-19 06:39 am (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-10-19 02:30 pm (UTC) - Expand

(no subject)

From: [personal profile] dennisgorelik - Date: 2016-10-19 03:35 am (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-10-19 04:49 am (UTC) - Expand

(no subject)

From: [personal profile] dennisgorelik - Date: 2016-10-19 06:37 am (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-10-19 02:29 pm (UTC) - Expand

(no subject)

From: [personal profile] dennisgorelik - Date: 2016-10-19 02:56 pm (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-10-19 03:34 pm (UTC) - Expand

(no subject)

From: [personal profile] dennisgorelik - Date: 2016-10-19 03:36 pm (UTC) - Expand

(no subject)

From: [identity profile] anatoly borodin - Date: 2016-10-19 12:47 pm (UTC) - Expand

(no subject)

From: [personal profile] dennisgorelik - Date: 2016-10-19 02:30 pm (UTC) - Expand

Date: 2016-10-17 09:06 pm (UTC)
From: [identity profile] http://users.livejournal.com/_xacid_/
так а что именно он предлагает делать в данном конкретном случае? :)
вообще не использовать никаких аллокаций? а стек у него не треснет?)

кстати - если из setAny убрать вообще return и сделать его void то тогда с очень большой долей вероятности никакого боксинга и GC вообще не будет (escape analysis):

http://docs.oracle.com/javase/7/docs/technotes/guides/vm/performance-enhancements-7.html#escapeAnalysis
Edited Date: 2016-10-17 09:58 pm (UTC)

Date: 2016-10-17 11:41 pm (UTC)
From: [identity profile] errorrishe.livejournal.com
именно, со стеком смоется и всего делов.

Date: 2016-10-18 12:25 am (UTC)
From: [identity profile] juan-gandhi.livejournal.com
Он предлагает, чтоб служба медом не казалась.
Например, вместо UUID использовать long[2]. В его воспаленном сознании это "эффективнее".

(no subject)

From: [identity profile] http://users.livejournal.com/_xacid_/ - Date: 2016-10-18 12:38 am (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-10-18 01:31 am (UTC) - Expand

Date: 2016-10-17 11:30 pm (UTC)
From: [identity profile] juan-gandhi.livejournal.com
An update. Cliff strikes back (see the text).

Date: 2016-10-17 11:38 pm (UTC)
From: [identity profile] errorrishe.livejournal.com

за premature optimization без пруфов надо бить как последних петухов, только ногами

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

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

Date: 2016-10-18 12:02 am (UTC)
From: [identity profile] yatur.livejournal.com
Да не, этот, похоже, не безнадежен. Наш человек, болеет за дело, хотя и отягощен багажом дурацких стереотипов + привык иметь дело с идиотами. Обычно с такими можно найти общий язык, после того как до него дойдет, что ты не идиот.

Гораздо хуже обтекаемо-скользкие политиканы, которые начинают вместо технических аргументов нести пургу про company values, delighting the customers и being a team player.

(no subject)

From: [identity profile] errorrishe.livejournal.com - Date: 2016-10-18 12:07 am (UTC) - Expand

(no subject)

From: [identity profile] yatur.livejournal.com - Date: 2016-10-18 12:10 am (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-10-18 12:11 am (UTC) - Expand

(no subject)

From: [identity profile] yatur.livejournal.com - Date: 2016-10-18 12:23 am (UTC) - Expand

(no subject)

From: [identity profile] gineer.livejournal.com - Date: 2016-10-19 06:51 am (UTC) - Expand

(no subject)

From: [identity profile] errorrishe.livejournal.com - Date: 2016-10-18 12:14 am (UTC) - Expand

Date: 2016-10-18 12:11 am (UTC)
ppk_ptichkin: (Default)
From: [personal profile] ppk_ptichkin
> Execution time for Double vs double HAS been measured, a-lot

C'est vraiment?

Date: 2016-10-18 12:12 am (UTC)
From: [identity profile] juan-gandhi.livejournal.com
Je ne croix rien qu'il dit.

(no subject)

From: [personal profile] ppk_ptichkin - Date: 2016-10-18 12:57 am (UTC) - Expand

Date: 2016-10-18 12:49 am (UTC)
dennisgorelik: 2020-06-13 in my home office (Default)
From: [personal profile] dennisgorelik
> I'm new in this company.

"I'm new in H2O.io" would be better, because it's implies more personal relationships and respect with the company that just "this company".


> So far I could not find any performance test in our codebase.

That's a great poke into his claim.
But then why didn't you ask: "Could you please point out to one of performance tests in our codebase so I would be able to follow the performance testing approach you describe?".

> without the profiling framework I can't test them.

I think this is a mistake to write that.
Of course you can test performance without preexisting profiling framework (you can very quickly create your own basic performance testing framework -- "loop with 10M executions in it").

Date: 2016-10-18 01:30 am (UTC)
From: [identity profile] juan-gandhi.livejournal.com
Actually, it's not that simple. JIT instrumentation, etc.

(no subject)

From: [personal profile] dennisgorelik - Date: 2016-10-18 01:49 am (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-10-18 02:09 am (UTC) - Expand

(no subject)

From: [personal profile] dennisgorelik - Date: 2016-10-18 02:49 am (UTC) - Expand

(no subject)

From: [identity profile] sassa-nf.livejournal.com - Date: 2016-10-18 07:30 am (UTC) - Expand

(no subject)

From: [personal profile] dennisgorelik - Date: 2016-10-18 07:37 am (UTC) - Expand

(no subject)

From: [identity profile] sassa-nf.livejournal.com - Date: 2016-10-18 08:57 am (UTC) - Expand

(no subject)

From: [identity profile] dvig-al.livejournal.com - Date: 2016-10-18 09:27 am (UTC) - Expand

(no subject)

From: [identity profile] sassa-nf.livejournal.com - Date: 2016-10-18 06:39 pm (UTC) - Expand

(no subject)

From: [personal profile] dennisgorelik - Date: 2016-10-18 10:48 am (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-10-18 06:28 pm (UTC) - Expand

(no subject)

From: [identity profile] exceeder.livejournal.com - Date: 2016-10-18 10:21 am (UTC) - Expand

(no subject)

From: [personal profile] dennisgorelik - Date: 2016-10-18 10:52 am (UTC) - Expand

(no subject)

From: [identity profile] exceeder.livejournal.com - Date: 2016-10-18 02:49 pm (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-10-18 03:22 pm (UTC) - Expand

(no subject)

From: [identity profile] exceeder.livejournal.com - Date: 2016-10-18 03:18 pm (UTC) - Expand

(no subject)

From: [identity profile] kzn.livejournal.com - Date: 2016-10-18 07:36 am (UTC) - Expand

Date: 2016-10-18 12:43 pm (UTC)
From: [identity profile] anatoly borodin (from livejournal.com)
Не сочтите за придирку, но почему второй коммит называется "and a small update", а не, скажем, "Remove unused parameter of setUnknown()"?

PS Тред снова эпичен. Schwanzvergleich (да, есть у немцев такое слово) в полный рост!
Edited Date: 2016-10-18 12:45 pm (UTC)

Date: 2016-10-18 12:50 pm (UTC)
From: [identity profile] anatoly borodin (from livejournal.com)
Первый коммит великоват. Явно просится, чтоб его на 3-4 коммита поделили.

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-10-18 03:23 pm (UTC) - Expand

(no subject)

From: [identity profile] dvig-al.livejournal.com - Date: 2016-10-18 04:26 pm (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-10-18 06:21 pm (UTC) - Expand

Date: 2016-10-18 07:47 pm (UTC)
From: [identity profile] rssh.livejournal.com
Это тот Клиф ?

Date: 2016-10-18 08:34 pm (UTC)
From: [identity profile] juan-gandhi.livejournal.com
Клиф Клик.

Да мы договорились уже. :)

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

May 2025

S M T W T F S
    1 2 3
456 7 8 9 10
11 121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 15th, 2025 06:47 pm
Powered by Dreamwidth Studios