My #100DaysOfCode repo
| Day | What's done | What's learnt & other notes |
|---|---|---|
| 1 | script notifying about new AP posts by e-mail | email sending, feedparser module |
| 2 | script for constructing a social graph in waves | Twitter API, networkx module |
| 3 | AP updater refactoring | Separate logic for email sending and feed parsing |
| 4 | Script that creates GIFs from one image | Pillow module |
| 5 | Youtube video to GIF converter | pytube & moviepy modules |
| 6 | Graph spectral clustering algorithm and VK graph | vk module, new algorithm |
| 7 | Scrabble word finder | exploring itertools |
| 8 | Generators vs lists time comparison | a lot of reading on generators and coroutines |
| 9 | Simple HTML parser script | coroutines in Python |
| 10 | script that asyncio-ronously fetches URLs |
asyncio module and ideas behind it |
| 11 | AP updater Telegram bot | exploring telegram module |
| 12 | Fixes for not-so-asynchronous URL-fetcher from day 11 | aiohttp module |
| 13 | Script to asynchronously download images & comparison to sync | aiofiles module |
| 14 | Script displaying contents of a pandas DataFrame in a widget | ipywidgets module |
| 15 | Script that looks for RSS URLs on an html page | regular expressions, BeautifulSoup |
| 16 | "Hello, world!" from Kotlin (script to check if input value is in the input range) | basic syntax, i/o |
| 17 | Exploring functions in Kotlin & command line arguments | basic syntax, functions |
| 18 | Maps, classes and other stuff in Kotlin | more syntax |
| 19 | "Hello, world!" Android app | basics of Android app structure & layout |
| 20 | Views actions in Kotlin |
a deeper dive into Android app structure |
| 21 | Interaction between Views actions |
a deeper dive into Android app structure |
| 22 | More Kotlin practice | Null safety and constructors |
| 23 | More Kotlin practice | Properties and more constructors |
| 24 | More Kotlin practice | Reading about backing fields |
| 25 | Previous code modified according to the official coding conventions | Kotlin coding conventions |
| 26 | Added more classes and inheritance to the same code file | abstract classes, interfaces, inheritance, extensions, pass-by-value |
| 27 | Updated vk graph with more records, new K-Means class for complex vectors (needs debugging) |
better code style, closer look at numpy |
| 28 | First draft of RSS reader in Kotlin | getting to know IntelliJ and Kotlin(Java) projects |
| 29 | JAR of the first Kotlin project (RSS reader template) | IntelliJ project structure and output |
| 30 | Followed through an NN tutorial notebook | getting to know neural networks |
| 31 | Finished ComplexKMeans | sklearn already has this algorithm, but it was nice to work through it myself |
| 32 | Actual graph clustering attempt | it almost works) |
| 33 | Graph visualization & initial clustering | drawing with networkx |
| 34 | Collected a bigger graph | implemented a new algorithm for graph collection and rolled back to the old one (takes way too long) |
| 35 | Watched O'Reilly Kotlin course | A more in-depth look into Kotlin features |
| 36 | Finished O'Reilly Kotlin course | Java interoperability in Kotlin |
| 37 | Kotlin RSS reader structure | Still need to add HTTP requests and emailing |
| 38 | Fixed existing functions and added dataset creation logic | realized when to add decorators :) |
| 39 | Added dataset | may change later |
| 40 | Fixed dataset creation code and gathered a dataset | will possibly need a re-run |
| 41 | Finished Advanced Kotlin course | infix & inline functions, a bit of coroutines, covariance |
| 42 | Fix graph visualization | add specific function and fix waves labels |
| 43 | Graph construction fixed, new drawing functions | description of waves is now accurate |
| 44 | Refactoring of how I work with graphs | custom Graph class inhertied from nx.Graph and necessary adjustments |
| 45 | A test Gradle project & khttp in RSSReader |
gradle project structure, depndencies and a bit of testing |
| 46 | Added XML parsing to RSSReader | RSS XML parsing |
| 47 | Added KMeans clustering on the dataset | new function has options for clustering algorithms |
| 48 | Added drawing updates | drawing each clustering result & switch to png |
| 49 | Added dataset TSNE visualization | 2d and 3d looks at the data |
| 50 | Added new clustering and drawing updates | DBSCAN algorithm |
| --- | break | --- |
| 51 | Added dataset scaling and cluster information export for profiling | StandardScaler used for the dataset |