Craftsmanship

Stable Diffusion had its premiere…. and the community went wild – Software Craftsmanship Weekly vol. 103

Today we’ll take a look at Git’s internals and the low-level details of C++… to smoothly move on to Stable Diffusion and how it has delighted internees. And along the way, we’ll take a look at Slack’s new Pricing.

Article cover

1. It’s time for an adventure… with Git and C++ internals

What, the vacations are over! It’s time to get down to authentic “Software Craftsmanship”, not some image synthesis or other child’s play.

And can you point me to more “true” engineering than git internals? GitHub seems to come to similar conclusions, as this week it released a series of texts on how this most popular version control system behaves “under the hood.” I was under the impression that I reasonably understood what it all looked like – you know, the Merkle tree, the non-mutated structure with the cryptographic verification, and so on. However, the series, as mentioned above, brings a totally new level of enlightenment.

I feel this is precisely the kind of publication I needed to better understand the release notes of successive Git releases. In each of them, the developers brag about performance-revolutionary changes to data structures. GitHub’s series builds on just that, outlining the role of each code construct and the interrelationships between them. At the time of writing this summary, I am just reading the fourth part of the series (five have been published so far), and I already know I will finish it… Although I suspect that after the completion, I will have to start from the beginning to consolidate all the facts – because these articles are up to overflowing with knowledge.

One must see Sisyphus happy

Well, git is nice, but if you feel that pesky version control is not enough engineering-engineering, I have something even “better.” How many of you have had the opportunity to write your first main() method in C++? I’ll frankly admit that until now, I had never thought about what had to happen before the said main() runs the now legendary “Hello World” expression. By complete coincidence, however, I came across a text on exactly this topic last week. A General Overview of What Happens Before main() turned out to be a really interesting publication, even for someone whose relationship with C++ has been nonexistent since college (so my relationship with it largely resembles that with Assembler). Therefore, I recommend it.

The little guy is me.

Okay, I probably already “overworked” you with two heavier texts to start, so let’s fly on to a bit more leisurely part of the summary.

Sources

Discover more IT content selected for you
In Vived, you will find articles handpicked by devs. Download the app and read the good stuff!

phone newsletter image

2. Slack is severely limiting free accounts, much to the delight of competitors

The first of September is not only the date when the vacations end. It’s also when Slack (one of the most popular messengers) introduces new pricing – and one of the steamy kind. After all, until now, Slack allowed 10,000 archived messages that “rolled over.” However, this was a number reasonably sufficient when, for example, we set up Slack for the needs of a narrow circle of friends. At the beginning of September, however, the situation changes. Now, regardless of the number, Slack will store messages from the last three months.

Well, unless you pay…. then Slack will magnanimously restore your messages.

The company claims that the changes should work out well for most customers, who will now not have to limit their communications. How much of a stretch this explanation is is proven by Zulip’s publication Why Slack’s free plan change is causing an exodus. Using simple calculations, they show how a small percentage of Slack users will realistically benefit. Of course, they’re not doing this gratuitously – Zulip is a company that also makes a group chat messenger itself and is eager to profit from the image crisis of its biggest competitor – but it’s still hard to argue with the arguments they put forward.

Yet I always try to be extra careful when reading such posts.

This is another, after Heroku, described a week ago, very unpro-consumer pricing change. It will be interesting to see if we have a coincidental confluence here, or in the pursuit of more vital monetization – when both VCs and exchanges are expecting real reasults from technology companies – we should expect more such announcements.

Sources

Discover more IT content selected for you
In Vived, you will find articles handpicked by devs. Download the app and read the good stuff!

phone newsletter image

3. Stable Diffusion had its premiere…. and the community went wild

The impossible is becoming possible.

OK, we laughed at the beginning about AI Synthesis, but it couldn’t be missing from our new edition. Especially since we had just announced a real revolution in this field, in the form of Stable Diffusion – the first model that was realistically going to be available for widespread use, with open code and the possibility of modification by the community. Stability.AI’s baby made its way into our hands, and…. the world went crazy. Literally: Stable Diffusion is probably the product that best lived up to the hype since From Software’s Elden Ring.

Even Saint Elon honored the game with his blessed Tweets.

The Internet has been flooded with texts praising the Stable Diffusion to the skies, calling it the best of all models (which to me is a bit of a stretch, but about that in a moment). There is no shortage of tests, comparing Dall-E, SD and Midjourney on selected prompts, and ones extolling its capabilities like Stable Diffusion Is the Most Important AI Art Model Ever or Stable Diffusion is a really big deal. And I’ll admit, there’s something seductive about the fact that such a powerful tool has found its way into the hands of experimenters worldwide – the results that Reddit users are achieving are truly impressive. The general consensus is that Stable Diffusion is the best model for style transfer. However, I have to admit that I find it much harder to create something as eye-pleasing as MidJourney, for example, makes possible. Stable Diffusion simply requires a lot more playing around, configuring options, and broadly speaking, “tinkering.”

The control panel itself is a bit of a deterrent

Simply Stable Diffusion has a steep learning curve, but what’s the internet (and the upcoming vacation) for? There’s no shortage of materials – PromptMania, for example, has created a PromptBuilder for SD, allowing you to choose the suitable styles, and it’s not hard to find complete guides popping up like mushrooms. The Reddit community mentioned above is also eager to share its battle-tested prompts.

And that’s how I was able to generate out what Polish President Andrzej Duda would have looked like if he had starred in German Expressionist films

The key differentiator, however, is that Stable Diffusion can be fired up on a local machine. The process isn’t overly complicated, but it has a few nibbles, so if you want to play around, I found a proper tutorial for running SD on MacBooks with an M1 processor – have fun. Maybe next time, you will be the one to win first prize at an art contest – like Jason Allen, who achieved this thanks to an image generated with MidJourney.

This only confirms my thesis that this is the best of the models. I this is an excellent time to share my generated cover of the Death Metal Album recorded by From Software from the aforementioned Elden Ring.

But lest we forget about Dall-E, here’s another new feature from them. Last week, they announced a new feature – the ability to …. generate missing image elements. I don’t know if you’ve used Photoshop, but it’s like their ‘content-aware fill.’ However, the one that guesses what the world around a given piece of art could looked like.

By the way, see for yourself the effects of his work. I recommend clicking the link and seeing a timelapse of how the whole thing is created.

Well, Once again, we couldn’t get away from the topic of image synthesis…. maybe next week then? What am I deluding myself – probably some company will come up with a new revolution that will not let me remain indifferent.

Sources

And, there may not be a Weekly next week. I’ll be right back from vacation, so you understand 🏝