rwar
HomeBrew
rwar | HomeBrew | |
---|---|---|
13 | 1,281 | |
7 | 39,456 | |
- | 1.0% | |
10.0 | 10.0 | |
over 1 year ago | 3 days ago | |
Python | Ruby | |
- | BSD 2-clause "Simplified" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rwar
-
2022 Highlights: Open Source Development! ✨
rwar - My static site generator
-
🧪🐍✨Unit Testing Python Code With The unittest Framework
My static site generator - rwar is evolving and getting better over time, which means I need to ensure that the code is professional and of high quality! Also, being able to work with testing frameworks and learning them well can help you stand out during interviews. 😃
-
✨Write clean Python code using pylint and black ✨🐍
The very first time I encountered linters and style formatters for Python was during this year's Hacktoberfest. My CI/CD runs kept failing for one particular pull request on GitHub due to errors on black, isort, gitlint. Multiple times. The code was working, but why were my CI/CD runs failing so many times? You can read all about the CI/CD nightmare in this blog. I was frustrated and questioned the need for such checks. Now, I have studied all about pylint to integrate it into my static site generator - rwar. I understand how important it is for code to go through such checks to help spot silly errors that programmers often make and keep the code bug free in the long run, especially when many programmers are working on one big project. Imagine it this way, while typing things on a word document we almost always use a spellchecker to catch typos. Similarly, linters help us catch those silly errors that might snowball into a bigger problem if not addressed on time. They put quality control checks in place. Plus, linters are customizable, allowing us to set rules for the checks we want for our code.
-
Copying a Feature from Docusaurus 🦖 For My Static Site Generator - rwar 🦁
There is so much to learn from Docusaurus. It is a powerful static site generator, packed with amazing features. I envision my own static site generator – rwar - to be as powerful as Docusaurus someday. But then again – I am a one-person team, the sole author of my static site generator getting occasional little help from other teammates in the class, and taking small steps to one day become as feature packed as Docusaurus. But for now, I am taking it slow, learning python as I improve rwar.
-
Refactoring My Code
Until now I had worked on Rwar – my static site generator written in Python, without paying much attention to ways I could make the code cleaner and easier to read. This week was all about cleaning up my code. I refactored my code by reducing code duplication, extracting functions, removing global variables, and giving better names to my variables. Previously, I had already worked on splitting my code up into multiple files. To do the refactoring of my code, I first created a branch called refactoring and made all my changes on this branch.
-
Implementing Difficult Features While Learning New Things in C++
To add a new feature to palpatine which is an awesome static site generator written in C++ by Batuhan, I started by filing an issue. While I worked on his repo for adding this new feature, he worked on mine to add the same feature. Here are the detailed instructions for this week's lab. Batuhan also worked on my repo for adding the –config feature for my static site generator, rwar, written in Python. These are awesome repos to check out!
-
palpatine supports config file in JSON format
I worked on my partner’s static site generator, rwar, to implement this feature and she worked on my static site generator – palpatine. I was easily able to do this in rwar which is written in Python. However, I realized that this feature was much harder to implement on palpatine which is written in C++. Samina reached out multiple times seeking help for the broken Cmake configurations and for helping in integrating the nlohmann/json library.
-
My Experience With GitHub Topic Branches
This week I learned something new about GitHub – using topic branches! And not just that – I also added two new features to my static site generator, rwar. Rwar is a simple static site generator written in Python and I keep improving it every week by implementing one or two new features, along with updating all its documentation and debugging anything that might have broken in the process. If you are interested in Python, I encourage you to check out rwar. Fork it, clone it and test it out! Building this project paved a path for me to learn Python and trust me I have learned so much in such a short time! The best way to learn something is to start building a project with it. Yes, it requires a greater learning curve, and there is a greater chance of breaking stuff in the process, but through getting hands-on, the learning happens so much faster.
-
My First GitHub Pull Request
It was great working with Batuhan for this lab again! He was prompt at working on my static site generator Rwar and added markdown support to it as well. He asked me questions whenever he had any through Slack and the entire process went smoothly. Batuhan had previous experience with pull requests and I was able to ask him questions regarding creating branches and PRs.
-
palpatine received its first Pull Request
During PR, we talked over Slack(like almost every developer) and I enjoyed the process. Slack is a great tool for communication and I highly recommend it. It was not something I used to use often, but I noticed it feels much more convenient than any other tool, it supports large files, and screen recordings to be shared, unlike the other tools with limitations on certain sizes. With Samina, we have shared our screens and discussed the implementation. I am confident that we learned a lot from each other. I also implemented similar markdown support into her tool rwar that supports markdown headings. You can see her demo here. The PR I raised was to address issue#6.
HomeBrew
-
Top Homebrew Alternative: ServBay Becomes the Go-To for Developers
Homebrew is a highly popular package manager on macOS and Linux systems, enabling users to easily install, update, and uninstall command-line tools and applications. Its design philosophy focuses on simplifying the software installation process on macOS, eliminating the need for manual downloads and compilations of software packages.
-
Software Engineering Workflow
Homebrew - package manager for linux-based OSs.
-
Simulate your first Lightning transaction on the Bitcoin regtest network Part 1 (MacOS)
Package Manager: Homebrew
-
Tools for Linux Distro Hoppers
Hopping from one distro to another with a different package manager might require some time to adapt. Using a package manager that can be installed on most distro is one way to help you get to work faster. Flatpak is one of them; other alternative are Snap, Nix or Homebrew. Flatpak is a good starter, and if you have a bunch of free time, I suggest trying Nix.
-
SQLite Schema Diagram Generator
Are you using SQLite that ships with macOS, or SQLite installed from homebrew?
I had a different problem in the past with the SQLite that ships with macOS, and have been using SQLite from homebrew since.
So if it’s the one that comes with macOS that gives you this problem that you are having, try using SQLite from homebrew instead.
https://brew.sh/
-
How to install (Ubuntu 22.10 VM) vagrant on Mac M1 ship using QEMU
Before we begin, make sure you have Homebrew installed on your Mac. Homebrew is a package manager that makes it easy to install software and dependencies. You can install Homebrew by following the instructions on their website: https://brew.sh/
-
Perfect Elixir: Environment Setup
I’m on MacOS and erlang.org, elixir-lang.org, and postgresql.org all suggest installation via Homebrew, which is a very popular package manager for MacOS.
-
You're Installing Node.js Wrong. That's OK, Here Is How To Fix It 🙌
I have always either installed Node from the installer provided by the Nodejs website or, via Brew in macOS. I have also used nvm in the past but did not know that there was a best practice to guide us.
-
Test Driving a Rails API - Part One
A running Rails application needs a database to connect to. You may already have your database of choice installed, but if not, I recommend PostgreSQL, or Postgres for short. On a Mac, probably the easiest way to install it is with Posrgres.app. Another option, the one I prefer, is to use Homebrew. With Homebrew installed, this command will install PostgreSQL version 16 along with libpq:
-
Effective Neovim Setup. A Beginner’s Guide
On a macOS machine, you can use homebrew by running the command.
What are some alternatives?
rahat-agency - Agency management system for Rahat
spack - A flexible package manager that supports multiple versions, configurations, platforms, and compilers.
palpatine - ⚡Darth sidious does static site generator with unlimited power!
asdf - Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more
cve-bin-tool - The CVE Binary Tool helps you determine if your system includes known vulnerabilities. You can scan binaries for over 200 common, vulnerable components (openssl, libpng, libxml2, expat and others), or if you know the components used, you can get a list of known vulnerabilities associated with an SBOM or a list of components and versions.
Visual Studio Code - Visual Studio Code
Docusaurus - Easy to maintain open source documentation websites.
winget-cli - WinGet is the Windows Package Manager. This project includes a CLI (Command Line Interface), PowerShell modules, and a COM (Component Object Model) API (Application Programming Interface).
termcolor - Termcolor is a header-only C++ library for printing colored messages to the terminal. Written just for fun with a help of the Force.
osxfuse - FUSE extends macOS by adding support for user space file systems
json - JSON for Modern C++
Chocolatey - Chocolatey - the package manager for Windows