My 100 Days Of Code Challenge
Tags: python, java, webdev, 100daysofcode
Published: 2018-08-14 14:59:40

---
title: My 100 Days Of Code Challenge
published: true
description: 
tags: python,java,webdev,100daysOfCode
---

I have started the [100 days of code challenge](https://www.100daysofcode.com/).
I intend to use this time to check out new languages and frameworks and solve some fun problems.

I will update this post with my logs.

**Aug 13 2018 D0** : Algorithms for calculating number of combinations and generating them in a lexicographical increasing order.
{% link https://dev.to/rrampage/algorithms-generating-combinations-100daysofcode-4o0a %}

**Aug 14 2018 D1** : Working on algorithm for generating all permutations. First I managed to generate all possible `r` repetitions of `n` i.e `n^r`. Next, I read up and wrote code on Heap's algorithm. I am still not sure of the intuition behind the algorithm. Also, it does not generate the permutations in lexicographical increasing order.

**Aug 15 2018 D2** : Learned and implemented an algorithm that generates all permutations in a lexicographical order. It is not as efficient as Heap's algorithm.

**Aug 16 2018 D3** : Stumbled across the game of [Set](https://www.nytimes.com/crosswords/game/set). Wrote a small python script which generates all solutions of any given game.

**Aug 17 2018 D4** : Learning to use [Puppeteer.js](https://pptr.dev/) along with [Google Cloud Functions](https://cloud.google.com/functions). This [dev.to post](https://dev.to/_mertsimsek/to-use-google-cloud-function-as-google-chrome-3e7e) by @_mertsimsek was very useful in getting me started.

**Aug 18 2018 D5** : Read about Gray Codes, an alternative way of ordering binary numbers in TAOCP Vol 4. Wrote a blog post exploring some of their properties and how to generate them.

{%link https://dev.to/rrampage/algorithms-gray-binary-code---a-different-way-of-ordering-numbers-14e3 %}

**Aug 19 2018 D6** : Wrote a script which calculates iterations for [Conway's Game of Life](https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life)

**Aug 20 2018 D7** : Went through some Dynamic programming problems. Staircase problem is a good example of DP.

**Aug 21 2018 D8**: More recursion and DP. Towers of Hanoi and Longest unique sub-string problem.

**Aug 24 2018 D9**: After 2 days break due to travel, got back to C and linked lists. I am working through [Stanford's Linked List problems](http://cslibrary.stanford.edu/105/LinkedListProblems.pdf).

**Aug 25 2018 D10** Working on a Sudoku solver. Made some more progress on the linked list problems from yesterday.

**Aug 26 2018 D11** My sudoku solver can solve easy sudokus from [Code Wars](https://www.codewars.com/kata/sudoku-solver/python)

[Gist](https://gist.github.com/rrampage/ddc6f6fdaa0911493d2edec5cc303271)

**Aug 27 2018 D12** Reading up on back-tracking and n-queens problem.

**Aug 28 2018 D13** Some fun with numpy and pandas and setting up virtualenvs.

**Aug 29 2018 D14** Solved [Run Length Encoding problem](https://www.codewars.com/kata/compress-slash-encode-a-message-with-rle-run-length-encoding/train/python) recursively

**Aug 30 2018 D15** Data visualization using matplotlib in Python

**Aug 31 2018 D16** 1D Cellular Automata in Java

**Sep 1 2018 D17** Solved some regex golf problems

**Sep 2 2018 D18** Played around with TMDB API using Python

**Sep 3 2018 D19** Some interactive graph visualizations using Gephi

**Sep 4 2018 D20** Implemented Tries in Java

**Sep 5 2018 D21** Codewars kata on displaying a Tic-tac-toe board in C

**Sep 6 2018 D22** Dynamic programming - Coin change problem!

**Sep 7 2018 D23** Data cleaning using OpenRefine

**Sep 8 2018 D24** Using SQLite for importing tabular data

**Sep 9 2018 D25** SQLite window functions

**Sep 13 2018 D26** After 3 day break because of job interviews and travel, a simple Python problem on moving 0s to the end of list on [Codewars](https://www.codewars.com/kata/52597aa56021e91c93000cb0)

**Sep 14 2018 D27** Full-text search using SQLite (FTS4 and FTS5 engines)

**Sep 15 2018 D28** n-Queens in Python using backtracking in just 20 lines! Code here: [gist](https://gist.github.com/rrampage/8f7fb7e0a53b1a5ec0161386ded429cc)

**Sep 16 2018 D29** Playing around with D3.js for data visualization

**Sep 17 2018 D30** Creating SVGs of various shapes in HTML. Awesome guide [here](http://svgpocketguide.com/book/)

**Sep 18 2018 D31** Befunge interpreter on [Codewars](https://www.codewars.com/kata/befunge-interpreter/)

**Sep 19 2018 D32** Learned more about JS [Array.reduce](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce)

**Sep 20 2018 D33** Learned more about git branching and detaching from HEAD commit

**Sep 21 2018 D34** Learned to use [sed](http://www.grymoire.com/Unix/Sed.html) [effectively](https://likegeeks.com/sed-linux/)

**Sep 22 2018 D35** [os.walk] in Python is very nifty for crawling the filesystem!

**Sep 23 2018 D36** More d3.js, visualizations using choropleths for maps

**Sep 24 2018 D37** Learned how OOM killer works on Linux. Wrote an article [here](https://dev.to/rrampage/surviving-the-linux-oom-killer-2ki9)

Have started working once again. I am putting this on hiatus till I find more time. Meanwhile, I will continue posting blog posts on my learning.