- 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
Looking Ahead to Dream Stream 2.0
Yesterday Valve revealed the format for the professional competitive Dota scene for the coming year. Most significantly, players will now earn points throughout the year by participating in Valve approved tournaments. As next year’s International tournament approaches invites to the tournament will be assigned to teams based on the cumulative points acquired by players of those teams.
This new point system is an opportunity to further develop Dream Stream. Previously the only metric Dream Stream evaluated was the performance of players in public ranked matches. Now there is a chance to also measure professional players based on their performances at tournaments.
Introducing this new feature will involve a significant rewrite of Dream Stream, and presents several challenges, and open questions about how to proceed forward. I want to discuss those, but first I would like to articulate the goals that I am looking to achieve in pursuing a rewrite.
Goals
Aside from the obvious objective of introducing a new feature to Dream Stream, I see the opportunity to accomplish other objectives I have been interested in for some time.
-
Refactor the code base: Since originally writing the code to Dream Stream, I’ve become better acquainted with the types of data structures you can include in your code, and so this is an opportunity to produce a much more efficient script.
-
Improve the visual layout of the website: I’ve also learned a lot more about frontend design principles since I first wrote Dream Stream, so this is also an opportunity to render a more attractive display.
-
Remove jQuery from code: I’ve learned enough about the mechanics of pure Javascript that relying on jQuery feels unnecessary to me at this point.
Open Questions and Challenges
There are also a lot of problems I am going to have to solve with this rewrite. The most pressing one will be how am I going to collect the data for the points professional players are accumulating? This won’t be totally clear until the conclusion of the first tournament when there are actually players with points to display. How is Valve going to share this data with the public? Will there be a JSON file I can get access to? If not, I will have to scrape the data off their website. The best scraping tool I am familiar with is Nokogiri, a Ruby gem. If that is the case, I may end up writing Dream Stream as a Rails app. Since I’m not as familiar with Ruby as I am Javascript, that could lead to unexpected challenges.