Checkbox Workaround

I just posted my first YouTube video, somehow I managed to get something out that’s almost coherent, next time I promise better! In essence, the solution is the same, just a bit more detailed. I’ll need to get screen recording software and a good microphone, but at least we’re underway 🙂 The problem I was […]

Broken Code Insight in 10.4.2

Delphi 10.4.2 delivered important fixes to the LSP and Code Insight. In general, everything is working well for me. However, I can still produce the dreaded red squiggles: As you can see compilation was successful, but Code Insight and Structure View are broken. In this case, the problem is a result of updating the Library […]

FMX Resources

Language Reference Here are a list of resources to help a developer get started with FMX development. Some of the resources are free, others are links to books on Amazon. Please keep an eye on the Packtpub publisher’s website, they often have $5 specials, particularly around major holidays. The first resource you should download is […]

FMX Developers Group

Introduction We become just by doing just actions, temperate by doing temperate actions, brave by doing brave actions – Aristotle For anyone interested, I’ve just started a Facebook Group named Fmx Developers, you are most welcome to join. The group is for developers who’d like to discuss all things mobile, especially but not limited to […]

Ruby Block Precedence

Ruby has two succinct ways of representing a block: However, there is a slight difference as demonstrated next, where we select our training days. The short form: Versus the long form: Uh oh..what happened to our output, where did our training days go? The reason this happened is because in the long form the puts […]

# frozen_string_literal

If you are coding in Ruby 2.3 or newer, using RuboCop, you may have noticed this warning: What is this? To improve performance, there were plans in Ruby 3 to use frozen string literals by default. In the end, this feature implementation was dropped. However, you can still use this magic comment, which must appear […]

Ruby Block Scope

Ruby makes good use of anonymous functions (code blocks) which the calling functions yield arguments to: Under the hood, the upto method is looping from 1 to 3, and on each loop it yields the index to the associated code block (anonymous function). The value yielded to the block is received in the n argument, […]

Hash Table

The hash table uses a hashing function to efficiently store and retrieve data, It is also known as a hash map, map, dictionary, or associative array. An underlying array is used to store the data, the hashing function will take a key and calculate its index in the array. The hash function must be: consistent […]

Breadth-First Search

The Breadth-First Search answers two questions: is there a path from node a to node b? what is the shortest path from node a to node b? It is a graph algorithm. Graphs are made up of nodes and edges: Nodes are connected to other nodes called their neighbors. A directed graph is a node […]

Iterable in Python

Iterable An iterable is any Python object capable of returning its members one at a time, permitting it to be iterated over in a for-loop, such as lists, tuples, sets and strings – as well as generators. An iterable object implements the __getitem__ and __len__ methods. An object can also implement the __iter__ method to […]