Kicou's blog

Random thoughts and ramblings

#Tech #3dPrinting

With the prospect of being stuck at home during the Winter, and probably longer if the Covid-19 pandemic keeps progressing the way it does, this may be the opportunity to become more than just a button pusher, and maybe learn to make new things. Actual things.

I am envious of Mrs. Kicou who can operate a metal lathe or mill, and is transforming the garage into her woodworking shop, but I only use power tools when doing work around the house: I can build a kitchen, lay ceramic tile, create an opening in a wall, install hardwood floor, build a deck, a garden shed, and more. I learned it all out of necessity, because this is what home ownership does to you. But I have no particular interest in the construction trades (next year our house projects include building a thermosyphon heating system for the garage, a pergola for the deck, and a greenhouse — not sure how much of it will become reality but they are all very doable).

But if I make something I'd rather enjoy it, so I'm looking for something that would be more fun.

3D printing sounds fun. It sounds expensive too. The last time I checked, you needed to spend thousands of dollars to have access to quality gear that would print objects larger than a Rubik's cube.

That was until I decided to take a second look about a week ago. And I found that as long as you were ready to tinker, you could buy decent hardware for around $300 CAD; and that allows you to build pieces that are over 20 x 20 x 20 cm, which is a pretty decent size already (and a lot of material).

So I read more about the topic, compared models and specs, and researched what would be the best bang for the bucks taking into account my willingness to learn (and fail) but also the ability to grow if this hobby ended up being serious. I would hate to spend a few hundred dollars to find out six months later that my gear is too limited.

First off, I ruled out SLA printing (stereo-lithography) because it involves a lot of chemicals and needs a very controlled environment (toxic fumes mitigation, temperature control) and the process can be messy (spillage) and is at least a two-step process (printing, then UV curing).

So I turned to FMD (Fused Deposition Modelling), that uses filaments that for the most part are not toxic unless you want to print ABS. I plan on doing mostly PLA for general purpose printing, with maybe PETG and TPU for very specific use cases.

Ugh. I haven't completely delved into it and I am already using jargon :/

But the actual news here is that I got myself a Creality Ender 3 V2 printer. It is open-source friendly, can be customised and enhanced, and has a very active community.

It took me a good hour to put it together. Despite being very careful to assemble everything square and level, it turns out I overtightened my Z-axis (of course I pronounce it “zed” axis) driver screw and it was slightly crooked, causing my two first prints to fail miserably.

My third print attempt, the famous 3D-Benchy boat, is a glowing success, though. And I will cherish it for the rest of my life as my first ever successful 3D print :)

I went on to print a privacy cover for my Logitech C910 webcam, and V-slot covers for the railings of the 3D printer itself. Because this is part of the fun: you can improve your 3D printer by printing parts with your 3D printer!

How cool is that?

So here I am: learning to level the bed of my 3D printer, trying to find the perfect temperature for my particular filament (I print everything in bright orange because this is the only spool I have), playing with the settings and the slicer software, scouring the web for print files and project ideas.

I have learned a lot already in less than two days, but I feel like I am not even touching the surface of it.

There will be joy and disappointment, successes and failures, and a lot of time consumed.

I am now a proud 3D printer user.

#Tech #Internet

A list of software products and services I use both for personal and professional use. I self-host whenever I can, but not always.

When I host, I do so on remote Linux VMs. I don't run anything from home anymore, except for the home automation system (duh!) which runs on a Raspberry Pi.

My database engine of choice is PostgreSQL. My go-to web server/reverse proxy is Nginx. I also host my own DNS servers running ISC BIND9. I backup all my systems and data with Restic, to remote Object Storage with a local replica on a NAS device.

I am naturally drawn toward free and open-source software first, but I recognise the fact that sometimes proprietary/paid software can be more efficient. I'd rather use the software than waste all my time maintaining it.

So here is a list of the main tools and services I use on a daily basis.

Professional

I work as part of a small team of independent consultants and I have put in place the following tools for us to use. We use Samba 4 as an Active Directory provider for user authentication and ACLs.

  • Confluence — wiki, documentation. This one is commercial but for a small team of under 10 people, it costs $10 a year, which is great value (over 10 users it gets much more expensive)
  • Nextcloud/Collabora — file and document hosting, groupware (an alternative to Google Apps, OneDrive, O365)
  • Zimbra/Z-Push — email and calendaring (an alternative to Gmail, Outlook.com, Yahoo mail)
  • eFa Project — mail filtering based on MailScanner/SpamAssassin
  • Zabbix— monitoring and alerting
  • Gitea — Git version control (an alternative to Github)
  • Zammad — helpdesk, support tickets (an alternative to Zendesk)
  • MeshCentral — remote desktop assistance (an alternative to Bomgar, Teamviewer)
  • Synapse — secure instant messaging using the Matrix protocol (an alternative to Slack)

Personal

I have been self-hosting since my first BBS in the early 1990s, and I love the freedom and control. It also helps me understand how things work together. I am a big proponent of the “eat your own dog food” approach: I am a service provider but I can also put myself in my users' shoes.

  • WriteFreely — federated blogging
  • WordPress — another blog (for family; don't judge)
  • Mastodon — federated micro-blogging (an alternative to Twitter)
  • PeerTube — federated video sharing (an alternative to Youtube)
  • FunkWhale — federated music and podcast sharing (an alternative to… Spotify?)
  • Jitsi Meet — video-conferencing (an alternative to Zoom)
  • Nextcloud/Collabora — file and document hosting, groupware
  • Zimbra/Z-Push — email and calendaring
  • Zabbix— monitoring and alerting
  • Confluence — wiki, documentation
  • Gitea — Git version control
  • Bitwarden RS — password management: Rust re-implementation of the Bitwarden server, entirely compatible with the official Bitwarden clients and browser extensions (an alternative to Lastpass)
  • Home Assistant — Home automation

Things I used to self-host but don't anymore

These are things I used to self-host but have abandoned for various reasons.

  • Asterisk — PBX (phone system) — I now register my phone devices directly to my provider's servers: they provide all the features of Asterisk at no extra cost, with a much better SLA
  • InvoiceNinja — excellent invoicing and quoting system. But I don't want to be drowned in accounting tasks and have hired the services of a bookkeeper; as a result I switched to QuickBooks Online. I don't particularly like QuickBooks but I have to admit it makes my life easier and my bookkeeper can connect to my account and fix things directly. I really don't like the fact that you can't take a full backup of your data, though.

#Linux #Tech #RemoteAssistance

I have tried various remote assistance solutions and so far none had completely met our expecations.

We purchased Zoho Assist because its web-based control centre is ideal for a small team of independent Linux consultants like us, all the while having the features you'd expect from an enterprise-grade product. We were happy to purchase endpoint licence packages for paying customers, and fall back to DWS for less critical systems as well as personal machines.

While I have nothing against Zoho and am supportive of DWS, both solutions have a huge drawback in my opinion: we are relying on a third party to manage traffic to our customers, and we have no control over the data we put on their servers. Not that I believe that they are ill-intentioned, but we have to admit that we are also at the mercy of their technical and business choices: they may decide to suddenly change their pricing structure (this has happened with competing products like Logmein or Teamviewer), or they could change the product, remove features, move them to different tier, etc. and we wouldn't have much of choice, would we?

Having settled on Zoho Assist I was content with our choice and was not really looking for an alternative. That is until I stumbled upon a project called Mesh Central 2 while scouring Reddit, and was immediately seduced.

Mesh Central 2 originates from the team that developed the tools to manage AMT (Active Management Technology), an Intel feature integrated into business PCs equipped with the vPro option. It is the equivalent of the BMC (Baseboard Management Control) module you can find in servers under various names (iDrac for Dell, iLO for HPE, IMM/XCC for IBM/Lenovo). An out-of-band system that allows you to manage the machine at a hardware level, even before the operating system has been loaded. You can thus remotely power on, power off, enter the BIOS menu, etc. without user intervention.

Mesh Central expands on the AMT hardware remote features and adds remote access to Windows, Linux (Intel and ARM), BSD (Intel) and MacOSX desktops, all this from an easily self-hosted web dashboard running on Node.js.

And it works wonderfully.

My only (minor) gripe is that it is not visually appealing (the interface feels a bit dated), but since it is Open Source, under an Apache 2.0 licence and available on GitHub, it is customisable (a few tweaks to the CSS can make a huge difference) and allows for easy branding.

Do not be put off by its “beta” status: it is fully functional and the amount of enterprise features is astounding. There are so many configuration options that its documentation is not even close to listing all of them, but the main developers are very reactive on Reddit and Github and will answer users' questions rather quickly.

I was able to quickly put in place a working solution with Active Directory authentication, ACLs, FIDO U2F and TOTP, and deployed agents to a few dozen client systems (desktops and servers running Windows and Linux).

I think we have a winner here: a product that is functional, enterprise-ready, open source, free as in speech, free as in beer, backed by a heavy-weight corporate sponsor (meaning that they are not desperate for funding) and that is very active on GitHub.

And even though the main developer is based in the Intel offices of Hillsboro, Oregon, when watching his tutorial videos I was able to recognise what I believe is a hint of a Québec accent: Yay ! un compère francophone du Canada ! :)

I don't know why I had not heard of Mesh Central 2 before but I am definitely a convert! I think that comes autumn we will not be renewing our Zoho Assist licences…

#Work #Covid19

The COVID-19 pandemic has struck a terrible blow to local and global economies. Many companies are struggling, a lot of them have gone belly up.

About two weeks ago, most of Ontario went into phase 3 of recovery. This means that employers who had temporarily laid off their staff are now able to call them back.

However, a three-month shutdown has not left companies unscathed, and in many cases business has almost ground to a halt. In the case of Mrs. Kicou's shop things are currently running very slow and there are no new customer contracts. Business with US-based clients is now nil.

They could barely call back 30% of their workforce and they made the remaining employees an offer: either 1. they remain on temporary lay-off in the hope that business will pick up and they will eventually be called back, or 2. they accept a termination offer along with a severance package.

Truth be told, Mrs. Kicou had been thinking for a while about switching careers: working at a metal shop is physically taxing; you breathe oil and metal dust all day long, which cannot be healthy even if you wear protective equipment.

So here was her exit ticket. She took the termination offer and as of today she is officially terminated. Papers have been signed this morning and we picked up her tools and personal belongings from the workshop.

This is not a catastrophe because we are so lucky that the pandemic has only hit one our jobs. It is a bummer that we have lost one source of income, but things are not looking that bad: we will be tightening our belts for a little while but we will make it through it like we always have.

In the meantime Mrs. Kicou will have time to spend on personal projects at home and in the garden (we are not short on things to fix around the house), and she is already making plans to visit her parents in France and spend a few months there to take care of her aging parents.

That is when it is safe to travel again.

#P2V #SCO #Unix #VMware #Tech

The client from the previous post had a successful migration of his RHEL5 and Windows 2000 physical servers to ESXi so that they could last forever. He is happy with the results.

Now he wants to do the same for a SCO Unix server.

His infrastructure is starting to look like a Computer History Museum.

#Linux #VMware #P2V #V2V #Windows2000 #Tech

A client of mine has a customer of his who runs a Windows 2000 Terminal Server because their antique ERP client will only run on Windows XP-level machines.

I already converted the ERP server last week: a Red Hat Enterprise Linux 5 server running Oracle 10g that I had to turn into CentOS because its RHN subscription had run out and I needed a newer kernel + headers for vmware-guest tools. The RHEL P2V worked well, and now it is the W2K TS's turn.

The Hypervisor I am moving this to is ESXi 6.5 and it turns out VMware Converter 6 will not migrate a Windows 2000 system: for this you need Vmware Converter 4. But Converter 4 will not migrate to ESXi higher than V4.

So how do we do?

Well, here is what I am in the middle of doing:

  • install ESXi 4 in ESXi 6 (yes, you can nest ESX installations)
  • convert the Win2k system to ESXi 4 (you can do this on the live system) with VMware Converter 4
  • DO NOT start the newly converted VM in ESXi 4!
  • fire up a Windows system that has access to both the ESXi 4 virtual OS and the ESXi 6 infrastructure
  • install VMware converter 6 onto the Windows machine, and perform a V2V offline conversion of the intermediate W2K VM to ESXi 6

I have not finished migration yet (I have to upload Win10 ISO to have my Windows system) but as crazy as it sounds, I think it should work.

Update: it actually did work. I had to install an old version of the VMware Tools that is compatible with Windows 2000 to have proper display drivers and in order for networking to work. Everything is working now.

#Linux #Hardware #Lenovo

When daughter started university two years ago, she got a used Thinkpad X1 Carbon Gen2 (2014) running Ubuntu (kids grew up on recycled machines using Linux), and she was very happy to have a good computer she didn't have to pay for. However this summer she started to have problems with it. I suspect these are mostly software problems, but she also had two missing keys on the keyboard. Sourcing a replacement keyboard and replacing it with the risk of it not working at all was a problem as she cannot afford much downtime, with all her schoolwork and two volunteering positions as a crisis line responder.

I know how she treats electronic devices (i.e. badly) so I did not want to invest into something too expensive, but I still wanted the best bang for the bucks.

So for the first time in many, many years, I decided to purchase a new computer. I know how she treats electronic devices (i.e. badly) so I did not want to invest into something too expensive, but I still wanted the best bang for the bucks. Daughter had also expressed the wish to get a 2-in-1 that she can convert into a tablet for displaying music sheet when playing the piano.

I got her a Lenovo Ideapad Flex5 14 aka 14ARE05 (awkward name), a budget-friendly 2-in-1 notebook computer with a 14” display, AMD Ryzen 4500U processor, 16 GB or RAM and 512 GB or SDD storage, 10+ hours of battery life. For $950 CAD (around $700 USD) it is a reasonably priced considering how Canadians usually get an unfavourable exchange rate.

The big unknown was how well the machine would run Linux. I opted for Ubuntu because daughter will have to install software by herself; Ubuntu being the most widespread distribution, she is more likely to find online resources and instructions that apply to her system.

I also installed a Windows 10 VM so that she has access to a Windows environment in the event that her school or work require the use of proprietary software, but I doubt she will ever need to start it.

I kept the original Windows 10 OS, shrinking it to minimum: this is for firmware updates only and she should never need to use it.

The system automatically boots into Ubuntu 20.04. Everything worked out of the box save for two small details: display brightness control and automatic screen rotation.

With the stock Ubuntu kernel (5.4), brightness control has no effect at all. To solve that I installed one of the latest mainline kernel (5.7.8) and brightness can now somehow be adjusted: increasing works fine, decreasing goes halfway down and then turns off the display altogether, but you can turn it back on by going up. A bit quirky, but it still works.

Kernel 5.7.9 introduced a bug where the touch-screen became unresponsive, so I stayed on 5.7.8, but I expect newer versions to fix that. It is an experimental kernel after all.

As for automatic screen rotation, it looks like the orientation sensor is detected but the driver does not read values properly. I showed daughter how to change display orientation manually and it is not a big deal.

I am pretty sure it is only a matter of time until somebody figures it out. This Lenovo model was just released and while I was expecting some problems, I must say that overall the system is perfectly usable as is.

So would I advise the purchase of e Lenovo Ideapad Flex 5 14 (AMD) to use with Linux?

Yes, definitely. For the price, this machine has very solid specs and can be used as a fully functional daily driver in Linux.

#Blog #Fediverse

This is a test post, to see if Mastodon picks it up.

Edit: it did work :)

#MentalHealth

When I'm feeling anxious, I grab my pencil crayons and my colouring book.

Colouring sheet

I'm no artist, but it calms me down.

Oh, and this post was an excuse to open a Pixelfed.social account so that I could host the pictures for this blog.

#Blog #WriteFreely #Fediverse

Just testing the WriteFreely platform, so here is my obligatory “Hello World” post.

So far so good. Here is what I know about is so far:

Clutter-free

Over the years, I have blogged using PHP-Nuke, MovableType, WordPress, SPIP, Dotclear, Octopress and Grav to name a few.

The longest I have blogged with was SPIP, and it was very nice for the few years I used it as blog platform. Back in the days I actually wrote one of the first weblog templates for SPIP. It is awesome but it is also way overkill for the sole purpose of writing a simple personal blog.

What I want today is a low-maintenance platform that gets out of your way, because I will probably not write much nor will I write frequently. I just want something that is there when I need it and that I can use in an instant, without having to remember how to navigate through it.

WriteFreely is clean and simple: this is what drew me to it. The installation took less than 10 minutes. I opted for an SQLite installation because it is a low-volume single-user instance and I did not want to install MySQL/MariaDB just for it; all the services I host use PostgreSQL if they require a DB back end.

The interface is clean, very clean, and I like that. No complex administration interface, just the basics: install and start using.

WriteFreely disappears from your view and puts you straight into the task of writing.

Time will tell if turns out to be too simple for me, but I think that in this case less is more: it forces you to focus on what you want to write, without the distraction of flashy surroundings.

Federated

It is a publishing platform that is federated by ActivityPub and is therefore capable of interacting with the Fediverse. This means that it should be able to communicate with Mastodon/Pleroma (microblogging), Pixelfed (image sharing), Peertube (video sharing), Plume (publishing), Funkwhale (music sharing) and other compatible distributed services — to what extent I have no idea yet.

I still have to figure this out. Honestly, I don't even know if I want to federate. But I know I can.

Markdown

Markdown formatting is simple and fast. No ugly form that tries to emulate a word processor: don't take your hands off the keyboard, don't disrupt your flow, don't spend too much time trying to make things pixel-perfect. Just write, dammit!

Free and Open Source

Free as in Free Speech, free as in Free Beer, WriteFreely is under the AGPL licence.