UPL Member Blogs https://upl.cs.wisc.edu Aggregated blog posts from UPL members en-us Sun, 04 Jan 2026 00:00:00 +0000 Wed, 07 Jan 2026 01:11:12 +0000 From Rivers Rose Empires https://salm.dev/writing/from-rivers-rose-empires/ No really, where would we be without them? salm.dev Sun, 04 Jan 2026 00:00:00 +0000 https://salm.dev/writing/from-rivers-rose-empires/ A Better Judging Algorithm for the Largest Hackathon in Wisconsin https://ben.enterprises/hackathon-judging Visit post for details. ben.enterprises Blog Mon, 15 Dec 2025 00:00:00 +0000 https://ben.enterprises/hackathon-judging Regular expression matching https://jamesma.dev/2025/regex-matching/ This is a writeup of Leetcode 10. Regular Expression Matching. My motivation for writing this is twofold. The first is that most of the submitted solutions on Leetcode try to be too clever and succinc... James Ma Wed, 10 Dec 2025 00:00:00 +0000 https://jamesma.dev/2025/regex-matching/ It's your fault my laptop knows where I am https://www.amoses.dev/blog/wifi-location/ How dare you Andrew Moses Wed, 19 Nov 2025 00:00:00 +0000 https://www.amoses.dev/blog/wifi-location/ Matrix multiplication tricks on CPU https://jamesma.dev/2025/matmul/ In this post we’ll iteratively improve on multiplying two random 1024 x 1024 float matrices, resulting in a 20x speedup on CPU. We’ll mostly focus on how different mathematical interpretations of... James Ma Mon, 27 Oct 2025 00:00:00 +0000 https://jamesma.dev/2025/matmul/ C++ smart pointers speedrun https://jamesma.dev/2025/smart-pointers/ Raw pointers can be useful when you want to manipulate memory directly, but using them comes with consequences if improperly managed, e.g. if you forget to free a pointer, free a pointer more than onc... James Ma Sat, 04 Oct 2025 00:00:00 +0000 https://jamesma.dev/2025/smart-pointers/ Lvalues, rvalues, and move semantics in C++ https://jamesma.dev/2025/rvalues/ I’ve written a decent amount of C, but never really took the time to understand its internals. In the first of what will hopefully become a series of articles, we will look at lvalues, rvalues, an... James Ma Sun, 31 Aug 2025 00:00:00 +0000 https://jamesma.dev/2025/rvalues/ How to fight the attention economy https://jamesma.dev/2025/attention-economy/ If you’ve ever been to a casino, you’ll notice that there are no clocks, no windows, and no straight angles. Ugly carpet patterns keep your eyes forward as you wander through curved hallways, your... James Ma Sat, 30 Aug 2025 00:00:00 +0000 https://jamesma.dev/2025/attention-economy/ Adding Mermaid Diagrams to Rehype in Astro (With rehype-mermaid-cli) https://dteather.com/blogs/astro-rehype-mermaid-cli/ Render UML and system design diagrams in Astro using rehype-mermaid-cli. Covers setup, light/dark mode, and comparisons with rehype-mermaid. David Teather Mon, 25 Aug 2025 03:00:00 +0000 https://dteather.com/blogs/astro-rehype-mermaid-cli/ Aspects of an unsophisticated Ponzi scheme https://blackdiamand.github.io/misc/2025/08/24/a-ponzi.html Intro Silicon Valley is home to some of the largest boom and bust cycles. Housing prices are among the highest in the world. Due to laws preventing more dense housing being built though more dense ho... blackdiamand's site Sun, 24 Aug 2025 00:00:00 +0000 https://blackdiamand.github.io/misc/2025/08/24/a-ponzi.html How to Add Live Stats To Your Site https://dteather.com/blogs/how-to-add-live-stats-to-your-site/ Learn how to add live, constantly updating stats from GitHub, YouTube, LinkedIn, and more to your website using APIs, web scraping, and Cloudflare Functions. David Teather Fri, 22 Aug 2025 15:00:00 +0000 https://dteather.com/blogs/how-to-add-live-stats-to-your-site/ Reflections A Year Into My Career https://dteather.com/blogs/reflections-a-year-into-my-career/ A brain dump of lessons, advice, and realizations from my first year as a new grad software engineer. Take what’s useful, ignore the rest. David Teather Thu, 21 Aug 2025 15:00:00 +0000 https://dteather.com/blogs/reflections-a-year-into-my-career/ Brief overview of CPU caching https://jamesma.dev/2025/cpu-caching/ Why caches Over the years, the gap between the throughput of the processor and the throughput of main memory has widened. Programs cannot make use of higher processor speeds or a large number of cores... James Ma Fri, 15 Aug 2025 00:00:00 +0000 https://jamesma.dev/2025/cpu-caching/ Letting Go https://scharenbroch.dev/blog/letting-go/ Most normal people find skydiving frightening, and for good reason1. When you jump out of the plane, you put complete trust in your parachute2. Letting go of the aircraft becomes an act of faith3. Whi... Blog on Lucas's Webpage Sun, 10 Aug 2025 20:19:42 -0500 https://scharenbroch.dev/blog/letting-go/ Attention Span August https://nick.winans.io/blog/attention-span-august/ A month without social media or recommendation algorithms. Nick Winans Thu, 31 Jul 2025 00:00:00 +0000 https://nick.winans.io/blog/attention-span-august/ Building My Perfect Keyboard — The Plan https://nick.winans.io/blog/perfect-keyboard/ Perfecting every part of my Lily58 keyboard. Nick Winans Tue, 29 Jul 2025 00:00:00 +0000 https://nick.winans.io/blog/perfect-keyboard/ Why 99% of GitHub Projects Die (And the 3 Rules That Got Me 2M+ Downloads) https://dteather.com/blogs/why-99-percent-of-github-projects-fail/ Learn the 3 critical rules that separate successful GitHub projects from the 99% that fail. Discover proven strategies that took my TikTokAPI from 0 to 5000 stars and 2M downloads, including search... David Teather Mon, 14 Jul 2025 15:00:00 +0000 https://dteather.com/blogs/why-99-percent-of-github-projects-fail/ Parser combinators for postal addresses https://jamesma.dev/2025/parser-combinators/ A while ago, Tsoding did a stream on parsing JSON with parser combinators. I was curious how hard it would be to use the basic parsers he implemented to create a new parser for U.S. postal addresses.... James Ma Fri, 04 Jul 2025 00:00:00 +0000 https://jamesma.dev/2025/parser-combinators/ Create, Don't Consume https://salm.dev/writing/create-dont-consume/ We're trading long-term fulfillment for short-term dopamine hits, and each trade makes the next one harder to resist. salm.dev Fri, 27 Jun 2025 00:00:00 +0000 https://salm.dev/writing/create-dont-consume/ Attention as a kernel smoothing problem https://jamesma.dev/2025/attention-and-kernel-smoothing/ Reddit discussion This post is about a rarely discussed interpretation of “attention,” the underlying technique behind transformers, which has found its way into everything from natural language p... James Ma Fri, 23 May 2025 00:00:00 +0000 https://jamesma.dev/2025/attention-and-kernel-smoothing/ Winning Pokemon Showdown https://salm.dev/writing/winning-pokemon-showdown/ We used game theory to find the mathematically optimal strategies in Pokémon Showdown battles. salm.dev Sun, 11 May 2025 00:00:00 +0000 https://salm.dev/writing/winning-pokemon-showdown/ Automating keyword extraction and ranking to enhance a resume https://mdberkey.github.io/blog/automating-keyword-extraction-and-ranking-to-enhance-a-resume/ TL;DR I extracted keywords from job descriptions with Gemini and created a Python script to rank them to enhance my friend's resume. I spent some time this past week helping a friend update their res... Michael Berkey Tue, 29 Apr 2025 00:00:00 +0000 https://mdberkey.github.io/blog/automating-keyword-extraction-and-ranking-to-enhance-a-resume/ I Made a Million Dollar Product from My Dorm Room https://nick.winans.io/blog/nice-nano/ The story of the nicenano; a wireless Pro Micro-compatible microcontroller board I made in my freshman year of college. Nick Winans Sun, 23 Mar 2025 00:00:00 +0000 https://nick.winans.io/blog/nice-nano/ Combining Futures and Options in Scala https://jamesma.dev/2025/future-options-scala/ In Scala, two interesting concepts you’ll often work with are Futures and Options. A Future is an abstraction for some value that might not be available yet. An Option abstracts over the possibility... James Ma Wed, 19 Mar 2025 00:00:00 +0000 https://jamesma.dev/2025/future-options-scala/ How and Why I made this website https://mdberkey.github.io/blog/how-and-why-i-made-this-website/ TL;DR I made this website using Zola to discuss my work/interests. People kept asking, so I thought I'd make my first post to answer their questions. Why make a personal website? I wanted a place to... Michael Berkey Sun, 16 Mar 2025 00:00:00 +0000 https://mdberkey.github.io/blog/how-and-why-i-made-this-website/ eCommerce Automations https://nick.winans.io/blog/ecommerce-automations/ Sharing my Shopify store's automations after 3 years of optimization Nick Winans Sun, 23 Feb 2025 00:00:00 +0000 https://nick.winans.io/blog/ecommerce-automations/ Configuring external storage devices for Jellyfin https://jamesma.dev/2025/jellyfin-guide/ This post serves as a personal guide to running a Jellyfin server locally using an external hard drive. The following assumes: Debian GNU/Linux 12 I’m using a Raspberry Pi 4 External hard drive ... James Ma Sat, 15 Feb 2025 00:00:00 +0000 https://jamesma.dev/2025/jellyfin-guide/ Adding Giscus Discussions to Astro https://dteather.com/blogs/adding-giscus-discussions-to-astro/ Discover how to integrate Giscus discussions into your Astro blog. Learn to boost engagement with interactive comments, effortless moderation, and theme customization. David Teather Tue, 11 Feb 2025 03:00:00 +0000 https://dteather.com/blogs/adding-giscus-discussions-to-astro/ InkLink https://nick.winans.io/blog/ink-link/ Real-time Collaborative E-Paper Canvas Nick Winans Sun, 26 Jan 2025 00:00:00 +0000 https://nick.winans.io/blog/ink-link/ Learning the NATO phonetic alphabet with the Web Speech API https://www.amoses.dev/blog/nato-alphabet/ and they told me "video games can't teach you anything" Andrew Moses Sun, 29 Dec 2024 00:00:00 +0000 https://www.amoses.dev/blog/nato-alphabet/ List of WISCERS 2024 Faculty Mentors https://www.noguera.dev/blog/2024/12/09/list-of-wiscers-2024-faculty-mentors/ I participated in Wisconsin Science and Computing Emerging Research Stars WISCERS as part of the 2022-23 cohort and really enjoyed the experience. Even if you’re uncertain, you should definetly ap... Blog on Michael Noguera Mon, 09 Dec 2024 00:00:00 +0000 https://www.noguera.dev/blog/2024/12/09/list-of-wiscers-2024-faculty-mentors/ Obligatory Meta First Post About Creating This Blog https://ben.enterprises/hello-blog Visit post for details. ben.enterprises Blog Sun, 24 Nov 2024 00:00:00 +0000 https://ben.enterprises/hello-blog Adding Interactive Charts to Astro https://dteather.com/blogs/astro-interactive-charts/ Learn how to add interactive data visualizations to your Astro site using Apex Charts. This guide includes setup steps, customization tips, and code examples to help you bring your data to life with i... David Teather Wed, 30 Oct 2024 03:00:00 +0000 https://dteather.com/blogs/astro-interactive-charts/ Types and Programming Languages https://scharenbroch.dev/blog/types-and-programming-languages/ “Types and Programming Languages” T&PLs is a relatively-esoteric1 textbook about type theory. The professor2 of my college PLs class3 has an old webpage that recommends this book: If you are ser... Blog on Lucas's Webpage Sat, 19 Oct 2024 15:39:51 -0500 https://scharenbroch.dev/blog/types-and-programming-languages/ Revamping the UPL's people counter https://www.amoses.dev/blog/upl-people-counter/ who knew figuring out the lab's occupancy would be so much work? Andrew Moses Mon, 14 Oct 2024 00:00:00 +0000 https://www.amoses.dev/blog/upl-people-counter/ Git Cheatsheet Prime https://scharenbroch.dev/blog/git-cheatsheet-prime/ I’m an enthusiast and daily user of git’s command line interface 1. While GUIs offer advantages in visualization and intuition2, they greatly fall short in power3, concision, and extensibility. Li... Blog on Lucas's Webpage Sun, 13 Oct 2024 12:32:05 -0500 https://scharenbroch.dev/blog/git-cheatsheet-prime/ Command Line Productivity https://salm.dev/writing/command-line-productivity/ I describe my minimal, focused, keyboard-centric workflow where I do my best work. In other words: I shill Vim. salm.dev Thu, 10 Oct 2024 00:00:00 +0000 https://salm.dev/writing/command-line-productivity/ Adding UML Diagrams to Rehype in Astro (With rehype-mermaid) https://dteather.com/blogs/astro-uml-diagrams/ Learn how to add and style UML diagrams in your Astro project using Rehype and Mermaid.js. This step-by-step guide covers setup, customization for dark mode, and image support, making it perfect for s... David Teather Mon, 07 Oct 2024 03:00:00 +0000 https://dteather.com/blogs/astro-uml-diagrams/ Problems and Solutions to Long term Prediction Markets https://blackdiamand.github.io/2024/09/02/longterm-markets.html Long term forecasting and prediction markets If you were to visit Manifold about a year ago, you would have noticed a market that claimed AI had a 30% chance of wiping out humanity before 2030 or a 4%... blackdiamand's site Mon, 02 Sep 2024 00:00:00 +0000 https://blackdiamand.github.io/2024/09/02/longterm-markets.html On Competitive Programming https://scharenbroch.dev/blog/on-competitive-programming/ What is Competitive Programming? “Competitive Programming” by its name encompasses all programming done in competitive nature. This post will specifically focus on and use the term “competiti... Blog on Lucas's Webpage Sat, 31 Aug 2024 15:05:45 -0500 https://scharenbroch.dev/blog/on-competitive-programming/ Fueling the Fire https://scharenbroch.dev/blog/fueling-the-fire/ Intro Motivation, though often overlooked, is arguably the strongest influence on a developer’s1 productivity. While skills, obstacles, and environments define the challenges we face, motivation def... Blog on Lucas's Webpage Fri, 30 Aug 2024 11:30:04 -0500 https://scharenbroch.dev/blog/fueling-the-fire/ Is Web Scraping Ethical? https://dteather.com/blogs/is-web-scraping-ethical/ Web scraping: a tool for innovation or a threat to privacy? Dive into the ethical gray areas of data extraction and explore the real-world impacts on research, competition, and personal privacy. David Teather Fri, 23 Aug 2024 03:00:00 +0000 https://dteather.com/blogs/is-web-scraping-ethical/ Programming Paradigms https://scharenbroch.dev/blog/programming-paradigms/ Ideas and Code Writing code is a never-ending battle to translate abstract ideas into formal instructions. This translation is lossy by nature: by making our ideas concrete, we are forced to face thei... Blog on Lucas's Webpage Sun, 11 Aug 2024 10:03:14 -0600 https://scharenbroch.dev/blog/programming-paradigms/ Adding an Astro Search Bar https://dteather.com/blogs/astro-search-bar/ Enhance your Astro-built website with a powerful, locally-powered search bar Join David Teather as he guides you through adding a custom search feature using astro-pagefind. This blog includes easy-t... David Teather Fri, 26 Jul 2024 17:00:00 +0000 https://dteather.com/blogs/astro-search-bar/ Astro Optimized Images With Markdown https://dteather.com/blogs/astro-optimized-images/ Learn how to optimize images using Astro with Markdown in this detailed guide by David Teather. Discover step-by-step instructions on moving images for better web performance and reducing load times,... David Teather Fri, 26 Jul 2024 15:00:00 +0000 https://dteather.com/blogs/astro-optimized-images/ Hacking Is Necessary https://scharenbroch.dev/blog/hacking-is-necessary/ Note: this isn’t a security post: “hacking” here means “unclean coding”, i.e. “I quickly hacked together a shell script as a temporary fix to the issue”. Sorry, cybersecurity enthusiasts... Blog on Lucas's Webpage Wed, 26 Jun 2024 10:06:46 -0500 https://scharenbroch.dev/blog/hacking-is-necessary/ Design Patterns https://scharenbroch.dev/blog/design-patterns/ All Hail The Object Design Patterns is a classic book from the 90s that centers around low-level OOP idioms. While I’m sometimes quick to criticize OOP1, I still think there’s a lot of utility in... Blog on Lucas's Webpage Thu, 30 May 2024 11:33:05 -0500 https://scharenbroch.dev/blog/design-patterns/ Punching Through the Board https://scharenbroch.dev/blog/punching-through-the-board/ In my youth, I practiced Tae-Kwon-Do1. I had very little talent, but I still learned many valuable lessons. Few of those lessons were directly related to computer programming, but I have a knack for d... Blog on Lucas's Webpage Fri, 24 May 2024 15:05:29 -0500 https://scharenbroch.dev/blog/punching-through-the-board/ The Power of the Commit https://scharenbroch.dev/blog/the-power-of-the-commit/ I don’t know of a developer who doesn’t appreciate version control. The undo-on-steroids it provides is convenient and invaluable. But there’s a much more subtle aspect of version control perha... Blog on Lucas's Webpage Fri, 17 May 2024 07:47:11 -0500 https://scharenbroch.dev/blog/the-power-of-the-commit/ Rewriting a Toy Compiler https://scharenbroch.dev/blog/rewriting-a-toy-compiler/ I’ve written a lot of posts glorifying functional programming lately, but they tend to be abstract and hypothetical. They roughly amount to “ADTs, higher-order-functions, and immutability are usua... Blog on Lucas's Webpage Wed, 15 May 2024 07:59:41 -0500 https://scharenbroch.dev/blog/rewriting-a-toy-compiler/ The Breadth-Depth Phase Shift https://scharenbroch.dev/blog/the-breadth-depth-phase-shift/ Learning computer science is a lot like forming an n-dimensional1 snowball. Beginning is tough, because you must start from nothing; the snowball begins as a tiny clump, and is prone to crumbling. Eve... Blog on Lucas's Webpage Sun, 05 May 2024 08:20:04 -0500 https://scharenbroch.dev/blog/the-breadth-depth-phase-shift/ IMC Prosperity 2 https://dteather.com/blogs/imc-prosperity-2/ Join David Teather in his compelling account of competing in the IMC Prosperity 2 competition. This blog post covers his journey through the stages of virtual asset trading, from algorithmic to manual... David Teather Fri, 03 May 2024 15:00:00 +0000 https://dteather.com/blogs/imc-prosperity-2/ Computers Are Magic https://scharenbroch.dev/blog/computers-are-magic/ Disclaimer: This post is unapologetically romantic. When people ask me why I’ve chosen CS over other majors/careers, I usually respond something along the lines of: “Computers have interested me s... Blog on Lucas's Webpage Tue, 30 Apr 2024 08:47:56 -0500 https://scharenbroch.dev/blog/computers-are-magic/ My UW Madison Course Tier List https://dteather.com/blogs/madison-class-rankings/ I'm about to graduate from UW Madison and I thought I'd share my thoughts on the classes that I've taken. I'm a Computer Science major with a certificate in Entrepreneurship. Hopefully this can help y... David Teather Thu, 25 Apr 2024 15:00:00 +0000 https://dteather.com/blogs/madison-class-rankings/ Code Without Fear https://scharenbroch.dev/blog/code-without-fear/ Programming is hard. It’s hard to work with tools, to formulate ideas into code, and to make that code work. As developers, we are inevitably forced to manage many responsibilities at once, more tha... Blog on Lucas's Webpage Sun, 21 Apr 2024 10:28:06 -0500 https://scharenbroch.dev/blog/code-without-fear/ Pushing Random Buttons https://scharenbroch.dev/blog/pushing-random-buttons/ Before I discovered programming, a lot of my time around computers was spent becoming intimately familiar with the software I used on a daily basis. I became a master of Microsoft Power-Point transiti... Blog on Lucas's Webpage Mon, 01 Apr 2024 18:46:54 -0500 https://scharenbroch.dev/blog/pushing-random-buttons/ Why Haskell is a Great Language https://scharenbroch.dev/blog/why-haskell-is-a-great-language/ No, this is not an April Fools’ Day joke. I’m currently taking a class on programming languages as a part of my CS degree at UW. The class briefly touches on Haskell, and somebody posted the follo... Blog on Lucas's Webpage Mon, 01 Apr 2024 15:35:59 -0500 https://scharenbroch.dev/blog/why-haskell-is-a-great-language/ Speedrunning College https://scharenbroch.dev/blog/speedrunning-college/ A few decades ago, universities were the only place where it was possible for students to use and learn about computers; now it’s possible to teach yourself the entire curriculum without leaving you... Blog on Lucas's Webpage Fri, 29 Mar 2024 09:10:05 -0600 https://scharenbroch.dev/blog/speedrunning-college/ Create The World's Simplest Trading Bot, For Free! https://blackdiamand.github.io/trading/2024/03/26/bot-guide-simple.html Create your own trading bot This is an unofficial guide and not created by Manifold If you notice something doesn’t work, report it on Discord, in the api-and-bots channel. You are responsible fo... blackdiamand's site Tue, 26 Mar 2024 00:00:00 +0000 https://blackdiamand.github.io/trading/2024/03/26/bot-guide-simple.html Functional Refactoring: Wordle https://scharenbroch.dev/blog/functional-refactoring-wordle/ Functional programming FP has an odd status among developers. It is1 simultaneously loved and feared. I suspect most programmers would agree that maps and folds are useful, but concepts like immutab... Blog on Lucas's Webpage Sun, 17 Mar 2024 09:17:24 -0500 https://scharenbroch.dev/blog/functional-refactoring-wordle/ GitHub Field Day NYC 2024 Organizer https://dteather.com/blogs/github-fieldday-nyc-2024/ I had the pleasure of helping organize GitHub Field Day NYC 2024, and it took a lot of planning and coordination to make it happen. I had a lot of fun at the event and wanted to detail some of the thi... David Teather Fri, 15 Mar 2024 15:00:00 +0000 https://dteather.com/blogs/github-fieldday-nyc-2024/ Lazy vs Eager Learning https://scharenbroch.dev/blog/lazy-vs-eager-learning/ There are a lot of opinions about the “best ways” to learn programming on the internet, but they’re usually some combination of the following: “Just write code” “learn by doing” Learn... Blog on Lucas's Webpage Wed, 13 Mar 2024 09:53:10 -0500 https://scharenbroch.dev/blog/lazy-vs-eager-learning/ Monads https://scharenbroch.dev/blog/monads/ Monads are data types1 that expose methods for chaining, typically for the sake of abstracting state. More concretely, a monad is a type m where there exist the two2 functions: class Monad m where ... Blog on Lucas's Webpage Wed, 06 Mar 2024 07:34:10 -0600 https://scharenbroch.dev/blog/monads/ Battlecode 2024 Finalist https://dteather.com/blogs/battlecode24/ I was dragged into Battlecode 2024 by one of our teammates. I had never heard of Battlecode before, but I was excited to try it out. I had a lot of fun and I'm glad I did it, and we ended up qualifyin... David Teather Sun, 28 Jan 2024 15:00:00 +0000 https://dteather.com/blogs/battlecode24/ APL Tutorial https://scharenbroch.dev/blog/apl-tutorial/ I’ve been working on writing an APL Interpreter recently. Understanding the language is a prerequisite to writing an interpreter, and I’m pretty sure I’ve got it figured out, but I figure it’s... Blog on Lucas's Webpage Mon, 27 Nov 2023 09:07:11 -0600 https://scharenbroch.dev/blog/apl-tutorial/ Organizing MadHacks Fall 2023 Reflections https://dteather.com/blogs/madhacks-fall-23/ David Teather's reflections on organizing MadHacks Fall 2023, a 24-hour hackathon at the University of Wisconsin-Madison, and the lessons learned from the experience. David Teather Sat, 11 Nov 2023 15:00:00 +0000 https://dteather.com/blogs/madhacks-fall-23/ Every Vim Binding I Know https://scharenbroch.dev/blog/vim-bindings/ I love vim. It makes editing text fast and fun. The learning-curve is admittedly steep, however, and the return-on-investment for seeking new bindings looks too much like the reciprocal function. I ha... Blog on Lucas's Webpage Sun, 01 Oct 2023 08:58:26 -0500 https://scharenbroch.dev/blog/vim-bindings/ Implicit Recursion https://scharenbroch.dev/blog/implicit-recursion/ I recently started learning Haskell, and I came across a structure in the language that really made me think: Currying. Consider a function called “add” that takes two integers and returns an inte... Blog on Lucas's Webpage Tue, 05 Sep 2023 14:21:16 -0500 https://scharenbroch.dev/blog/implicit-recursion/ Why I Use Vim https://scharenbroch.dev/blog/vim/ The Vim Lecture I was initially hesitant to write a post about Vim, because most of what I have to say about it has already been said somewhere on the internet1. My mind was recently changed when, in... Blog on Lucas's Webpage Sun, 13 Aug 2023 00:00:00 +0000 https://scharenbroch.dev/blog/vim/ Effective Anki Cards https://scharenbroch.dev/blog/effective-anki-cards/ TL;DR: long cards are bad; short cards are good. The TL;DR says it all, but I want to elaborate on how I fell into the trap of making bad cards. I have no excuse for not knowing what good cards look l... Blog on Lucas's Webpage Sat, 08 Jul 2023 19:35:55 -0500 https://scharenbroch.dev/blog/effective-anki-cards/ Leetcode: 4 Types of Problems https://scharenbroch.dev/blog/leetcode-4-types-of-problems/ What and Why Leetcode is a popular platform for studying DSA Data Structures and Algorithms, especially for coding/technical interviews, competitive programming, and education in general. It offers... Blog on Lucas's Webpage Tue, 04 Jul 2023 15:03:41 -0500 https://scharenbroch.dev/blog/leetcode-4-types-of-problems/ UW Madison Computer Science https://scharenbroch.dev/blog/uw-madison-computer-science/ I like to plan things out, especially things of high importance. Since college happens to fall into that category, I’ve spent a significant amount of time planning out courses, and I’ve made a hab... Blog on Lucas's Webpage Sat, 01 Jul 2023 17:41:21 -0500 https://scharenbroch.dev/blog/uw-madison-computer-science/ Making My Blog 3x Faster https://nick.winans.io/blog/optimizing-blog-fonts/ Optimizing fonts to slash load times Nick Winans Tue, 27 Jun 2023 00:00:00 +0000 https://nick.winans.io/blog/optimizing-blog-fonts/ Using a Chromebook as a CS Student https://scharenbroch.dev/blog/using-a-chromebook-as-a-cs-student/ There seems to be a notion that owning an expensive computer is necessary to study computer science. While I do think that buying the most expensive notebook at Best-Buy would probably be the most con... Blog on Lucas's Webpage Mon, 26 Jun 2023 18:26:55 -0500 https://scharenbroch.dev/blog/using-a-chromebook-as-a-cs-student/ Alaska's Top Four Primary, Game Theory, and How to Not Campaign in a Ranked Choice Election https://blackdiamand.github.io/alaska/2023/01/06/alaska-game-theory.html How to Not Campaign in a Ranked Choice Election Don’t attack your allies Background Alaska’s new electoral system, adopted by voters in a 2020 referendum, has created some interesting results. In... blackdiamand's site Fri, 06 Jan 2023 00:19:00 +0000 https://blackdiamand.github.io/alaska/2023/01/06/alaska-game-theory.html Exploring the Anshel-Anshel-Goldfeld Key Exchange System https://www.noguera.dev/blog/2022/12/28/exploring-the-anshel-anshel-goldfeld-key-exchange-system/ Final project for CS 642 Information Security at UW-Madison, Fall 2022 sophomore year. Two UPL friends and I implemented the Anshel-Anshel-Goldfeld key exchange protocol and wrote our term paper a... Blog on Michael Noguera Wed, 28 Dec 2022 00:00:00 +0000 https://www.noguera.dev/blog/2022/12/28/exploring-the-anshel-anshel-goldfeld-key-exchange-system/ LINK.social Exposed Users' Sensitive Information & Mass Account Hijacking https://dteather.com/blogs/link-social-exposing-sensitive-personal-information/ Learn how LINK.social exposed sensitive user information, including locations, phone numbers, and birthdays, along with vulnerabilities allowing mass account hijacking. David Teather Thu, 14 Jul 2022 15:00:00 +0000 https://dteather.com/blogs/link-social-exposing-sensitive-personal-information/ A CS Course Map for Incoming UW-Madison Students https://www.noguera.dev/course-map/ Visit post for details. Blog on Michael Noguera Tue, 07 Jun 2022 00:00:00 +0000 https://www.noguera.dev/course-map/ YikYak Is Exposing Millions of User Locations https://dteather.com/blogs/yikyak-is-exposing-user-locations/ Discover how YikYak's exposed GPS coordinates and user IDs put millions at risk. Learn the implications, recommended fixes, and how to protect your privacy. David Teather Mon, 09 May 2022 15:00:00 +0000 https://dteather.com/blogs/yikyak-is-exposing-user-locations/ Exploiting GitHub Actions https://nick.winans.io/blog/exploiting-github-actions/ Finding a way around GitHub's build matrix limits with GitHub Script Nick Winans Thu, 17 Mar 2022 00:00:00 +0000 https://nick.winans.io/blog/exploiting-github-actions/ Hugo Shortcode: License Badges on Code Blocks https://www.noguera.dev/blog/2021/12/22/hugo-shortcode-license-badges-on-code-blocks/ One of my favorite features of the static site generator Hugo is “shortcodes”, which allow you to abstract away chunks of website content and invoke them from your markdown posts. The Hugo communi... Blog on Michael Noguera Wed, 22 Dec 2021 00:00:00 +0000 https://www.noguera.dev/blog/2021/12/22/hugo-shortcode-license-badges-on-code-blocks/ Mysterious Broken Bootloader https://nick.winans.io/blog/zmk-bootloader/ Investigating and fixing the bootloader woes of ZMK Nick Winans Sat, 03 Oct 2020 00:00:00 +0000 https://nick.winans.io/blog/zmk-bootloader/ AP Chem: Spectrophotometric Mixture Analysis https://www.noguera.dev/blog/2020/01/14/ap-chem-spectrophotometric-mixture-analysis/ To determine the composition of a mystery mixture consisting of various types of food coloring, I wrote this program that works with Vernier’s Spectral Analysis software. Blog on Michael Noguera Tue, 14 Jan 2020 00:00:00 +0000 https://www.noguera.dev/blog/2020/01/14/ap-chem-spectrophotometric-mixture-analysis/ Zybooks Autoplay https://www.noguera.dev/blog/2019/10/04/zybooks-autoplay/ Zybooks online textbooks include animated activities that you must watch to completion. This script makes them auto-play at double speed when you load the page. Blog on Michael Noguera Fri, 04 Oct 2019 12:00:44 -0500 https://www.noguera.dev/blog/2019/10/04/zybooks-autoplay/ TJCTF 2019: All The Zips https://www.noguera.dev/blog/2019/04/06/tjctf-2019-all-the-zips/ Forensics - 20 points 140 zips in the zip, all protected by a dictionary word. This was the first zip file challenge that I attempted. Afterwards, I have noticed that almost every CTF competition has... Blog on Michael Noguera Sat, 06 Apr 2019 00:00:00 +0000 https://www.noguera.dev/blog/2019/04/06/tjctf-2019-all-the-zips/ Reverse Engineering the Wisconsin Driver Practice Test https://www.noguera.dev/blog/2019/04/04/reverse-engineering-the-wisconsin-driver-practice-test/ Note from a future me, after I took the test: It’s pretty easy but it tries to trick you. Glance over these questions because they were good to know. The Problem I am currently taking Drivers’ Ed,... Blog on Michael Noguera Thu, 04 Apr 2019 00:00:00 +0000 https://www.noguera.dev/blog/2019/04/04/reverse-engineering-the-wisconsin-driver-practice-test/ Hack This Site: Basic Challenges https://www.noguera.dev/blog/2018/12/03/hack-this-site-basic-challenges/ Basic 1: HTML Comment This level is what we call “The Idiot Test”, if you can’t complete it, don’t give up on learning all you can, but, don’t go begging to someone else for the answer, that... Blog on Michael Noguera Mon, 03 Dec 2018 00:00:00 +0000 https://www.noguera.dev/blog/2018/12/03/hack-this-site-basic-challenges/ How To: Blind SQL Injection, HSCTF 2018: Password https://www.noguera.dev/blog/2018/07/19/how-to-blind-sql-injection-hsctf-2018-password/ Here are some rudimentary notes on how I solved the challenge ‘Password’ for HSCTF 2018. The puzzle gave a mock-up social media website with a login form, and asked that you retrieve Keith’s pas... Blog on Michael Noguera Thu, 19 Jul 2018 00:00:00 +0000 https://www.noguera.dev/blog/2018/07/19/how-to-blind-sql-injection-hsctf-2018-password/ Making backups of hard drives using the bash utility “dd” https://www.noguera.dev/blog/2018/07/18/making-backups-of-hard-drives-using-the-bash-utility-dd/ I had an old corrupted hard drive that I needed to back up so that it could be reused. Blog on Michael Noguera Wed, 18 Jul 2018 00:00:00 +0000 https://www.noguera.dev/blog/2018/07/18/making-backups-of-hard-drives-using-the-bash-utility-dd/