-
When does AI take my job?
May was the second anniversary of my personal journey with AI, or generative AI to be precise. A few weeks ago before that moment, we had a quick chat on Zoom with some guys from all over the world, from Switzerland to New Zealand. So, the news was like, “You’ve heard that? One guy used something called ChatGPT and won a coding competition.” So, there was this chatbot, right? And it had this new tech that could understand natural English and respond to it. And get this – it could even code in almost any programming language. Wow! So as soon as I got there, I created an account and asked for a Basic v2 code doing something like bubble...
-
Make Internet Great Again
I think we’re at a turning point in the history of our civilisation. We’ve all thought stability was the way to go, but it feels like things are changing more quickly than ever before, at least in our lifetime. It’s a shame, but it looks like the internet, one of the best inventions of the 20th century, is playing its part in this change. Why is that? Because the mail never stops (Seinfeld) I discovered the internet around 1995 when I had the opportunity to use it at the Wrocław University of Science and Technology. They had plenty of MS-DOS and Windows 3.11 computers with monochrome CRT monitors connected to a local network and the internet. I used tools such...
-
Power supply for bare ESP 8266 units
For battery powered ESP 8266 projects we would like to have a full control over electrical components that we use on board. This is because everything that draws power will also drain our battery, and this is something we want to avoid. The Wemos D1 Mini module seems to have the lowest memory consumption of them all, but we can still be better. In my battery powered projects I use ESP-12F modules and custom power circuit, that I would like to describe in this post. By the way, this approach will work with all other “bare” ESP modules like ESP-01, ESP-07, ESP-12S to mention just a few. The ESP-12F module is a member of so-called castellated module family, that is...
-
Gradle Retro Assembler plugin is released
The idea of a tool that can automatically download all dependencies and build my 6502 projects arose some time ago. In the meantime I started using 64spec for testing my assembly code. The library itself is great but requires a lot of manual operations once a great number of test files are created. I have noticed that Michał Taszycki, an author of 64spec, has already written a proof of concept tool, so that 64spec can be used from command line rather than by using user interface of Vice. I have looked into 64spec-cli and decided that it would be possible to reimplement it in Java. The result of my work has actually exceeded my expectations: it’s a fully functional Gradle...
-
Weather Station with ESP 8266 (part 1)
The ESP 8266 has relatively high power consumption (around 70-80mA) which makes battery powered devices difficult to build, unless we accept a very short battery lifetime. Reasons for this are apparently connected with WiFi communication model, which is not especially economical, big processing power of the ESP chip itself has also an influence on this. But I really like 8266 because setting up the network topology is trivial - there is nothing to be set as I will use my existing home network. These devices also need to be battery powered, because I don’t want to put wires. So I have checked several options and this is what I found. The situation is not that bad as it looks, as...
-
Internet of Things done cheaply with ESP 8266
For some time I had an idea to do few “home improvements” and, as a side effect, learn a bit about microcontrollers and electronics. So called “smart home” can be expensive - there are a lot of out-of-the-box solutions that cost a small fortune (as I said: “for some time”, now it is cheaper). So my idea really was: can I do it as cheap as possible? After some research I decided to build my solution around some central software working on Raspberry Pi 3 and some amount of sensing- and command-nodes built with some cheap MCUs and radio transmitters, maybe even battery powered. My initial choice was to use AVR microcontrolers (yes, the ones from Arduino) and cheap NRF24L01...
-
Put subroutine into the library
Subroutine is an essential concept in programming. Advantages of using subroutines are quite clear - instead of doing a repetitive work, we define chunk of code once and “jump” to it any time we need it. It is a part of DRY principle (do not repeat yourself), which allows to keep our code compact and maintainable. It allows us to keep memory footprint of our code at reasonable level. With possibility of passing execution arguments as well as result, subroutines become fully blown procedures and functions as known from high level languages. How does MOS 6502 support subroutines? We essentially need two instructions: “Jump to SubRoutine” that does typical long jump to given memory address and “ReTurn from Subroutine” that...
-
Writing and using libraries in KickAssembler
It’s a long way I took from early times when I coded something for MOS 65XX family to now, when I actually code for money. What was really a joy or hobby, now becomes a rather routine work guided by corporate processes, software frameworks and project management methodologies. I do not want to complain, I fully understand that productivity is a key and live is hard. When I came back to C64 programming, and that was roughly two years ago (2016) I was just a little bit bored being sick listed because of backbone problems (something very common for programmers of my age). I jumped into very fast, watched bit of excellent 64bites, discovered a wonderful pair of KickAssembler and...