Posts

Showing posts with the label programing

Scala 3.0

Image
Scala 3.0 is not out yet but has some interesting new features. I'm still digesting some features some I have some mixed feelings about it. One of the main big changes is the support for Python-like syntax. Scala 3.0 has lots of shortcuts, types of convenience, and different ways to do generics. Scala always had the philosophy to be flexible on the language level and let the tools and companies restrict functionality, so this still pretty much very true. I made a series of 3 videos going over some of the changes in Scala 3. This material is highly inspired by the scala 3 boo/docs. Some code and features on the videos will not be limited by scala 3 but also cool things about scala 2 or even scala in general but mostly I will be talking about scala 3.0. Keep in mind scala 3 is not final so things could change but I believe you gonna be able to have a good sense of what to expect and what's going on. So Let's get started. 

Building a TCP Server with Apache Mina

Image
Apache Mina is a rock-solid framework to build high performant network applications. Mina provides sockets using NIO Framework with non-blocking IO fashion. Using mina you can build a TCP Server/Client, FTP Server, SShd lib, or an XMPP server. Today I want to explore a TCP Server/Client simple application protocol using Apache Mina. So I made a simple POC so how the application working and also used Junit to test the app. There is a video explaining in detail how it works. So Let's get started.

Scala Tinylog

Image
I personally have a deep passion for lean libraries. Binary Coupling and distributed monolith kill all services initiatives. Shared libraries are often controlled or done with attention and care. The result is catastrophic, developer experience goes down, the ability to the chance version in isolation goes to space and complexity grows as productivity and migrations become more and more consuming. Tinylog has my respect. I love simple, no 3rd party dependencies libraries. So today I want to show how tinylog is cool and yet powerful. I made a video and a simple Scala project using SBT. So Let's get started, 

Memcached with Scala Shade

Image
Memcached is a powerful and battle-tested key-value store. Netflix is one of the many companies that use Memcached at scale. Memcached has a simple design and yet powerful. Redis is great because of the commands and data structure diversity however Redis is not multi-thread and Memcached is. Thats the biggest advantage of Memcached. Scala, it's a powerful and complete modern post-functional language for the JVM. Today I want to show how we can use MemcacheD and Scala together using the Shade library. Shade is part of monix which is a functional multi-thread solution. Today I made a video showing how we can use Memcached and shade in Scala using SBT as a build system. So without further due, let's get started. 

Rust Parser and State Machine

Image
Rust it's a very nice and powerful language. I believe Rust has a place beyond systems and hardware programming. I personally believe we will be seeing more and more Rust in the following years just like Go took some time to liftoff I believe Rust time is yet to come. Rust it's powerful because favors safe programming not only in sense of memory management but also combined with functional programming we can get the best of all words meaning: Safety, Productivity, Less code, Doing more with less, reducing complexity, and leverage engineering best practices. Today I want to show how easily we can write a cyclic state machine parser with Rust and without using any crates but really 100% on the standard language.  So Let's get started.

SOA has Roots in Agile and Functional Programming

Image
SOA it`s about software architecture so its about an overall solutions for a business.  Thats what the 'A' stands for. Behind this we got Service Orientation as the main paradigm of doing some, its a way of thinking and it has principles like OOP, FP and Agile. SOA got popular around 2k years when business was moving to more complex functionality and more and more data. Them it came several buzzwords and vendor-like things, but soa was never about technology was always about principles and a specific way to think, see and build things, the service orientation. To capture this view a group of awesome people created the soa manifesto .