Skip to content

spozun/cerner-32-days-of-code

Repository files navigation

Cerner 2^5 2019

32 days of code, 32 lines or less.

24 Languages:

            Javascript, Python, Html, Go, Lisp, Fortran, Java, Typescript, Ruby,
            LOLCODE, Kotlin, Powershell, Rust, Swift, BrainF, Coffeescript, Ook,
            Haskell, Clojure, C#, Scala, Groovy, PHP, Julia

Day 1 - SetTimeouts.js - Slam multiple setTimeouts into your browser-based Javascript faster!

Day 2 - BuildArray.js - Welcome to "w" an under-engineered and over-engineered way to build an array of sequential integers!

Day 3 - threadedTimer.py - It counts, on a thread.

Day 4 - hijack.js - Don't like someone's function? Just replace it.

Day 5 - timeIt.js - a simple function execution performance timer that can run anywhere.

Day 6 - gitRepoContents.html - this webpage will show you the contents of a user's Git Hub repo, with clickable links. It defaults to this repo!

Day 7 - simpleThreadChannel.go - 3 threads work together to draw boxes, using a Go Thread Channel.

Day 8 - REPL.lisp - a LISP REPL'er written in LISP. And it's only one line!

Day 9 - pointers.fortran - some Fortran! Pointer association to "targets", and it's own address space

Day 10 - NodeExpressHttpServer.js - node server which serves up the contents of the local folder on disk where you ran it from. Useful for hackathons!

Usage > command line: node NodeExpressHttpServer.js
Usage > Browser: http://localhost:3000/

Day 11 - walkFileTree.java - recursively walk a file folder and it's contents, returning the absolute path of all contents.

Day 12 - textHighlighter.ts - node function that highlights all instances of a search term in a body of text on the command line.

"npm install" using textHighlighter-package.json before running this.

Day 13 - codeInjection.rb - playing with Ruby block/yield and eval. Calls a private funtion that should not be callable.

Day 14 - bensProblem.js - My son Ben asked me last night to solve a logic/number problem while I was sitting at my computer, so I said "let's just write a program for that". The problem is to use all digits 1-9 each once so that each row and column in the below shape add up to the same number. There ended up being 96 unique answers.

X X X
    X
    X X X
        X
        X

Day 15 - FAKTOREEL.LOL - It's that LOLCODE calculatin yer FAKTOREELs

Day 16 - personSort.kt - some Kotlin

Day 17 - jira-lookup.ps1 - Uses the JIRA REST api, to do a quick JIRA lookup, then parses out the assignee & summary.

Day 18 - SwaggerSpringMvcController.java - Spring MVC Rest controller, with Swagger annotations!

Day 19 - 10x12_chessboard_architecture.rs - In Rust, initialize the 10x12 chessboard architecture, and the beginnings of find_valid_bishop_moves(), but hit 32 lines and ran out of space. The 10x12 architecture is designed to make finding legal moves very simple mathematically.

Day 20 - chess_bishop.rs - Complete find_valid_bishop_moves function in it's own module, for my rust chess program. Works with chess_main.rs.

Day 21 - fun-swift.swift - Fun with Swift: Optional Chaining, and Tuples.

Day 22 - addition.bf - Actual logic in Brain-F, not just character output. This program adds 2 numbers, which is quite tricky.

Day 23 - some_coffee.coffee - Showing off how succinct coffeescript is. However ES6 pretty much puts them out of business.

Day 24 - engineering_productivity_Ook.Ook - It's OOK! The sound babboons make, and also an esoteric programming langauge!

Day 25 - text-manipulation.hs - Some Haskell String manipulation. Using Strings as arrays of characters to map / sort / filter.

Day 26 - observer.clj - Observer pattern in Clojure

Day 27 - proxy.cs - Proxy in C#

Day 28 - lambdas.scala - anonymous function fun. Almost as fun as Javascript!

Day 29 - ip-checker.groovy - checks for valid IP addresses. Also tried out the star operator.

Day 30 - dependency_injection.php - inject config class into app class

Day 31 - julia.jl - Julia! Running out of languages! Nice language for math and parallel threads

Day 32 - most-obfuscated.js - Hoping to win a sticker with this. You can paste it right into your web browser console and try it out!