hackr.de hackr logo

die romantische komödie


100daysofcode

Kleine ‘Serie’ die eine Challenge dokumentiert.



1238134471565684736

(im grunde ist derzeit kein schlechter zeitpunkt für diese #100daysofcode challenge, ich committe mich mal semiunverbindlich für 4 pomodoros/tag)

#001 check. hab quasiautopoietischerweise einen rudimentären tracker gebaut, mit dem man sich dabei tracken/loggen kann. (war nicht mal eine schlechte idee, weil man das in einige richtungen ausbauen kann, visualisierung, auth, badges, sync mit firebase, etctrara)

#002 check. hab die trivia app aus DAAwK mit/nachgemacht, eig. gute einführung in navigation inkl. save args, menus und drawer.

#003 check. hab die desert pusher app aus DAAwK mit/nachgemacht, eig. keine schlechte einführung in lifecycles, incl. lifecycle aware observers und components.

#004 check. hab die guess the word app aus DAAwK mit/nachgemacht, eig. keine schlechte einführung in view models, live data und data binding.

#005 check. hab die sleep tracker app aus DAAwK mit/nachgemacht, eig. keine schlechte einführung in room und recycler views, inkl. listadapter, diffutil, wiring von data binding von named lambdas für clicklistener, eher uff aber sicher nützlich.

#006 check. hab die mars real estate app aus DAAwK mit/nachgemacht, eig. keine schlechte einführung in retrofit/moshi und coroutines.

#007 check. hab die dev bytes app aus DAAwK mit/nachgemacht, eig. keine schlechte einführung in repositories mit room und retrofit und workmanager. gute abrundung vom mooc.

#008 check. hab die egg timer app aus AAwK mit/nachgemacht, eig. keine schlechte einführung in notifications, intents, alarmmanager, broadcast receiver. dann login via firebase auth. wirklich easy peasy, wobei die entkopplung von providern die rekoppelung an einen butler erzwingt

#009 check. hab die todo app aus AAwK mit/nachgemacht, eig. keine schlechte einführung ins testing (unit tests, viewmodels, repositories, dependency injection von test doubles. moderat uffig)

#010 check. hab die blur-o-matic app aus workmanager codelab mit/nachgemacht. (eh ok, aber spürbar aus einer nicht ganz frischen java-version umübersetzt)

#011 check. hab das dependency injection/dagger codelab mit/nachgemacht, gegen ende read only. (homöopatisch sicher eh ok, ein bisschen enterprisish) ((nts, bei gelegenheit koin anschauen, das wirkt auf den ersten blick etwas idiomatischer))

#012 check. hab die github, reddit u. cheese apps aus dem paging codelab mit/nachgemacht (eh ok, jedenfalls auch schöne beispiele für den pädagogischen trick von google, zu verstehende sachverhalte in ein möglichst verschlungenes gewirr völlig unnötiger abhängigkeiten einzuweben)

#013 check. hab die custom fan und minipaint apps aus AAwK mit/nachgemacht, eig. eh keine schlechte einführung in custom views, drawing, clipping, usw.

#014 check. hab die property animation und motion layout apps aus AAwK mit/nachgemacht, eig. recht lustig.

#015 check. hab den rest der todo app aus AAwK mit/nachgemacht, eig. keine schlechte einführung ins integration testing (scenarios, espresso, mockito) moderat uffig aber auch irgw. lustig.

#016 check. hab die wander und treasure hunt apps aus AAwK mit/nachgemacht. no sweat einführung in maps, location, geofences, usw. (sehr super eig., umständlich ist nur das handling der permutation aus permissions/android-versions/settings)

#017 check. hab rein ausprobiertechnisch versucht, corona daten zu visualisieren, aber irgw. keine ggplot-ige bibliothek für charts gefunden, am ehesten vl. mpandroidchart oder anychart?

#018 check. ein bisschen refactored (uffig, viel zeit mit einem doofen fehler verbracht)

#019 check. war erwartbarerweise etwas zerhackt, hab die wartezeiten deshalb möglichst sinnvoll mit kotlin koans verbracht.

#020 check. hab begonnen, die checkins vom tracker aus #001 als pomodoros mit custom views zu visualisieren (geht, war aber eher eine mittelgute idee, weil pomodoros eig. keine besonders nützliche abstraktion davon sind)

pt. 2 1245787588214087681

pt. 3 1252988668991754240

pt. 4 1260165351083515904

pt. 5 1267407435771371525

12.03.2020 # http://hackr.de/2020/03/12/1238134471565684736

1245787588214087681

(cont.) #021 brushed up on kotlin syntax pt. 1

#022 check. brushed up on kotlin syntax pt. 2

#023 check. basis für einen single purpose habit tracker.

#024 check. den tracker mit einer custom view und notifications ergänzt.

#025 check. wollte eine art player für die esc songs bauen, aber der exoplayer kann youtube nur, wenn man so eine dash url extrahiert (manuell gehts eig. dann recht schick, aber die expiren und das wurde mir zu blöd) bonuslink: @mauszfabrick’s top 20

#026 check. eine art spartanischen intermittent fasting tracker geschrieben (abt. one track pony dev)

#027 check. mit der webview und okhttp herumgespielt.

#028 check. eine art puritanischen viewer für pinboard geschrieben (dank retrofit und api token für auth kommt man völlig effortless an die bookmarks und notes)

#029 check, das flow/livedata codelab gemacht (flow noch ein bissl wolkig)

#030 check. mit der biometric api herumgespielt.

#031 check. brushed up on kotlin syntax pt. 3 (ot ganz witzig, dass corona, wenn es ein gesellschaftliches type system gäbe, eig. ziemlich gut dem nothing von kotlin entspricht (kann subtype von allem sein, aber als nichts))

#032 check. ein kleines game of life geschrieben #conway

#033 check. eine art sudoku solver geschrieben (brute-force backtracking)

#034 check. eine art 2048 geschrieben.

#035 check. mit der firebase realtime db herumgespielt.

#036 check. herumprobiert, wie sich ggf. web content in eine app integrieren lässt (dabei über jsoup gestolpert, damit lässt sich etwaiger cruft elegant rausfiltern oder parsen)

#037 check. brushed up on algorithms pt. 1

#038 check. ein bissl aufgeräumt.

#039 check. ein bissl mit theming und material herumgespielt.

#040 check. ein bissl mit tensorflow und tf. lite für android herumgespielt (out of my scope, aber in der kochbox variante mit vergleichbarem aufwand einzubetten, playground u crashkurs sind auch ganz witzig, würd ich eig empfehlen

02.04.2020 # http://hackr.de/2020/04/02/1245787588214087681

1252988668991754240

(cont.) #041 check. brushed up on algorithms pt. 2

#042 check. hab begonnen den uralt norvig mooc mit kotlin mit/nachzumachen (eig. lustig, aber auch nicht, weil er mit der syntax von python einfach zu fette hasen aus dem zylinder zaubert)

#043 check. ein bisschen aufgeräumt und refactored.

#044 check. mehr aufgeräumt und refactored.

#045 check. noch mehr aufgeräumt und refactored.

#046 check. ein bisschen mit charts herumgespielt (das einfachste scheint mir zu sein, das ganze in einer webview im huckepack mit der google charts api zu machen)

#047 check. weiter mit charts herumgefriemelt.

#048 check. noch ein bisschen mit tensorflow lite herumgespielt. (ein modell das zumindest auch flat eric erkennt mit teachable machine https://teachablemachine.withgoogle.com generiert)

#049 check. rudimentäre app mit der ich meine hue lampen steuern kann geschrieben.

#050 check. mehr mit der hue api gebastelt.

#051 check. rudimentäre app mit der ich meine fitbit’schen aktivitäten visualisieren kann geschrieben.

#052 check. #051 erweitert.

#053 check. begonnen die daten in einer lokalen room db zu cachen (leider nicht geschafft, die dann zu exportieren und damit ein frisches projekt vorzubefüllen)

#054 check. ein bisschen refactored (retrofit requests von callbacks auf coroutines umgestellt).

#055 check. (versuche, die twitter api mit kotlin vom handy anzusprechen. is this thing on?)

#056 check. (weiter mit der twitter api und listen herumgespielt; listcloning timelines ist eig. ganz unterhaltsam, aber zeittechnisch bräuchten wir dann halt ein quantum universe usw.)

#057 check. (mehr mit listen und favs und filtern herumgespielt. die rate limits sind leider mitunter ein pita)

#058 check. (noch mehr mit input streams, filtern, facetten, sorting und views herumgespielt)

#059 check. eine rudimentäre DSL dafür geschrieben.

#060 check. (zumindest geschafft, die pocket api mit kotlin aus android anzusprechen. wär ja so als read later ableger bisweilen ganz nett, aber die mühen mit oauth sind wohl nicht den saft wert)

22.04.2020 # http://hackr.de/2020/04/22/1252988668991754240

1260165351083515904

(cont.) #061 check. weiter mit link flows zwischen twitter, pinboard, pocket herumgespielt (unterm strich gilt wie bei fast allem: just pick sth. und stick with it. man könnte endlos tunen, aber der inputstream hat ohnehin kein optimum, ohas/ahas wenn überhaupt durch serendipity)

#062 check. ein paar menus und views für #056 gemacht.

#063 check. mit filtern und preferences herumgespielt.

#064 check. noch ein bisschen mit cut-offs und feature crossed sorts herumgespielt.

#065 check. so githubsche identicons eingebaut (geniale heuristik) und ein bisschen mit randomisierung/anonymisierung herumgespielt.

#066 check. mit camerax herumgespielt.

#067 check. brushed up on android basics pt. 1

#068 check. brushed up on android basics pt. 2

#069 check. brushed up on layouts, views und material components.

#070 check. mit chips und chipgroups herumgespielt.

#071 check. brushed up on android basics pt. 3

#072 check. brushed up on android basics pt. 4

#073 check. brushed up on testing.

#074 check. ein bisschen mit sensors herumgespielt.

#075 check. ein bisschen mit transitions und animations herumgespielt.

#076 check. ein bisschen mit widgets herumgespielt.

#077 check. ein bisschen mit wireless controller als interface für android herumgespielt. (geht eig. easy-peasy)

#078 check. ein bisschen mit flow und coroutines herumgespielt.

#079 check. ein bisschen mit event bus herumgespielt.

#080 check. ein bisschen mit rxandroid herumgespielt.

12.05.2020 # http://hackr.de/2020/05/12/1260165351083515904

1267407435771371525

(cont.) #081 check. weiter mit rxjava herumgespielt.

#082 check. diverse verstrickungen.

#083 check. ein bisschen aufgeräumt.

#084 check. weiter herumgeräumt.

#085 check. mit bitmaps herumgespielt.

#086 check. weiter mit room und retrofit mit rxjava herumgespielt (ein unerwartetes rabbit hole)

#087 check. weiter mit observables herumgespielt.

#088 check. auch noch mit rxbinding herumgespielt.

#089 check. ein bisschen plumbing.

#090 check. mehr plumbing, versuch einer dsl.

#091 check. ein bisschen mit sqlite/orm herumgespielt.

#092 check. das hilt codelab gemacht und ein bisschen damit herumgespielt (zumindest die basics viel straighter als dagger)

#093 check. hab den sleep tracker aus #005 mal mit hilt refactored (für tests wird damit tatsächlich einiges einfacher)

#094 check. begonnen beim stream reader aus #056 caching resp. offline einzubauen.

#095 check. das caching auch noch auf room umgestellt (was eine eher blöde idee war, weil es ja überhaupt nichts bringt zehntausende 2nd degree tweets zu destrukturieren, um sie umständlich wieder zu was zusammenzusetzen, an das man eh mit der api kommt usw. ggf. für moment, o.ä)

#096 check. nachmal mit oauth herumpermutiert, immerhin hab ich jetzt einen sauberen infoflow zu twitter ohne workarounds oder externe libs.

#097 check. ein bisschen mit prefetching/workmanager und ui unlaxing herumgespielt.

ravatars

#098 check. unnötig herumgeschraubt (paging ein und wieder ausgebaut)

#099 check. mit facetten und views herumgespielt.

#100 check. transmission complete.

01.06.2020 # http://hackr.de/2020/06/01/1267407435771371525