Skip to main content

a silhouette of a person's head and shoulders, used as a default avatar
the avatar of Open Build Service

Post-mortem: Downtime on January 5, 2023

Some maintenance operations caused a long downtime on our reference server. In the lines below you will find a detailed explanation of what happened. Impact Our reference server was offline for around 2 hours. The application responded with a maintenance message or with a 503 HTTP error (Service Unavailable). No one was able to work with the API or web interface during that time. Root Causes It is common to perform updating operations in our...

the avatar of Nathan Wolf

HP EliteBook RAM Upgrade and Blatherings

A few weeks ago I started to notice some problems with my computer and ultimately discovered that it had a RAM failure. It wasn’t quite obvious to me that the RAM was failing until I did some digging. I have previously written about that time-vacuum of an experience. Thinking the the worst, that the larger […]

the avatar of Nathan Wolf

HP EliteBook RAM Failure

In all my time using computers, I haven’t had a memory failure since the late 80s on Commodore 64 which was likely caused by a static discharge. Every computer since, laptop or desktop, traveling around the world, have not seen any sort of memory issue. I’ve gong through hard drives, replaced screens, keyboards and touch […]

the avatar of danigm's Blog

Hackweek 2023

Hack Week is the time SUSE employees experiment, innovate & learn interruption-free for a whole week! Across teams or alone, but always without limits.

This year the Hack Week was this week, the last week of January and for my first SUSE hack week I decided to work in something funny, LILS.

Linux Immersive Learning System (LILS)

I don't think that this is a good name, but don't focus on it. The main idea of this project is to create some basic machinery to be able to write "interactive" tutorials or games using the INK language.

This is not an original idea, indeed all I've done is something that's currently working on EndlessOS, and was the main idea behind the dead project Hack Computer, you can even take a look to the Hack app in flathub. But I wanted to work around this, and create something simpler, from scratch.

I wanted to build something simple, with just Python, and make it simple enough to be able to build other tools on top. The design is simple, an INK parser, with a simple game runner. In the INK script you can define commands, to do something special, and wait for events with listeners, to wait for an event in the OS to continue.

With this basic functionality it's possible to build different user interfaces for different environments. And the original idea was to make the commands and listeners something extensible with a simple API, but that's something that I have not done yet, it's all Python functions without extension point.

The code can be found in github.

The INK parser

The most complex part of this project is the INK language parser. The Ink parser is free software and there's a Linux version that you can use to parse and compile to json, but I wanted to create my own parser with Python.

I've spent most of the Hack Week time fighting with the parser and indeed was the most challenging and fun part, because I've not worked a lot with parsers and it's not something easy as pie 😛️.

I remember creating a java compiler long time ago, when I was in the Seville University, for the Language Processors course. We did that with ANTLR, so starting from that, and looking for a Python lib, I found the Lark project. So if you like regular expressions, writing a grammar is a lot more FUN.

At the end I was able to support some basic INK language with support for:

  • Text
  • Tag support
  • Options, with suppress text support
  • Knots, Stitches and Diverts
  • Include other .ink files
  • Variable definition and basic operations
  • Knots and Stitches automatic visiting count variables
  • Conditional options using variables

It still fails in some cases, the comments and TODO placed in between text is not detected correctly and there's a lot of complex stuff that's not supported yet, but with what's supported right now it's possible to create complex scripts with loops and complex game graphs, so it's good enough to build games just with it.

GNOME shell extension

To integrate with the system I've done a simple GNOME shell extension. The extension just shows the text as bubbles and options as buttons, it's really simple and I've no time to make it something ready to be used, but I was able to make something usable.

To be able to run the LILS python library from gjs I've created a simple dbus service that exposes the basic InkScript class functionality as a dbus API.

I was thinking about being able to change the desktop background, depending of the value of a background variable in the script and do something similar to play music and sounds, so it could be a cool game engine with some additions.

SUSE Hack Week

So this Hack week was really fun and I learned a lot. It's really great that SUSE does things like this, letting us work in different projects for a week, to learn, to grow or to just explore different paths.

the avatar of Klaas Freitag

Kraft on Windows

Kraft, which was released as version 1.0 after long time of active development, is targetted to the Linux desktop. My firm conviction is that the Linux desktop is very suitable for the target group of Kraft: In the small office of craftsmen for example, a Linux desktop is a great work horse which is stable, very well adoptable and has a great amount of applications that are stable and maintained.

These are only the most obvious points why Kraft is so far only available for Linux.

But often enough switching to Linux is another hurdle that users have to go, coming from a more mainstream world. So it is great to learn that Kraft, as many UI applications, can be run unter the Windows Subsystem for Linux (WSL) on Windows systems quite flawlessly.

Kraft running on Windows DesktopIt was tried with Windows 11 Home and the Kraft AppImage of 1.0.

The steps to run Kraft in WSL:

  • Make WSL running on the Windows installation
  • Install a X-server on the Windows machine
  • Create a Debian or Ubuntu Linux subsystem
  • Install a few extra packages into the Linux installation
  • Download and run the Kraft AppImage 1.0

A more detailed howto and discussion can be found in the easy cash & tax forum. Thanks Thomas for bringing up the topic and providing the Howto!

the avatar of Nathan Wolf

A 2022 Christmastime Blathering

As the year comes to a close, it is often filled with mixed emotions about my personal evaluation of my performance for the year. Many things were advanced, some things didn’t advance far enough and others may have even regressed a bit but I would say, over all, I am in a better position today […]
a silhouette of a person's head and shoulders, used as a default avatar

openSUSE Tumbleweed – Review of the week 2022/52

Dear Tumbleweed users and hackers,

The last week of the year was tranquil, and I think nobody is surprised by this. The holiday takes time away from computers and redirects it to other important events. Yet, sufficient requests had been submitted to openSUSE Tumbleweed to let the distro roll on with another 7 snapshots published (1223…1229). Granted, there have not been ground-breaking changes happening.

But let’s see what the snapshots DID bring then:

  • Mozilla Firefox: build fixes for i586 added, so this is back in shape (ppc64le missing)
  • cURL 7.87.0
  • util-linux 2.38.1
  • bind 9.18.10
  • WebKit 2.38.3
  • XFCE 4.18
  • GStreamer 1.20.5
  • Samba 4.17.4
  • Spamassassin 4.0.0
  • Linux kernel 6.1.1
  • Kernel firmware 20221216

Staging projects are mainly carrying the same longer-lasting changes:

  • Boost 1.81.0: breaks libetonyek and LibreOffice
  • Libzypp 17.31.7: PackageKit needs adjustments
  • Ruby 3.2 is being tested to become the default ruby version: YaST is failing
  • Switch to openSSL 3: tracked in Staging:N, main failures are nodejs18, nodejs19, OpenSSH, mariadb
  • Python pytest 7.2.0

the avatar of Nathan Wolf

Building a New Retro Styled Computer

Computers are a lot more fun when they are personal and have a bit of personaltity to them. You can’t get much more personalized than 3D printing your very own retro styled computer. This was all inspired by watching an episode on the YouTube channel, Retro Recipes, where LadyFractic built herself a retro computer, my […]

the avatar of Klaas Freitag

Kraft Version 1.0

Kraft 1.0It is a pleasure to announce that Kraft Version 1.0 was released last week.

What is Kraft?

Kraft is free software to create office documents like offers and invoices in an efficient way. It runs on the Linux desktop and suits small businesses of all kinds.

After countless releases with version numbers 0.x, Kraft finally goes with version number 1.0 with this release. It is in production at several companies since many years, and with this release it got many more improvements that make it a really mature product.

Highlights

Lets take a look on the highlights of of version 1.0.

AppImage Support

Installing software properly is still a challenge for many users. AppImage comes to the rescue there: Single file, easy to download and start with all dependencies included makes it easy for users. For the creator, it is just one-fits-all, which makes it easy to maintain.

The new Kraft AppImage was carefully reworked and has now really all dependencies included, has a complete own icon set and was tested thoroughly. It is ready for production now.

Giro Code

Kraft now can print the EPC QR Code on invoices easily. Users just have to configure the bank account data to use, and Kraft creates the QR code automatically to be included in the documentation template.

User Manual

The Kraft user manual got great improvements again. It comes with even more and improved text, with much more screenshots and improved translations.

This is a community contributions that is so important for Kraft.

Many other Improvements

There were many other improvements: New functionality such as the new day counter for the number cycle templates (allows to have a counter in the document number that resets to 1 every day) or new modes for the watermark functionality to complete the generated PDF documents plus much more details (See Changelog).

How it continues

Kraft is up and running - and maintained. The plan is to keep the 1.0 as a kind of LTS in a stable branch, that only gets urgent fixes for stability.

For master, I am planning to do a couple of more intrusive changes that will take a bit longer.

See the roadmap discussion here.

Curious?

I hope you got a bit curious now about Kraft. Feel free to check it out using the AppImage.

If you find it an useful addition to the Linux application ecosystem that enables more users for Linux we’d very much appreciate your contribution!