Month: February 2025
Moving On
TLDR:
Some old Circus Scientist services have to go, in order to move forward with new projects. This is due to Ubuntu Server upgrade (not intentional)
Outline:
There are two ways to look at things in software:
- Keep things compatible and working no matter what. I think of this as the “hoarder” mentality (think Microsoft)
- Move fast and break things (aka Google)
I guess I try to keep a happy medium, leaning towards the “hoarder” side. Right now though, something is going on that I don’t have any power to change. The Ubuntu Server version 20 which I have most of my “experimental” services on is going EOL in a few months.
I don’t have a choice – I need to upgrade all of my online projects. Sometimes this is as simple as upgrading Ubuntu in-place but due to Python version updates this time it’s impossible. Each service has to be updated and put on a new version of the server – I’m using the latest LTS version, Ubuntu Server 2024.
What is going away
- LED Website Indicator. I really love this project, my first fully integrated Web and IOT project. Basically nobody cared except me. I’m going to open source the Arduino code at some point, some parts are already are available on GitHub.
- MagicPoi old website. There is already a new version with most of the same functionality (my patreon subscribers have had access to this for a while). This was my first really large Flask website with an api accessible from ESP8266 and is a bit old and insecure now. I have a backup if anyone has data from there that they need to get back, just send me an email and I will sort you out.
- AI Site Generation. A fun project that was just for learning purposes really.
- Monkey Detector (web version with api). Another learning project, not being used.
- K8 Juggling. Very old fun service.
- Invisible Deck Practiser. Just a JavaScript version of an Android app (magic).
- Other personal sites not related to this blog.
Temporary disruptions
Several other services need to be migrated, this may take up to a week depending on the complexity. Expect disruptions.
- SmartPoi Downloader
- The new alpha version of magicpoi site (with api)
- devsoft.co.za
- show.circusscientist.com
- Other personal sites not related to this blog.
Conclusion
Sometimes you have to break things in order to move forward.
Everything that is moving to the new server is going to have proper Python virtual environments with up-to-date libraries. More secure, faster, future proof.
I cloned ChatGPT Operator using DeepSeek R1
Operator is in the news – one of my friends recently shared a video of someone using it to buy stuff online. It runs on ChatGPT 01 or 03 reasoning model. DeepSeek R1 is just as good, right? Let’s clone it!
How I did it
- Found a tutorial online
– of course I’m not the first person to try this - Add the tutorial webpage to Aider context (to send to DeepSeek)
– I did skim it first, looked OK, using cool libraries and stuff - Add some specifications (prompt) and tell DeepSeek to make it for me.
– using Python with Gradio and Browser Use – a way to control Chrome easily with AI.
The result
DeepSeek with Aider’s “Architect mode” did an amazing job. It required some guidance about what exactly I wanted – the tutorial was more of an inspiration than something I wanted to copy exactly. As usual there were errors and I had to spend a few hours asking the AI to debug code – as well as doing it manually on occasion. AI programming is not foolproof and will not replace us in it’s current state – it’s a tool only. A great tool – but only a tool.
I love good tools.
DeepSeek decided that it needed to record it’s progress as a gif, made up of screenshots. I didn’t ask it to do this, and it wasn’t mentioned in the tutorial either.
Here is the slideshow for “Find me the cheapest Android phone on gumtree”. It also returned the results in text format.
Conclusion
It was super fun asking my “DeepSeek Operator” to do something and then watching it click around in the browser, even working out that it had to accept cookies before continuing!
As you can see, the tools for this type of operation exist in the Open Source world already. I think that Agentic AI is almost ready to take over the browser and do a lot of your work for you – if you are willing to trust it. It could be great for research for example.
Having said that, the DeepSeek R1 model was pretty slow via api. I think that may be a problem with reasoning models in general, though. Also, it didn’t find the actual cheapest phone, I did that myself in a few seconds afterwards to double check the result.
What do you think, should I publish my Python powered OpenAI Operator clone to GitHub?
Update:
I published it! You need a DeepSeek api key for this to work*
*currently the service is down again, hopefully they will find a way to scale it soon