Oct 15
Crafting a compiler in Rust : Chapter 4
Have you ever wondered how programming languages like Python, Java or Ruby work? Do you have an interest in building your own language? If so, this series of posts is for you. We dive into building a novel programing language from first principles. Get ready to have your hands dirty. It’s going to be a fun ride. Access the final product here : …
more
Oct 10
Crafting a compiler in Rust : Chapter 3
Have you ever wondered how programming languages like Python, Java or Ruby work? Do you have an interest in building your own language? If so, this series of posts is for you. We dive into building a novel programing language from first principles. Get ready to have your hands dirty. It’s going to be a fun ride. Access the final product here : …
more
Oct 5
Crafting a compiler in Rust : Chapter 2
Have you ever wondered how programming languages like Python, Java or Ruby work? Do you have an interest in building your own language? If so, this series of posts is for you. We dive into building a novel programing language from first principles. Get ready to have your hands dirty. It’s going to be a fun ride. Access the final product here : …
more
Oct 3
Crafting a compiler in Rust : Chapter 1
Have you ever wondered how programming languages like Python, Java or Ruby work? Do you have an interest in building your own language? If so, this series of posts is for you. We dive into building a novel programing language from first principles. Get ready to have your hands dirty. It’s going to be a fun ride. Access the final product here : …
more
Jul 21
Tokio vs Async-Std
Asynchronous programming has become a crucial aspect of modern software development, allowing for more efficient use of resources and improved responsiveness. In the Rust ecosystem, two prominent libraries have emerged to facilitate asynchronous programming: tokio and async-std. Both libraries provide a way to write asynchronous code using the async/await syntax, but they differ in their approach, …
more
2021
May 10
LRU cache implementation in Golang
Updated : 2022-12-02
In this piece, we are going to demonstrate how to implement an LRU cache in Golang. I encountered this problem recently in an interview and decided to solidify my understanding by building one from scratch. Let’s examine how the LRU cache works.
From a high level, think of the LRU cache as a list of a specific cache number of items. That is the cache can only have a …
more
2020
Feb 20
Service Design
One may be led to think that service design is about software architecture. That’s especially true and sad for most of us in the software business. When you look at it from a high-level point of view, service design is about planning and organization of resources to improve employee and customer experience.
Let’s put this into perspective with an example.
Consider an online store. …
more
2019
Dec 15
Easy your way to understanding to TLS in Go
Earlier before I started using TLS(or HTTPS), I used to think that it was a complicated process and I had to learn alot of math and complex algorithms. I was wrong. That was already done for me and all I had to do was figure out how to place the pieces together. Like my every learning experience, it all begun with a Google search. But the articles I found were either too high level for my …
more
Nov 2
Language detection : Part two
In the first part of this series, we laid the foundation and developed a model that could identify a language with an error rate of 8%. In this second part, we will change our strategy and develop an even superior model than achieves 99% accuracy.
I encourage you to read the first part so that you may get the intuition of why we are changing strategy.
Let’s begin
Part two Change data and …
more
Nov 2
Language detection : Part one
Mastering language is arguably Homo sapiens’ greatest cognitive ability. It’s, in fact, the centerpiece of the Turing test. Work in natural language understanding has been going on for decades. While machines are yet to truly understand human language, current efforts like OpenAI’s GPT-2 and Google’s BERT demonstrate that machines are on the edge of this computational …
more
© Mwangi Kariuki 2019-2024
more
Oct 10
Crafting a compiler in Rust : Chapter 3
Have you ever wondered how programming languages like Python, Java or Ruby work? Do you have an interest in building your own language? If so, this series of posts is for you. We dive into building a novel programing language from first principles. Get ready to have your hands dirty. It’s going to be a fun ride. Access the final product here : …
more
Oct 5
Crafting a compiler in Rust : Chapter 2
Have you ever wondered how programming languages like Python, Java or Ruby work? Do you have an interest in building your own language? If so, this series of posts is for you. We dive into building a novel programing language from first principles. Get ready to have your hands dirty. It’s going to be a fun ride. Access the final product here : …
more
Oct 3
Crafting a compiler in Rust : Chapter 1
Have you ever wondered how programming languages like Python, Java or Ruby work? Do you have an interest in building your own language? If so, this series of posts is for you. We dive into building a novel programing language from first principles. Get ready to have your hands dirty. It’s going to be a fun ride. Access the final product here : …
more
Jul 21
Tokio vs Async-Std
Asynchronous programming has become a crucial aspect of modern software development, allowing for more efficient use of resources and improved responsiveness. In the Rust ecosystem, two prominent libraries have emerged to facilitate asynchronous programming: tokio and async-std. Both libraries provide a way to write asynchronous code using the async/await syntax, but they differ in their approach, …
more
2021
May 10
LRU cache implementation in Golang
Updated : 2022-12-02
In this piece, we are going to demonstrate how to implement an LRU cache in Golang. I encountered this problem recently in an interview and decided to solidify my understanding by building one from scratch. Let’s examine how the LRU cache works.
From a high level, think of the LRU cache as a list of a specific cache number of items. That is the cache can only have a …
more
2020
Feb 20
Service Design
One may be led to think that service design is about software architecture. That’s especially true and sad for most of us in the software business. When you look at it from a high-level point of view, service design is about planning and organization of resources to improve employee and customer experience.
Let’s put this into perspective with an example.
Consider an online store. …
more
2019
Dec 15
Easy your way to understanding to TLS in Go
Earlier before I started using TLS(or HTTPS), I used to think that it was a complicated process and I had to learn alot of math and complex algorithms. I was wrong. That was already done for me and all I had to do was figure out how to place the pieces together. Like my every learning experience, it all begun with a Google search. But the articles I found were either too high level for my …
more
Nov 2
Language detection : Part two
In the first part of this series, we laid the foundation and developed a model that could identify a language with an error rate of 8%. In this second part, we will change our strategy and develop an even superior model than achieves 99% accuracy.
I encourage you to read the first part so that you may get the intuition of why we are changing strategy.
Let’s begin
Part two Change data and …
more
Nov 2
Language detection : Part one
Mastering language is arguably Homo sapiens’ greatest cognitive ability. It’s, in fact, the centerpiece of the Turing test. Work in natural language understanding has been going on for decades. While machines are yet to truly understand human language, current efforts like OpenAI’s GPT-2 and Google’s BERT demonstrate that machines are on the edge of this computational …
more
© Mwangi Kariuki 2019-2024
more
Oct 5
Crafting a compiler in Rust : Chapter 2
Have you ever wondered how programming languages like Python, Java or Ruby work? Do you have an interest in building your own language? If so, this series of posts is for you. We dive into building a novel programing language from first principles. Get ready to have your hands dirty. It’s going to be a fun ride. Access the final product here : …
more
Oct 3
Crafting a compiler in Rust : Chapter 1
Have you ever wondered how programming languages like Python, Java or Ruby work? Do you have an interest in building your own language? If so, this series of posts is for you. We dive into building a novel programing language from first principles. Get ready to have your hands dirty. It’s going to be a fun ride. Access the final product here : …
more
Jul 21
Tokio vs Async-Std
Asynchronous programming has become a crucial aspect of modern software development, allowing for more efficient use of resources and improved responsiveness. In the Rust ecosystem, two prominent libraries have emerged to facilitate asynchronous programming: tokio and async-std. Both libraries provide a way to write asynchronous code using the async/await syntax, but they differ in their approach, …
more
2021
May 10
LRU cache implementation in Golang
Updated : 2022-12-02
In this piece, we are going to demonstrate how to implement an LRU cache in Golang. I encountered this problem recently in an interview and decided to solidify my understanding by building one from scratch. Let’s examine how the LRU cache works.
From a high level, think of the LRU cache as a list of a specific cache number of items. That is the cache can only have a …
more
2020
Feb 20
Service Design
One may be led to think that service design is about software architecture. That’s especially true and sad for most of us in the software business. When you look at it from a high-level point of view, service design is about planning and organization of resources to improve employee and customer experience.
Let’s put this into perspective with an example.
Consider an online store. …
more
2019
Dec 15
Easy your way to understanding to TLS in Go
Earlier before I started using TLS(or HTTPS), I used to think that it was a complicated process and I had to learn alot of math and complex algorithms. I was wrong. That was already done for me and all I had to do was figure out how to place the pieces together. Like my every learning experience, it all begun with a Google search. But the articles I found were either too high level for my …
more
Nov 2
Language detection : Part two
In the first part of this series, we laid the foundation and developed a model that could identify a language with an error rate of 8%. In this second part, we will change our strategy and develop an even superior model than achieves 99% accuracy.
I encourage you to read the first part so that you may get the intuition of why we are changing strategy.
Let’s begin
Part two Change data and …
more
Nov 2
Language detection : Part one
Mastering language is arguably Homo sapiens’ greatest cognitive ability. It’s, in fact, the centerpiece of the Turing test. Work in natural language understanding has been going on for decades. While machines are yet to truly understand human language, current efforts like OpenAI’s GPT-2 and Google’s BERT demonstrate that machines are on the edge of this computational …
more
© Mwangi Kariuki 2019-2024
more
Oct 3
Crafting a compiler in Rust : Chapter 1
Have you ever wondered how programming languages like Python, Java or Ruby work? Do you have an interest in building your own language? If so, this series of posts is for you. We dive into building a novel programing language from first principles. Get ready to have your hands dirty. It’s going to be a fun ride. Access the final product here : …
more
Jul 21
Tokio vs Async-Std
Asynchronous programming has become a crucial aspect of modern software development, allowing for more efficient use of resources and improved responsiveness. In the Rust ecosystem, two prominent libraries have emerged to facilitate asynchronous programming: tokio and async-std. Both libraries provide a way to write asynchronous code using the async/await syntax, but they differ in their approach, …
more
2021
May 10
LRU cache implementation in Golang
Updated : 2022-12-02
In this piece, we are going to demonstrate how to implement an LRU cache in Golang. I encountered this problem recently in an interview and decided to solidify my understanding by building one from scratch. Let’s examine how the LRU cache works.
From a high level, think of the LRU cache as a list of a specific cache number of items. That is the cache can only have a …
more
2020
Feb 20
Service Design
One may be led to think that service design is about software architecture. That’s especially true and sad for most of us in the software business. When you look at it from a high-level point of view, service design is about planning and organization of resources to improve employee and customer experience.
Let’s put this into perspective with an example.
Consider an online store. …
more
2019
Dec 15
Easy your way to understanding to TLS in Go
Earlier before I started using TLS(or HTTPS), I used to think that it was a complicated process and I had to learn alot of math and complex algorithms. I was wrong. That was already done for me and all I had to do was figure out how to place the pieces together. Like my every learning experience, it all begun with a Google search. But the articles I found were either too high level for my …
more
Nov 2
Language detection : Part two
In the first part of this series, we laid the foundation and developed a model that could identify a language with an error rate of 8%. In this second part, we will change our strategy and develop an even superior model than achieves 99% accuracy.
I encourage you to read the first part so that you may get the intuition of why we are changing strategy.
Let’s begin
Part two Change data and …
more
Nov 2
Language detection : Part one
Mastering language is arguably Homo sapiens’ greatest cognitive ability. It’s, in fact, the centerpiece of the Turing test. Work in natural language understanding has been going on for decades. While machines are yet to truly understand human language, current efforts like OpenAI’s GPT-2 and Google’s BERT demonstrate that machines are on the edge of this computational …
more
© Mwangi Kariuki 2019-2024
more
Jul 21
Tokio vs Async-Std
Asynchronous programming has become a crucial aspect of modern software development, allowing for more efficient use of resources and improved responsiveness. In the Rust ecosystem, two prominent libraries have emerged to facilitate asynchronous programming: tokio and async-std. Both libraries provide a way to write asynchronous code using the async/await syntax, but they differ in their approach, …
more
2021
May 10
LRU cache implementation in Golang
Updated : 2022-12-02
In this piece, we are going to demonstrate how to implement an LRU cache in Golang. I encountered this problem recently in an interview and decided to solidify my understanding by building one from scratch. Let’s examine how the LRU cache works.
From a high level, think of the LRU cache as a list of a specific cache number of items. That is the cache can only have a …
more
2020
Feb 20
Service Design
One may be led to think that service design is about software architecture. That’s especially true and sad for most of us in the software business. When you look at it from a high-level point of view, service design is about planning and organization of resources to improve employee and customer experience.
Let’s put this into perspective with an example.
Consider an online store. …
more
2019
Dec 15
Easy your way to understanding to TLS in Go
Earlier before I started using TLS(or HTTPS), I used to think that it was a complicated process and I had to learn alot of math and complex algorithms. I was wrong. That was already done for me and all I had to do was figure out how to place the pieces together. Like my every learning experience, it all begun with a Google search. But the articles I found were either too high level for my …
more
Nov 2
Language detection : Part two
In the first part of this series, we laid the foundation and developed a model that could identify a language with an error rate of 8%. In this second part, we will change our strategy and develop an even superior model than achieves 99% accuracy.
I encourage you to read the first part so that you may get the intuition of why we are changing strategy.
Let’s begin
Part two Change data and …
more
Nov 2
Language detection : Part one
Mastering language is arguably Homo sapiens’ greatest cognitive ability. It’s, in fact, the centerpiece of the Turing test. Work in natural language understanding has been going on for decades. While machines are yet to truly understand human language, current efforts like OpenAI’s GPT-2 and Google’s BERT demonstrate that machines are on the edge of this computational …
more
© Mwangi Kariuki 2019-2024
more
May 10
LRU cache implementation in Golang
Updated : 2022-12-02
In this piece, we are going to demonstrate how to implement an LRU cache in Golang. I encountered this problem recently in an interview and decided to solidify my understanding by building one from scratch. Let’s examine how the LRU cache works.
From a high level, think of the LRU cache as a list of a specific cache number of items. That is the cache can only have a …
more
2020
Feb 20
Service Design
One may be led to think that service design is about software architecture. That’s especially true and sad for most of us in the software business. When you look at it from a high-level point of view, service design is about planning and organization of resources to improve employee and customer experience.
Let’s put this into perspective with an example.
Consider an online store. …
more
2019
Dec 15
Easy your way to understanding to TLS in Go
Earlier before I started using TLS(or HTTPS), I used to think that it was a complicated process and I had to learn alot of math and complex algorithms. I was wrong. That was already done for me and all I had to do was figure out how to place the pieces together. Like my every learning experience, it all begun with a Google search. But the articles I found were either too high level for my …
more
Nov 2
Language detection : Part two
In the first part of this series, we laid the foundation and developed a model that could identify a language with an error rate of 8%. In this second part, we will change our strategy and develop an even superior model than achieves 99% accuracy.
I encourage you to read the first part so that you may get the intuition of why we are changing strategy.
Let’s begin
Part two Change data and …
more
Nov 2
Language detection : Part one
Mastering language is arguably Homo sapiens’ greatest cognitive ability. It’s, in fact, the centerpiece of the Turing test. Work in natural language understanding has been going on for decades. While machines are yet to truly understand human language, current efforts like OpenAI’s GPT-2 and Google’s BERT demonstrate that machines are on the edge of this computational …
more
© Mwangi Kariuki 2019-2024
more
Feb 20
Service Design
One may be led to think that service design is about software architecture. That’s especially true and sad for most of us in the software business. When you look at it from a high-level point of view, service design is about planning and organization of resources to improve employee and customer experience.
Let’s put this into perspective with an example.
Consider an online store. …
more
2019
Dec 15
Easy your way to understanding to TLS in Go
Earlier before I started using TLS(or HTTPS), I used to think that it was a complicated process and I had to learn alot of math and complex algorithms. I was wrong. That was already done for me and all I had to do was figure out how to place the pieces together. Like my every learning experience, it all begun with a Google search. But the articles I found were either too high level for my …
more
Nov 2
Language detection : Part two
In the first part of this series, we laid the foundation and developed a model that could identify a language with an error rate of 8%. In this second part, we will change our strategy and develop an even superior model than achieves 99% accuracy.
I encourage you to read the first part so that you may get the intuition of why we are changing strategy.
Let’s begin
Part two Change data and …
more
Nov 2
Language detection : Part one
Mastering language is arguably Homo sapiens’ greatest cognitive ability. It’s, in fact, the centerpiece of the Turing test. Work in natural language understanding has been going on for decades. While machines are yet to truly understand human language, current efforts like OpenAI’s GPT-2 and Google’s BERT demonstrate that machines are on the edge of this computational …
more
© Mwangi Kariuki 2019-2024
more
Dec 15
Easy your way to understanding to TLS in Go
Earlier before I started using TLS(or HTTPS), I used to think that it was a complicated process and I had to learn alot of math and complex algorithms. I was wrong. That was already done for me and all I had to do was figure out how to place the pieces together. Like my every learning experience, it all begun with a Google search. But the articles I found were either too high level for my …
more
Nov 2
Language detection : Part two
In the first part of this series, we laid the foundation and developed a model that could identify a language with an error rate of 8%. In this second part, we will change our strategy and develop an even superior model than achieves 99% accuracy.
I encourage you to read the first part so that you may get the intuition of why we are changing strategy.
Let’s begin
Part two Change data and …
more
Nov 2
Language detection : Part one
Mastering language is arguably Homo sapiens’ greatest cognitive ability. It’s, in fact, the centerpiece of the Turing test. Work in natural language understanding has been going on for decades. While machines are yet to truly understand human language, current efforts like OpenAI’s GPT-2 and Google’s BERT demonstrate that machines are on the edge of this computational …
more
© Mwangi Kariuki 2019-2024
more
Nov 2
Language detection : Part two
In the first part of this series, we laid the foundation and developed a model that could identify a language with an error rate of 8%. In this second part, we will change our strategy and develop an even superior model than achieves 99% accuracy.
I encourage you to read the first part so that you may get the intuition of why we are changing strategy.
Let’s begin
Part two Change data and …
more
Nov 2
Language detection : Part one
Mastering language is arguably Homo sapiens’ greatest cognitive ability. It’s, in fact, the centerpiece of the Turing test. Work in natural language understanding has been going on for decades. While machines are yet to truly understand human language, current efforts like OpenAI’s GPT-2 and Google’s BERT demonstrate that machines are on the edge of this computational …
more
© Mwangi Kariuki 2019-2024
more
Nov 2
Language detection : Part one
Mastering language is arguably Homo sapiens’ greatest cognitive ability. It’s, in fact, the centerpiece of the Turing test. Work in natural language understanding has been going on for decades. While machines are yet to truly understand human language, current efforts like OpenAI’s GPT-2 and Google’s BERT demonstrate that machines are on the edge of this computational …
more
© Mwangi Kariuki 2019-2024
more
© Mwangi Kariuki 2019-2024