This repository is to conclude each step in 2021 with complete details.
This list of topics won't be updated , but the details of each topic will. This may include courses , TODO projects , etc..
I'll be breaking each topic to pieces including:
- Brief introduction about each topic.
- What resources I used to learn this topic.
- Open source projects I've made on this topic.
- Tips,tricks about this topic.
I'll work to finish at least 3/4 of the topics!
This is my final year at university , I could go 4 months without updating because of graduation project and stuff. but when I'm back I'll push my updates through the last month or so.
- Flutter & FFMPEG
- Flutter Redux
- Flutter Bloc
- Python in Flutter
- Testing in Flutter
- Testing in dart
- Flutter Desktop app for linux
- Make a native linux app
- Linux administration course
- Ethical hacking & Penetration testing
- At least 2 VScode extensions. (with articles)
- At least 2 Chrome ( brave ) extensions. (with articles)
- Using Flutter to make chrome extension
- Complete guide of FFMPEG (learning and using it in flutter)
- Mastering streams with Redux in Flutter.
- Mastering streams with Bloc in Flutter
- Complete guide of using python scripts in flutter
- Publish at least 1 flutter application on store.
- Updates on Copia.
- Publish Flutter app on IOS
- Testing in Flutter (Widget testing)
- Testing in Dart.
- FFMPEG reddit
- FFMPEG documentation
- FFMPEG Introduction YT playlist
- FFMEG cheat sheets
- FFMPEG Tutorial slides
- An Introduction to FFmpeg, Timelapse and Fulldome Video Production book
- FFMPEG Complete guide (SUPER USEFUL)
- FFMPEG Book
- Where can I learn ffmpeg?
- Editing multiple videos using FFMPEG
- How to reduce quality of multiple JPEG image files using ffmpeg?
- Use ffmpeg to add text subtitles
FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge.
FFmpeg plugin for Flutter. Supports iOS and Android.
- Worked on a shell script on linux that uses FFMPEG
- Working on FFMPEG rendering videos , audios in Moaref project.
- Right-to-left option for drawtext filter
- _flutterFFmpegConfig.setFontDirectory not working properly until app is restarted
- Design pattern course.
Bought head first design patterns , I'll be implementing design pattern using Dart in this repository.
- Make a native linux app
- Linux administration course
- Flutter Desktop app
- Ethical hacking & Penetration testing
- Publish apps on snapcraft linux
I've started linux basics course which was mandatory at university. The course had a few topics about commands & how OS works in general.
This repo contains all of my scripts I worked on :
- Linux Basic scripts
- Also, an introduction material about linux in general & using command line in the 4GC repo
I got the Linux basics for hackers book in order to increase the skill in linux also to know some security stuff.
Will be practicing basics of linux & Cyber security on Try Hack me
Inserts Vandetta mask
So, Ethical hacking is a structured hacking performed to expose vulnerabilities in a system, using tools and techniques with the organization's' knowledge. Which A white hat is , specializes in penetration testing and in other testing methodologies that ensures the security of an organization's information systems. Ethical hacking is a term meant to imply a broader category than just penetration testing.
Resources :
A penetration test, also known as a pen test, is a simulated cyber attack against your computer system to check for exploitable vulnerabilities. In the context of web application security
-
Built with BuiltWith gives us the right amount of data mixed with intelligence to find prospects that matter. There's not a better tool to gain a competitive edge.
-
Certificate Enter an Identity (Domain Name, Organization Name, etc), a Certificate Fingerprint (SHA-1 or SHA-256)
-
The Harvester theHarvester is a very simple to use, yet powerful and effective tool designed to be used in the early stages of a penetration test or red team engagement. Use it for open source intelligence (OSINT) gathering to help determine a company's external threat landscape on the internet. The tool gathers emails, names, subdomains, IPs and URLs using
In chapter 14 of Linux basics for hackers , The author was talking about cracking a WIFI password ( though it's not the main scope of the book , but was intersting)
*First : *
- Download Kali linux
If you can't download Kali linux for some reason ( I have ubuntu ) , You can download all Kali linux libraries & tools using Katoolin
The main reason is Kali Linux is used by hackers because it is a free OS and has over 600 tools for penetration testing and security analytics. We won't go deep in hacking/Cyber security but it's quite interesting using some of these tools!
Magamo is a desktop application made in Flutter which runs on Android , IOS , MACOS , Linux also Windows. It's a basic white board application which can upload photos and explain or write on it.
- While loop in bash to read a file skips first 2 characters of THIRD Line
- How to upload an iOS app to the app store via command line
Rust is blazingly fast and memory-efficient: with no runtime or garbage collector, it can power performance-critical services, run on embedded devices, and easily integrate with other languages.
- All About Rust
- Rust, WebAssembly, and the future of Serverless by Steve Klabnik
- 12 Things to Help You Learn Rust
- Rust playground
- Official docs
- Publish AR app with unity
Augmented reality (AR) is an interactive experience of a real-world environment where the objects that reside in the real world are enhanced by computer-generated perceptual information, sometimes across multiple sensory modalities, including visual, auditory, haptic, somatosensory and olfactory
Unity is the world’s most popular development platform for creating 2D and 3D multiplatform games and interactive experiences.
With advances in AR technology, these examples are not that different from what might already be available for your smartphone. Augmented reality is, in fact, readily available and being used in a myriad of ways including as Snapchat lenses, in apps that help you find your car in a crowded parking lot, and in variety of shopping apps that let you try on clothes without even leaving home.
Perhaps the most famous example of AR technology is the mobile app Pokemon Go, which was released in 2016 and quickly became an inescapable sensation. In the game, players locate and capture Pokemon characters that pop up in the real world—on your sidewalk, in a fountain, even in your own bathroom.
This is rather different from virtual reality. Virtual reality means computer-generated environments for you to interact with, and be immersed in. Augmented reality (also known as AR), adds to the reality you would ordinarily see rather than replacing it.
-
To get started with AR development, Unity recommends using AR Foundation to create your application for Unity’s supported handheld AR and wearable AR devices.
* Using Unity version < 20 , requires you to configure your gradle version at minimum of gradle 5.6.4
- Is it possible to embed a Unity game into a Flutter app?
- flutter-unity/community On gitter
- Flutter Unity package
- Flutter unity 3D widget for embedding unity in the flutter
100 Techincal article (Posted on Medium , LinkedIn , Leads platform)
- Article 1 : Dirty state — The whole story
- Article 2 : Wild cards?
- Article 3 : Is null safety important?
- Article 4 : Shell scripts in Flutter!
- Article 5 : Dive into automation
- Article 6 :
- Article 7 :
- Article 8 :
- Article 9 :
- Article 10 :
- Article 11 :
- Article 12 :
- Article 13 :
- Article 14 :
- Article 15 :
- Article 16 :
- Article 17 :
- Article 18 :
- Article 19 :
- Article 20 :
- Article 21 :
- Article 22 :
- Article 23 :
- Article 24 :
- Article 25 :
- Article 26 :
- Article 27 :
- Article 28 :
- Article 29 :
- Article 30 :
- Article 31 :
- Article 32 :
- Article 33 :
- Article 34 :
- Article 35 :
- Article 36 :
- Article 37 :
- Article 38 :
- Article 39 :
- Article 40 :
- Article 41 :
- Article 42 :
- Article 43 :
- Article 44 :
- Article 45 :
- Article 46 :
- Article 47 :
- Article 48 :
- Article 49 :
- Article 50 :
- Article 51 :
- Article 52 :
- Article 53 :
- Article 54 :
- Article 55 :
- Article 56 :
- Article 57 :
- Article 58 :
- Article 59 :
- Article 60 :
- Article 61 :
- Article 62 :
- Article 63 :
- Article 64 :
- Article 65 :
- Article 66 :
- Article 67 :
- Article 68 :
- Article 69 :
- Article 70 :
- Article 71 :
- Article 72 :
- Article 73 :
- Article 74 :
- Article 75 :
- Article 76 :
- Article 77 :
- Article 78 :
- Article 79 :
- Article 80 :
- Article 81 :
- Article 82 :
- Article 83 :
- Article 84 :
- Article 85 :
- Article 86 :
- Article 87 :
- Article 88 :
- Article 89 :
- Article 90 :
- Article 91 :
- Article 92 :
- Article 93 :
- Article 94 :
- Article 95 :
- Article 96 :
- Article 97 :
- Article 98 :
- Article 99 :
- Article 100 :
Will make repo for it
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
- The Go Language: What Makes it Different? - Jay McGavren
- GopherCon 2017: Russ Cox - The Future of Go
- Making a python virus
- Learning quick intro about docker , Devops etc..
Each topic in every book can be written & summarized into an article.
- Finishing Clean code book (with explanation on YT).
- Finishing Linux Basics for hackers book.
- Finishing Head first Design Patterns book.
- Finishing Flutter recipes book.
- Finishing Practical flutter book.
- Finishing Think like a programmer
- Complete mastering of Tizen OS
- Publish Samsung gear faces
- JS course.
- TS course.
- Introduction on Flask and its capabilities.
Flask is a micro web framework written in Python. It is classified as a microframework because it does not require particular tools or libraries. It has no database abstraction layer, form validation, or any other components where pre-existing third-party libraries provide common functions. However, Flask supports extensions that can add application features as if they were implemented in Flask itself. Extensions exist for object-relational mappers, form validation, upload handling, various open authentication technologies and several common framework related tools
- Publish Huawei theme
- Publish Huawei watch face
- Publish app on Huwaei store
- A complete git course.
- A complete github course.
Random topics are topics that weren't planned to do.
ADB is a command line tool that lets you communicate with an Android device that is connected over USB, or with an emulator. It allows you to pull data from the device such as application log files, memory usage data, and push and pull applications.This is very useful when doing regression testing, as you can automate the whole process, from pulling the old application from the device to pushing a new application onto the device, and then testing the application itself.
- How to enable usb debugging mode?
- Can We Enable USB Debugging using ADB Command?
- How can I connect to Android with ADB over TCP?
- Create virtual USB tether to ADB over WAN with no initial USB connection
- HOW TO RUN SHELL SCRIPTS ON ANDROID DEVICES
- Android: adbd cannot run as root in production builds
Everyone is used to programs printing out output in a terminal that scrolls as new text appears, but that's not all your can do: your program can color your text, move the cursor up, down, left or right, or clear portions of the screen if you are going to re-print them later. This is what lets programs like Git implement its dynamic progress indicators, and Vim or Bash implement their editors that let you modify already-displayed text without scrolling the terminal.
How to call print() with colorful text to android studio console in flutter
Headless Chrome is shipping in Chrome 59. It's a way to run the Chrome browser in a headless environment. Essentially, running Chrome without chrome! It brings all modern web platform features provided by Chromium and the Blink rendering engine to the command line.
Why is that useful?
A headless browser is a great tool for automated testing and server environments where you don't need a visible UI shell. For example, you may want to run some tests against a real web page, create a PDF of it, or just inspect how the browser renders an URL.
"Used this in scripting screenshots of websites"
A shell script to build fancy DMGs.
You can get YT srt files from video using :"https://www.youtube.com/api/timedtext?&lang=en&v=insert video id"
This is a port of the YoutubeExplode library from C#, most of the functions, doc comments, readme information, is taken from YoutubeExplode repository.
It used to build Youtube Downloader Flutter (A cross-platoform application to download video streams from youtube using this library & flutter)
As a Developer students club lead , GDG member also I thrive become a GDE. I should help the community with every bit of information. This is to track my StackOverFlow answers. There's nothing expected like : answer 1000 questions on something!
Note : Solve whatever problem on any problem solving website. Using Dart , Python3 , C++ , JS & Shell script
Solving in more than 1 platform including : Hacker Rank , Leet code , Code Forces , Code wars , Code signal
In order to keep up the pace in all languages mentioned ,The ideal is that I'd like to give every website a week.
First week : Code wars using dart & Shell.
Second week : Code Forces using Cpp.
Third week : Hacker rank using python.
Fourth week : Leetcode using python.
Problems Solved :
-
Day 1 : Pyramid Array , (Application on List generate)
-
Day 2 : Valid Parentheses , (Application on Lists in dart) , also could be solved using RegExp
-
Day 3 : A Rule of Divisibility by 13 , Solved it using Strings & Lists.
-
Day 4 : Valid Braces , This Kata is similar to the Valid Parentheses Kata. Good practice on Strings. (RegExp is a bonus)
-
Day 5 : Consecutive strings
-
Day 6 : Stop gninnipS My sdroW! (Was Fun)
-
Day 7 : Nut Farm (Impressive algorithm , Also had a new experience using Label in dart)
-
Day 8 : Remove anchor from URL (First training in shell , bit sloppy)
-
Day 9 : Disemvowel Trolls
-
Day 10 : Exes and Ohs
-
Day 11 : Multiply , Even or Odd ( Some easy problems on shell)
-
Day 12 : RGB To Hex Conversion
-
Day 13 : Count the smiley faces!
-
Day 14 : Partition
-
Day 15 : ginortS
-
Day 16 : (Easy) Division in Python ,Complementary DNA
-
Day 17 : (Easy) Hello world in python
-
Day 18 : Growth of a Population , (Easy)Python If-Else
-
Day 19 : Arithmetic Operators
-
Day 20 : Loops , Counting Duplicates , used sets
-
Day 21 : Print Function, Mexican Wave
-
Day 22 : Are they the "same"? , Find the Runner-Up Score!
-
Day 23 : sudoku2 Seems like having a bug in dart test cases , Finding the percentage
-
Day 24 : Let's Echo , Looping and Skipping
-
Day 25 : sWAP cASE
-
Day 26 : A Personalized Echo
-
Day 27 : Text Wrap
-
Day 28 : Looping with Numbers , Input and Output
-
Day 29 : What's Your Name?
-
Day 30 : The World of Numbers
"In shell, * represents all files in the current directory. So, in order to use * as a multiplication operator, we should escape it like *. If we directly use * in expr, we will get error message."
-
Day 31 : isCryptSolution
-
Day 32 :String Split and Join
-
Day 33 :Square(n) Sum
-
Day 34 :Add Two Digits
-
Day 36 :Middle of a Text File
-
Day 37 :Multiples of 3 or 5
-
Day 38 :centuryFromYear , More on Conditionals
-
Day 39 :Comparing Numbers
-
Day 40 :Schrödinger's Boolean (tricky)
-
Day 41 :Cut #1
-
Day 42 :Cut #2
-
Day 43 :Cut #3
-
Day 44 :Cut #4
-
Day 45 :Cut #5
-
Day 46 :Cut #6
-
Day 47 :Cut #7
-
Day 48 :Cut #8
-
Day 49 :Cut #9 (Finished the cut series problems)
-
Day 50 :Head of a Text File #1
-
Day 51 :Head of a Text File #2 , checkPalindrome , Set .add()
-
Day 52 :Count Odd Numbers below n , Find a string
-
Day 53 :Tuples
-
Day 54 :Capitalize!
-
Day 55 :Tail of a Text File #1
-
Day 56 :Tail of a Text File #2
-
Day 57 :Sort Command #1
-
Day 58 :Sort Command #2
-
Day 59 :Mutations
-
Day 60 :Sort Command #3 , Sort Command #4 , Sort Command #5 , 'Sort' command #6
-
Day 61 :'Sort' command #7
-
Day 62 :'Uniq' Command #1
-
Day 63 :'Uniq' Command #2
-
Day 64 :'Uniq' command #3
-
Day 65 :'Uniq' command #4
-
Day 66 :Read in an Array
-
Day 67 :Conditional Statements
-
Day 69 :Get the Middle Character
-
Day 70 :
-
Day 71 :
-
Day 72 :
-
Day 73 :
-
Day 74 :
-
Day 75 :
-
Day 76 :
-
Day 77 :
-
Day 78 :
-
Day 79 :
-
Day 80 :
-
Day 81 :
-
Day 82 :
-
Day 83 :
-
Day 84 :
-
Day 85 :
-
Day 86 :
-
Day 87 :
-
Day 88 :
-
Day 89 :
-
Day 90 :
-
Day 91 :
-
Day 92 :
-
Day 93 :
-
Day 94 :
-
Day 95 :
-
Day 96 :
-
Day 97 :
-
Day 98 :
-
Day 99 :
-
Day 100 :
-
Day 101 :
-
Day 102 :
-
Day 103 :
-
Day 104 :
-
Day 105 :
-
Day 106 :
-
Day 107 :
-
Day 108 :
-
Day 109 :
-
Day 110 :
-
Day 111 :
-
Day 112 :
-
Day 113 :
-
Day 114 :
-
Day 115 :
-
Day 116 :
-
Day 117 :
-
Day 118 :
-
Day 119 :
-
Day 120 :
-
Day 121 :
-
Day 122 :
-
Day 123 :
-
Day 124 :
-
Day 125 :
-
Day 126 :
-
Day 127 :
-
Day 128 :
-
Day 129 :
-
Day 130 :
-
Day 131 :
-
Day 132 :
-
Day 133 :
-
Day 134 :
-
Day 135 :
-
Day 136 :
-
Day 137 :
-
Day 138 :
-
Day 139 :
-
Day 140 :
-
Day 141 :
-
Day 142 :
-
Day 143 :
-
Day 144 :
-
Day 145 :
-
Day 146 :
-
Day 147 :
-
Day 148 :
-
Day 149 :
-
Day 150 :
-
Day 151 :
-
Day 152 :
-
Day 153 :
-
Day 154 :
-
Day 155 :
-
Day 156 :
-
Day 157 :
-
Day 158 :
-
Day 159 :
-
Day 160 :
-
Day 161 :
-
Day 162 :
-
Day 163 :
-
Day 164 :
-
Day 165 :
-
Day 166 :
-
Day 167 :
-
Day 168 :
-
Day 169 :
-
Day 170 :
-
Day 171 :
-
Day 172 :
-
Day 173 :
-
Day 174 :
-
Day 175 :
-
Day 176 :
-
Day 177 :
-
Day 178 :
-
Day 179 :
-
Day 180 :
-
Day 181 :
-
Day 182 :
-
Day 183 :
-
Day 184 :
-
Day 185 :
-
Day 186 :
-
Day 187 :
-
Day 188 :
-
Day 189 :
-
Day 190 :
-
Day 191 :
-
Day 192 :
-
Day 193 :
-
Day 194 :
-
Day 195 :
-
Day 196 :
-
Day 197 :
-
Day 198 :
-
Day 199 :
-
Day 200 :
-
Day 201 :
-
Day 202 :
-
Day 203 :
-
Day 204 :
-
Day 205 :
-
Day 206 :
-
Day 207 :
-
Day 208 :
-
Day 209 :
-
Day 210 :
-
Day 211 :
-
Day 212 :
-
Day 213 :
-
Day 214 :
-
Day 215 :
-
Day 216 :
-
Day 217 :
-
Day 218 :
-
Day 219 :
-
Day 220 :
-
Day 221 :
-
Day 222 :
-
Day 223 :
-
Day 224 :
-
Day 225 :
-
Day 226 :
-
Day 227 :
-
Day 228 :
-
Day 229 :
-
Day 230 :
-
Day 231 :
-
Day 232 :
-
Day 233 :
-
Day 234 :
-
Day 235 :
-
Day 236 :
-
Day 237 :
-
Day 238 :
-
Day 239 :
-
Day 240 :
-
Day 241 :
-
Day 242 :
-
Day 243 :
-
Day 244 :
-
Day 245 :
-
Day 246 :
-
Day 247 :
-
Day 248 :
-
Day 249 :
-
Day 250 :
-
Day 251 :
-
Day 252 :
-
Day 253 :
-
Day 254 :
-
Day 255 :
-
Day 256 :
-
Day 257 :
-
Day 258 :
-
Day 259 :
-
Day 260 :
-
Day 261 :
-
Day 262 :
-
Day 263 :
-
Day 264 :
-
Day 265 :
-
Day 266 :
-
Day 267 :
-
Day 268 :
-
Day 269 :
-
Day 270 :
-
Day 271 :
-
Day 272 :
-
Day 273 :
-
Day 274 :
-
Day 275 :
-
Day 276 :
-
Day 277 :
-
Day 278 :
-
Day 279 :
-
Day 280 :
-
Day 281 :
-
Day 282 :
-
Day 283 :
-
Day 284 :
-
Day 285 :
-
Day 286 :
-
Day 287 :
-
Day 288 :
-
Day 289 :
-
Day 290 :
-
Day 291 :
-
Day 292 :
-
Day 293 :
-
Day 294 :
-
Day 295 :
-
Day 296 :
-
Day 297 :
-
Day 298 :
-
Day 299 :
-
Day 300 :
-
Day 301 :
-
Day 302 :
-
Day 303 :
-
Day 304 :
-
Day 305 :
-
Day 306 :
-
Day 307 :
-
Day 308 :
-
Day 309 :
-
Day 310 :
-
Day 311 :
-
Day 312 :
-
Day 313 :
-
Day 314 :
-
Day 315 :
-
Day 316 :
-
Day 317 :
-
Day 318 :
-
Day 319 :
-
Day 320 :
-
Day 321 :
-
Day 322 :
-
Day 323 :
-
Day 324 :
-
Day 325 :
-
Day 326 :
-
Day 327 :
-
Day 328 :
-
Day 329 :
-
Day 330 :
-
Day 331 :
-
Day 332 :
-
Day 333 :
-
Day 334 :
-
Day 335 :
-
Day 336 :
-
Day 337 :
-
Day 338 :
-
Day 339 :
-
Day 340 :
-
Day 341 :
-
Day 342 :
-
Day 343 :
-
Day 344 :
-
Day 345 :
-
Day 346 :
-
Day 347 :
-
Day 348 :
-
Day 349 :
-
Day 350 :
-
Day 351 :
-
Day 352 :
-
Day 353 :
-
Day 354 :
-
Day 355 :
-
Day 356 :
-
Day 357 :
-
Day 358 :
-
Day 359 :
-
Day 360 :
-
Day 361 :
-
Day 362 :
-
Day 363 :
-
Day 364 :
-
Day 365 :