Archive

All published posts

2469 posts latest post 2026-05-08
Publishing rhythm
Apr 2026 | 47 posts
Just starred kubero [1] by kubero-dev [2]. It’s an exciting project with a lot to offer. A free and self-hosted [3] PaaS alternative to Heroku / Netlify / Coolify / Vercel / Dokku / Portainer running on Kubernetes References: [1]: https://github.com/kubero-dev/kubero [2]: https://github.com/kubero-dev [3]: /self-host/
I’ve been using ruff to lint my python code for quite awhile now, I was pretty early to jump on it after release. Some of my projects have had a nice force-single-line setting and some have not. I dug into the docs and it was not clear what I needed to make it work. [tool.ruff] select = ['I'] # you probably want others as well [tool.ruff.isort] force-single-line = true Turns out I was missing Isort in the select list.
- Astral is doing great things in the python industry. They are disrupting entire categories of tools with extremely fast, easy to use, and feature rich alternatives that make it really hard to keep using the incumbent. So far I am seeing no signs of evil, sometimes with such a disrupter there is some sort of downside that make it hard to want to do the switch. In the interview they even mention things like leaning on lsp so that it works across all editors rather than building out vscode integrations that work for most developers. As a neovim user I greatly apreciate this. Note This post is a thought [1]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: /thoughts/
Playground | ty An in-browser playground for ty, an extremely fast Python type-checker written in Rust. types.ruff.rs [1] ty, has a playground running at types.ruff.rs. You can edit code in there and see what the type checker results would be in browser. This looks good, excited to see it running in my lsp. Here is an example where a Optional may not be defined. [2] Checking for existance before using it resolves the issue. [3] Note This post is a thought [4]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://types.ruff.rs/ [2]: https://dropper.waylonwalker.com/api/file/783e4d9e-8b23-4304-8921-2ae05aebcc8a.webp [3]: https://dropper.waylonwalker.com/api/file/cc28335c-4130-4bf4-829d-0ff39f2aa32d.webp [4]: /thoughts/
I was looking back at my analytics [1] page today and wondered what were my posts about back at the beginning. My blog is managed by markata [2] so I looked at a few ways you could pull those posts up. Turns out it’s pretty simple to do, use the markata map with a filter. from markata import Markata m.map('title, slug, date', filter='date.year==2016', sort='date') Note the filter is python eval that should evaluate to a boolean, all of the attributes of the post are available to filter on. Result # [3] [ ('⭐ jupyterlab jupyterlab', 'jupyterlab-jupyterlab', datetime.date(2016, 12, 13)), ('⭐ nickhould tidy-data-python', 'nickhould-tidy-data-python', datetime.date(2016, 12, 9)), ( '⭐ mikeckennedy write-pythonic-code-demos', 'mikeckennedy-write-pythonic-code-demos', datetime.date(2016, 11, 22) ), ( '⭐ mikeckennedy write-pythonic-code-for-better-data-science-webcast', 'mikeckennedy-write-pythonic-code-for-better-data-science-webcast', datetime.date(2016, 11, 22) ), ('⭐ rajshah4 dlgroup', 'rajshah4-dlgroup', datetime.date(2016, 11, 18)), ('⭐ pandas-dev pandas', 'pandas-dev-pandas', datetime.date(2016, 10, 5)) ] You could use the list command as well right within y...
ty An extremely fast Python type checker, written in Rust. PyPI Β· pypi.org [1] Astral is working on some great things around python, they have created a high standard for python tooling built on rust that works really well, runs fast and covers everything in the space it resides in. ty appears to be their linter coming soon. Note This post is a thought [2]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://pypi.org/project/ty/ [2]: /thoughts/
3D Printable Power Brick Bracket Designer Generate custom 3D printable power brick brackets for your devices. Design and export your own mounting solutions. Bracket Engineer Β· bracket.engineer [1] This is madness that Wes Bos made this with manifold.js and no openscad! Yes, I have these stupid brackets everywhere, yes, I hand model my own brackets. No I don’t do it enough. I don’t like that these model generators like openscad cannot make fillets and chamfers, but I appreciate the heck out of the speed and automation you can make iterations of things. Link to the promo video. https://bsky.app/profile/wesbos.com/post/3lo4h7unk6s2i Note This post is a thought [2]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://bracket.engineer/?width=113.5&height=63&depth=98&bracketThickness=3&ribbingCount=9&ribbingThickness=2.5&holeDiameter=5&holeCount=1&earWidth=17&keyHole=on&color=%2344ff00 [2]: /thoughts/
bracket.engineer [1] by wesbos [2] is a game-changer in its space. Excited to see how it evolves. Generate 3D printable power brick brackets. References: [1]: https://github.com/wesbos/bracket.engineer [2]: https://github.com/wesbos
661: Working Vacations, Ripping Out JavaScript, and Non-US Cloud Service Options What are the non-US cloud services options, falling off the blogging train and trying to get back on, working on vacation, Chris recaps the Alaskan Folk Festival experience, how often do you go bac… ShopTalk Β· shoptalkshow.com [1] Chris hit me where it feels about 10 minutes in. He said he has not been writing on his site as much lately and how hard it is to get back in. He mentions having a baby idea of a post, but then having the thought do you really want to come back from a long break with this! Momentum is a b**** when you got it you cant stop, and when you don’t you can’t stop. Note This post is a thought [2]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://shoptalkshow.com/661/ [2]: /thoughts/
- How is usability and it doing the thing I paid for it to do a selling point?? Any time I’ve touched a windows machine in the past 7 years has felt awkward, I have no idea where things are now, but they look so much worse. Note This post is a thought [1]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: /thoughts/
- How is usability and it doing the thing I paid for it to do a selling point?? Any time I’ve touched a windows machine in the past 7 years has felt awkward, I have no idea where things are now, but they look so much worse. Note This post is a thought [1]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: /thoughts/
A quote from Mark Zuckerberg You also mentioned the whole Chatbot Arena thing, which I think is interesting and points to the challenge around how you do benchmarking. How do you know what models are … Simon Willison’s Weblog Β· simonwillison.net [1] Interesting how confidently he says we can easily go to the top. really makes you wonder what we the normies are leaving on the table by using these general purpose models and what could be achieved with really tuned in models. Could I make an automatic blog tagger more accurately, maybe smaller, maybe tuned so well it runs fine on cpu? Note This post is a thought [2]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://simonwillison.net/2025/May/1/mark-zuckerberg/#atom-everything [2]: /thoughts/
P. Martin Ortiz: Web apps can easily adapt to whatever device you’re on. A single responsive website can run on your desktop, phone, tablet, or even a VR headset. What’s even more, they can be ... Chris Coyier Β· chriscoyier.net [1] The web is everywhere, its the one true write once and run anywhere platform. Millions sunk into browser performance and things like the v8 engine allow us to run our shitty websites anywhere and it still runs good…. most of the time Note This post is a thought [2]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://chriscoyier.net/2025/04/30/12292/ [2]: /thoughts/
Helm - Postiz Documentation Install Postiz using Kubernetes and Helm Postiz Documentation Β· docs.postiz.com [1] I didn’t realize that postiz had a helm chart, I just hand rolled mine based on the compose file they provide. I went from running the compose stack locally to running in my homelab [2] with kubernetes. I am using cnpg rather than a postgres container which I really like the workflow of as far as backup and restore. The one hiccup I ran into was changing the domain from localhost to my homelab domain killed all of my integrations and they needed the redirect url updated. Note This post is a thought [3]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://docs.postiz.com/installation/kubernetes-helm [2]: /homelab/ [3]: /thoughts/

portal-platformer-devlog-1

Here is the current state of my platformer yet to really be named, I want to make something in between hollow knight and portal. Starting # [1] I made one once in make code arcace on a pybadge. It was quick and dirty, but fun to work on. It had the basic of blocks that I could move, blocks i could put a portal onto, and a goal for each level. Some levels you can just walk through and some levels required you to really think about where to place the portal. History # [2] So this version of the game is a least 2 years in the making, I open it every few months give it a day or two and move on. Its mostly something that I work on with my son. He really likes to jump around on projects so its hard to make real progress on something, but we are hitting an age where he is able to come back to projects a little better. All of this is built in python, and mostly before vibe coding [3] was a thing, its mostly me trying to get out ideas as quick as my son is spitting out the the next idea...
2 min read
Check out goose [1] by block [2]. It’s a well-crafted project with great potential. an open source, extensible AI agent that goes beyond code suggestions - install, execute, edit, and test with any LLM References: [1]: https://github.com/block/goose [2]: https://github.com/block
Check out kubernetes-mcp-server [1] by manusa [2]. It’s a well-crafted project with great potential. Model Context Protocol (MCP) server for Kubernetes and OpenShift References: [1]: https://github.com/manusa/kubernetes-mcp-server [2]: https://github.com/manusa
Looking for inspiration? kubernetes-mcp-server [1] by containers [2]. Model Context Protocol (MCP) server for Kubernetes and OpenShift References: [1]: https://github.com/containers/kubernetes-mcp-server [2]: https://github.com/containers
Check out punkpeye [1] and their project awesome-mcp-servers [2]. A collection of MCP servers. References: [1]: https://github.com/punkpeye [2]: https://github.com/punkpeye/awesome-mcp-servers
I’m really excited about any-agent [1], an amazing project by mozilla-ai [2]. It’s worth exploring! A single interface to build and evaluate different agent frameworks References: [1]: https://github.com/mozilla-ai/any-agent [2]: https://github.com/mozilla-ai
Check out dtnewman [1] and their project zev [2]. A simple CLI tool to help you remember terminal commands References: [1]: https://github.com/dtnewman [2]: https://github.com/dtnewman/zev
Looking for inspiration? Reloader [1] by stakater [2]. A Kubernetes controller to watch changes in ConfigMap and Secrets and do rolling upgrades on Pods with their associated Deployment, StatefulSet, DaemonSet and DeploymentConfig – [✩Star] if you’re using it! References: [1]: https://github.com/stakater/Reloader [2]: https://github.com/stakater
I’m impressed by bazzite-arch [1] from ublue-os [2]. A ready-to-game Arch Linux based OCI designed for use exclusively in distrobox. References: [1]: https://github.com/ublue-os/bazzite-arch [2]: https://github.com/ublue-os
ublue-os [1] has done a fantastic job with arch-distrobox [2]. Highly recommend taking a look. An Arch Linux OCI meant for use exclusively in Distrobox References: [1]: https://github.com/ublue-os [2]: https://github.com/ublue-os/arch-distrobox
Check out ReznoRMichael [1] and their project hollow-knight-completion-check [2]. App for reading and analyzing a Hollow Knight save file. Shows what remains to do for full 112% Game Completion, Achievements, Hunter’s Journal, Collectibles, True Completion %. Includes a self-designed Hint system. References: [1]: https://github.com/ReznoRMichael [2]: https://github.com/ReznoRMichael/hollow-knight-completion-check
- This is a wild concept for a slicer, essentially he didn’t even make a slicer just a crazy pre-process and post prossess to cura slicer, deforming the part until it doesn’t have any overhangs, creating a normal planar slice, then undeforming the output from cura. He also mentions that the rapid moved needed modified as well. I’m assuming this is because they are generally long distances and not short, without breaking these long lines up we would still end up wtih a straight line after deform. Note This post is a thought [1]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: /thoughts/
Marp: Markdown Presentation Ecosystem Marp (also known as the Markdown Presentation Ecosystem) provides an intuitive experience for creating beautiful slide decks. You only have to focus on writing your story in a Markdown document. marp.app [1] Intersting markdown presentation tool, Looks very simple. I really like split on --- much better than by h1 or h2. Their theme looks really nice in the screenshots. Note This post is a thought [2]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://marp.app/#get-started [2]: /thoughts/
- How to make an entire clickable without presenting the entire content of the card as the link title. These videos are great, I’ve ran into these types of problems so many times, and definitely did not know about things like isolate to keep the z-index scoped to one element. - isolate - scope z-index inside this element so that it does not leak out. - [.relative [.absolute, inset-0, z-10]] - the inset zero is a modern shorthand for zeroing all sides, top-0, right-0, bottom-0, left-0. Note This post is a thought [1]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: /thoughts/
- This is an absolute banger of a review by prime and Dylan Beetle. I love the similar takes with different perspectives, would really like to see them podcast together, but this one way style interview does really well to cover a lot of issues in open source, rug pulls, version pinning, thankless maintainers, what its like to open source from a large company. Note This post is a thought [1]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: /thoughts/
Perils of Self-Hosting We speak to Kevin and Patricia from Traefik, discuss Alex's recent ZFS snafu and we wonder if the new Chromecasts can match up to the Nvidia Shield. Self-Hosted Β· selfhosted.show [1] Interesting takes on Diun here. I agree that I like to be in control of updates and pinning not to latest. both seemed like they weren’t going to run it because they can look up the latest version. Maybe I need to be less aggressive on keeping things up to date and its a me problem. I just got diun setup and hooked into ntfy, and I kinda like the automated checklist of new images that I can review and update. To be a bit more clear, having control over changes coming in from others, even if I dont care to see the changelog, it is nice to roll out an update, have it in your git [2] history, watch it deploy and work like before, if not roll back and read the changelog. For internal applications I’m down for automated releases like argo image updater give you, this thing has already gone through review, launch the damn thing at least to a dev space. Note This post is a thought [3]. It’s a short note that I make about someone else’s content online #thoughts References: [1]:...
Spring 2025: Self-Hosted Update The one where things plod along dbushell.com Β· dbushell.com [1] Davids blogs always have so many links that send me down new rabbit holes. Interesting that his experience with smart home is turning away, I’ve been somewhat interested for awhile, but never fully pulled the trigger on buying things. I really hope tailscale enshitification does not take off, but really for me, I barely use it even as a homelabber. Idk why, but every other homelabber praises it so much and I just dont find myself using it. Note This post is a thought [2]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://dbushell.com/2025/04/13/self-hosted-update-spring-2025/ [2]: /thoughts/
External Link xeiaso.net [1] xeiaso, has the coolest characters on her blog. Definitely something I’d like to replicate. I really appreciate how each one has its own sprite sheet, and they have conversations with each other. [2] Note This post is a thought [3]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://xeiaso.net/characters/ [2]: https://dropper.waylonwalker.com/api/file/77dd4cb5-4fdb-4d09-8b9b-d9cdd72b2490.webp [3]: /thoughts/

backup distrobox image

Today I’m upgrading my distrobox, but don’t want to end up in a situation where I can’t get anything done becauase I work out of my distrobox. distrobox ls distrobox stop devtainer distrobox create --clone devtainer --name devtainer-20250409 distrobox enter devtainer
GitHub - adrianlopezroche/fdupes: FDUPES is a program for identifying or deleting duplicate files residing within specified directories. FDUPES is a program for identifying or deleting duplicate files residing within specified directories. - adrianlopezroche/fdupes GitHub Β· github.com [1] keeping this in my back pocket for now. I just moved a few TB’s of data in the homelab [2] and I am expecting a lot of duplication to show up. Note This post is a thought [3]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://github.com/adrianlopezroche/fdupes [2]: /homelab/ [3]: /thoughts/
I’m really excited about fdupes [1], an amazing project by adrianlopezroche [2]. It’s worth exploring! FDUPES is a program for identifying or deleting duplicate files residing within specified directories. References: [1]: https://github.com/adrianlopezroche/fdupes [2]: https://github.com/adrianlopezroche
Diun Receive notifications when a Docker image is updated on a Docker registry crazymax.dev [1] Diun, looks like a very interesting tool to monitor for image updates, it does not make any change, it only makes notifications. This feels like an easy start to getting image updates started with low effort, keep git [2] ops, but requires manual updates. I see this as a tool that would be a great start and pair well with automated image updaters to ensure they are working as expected. Note This post is a thought [3]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://crazymax.dev/diun/ [2]: /glossary/git/ [3]: /thoughts/
Keel Kubernetes Operator to automate Helm, DaemonSet, StatefulSet & Deployment updates keel.sh [1] Keel looks interesting, I might give it a try as a simple image updater. I’m unsure if it fits my gitops patterns though. I like to keep everything defined in git [2], I don’t like drift outside of that so Keel might not be the thing I want. Note This post is a thought [3]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://keel.sh/ [2]: /glossary/git/ [3]: /thoughts/

Changing k8s Storage Class - Migration Job

I’m setting up longhorn in my homelab [1], and I ran into an issue where I initially setup some pvcs under longhorn, and later realized that to get longhorn to snapshot and backup I needed to hand edit volumes after the fact or change storage class. I’m all in on gitops so option 1 was not an option. So changing storageclass it is. Now the issue is that you CANNOT mutate storageclass on a provisioned pvc, it is an immutable attribute. Migration Job # [2] This migration job will create a new pvc with the new storageclass and move the data from the old pvc to the new pvc. Existing Pods This migration job will not work if you have a pod using the old pvc. You will need to shutdown the pod and delete it. # old pvc with longhorn storageclass apiVersion: v1 kind: PersistentVolumeClaim metadata: name: site-pvc-longhorn namespace: waylonwalker-com spec: storageClassName: longhorn-backup accessModes: - ReadWriteOnce resources: requests: storage: 5Gi # new pvc with longhorn-ba...
YouTube Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube. youtube.com [1] Damn he makes this easy. I did not know about hx-select. yes there is waste in requesting the entire thing every 5s, but damn that was easy to get life reload. I’ve only done very specific backend endpoints, built pages up from partials, made endpoints for partials. keeping this one in my back pocket. I’m just kind of amazed that he could do this all in html [2] without touching the backend or js, typically things like this require one or the other. Yes js is running, but no other js library I’m aware of lets you do this. Note This post is a thought [3]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://www.youtube.com/watch [2]: /html/ [3]: /thoughts/

homelab drive ids

ls -l /dev/disk/by-id/ Drive Bay 1 ata-ST4000VN008-2DR166_ZDHBZSWZ +β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-+ | [ Power] [ Reset ] | +β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-+ | [ BAY 5 ] 3TB WD30EFRX WMC4N0D3J9R7 ext4 /mnt/sdf4 | +β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-+ | [ BAY 4 ] 14TB EXOS ZTM09R9N zfs main pool mirror /mnt/main | +β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-+ | [ BAY 3 ] 14TB EXOS ZTM0AALS zfs main pool mirror /mnt/main | +β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-+ | [ BAY 2 ] 4TB IRONWOLF ZDHBZV3N zfs tank pool mirror /mnt/tank | +β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-+ | [ BAY 1 ] 4TB IRONWOLF ZDHBZSWZ zfs tank pool mirror /mnt/tank | +β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-+
I recently discovered kubectl.nvim [1] by Ramilito [2], and it’s truly impressive. ⎈ Streamline your Kubernetes management within Neovimβ€”control and monitor your cluster seamlessly, all without leaving your coding environment. References: [1]: https://github.com/Ramilito/kubectl.nvim [2]: https://github.com/Ramilito
Redis configuration Overview of redis.conf, the Redis configuration file Docs Β· redis.io [1] redis has all of their default self documented configs hosted here. You can pull the default redis.conf for any of the major releases. Note This post is a thought [2]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://redis.io/docs/latest/operate/oss_and_stack/management/config/ [2]: /thoughts/
If you’re into interesting projects, don’t miss out on xpipe-webtop [1], created by xpipe-io [2]. A containerized web-based desktop environment for XPipe References: [1]: https://github.com/xpipe-io/xpipe-webtop [2]: https://github.com/xpipe-io
xpipe [1] by xpipe-io [2] is a game-changer in its space. Excited to see how it evolves. Access your entire server infrastructure from your local desktop References: [1]: https://github.com/xpipe-io/xpipe [2]: https://github.com/xpipe-io
Using pbpaste for command substitution keeps sensitive or long URLs out of your shell history. Instead of typing git clone https://github.com/user/repo-with-long-name.git, copy the URL to clipboard and run git clone "$(pbpaste)". This prevents the URL from appearing in ~/.bash_history or ~/.zsh_history. To get pbpaste working on both Xorg and Wayland, add this to your shell config: if [[ $(command -v wl-copy) ]]; then alias pbcopy='wl-copy' pbpaste() { wl-paste; } elif [[ $(command -v xclip) ]]; then alias pbcopy='xclip -selection clipboard' pbpaste() { xclip -selection clipboard -o; } fi The function approach (instead of alias) enables command substitution, while the quotes around $(pbpaste) handle spaces and special characters safely. Now you can use it. git clone "$(pbpaste)" More importantly secrets can stay out of your history. export GITHUB_TOKEN="$(pbpaste)" export AWS_ACCESS_KEY_ID="$(pbpaste)" export AWS_SECRET_ACCESS_KEY="$(pbpaste)" export DATABASE_URL="$(pbpaste)"
hotel_bookings.csv Discover what actually works in AI. Join millions of builders, researchers, and labs evaluating agents, models, and frontier technology through crowdsourced benchmarks, competitions, and hackathons. kaggle.com [1] nice dataset to use for example / test projects. I’m using it to play with duckdb currently. Note This post is a thought [2]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://www.kaggle.com/datasets/ahmedsafwatgb20/hotel-bookingscsv?resource=download [2]: /thoughts/

THPS 1 Downtown Gaps

[1] [2] Previously THPS 1 Skate Park Gaps [3] Big Ass # [4] THPS1-5-BigAss.mp4 [5] Billboard Grind # [6] THPS1-5-BillboardGrind.mp4 [7] BS Gap # [8] THPS1-5-BSGap.mp4 [9] BS Grind # [10] THPS1-5-BSGrind.mp4 [11] Burly Deck Gap # [12] THPS1-5-BurlyDeckGap.mp4 [13] Car Ollie # [14] THPS1-5-CarOllie.mp4 [15] THPS1-5-CarPlant.mp4 [16] Cheesy Deck Gap # [17] THPS1-5-CheesyDeckGap.mp4 [18] Death Grind # [19] THPS1-5-DeathGrind.mp4 [20] Deck Gap # [21] THPS1-5-DeckGap.mp4 [22] Dirty Rail # [23] THPS1-5-DirtyRail.mp4 [24] Glass Gap # [25] THPS1-5-GlassGap.mp4 [26] Kicker Gap # [27] THPS1-5-KickerGap.mp4 [28] Kicker 2 Edge # [29] THPS1-5-Kicker2Edge.mp4 [30] Kicker 2 Street # [31] THPS1-5-Kicker2Street.mp4 [32] Rail 2 Rail # [33] THPS1-5-Rail2Rail.mp4 [34] Roof 2 Roof # [35] THPS1-5-Roof2Roof.mp4 [36] Secret Tunnel Entrance # [37] THPS1-5-SecretTunnelEntrance.mp4 [38] Sucky Room Gap # [39] THPS1-5-SuckyRoomGap.mp4 [40] T 2 T Gap # [41] THPS1-5-T2TGap....