[Libre-soc-dev] gigabit router design decisions

lkcl luke.leighton at gmail.com
Tue Nov 2 09:57:18 GMT 2021

(read each of the messages in this thread, i will reply to this one first)

On November 2, 2021 4:09:37 AM UTC, Jacob Lifshay <programmerjake at gmail.com> wrote:

>Since iirc you were complaining about words with no code:

i was not "complaining", i made a statement of fact. 

fact 1: there is no code... yet.
fact 2: we are under contract
fact 3: there is only 5 months (11 to do the entire ASIC)

>If I went ahead and implemented a whole fetch/decode pipe (would just
>the mmu/cache-fetch pipe to fit into it), would you be ok with it
>having a
>branch predictor then?

no i would not, and i will explain why:

1) you abandoned the team for 18 months (check the commit logs) leaving me with the sole full-time member dealing with what should have had at least three full time people on it.  this already has had detrimental consequences.

(sorry to have to be so blunt about it, but that's what happened, it is reality, it is what it is)

2) this left me as the sole exclusive person with:

a) a complete working knowledge of the entire system
b) a complete idea of what it actually takes and how long it really takes to complete certain tasks to an adequate software engineering level

it also left me with a persistent feeling of being constantly under time pressure and of being the sole full time person who actually understand and accepts that responsibility of the committments that have been made.

i also had to make very draconian decisions, throw out entire swathes of functionality, and had absolutely no time to deal with "external" slanderous community issues (litex in particular) that have, as a result, harmed the project and further hindered its timescales.

3) on returning semi-focus to activities here you have:

a) fought and resisted and not listened, causing me to have to escalate and repeat things often six to eight times, often having to resort to pleading in literal desperation
b) demonstrated repeatedly that you have no understanding of timescales
c) demonstrated that your primary focus is on "code", and have not listened when i have explained that timescale estimations involve multiple factors
d) written thousands of lines of unnecessary code with features that are not needed
e) demonstrated repeatedly an inability to focus on the set task
f) demonstrated an inability to focus on time-critical tasks or prioritise time-critical tasks
g) disregarded coding practices put in place based on 20 years experience of Software Engineering and large-scale Free Software Project Management

4) with the type of Asperger's that you have, you are not properly communicating (not acknowledging) and instead are logically rationalising, "i disagree with this, therefore rather than face potential conflict i will go ahead without further consultation", not realising that:

a) i also have Asperger's and used to do exactly the same thing and learned, painfully and the hard way, that this never works out well.
b) that when there is time pressure you have to make hard decisions, and make them fast.
c) that when under time pressure "perfect" is the enemy of "good enough"
d) that your inexperience under these time-pressured circumstances, combined with (2a) and (2b) leads you to completely misjudge what is needed, which means that (repeatedly) what you create is far more complex or not even necessary

5) on explaining multiple times that (3g) is the Project's baseline operating rationale, and on repeated instances of you failing to listen and resect those Software Engineering practices (incremental development), the risk is extremely high (100%) that you will create something that throws out the timelines completely

a) in fact, you've *literally* demonstrated that, even today, by requesting to add features not on the list that would, if added, because they are more code and more complexity, do exactly that: cause us to fail.

b) you have consistently disregarded and ignored the incremental development practice which i have repeatedly explained is there to give "something that at least works" by which

c) we may legitimately claim that we have fulfilled the contract (even if performance is not "perfect") and

d) other people are not held up such that timescales and commitments are jeapordised.

if we fail to deliver on NGI POINTER it would leave us in BREACH OF CONTRACT which given that we are applying for a EUR 22.6 million Grant, if we fail to deliver on a EUR 200,000 Grant Contract then the EU would quite reasonably justify denying and refusing to trust us with an amount a hundred times greater.

now, with that as background:

i) do you think it would be wise for me to trust you to complete a simple task, to create a simple but sub-optimal piece of code and to leave out optimisations until later and only if there is time?

ii) do you think it wise for me to trust you to follow incremental development practices when you have told me "sometimes it is impossible"?

iii) can you be trusted to learn what is needed, do what is needed, be pragmatic and realistic, and relied on to help meet the terms of the contract, which is TIME bound, not FEATURE bound?

so far you have a 100% track record of being unable to respect all of those three things.

please let me know by answering yes or no to each of those three.  if you need time to think about it or have any questions please write them immediately, don't leave it or ignore it, ok?


More information about the Libre-soc-dev mailing list