- Common Loki Misconfigurations
- Iterating Through a List in Ink
- Debugging Misconfigured Container Networks
- Minimum Viable EC2 in Terraform
- Storylets in Ink
- Interactive Fiction Tooling Overview
- In-Place Resizing for Digitalocean Droplets
- Unity Demonstrates the Importance of FOSS
- Target Labels in Prometheus
- My View of AI is the Same
- Verify DNS Ownership with TXT Records
- Sane Droplet Defaults
- Editing Made Easy with Vim
- Gatsby Gotchas
- Concatinating Default AWS Tags in Terraform
- Easily Updating the Default Github Branch
- Lifetimes in Rust
- Checking for Bad Links
- Maybe TypeScript and React is Bad
- Static Asset Management in React
- Bundler Down Time
- Using React Context for Localization
- JS Implementation of a Sticky Footer
- Custom Aliases
- Trying Out the 7drl Challenge
- Trash Opinions
- Building Your First Program in Rust
- Fixing mongod reports errors related to opening a socket
- Improving Open Source Maintenance
- Technical Interviewing Tips
- Housekeeping Note
- Dynamic Programming Basics
- The Oddity of Naming Conventions in Programming Languages
- An Experiment Using Machine Learning, Part 3
- Debugging with grep
- An Experiment Using Machine Learning, Part 2
- An Experiment Using Machine Learning, Part 1
- The Value of while
- National Day of Civic Hacking
- OpenAI and the Future of Humanity
- Creating a Whiteboard App in Django
- Creating Meaningful, Organized Information
- Towards A Critique of Social Media Feeds
- Setting up Routes in Django
- Developing a Messaging Component for Code for SF
- Dream Stream 2.0
- Keyed Collections in Javascript: Maps and Sets
- Blog Soft Relaunch
- Scraping with Puppeteer
- Looking Ahead to Dream Stream 2.0
- Solving West of Loathing's Soupstock Lode Puzzle
- Installing Ubuntu
- Interview with David Jickling Evaluation
- Compare Text Evaluation
- Dream Stream Evaluation
National Day of Civic Hacking
Yesterday I attended the National Day of Civic Hacking at Code for San Francisco. The National Day of Civic Hacking is an annual event that all of the Code for America brigades participate in.
The ratio of participants compared to available projects to work on was high, so I chose to attend the various workshops that were presented throughout the day rather than try and muscle my way into a project.
The first workshop I attended was the Open Data workshop where we created accounts to access datasf.org/opendata. The most interesting thing to me about the workshop is a fair amount of time was spent learning about some of the quirks of working with the data on the site. The open data movement has thought a lot about what open data should consist of in terms of what machine-readable formats it is available in, and what sort of licensing is permissible for data to be considered “open”. However there is no agreement on what the mechanisms should look like for how people access that data. For example, what sort of language should be used to distinguish between an original data set and a derivative set? As someone simply learning about open data, I’m certainly in no position to judge if that’s an appropriate thing that ought to be standardized, but it did jump out at me while learning to work with an open data resource.
The other workshop I attended covered user centered design. This workshop involved breaking up into groups of about 5 to 7 people, and working together on a hypothetical civic problem to solve while trying to sketch out an idea of what the user is like that would use this solution. This kind of problem solving exercise is interesting when working with a group of strangers. My approach to any creative discussion is to try and find a distinct role I can serve. For example, several of the participants were often going off on tangents, so I decided my role in this discussion was to try and steer people back on topic anytime it seemed like the conversation was heading towards “infinite speculation”. I should clarify that tangents are often valuable when brainstorming since you don’t always know what you want the destination to be, or how you want to get there, but you need to balance that with the real time constraints you are under. This meant that my actual input in terms of how the problem was solved was sparse, but I nonetheless provided an important purpose for the group (making sure we had a solution we could articulate within that limited time frame).
Even though I did not actively work on any of the projects, I did have an opportunity to speak with some of the project leads who I recognized as regulars from the weekly Code for SF nights, and I was able to learn a more about their organizational challenges, which is valuable information for the Project Match app. So despite not having actually written a single line of code for the event, I felt like it was a very productive day, and a good reminder that writing code isn’t the only useful thing someone can do when working in civic tech.