Top.Mail.Ru
izard, posts by tag: software - LiveJournal — LiveJournal
? ?

Sunday, November 23rd, 2025

Archetypes

Pop-psychology personality types are astrology for people who think they’re too smart for astrology. Very broad descriptions that fit anyone and trigger instant confirmation bias. Sometimes they still make handy metaphors.
I thought about it last week with my last winter chanterelles pick in a forest, when I noticed how many gatherer archetype traits match my own behaviour. That led me to the book Full Potential People: The Hunter, Gatherer and Farmer by Joakim Solberg, which describes these archetypes. It’s not real psychology, but it’s a decent conceptual framework for understanding team dynamics.
The Archetypes:
Hunter: Fast, opportunistic, thrives under pressure, bored by routine. Great in crises and early prototypes; unreliable in slow phases.
Gatherer: Detail-oriented, good at scanning and pattern-spotting. Ideal for analysis, debugging.
Herder (not present in the book, but I'd add it anyway): Social stabiliser. Keeps the group aligned, routines intact, and information flowing. Prevents chaos.
Farmer (Plant Grower): Long-term planner. Builds systems slowly and consistently. Great for architecture and sustained projects; bad fit for constant churn.
Why it’s useful..
These archetypes aren’t science, but they’re practical. In large engineering teams, I repeatedly seen these patterns. Hunters drive breakthroughs, gatherers fix things (but bad builders), herders keep the machine running, and farmers build the long-term foundation. It is great to work for a herder manager (my wife is a herder too), but farmer managers create more successful teams. My type - gatherer is probably not suitable at all for being ppl manager; hunter is the worst type of manager for a dev team, but maybe can be a good manager for a sales team.
As long as I think about it as a metaphor rather than a diagnosis, it’s a surprisingly effective lens for understanding how different developers work and what environments allow them to perform at their best.
(1 comment | Leave a comment)

Wednesday, July 9th, 2025

Viber message status bugz

Here is how buggy messenger delivery status can lead to miscommunication.

Message statuses: [Sent, Delivered, Read]

My view, after mobile internet went down on my phone at some point:
1. Me: Going home now. [SDR]
2. Julia: We'll be at a grocery store soon, should I pick you up at station A?
3. Me: No, thanks, I'll exit at station B and walk home. [SD]
4. Me: I'll be there in 30 minutes. [S]
5. Me: I'll text you if something happens with the train. []

Julia's view:
1. Alex: Going home now.
2. Me: We'll be at a grocery store soon, should I pick you up at station A? [SDR]
3. Alex: I'll be there in 30 minutes.
4. Me: I am waiting, where are you? [S]
5. Me: FindMy shows you at station B, why? [S]
6, 7, 8, 9

I was considering sending an SMS, but as my 3. was shown as delivered, I did not expect Julia to receive my message 4. only, but not 3. I should probably switch to WhatsApp.
(8 comments | Leave a comment)

Saturday, October 19th, 2024

Exams and big tech interviews.

Back in university, my friends and I had a trick when it came to exams in advanced physics and math courses: we’d try to sit exams with a postdoc or, better yet, a PhD student rather than a seasoned professor. Professors, with decades of experience, could gauge a student’s depth of understanding after just a few questions, accurately assigning grades. PhD students, however, lacked this refined intuition and often gave higher grades if you could converse confidently about basic concepts and demonstrate a good grasp of basic terminology. They usually tended to assume the best, consciously or subconsciously. The real test wasn’t the material itself, but skilfully steering the exam into a dialogue where you could shine.

So, why do I find myself reflecting on this old trick now? Read more...Collapse )
(4 comments | Leave a comment)

Thursday, February 22nd, 2024

At last: Russian LLM fine-tune

For a long time, there was no decent local LLM that understood and spoke Russian well. I've tested many fine-tunes, and they all behaved significantly dumber when answering in Russian than their respective English originals.

Russian internet has a huge potential training corpus second only to English; but smart French, German, Spanish and Arabic fine-tunes for local LLMs existed for months now, and there was no Russian one.

Until Serge Gotsuliak released his finetune few days ago.

Highly recommend it, works great with llama.cpp. I was missing RAG on my Russian books, will set it up now.

There is a drawback: 4-bit quant that I tested needs GPU[s] with ~48GB VRAM, or Apple silicon machine with 64GB+ RAM to run at decent speed.
(2 comments | Leave a comment)

Monday, August 9th, 2021

Another stupid bug

I just lost several hours today debugging the following:

I am linking to a library that has a function declared in a header as:
MACRO_EXPANDING_TO_RETURN_TYPE create_object_pointer(uint64_t* arg1, int arg2, int arg3);

I can’t include the corresponding header, so just cut&pasted the function declaration before use as:
extern
MACRO_EXPANDING_TO_RETURN_TYPE create_object_pointer(uint64_t* arg1, int arg2, int arg3);

Then I was calling it in my code:
return another_lib_func (create_object_pointer(arg1, arg2, arg3), “PASSING RESULT FROM lib_func");

another_lib_func is:
int another_lib_func(RETURN_TYPE t, String s)
{
If (t == NULL) return -1;
If (t->value < 0) return -1;
….
}

It segfaulted in another_lib_func, at second line. Why?
Read more...Collapse )
(10 comments | Leave a comment)

Thursday, February 25th, 2021

Crazy arithmetics.

All numbers below are my estimates. Let's divide s/w engineers to two halves - 50% of "good" and 50% of "bad". For simplicity, I don't account for average ones, ignore the continuum and reduce the problem to one dimension. These three omissions make results almost absolutely unreliable, but still fun.

80% of bad engineers want to switch to management. (The rest think they are good engineers - D-K).
20% of good engineers want to switch to management. (Different reasons).
50% of bad engineers who want to switch to management, do become a manager. (Persistence is key, but some bad engineers still won't make it).
80% of good engineers who want to switch to management, do become a manager. (They are good engineers because they are smart and can reach their goals).
20% of bad engineers who switched to management, are good managers. (Being a manager is a different skill).
50% of good engineers who switched to management, are good managers. (It is a different skill, but being smart helps).

Few multiplies, and voila:
Percentage of managers with "bad engineer" background ~= 71%, and ~29% were good engineers in their previous life.
However, with numbers above (I swear I didn't tune them) half of good managers were formerly good engineers.
(Leave a comment)

Wednesday, February 17th, 2021

Hey yeah!

Is it a good time to move?
visa
Regardless, with current regulations we should fly within 4 weeks. See you there soon!
(59 comments | Leave a comment)

Tuesday, December 8th, 2020

20 years ago, my first cubicle in UK

Exactly 20 years ago I was setting up my work space in my first cubicle:
Image
There was a thin Windows terminal to HP-UX server connected to several racks with telco equipment. The racks were green from outside and brown inside. That was supposed to make them look friendlier to engineers working with them, though I am not sure if it helped.
(7 comments | Leave a comment)

Thursday, October 8th, 2020

my work 20 years ago

20 years ago I started working for Nortel as a contractor. One of my first assignments was to write a script in C to automatically stress test creating tons of entries in a pre-SQL database (developed in 70s) that was storing cellular network configs.

The database mixed data with code processing it, so each config had to be tested separately. The config I had to test was lawful intercept config. For every cell phone number that could be eavesdropped on, there should have been an agency name string and court order/secret order number attached.

So I added MI6 with secret order numbers beginning with 007, and KGB with secret order numbers beginning with 1937, and ran tests where most of cell subscribers were being listened to by KGB.
(2 comments | Leave a comment)

Wednesday, May 6th, 2020

My stupid bug

I was recently working on a problem, where one of the performance metrics I measured was ~100x higher than expected. It is almost impossible to make a 100x optimization, unless something is severely broken...

In the end, it appeared to be my error. But it was not a measurement error, I triple checked my measurement code and it was correct.

The buggy part was printing the end result. I made a typo in printf format, "%ull" instead of "%llu", so it printed "ll" in the end. Then I mistook "ll" for "11" when reading, and this multiplied the result 100x. I was slightly curious why random performance readings always end with 11, but I still did not catch it. Only after I pasted the result to Excel to plot a graph I realized what went wrong.

This made it in my list of top 5 stupid programming errors I ever made :)
(9 comments | Leave a comment)
Previous 10
Image