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 denotingelse
case inmatch
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
andDeno
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
Delta456
/
box-cli-maker
Make Highly Customized Boxes for your CLI
Box CLI Maker 📦
Box CLI Maker is a Highly Customized Terminal Box Creator
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")
}
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
random
An all purpose random library written in V.
Features
- All variate functions possible.
- Generate random
int
andstring
with ease. - range functions for
int
andf32
. - 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
…- CLI Badges
Delta456
/
cli_badges
Generate Badges for your CLI written in 🦕 Deno and TS
CLI Badges
Generate Badges for your CLI.
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"
…- range
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
andf32
- 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 ofint
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
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 asgenerate()
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())
}
}
Bot Types
Total ASCII Robot Types possible:
_ _,_,_ _
\( q p )/
\_#_/
.==|>o<|==:=L
'=c|___|
]| |[
[_| |_]
…Hacktoberfest 2020 Stats
GitHub Stats
Dev.to Dashboard
Hacktoberfest 2020 Swags
Dev.to Badges Earned
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)
Thank you so much 🥰