Skip to main content

Posts

Showing posts with the label DeveloperTips

Is It Time to Move On From VS Code?

 Is It Time to Move On From VS Code? VS code VS Pycharm/ For the past few years, Visual Studio Code has been my primary development environment. Like many developers, I appreciated its flexibility, extensive plugin ecosystem, and the fact that it could be adapted to almost any programming language or workflow. However, after one of the recent updates, I found myself spending more time fighting with the IDE than actually writing code. What was once a lightweight and straightforward editor now felt increasingly cluttered and distracting.     The biggest issue for me wasn't that new features had been added. Software evolves, and that's a good thing. The problem was that VS Code seemed to be constantly trying to anticipate what I wanted to do before I'd even clicked on anything. Panels would appear, suggestions would pop up, AI features would offer advice, and various automated tools would spring into action. While some developers may find this helpful, I found it disr...

Why Giving Advice Is Easier Than Doing the Work (Especially in IoT and Embedded Systems)

Why Giving Advice Is Easier Than Doing the Work (Especially in IoT and Embedded Systems) ☝☝☝☝ It’s something I’ve become increasingly aware of while working on technical projects: giving advice is often far easier than actually doing the work. On the surface, a suggestion can sound simple, logical, and even obvious. But once you’re the person responsible for implementing it, the reality quickly becomes more complicated. This gap between theory and practice is something every developer eventually encounters, and it’s particularly noticeable in hands-on fields like IoT and embedded systems . When someone isn’t directly involved in a project, they don’t carry the same constraints. They’re not dealing with the specific hardware limitations, firmware quirks, time pressures, or integration challenges that define the day-to-day reality of the work. As a result, their advice can be well-intentioned but disconnected from what is actually achievable. It’s easy to recommend a clean solution whe...

Trying to Understanding APIs and FastAPI: Practical Tools for Modern Software Development

Trying to   Understanding APIs and FastAPI : Practical Tools for Modern Software Development ✌ Application Programming Interfaces (APIs) are one of the fundamental building blocks of modern software development. An API allows different programs, services, or devices to communicate with each other in a structured way. Instead of one program needing to understand the entire internal workings of another, it simply sends a request and receives a response using clearly defined rules. APIs are everywhere: when a mobile app fetches weather information, when a website processes payments, or when a sensor device uploads data to a cloud service. In essence, APIs act like translators that allow separate systems to exchange information reliably. πŸ’ͺ One of the most common ways APIs are used today is through web-based APIs that operate over HTTP. These are often referred to as REST APIs ( Representational State Transfer ). In a REST-style API, clients send requests such as GET , POST , PUT ...

Designing A Private Network

πŸ“»πŸ“ŸπŸ“   I've been exploring potential options for designing a private network that gathers sensor data and delivers it securely to a central hub while also supporting two-way communication requires careful consideration of range, bandwidth, latency, security, and scalability. Whether you’re managing environmental monitors across farmland, tracking machinery in a factory, or aggregating building automation data, the right architecture ensures reliability and long-term flexibility. Below are four proven approaches, each suited to different operational needs. The first method is a local Ethernet or wired LAN architecture . In this setup, sensors connect via Ethernet (often using Power over Ethernet to simplify cabling) to switches that route traffic to a central on-site server or data hub. Two-way communication is straightforward: the hub can push configuration updates, firmware patches, or control commands back to the devices over the same secure channel. This method offers high ba...

Imperial Measurement Converter App Using A Python GUI

  Imperial measurement system converter app  I decided to spend an evening making a unit converter app without using an api to do the heavy lifting for me *and* with a python based gui because I haven't really made anything with one of them before and this is the result: πŸ‘πŸ‘πŸ‘      I installed Tinkter to get the GUI ( graphical user interface ) This is the GUI it produces when it's running.     The next job is to tidy up the code, it needs it.  Then I want to add some more functionality to it.  I can add volume conversion or weight .  I've always wanted to do some research into old money so I can add that to the app. After I've added a bit more functio Link to the app on github nality to it I'll find a way to host it on the public internet.     This is my advice to any other programmers out there:  Once you've got something working make the most of it because it's easier to add things onto something that's ...

Advice For Beginners To Get Up and Running with Python

1. Why a Proper Setup Matters Before diving into code, a structured setup helps you avoid “spaghetti” projects that become hard to maintain. Using a virtual environment ensures your dependencies are isolated (so you don’t clash with system Python or other projects). Having a clear skeleton (separating imports, variables, functions, and “main program logic”) gives you and future readers a map of where each piece lives. Many software engineering experts emphasize that good architecture up front can save you enormous friction later — clean structure is one of the foundations of maintainability . ( Ciklum ) 2. Creating a Virtual Environment  πŸ’ΎπŸ’»πŸ’Ή Here’s a typical workflow: Open your terminal / command prompt in your project folder (or create a new folder). Run (for Python 3): python3 -m venv venv This creates a directory venv/ (or whatever you name it) containing the isolated Python environment. Activate it: On macOS / Linux: source venv/bin/activate On Window...

Stop Trying to Be the Best in Class, Stay Focused on Raising Yourself to the Next Level

Stay Focused on Raising Yourself to the Next Level Software Development  In the world of tech, it's easy to fall into the trap of comparing yourself to others. Maybe it's the developer on your team who seems to solve problems twice as fast, or that person on Twitter who contributes to five open-source projects and still has time for a blog and a podcast. But the truth is, trying to be the “best” in class is a moving target—and a distracting one. A more sustainable and rewarding mindset is to focus on raising your own level, day by day. Progress, not perfection, is what actually moves you forward. One of the most powerful habits in tech is deliberate practice . It's not just about writing more code; it's about writing it thoughtfully, reflecting on what went wrong, and iterating. Whether you're learning a new language, framework, or debugging a tricky issue, take time to understand why things work the way they do. Set mini-goals for yourself like “understand closur...

Habits of Productive Programmers

 Introduction When we think of great programmers, we often picture long nights of coding, complex algorithms, and coffee-fueled problem-solving. But what truly separates the most productive programmers from the rest isn’t just skill — it’s discipline. One of the most effective habits they cultivate is the practice of deliberate time blocking — a focused approach to managing work sessions and avoiding the chaos of constant context switching.  ☝ The Power of Time Blocking Time blocking involves setting aside specific chunks of time dedicated to deep, uninterrupted coding. During these blocks, programmers silence notifications, close unrelated tabs, and focus solely on the task at hand. This technique helps them enter a state of “flow” — that powerful zone where creativity, logic, and problem-solving converge effortlessly. Instead of scattering attention across multiple tasks, productive programmers give their full cognitive energy to one priority.  ☝ Protecting Focus i...