Code Monkey home page Code Monkey logo

Hi there πŸ‘‹! I am Avinash, a curious programmer from India!

Like the h3 header above says, My name is Avinash, I am 18 years old. And I am one curious and interesting programmer. I have been programming (not [just] scripting) since I was around 10 years old (one can say I have over 8 years of experience, unofficially).

It all started when I was first taught HTML (officially), along with some CSS and JavaScript (unofficially taught by my teacher, yes she was a cool teacher 😎) from class 6 to 8 - I know, HTML and CSS aren't programming but markup and styling languages respectively, but JavaScript is (isn't it?) - which piqued my interest in programming. I learnt them as much as I could till class 8, after which in class 9 and 10, I started learning C and C++ on my own.

C++ was what I used to learn and understand Object-Oriented Programming too (and can easily and efficiently implement different Data Structures using classes (with generics too), and write efficient algorithms to process the data held in those structures, all using just the C++ STL). And thanks to C++, and how performant it can be and how much of an optimised code we can write in it, I dug deeper on system architecture and other hardware level stuff and learnt and understood a bit about hardware-level optimizations and how C++ achieves them --
For example, how a small std::vector is generally faster than a small std::list - even for mid-collection insertions and deletions - because of:

  • A vector being array-ish (contiguous blocks of memory, constant-time access of elements just by indices)
  • Indirections being slow (since pointers are used in linked lists)
  • Possible allocation of said vector in CPU data cache and local registers (remember, we are comparing small vectors with small lists, and smaller things may fit in the cache and registers depending on the CPU) for faster access - part of hardware optimization - by the CPU, which also makes shifting of elements for mid-collection insertions/deletions faster than de-referencing of pointers in memory
  • CPU Branch Prediction - again, part of hardware optimization, being ahead by predicting the next 15 to 20 actions based on the past action(s), hence knowing what to do and being faster - which works for contiguous blocks of memory of the same data type, but not for random pointers pointing to different memory locations - which have to be de-referenced first - causing CPU misprediction (pointer indirection being responsible again)

-- Apart from it already being faster than most languages because of it being compiled, statically typed, and it's ability to compile to native bytecode.

Then in class 11 and 12, I chose Computer Science (over Physical Education), in which I was taught about computers, operating systems, different types of languages (and their categories and sub-categories), and mainly, Python 3 and MySQL.
Python being so simple, readable, and hence easy (while less performant, quite the opposite of C++ in most aspects), quickly became one of my favorite languages (the other favorites being, C++ (my favorite-est language) and C# - I'll come to C# in a few seconds I mean words). I do everyday basic automation in Python whenever possible, and write (what I find to be) useful Python libraries (though I may never publish them to PyPI), and Machine Learning, Deep Learning and Artifical Intelligence projects. Apart from Python 3, I also learnt C# on my own in class 11 and 12. And C# is, in my humble opinion, Java, but good (I actually once wrote a thirty-pointer on why C# is much better than Java). It's just too good. And then, knowing JavaScript and C#, I learnt TypeScript. It's the perfect blend of JavaScript and C#.

And as of now, I can write vanilla HTML, CSS, and JS, or ReactJS/TS frontend websites, with Django (Python), Node.js (using the express.js library), or ASP.NET (Core) backend, with MySQL, SQL, MongoDB or PostgreSQL databases. I can also write modern Windows desktop apps (WPF or UWP) in C# (with XAML) and/or C++. And I can quickly write simple Tkinter apps in Python. I can write all these projects with proper version control using Git.

And finally coming to the favorites in the meta part, my favorite code editor is Visual Studio Code (although I use vim 8.2 - and I like vim too - on Arch Linux ARM on my Android phone, and compile and run code using compilers like GCC, G++, Mono C#, and interpreters like Node.js and Python 3 for Arch Linux ARM, due to "hardware insufficiencies"), and IDE is Visual Studio 2022 (it was Visual Studio 2019 until Visual Studio 2022 was released).

To sum it all up, I'm an enthusiastic and a curious learner and a programmer who absolutely loves programming. And a little known secret, I took up CSE not because of the pay or the job opportunities, but because I love programming. I want to work for Google and Microsoft one day, especially the Google search engine, Android OS, Material UI (now Material You), and the Google Assistant areas in Google, and Windows 11, WinUI, Fluent UI, and a few more areas in Microsoft.

Well, this (hopefully) explained about the programmer in me in less than 5 minutes.

Thanks for reading!

Avinash Maddikonda's Projects

100linesofcode icon 100linesofcode

Let's build something productive in less than 100 Lines of Code.

aoc_2023 icon aoc_2023

My solutions for Advent of Code 2023, written in Rust

calculator icon calculator

A dark-themed semi-scientific calculator using Tkinter in Python3.7

colo-rs icon colo-rs

Another Rust crate to deal with colo[-]rs.

ds icon ds

A C library to safely yet efficiently work with UTF-8–encoded, growable dynamic strings.

dsalgos icon dsalgos

A Python library for basic Data Structures and Algorithms

dyepy icon dyepy

A Python module for all colors and related functions

exif-io icon exif-io

A Rust library crate to read and write image EXIF data.

fluentui icon fluentui

Fluent UI web represents a collection of utilities, React components, and web components for building web applications.

memhog icon memhog

A C program to hog given (or all) memory.

notes icon notes

The better text editor for Windows.

ohmymath icon ohmymath

A simple and cool math-based Python 3 program.

rust-either icon rust-either

The enum Either with variants Left and Right is a general purpose sum type with two cases.

rust-itertools icon rust-itertools

Extra iterator adaptors, iterator methods, free functions, and macros.

spotlight-wallpapers-python3 icon spotlight-wallpapers-python3

Just run the program with a few inputs and you have ALL the Windows 10 Spotlight Wallpapers (available on your computer) wherever you want them! You might want to look at the code for any personalizations (modifiable areas have been shown with comments near them).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.