-
Apprenticeship pattern: Familiar Tools [featuring the Concrete Skills pattern]
Since beginning this undergrad program (really, the CS transfer program at my previous school) and starting my internship, I’ve found myself working in several different environments with several different tools. I’ve been able to scrape by in most of them, but haven’t stuck around with any one of them for long enough to become really…
-
Apprenticeship pattern: Craft over Art
Craft over Art is a pattern I’d like to start keeping in mind as I program. Because every functional specification can be implemented in more ways than any of us can imagine, I tend to think up the one best way that I can imagine how to solve a problem, and then continue solving the…
-
Sprint 3 retrospective
As sprint 3 was a short cleanup sprint, we spent it doing some cleanup on the epics and issues board. During the sprint we were also trying to get a testing CI pipeline running. We ended up finally figuring that out after the technical end of the sprint, but I’ll be talking about that work…
-
Apprenticeship Pattern: Breakable Toys
With the breakable toys pattern, the learner conducts experiments and observes the work of others to improve their own understanding of how to build complex systems. Apprenticeship Patterns suggests a few ways to go about this. You might build a simplification of an existing problem that you’re already facing. By reducing uncontrollable variables or emulating…
-
Sprint 2 Retrospective
One issue our team was having during this sprint was that getting or deleting a guest, after creating the guest, was returning a 404 not found response. We were having a difficult time identifying the cause of this reversion of good behavior, so I learned how to use the git bisect subcommand to find the…
-
Sprint 1 retrospective
For sprint 1, I did insufficient work. The only changes that I ended up contributing are in this commit, which adds a Node script that runs an example unit test on GuestInfoBackend. Before this class, I had not written any JavaScript unit tests, I was not aware of any testing frameworks for the language. I…
-
Apprenticeship Patterns – A review before having read any of the patterns
From the outset, Apprenticeship Patterns by Dave Hoover and Adewale Oshineye demands that you interpret its abstractions. Apprentices are to be seen as those who are learning a craft but not yet spreading it or responsible for the success of their workshop. Craftsmanship is not participation in the historical guild system, but engaging with shared…
-
Some APInions on REST and GraphQL
Whenever you’re new to a thing, a comparative look at different tools can help you understand the problem by learning how each tool approaches a solution. As someone new to consuming and designing APIs for the web, I’m interested in understanding APIs by looking at the difference in approaches of the REST specification and the…
-
Gluing functions together in F#
Often when writing a function, we want it to be generic enough that it can operate in different ways for different inputs. Different languages will provide different ways to do this. Object-oriented solutions might include interfaces and polymorphism. Procedural languages might suggest template specialization or function pointers. I’m going to talk about how functional programming…
-
What’s glued for the goose
Hello there. This is a blog about the sticky things that keep stuff together. Recently I had the chance to reapply a layer of GRUB, which is a kind of glue called a boot loader. When GRUB stays sticky, it will hold your hardware and software mess in a neat little bundle. But when this…