View Posts for Software Engineering

  • Next Project: Task Management

    |
    Updated at

    I've been working for myself for almost two weeks now just trying to lay down some bases and modify some of the logos I got back from freelancers to make it look pleasant. Design and infrastructure have been my focus and that will come to a head soon. I have down a good version 1 layout of Take to Task (yes that's the name), which is only for myself.

    I put up a landing page here: http://www.take2task.com (Edit 11/22/2019 I have a much better name for this) that displays the logo and logotype under the monike...

  • Terrible Ideas #3: Mangling Technical Patterns

    |
    Updated at

    Oh boy, I remember when I started getting familiar with Software Engineering patterns and y'know these patterns have names assigned to them and try to desperately  to memorize them because some day it will come in handy! I'm a true software developer if I can apply these patterns. Yeah yeah, etc etc. What I didn't know was that people would co opt these terms to mean or do something else entirely. Abuse is what this is.

    Factory Pattern

    The easiest and most memorable pattern in Software Engineering forever.

    Unb...

  • Terrible Ideas #2: Single Repo or Monorepo on Git

    |
    Updated at
    • TL;DR Only small MonoRepos on git a.k.a. Multi Repo. Use a MetaRepo if you want one big repo with "partial" checkouts.


      I used to work at a company that did single repo (not monorepo) on TFS (This Fucking Subversion?). This was a terrible experience as the checkout process was say 1-2 hours burned checking out a 30-40GB repo when I started that ballooned to 60-70GB when I got to stop using it. Microsoft had stopped supporting it as they transitioned their way into Git. Network failure meant that you could not...

  • For the Next Few Months...

    |
    Updated at

    Yeah, so I left my job today so I could finally focus on some of the ideas I've had full time. I've always thought that I would have come up with a consumer business on the side while I was working, but that hasn't panned out as I would like. Mostly just focused on work and creating my own infrastructure software and libraries.

    What Have I Done Already?

    Let's talk about that non-exhaustively. I write mainly in Rust, Java and JavaScript. Any other language is because of third party software, which is very much...

  • Why I Do Not Store UUID as CHAR or VARCHAR

    |
    Updated at

    Misunderstandings

    UUIDs.... Such a widely badly stored and used form of identification. Would you believe that people store UUIDs are in MySQL as not only primary key, but CHAR and VARCHAR?! Poor MySQL, poor B-Tree and poor computers that are abused by incompetence.

    Did you know that UUIDs have 6 versions? Did you know that UUIDs are 128bit random numbers? Did you also know that UUID stored as ASCII doubles the character length and storage space? Do you know why? Did you know that MySQL has to encode and deco...

  • Terrible Ideas #1: Database Model as a Service

    |
    Updated at

    Had a go thinking about abstracting database access into a service and the question I have is why? Why bother abstracting this access? What benefit does one get when abstracting the database away from an application? Let's have a go at it shall we?

    Imagine starting with a monolithic application that accesses a few databases and their tables. Life is great and everytime you update version x to version x+1, you update that application to support both version until fully migrated. Lets say you start hiring peop...

  • Svelte/Sapper is F*cking Amazing

    |
    Updated at

    Alright alright, so I dumped React as my frontend framework for this website and that's primarily because Googlebot was being all weird in rendering my pages for search results (this was after I fixed my "mobile usability problems" with simple html!). Same reason why I dumped Aurelia, but I had Server Side Rendering working for React. Mind you, I was an Aurelia fan boi 😂. Well, I needed a new framework to use that had SSR working out of the box, but not with React or Angular style heavy bundle.

    I considered...

  • Building a ZeroMQ based Service Discovery application

    |
    Updated at

    Introduction

    Service Discovery, the phonebook of applications, is a foundation for services oriented architecture. It answers the question of how does one service dynamically discover the endpoints of another service.

    It is not a new thing that came with microservices. Zookeeper is a famous application for implementing service discovery on regardless of requirements. I give it good praise for the things you can do with it. If you don't have a lot of time to spend I recommend it.

    Use Case

    Building on top of ...

  • Been Working on a High Performance Async Low Latency RPC Library

    |
    Updated at

    Lately I've taken an interest in facilitating Remote Procedure Calls (RPC). Spawned from service management (mgmt) application I've been building in Rust. Along with that service management system, I built an in memory db for it in Rust as well. Very interesting stuff for me espcially Rust. More on that some other time.

    What is an RPC?

    RPCs are used to communicate across applications. Like if I wanted to get a user's email then I would submit a GetUserEmailRPC Request and get back a response at some point (...

  • Building Java 9 and 10 Modules with Gradle

    |
    Updated at

    Introduction

    Java 9 introduced the Java Platform Module System a.k.a. JMS, JPMS and Project Jigsaw. With JMS, classloading and visibility are much different than before with modules being the way to import and export classes and resources. There are articles out that that explain the changes. Mark Reinhold made a post about JMS. What are the benefits? Segmentation, smaller build sizes. Let's talk bout Gradle.

    Gradle is a step above Maven as a build system. With incremental parallel builds, it is super quick...