DEV Community

Cover image for My Review of 2020
Swastik Baranwal
Swastik Baranwal

Posted on • Updated on

My Review of 2020

2020 year has been hard almost for everyone due to the pandemic. My year was almost alright, but then my family also got infected with COVID 19 recently. However, we luckily fought through it and now we are safe.

I hope everyone's safe and I really pray for those who are going through this tough time. Since I was always at home, I was over-productive this year as I had a lot of time to learn and make stuff. I believed that such an opportunity to improve will never come again, so I made best use of it.

And as 2020 is about to end soon, these are the things I accomplished this year:


  • My account articles have passed more than 100K views in less than one year of creation!
  • I made small 5 projects and learned a lot of things and met a lot of people who helped me to implement those features! I would like to thank them very much ^-^
  • My GoLang library: Box Cli Maker has 100+ stars in just 8 months!!
  • V By Example has also 100+ stars :)
  • I have done a total of 200 Pull Requests in my whole life.
  • I have completed Hacktoberfest 2020 and I did around 7 PRs this time during October because I was busy that time with other things!
  • I learnt more about V's internal compiler and started to implement small features and fix bugs and issues slowly and step by step!
  • I had started taking part in discussions of Python's Pattern Matching syntax and was against the favor of using _ for denoting else case in match syntax as it would be inconsistent and wouldn't make it Pythonic anymore. I tried giving some issues and I got acknowledged from them. Though my proposal was rejected as I wasn't a part of them.
  • I got some "job offers" but I feel those were scam so I rejected it as who can hire someone like that? I think it's still an achievement as people are coming to me xD
  • I made a Github Profile in such an unique style that others liked and copied it.
  • Opened several issues in Golang, V and Deno etc.
  • Became a collaborator of Bhupesh-V/30-seconds-of-cpp.
  • Got 90+ followers on GitHub.
  • My proposal for Windows Terminal got accepted!

Projects made

  • Box CLI Maker

GitHub logo Delta456 / box-cli-maker

Make Highly Customized Boxes for your CLI

Box CLI Maker πŸ“¦

Box CLI Maker is a Highly Customized Terminal Box Creator reference CI Go Report Card GolangCI GitHub release Mentioned in Awesome Go


  • Make Terminal Box in 8️⃣ inbuilt different styles
  • 16 Inbuilt Colors and True Color Support 🎨
  • Custom Title Positions
  • Make your own Terminal Box style πŸ“¦
  • Align the text according to the need
  • Unicode, Emoji and Windows Console Support πŸ˜‹
  • Written in πŸ‡¬ πŸ‡΄


 go get


In main.go

package main

import ""

func main() {
 Box := box.New(box.Config{Px: 2, Py: 5, Type: "Single", Color: "Cyan"})
 Box.Print("Box CLI Maker", "Highly Customized Terminal Box Maker")
Enter fullscreen mode Exit fullscreen mode

box.New(config Config) accepts a Config struct with following parameters and returns a Box struct.

  • Parameters
    • Px : Horizontal Padding
    • Py : Vertical Padding
    • ContentAlign : Align the content inside the Box i.e. Center, Left and…
  • random

GitHub logo Delta456 / random

An all purpose random library written in V.


An all purpose random library written in V.


  • All variate functions possible.
  • Generate random int and string with ease.
  • range functions for int and f32.
  • Array functions like shuffle, choose, sample etc.
  • Makes life easier sorta
  • Many more features coming soon!


  • Via git clone
    • git clone
  • Via v install
    • v install random
  • Via vpkg
    • vpkg install random


// struct for `triangular()`
struct Triangular {
        low  f32 = 1.0
        high f32 = 1.0
        mode int = 1

// struct for `int_range()`
struct IntRange {
        start int
        stop  int
        step  int = 1

// struct for `float_range()`
struct FloatRange {
        start f32
        stop  f32
        step  f32 = 1.0

// normal_variate is the normal distribution where mu is the 
// mean, and stigma is the standard deviation
fn normal_variate(mu, stigma f32) f32

// expo_variate is the expovariate distribution
Enter fullscreen mode Exit fullscreen mode
  • CLI Badges

GitHub logo Delta456 / cli_badges

Generate Badges for your CLI written in πŸ¦• Deno and TS

CLI Badges

Generate Badges for your CLI.

deno land deno version GitHub release CI

NOTE: It is recommended to update pre-exisiting versions of this module to ^v0.1.0 as there are many breaking changes from this release in the API.


  • Make Beautiful Badges for CLI 🀩
  • Works across all terminals πŸ¦„
  • Link support πŸ”—
  • Variety of colors to choose from 🎨
  • Written in TS with Deno πŸ¦•

Warning ⚠️: If your terminal has a custom theme then the colors will blend according to your configuration which can cause unwanted results.


Simple Example

Showcases failed, success and skipped badge on the terminal

import { badge } from "";
console.log(badge("failed", "2", { msgBg: "red" }));

console.log(badge("success", "2", { msgBg: "green" }));

console.log(badge("skipped", "2"
Enter fullscreen mode Exit fullscreen mode
  • range

GitHub logo Delta456 / range

Functionality of Python's range() in V


Functionality of Python's range() in V.


  • a..b in V can only be in increasing order and not in negative order.
  • Lacks inbuilt step which most people need or want.
  • No support for float type.
  • Solution for vlang/v#5944.


  • Make range arrays easily
  • Make ranges for int and f32
  • Positive as well as Negative Support!
  • No need to write the whole for loop! (this maybe slower than the normal one)
  • Use range for functional programming
  • Full Python's range() functionality


  • Via git clone
    • git clone
  • Via v install
    • v install range
  • Via vpkg
    • vpkg install range


  •, stop:value, step:1) makes a range of int with the following parameters:

    • start: start value of the range by default it's 0
    • stop: stop value of the range
    • step: step value of the range by default it's 1
  • range.float(start:0.0, stop:value, step:1.0) makes a range of…

  • ASCII Robot

GitHub logo Delta456 / ascii_robot

ASCII Robot Generator in V

ascii robot

ASCII Robot Generator in V


  • Via git clone
    • git clone
  • Via v install
    • v install ascii_robot
  • Via vpkg
    • vpkg install ascii_robot


  • random_id() returns a random 5 digit hex number in string.

  • generate(string) returns a string optional. string returns random made ASCII bot depending upon the 5 digit number.

  • must_generate(string) is same as generate() but returns an empty string if the hex number provided is not valid.

  • random_robot() returns a random ASCII robot.

In main.v

import delta456.ascii_robot as robot
import rand
fn main() {
    rand.seed([u32(42), 0]) // or use your seeder

    for i := 0; i < 5; i++ {
Enter fullscreen mode Exit fullscreen mode

Bot Types

Total ASCII Robot Types possible:

   _ _,_,_ _
   \( q p )/   
     ]| |[     
    [_| |_]     


Hacktoberfest 2020 Stats


GitHub Stats

stats Dashboard


Hacktoberfest 2020 Swags

swags Badges Earned



I think this will be my last article for now as I have to study for next 1.5 years for preparation! I hope you all liked this article and wish me to achieve more!!

I thank all of the people who I have meet and taught me a lot of things especially people from V Community!!

Happy New Year Eve to All! I hope everyone achieves what they want to :)

Discussion (2)

delta456 profile image
Swastik Baranwal Author

Thank you so much πŸ₯°