About this Page

This is a log of software I’ve written and things I’ve learned through programming.

If you want to get straight to it, here’s my repo and I try to learn the basics of things like this:
Agonising but ultimately worthwhile computer vision and particle filter MOOC on Coursera

Design and hardware are great, but unless you intend to carry your products around it helps to instruct them to do something automatically. Since the theme of this website is mobility, I will be reviewing learning resources that help us control robots to sense the world, decide what to do, and control their bodies to carry out the required actions.

The main programming language I use for prototyping, simulation and learning is python. Python’s syntax is designed to be intuitive and it has several good built-in libraries for numerical methods, statistics, machine learning and visualization. Python’s great for creating bespoke applications that run on your machine or server, and for prototyping ideas quickly. Its main drawback is that it is an interpreted language – this means it runs fairly slowly as there is a second programme that needs to run and interpret each line of code to pass binary instructions to your processor and memory. So python isn’t good for integrated circuits and controllers that require near-real time performance – in this case it’s good to use C++ where your written code gets compiled into binary to run immediately on your processor.

Learning any programming language helps you understand some basic principles like the sequence of steps, objects (with their attributes and methods) and importantly data structures.

For web applications and websites (like this one) you are seeing another set of code (usually in HTML language) that is styled by a CSS style sheet, and interacted with using instructions in Javascript or a derivative of it. I don’t know these three that well (time constraints) so instead use no-code builders like to build web applications

GitHub Repo

My first full web app – March 2021

This Arabic application has a consumer facing version and a vendor facing sub-application. The consumer facing one takes basic parameters about your house, energy consumption and market data and suggests some Solar power system configurations for you with an economic lifecycle calculator and a list of local vendors. The vendor-facing version is a tool that shows vendors prospective customers (who’ve used the consumer-facing version) their expression of interest, contact details and engineering parameters – helping them manage their customer pipeline and sales much more efficiently.

This was built on – a no-code application. To be clear, if you don’t understand programming and haven’t learned another language properly, you’ll still struggle. All Bubble helps me do is sequence steps, format web pages, programme logic and interact with a database without knowing the syntax of Javascript, HTML, CSS or SQL.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s