RSS

Posts in 2020

  • Run docker on Raspberry Pi

    in Raspberry Pi

    Install docker on Raspberry Pi and and configure to run as non-root.

    Why docker A docker container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. A Docker container image is a lightweight, standalone, …

    Read more

  • Custom Rails logger to use Azure application insights

    in Rails

    Rails Logger can be custom to have multiple loggers through extend(). Azure application insights can collect app’s log through trace. In this article creates a custom Rails logger and send a copy of log to Azure application insights.

    Rails Logger interface Logger The Ruby Logger class provides a simple but sophisticated logging utility that you can use to output messages. Log level Logger level define as Severity . class Logger # Logging severity. # # DEBUG < INFO < WARN …

    Read more

  • Running a DoH Client to encrypt all home DNS traffic

    Last Update: in Security

    With DNS over HTTPS (Secure DNS), nobody listening on the wire can see the DNS queries you make when you are browsing the Internet.

    If you haven’t setup Secure DNS, do it today.

    What is Secure DNS Traditionally, DNS queries are sent in plaintext. Anyone listening on the Internet can see which websites you are connecting to. To ensure your DNS queries remain private, you should use a resolver that supports secure DNS …

    Read more

  • PostgreSQL mini cookbook: Performance tuning, debugging and testing

    Last Update: in PostgreSQL

    PostgreSQL mini cookbook: Performance Tuning, Debugging and Testing, those tricks back to 2001 and still works today. 😉

    Keeping index statistics up to date Performance has been steadily deteriorating as you use your Postgres system. Solution Use the VACUUM ANALYZE command in psql or the vacuumdb command-line tool. vacuumdb is garbage-collect and analyze a PostgreSQL …

    Read more

  • PostgreSQL mini cookbook: Dealing with the system tables

    Last Update: in PostgreSQL

    PostgreSQL mini cookbook: Dealing with the system tables, those tricks back to 2001 and still works today. 😉

    Seeing what tables exist You want to check if a table already exists. Solution There is a view called pg_tables or the system table pg_class - you can query either. There is less information in pg_tables but it is easier to understand. List all the …

    Read more

  • PostgreSQL mini cookbook: Constraining your data

    Last Update: in PostgreSQL

    PostgreSQL mini cookbook: Constraining your data, those tricks back to 2001 and still works today. 😉

    Making sure a related record exists Records in one table should all be connected to records in another table - you shouldn’t have diary entries for a company that isn’t listed in the companies table. Solution Define a FOREIGN KEY on the …

    Read more

  • PostgreSQL mini cookbook: Controlling Access to your data

    Last Update: in PostgreSQL

    PostgreSQL mini cookbook: Controlling Access to your data, those tricks back to 2001 and still works today. 😉

    Restricting users to certain records or certain fields with views The accounts team don’t need to see unfilled orders and the sales team don’t need to see bank details. You want to enforce this. Solution Create one view for each group of …

    Read more

  • PostgreSQL mini cookbook: Automating processes

    Last Update: in PostgreSQL

    PostgreSQL mini cookbook: Automating processes, those tricks back to 2001 and still works today. 😉

    Enabling plpgsql You want to write functions and build triggers in Postgres' scripting language plpgsql. PL/pgSQL is a loadable procedural language for the PostgreSQL database system. The design goals of PL/pgSQL were to create a loadable procedural …

    Read more

  • PostgreSQL mini cookbook: advanced query tricks

    Last Update: in PostgreSQL

    PostgreSQL mini cookbook: advanced query tricks, those tricks back to 2001 and still works today. 😉

    Having a dynamic field value without a lookup table You want a “calculated” column returned from a select but joining to a lookup table is either not practical or not desirable. Solution Use the CASE...WHEN...ELSE...END structure or write …

    Read more

  • PostgreSQL mini cookbook: aggregate query tricks

    Last Update: in PostgreSQL

    PostgreSQL mini cookbook: PostgreSQL aggregate query tricks, those tricks back to 2001 and still works today. 😉

    Sum a field You want to calculate the total number of payments per customer, staff. Solution Use SUM() and GROUP BY: SELECTa,b,sum(c)FROMtGROUPBYa,b;Example: …

    Read more