RSSAmplifier

Blog

Crufter

crufter.comRSS feed ↗10 posts

Latest posts

Why I'm (Almost) Returning to Open Source

This post recounts my journey of developing a side project as closed source, diverging from my usual open source approach, and why I eventually opted for dual licensing. A few (or many? who counts…) months ago, I started developing an AI desktop app and platform ( https://github.com/singulatron/singulatron ). Prior to this, pretty much every side project I undertook was open source from the first…

Singulatron: Free desktop AI app and on premise AI solution for companies

Introducing the Singulatron! Visit us at https://singulatron.com/home . I’m thrilled to announce that, after extensive effort, Singulatron is now achieving a commendable level of stability. But what exactly is Singulatron capable of? Empowering AI on your desktop https://singulatron.com/desktop-ai The genesis of Singulatron is straightforward: we encountered a lack of accessible options for…

Tiredd: a toy Reddit clone built on free APIs

https://tiredd.org As someone who likes the concept of Reddit but dislikes how the site is run, I keep launching short lived Reddit-like side projects. I mostly use Lemmy , but I can’t justify running a SQL server and a VM for projects nobody cares about! So as a toy project to test out Micro (disclaimer: it’s my day job), I decided to build a fun little Reddit inspired toy app: Tiredd ( github…

Why we are building a CLI first PaaS without a web frontend

At the start of this hectic year I have joined Micro , an open source microservices platform. The company was born out of a Go framework . We took the concepts of the framework - interfaces for service discovery, configuration and other pieces which can run on any implementation (from mdns locally to kubernetes) and provide a live platform version of it. It’s kind of like Netlify, but for the…

Cloud computing needs to be reformed

Amazon derives over 40% of its total value from Amazon Web Services, per Trefis estimates, despite generating only around 10% of net revenues in 2017. This is largely due to the fact that AWS is a high-margin business (25% reported operating profit margin) while non-AWS business streams operate at thin margins. Forbes But how sustainable are these high margins? Spend money, because you can I once…

Bash - Basics

In this series we will explore the Linux shell scripting language. Every operating system has a terminal - Windows, Linux/Unix, OSX. A terminal is textual interface to operating system. In the old days of computing (think before 90ies), computers could not display pictures or videos - all they could show was text. Even nowadays, most servers running the internet do not have graphical interfaces,…

Idris, a language that will change the way you think about programming

Most programming languages barely differ from each other apart from superficial syntax differences, but not Idris. Idris, having a type system supporting dependent types and other innovative ideas, opens up a host of possibilities few other language provides. When we want to ensure that a piece of code works as intended the usual tool we use is testing. Testing provides plenty of benefits, but…

Everyday hassles in Go

Go became a reliable ally of mine during the past years. I use it in my day job and for side projects alike. I quite like the Go ecosystem, the tooling is great, from go fmt to race detector one can feel that the authors have done their share of coding in the wild. The standard library is very comprehensive (especially considering the age of the language), the documentation is top notch. The…

Haskell - Thinking recursively

To understand this post, first you should learn... Patterns and pattern matching Patterns allow you to deconstruct certain data structures with the same operators what you use to construct them. This only works in certain places, but we focus on function definitions now. Examine the following one: summa :: [ Int ] -> Int summa list = if length list == 0 then 0 else head list + ( summa ( tail list…

Haskell - Lists

In the previous post we met most of the basic types: Name Example Description -- ------- ----------- Int 300 Machine word sized integer. Integer 300 Infinite sized integer. Float 3.2 Floating point numbers. Double 3.2 Double precision floating point numbers. Char 'a' A single character. Bool True Boolean type, can take two values: True or False. As you can see, there is nothing complex about them.…