I recently built my first mobile app using the Flutter framework. As a software engineer focused on web development in recent years, mobile apps have been on the periphery. React Native further brought these seemingly disparate worlds together more so than any previous attempts. I appreciated the declarative nature of React. Flutter, courtesy of Google, combines some of React’s strength with lessons from gaming engines. Flutter apps ship with an engine working with skia to power UIs. Powered by the Dart language, Flutter offers a declarative interface allowing developers to build widgets akin to React components. Given my experience with React, a Flutter app allowed me to start with a paradigm that was familiar and powerful while being exposed to a new toolset.
I developed a habit of reviewing Github’s trending lists every week. I will review the top trending projects across all languages and for the few languages that I am interested in following. Recently, that list for me has been:
As software engineers, we will be asked more and more to provide estimates for bug fixes, small updates, and new features. I understand the immense value of having estimates. It allows project managers and tech leads to plan tasks, plan a larger project, and provide timelines to clients and users. Estimates are valuable generally in day to day life. Just to name a few examples, we receive variations in the form of weather forecasts, stock market analyses and predictions, and seeds assigned to NCAA teams. However, estimates for software pose their own stakes and challenges.
I really just mean three or four years when I say “Years with Vim”. I have come to rely on it for personal projects and at work. On top of this, I have invested considerable amount of time on my vim configuration. I thought it would be good to evaluate the lessons and interactions with a tool that I have come to heavily rely upon.
This post outlines how you can run Moodle on Heroku. This route is a potential solution for anyone looking to get started with Moodle, a feature rich, open source learning management system (LMS), using a hosting solution that provides greater control and does not display ads to students.