rbanffy

✨ Seasoned software developer, proficient in Python, Java. Less proficient in Ruby and Lisp. A bit rusty in C and C++. Learning Erlang very slowly. Also a computer collector and restorer, lover of 8-bit computers, mainframes and interesting Unix workstations.

email: username at that google mail thing

http://about.me/rbanffy

https://linkedin.com/in/ricardobanffy

[ my public key: https://keybase.io/rbanffy; my proof: https://keybase.io/rbanffy/sigs/HtF1uAf_RNpwIkNP1-YGWP_-3doWV6S5Cc1KywXeLYo ]

πŸ“… Joined in 2008

πŸ”Ό 188,662 Karma

✍️ 62,266 posts

πŸŒ€
15 latest posts

Load

(Replying to PARENT post)

Solaris, AIX, and HP-UX also maintain excellent backwards binary compatibility, as do the less Unixy z/OS and OpenVMS.

Even though z/OS is officially a Unix.

πŸ‘€rbanffyπŸ•‘3hπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

For every version between 3.5 and 10.
πŸ‘€rbanffyπŸ•‘3hπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

> With Linux, you have to target specific distros, do something insane like a giant bundle of everything,

This is what you do for Flatpack, Steam, or Docker. All these are popular options.

> Oh and I almost forgot.. install scripts that detect distros, install dependencies.

Most distros offer tooling to make packages for their package managers. With them you declare the dependencies you want and the package manager does the rest.

> And god help you if you need to ship a kernel module.

The right way to do it is to open source it and let the installer compile the software against the kernel headers. Sysdig and VirtualBox do that.

πŸ‘€rbanffyπŸ•‘3hπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

> when you have only 32 GB for a 16 core/32 thread CPU, you must reduce the number of concurrent compilations

Also, depending on the architecture, avoiding odd(or even) virtual cores might free more L2 or L3 for the worker threads and speed up the process.

πŸ‘€rbanffyπŸ•‘5hπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

Canonical has a tradition of inventing something that’s ahead of its time only to see nobody else is going the same way as they are. Sometimes they realise it was a mistake and follow everyone else.

Juju had a different problem: it was big-bang rewritten in Go and that froze features for too long for them to keep their mindshare. Rewriting was the right decision, as Python had poor concurrency back then, but doing that while freezing features was a mistake.

πŸ‘€rbanffyπŸ•‘5hπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

> They told me I would to use both Ubuntu and Juju, and I couldn't use other tools if those two worked

Dogfooding is a valid strategy to improve their product, but you’d be heavily invested in Juju’s success.

πŸ‘€rbanffyπŸ•‘1dπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

I don’t remember it as particularly surreal. They did a remote programming interview over Zoom (in 2014 or so) and it was a really interesting problem - to make a PRNG for a specific range of integers using two other PRNGs. Their solution had a branch and mine was branchless and decently random. It was, at least then, a very personalistic company, centred around Shuttleworth, but his influence didn’t usually extend more than two org levels, and different parts of it behaved as different companies.
πŸ‘€rbanffyπŸ•‘1dπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

I have a happy story about Casio and college. I started college with a very limited TI-55 calculator: 51 steps and no conditional branching. The rich kids got HP-41 calculators, the average ones got programmable Casios. I got a Casio PB-700, programmable in BASIC.

Best gift ever. I could finish all numeric methods tests in a fraction of the time it took for others to use or program the ordinary calculators. It was a huge qualitative leap.

πŸ‘€rbanffyπŸ•‘1dπŸ”Ό0πŸ—¨οΈ0
πŸ‘€rbanffyπŸ•‘1dπŸ”Ό3πŸ—¨οΈ0