CODEX

Image for post
Image for post
Photo by Boris Dunand on Unsplash

Multithreading is one of the most powerful and vital capabilities of nearly any computer processor that exists today. Multithreading allows software to execute different code simultaneously in the same program. Web servers, web browsers, databases, mobile applications, and just about any production grade software wouldn’t function as well as it does without multithreading.


Image for post
Image for post
Photo by Ashkan Forouzani on Unsplash

Regular expressions are used in almost any programming language to match, search, or extract complex or intricate text patterns. A regular expression is a statement in a regular language, a language with a grammar specialized for matching patterns of characters in strings. They come into play in a wide variety of applications. One example is password and naming validation. It’s very likely whatever website you create a new user account on validated your password or username with a regular expression.


Better threading in your C++ program

Cables plugged into an interface
Cables plugged into an interface
Photo by John Barkiple on Unsplash.

C++ is a great programming language that’s generally associated with fast performance, custom memory management, and pointers. However, some of the most important and less-talked-about components of the language are threads and mutexes. Perhaps one of the most powerful features of C++ is possessing a wide range of control and precision over the execution of multiple concurrent threads and sharing resources safely between those threads. The web browser you are viewing this on right now uses multiple threads to facilitate multiple actions or displays simultaneously.


Image for post
Image for post
Photo by Yancy Min on Unsplash

If you have ever worked or written a C or C++ project, you have probably heard of the build system called CMake. For programmers that are new to C or C++, the concept of a separate build system usage a separate language may seem odd. However, knowledge of how to properly to properly compile, build and package a project is absolutely essential knowledge for a C++ programmer. In this guide, the roles CMake plays as a build system will be explained, and the most essential aspects and features of CMake will be discussed. …


Image for post
Image for post
Photo by Andrew Neel on Unsplash

GitHub holds perhaps the largest collection of open source software on the planet. It’s an ecosystem of collaboration, learning, and integration for developers and organizations alike. You can write software, contribute to other software, or use free and open software in other projects and products. It’s an incredible tool that powers the world of programming, and promotes access and collaboration to produce open source software for everyone.


Image for post
Image for post
Photo by Lee Aik Soon on Unsplash

We move and copy data all the time. From one object to the next, or when files are written, or when a client sends data to a server. Copying is everywhere, and there’s no avoiding it completely. Copying is also expensive, in terms of time, and eventually, money. What if we want to make this common operation an efficient? What can be done to make it faster?


Image for post
Image for post
Photo by Marc-Olivier Jodoin on Unsplash

SIMD. Single instruction multi data. You may not have heard of these four words before, but they have the power to make software run at lightning speed. They can accelerate actions like copying or searching data 10x, 20x or more times faster than with traditionally written code. The CPUs that power our computers today possess a special set of instructions that can process data simultaneously, and in parallel. In fact, the sets of these instructions have been around for a number of years. …


Image for post
Image for post
Photo by Bekir Dönmez on Unsplash

Stack Overflow is an incredible collection of programming and software knowledge. Thousands of students and developers use it daily to lookup answers for questions they can’t solve easily themselves. Stack Overflow taught me so much over the years, I have used it since I began to learn to program. It’s built and grown by a community of developers, with new questions and answers being added all the time.


Image for post
Image for post
Photo by Michael Dziedzic on Unsplash

Python is one of the most popular programming languages. It’s learned and used by students, teachers, and professionals around the world. Python provides a simple, straight forward, interpreted language that fosters creativity and freedom. Programmers have access to a community of hundreds of thousands of developers that provides an immense selection of open source packages for Python. The language manages garbage collection. memory allocation, pathnames, file descriptors, and much more that a programmer would normally need to worry about in a lower level language. Yet, that’s both an advantage and disadvantage.


Image for post
Image for post
Photo by Alice Dietrich on Unsplash

When people thinking of coding, programming or engineering, they think of it has a “hard” science. One that values mathematical abilities over creativity and design. Programming certainly does involve math, but the idea it involves no visual or creative thinking couldn’t be further from the truth. In fact, a major component of software engineering is visualization, the process of constructing images from the data or output of a program. Such an ability is vital to administrators or data scientists that oversee large data systems. It’s also an extraordinary tool to help learn programming or debug software.

JOSHUA WEINSTEIN

Programmer, Artist, Published Author. I’m an engineer on a mission to write the fastest software in the world.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store