AI Engineer Europe conference
Back in April this video came up in my feed – and the whole series are some of the best talks on the state of engineering software in the age of AI; but this particular talk by Matt Pocock was particularly good.
Back in April this video came up in my feed – and the whole series are some of the best talks on the state of engineering software in the age of AI; but this particular talk by Matt Pocock was particularly good.
I’ve been exploring
Fish Audio S2 Pro is one of (if not the) best text-to-speech solutions. Getting it installed locally and working, however, isn’t so straightforward on Windows 10. There are at least 2 different ways to get this working. One of which is to download/run
It’s not hard – but expect to be limited in usage. https://fish.audio/app/text-to-speech

docker run -it -p 7860:7860 --platform=linux/amd64 --gpus all \
registry.hf.space/artificialguybr-fish-s2-pro-zero:latest python app.py
6. You’ll see the docker container download along with the models and start up:
(base) me@DESKTOP:/mnt/c/fish-audio-s2$ docker run -it -p 7860:7860 --platform=linux/amd64 --gpus all registry.hf.space/artificialguybr-fish-s2-pro-zero:latest python app.py
Cloning into 'fish-speech'…
remote: Enumerating objects: 6605, done.
remote: Counting objects: 100% (1088/1088), done.
remote: Compressing objects: 100% (292/292), done.
remote: Total 6605 (delta 905), reused 796 (delta 796), pack-reused 5517 (from 2)
Receiving objects: 100% (6605/6605), 28.21 MiB | 10.42 MiB/s, done.
Resolving deltas: 100% (4328/4328), done.
Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
Fetching 13 files: 100%|████████████████████████████████████████████████████████████████| 13/13 [02:19<00:00, 10.72s/it]Fetching 13 files: 62%|████████████████████████████████████████ | 8/13 [02:19<01:13, 14.78s/itYou are using a model of type fish_qwen3_omni to instantiate a model of type `. This may be expected if you are loading a checkpoint that shares a subset of the architecture (e.g., loading asam2_video checkpoint intoSam2Model), but is otherwise not supported and can yield errors. Please verify that the checkpoint is compatible with the model you are instantiating. Download complete: : 11.0GB [02:19, 79.0MB/s] 2026-07-03 18:59:16.787 | INFO | fish_speech.models.text2semantic.llama:from_pretrained:504 - Injected Semantic IDs into Config: 151678-155773 2026-07-03 18:59:16.787 | INFO | fish_speech.models.text2semantic.llama:from_pretrained:520 - Loading model from /home/user/.cache/huggingface/hub/models--fishaudio--s2-pro/snapshots/1de9996b6be38b745688de084d87a5633f714e4e, config: DualARModelArgs(model_type='dual_ar', vocab_size=155776, n_layer=36, n_head=32, dim=2560, intermediate_size=9728, n_local_heads=8, head_dim=128, rope_base=1000000, norm_eps=1e-06, max_seq_len=32768, dropout=0.0, tie_word_embeddings=True, attention_qkv_bias=False, attention_o_bias=False, attention_qk_norm=True, codebook_size=4096, num_codebooks=10, semantic_begin_id=151678, semantic_end_id=155773, use_gradient_checkpointing=True, initializer_range=0.01976423537605237, is_reward_model=False, scale_codebook_embeddings=True, audio_embed_dim=2560, n_fast_layer=4, fast_dim=2560, fast_n_head=32, fast_n_local_heads=8, fast_head_dim=128, fast_intermediate_size=9728, fast_attention_qkv_bias=False, fast_attention_qk_norm=False, fast_attention_o_bias=False, norm_fastlayer_input=True) 2026-07-03 18:59:46.228 | INFO | fish_speech.models.text2semantic.llama:from_pretrained:552 - Loading sharded safetensors weights 2026-07-03 18:59:46.717 | INFO | fish_speech.models.text2semantic.llama:from_pretrained:588 - Model weights loaded - Status: <All keys matched successfully> 2026-07-03 18:59:48.707 | INFO | fish_speech.models.text2semantic.inference:init_model:366 - Restored model from checkpoint 2026-07-03 18:59:48.708 | INFO | fish_speech.models.text2semantic.inference:init_model:371 - Using DualARTransformer/usr/local/lib/python3.10/site-packages/torch/nn/utils/weight_norm.py:144: FutureWarning:torch.nn.utils.weight_normis deprecated in favor oftorch.nn.utils.parametrizations.weight_norm`.
WeightNorm.apply(module, name, dim)
* Running on local URL: http://0.0.0.0:7860, with SSR ⚡ (experimental, to disable set ssr_mode=False in launch())
* To create a public link, set share=True in launch().
7. Open a browser to localhost:7860

Things you can do with the server:
Other links:
After 18 months, graphics features like multi-frame generation are working really well, but only a handful of games support path tracing to use it. How few? 7 titles. Even worse, the Steam list of top 100 most anticipated titles – only 1 has path tracing that allows multi-frame generation.
And yet, the price of 5090’s continues to remain sky high and selling better than ever; but almost certainly because of the 32gb of RAM for AI usage. I know that’s why I got my 5090.
With the huge implosing of the game development world, the rise of faster and cheaper to develop indie titles, its no wonder top-end graphics is taking a back seat.
In a report published in February that brings us one step closer to the Terminator and War Games movies, when presented scenarios, the leading open AI models used nuclear weapons in 95% of war-game scenarios. None chose full surrender, even when losing.
Researchers warn AI use may escalate conflicts under pressure.
Claude Design has hit the scene – and Figma stock dropped 7.7% the same day.
A small team with access to a frontier model can reach “good enough” on a design tool in a matter of weeks. The question being priced in isn’t “will Figma die?” It’s “what is Figma’s moat, actually?”
Learn more about Claude Design here or read a step-by-step walkthrough in this Medium article.
While this was a parody/joke – it’s actually pointing in the direction software is likely headed. You can tell some of the folks in the video are seeing it. What if you just type in the application you want and it’s generated for you? Sure this is flaky now, but given the advancements as well as putting guard rails on things to guide it – this is all very much a possible future. You don’t buy software anymore and SaaS companies don’t exist either – you make the software you want by asking for it and the system generates exactly the app you need.
Download it here: https://vibeos.sh
In order to get Kokoro text-to-speech to work with my 5090 GPU inside a Docker container on Windows, I had to get the CUDA setup inside WSL2 using Docker images on Windows. Here were the helpful links:
Setup the WSL image with CUDA and Docker support.
Now run the Kokoro docker command inside your WSL2 image:
Connect with the default web link:
You can’t follow this 100% directly. Note you have to stop and restart/reboot WSL and desktop as you do the other steps above.
# NVidia CUDA setup inside WSL2 Ubuntu 24.04 image
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/13.3.0/local_installers/cuda-repo-wsl-ubuntu-13-3-local_13.3.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-13-3-local_13.3.0-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-13-3-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-13-3
exit
sudo apt install nvidia-cuda-toolkit
nvcc --version
exit
sudo usermod -a -G docker matt
exit
docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest-cu128

This is a really interesting set of DEV articles written by a software engineer. Initially a set of 8 articles, it’s expanded to 21 and counting. It does an excellent job of describing and analyzing exactly the conditions engineers are going through – from watching an AI agent do a week’s worth of work in 1 hour while they were in a meeting to seeing 27.5% of programmer jobs disappear in 2 years.
Definitely a good read.

Before Mythos got shut down, Anthropic’s Opus 4.7 saw a huge spike in complaints about the company’s Acceptable Use Policy (AUP) classifier causing customers trouble in getting legitimate work done.
First, grab a trustworthy Gemma 4 gguf model (unsloth is great). I have been fooling around with Q4, Q6, Q8 models of gemma-4-26B and gemma-4-31B models.
| operty | E2B | E4B | 31B Dense |
|---|---|---|---|
| Total Parameters | 2.3B effective (5.1B with embeddings) | 4.5B effective (8B with embeddings) | 30.7B |
| Layers | 35 | 42 | 60 |
| Sliding Window | 512 tokens | 512 tokens | 1024 tokens |
| Context Length | 128K tokens | 128K tokens | 256K tokens |
| Vocabulary Size | 262K | 262K | 262K |
| Supported Modalities | Text, Image, Audio | Text, Image, Audio | Text, Image |
| Vision Encoder Parameters | ~150M | ~150M | ~550M |
| Audio Encoder Parameters | ~300M | ~300M | No Audio |
Grab the latest version of llama.cpp and compile it with CUDA support for GPU usage (or CPU if you don’t have a CUDA enabled GPU).
Then set up your server command line and it seems some get about 600 Tok/s using 26B on a 5090, or maybe try out the turbo-quant variant of llama-cpp (I have not).
Then take off and make some nifty projects with it.
