The Curious Engineer

All blogs / Rust

ncona.com

ncona.com

Learning about computers

RustEmbedded / microcontrollersDatabasesDevOps / SRE / infrastructure

Posts
503 from 1 May 2011 to 8 Oct 2025
Posting
now and then
Kind
personal blog
Feed
https://ncona.com/feed.xml

2025 10

  1. Building Google Cloud Storage Signed URLs
  2. Add Watermark to Images From The Browser
  3. Using gcloud-sdk to Work with Storage Buckets in Rust
  4. Introduction to Tonic for gRPC in Rust
  5. a little familiarity with tonic
  6. PostGIS - Working With Geospatial Data in PostgreSQL
  7. Adding Configurations to ESP-IDF projects
  8. Sharing the Clipboard. Linux, Vim, Tmux and Docker
  9. Internationalization (i18n) of Svelte Apps
  10. Building Web Servers with Axum

2024 30

  1. Firestore Transactions in Rust
  2. Error Handling in Rust
  3. Sending E-mails From Rust With Brevo
  4. Voltage Dividers for Logic Level Shifting
  5. Open Collector Output
  6. Handling Interrupts With ESP-IDF
  7. Pull Up and Pull Down Resistors
  8. Unit Testing Code for ESP32
  9. Building a Stand-Alone Library for ESP-IDF
  10. Configuring ESP32 to act as Access Point
  11. use ESP32 as a WiFi client
  12. B-Trees - Database storage internals
  13. Aligned and packed data in C and C++
  14. ESP32 Non-Volatile Storage (NVS)
  15. Neovim as ESP32 IDE with Clangd LSP
  16. modularize software written with esp-idf
  17. Introduction to ESP32 development
  18. asynchronous programming with Tokio
  19. Programming Concurrency in Rust
  20. Smart Pointers in Rust
  21. Rust References Lifetimes
  22. Traits, Rust's Interfaces
  23. send HTTP requests with Arduino
  24. Testing in Rust
  25. Introduction to Rust
  26. Using Arduino Language Server With Neovim
  27. resistors
  28. Using Arduino Serial Monitor From Linux
  29. Getting Started With Arduino UNO R4
  30. Introduction to KiCad for Circuit Design

2023 7

  1. Introduction to Arduino CLI
  2. introduced Ngspice
  3. Getting Started With Neovim
  4. Passing Arguments To a Java Binary Ran With Bazel
  5. Get arguments used to start a java process
  6. Getting PID for Java Process
  7. Introduction to Kafka

2022 17

  1. Instrumenting an Istio Cluster With Jaeger Tracing
  2. Introduction to Jaeger Tracing
  3. Generating a GPG key in a script
  4. Searching Related Documents With Elasticsearch
  5. get started with Elasticsearch
  6. Monitoring Kubernetes Resources with Fabric8 Informers
  7. Fabric8 Kubernetes Java Client
  8. Kubernetes Java Client
  9. Resource Management in Kubernetes - Requests and Limits
  10. Kubernetes ConfigMaps
  11. Command Line Efficiency With Tmux
  12. Verifying Github commits with GPG
  13. Dependency injection (Inversion of Control) in Spring framework
  14. Kubernetes networking with Istio
  15. concurrency
  16. Flyway - Version control for Databases in Java
  17. Jackson - Working with JSON in Java

2021 22

  1. Managing Kubernetes Objects With Yaml Configurations
  2. Immutables and Java
  3. Setting up LSP in Vim
  4. Implementing a Language Server Protocol client
  5. Managing Kubernetes Applications with Helm
  6. Introduction to Kubernetes
  7. Introduction to GraphQL
  8. Building a Spring Boot server with Bazel
  9. GKE - Insufficient regional quota to satisfy request: resource "IN_USE_ADDRESSES"
  10. an article explaining Protocol Buffers, gRPC, and showing how to use them with Java
  11. Introduction to JDBI
  12. Introduction to JDBC
  13. Dependency Injection with Dagger and Bazel
  14. introduction to Bazel
  15. Introduction to HTML Canvas
  16. React refs
  17. Google sign-in with Golang
  18. Introduction to Next JS - React framework
  19. Introduction to React JS
  20. Dealing with Firestore 10 limit when using IN operator
  21. Publishing a PWA to the Play Store with PWA builder
  22. Introduction to Google Cloud Run

2020 37

  1. Using Google Analytics on Progressive Web Apps
  2. Introduction to Google App Engine
  3. Emulating Unique Constraints in Google Firestore
  4. Running Google Firestore locally
  5. Introduction to Google Firestore
  6. Google Cloud Functions
  7. Identity and Access Management (IAM) with Google Cloud
  8. Monetizing a Jekyll blog with Adsense
  9. Introduction to Golang modules
  10. Introduction to Google Cloud CLI
  11. Java Lambdas
  12. Java Map::entryset
  13. Push notifications on web applications
  14. Introduction to Simple Workflow Service (SWF)
  15. The most useful git commands
  16. Introduction to CloudFormation
  17. Create diagrams with code using Graphviz
  18. Introduction to AWS VPC Gateway endpoints
  19. Introduction to AWS networking
  20. Setting up a bastion host on AWS
  21. Introduction to AWS NAT Gateway
  22. AWS CodePipeline
  23. Identity and Access Management with AWS
  24. Introduction to AWS CodeBuild
  25. Null terminated and length prefixed strings
  26. How hard drives work
  27. AWS CLI
  28. Introduction to Apache Ant
  29. Introduction to CircleCI
  30. Using testify for Golang tests
  31. Simple Back-ups with PostgreSQL
  32. Installing Ubuntu on an old computer - Broken graphics
  33. Unit testing Golang code
  34. PostgreSQL user management
  35. introduction to PostgreSQL
  36. Change video resolution using ffmpeg
  37. PostgreSQL - Connection refused

2019 38

  1. using service workers for caching
  2. Debugging assembly with GDB
  3. Concurrent data structures
  4. Pointers to members in C++
  5. Operator overloading in C++
  6. Configuring gnome terminal programmatically
  7. C++ value categories
  8. Exception handling in C++
  9. Configuring gnome properties programmatically
  10. Hide snap folder in Ubuntu
  11. How to configure Firefox programmatically
  12. Virtual functions in C++
  13. Inheritance in C++
  14. Enums in C++
  15. C-style arrays vs std::array
  16. C++ Generics / Templates
  17. Publishing a Conan package
  18. Creating a C++ package with Conan
  19. Variadic templates / functions in C++
  20. Passing functions as arguments in C++
  21. Using thread pools in C++
  22. consume packages using Conan
  23. Building a simple server with C++
  24. C++ Atomic types
  25. Using Condition Variables in C++
  26. Read-Write mutex with shared_mutex
  27. Building a C++ project with CMake
  28. Building and using a library in C++
  29. Using lsof to find who is using a file or socket
  30. Assembly - Variables, instructions and addressing modes
  31. Vim command line mode
  32. The Vim statusline
  33. Writing a vim plugin - Grepfrut
  34. introduction to assembly
  35. Load bash preferences when SSH to a host
  36. Lock hierarchies to avoid deadlocks
  37. Aggregate initialization in C++
  38. Variable initialization in C++

2018 27

  1. AVL Trees
  2. Binary Search Trees
  3. Spell and Grammar checking on vim
  4. Advanced top for system diagnosis
  5. Introduction to top for system diagnosis
  6. How to find how many cores your system has
  7. Container Linux by CoreOS
  8. Copy assignment and copy construction in C++
  9. mutexes in C++
  10. Ipv6
  11. Passing by reference to a thread in C++
  12. Android development with Docker
  13. Getting familiar with Terraform
  14. introduction to networking for Google Cloud
  15. Setting the search directory for Ctrlp vim plugin
  16. Terraform
  17. Taking over existing instances with Terraform
  18. Linux page cache
  19. File descriptors
  20. Sorting algorithms
  21. Stack and heap memory in C++
  22. introductory article to GDB
  23. futures, async, packaged tasks and promises
  24. Writing tests for C++ code
  25. threads
  26. Autotools
  27. C++ types, pointers and references

2017 27

  1. how header files work in C++
  2. Introduction to etcd
  3. distributed systems
  4. Raft for reaching consensus
  5. Playing with Kubernetes locally with Minikube
  6. Progressive Web Apps install banner
  7. Modify the name of the Desktop and Downloads folders on Ubuntu
  8. Disable SSLv3 in HAProxy
  9. Google auth with Beego
  10. Models in Beego
  11. Database migrations in Beego
  12. Introduction to Beego
  13. Dependency management with golangdep
  14. Introduction to GitLab
  15. Introduction to Bitbucket Pipelines
  16. Getting Rails to run in an Alpine container
  17. The Rabin-Karp algorithm
  18. Load testing a Rails app with Vegeta
  19. Update let’s encrypt certificate without restarting your server
  20. Securing your network with iptables
  21. Canister
  22. Simple strategy for MySQL backups
  23. Free centralized log management with Loggly
  24. House painting problem
  25. free SSL certificates using Let’s encrypt
  26. SSL termination
  27. SSL termination on load-balanced wordpress

2016 33

  1. Docker networking
  2. Showing records from MySQL tables with many columns
  3. Ruby Bundler
  4. Ruby gems
  5. creating installable web apps
  6. Introduction to MongoDB
  7. Introduction to Vagrant
  8. Monitoring machine metrics with Graphite
  9. HAProxy setup
  10. Encrypting an external drive using LUKS
  11. Android development with Docker
  12. Bitwise operations in Javascript
  13. Set up SSH keys for logging into your server
  14. SSH tunneling
  15. Installing Glide with Docker
  16. MySQL for production
  17. dependency management with Glide
  18. Avoid SSH connection timeout
  19. Golang: Dependency management done wrong
  20. Disable expandtab in Vim
  21. Go Language: Concurrency
  22. Go Language: The For loop
  23. Go Language: Slices
  24. Adding a drawer to your Android app
  25. Create a navigation menu for your Android app
  26. arrays in Go
  27. Using the Gradle wrapper on your Android project
  28. Add one to a number without using plus or minus sign
  29. Go Language: Methods and Interfaces
  30. ncona.com – Learning about computers
  31. introduction to Golang
  32. Debugging with tcpdump
  33. Restart a process automatically if it dies

2015 49

  1. Running Polymer tests with Docker
  2. Testing Polymer components using Web Component Tester
  3. Using Gerrit with MySQL
  4. Suspending processes
  5. Adjusting the width of Nerdtree navigator
  6. the same thing can be achieved using Docker
  7. introduction to Gerrit
  8. Uploading to an S3 bucket that contains dots using node SDK
  9. SSH to a running docker container
  10. Socket statistics with ss
  11. gms.StatusHelper Status from wire: INVALID_AUDIENCE status: null
  12. UI components library with React and Webpack
  13. Using Webpack with React
  14. React with Radium
  15. Temporarily disable Syntastic on Vim
  16. Quick Vim setup
  17. Introduction to Reworkcss
  18. Python virtual environments
  19. Introduction to PIP
  20. Oauth2
  21. Uuids
  22. Trunk development flow with git
  23. Introduction to React
  24. Writing ES6 with Babel
  25. Introduction to salt
  26. Polymer
  27. Introduction to Browserify
  28. Deploying node apps with Flightplan
  29. Unit testing angular with karma
  30. Git bisect
  31. Introduction to docker
  32. Web components
  33. Building modular apps with Angular - Part 2
  34. Building modular apps with Angular
  35. Maximum length palindromic subsequence
  36. Bash productivity tips
  37. Implementing Content Security Policy (CSP)
  38. The Fibonacci sequence
  39. Routing with angular
  40. Unique paths
  41. how JWT works
  42. Binary search
  43. Virtualization
  44. Using Google+ id tokens from an Android app
  45. how JavaScript numbers work
  46. how to sign-in to Google+ from an Android app
  47. Project scaffolding with Yeoman
  48. Enforce android coding style with checkstyle
  49. Unable to exclude PMD rule after upgrading to gradle 2

2014 51

  1. Sharing IDE configuration with EditorConfig
  2. Median of Integer Stream
  3. Search Unknown Length Array
  4. Watching JS variables for changes
  5. Kth Largest Element in Array
  6. CSS Flexbox
  7. Convert Array
  8. Change syntastic default syntax checker
  9. AngularJS vocabulary
  10. Algorithm to check if a word is a palindrome
  11. Binary Search Tree Check
  12. Transform word
  13. Linked List Remove Nodes
  14. Find Even Occurring Element
  15. Find frequency in sorted array
  16. Building an Android project from scratch using gradle
  17. Publishing an Android library to Sonatype central repository
  18. Consuming Android library with gradle
  19. Reverse Words in a String
  20. All permutations of a string
  21. Find Missing Element
  22. Combine Two Strings
  23. First Non Repeated Character in String
  24. Matrix region sum
  25. Check Balanced Parentheses
  26. Anagram strings
  27. generics in Java
  28. Largest Continuous Sum
  29. Dutch national flag problem
  30. Building an Android library with gradle
  31. Using ESLint to enforce JS coding conventions
  32. Creating a library for Android
  33. Array Pair Sum
  34. Building back stack correctly when coming from a notification on Android
  35. Schedule your Android app to do something periodically
  36. Setting up Google Analytics for Android
  37. Android UI Automation using Espresso
  38. Creating a grunt plugin
  39. Make vim Command-T ignore certain files
  40. Hash tables
  41. Configure syntastic to work fine with Android projects
  42. How to inspect your Android sqlite DB
  43. Customizing PMD rules
  44. Creating a Robolectric project from scratch with ant
  45. Consuming a REST service from Java (Android)
  46. Java code static analysis with Pmd
  47. Using Android lint to check for errors in your code
  48. Detect when Android emulator is ready
  49. Android Logcat Unexpected value from nativeGetEnabledTags: 0
  50. Failed to load libGL.so
  51. Publishing an Android app to the play store

2013 48

  1. Instant mock testing with PowerMock - Book Review
  2. Big O Notation
  3. Increase number of files Command-T will search
  4. Running simple web server on a folder
  5. Command line task manager for Linux
  6. Writing unit test for Android with Easymock
  7. Android emulator acceleration
  8. Introduction to Compass
  9. Trasfering files via SSH
  10. Hooking your github project to Travis-CI
  11. Android layouts and styles
  12. Unit testing Android Apps
  13. REST Services
  14. Using Android preferences for storage
  15. Different settings for different language in vim
  16. Git rebasing vs merging
  17. Changing your default name and e-mail on git
  18. Some things I learned about drawing on Android
  19. Drawing on an android view
  20. Debugging node apps using built in debugger
  21. Debugging Android applications
  22. Twitter Bootstrap
  23. Android Menus
  24. Creating a chrome extension
  25. Creating user interfaces with android (Part 2 of 2)
  26. Creating user interfaces with android (Part 1 of 2)
  27. Creating web applications with Node and Express
  28. Getting started with Raspberry Pi
  29. Writing JavaScript unit tests with venus.js
  30. Getting started with Jenkins Continuous Integration
  31. Why and how is dust.js asynchronous
  32. JS Dependency Management
  33. Create MySQL users
  34. Writing a simple Node.js server
  35. post about node.js
  36. Backbone routers
  37. Backbone collections
  38. Working with Git submodules
  39. Writting Django applications for your project
  40. Mixins functionality in PHP 5.4 – Traits
  41. creating an application from the command line
  42. Introduction to Backbone.js
  43. Making your local server accessible from anywhere
  44. Git hook to run code static analysis
  45. JavaScript Static Code Analysis Using JSLint
  46. Zend Framework Authorization
  47. Configuring Vim
  48. Introduction to Vim

2012 39

  1. Colorize git output
  2. Creating your own PHPCS standard
  3. Zend Framework Authentication
  4. Django environment setup
  5. PHP Code Static Analysis
  6. Profiling PHP applications with Xdebug
  7. PHP Warning: date(): It is not safe to rely on the system's timezone settings
  8. Javascript Inheritance
  9. Clear floating elements with CSS clearfix
  10. ncona.com – Learning about computers
  11. Debugging PHP code with xDebug
  12. Navigating the DOM with native JavaScript
  13. Making an object's protected and private members public using reflection
  14. Introduction to Syntactically Awesome Stylesheets (SASS)
  15. Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (error)'
  16. Zend Framework resource autoloading with appnamespace
  17. Setting environment variables
  18. Box shadows, the CSS 3 standard way
  19. Introduction to Object Oriented Programing in Python
  20. Gradient background, the CSS 3 standard way
  21. Creating functions with Python
  22. Contributing to OpenHatch project
  23. Rounded corners, the CSS 3 standard way
  24. Pushing and deleting remote branches with git
  25. sudo: unable to resolve host
  26. Local Apache and OpenSSL configuration
  27. Enabling mod-rewrite on Ubuntu
  28. ncona.com – Learning about computers
  29. Creating a batch file on windows
  30. Creating and applying patches with git
  31. Python Sequences - Part 2
  32. Python Sequences
  33. Python strings
  34. FileSync: File Synchronization plugin for notepad++
  35. Creating a test suite using Selenium 2 / Webdriver
  36. Running Selenium 2.0 / Webdriver tests
  37. Python lesson: Getting user input through the console. Bonus: handling an exception.
  38. Introduction to Python
  39. Configuring a quick and ugly local email server on Ubuntu

2011 26

  1. Using Table Data Gateway and Row Data Gateway design patterns in Zend Framework
  2. Using AJAX with Zend Framework
  3. Managing views with Zend Framework
  4. Test driven development with Zend Framework
  5. Using Zend_Application for bootstrapping
  6. Zend_Db_Table
  7. Zend_Loader_Autoloader
  8. Parsing configuration files with Zend_Config_Ini
  9. Self executing functions in javascript
  10. Dealing with Apache's limit on back-references when rewriting URLs
  11. Transforming XHTML documents with XSLT 1.0 and PHP
  12. Run PHP unit tests automatically using git hooks
  13. Getting more from git log
  14. How to delete a commit in git, local and remote
  15. Publish an extension to firefox directory
  16. Creating local virtual hosts with apache
  17. Using UTF-8 characters on an e-mail subject
  18. apache2: Could not reliably determine your servers’s fully qualified domain name, using 127.0.0.1 for ServerName
  19. Zend Framework Hello World
  20. Changing the color of a tab on a firefox extension
  21. Attaching event listeners to the current document on Firefox
  22. Detecting when a new tab or window is opened on Firefox
  23. Using Firefox preferences to store data
  24. Adding an icon to our Firefox extension
  25. Adding an icon to the status bar in a Firefox extension
  26. Firefox extensions development

Undated 42

  1. ncona.com – Learning about computers
  2. ncona.com – Learning about computers
  3. ncona.com – Learning about computers
  4. ncona.com – Learning about computers
  5. ncona.com – Learning about computers
  6. ncona.com – Learning about computers
  7. ncona.com – Learning about computers
  8. ncona.com – Learning about computers
  9. ncona.com – Learning about computers
  10. ncona.com – Learning about computers
  11. ncona.com – Learning about computers
  12. ncona.com – Learning about computers
  13. ncona.com – Learning about computers
  14. ncona.com – Learning about computers
  15. ncona.com – Learning about computers
  16. ncona.com – Learning about computers
  17. ncona.com – Learning about computers
  18. ncona.com – Learning about computers
  19. ncona.com – Learning about computers
  20. ncona.com – Learning about computers
  21. ncona.com – Learning about computers
  22. ncona.com – Learning about computers
  23. ncona.com – Learning about computers
  24. ncona.com – Learning about computers
  25. ncona.com – Learning about computers
  26. ncona.com – Learning about computers
  27. ncona.com – Learning about computers
  28. ncona.com – Learning about computers
  29. ncona.com – Learning about computers
  30. ncona.com – Learning about computers
  31. ncona.com – Learning about computers
  32. ncona.com – Learning about computers
  33. ncona.com – Learning about computers
  34. ncona.com – Learning about computers
  35. ncona.com – Learning about computers
  36. ncona.com – Learning about computers
  37. ncona.com – Learning about computers
  38. ncona.com – Learning about computers
  39. ncona.com – Learning about computers
  40. ncona.com – Learning about computers
  41. ncona.com – Learning about computers
  42. ncona.com – Learning about computers