DEV Community

loading...
Cover image for My Review of 2020

My Review of 2020

delta456 profile image Swastik Baranwal ・Updated on ・3 min read

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:

Accomplished

  • My Dev.to 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 README.md 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

go.dev reference godocs.io CI Go Report Card GolangCI GitHub release

Features

  • 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 πŸ‡¬ πŸ‡΄

Installation

 go get github.com/Delta456/box-cli-maker

Usage

In main.go

package main
import "github.com/Delta456/box-cli-maker/v2"
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.

random

An all purpose random library written in V.

Features

  • 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!

Installation

  • Via git clone
    • git clone https://github.com/Delta456/random
  • Via v install
    • v install random
  • Via vpkg
    • vpkg install random

Docs

// struct for `triangular()`
struct Triangular {
mut
        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.

Features

  • 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.

Usage

Simple Example

Showcases failed, success and skipped badge on the terminal

import { badge } from "https://deno.land/x/cli_badges@v0.1.1/mod.ts";
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

range

Functionality of Python's range() in V.

Why

  • 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.

Features

  • 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

Installation

  • Via git clone
    • git clone https://github.com/Delta456/range
  • Via v install
    • v install range
  • Via vpkg
    • vpkg install range

Usage

  • range.int(start:0, 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

Installation:

  • Via git clone
    • git clone https://github.com/Delta456/ascii_robot
  • Via v install
    • v install ascii_robot
  • Via vpkg
    • vpkg install ascii_robot

Usage

  • 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
    println(robot.must_generate('1f35a'))
    for i := 0; i < 5; i++ {
        println(robot.random_robot())
    }
}
Enter fullscreen mode Exit fullscreen mode

Bot Types

Total ASCII Robot Types possible:

   _ _,_,_ _
   \( q p )/   
     \_#_/     
  .==|>o<|==:=L
  '=c|___|     
     ]| |[     
    [_| |_]
…

Hacktoberfest 2020 Stats

stats

GitHub Stats

stats

Dev.to Dashboard

dashboard

Hacktoberfest 2020 Swags

swags

Dev.to Badges Earned

badges

Conclusion

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)

pic
Editor guide
Collapse
arashnrim profile image
Arash

That looks like a solid list of work! Great job on working a lot despite the year it has been. It definitely serves as a good light on you, but it also shows how it may not be as difficult to get started in tech; almost an inspiration, to say!

Good luck on your studies and congratulations on your efforts!

Collapse
delta456 profile image
Swastik Baranwal Author

Thank you so much πŸ₯°