Blog

    

Python Mocking Introduction

Posted by: Zulfikar Akbar Muzakki | in Python | 2 minggu, 3 hari ago | Comments

Mocking is a process in unit testing when the test has external dependencies. We isolate our code during the test, without having to worry about the unexpected behavior of the dependencies. For example, we create a routine to save something to Firebase which utilizes 3rd party library called Firestore. There could be problems when saving data to Firebase, like internet connections, wrong configuration, non-existing document, you name it. Instead of testing every possible scenario when saving to Firebase, we only test that Firestore is called with correct parameter, which represents our data. The tests for Firestore itself should have been done by Firestore developer. Hence, we can shift our focus towards the implementation of our code. It also reduces testing time because we don’t need to send our data to Firebase.

QGIS Road to Nerdvana Episode 11: Aggregate dashboards

Posted by: Seabilwe Tilodi | in QGIS | 1 bulan, 1 minggu ago | Comments

Tim Sutton decided to change things up a bit, he was joined by Charles and Seabilwe from Kartoza and the three made aggregate dashboards in QGIS. It is just the first steps and a lot of bumbling around, but hey maybe you will learn something!

QGIS Road To Nerdvana Episode 10: Speed Map Making (part 2)

Posted by: Seabilwe Tilodi | in QGIS | 1 bulan, 1 minggu ago | Comments

Why make just one map in the quickest time possible? Make more! In this video Tim Sutton will again try to go from Zero to a Nice Looking Map as quick as he can.

QGIS Road to Nerdvana Episode 10: Speed Map Making (part 1)

Posted by: Seabilwe Tilodi | in QGIS | 1 bulan, 1 minggu ago | Comments

In this video Tim Sutton will be  trying to go from Zero to Nice Looking Map as quick as he can. See how he goes about creating the map and see if you can't make a nice looking map in 30 minutes.

QGIS Road to Nerdvana Episode 9: Building a 3D scene from scratch

Posted by: Seabilwe Tilodi | in QGIS | 1 bulan, 1 minggu ago | Comments

In this episode Tim Sutton will show you how to make a simple 3D scene in QGIS.

QGIS Road To Nerdvana Episode 8: It's all a big meshunderstanding

Posted by: Seabilwe Tilodi | in QGIS | 1 bulan, 1 minggu ago | Comments

In this episode watch along as Tim Sutton explores some of the new mesh capabilities coming in QGIS 3.16!

Using a Docker Compose-Based Python Interpreter in PyCharm

Posted by: Rizky Maulana Nugraha | in Docker, Python | 1 bulan, 2 minggu ago | Comments

I was involved with different kinds of Django projects in the past. Back then the standard approach of attaching your debug interpreter was by creating a virtual environment in your python project. We debugged using PyCharm at that time. JetBrains generously gave us a free licence to use the whole suite of JetBrains tools as their way of supporting open source projects.

Working with Web Data using Requests and Beautiful Soup

Posted by: Zulfikar Akbar Muzakki | in Python | 1 bulan, 2 minggu ago | Comments

Imagine us in charge of developing a feature to show public data coming from a third party that doesn’t have an API. Let’s say, we need to show current and historical data of dam water level which we can access at http://www.dwa.gov.za/Hydrology/Weekly/ProvinceWeek.aspx?region=WC. We cannot possibly add the entry manually--it’s too time consuming. Some of us might choose the hard way to ask the data provider to make a public API, but there is a time constraint as we need it as soon as possible. One way to solve this is to use a method called “web scraping”.

Finding and fixing topology and geometry errors in QGIS

Posted by: Admire Nyakudya | in QGIS | 1 bulan, 4 minggu ago | Comments

Google Maps, Google Earth, Uber are examples leading software/apps that are driven by GIS. They have allowed the ordinary person inadvertently to use  GIS and appreciate its power without needing an understanding of the basics of GIS.  Many people have taken the leap to using GIS by using some of the GIS capabilities in Google Earth.

CyanoLakes app 1.0 launched

Posted by: Dimas Ciputra | in JavaScript | 2 bulan ago | Comments

We recently launched a mobile application that we developed with the CyanoLakes team. It adds a new dimension to the successful Cyanolakes web app, which has also received a facelift.

Publishing digital elevation in Cesium

Posted by: Admire Nyakudya | in GeoServer | 2 bulan, 2 minggu ago | Comments

Digital elevation data is now readily available from multiple sources. There are several tools that can help to visualise elevation data, Cesium being one. Recently I have been researching how to visualise terrain data in cesium and I could not see a  complete example that I could replicate on my own. This post will highlight the steps I took to visualise elevation data in cesium.

QGIS Road to Nerdvana Episode 7: Logging Postgres Calls

Posted by: Seabilwe Tilodi | in PostGIS, QGIS | 2 bulan, 2 minggu ago | Comments

In this episode, Tim Sutton will show you how to enable PostgreSQL logging and what underlying queries are generated by QGIS or any other PostgreSQL client.

QGIS Road to Nerdvana Episode 6 - Responding to feedback on Episode 5 Pull Request

Posted by: Seabilwe Tilodi | in QGIS | 2 bulan, 2 minggu ago | Comments

This episode is a follow-up from Episode  5, responding to the feedback received.
Enjoy Episode 6 of our Road to Nerdvana!!

Mocking Requests with requests_mock

Posted by: Zulfikar Akbar Muzakki | in Python | 2 bulan, 2 minggu ago | Comments

Testing is an important part of software development, be it manual or automated. Untested code is a ticking time bomb ready to explode at the worst time possible, hence each developer must be responsible for testing their code. It’s even better when they make automated tests for their code, even if it’s only unit tests.

QGIS Road to Nerdvana Episode 5: Tweaking the first run dialog

Posted by: Seabilwe Tilodi | in QGIS | 2 bulan, 3 minggu ago | Comments

In this episode, Tim Sutton takes you along for the ride as he picks a long-time irritation in QGIS: The first run dialog. He tweaks it to make it look nice to submit it as a pull request to QGIS.

QGIS Road to Nerdvana Episode 4: Dealing with Issues

Posted by: Seabilwe Tilodi | in QGIS | 2 bulan, 3 minggu ago | Comments

In this episode of QGIS road to Nerdvana, Tim Sutton will be showing you a workflow that will aid in dealing with issues encountered with a QGIS that compiles, so you won’t have to compile or debug.

QGIS Road to Nerdvana Episode 3: QGIS QA using astyle and pre-commit hooks

Posted by: Seabilwe Tilodi | in QGIS | 3 bulan ago | Comments

We are back with another episode of our roads to Nerdvana. On today’s episode Tim Sutton and world-renowned QGIS developer Matthias Kuhn walk you through the setup process for using 'astyle precommit hooks' - basically clever tools that will make sure your code looks smart and neat automatically so that nobody rejects it for not being standard compliant when you make a pull request.

QGIS Road to Nerdvana Episode 2: QGIS QtCreator Build on Pop_OS! 20.04

Posted by: Seabilwe Tilodi | in QGIS | 3 bulan ago | Comments

In today’s video blog, Tim Sutton shows you how to use QtCreator to build QGIS in a graphical development environment. The key entries used when setting up 3D support and here are the commands used to install QtCreator:

QGIS Road to Nerdvana Episode 1: QGIS Console Build

Posted by: Seabilwe Tilodi | in QGIS | 3 bulan, 2 minggu ago | Comments

QGIS Road to Nerdvana is an exciting series of videos blogs that walk you through building QGIS environments to installing and using QTCreator all running on Ubuntu 20.04.

Calculating area of rasters in QGIS

Posted by: Admire Nyakudya | 4 bulan, 1 minggu ago | Comments

QGIS raster functionality has come a long way and continues to improve. During my spare time, I am always on the lookout for interesting questions posed on https://gis.stackexchange.com.

Have any questions? Contact us.
We would love to hear from you!
Subscribe to our Mailing list (spam-free, industry-relevant occasional emails)

Subscribe to our mailing list

* indicates required