In 2007 I started working for OpenedHand. They became acquired by Intel in 2008. Today I am working for Red Hat (for over 5 years now). And we have 2018 and it became acquired by IBM.
I came back home in the evening with plans for some cider and episode of some TV series (probably “Ozark”). But when I landed on a couch and took a look on my phone it shown set of notifications. Telegram, Facebook, Messenger…
And all of them were about one thing: Red Hat being acquired by IBM. First I looked and sources were Bloomberg and CNBC. At that phase I thought “ok, it can be a rumour” so my answer was “can not comment”.
But then I went for Red Hat mailbox. And there were links to more serious places: IBM newsroom and Red Hat announcement.
Looks like tomorrow will be interesting day. Full of reading mails.
During last few years Linaro Enterprise Group (recently renamed to Linaro Datacenter and Cloud Group) was working on getting OpenStack working on AArch64 at same level as it works on x86-64 architecture. And I am proud to be member of that group ;D
We started our adventure with Liberty, migrated to Mitaka and then Newton. And we stayed there for a while with Developer Cloud to make sure that all those projects which rely on it can use VM instances for their work.
In meantime we were contributing to several OpenStack projects to get everything working properly. Main one was Kolla as we needed good way of cloud deployment but also Nova, Disk Image Builder and others.
Took us Pike and Queens to get to the point when we could create new setup of Developer Cloud. In clean way, using containers generated by one of OpenStack projects. No more in-house solutions.
Our team always consisted people from several countries and companies because this is how Linaro works — there are Linaro employees, there are assigned engineers from member companies etc. We cooperated with our kernel people, packagers, developers from several open source projects (libvirt, RDO, CentOS, Debian) and more.
Some people were running tests, some were doing image builds, package builds. Others were managing to keep us focus and to get it delivered as we planned to.
We attended several OpenStack related events (PTG, Summit etc) to tell people how AArch64 support looks like in all those projects. Gave several talks about how OpenStack works for us.
Was it lot of work? Stackalytics graphs show that it took a while. And it was worth it.
In 2004 I was newbie in embedded Linux area. Decision to buy Sharp Zaurus instead of HP iPaq got me to Qt/e world rather to GTK one. I was also KDE user rather than GNOME2 as well so I can say that I liked Qt already.
All those sizes in pixels, paddings and margins I saw in GTK code made me feel sick each time I had to edit UI of some application. No idea why developers went that way…
In Qt world all you had to do was launching Qt Designer, put some UI elements into window, apply some Layout elements and build your app. No need to deal with padding/margin settings etc cause library that for you.
In meantime Qt developers added QML as a new way to do UI for Qt applications. I ignored it’s existence until now…
Few days ago Michał Schulz did nice work on improving my Modland player. He also moved it’s UI from old Qt Designer one to QML.
Modland player with QML based UI
For now UI is hardcoded to 800x480. I have tried to make it scalable but have a feeling that QML is against me.
Look at Authors/Modules part. It is simple layout, right?
label
listView
label
listView
In Qt Designer UI I would select those four elements, put into GridLayout and it would scale properly. So I tried that for QML. Labels survived, listViews got 0x0 size.
And the only ‘design tool’ to edit QML is Qt Creator. Which gets fugly unstable once you try to play with QML designs…
So I looked at files describing UI. And you know what I found there? Old GTK nightmares… Positioning elements with pixels, sizes in pixels. Pixels! Not some magical “dp units”. There is no way to say “make this element 10em tall” like you can with CSS.
And it is not only with Modland player UI. Same it with QML examples…
WTH happened with Qt developers? Or was “QML is only for embedded devices, do not use on desktop” phrase got removed from documentation by mistake?
During Linaro Connect there was a possibility to play with ThunderX2 workstation. I remember that Arnd Bergmann was comparing speed of kernel compilation with his AMD Threadripper workstation.
Test was simple — checkout 4.18 source, use arm64 defconfig and do build of ‘Image modules’ with as many threads as you have cpu cores. He did several builds with limiting to one cpu, to disable cpu threads etc but idea stays the same.
Dual socket ThunderX2 (28 cpu cores, 4 threads per core iirc) did that in about 2 minutes. So did Arnd’s Threadripper machine.
So I decided to check that on my local hardware. Mustang needed 38 minutes, my i7-2600K based desktop did that in 9 minutes 20 seconds.
For comparison: I was told that Synquacer with it’s 24 Cortex-A53 cores does that in about 16 minutes.
Is it fast? Do not think so. But who would assume that retro hardware will be fast…
You probably know that I am fan of retro computers. Those from 80s, 70s and older ones. And for quite a time I told that I do not plan to run retro machines at home. But it has to change.
Due to some work things I am going to run Mustang again. But where is retro in it someone may ask…
Applied Micro Mustang uses X-Gene cpu. And this was first (or one of firsts) AArch64 CPU. I got mine over four years ago. It is obsolete in some areas (SBSA level 0 anyone?) but still works. And is hard to replace if you do not have spare few thousands USD :(
Someone may say that I can buy Synquacer. Sure. 1160$ for mainboard in some box. With rotating plates which would go away on first day, not needed graphics card and just4GB of memory. Good luck with finding ram sticks which will work. I heard rumours that there is a store somewhere which keeps a pile of those. And then you end with 24 slow cores which may be good at kernel compilation but then suck at linking.
So now I am on a hunt for 2x16GB DDR3ECCRDIMM sticks for Mustang. And some SSD as using rotating plates for development does not have sense in 2018.
Maybe one day someone will finally realise that 500 USD is this magical point where hardware can be bought in “just go and buy” fashion. So we, developers, will be able to write to our managers “Hey, there is this arm64 mainboard for 499$” and hear “just go, buy and expense”. Memory, storage, case can be other expense raport (or even collected from spare parts at home).
But until then I will have to live with my retro server.
Few days ago Linus Torvalds added code of conduct to the Linux kernel. And then lot of discussions started.
I had no plans to take part in any of them. But last week I was dragged into one of them and it was not fun. Turned out that people I know and trust when it comes to technical discussions (never met most of them) do not quite understand the need for such.
There are many “code of conduct” documents. Often they differ a lot. I have my own and it is probably the shortest one:
Do not be an asshole. Respect the others.
Simple. I do not care which gender people have when I speak with them (ok, may stare at your boobs or butt once) nor their sexual preferences. Colour of the skin does not matter as most of my friends I first met online without knowing anything about them. Political stuff? As long as we can be friends and do not discuss it I am fine. Etc etc.
It works on conferences. And in projects where I am/was involved.
Someone may say that part of it was shaped by working for corporation (is Red Hat corpo?) due to all those no harassment regulations and trainings. I prefer to think that it is more of how I was raised by parents, family and society.
When I started using Linux on my desktop there was only Mozilla based browsers
which were usable. They had different names: Galeon, Firebird, Phoenix, Mozilla
Suite and finally Firefox.
It worked better or worse but did. There were moments when on 2GB ram machine
browser was using 6 gigabytes (which resulted in killing it). Then were moments
when it started to be slower and slower so I moved to Google Chrome instead.
But still — Firefox had all those extensions which could do insane amount of
things with how browser looks, how it works etc. But then Quantum
came and changed that. Good bye all nice addons.
Hope we meet in other life.
But what it has with question from post title? Simple, little, annoying thing:
“Ctrl-Q” shortcut. Lovely one which everyone is using to close application they
work with. Not that it does not work — it does. Perfectly. And this is a problem…
Imagine you have few browser windows opened. On different virtual desktops. With
several tabs per window. Some open notes there, somewhere some not-finished wiki
edit etc. Normal day. And then you want to close ‘funny kitten’ tab and instead
you close all those windows/tabs, drop not finished notes/edits etc. Just
because your finger slipped to “Ctrl-Q”.
For years most of users I know used one of those “disable ctrl-q shortcut”
addons to NOT close all browser windows when your finger slips a bit when you
wanted to close a tab (with “Ctrl-W”) or switch a tab (with “Ctrl-Tab”). Since
Quantum it is not possible at all as there is no way how addon can alter
shortcuts. Or how user can alter shortcut. No Way At All.
And then it appears that “Ctrl-Q” problem exists only under Linux. Under
Microsoft Windows developers of Mozilla Firefox decided that “Ctrl-Shift-Q”
will be a good workaround for the problem. Something similar under MacOS. But
Linux still on “Ctrl-Q”.
There is a bug report
opened for it but there were 4 major releases of Firefox without any change I
highly doubt that anything will change in this regard.
Slowly thinking of making COPR repo where I would provide Mozilla Firefox builds
with one patch: removing that “Ctrl-Q” shortcut…
2021 UPDATE
Firefox 87+ has “browser.quitShortcut.disabled” option to get rid of shortcut
from menu. And even without it used it now warns user after shortcut is used:
Firefox warning about closing 5 windows after Ctrl-Q use
You may noticed that I am trying to visit computer museums when there is a chance. Recently I visited Apple Museum Poland in small village near Warsaw, Poland.
Museum is open during weekends and visits need to be arranged earlier (as it is in private house). It is easy to get there (Google Maps or other navigation) and totally worth it. Never mind are you an Apple fan or not.
What’s there? Apple computers from replica of Apple I, through misc Apple II/III models to Lisa, Macintosh machines, Powerbooks, iMacs etc. Some clones too. Some old terminals. Apollo Computer Graphic Workstation. And that’s not all.
There is a lot of attention given to details. Same monitors as in original commercials. Same setups.
Apple II with Sanyo monitor and disk driveApple III with dedicated monitor and some peripheralsFirst Apple modem under AT&T phone
As ARM developer I could not notice that there was a shelf filled with first ARM powered Apple devices: Newton in several models.
Apple Newton PDA collection
Computers… What about servers? How many people remember that Apple was doing servers? Big, loud machines.
Apple servers: x86 and PowerPC based ones
Of course like each museum that one also have some pearls:
Macintosh Portable in working conditionDuo Dock II docking station for PowerBook DuoBell & Howell version of Apple IIMarron Carrel Apple IIe
There were also several non-Apple machines there. From that Apollo Computer Graphic Workstation to Franklin ACE 1200 (and some other Apple II clone). Also some industrial solutions.
Franklin ACE 1200 (Apple II clone)Apollo Computer Graphic WorkstationNECPC-8001A with peripherals
There were several other computers, accessories and peripherals exhibited. Lot of interesting stories given by museum owner. Incredible amount of stuff not available outside of Apple dealers network (like official video instructions on laserdiscs).
I could add more and more photos here but trust me — it is far better to see it with own eyes than through blog post.
Again I highly recommend it to anyone. Never mind are you an Apple fan or just like old computers. Just remember to go to Apple Museum Poland on Facebook first to arrange a visit.