-
Nov 6, 2023
The rise of large language models have created demand for a different type of databases. Instead of data, we are now interested in storing and searching vectors.
-
May 27, 2023
Large language models are getting more accessible every day with reduced resource requirements and easy to use wrapper libraries. Langchain is one of the leading ones to get started with Python and language models.
-
Apr 8, 2023
Throwing huge amounts of data into a very large neural network and then trying to remove information is like finding a needle in a black whole. We need a simple and effective way to address training data collection.
-
Mar 16, 2023
OpenAI has released its latest large language model, GPT 4. This is its explanation of what it is.
-
Feb 19, 2023
ChatGPT and Bing Chat are becoming increasingly popular, but it will not be long before people start asking whether it is legal to scrape and commercialise their data.
-
Feb 11, 2023
Microsoft has struck first in an ongoing AI arms race by integrating the latest generative language model ChatGPT into their search engine Bing. First impressions look very good.
-
Feb 1, 2023
Semafind aims to help teams and businesses store, share and search through their knowledge with the aid of natural language understanding.
-
Dec 4, 2022
Installing dependencies on base images that GitHub actions offers can be clumsy and time consuming. Most build tools and environments come with official Docker images that we can directly utilise.
-
Sep 13, 2022
Sometimes it is beneficial to have different requirements file in a project depending on the runtime environment. This post shows how to easily maintain multiple requirements.txt files.
-
Aug 3, 2022
Firebase emulators allow you to develop locally and perform unit tests. It is very easy to run and connect to them.
-
Jul 7, 2022
SSH is by default disabled on a new image of Raspberry Pi for security reasons. But using the Raspberry Pi Imager, you can easily configure the initial setup of the Raspberry Pi OS and enable SSH.
-
Jun 14, 2022
Both interfaces and classes typescript provide a typed view of objects available in javascript. In some cases they look very similar to each other. So which one should you use?
-
May 27, 2022
Across many projects I've worked with, I've noticed some simple and effective steps for training neural networks to reduce frustration. I would recommend to follow these tips and tricks when training deep neural network models.
-
May 25, 2022
There has been a lot of buzz surrounding *neural networks* in recent years with achievements made throughout various domains such as computer vision and natural language processing. But what on Earth are they? In these lecture notes and corresponding lectures we will explore, investigate and dissect some of the ideas behind neural networks.
-
May 20, 2022
There seems to be a trend amongst manufacturers to ship ANSI keyboards as standard UK keyboards on new laptops which is very frustrating because what they are doing is incorrect.
-
Apr 12, 2022
Writing a large report or a thesis is very daunting task. In this post, I talk about how to write a PhD thesis and what each chapter should include.
-
Dec 27, 2021
Compiling LaTeX is very cumbersome and requires a lot of modules to install. While online apps have eased the stress of working with LaTeX, sometimes the best solution is to work locally. Using VS Code and its support for containers, I will look into how we can compile LaTeX projects using Docker containers.
-
Sep 29, 2021
With remote working becoming more important, in these short tutorials I will be covering how to effeciently work remotely for Imperial College Department of Computing students. I provide some pointers to main topics and encourage you to explore further.
-
Sep 3, 2021
This elegant Python library called unitreport allows you to use matplotlib inside unit tests to generate self-contained HTML reports. It creates a robust, modular and self-contained approach for analysing datasets, models and more.
-
Aug 8, 2021
There is increasing interest in neuro-symbolic methods that combine recent advances in deep learning with symbolic methods of Artifical Intelligence. Yet, at the heart of their integration lies an intriguing puzzle.
-
Jun 29, 2021
Let your application tell you what is going on at critical steps with effective usage of logging. In this post, I talk over a simple setup for using the logging library in Python.
-
May 25, 2021
Pylint is a popular linting tool for the Python programming language, and often it needs to be configured. Pylint looks at several different locations to load its configuration.
-
Feb 28, 2021
Thanks to recent libraries such as TensorFlow and PyTorch, deep learning has become so accessible that it now can be in anyone's toolbox. But at what cost does these libraries reduce the entry level for advanced methods?
-
Jan 11, 2021
I have been using Vim for almost a decade now and this new year I decided to switch to Visual Studio Code. But why?
-
Dec 10, 2020
The VS Code remote SSH extension is great for working on a remote machine but by default it allows for direct access to the remote host. In this short info post, I will look at how to setup VS Code remote SSH extension to use a jump host.
-
Sep 25, 2020
A short recap of the C programming language with a Pintos perspective as a memory refresher. We go over topics such as preprocessor directives, pointers and linked list structure in Pintos.
-
Jul 30, 2020
You might notice that the in-built Python hash function does not work with dictionaries. That's for good reason because it can be inconsistent across platforms. In this post, I talk about a simple method using standard libraries to hash a Python dictionary in a more stable manner.
-
Jul 17, 2020
There many methods for handling configuration files within a project and it can be difficult to find a solution that works well. In this post, I talk about a small library that allows argparse to work well across multiple files while still providing the expected argparse features such a help pages.
-
Jun 11, 2020
Sometimes you might want to run unittests from another Python script and gather its results instead of running `python3 -m unittest` manually. Running test cases programmatically is quite easy and gives you a lot of control on what happens during or after running the test cases.
-
Jul 25, 2019
Spiking neural networks work by simulating the membrane potential of biological neurons. Unlike artificial neural networks spiking ones attempt to model the biological neurons that build up our brains. So while ANNs are inspired by biological brains, SNNs try to create them.
-
Dec 8, 2018
MapReduce requires the data chunks to be processed independently. This processing model is unsuitable for many graph models in which a calculation often requires knowledge about calculations done for other nodes. This issue is exactly what Pregel tackles with message passing.
-
Oct 24, 2018
Configuration files can get messy when dealing with a large number of external parameters. The built-in solutions like `argparse` might not be scalable or clean enough to manage external parameters. In this post I look at an alternative YAML based solution that implicitly passes configuration to functions.
-
Oct 16, 2018
A very quick introduction to Keras and common architecture types with short examples. The slides include code snippets and tips on training neural networks.
-
Nov 30, 2017
I cover useful information from running batch jobs to introduction for TensorFlow and Keras. These are aimed at students who have machine learning based projects.
-
Nov 19, 2017
Virtualenv provides a very good way to isolate packages. But sometimes it is better to install packages shared across projects in a custom location.