The Client-Server architecture that has become ubiquitous in modern applications has had some unintended consequences that go against much of the original philosophy of an open Internet and free software. Large tech companies have taken control of users' data and locked them into their ecosystems, converting the Internet into an oligopoly of centralized services. One small step towards fixing this would be to separate data storage and limit server computation to the bare minimum.
Google offers a wide range of useful products and services for free, but it’s important to note that’s free as in beer, not freedom. This guide explains how to obtain a similar quality of digital life without sacrificing privacy or ideology.
Using Google’s Flutter SDK with BLoC’s cubits is a great way to quickly and easily build a reactive application that can run natively on a variety of platforms including Android, iOS, web, and desktop.
Since the publication of the Agile Manifesto almost two decades ago, agile methodologies have been slowly but steadily becoming prevalent in software development, and none more so than Scrum (according to the latest State of Agile Report, more than 75% of respondents practice Scrum or a hybrid that includes Scrum). This post analyzes some positive and negative aspects of this new reality, and sets the stage for a proposal for improvement.
A blog is as simple as it gets in terms of websites, yet by using modern tools such as React and Bootstrap to build it you are essentially adding an overhead that is several times the size of the actual content. Since page download and rendering times are critical for the success of your blog from both a UX and SEO point of view, this is just unacceptable. Thanks to Hugo and Tailwind CSS you can produce the bare minimum needed for a beautiful site, and maintain it easily.
By hosting your static site in GitLab Pages you don’t have to worry about managing a web server, but just as “with great power comes great responsibility”, with less responsibility you must also relinquish some control. If you inspect your site’s headers you will find that GitLab’s servers don’t compress your assets, which makes them weigh up to 75% more than necessary! The good news is that you can get that compression without having to touch the server settings.
There are countless tutorials and example code for building an Android keyboard, but all of them use Java and the deprecated KeyboardView and Keyboard classes from android.inputmethodservice. If you’re building an Android keyboard in 2020 you want to be using Kotlin and designing your own layout from scratch.
You can find examples online of the .gitlab-ci.yml file to use for compiling Android apps (including one on GitLab’s Blog), but they are all now outdated since Google made several breaking changes to the naming, directory structure, and environment variables.