Understanding Logical Time in Distributed systems

Posted in distributed-systems by Christopher R. Wirz on Mon Sep 30 2024

This blog post delves into the technical concepts and mechanisms proposed to capture causality using logical time, as discussed in the article Logical Time: A Way to Capture Causality in Distributed Systems by M. Raynal and M. Singhal.

Read More

Spanner: A Deep Dive into Google's Globally-Distributed Database

Posted in distributed-systems by Christopher R. Wirz on Sun Sep 29 2024

Spanner represents a significant advancement in distributed database technology, combining the best features of traditional databases and modern distributed systems.

Read More

Checkpoint-Based Rollback Recovery

Posted in distributed-systems by Christopher R. Wirz on Sat Sep 28 2024

Despite extensive research, commercial adoption of rollback recovery is limited due to implementation complexity and niche application domains. Public domain libraries and specific use cases in telecommunications and scientific computing highlight its practical challenges and benefits.

Read More

Raft consensus algorithm

Posted in distributed-systems by Christopher R. Wirz on Fri Sep 27 2024

Raft provides leader election and log replication which leads to safety and consistency.

Read More

PAXOS Made Simple: The Consensus Algorithm

Posted in distributed-systems by Christopher R. Wirz on Wed Sep 25 2024

The Paxos algorithm is a fundamental consensus protocol in distributed systems that ensures fault-tolerant agreement on a single value among multiple processes.

Read More

Understanding Time, Clocks, and Event Ordering in Distributed Systems

Posted in distributed-systems by Christopher R. Wirz on Wed Sep 25 2024

In the realm of distributed systems, one of the foundational challenges is the synchronization and ordering of events across different processes.

Read More

The Impossibility of Distributed Consensus: Understanding the FLP Result

Posted in distributed-systems by Christopher R. Wirz on Tue Sep 24 2024

The FLP result is a cornerstone of distributed computing theory, providing a deep understanding of the challenges in achieving consensus.

Read More

Understanding the Fallacies of Distributed Computing

Posted in distributed-systems by Christopher R. Wirz on Mon Sep 23 2024

The fallacies of distributed computing serve as a reminder of the complexities involved in designing and maintaining distributed systems.

Read More

Understanding Distributed Snapshots: A Fundamental Technique in Distributed Systems

Posted in distributed-systems by Christopher R. Wirz on Sun Sep 22 2024

By providing a way to capture a consistent global state, it lays the groundwork for solving a wide range of problems in distributed computing, from deadlock detection to termination detection and beyond.

Read More

Innovations in Distributed Object Storage: A Dive into CRAQ

Posted in distributed-systems by Christopher R. Wirz on Sat Sep 21 2024

CRAQ has the potential for improving data storage and management in distributed environments remains a topic of great interest for researchers and developers alike.

Read More

Understanding Consistent Global States in Distributed Systems

Posted in distributed-systems by Christopher R. Wirz on Fri Sep 20 2024

This blog post discusses the fundamental concepts and mechanisms associated with achieving consistent global states in asynchronous distributed systems.

Read More

Inside Amazon Aurora: Innovations in Distributed Database Design

Posted in distributed-systems by Christopher R. Wirz on Thu Sep 19 2024

Aurora's innovations show how cloud-native databases can rethink traditional approaches to achieve better performance, availability, and cost-effectiveness at scale.

Read More

Consensus Protocols in Distributed Systems: From Logical Clocks to Raft

Posted in distributed-systems by Christopher R. Wirz on Wed Sep 18 2024

This blog post explores the evolution of consensus protocols, from the foundational concept of logical clocks to more advanced algorithms like Paxos, ZAB, and Raft.

Read More

Flat Datacenter Storage: Rethinking Datacenter Storage Architecture

Posted in distributed-systems by Christopher R. Wirz on Tue Sep 17 2024

Flat Datacenter Storage (FDS) is a high-performance, fault-tolerant, large-scale, locality-oblivious blob store.

Read More

Understanding Distributed Systems: Global State Recording and Stability Detection

Posted in distributed-systems by Christopher R. Wirz on Mon Sep 16 2024

Whether you're developing a distributed database, a peer-to-peer network, or a cloud-based application, understanding these concepts is key to building robust and scalable distributed systems.

Read More

Chain Replication: A New Approach for Scalable, Consistent Storage

Posted in distributed-systems by Christopher R. Wirz on Sun Sep 15 2024

In today's world of massive online services and big data, building storage systems that are both highly scalable and strongly consistent is a major challenge. A new technique called chain replication offers a promising solution to this problem.

Read More

Demystifying Distributed Systems: Models, Challenges, and Intuition

Posted in distributed-systems by Christopher R. Wirz on Mon Sep 09 2024

In our increasingly connected world, distributed systems form the backbone of many technologies we rely on daily. Yet, these systems remain challenging to design and understand. Why? The answer lies in our lack of intuition for how they work.

Read More

The Rise of Cloud Computing and Machine Learning Systems

Posted in distributed-systems by Christopher R. Wirz on Sun Sep 08 2024

Machine Learning evolution provides a unique perspective on developing many of Google's foundational technologies and where things are headed.

Read More

A review of What Good are Models and What Models are Good

Posted in distributed-systems by Christopher R. Wirz on Sat Sep 07 2024

These concepts form the foundation for understanding and analyzing distributed systems, their challenges, and the approaches used to design robust and efficient distributed architectures.

Read More

Scaling Memcache at Facebook: Lessons from a Billion Operations per Second

Posted in distributed-systems by Christopher R. Wirz on Fri Sep 06 2024

Facebook's approach to scaling memcache addresses many challenges of operating at a large scale.

Read More

The Rise of Edge Computing and IoT: Reshaping the Distributed Systems Landscape

Posted in distributed-systems by Christopher R. Wirz on Thu Sep 05 2024

As developers and architects, we must adapt our thinking and tools to harness the full potential of this new computing landscape.

Read More

Byzantine Fault Tolerance: Achieving Consensus in Unreliable Distributed Systems

Posted in distributed-systems by Christopher R. Wirz on Wed Sep 04 2024

What happens when some of these nodes aren't just failing, but actively misbehaving?

Read More

Distributed Machine Learning in Geo-Distributed Systems: Challenges and Solutions

Posted in distributed-systems by Christopher R. Wirz on Tue Sep 03 2024

As we move forward, the field of distributed machine learning will likely continue to see rapid advancements, balancing the need for global knowledge sharing with the benefits of local optimization and data privacy.

Read More

The Complexities of Modern Data Center Management: Insights from Google's Borg

Posted in distributed-systems by Christopher R. Wirz on Mon Sep 02 2024

Data center management may not be the most glamorous topic, but it's the unsung hero enabling the digital services we rely on every day. As we push the boundaries of what's possible in computing, efficient resource management will remain at the heart of innovation in this space.

Read More

Emerging Trends in Data Center Systems: Implications for Distributed Services

Posted in distributed-systems by Christopher R. Wirz on Sun Sep 01 2024

By leveraging these new technologies and design approaches, we can build more efficient, scalable, and flexible distributed systems to power the applications of tomorrow.

Read More

The Evolution of Distributed Data Processing Frameworks: From MapReduce to Spark

Posted in distributed-systems by Christopher R. Wirz on Sat Aug 31 2024

As the field of big data continues to evolve, we can expect further innovations that build upon the lessons learned from MapReduce and Spark, pushing the boundaries of what's possible in distributed data processing.

Read More

Communication Challenges and Solutions in Distributed Systems

Posted in distributed-systems by Christopher R. Wirz on Fri Aug 30 2024

As distributed systems continue to evolve, so too will the communication strategies that underpin them. Whether it's improving P2P algorithms or developing new hierarchical designs, the field remains ripe for innovation.

Read More

Consistency in Distributed Systems: Theory to Practice

Posted in distributed-systems by Christopher R. Wirz on Thu Aug 29 2024

As distributed systems continue to evolve, understanding these consistency models and their practical implementations will be essential for building robust, scalable applications that can serve users across the globe.

Read More

Distributed Transactions and Google's Spanner: Scaling Data Management Globally

Posted in distributed-systems by Christopher R. Wirz on Wed Aug 28 2024

Distributed transactions and systems like Google's Spanner represent the cutting edge of data management technology. They enable companies to operate at a truly global scale while maintaining data consistency and reliability.

Read More

Consensus Algorithms: Paxos and Raft

Posted in distributed-systems by Christopher R. Wirz on Tue Aug 27 2024

While Paxos has been the go-to solution for many years, Raft has gained popularity due to its simpler design and easier implementation.

Read More

Understanding Fault Tolerance in Distributed Systems

Posted in distributed-systems by Christopher R. Wirz on Mon Aug 26 2024

The goal of fault tolerance is to build a system that can detect, recover from, and continue operating in the face of imperfection.

Read More

Understanding Replication Techniques in Distributed Systems

Posted in distributed-systems by Christopher R. Wirz on Sun Aug 25 2024

As distributed systems continue to evolve, understanding these replication techniques and their trade-offs becomes increasingly important for designing robust and efficient systems.

Read More

The Challenge of Consensus in Distributed Systems: Understanding the FLP Theorem

Posted in distributed-systems by Christopher R. Wirz on Sat Aug 24 2024

The FLP theorem addresses inherent complexities in these systems and the need for carefully designed protocols to ensure their reliability and effectiveness

Read More

Understanding State in Distributed Systems: Chandy-Lamport algorithm

Posted in distributed-systems by Christopher R. Wirz on Fri Aug 23 2024

In the world of distributed systems, capturing a correct snapshot of the global state is a challenging yet crucial task.

Read More

Understanding Time in Distributed Systems: Logical Clocks and Their Importance

Posted in distributed-systems by Christopher R. Wirz on Thu Aug 22 2024

Understanding and managing time is crucial for maintaining order, ensuring consistency, and enabling proper communication between nodes.

Read More

Understanding Remote Procedure Calls (RPC) in Distributed Systems

Posted in distributed-systems by Christopher R. Wirz on Wed Aug 21 2024

Remote Procedure Calls (RPC) are a fundamental mechanism for building distributed client-server systems.

Read More

Understanding Distributed Systems: Challenges and Key Concepts

Posted in distributed-systems by Christopher R. Wirz on Tue Aug 20 2024

In today's interconnected world, distributed systems form the backbone of countless applications and services.

Read More

ISO Standards for Cyber Security

Posted in management by Christopher R. Wirz on Wed Oct 05 2022

International Standards Organization (ISO) has several relevant standards for cyber security.

Read More

Understanding Linux Releases and Upgrades

Posted in software by Christopher R. Wirz on Tue Aug 03 2021

The release and flavor of linux you use is less important than the kernel.

Read More

Compiling PGAudit in Visual Studio 2019

Posted in software by Christopher R. Wirz on Mon Apr 12 2021

There are many tutorials to compile PGAudit on Windows, but using Visual Studio and an installed version of PostgreSQL, it is dead simple.

Read More

A basic Rust HTTP server

Posted in software by Christopher R. Wirz on Sun Apr 04 2021

The rust language can be used to create a high-performance HTTP server.

Read More

Net SNMP 5.9 in Docker

Posted in software by Christopher R. Wirz on Fri Aug 21 2020

Net SNMP 5.9 includes blumenthal-aes, which provides cisco compliant AES256 for SNMP testing.

Read More

Selling the idea of Code Coverage to a Customer

Posted in engineering by Christopher R. Wirz on Wed Apr 01 2020

Code coverage is best practice and a worthy investment - but how do you convince the customer?

Read More

Interrupt Performance Considerations in DotNet (C#)

Posted in software by Christopher R. Wirz on Thu Jun 20 2019

The interrupt pattern is often viewed as less performant than graceful checking... But what if the exception case rarely happens?

Read More

Calling Excel from C++ in 2019

Posted in software by Christopher R. Wirz on Fri Jan 18 2019

C++ performs efficient data processing, and Excel helps with data exploration. For Visual Studio 2019, you can still use C++ to call the Excel API.

Read More

Using ImageMagick to Resize images in DotNetCore 2.0

Posted in software by Christopher R. Wirz on Sat Dec 29 2018

Sometimes System.Drawing doesn't work in your runtime environment. ImageMagick is an alternative.

Read More

Resizing Graphics for iOS 12 Loading Image using DotNetCore 2.0

Posted in software by Christopher R. Wirz on Fri Dec 28 2018

With the latest iOS12+, new image assets have been added to support iPhone X+ resolutions. You can make these images easily in an AWS Lambda function using DotNetCore 2.0.

Read More

OpenCV Convolution (filter2D) Does Not Rotate

Posted in software by Christopher R. Wirz on Sat Dec 22 2018

Some libraries produce image convolutions assuming the kernel is rotated 180 degrees - OpenCV does not.

Read More

The Adorner Pattern in C++

Posted in design-patterns by Christopher R. Wirz on Sun Dec 02 2018

The adorner pattern lazily adds properties without dealing with the overhead of inheritance

Read More

Custom Fields for TFS Work Items

Posted in software by Christopher R. Wirz on Tue Nov 27 2018

With Work Item Tracking Administration (witadmin), you can modify XML definition files to support the On-premises XML process model. For an overview of process models and what is supported.

Read More

A C# P/Invoke Alternative that works with a PlugIn Architecture

Posted in software by Christopher R. Wirz on Thu Nov 15 2018

PInvoke is fine if you only have one DLL, but what if you have a PlugIn Architecture?

Read More

C++ PlugIn Architecture in Ubuntu 18.04

Posted in software by Christopher R. Wirz on Mon Oct 15 2018

Using shared object files, dynamic linking at runtime can be used to create a PlugIn architecture.

Read More

C++ PlugIn Architecture in Windows 10

Posted in software by Christopher R. Wirz on Wed Oct 10 2018

Using a compiled DLL with a C-Style API, you can create a PlugIn architecture using the Windows API.

Read More

Adding Get/Set Logic to Bracket [] Operator Overloads in C++

Posted in software by Christopher R. Wirz on Tue Sep 25 2018

Using a pointer wrapper, set/get logic can be added to array-like classes which implement the bracket [] operator.

Read More

ActiveMQ on Windows NanoServer using Docker

Posted in software by Christopher R. Wirz on Wed Sep 12 2018

Using a multi-stage build, you can run ActiveMQ in a Windows NanoServer Docker container.

Read More

NodeJS on Windows NanoServer using Docker

Posted in software by Christopher R. Wirz on Tue Sep 11 2018

Using a multi-stage build, you can take certain benefits of a larger image and use select features on the image which ultimately gets deployed.

Read More

Reference Counting Class Objects in C++

Posted in software by Christopher R. Wirz on Wed Jul 04 2018

In C++ objects can be passed by value or reference. But what if the object holds reference to allocated memory?

Read More

Linq-ing XML Specific Types (and how to overcome a .Net bug)

Posted in software by Christopher R. Wirz on Thu Jun 28 2018

Fixing the "The specified type was not recognized: name=" bug.

Read More

SimpleImageCache iOS Swift4 Refresh

Posted in software by Christopher R. Wirz on Wed Jun 06 2018

SimpleImageCache allows a UIImageView to update when an image is downloaded or retrieved from disk.

Read More

Cuda Template Kernels using atomicAdd

Posted in software by Christopher R. Wirz on Sun May 27 2018

Newer CUDA versions allow for C++ style template kernels, but this capability needs to be wrapped to enable templated C style API functions.

Read More

Building install tarballs for ubuntu containers

Posted in software by Christopher R. Wirz on Fri May 25 2018

When you deploy docker containers on edge networks, it is helpful to keep the install files with them - but you also have to include all dependencies.

Read More

Running a WCF service in Docker

Posted in software by Christopher R. Wirz on Tue May 22 2018

Windows Communication Foundation (WCF) services in docker containers.

Read More

Project Highlight: ffmpeg-windows-build-helpers

Posted in software by Christopher R. Wirz on Fri May 04 2018

The ffmpeg-windows-build-helpers allows you to easily configure and run the FFmpeg build chain.

Read More

TCP rewrite to modify packet captures

Posted in engineering by Christopher R. Wirz on Wed May 02 2018

TCP rewrite can be used to modify packet captures - allowing you to replay traffic to different ports and addresses.

Read More

A review of RUMA has it: Rewired User-space Memory Access is Possible!

Posted in reviews by Christopher R. Wirz on Wed Apr 18 2018

RUMA (Rewired User-space Memory Access) allows for physiological data management such that developers can freely rewrite mappings from virtual to physical memory.

Read More

A review of MacroBase Prioritizing Attention in Fast Data

Posted in reviews by Christopher R. Wirz on Fri Apr 13 2018

MacroBase is a data analytics engine that analyzes and aggregates important and unusual behavior - acting as a search engine for fast data.

Read More

A review of MaSM: efficient online updates in data warehouses

Posted in reviews by Christopher R. Wirz on Wed Apr 11 2018

The need for 24x7 operations in global markets and the rise of online and other quickly-reacting businesses make concurrent online updates increasingly desirable.

Read More

A review of Ground: A Data Context Service

Posted in reviews by Christopher R. Wirz on Wed Apr 11 2018

Previous database design focused on tight control of schemas, but this hasn’t kept up with how databases are currently being used.

Read More

A review of OrpheusDB: Bolton Versioning for Relational Databases

Posted in reviews by Christopher R. Wirz on Fri Apr 06 2018

Datasets with version history allow for analysis of data at each stage.

Read More

A review of GeckoFTL: Scalable Flash Translation Techniques For Very Large Flash Devices

Posted in reviews by Christopher R. Wirz on Wed Apr 04 2018

SSD Page Validity Bitmap (PVB) in the Flash Translation Layer (FTL) under-performs a LSM tree.

Read More

Raw HTTPS requests using Java

Posted in software by Christopher R. Wirz on Mon Apr 02 2018

Using java to make HTTPS requests using raw TCP SSLSockets.

Read More

A review of The end of a myth Distributed Transaction Can Scale

Posted in reviews by Christopher R. Wirz on Sun Mar 11 2018

Using RDMA, distributed database systems may actually scale linearly.

Read More

A review of Skipping oriented Partitioning for Columnar Layouts

Posted in reviews by Christopher R. Wirz on Fri Mar 09 2018

As the volumes of data in the average database system (DBS) continues to grow, modern database systems use mechanisms such as data skipping to improve performance.

Read More

A review of The TileDB Array Data Storage Manager

Posted in reviews by Christopher R. Wirz on Fri Mar 02 2018

TileDB is a storage manager for multi-dimensional arrays - suitable for scientific applications.

Read More

A review of The Adaptive Radix Tree: ARTful Indexing for Main-Memory Databases

Posted in reviews by Christopher R. Wirz on Wed Feb 28 2018

As memory becomes less expensive (specifically if a system has many nodes), many databases can fit into RAM.

Read More

A review of Fast Scans on Key-Value Stores

Posted in reviews by Christopher R. Wirz on Fri Feb 23 2018

Key-Value stores (KVS) are popular because they can scale horizontally with high through-puts and low latency.

Read More

A review of Monkey: Optimal Navigable Key-Value Store

Posted in reviews by Christopher R. Wirz on Wed Feb 21 2018

Key-value stores backed by an LSM-tree have trade-offs between lookup cost, update cost, and memory consumption.

Read More

A Demonstration of Object Pointers in C++

Posted in software by Christopher R. Wirz on Sun Feb 18 2018

Pointer incrementing moves differently through memory based on the structure you are pointing to.

Read More

A review of Access Path Selection in Main-Memory Optimized Data Systems: Should I Scan or Should I Probe?

Posted in reviews by Christopher R. Wirz on Fri Feb 16 2018

Access Path Selection (APS) for filtering operations has been a key component of database systems.

Read More

A review of H2O: A Hands-free Adaptive Store

Posted in reviews by Christopher R. Wirz on Wed Feb 14 2018

Modern state-of-the-art database systems are designed around a single data storage layout. H2O is adaptive.

Read More

C API string array returns in C++

Posted in software by Christopher R. Wirz on Mon Feb 12 2018

Certain C APIs use the much-dreaded triple pointer to return an array of strings (character arrays).

Read More

A review of VectorH: Taking SQL-on-Hadoop to the Next Level

Posted in reviews by Christopher R. Wirz on Fri Feb 09 2018

Actian Vector in Hadoop (VectorH for short) is a new SQLon-Hadoop system built on top of the fast Vectorwise analytical database system

Read More

Attaching an installation CD to a VM using Power CLI (VMware)

Posted in software by Christopher R. Wirz on Thu Feb 08 2018

Using PowerShell, a VM can have an install CD automatically attached.

Read More

A review of Hybrid OLTP and OLAP on Compressed Storage using both Vectorization and Compilation

Posted in reviews by Christopher R. Wirz on Wed Feb 07 2018

This work aims at reducing the main-memory footprint in high performance hybrid OLTP and OLAP databases.

Read More

VM Management through Power CLI and C#

Posted in software by Christopher R. Wirz on Tue Feb 06 2018

VMWare PowerShell Command Line Interface (CLI) can be used to automate VM deployment.

Read More

Little Endian Indexing in C++

Posted in software by Christopher R. Wirz on Sun Jan 28 2018

In C++ bit shift operators help show bytes and bits are laid out low to high (on x86 anyway).

Read More

Docker Commands Getting Started

Posted in software by Christopher R. Wirz on Sat Jan 13 2018

These commands make use of the Docker Command Line Interface (CLI) to build up and take down a Docker environment.

Read More

A review of Morsel-Driven Parallelism

Posted in reviews by Christopher R. Wirz on Thu Dec 28 2017

Databases face the challenge of taking advantage of many cores and working across multiple threads

Read More

Starting and Debugging Processes Programmatically in C# with EnvDTE

Posted in software by Christopher R. Wirz on Mon Dec 18 2017

EnvDTE lets you debug into processes by attaching them to an already-running debug application.

Read More

Adding a Column to a DataFrame Based on Web Data in Python in Azure ML

Posted in software by Christopher R. Wirz on Fri Oct 13 2017

AzureML allows for Python Execution modules, which can be used to fetch Web Data.

Read More

.NET Standard 2.0 Initializer String Generation using Reflection

Posted in software by Christopher R. Wirz on Sun Sep 24 2017

Using reflection, you can generate the C# code used to reproduce an instance of your class objects' public members.

Read More

Basic use of Labelizer using Pandas in Python

Posted in software by Christopher R. Wirz on Sun Sep 17 2017

Labelizer turns categorical data into numerical columns that can be modeled in sykit learn.

Read More

Inherited sequential layout in C++

Posted in software by Christopher R. Wirz on Sat Sep 16 2017

Inheritance has gaunted precedence for memory layout in C++.

Read More

Basic normalization using Pandas in Python

Posted in software by Christopher R. Wirz on Fri Sep 15 2017

It is best practice to normalize the data, but these methods aren't exposed out-of-the-box.

Read More

No Privacy in C++

Posted in software by Christopher R. Wirz on Mon Sep 11 2017

C++ uses sequential memory, which is fast by provides access to private fields - whether you like it or not.

Read More

C Sharp Reflection hack to call any class or any method.

Posted in software by Christopher R. Wirz on Mon Aug 14 2017

Using reflection, it is possible to create a singleton for any class or call any method (it's a feature).

Read More

C Sharp Reflection hack to determine implicit default constructor vs. declared constructor

Posted in software by Christopher R. Wirz on Mon Jul 24 2017

Using reflection, it is possible to determine if a given type has a specified constructor or an implicit constructor.

Read More

Managed C# Byte Arrays to Un-Managed C++ Byte Arrays

Posted in software by Christopher R. Wirz on Sat Jul 08 2017

Byte arrays are foundational in C#, but can be exchanged with native and re-usable C++ code.

Read More

Free Google SiteSearch with NodeJS

Posted in software by Christopher R. Wirz on Wed Jun 28 2017

SiteSearch is expensive, but using a NodeJS server you can easily wrap a web request.

Read More

Development Methodologies Personally Experienced

Posted in management by Christopher R. Wirz on Fri Jun 16 2017

Clarifying the development methodology helps improve efficiency at various stages in the product lifecycle.

Read More

Shimmer Like Facebook in Swift 3.0

Posted in software by Christopher R. Wirz on Tue Jun 06 2017

Adding a Shimmer effect to UIView through inspectable extensions.

Read More

Conditional Foreach Performance Considerations in DotNet (C#)

Posted in software by Christopher R. Wirz on Sat Jun 03 2017

For large data sets, canceling an iteration may have performance implications that are important to consider.

Read More

Foreach Performance Considerations in DotNet (C#)

Posted in software by Christopher R. Wirz on Fri Jun 02 2017

The method by which you iterate on collections may have performance implications. Arrays are faster than lists, but their enumerators are not.

Read More

C++ Unit Testing Redirecting stdout

Posted in software by Christopher R. Wirz on Mon May 22 2017

Visual Studio allows for C++ unit tests, but there is a major catch when trying to debug. Fortunately, we can capture stdout printf statements.

Read More

A simple Queue for iOS Swift

Posted in software by Christopher R. Wirz on Wed May 17 2017

Swift Foundation libraries do not come with a queue, but a custom queue can be powerful and easy to implement.

Read More

Timeout detection and recovery (TDR) settings to support AI/ML in Windows

Posted in engineering by Christopher R. Wirz on Mon May 08 2017

One of the most common stability problems in AI/ML training occurs when a computer hangs, or when it appears to be completely frozen while, in reality it is still training.

Read More

UTF-8 Serialization and Byte Arrays in C#

Posted in software by Christopher R. Wirz on Wed Mar 08 2017

The preferred approach to serialization in C# is to use XmlSerializer. While extremely convenient, there are a few small draw-backs.

Read More

Serving Static files with Node JS

Posted in software by Christopher R. Wirz on Mon Feb 13 2017

Node JS offers an advantage over other server types because you can elect to keep certain contents in the cache (in memory). This allows for faster transactions of static data as there are fewer read write operations to disk or database.

Read More

Set Theory Symbols

Posted in engineering by Christopher R. Wirz on Wed Feb 08 2017

Set notation is an important convention in computer science. This cheat sheet is extremely useful.

Read More

Type strings vs Reflection in C#

Posted in software by Christopher R. Wirz on Fri Feb 03 2017

Does reflection beat string comparison for type identification?

Read More

Type checking with strings in C#

Posted in software by Christopher R. Wirz on Thu Feb 02 2017

Does bookmarking your type using strings get you anything?

Read More

Serving Legal Documents for a Complaint/Case

Posted in venture by Christopher R. Wirz on Wed Feb 01 2017

You must serve the defendant properly. If you do not, the court may dismiss your case. Throughout the case, you are required to make sure that all other parties are served with copies of almost any document filed in the case.

Read More

Weak Reference Lists (WeakLists) in C#

Posted in software by Christopher R. Wirz on Wed Dec 28 2016

WeakLists allow for a collection of class objects to self manage - or at least garbage collect regardless of inclusion in the WealkList.

Read More

Making an Argument

Posted in venture by Christopher R. Wirz on Tue Dec 13 2016

An argument is a set of two or more propositions related to each other in such a way that all but one of them (the premises) are supposed to provide support for the remaining one (the conclusion). When writing in long form, the structure may get lost. It is best to outline each element of the argument before hand.

Read More

Byte Array passwords in C#

Posted in software by Christopher R. Wirz on Tue Nov 08 2016

Byte arrays (byte[]) are preferred over strings for handling passwords and other sensitive data in memory over string object types.

Read More

Explicit to Implicit Cast Operators in C#

Posted in software by Christopher R. Wirz on Tue Oct 18 2016

Using a weak reference collection, explicit cast operators can function like implicit cast operators.

Read More

C# Implicit Cast Wrapping for Operators

Posted in software by Christopher R. Wirz on Wed Sep 28 2016

Extension methods must be in static classes, and static classes can't have operator overloads.

Read More

Partially Available Extension Methods in C#

Posted in software by Christopher R. Wirz on Sun Sep 18 2016

Some C# 3 features can be used in .NET 2.0 with a declaration. Extension methods require an attribute which is normally part of .NET 3.5.

Read More

Using System.Threading.EventWaitHandle to block for an event

Posted in software by Christopher R. Wirz on Fri Sep 02 2016

A developer can still hook onto an event, but now can return a value from the added execution body within a client method.

Read More

Monkey Patch Methods and Properties in JavaScript

Posted in software by Christopher R. Wirz on Wed Aug 03 2016

Javascript allows for prototype methods, but define properties can take place on the prototype as well.

Read More

Programmatically Running Unit Tests in C#

Posted in software by Christopher R. Wirz on Tue Jun 28 2016

Running a test outside of MS Test allows for an application to have a Built-In-Test (BIT).

Read More

Using the windows API to simulate keyboard input in C#

Posted in software by Christopher R. Wirz on Fri Apr 15 2016

Using the user32.dll library, C# can be used to simulate keystrokes.

Read More

Using the Windows API to emulate hardware input in C#

Posted in software by Christopher R. Wirz on Wed Apr 13 2016

C# is managed code, but parts of the Windows API were built before the introduction of C#. Fortunately, there are InteropServices to call the API

Read More

Understanding the Tannenbaum and Schmidt Continuum Management Theory

Posted in management by Christopher R. Wirz on Sat Mar 19 2016

By recognizing the spectrum of managerial control and team autonomy, managers can better navigate the complexities of leadership, fostering a more adaptive and responsive organizational environment.

Read More

Building Resilience

Posted in management by Christopher R. Wirz on Fri Mar 18 2016

A leader can both manage stress and build self-confidence.

Read More

Modeling the new Norm

Posted in management by Christopher R. Wirz on Thu Mar 17 2016

Leaders embody the change they wish to see.

Read More

Managing a Change

Posted in management by Christopher R. Wirz on Wed Mar 16 2016

Managing a change-oriented project has many considerations for an organization to adopt a new norm.

Read More

Diversity and Inclusion

Posted in management by Christopher R. Wirz on Tue Mar 15 2016

Diversity and inclusion are dominant themes in the workplace. Research has shown they are associated with higher levels of performance.

Read More

Developing a Lieutenant

Posted in management by Christopher R. Wirz on Mon Mar 14 2016

A second in command, a lieutenant, is a reliable collaborator and go to person. Don't try to do everything. Start developing a trusted lieutenant to assist you.

Read More

Referent Leadership

Posted in management by Christopher R. Wirz on Sun Mar 13 2016

Referent power stems from a leader's ability to inspire and influence others.

Read More

Base64 File Encoding using Javascript

Posted in software by Christopher R. Wirz on Sun Mar 13 2016

Encoding file information into a base-64 URI can easily be done in javascript

Read More

Understanding Evolution

Posted in management by Christopher R. Wirz on Sat Mar 12 2016

Your ability to move the team forward has a lot to do with your ability to look back at where they have been.

Read More

Base64 Encoded Image URIs

Posted in software by Christopher R. Wirz on Sat Mar 12 2016

Image data can be directly inserted into a HTML document using data URIs. This allows an entire HTML document to be loaded in a single request.

Read More

Asserting Authority

Posted in management by Christopher R. Wirz on Fri Mar 11 2016

A leader uses authority to support team performance.

Read More

Increasing Authenticity

Posted in management by Christopher R. Wirz on Thu Mar 10 2016

Confidence and competence are good for leaders, but the best leaders are truly authentic.

Read More

Servant Leadership

Posted in management by Christopher R. Wirz on Wed Mar 09 2016

Leadership is not about hierarchies and command and control.

Read More

Membership vs Leadership

Posted in management by Christopher R. Wirz on Tue Mar 08 2016

Leading a team is a lot different than simply being on the team - which has its challenges and opportunities.

Read More

Explaining the Decision-making Style and Process

Posted in management by Christopher R. Wirz on Mon Mar 07 2016

Decision-making frameworks can be categorized as autocratic, collaborative, or democratic. Decision making starts with understanding your style, explaining it to the team, using good explanations, and owning your decisions.

Read More

Building Rapport

Posted in management by Christopher R. Wirz on Sun Mar 06 2016

Great rapport is about comfortable and positive interactions that support the production of quality work.

Read More

Focus on Purpose

Posted in management by Christopher R. Wirz on Sat Mar 05 2016

Purpose is feeling that what you do matters.

Read More

Embracing Feedback

Posted in management by Christopher R. Wirz on Fri Mar 04 2016

An important function of successful communication as a leader is giving someone performance-related feedback.

Read More

Performance Expectations

Posted in management by Christopher R. Wirz on Thu Mar 03 2016

How do you know what's expected of you? It's all about building rapport with your boss and your team.

Read More

Communicating Effectively

Posted in management by Christopher R. Wirz on Wed Mar 02 2016

When you are proactive with delivering messages, mindful of challenges and debates, using the right channels, and embracing candor more than civility, you will be successful as a communicator.

Read More

The Four Components of a High Performance Working System

Posted in management by Christopher R. Wirz on Tue Mar 01 2016

A High Performance Work System is an environment that allows the employee to have greater involvement and responsibility - and has proven to produce a better product through a more effective team dynamic.

Read More

Data Contract type Detection in C#

Posted in software by Christopher R. Wirz on Thu Feb 18 2016

Using different serialization paradigms, one single set of extension methods can handle them all.

Read More

Styled GridSplitter handles in WPF

Posted in software by Christopher R. Wirz on Sun Feb 14 2016

A styled grid splitter can be accomplished in a single style resource using Windows Presentation Foundation (WPF).

Read More

Design Data in WPF

Posted in software by Christopher R. Wirz on Sat Feb 13 2016

When creating a WPF application, laying out design is easy, but making it look good with data doesn't have to be hard.

Read More

View Models as a WPF Dependency Property

Posted in software by Christopher R. Wirz on Wed Feb 10 2016

The DataContext of a user control is important for its interaction, but his can become even more dynamic when it is a dependency property.

Read More

Scraping Web Data with Excel [Macros]

Posted in software by Christopher R. Wirz on Wed Feb 03 2016

For simple cases, MS Excel macros can be used to make web requests - an even provide access to the Document Object Model (DOM).

Read More

Fairness and Integrity

Posted in management by Christopher R. Wirz on Tue Feb 02 2016

Fairness in the workplace is a strong way to demonstrate integrity.

Read More

An Introduction to Operations Strategy

Posted in management by Christopher R. Wirz on Mon Feb 01 2016

Operations/Organizational strategy is critical to operations management success and make a business more competitive.

Read More

Pointers References and Back in C++

Posted in software by Christopher R. Wirz on Thu Jan 28 2016

A C/C++ API can be written using pointers or references, since the conversion is loss-less.

Read More

Protecting files in NodeJS

Posted in software by Christopher R. Wirz on Thu Jan 21 2016

With NodeJS, you don't have htaccess, but there are other ways of protecting files.

Read More

Installing Redmine 3.0.1 on Openshift

Posted in software by Christopher R. Wirz on Wed Jan 13 2016

Redmine is a great tool for project management. While the source code is free, there are a limited number of options for hosting it affordably. Luckily, Openshift has a reasonable free tier that can support an instance of Redmine.

Read More

Resetting a 503-ed Openshift Ruby on Rails container using RHC

Posted in software by Christopher R. Wirz on Wed Jan 13 2016

Due to a long standing bug with InnoDB in MySQL, disk space on the database container may be exhausted and it's time to attach a new container to your application.

Read More

Sometimes you point to null in C/C++

Posted in software by Christopher R. Wirz on Mon Jan 11 2016

Sometimes you don't need to initialize a pointer when working with string arrays, you can set it to NULL.

Read More

Knowing What to Focus On

Posted in management by Christopher R. Wirz on Wed Jan 06 2016

When managing a technical team, technical needs and desires and the requirements of managing a business can make the course of action unclear.

Read More

Supporting Flexible Work Habits

Posted in management by Christopher R. Wirz on Tue Jan 05 2016

Whatever you allow, ensure that you are even-handed, fair, and tied to the objectives of corporate standards.

Read More

Leadership Roles for Technical Teams

Posted in management by Christopher R. Wirz on Mon Jan 04 2016

Leaders of technical teams must focus on the business while their team focuses on technical detail.

Read More

Challenges Leading a Technical Team

Posted in management by Christopher R. Wirz on Sun Jan 03 2016

A main goal of managing a technical team is to avoid creating frustration with the customer. This begins by getting to know your technical team members.

Read More

What is Leadership?

Posted in management by Christopher R. Wirz on Sat Jan 02 2016

Leadership is a process more than it is a position.

Read More

C# Proper Task Passing (async await)

Posted in software by Christopher R. Wirz on Mon Dec 28 2015

The await keyword provides a non-blocking way to start a task, then continue execution when that task completes, but don't nest too many tasks.

Read More

Results of task cancellation in DotNet (C#)

Posted in software by Christopher R. Wirz on Tue Dec 22 2015

Task cancellation must be handled inside the task, but you can either interrupt the task with a throw or exit gracefully, completing the task.

Read More

Proper task cancellation in DotNet (C#)

Posted in software by Christopher R. Wirz on Sun Dec 20 2015

The delegate of a task should utilize the cancellation token in order to be effective.

Read More

Future-Proofing Access Connection Classes

Posted in software by Christopher R. Wirz on Sat Dec 12 2015

MS Access has changed its API over the years, and it's time to future-proof your connection classes.

Read More

Polymorphic collection serialization in C#

Posted in software by Christopher R. Wirz on Wed Nov 04 2015

XmlSerializer cannot serialize interfaces, yet SOLID principles implies that one should code to interfaces, not concrete types.

Read More

WPF Separate Style Resource

Posted in software by Christopher R. Wirz on Wed Oct 14 2015

The resource dictionary can combine multiple resource dictionaries through the MergedDictionaries declaration.

Read More

Define Properties in javaScript

Posted in software by Christopher R. Wirz on Tue Oct 13 2015

Javascript allows for defining properties in many ways, including set and get logic.

Read More

CoClass Serialization in C#

Posted in software by Christopher R. Wirz on Thu Oct 08 2015

Abstract classes and Interfaces serve different purposes, but neither allows for instantiation.

Read More

ConfigurationManager Default values in C#

Posted in software by Christopher R. Wirz on Mon Sep 14 2015

System.Configuration.ConfigurationManager.ConnectionStrings is a ConnectionStringSettingsCollection populated by the App.config. But, what if you don't want to share that file.

Read More

Hand Written Entity in C#

Posted in software by Christopher R. Wirz on Sun Sep 13 2015

Entity is an object-relational mapper that allows your code to work the same regardless of the database back end - but you don't need the designer to get started.

Read More

Creating triggers in Microsoft SQL

Posted in software by Christopher R. Wirz on Fri Aug 14 2015

If using MS SQL Server, this is how to setup a trigger.

Read More

Materialized Views in MySQL

Posted in software by Christopher R. Wirz on Thu Aug 13 2015

Forget expensive join operations. Your MySQL database needs to call materialized views.

Read More

Getting to the Root in Serialization using C#

Posted in software by Christopher R. Wirz on Thu Jul 30 2015

C# code generated from a schema is going to have many custom attributes. Sometimes, these attributes modify the behavior of serialization.

Read More

Programmatic Binding to Presentation Controls in C#

Posted in software by Christopher R. Wirz on Tue Jun 30 2015

Programmatic binding offers a slight advantage over XAML in that it will check the property names at compile time.

Read More

Appreciative Inquiry in Leadership

Posted in management by Christopher R. Wirz on Thu Apr 23 2015

Appreciative Inquiry attempts to use collective inquiry and dialogue to generate positive ideas that might otherwise be masked by unproductive.

Read More

Curious Inquiry in Leadership

Posted in management by Christopher R. Wirz on Tue Apr 21 2015

Curious inquiry invites individuals to share their ideas for change without repercussion.

Read More

Relay Commands for Process Execution in C#

Posted in software by Christopher R. Wirz on Wed Apr 08 2015

Windows Presentation Foundation (WPF) controls have both an IsEnabled boolean property and a Click RoutedEventHandler which can be consolidated in the Command ICommand property.

Read More

Expression Bodied Members in C#

Posted in software by Christopher R. Wirz on Tue Jan 13 2015

Expression bodied members are a feature of C# 6.0 and provide an inline expression for properties (get only properties) and methods.

Read More

Missing a Critical Milestone

Posted in management by Christopher R. Wirz on Sun Jan 04 2015

When discovered that a critical milestone will be missed and schedule suffers, the team must act accordingly in a timely manner.

Read More

Creating SSL Certificates for Red-Hat

Posted in software by Christopher R. Wirz on Sat Jan 03 2015

These steps will help create an SSL certificate quickly for your server. Once complete, your website will support HTTPS.

Read More

Project Team Culture

Posted in management by Christopher R. Wirz on Tue Oct 28 2014

Culture may be established deliberately by developing project team norms.

Read More

Leadership Skills and High Performing Project Teams

Posted in management by Christopher R. Wirz on Mon Oct 27 2014

One goal of effective leadership is to create a high-performing project team.

Read More

Tailoring Leadership Styles for Project Management

Posted in management by Christopher R. Wirz on Fri Oct 24 2014

Leadership styles are also tailored to meet the needs of the project, the environment, and the stakeholders

Read More

Business Continuity and Disaster Recovery

Posted in management by Christopher R. Wirz on Wed Oct 22 2014

BCDR encompasses the practices and plans necessary for an organization to withstand, respond to, and recover from disruptions, ensuring the continuity of critical business functions and the protection of vital assets.

Read More

Development and Delivery Cadence of a Project

Posted in management by Christopher R. Wirz on Wed Oct 22 2014

Cadence is important to the activities and functions associated with the development approach and project lifecycle.

Read More

Development Approaches and Selection

Posted in management by Christopher R. Wirz on Tue Oct 21 2014

There are different development approaches, and different industries may use different terms to refer to development approaches.

Read More

Aligning Project Life Cycles with respect to Development and Cadence

Posted in management by Christopher R. Wirz on Mon Oct 20 2014

A project life cycle refers to the set of phases a project goes through from start to finish, and may be predictive, incremental, or use an adaptive development approach.

Read More

Scrum Master and Product Owner Distinctions (in Agile)

Posted in management by Christopher R. Wirz on Sun Oct 19 2014

In Agile development, the Scrum Master leads the team, facilitates communication, and manages the execution of the product backlog, while the Product Owner focuses on optimizing the product backlog, acting as a liaison between stakeholders, and balancing conflicting needs to maximize the product's value.

Read More

Project Planning Variables

Posted in management by Christopher R. Wirz on Sat Oct 18 2014

The amount, timing, and frequency of planning vary depending on deliverables, requirements, market and regulations.

Read More

Precedence Diagramming

Posted in management by Christopher R. Wirz on Fri Oct 17 2014

PDM, also called Activity-On-Node (AON), is the method used by most project management and project planning software packages.

Read More

Crashing a Project

Posted in management by Christopher R. Wirz on Thu Oct 16 2014

Crashing is a project management technique that involves adding resources to the project to complete it fasters, but it should be used as a last resort when other options have been exhausted.

Read More

Estimating Project Cost

Posted in management by Christopher R. Wirz on Wed Oct 15 2014

Four aspects of estimating that are impacted by the project's phase in its life cycle are range, accuracy, precision, and confidence.

Read More

Renaming a Database in MongoDB

Posted in software by Christopher R. Wirz on Wed Oct 15 2014

Renaming a database should be done with caution - and backups are advised before performing any database operations.

Read More

Pretty XML in C#

Posted in software by Christopher R. Wirz on Mon Aug 04 2014

XML serialization is a common technique for storing and transacting data objects when programming in C# but sometimes it is hard to understand the data hierarchy.

Read More

Automatic swift SDK updates in Mac OS

Posted in software by Christopher R. Wirz on Mon Jun 16 2014

Mac OS provides a scripting environment within the terminal to automate tasks such as downloading the latest SDK and updating it

Read More

Free SSL Options

Posted in software by Christopher R. Wirz on Sun May 11 2014

Having SSL enabled on your website helps with Search Engine Optimization, is recommended for membership, and is required to process financial transactions.

Read More

A common using statement mistake in C#

Posted in software by Christopher R. Wirz on Tue Feb 18 2014

Do not use code cleanup on using statements where writers are involved.

Read More

Flavors of Agile

Posted in management by Christopher R. Wirz on Fri Feb 14 2014

The term agile became popular around 2000, but has roots throughout the 1900s.

Read More

Basic Configuration Management

Posted in management by Christopher R. Wirz on Thu Jan 02 2014

A robust CM approach helps in the product lifecycle throughout development, operation and maintenance phases.

Read More

Using System.Threading.Task to call a remote broadcast service

Posted in software by Christopher R. Wirz on Fri Sep 13 2013

If a broker is over-loaded, it will be slow - but in most cases, remote services are executed in environments with more resources than local clients.

Read More

Focus on value

Posted in management by Christopher R. Wirz on Sun Aug 18 2013

A leader continually evaluates and adjusts project alignment to business objectives and intended benefits in the value stream.

Read More

Adapting leaderhip behaviors

Posted in management by Christopher R. Wirz on Sat Aug 17 2013

Leaders should demonstrate and adapt behaviors to support individual and team needs.

Read More

Systems Thinking

Posted in management by Christopher R. Wirz on Thu Aug 15 2013

In project management, it's important to take a systems thinking approach, which means considering how all the parts of a project interact with each other and with external systems

Read More

Practicing Sustainable Behaviors

Posted in management by Christopher R. Wirz on Thu Aug 08 2013

Being an effective leader takes a lot of intentional focus, time and energy.

Read More

Tailoring the Project

Posted in management by Christopher R. Wirz on Mon Aug 05 2013

The project manager should tailor the process to ensure successful execution.

Read More

Building quality deliverables

Posted in management by Christopher R. Wirz on Fri Aug 02 2013

Focus on quality that meets project objectives and aligns to stakeholders

Read More

Navigating Complexity

Posted in management by Christopher R. Wirz on Sun Jul 28 2013

Navigate project complexity such that approaches and plans enable the project project life cycle

Read More

Addressing Risk

Posted in management by Christopher R. Wirz on Thu Jul 25 2013

A project manager continuously evaluates exposure to opportunities and threats.

Read More

Project adaptability and resiliency

Posted in management by Christopher R. Wirz on Tue Jul 23 2013

Build resiliency into a project's team and execution in order to adapt to change.

Read More

Enabling change to support the future

Posted in management by Christopher R. Wirz on Sat Jul 20 2013

Prepare for adoption and sustainment of new processes to reach envisioned outcomes.

Read More

Stakeholder engagement

Posted in management by Christopher R. Wirz on Fri Jul 19 2013

A project manager strives for a productive working relationship with stakeholders throughout the project.

Read More

Project Team Management and Leadership

Posted in management by Christopher R. Wirz on Tue Jul 16 2013

Establishing the culture and environment enables a collection of diverse individuals to evolve into a high-performing project team

Read More

A Generic-Friendly PlugIn Framework in C#

Posted in software by Christopher R. Wirz on Mon May 13 2013

The goal of a PlugIn framework is to allow library files (DLLs) to be placed in a given given directory and become available to the main application.

Read More

Common Collections Explained

Posted in software by Christopher R. Wirz on Fri Apr 12 2013

There are many collection types in Java. Knowing which to use when can have several implications.

Read More

Position Based Mouse-Over in C#

Posted in software by Christopher R. Wirz on Thu Mar 28 2013

The user32 API and an extension method can be used to detect mouse position over a control.

Read More

etc/hosts and ad Blocking

Posted in software by Christopher R. Wirz on Thu Feb 28 2013

The internet host table specification is available in all operating systems. You can use it for ad blocking.

Read More

Filter and Sort in javaScript

Posted in software by Christopher R. Wirz on Fri Aug 03 2012

Javascript allows for filtering and sorting of arrays.

Read More

Building a Mentorship Tree from a Sorted Array

Posted in youfolio-interview-questions by Christopher R. Wirz on Sun Jul 22 2012

Given an ordered collection, build a tree with the lowest value at the top left position.

Read More

Left, Middle, Right Iterator

Posted in youfolio-interview-questions by Christopher R. Wirz on Fri Jul 20 2012

Iterators let you chain operations without nesting loops - meaning you can keep O(n) complexity for streaming data sets.

Read More

Making a HashMap of LinkedLists

Posted in youfolio-interview-questions by Christopher R. Wirz on Thu Jul 19 2012

YouFolio's content must horizontally scale. Can you find an efficient means to distribute the values based on keys?

Read More

Finding accounts through interval halving

Posted in youfolio-interview-questions by Christopher R. Wirz on Wed Jul 18 2012

YouFolio's accounts are kept in order, but sharded by range. Can you find an item within the range?

Read More

Array rotation with Python

Posted in youfolio-interview-questions by Christopher R. Wirz on Tue Jul 17 2012

Changing the position of elements in large collections takes specical considerations where only the stack can be used.

Read More

Mapping network drives at the command line - Ubuntu vs Windows

Posted in software by Christopher R. Wirz on Sun Apr 15 2012

Shared network folders provides interoperability between Linux and Windows, and mapping from each is equally easy.

Read More

Microsoft Project - Convert All SubTasks to Automatic Scheduling using Macros

Posted in software by Christopher R. Wirz on Sat Apr 07 2012

To transition from waterfall project management to kanban, schedule must be derived from work and not the other way around.

Read More

Trimming strings in C++

Posted in software by Christopher R. Wirz on Mon Apr 02 2012

C++ doesn't include a trim() method for std::string, but making one is easy.

Read More

Adding Subtract to Linq

Posted in software by Christopher R. Wirz on Thu Mar 22 2012

Linq allows for interaction with collections of objects, but lacks a way to remove elements based on a given criteria.

Read More

Adding IndexOf to Linq

Posted in software by Christopher R. Wirz on Thu Mar 15 2012

Linq allows for interaction with collections of objects, but is missing the IndexOf feature.

Read More

Calling C# from Excel using COM

Posted in software by Christopher R. Wirz on Sat Mar 03 2012

You don't have to go the distance to make an excel AddIn, just register for COM to expose all the functionality you need.

Read More

Numeric Type Detection in C#

Posted in software by Christopher R. Wirz on Sat Mar 03 2012

C#'s Type object does not have an IsNumeric method or property. This is how to make one using extension methods.

Read More

The using Statement and Members

Posted in software by Christopher R. Wirz on Sat Feb 18 2012

Do not use the using statement on class members if you can avoid it.

Read More

Adding properties to C++ 11 like C#

Posted in software by Christopher R. Wirz on Thu Feb 02 2012

C++ doesn't come with properties, but there are ways to add them

Read More

C++ Matrix Structure and Access Pattern Considerations

Posted in software by Christopher R. Wirz on Wed Jan 25 2012

There are many ways to define a Matrix in C++, but maybe it makes more sense to do it one row at a time.

Read More

Reading RSS with jQuery

Posted in software by Christopher R. Wirz on Sun Aug 14 2011

Really Simple Syndication (RSS) is xml that can be easily read using jQuery.

Read More

Linq Distinct Classes in C#

Posted in software by Christopher R. Wirz on Wed Aug 10 2011

Distinct() returns distinct elements from a sequence using the default equality comparer to compare values - preferably the methods of the IEquatable interface.

Read More

Linq Casting Issues in C#

Posted in software by Christopher R. Wirz on Thu Aug 04 2011

Cast and OfType are two methods provided by Linq - however their behaviors are significantly different.

Read More

A Common bug in C# when using Inheritance and Constructor Bodies

Posted in software by Christopher R. Wirz on Wed Jun 29 2011

C# adds some modern flair with the ability to have inline constructor chains as well as constructor bodies and optional parameters.

Read More

A little about APIs (why this site has none)

Posted in software by Christopher R. Wirz on Fri Jun 24 2011

Were you expecting an API here? This site is written Node JS so that content is in memory!.

Read More

Air Data Calculations

Posted in engineering by Christopher R. Wirz on Sat Jun 11 2011

Calculate ISA values for standard day in browser using javascript. Standard day calculations are based on the air column theory to determine atmospheric conditions at a given altitude.

Read More

Loan Calculator

Posted in venture by Christopher R. Wirz on Thu Aug 13 2009

Calculate amortization of a loan with the ability to solve for Principal At Beginning, Percent Interest Per Period, Payment per Period, or Number of Periods

Read More

Considerations in calling .bat files from .bat files

Posted in software by Christopher R. Wirz on Sun Aug 03 2008

Batch files (.bat) can be used for automated tasks or running programs with no user interface.

Read More

Feed Forward Gradient Descent using Matrix Math

Posted in engineering by Christopher R. Wirz on Wed Jun 18 2008

Feed forward neural networks can be represented by matrix math and can use analytical gradient descent.

Read More

Weighted Least Squares and the Pseudo-Inverse

Posted in engineering by Christopher R. Wirz on Mon May 19 2008

While least squares does not give precedence to the error on certain measurements, the weighted least squares can.

Read More

Least Squares and the Pseudo-Inverse

Posted in engineering by Christopher R. Wirz on Sun May 18 2008

The least squares problem has an analytical solution - achieving a feasible solution when minimized.

Read More

Orthogonal Basis Functions in Matlab

Posted in engineering by Christopher R. Wirz on Tue Apr 08 2008

Gram-Schmidt orthogonalization takes a nonorthogonal set of linearly independent functions and constructs an orthogonal basis over an arbitrary interval

Read More