Programmers Quickie - podcast cover

Programmers Quickie

Software Engineeringblog.code-code-code.com
Software Engineering Best Practices, System Design, High Scale, Algorithms, Math, Programming Languages, Statistics, Machine Learning, Databases, Front Ends, Frameworks, Low Level Machine Structure, Papers and Computing, Computer Science Book Reviews - Everything!

Episodes

SQL Window Functions (OVER, PARTITION BY)

In the SQL database query language, window functions allow access to data in the records right before and after the current record. A window function defines a frame or window of rows with a given length around the current row, and performs a calculation across the set of data in the window

May 07, 202016 min

ReactJs for Backend Developers

React is a JavaScript library for building user interfaces. It is maintained by Facebook and a community of individual developers and companies. React can be used as a base in the development of single-page or mobile applications

May 01, 202020 min

Java, Python, JavaScript, Estimations, Testing

The fundamental structures of a software system and the discipline of creating such structures and systems. Each structure comprises software elements, relations among them, and properties of both elements and relations. [1] The architecture of a software system is a metaphor, analogous to the architecture of a building. [2] It functions as a blueprint for the system and the developing project, laying out the tasks necessary to be executed by the design teams....

Apr 30, 202017 min

Spark DataFrame Documentation

Spark is a library for structured data processing. Unlike the basic Spark RDD API, the interfaces provided by Spark SQL provide Spark with more information about the structure of both the data and the computation being performed. Internally, Spark SQL uses this extra information to perform extra optimizations. There are several ways to interact with Spark SQL including SQL and the Dataset API. When computing a result the same execution engine is used, independent of which API/language you are us...

Apr 29, 202024 min

Statistics For Programmers

Statistics is a form of mathematical analysis that uses quantified models, representations and synopses for a given set of experimental data or real-life studies. Statistics studies methodologies to gather, review, analyze and draw conclusions from data

Apr 24, 202029 min

Building Secure and Reliable Systems

A recent book was published this year by Google about site reliability and security engineering, I would like to provide you a brief overview of it and incorporate my own analysis and thoughts about this subject while saving you some time from reading, at least part of it.

Apr 14, 202027 min

Dev On-Call Patterns

On-call , sometimes referred to as on-call shifts are processes used in business where employee work schedules are intentionally unpredictable. Employees who work on-call are expected to be available at any time during their shift, usually with short notice, to carry out their working duties. Depending on the nature of the profession, on-call duties may vary from what is expected during normal working hours to emergency cover only.

Apr 03, 202021 min

Basic Sorting

While there are a few types of sorting algorithms we have a few shared metrics to evaluate them all.  So when you refer me to a specific algorithm we could ask, is this sorting algorithm stable? Is it sorting in place? What is the average worst and best case running time of this sorting algorithm? Which type of data is this sorting algorithm best suited for, how much memory does this sorting algorithm require and does it need actually extra memory?

Mar 19, 202017 min

API Design Paper Summary

“The Little Manual of API Design” is a very nice paper written by Jasmin Blanchette has released a paper while working in trolltech, which is a Nokia company. I found it to be very clear and concise, and reassuring what we think of API design. It’s a difficult task that includes both artistic, social, programming and scientific skills. We are going to summarize this paper for you.

Mar 12, 202024 min

Recursion Trees

In graph theory, a recursive tree is a non-planar labeled rooted tree. A size-n recursive tree is labeled by distinct integers 1, 2, ..., n, where the labels are strictly increasing starting at the root labeled 1. Recursive trees are non-planar, which means that the children of a particular node are not ordered

Feb 28, 202018 min

Elon Musk Neuralink Paper

Brain-machine interfaces (BMIs) hold promise for the restoration of sensory and motor function and the treatment of neurological disorders, but clinical BMIs have not yet been widely adopted, in part because modest channel counts have limited their potential. In this white paper, we describe Neuralink’s first steps toward a scalable high-bandwidth BMI system

Feb 25, 202020 min

Character Encoding

Character encoding is used to represent a repertoire of characters by some kind of encoding system. Depending on the abstraction level and context, corresponding code points and the resulting code space may be regarded as bit patterns, octets, natural numbers, electrical pulses

Feb 20, 202016 min

Raft consensus algorithm

Raft is a consensus algorithm designed as an alternative to Paxos. It was meant to be more understandable than Paxos by means of separation of logic, but it is also formally proven safe and offers some additional features

Feb 14, 202021 min

Level Up Software Developers with Product in Mind

How could you have a major boost on your programming abilities by having a better understanding of the product.  And if you do how much more effort and time would it require from you? what do you need to actually do?

Feb 08, 202024 min

Regular Expressions a(?=[^a-z])

A regular expression, regex or regexp is a sequence of characters that define a search pattern. Usually such patterns are used by string searching algorithms for "find" or "find and replace" operations on strings, or for input validation. It is a technique developed in theoretical computer science and formal language theory

Feb 02, 202023 min

The Modular Monolith

Deciding upon microservices and monolith is not a light decision, it has a high impact on the future of your service, but what about the multimoduled monolith?

Jan 31, 202026 min

Unix File Descriptors and Programmer Abstractions

Unix File Descriptors and Programmer Abstractions.    In Unix and related computer operating systems, a file descriptor is an abstract indicator used to access a file or other input/output resource, such as a pipe or network socket. File descriptors form part of the POSIX application programming interface

Jan 28, 202017 min

Radix Sort

In computer science, radix sort is a non-comparative sorting algorithm. It avoids comparison by creating and distributing elements into buckets according to their radix. For elements with more than one significant digit, this bucketing process is repeated for each digit, while preserving the ordering of the prior step, until all digits have been considered

Jan 25, 202018 min

Awk for text processing

These are the concepts to know when you approach to study the command line tool Awk, it's very powerful but when you try to study it, it many times just does not make sense and appear to be complex, but this should not be the case, this is only because we come from procedural languages, once you grasp the main concepts behind it, it can be much more easier to study it.

Jan 22, 202018 min

Handling Errors in Distributed Systems with Retries

Now that you have a micro service, you need to rethink how to handle errors, how do you? Would you do a retry? What if the retry fails, what if the service is too slow and so many clients are now doing retries, the load would increase, how do you handle it then?

Jan 17, 202023 min

Logging and Monitoring Best Practice

We live in a micro services environment and even if not you have for sure some servers some databases and you want to be able to troubleshoot quickly issues, do you really want to scan these long logs and try to find the best way for you to find root cause at night? or do you want to be ready as a professional knowing quickly you already have all the tools for you to troubleshoot.

Jan 12, 202025 min

Handling Failures In Distributed Systems

In this episode I give you one of my biggest tips for implementing and designing distributed systems, should you or not go about retries? what are their disadvantages? what about caches how do they hurt you? what should you avoid when calling databases and other services?

Jan 08, 202015 min

Bayesian Statistics for Programmers

Bayesian statistics is a theory in the field of statistics based on the Bayesian interpretation of probability where probability expresses a degree of belief in an event. The degree of belief may be based on prior knowledge about the event, such as the results of previous experiments, or on personal beliefs about the event. This differs from a number of other interpretations of probability, such as the frequentist interpretation that views probability as the limit of the relative frequency of an...

Jan 06, 202019 min

Queues in System Design Architecture

Queues in System Design Architecture.  Queues are about everywhere they are not only a data structure that you study out of the blue in computer science, but they also help distribute your system.  But once you distribute your system with queues you face new issues, namely the queue being out of capacity, what do you do in these cases?

Jan 06, 202017 min

002 Scalability 2: Startups

002 Scalability Part 2 - Scalibility and startups how to deal with code with databases and scalability and still move fast

Sep 11, 201711 min

001 Scalability Introduction

Is scalability a mere technological problem? How do you study it? What are the methods to scale a business or tech solution?

Sep 09, 201711 min
For the best experience, listen in Metacast app for iOS or Android
Open in Metacast