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, 2020•16 min
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, 2020•20 min
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, 2020•17 min
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, 2020•24 min
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, 2020•29 min
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, 2020•27 min
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, 2020•21 min
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, 2020•17 min
“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, 2020•24 min
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, 2020•18 min
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, 2020•20 min
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, 2020•16 min
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, 2020•21 min
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, 2020•24 min
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, 2020•23 min
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, 2020•26 min
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, 2020•17 min
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, 2020•18 min
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, 2020•18 min
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, 2020•23 min
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, 2020•25 min
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, 2020•15 min
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, 2020•19 min
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, 2020•17 min
Data Science At the Command Line grep sed awk
Dec 01, 2019•15 min•Season 1Ep. 6
Couchbase part 2
Dec 01, 2019•5 min
Couchbase part 1
Dec 01, 2019•5 min
How to get paying customers for software engineers side projects
Dec 29, 2018•10 min
002 Scalability Part 2 - Scalibility and startups how to deal with code with databases and scalability and still move fast
Sep 11, 2017•11 min
Is scalability a mere technological problem? How do you study it? What are the methods to scale a business or tech solution?
Sep 09, 2017•11 min