removed old fluff
This commit is contained in:
parent
ece22098ee
commit
74799d0087
@ -1,28 +0,0 @@
|
||||
# About Me sorta
|
||||
## Hello yes
|
||||
|
||||
## Who I am
|
||||
|
||||
I'm a random on the internet that likes to write software and build stuff.
|
||||
I also maintain a crusade against jargon and obtuse language; hence why I avoid.
|
||||
|
||||
## Why does this even exist tho?
|
||||
|
||||
I have no idea.
|
||||
I just know that I like to write about things that might be interesting to me at the time and wanted a somewhat public forum to do it on.
|
||||
In this way I can force myself to not excuse shit phrasing.
|
||||
|
||||
## So like what do you write about?
|
||||
|
||||
lol... oh wait ur serious....
|
||||
Sometimes programming topics, other times I'm doing in gaming and other times something completely random.
|
||||
I suppose my primary goal however is to write about writing software.
|
||||
|
||||
I tend to stick to Python, Rust, Bash, C, and some web-dev things from time to time.
|
||||
|
||||
|
||||
## Things I enjoy
|
||||
|
||||
ez: Programming, bhop, arena fps games.
|
||||
|
||||
_No particular order btw_
|
@ -1,103 +0,0 @@
|
||||
# How this site came to be
|
||||
|
||||
## Tech
|
||||
|
||||
The """"tech-stack"""" for this site is [pandoc](https://pandoc.org/) and a single shell script.
|
||||
Ok, technically there's also the issue about python but really you don't need to use it since the site pages build anyways.
|
||||
|
||||
Yea so here's the shell(bash) script.
|
||||
I'm going to remove any bashisms soon enough but am very lazy so this is the best I got for ya.
|
||||
```
|
||||
#!/bin/bash
|
||||
rootDir='./site/'
|
||||
targetDir='post/'
|
||||
|
||||
post() {
|
||||
echo Building: $1
|
||||
tmp=".swap"
|
||||
full=".fullswap"
|
||||
base=`basename $1`
|
||||
# First build the content of the site
|
||||
pandoc $1 > $tmp
|
||||
# Title, images and tables get added/fixed here
|
||||
sed "s/{TITLE}/<title>${base%.*}<\/title>/g" ./templates/post-header.html > $full
|
||||
cat $tmp ./templates/post-footer.html >> $full
|
||||
sed -i 's/<img/<img class="pure-img"/g;s/<table>/<table class="pure-table">/g' $full
|
||||
|
||||
# Move things to proper directory and cleanup
|
||||
mv $full "$rootDir/$targetDir/${base%.*}.html"
|
||||
rm -f $tmp
|
||||
}
|
||||
|
||||
build_all() {
|
||||
mkdir -p $rootDir/post/ $rootDir/fonts/ $rootDir/img/
|
||||
|
||||
cp style.css "$rootDir"
|
||||
cp prebuild/post/style.css "$rootDir/post/"
|
||||
|
||||
cp fonts/* $rootDir/fonts/
|
||||
|
||||
cp img/ $rootDir/img/ -r
|
||||
mv $rootDir/img/favicon.png $rootDir/
|
||||
|
||||
# Try to get xargs to deal with this ugliness
|
||||
for r in prebuild/*md;do
|
||||
post $r
|
||||
done
|
||||
for p in prebuild/post/*md;do
|
||||
post $p
|
||||
done
|
||||
}
|
||||
|
||||
_help() {
|
||||
echo 'Options:
|
||||
-h show this prompt
|
||||
-p [postDirectory/*] (takes a list of paths to build from)
|
||||
-r build root pages
|
||||
-s copy stylesheets
|
||||
-l run live server'
|
||||
}
|
||||
server() {
|
||||
cd $rootDir
|
||||
echo 'Address: 0.0.0.0:8080'
|
||||
python -m SimpleHTTPServer 8080
|
||||
}
|
||||
|
||||
if [ -z $1 ]
|
||||
then
|
||||
_help
|
||||
exit 0
|
||||
fi
|
||||
|
||||
while getopts ":aslrhp:" opt;do
|
||||
case "$opt" in
|
||||
a)
|
||||
build_all;;
|
||||
s)
|
||||
cp style.css "$rootDir"
|
||||
cp prebuild/post/style.css "$rootDir/$targetDir"
|
||||
exit 0
|
||||
;;
|
||||
r)
|
||||
# Fix targetDir so that it points to the root of the site output
|
||||
targetDir=''
|
||||
post './prebuild/about.md'
|
||||
post './prebuild/links.md'
|
||||
post './prebuild/index.md'
|
||||
exit 0
|
||||
;;
|
||||
p)
|
||||
for file in ${@:2};do
|
||||
post $file
|
||||
done
|
||||
;;
|
||||
h)
|
||||
_help;;
|
||||
l)
|
||||
server;;
|
||||
esac
|
||||
done
|
||||
|
||||
```
|
||||
|
||||
## Story
|
@ -1,55 +0,0 @@
|
||||
# Definitely not a blog
|
||||
## I swear
|
||||
|
||||
## **[Segmented Routes](/post/route2.html)**
|
||||
> _September 13, 2019_ \
|
||||
> tfw -1 time saves everywhere
|
||||
|
||||
## **[A quick Bhop Route showcase](/post/route1.html)**
|
||||
> Time to finally put that speedrunning tag to use
|
||||
|
||||
|
||||
## **[DWM > i3](/post/dwm.html)**
|
||||
> _August 18, 2019_
|
||||
|
||||
> Now DWM is my new best friend
|
||||
|
||||
## **[Rewrites and this site](/post/rewrite.html)**
|
||||
> _May 2, 2019_ \
|
||||
> FeelsGoodMan
|
||||
|
||||
|
||||
## **[Fitting ATX boards in MATX Cases](./post/atx.html)**
|
||||
> _January 10, 2018_ \
|
||||
> pls no boolie cable management
|
||||
|
||||
## **[Wot in tarnation happend to the style](./post/style.html)**
|
||||
> _September 21, 2018_ \
|
||||
> waddu heck man it looks all different \
|
||||
|
||||
## **[Bash is weird sometimes](./post/bash-1.html)**
|
||||
> _July 22, 2018_ \
|
||||
> My terminal experience is gettin really weird... \
|
||||
> More deets coming after this post about that \
|
||||
|
||||
## **[QuteBrowser is /comfy/](./post/qute.html)**
|
||||
> _July 2, 2018_ \
|
||||
> Operating at peak comfy levels captain! \
|
||||
|
||||
## **[First Foray into big Projects](./post/qca1.html)**
|
||||
> _June 25, 2018_ \
|
||||
> Sometimes you just gotta go ham \
|
||||
|
||||
## **[This time for real](./post/open.html)**
|
||||
> _June 18, 2018_ \
|
||||
> terminal commands > gui \
|
||||
> tfw you want to use propritary software but your ideology gets in the way
|
||||
|
||||
## **[Website Construction philosophy](./post/phil.html)**
|
||||
> JS is bloat prove me wrong \
|
||||
> But no Seriously why do so many sites have to load 6000 js scripts and why are half of them obfuscated
|
||||
|
||||
## **[Mapping in Reflex](./post/mapping.html)**
|
||||
> Making maps is hard fam
|
||||
|
||||
|
@ -1,24 +0,0 @@
|
||||
# Contact Links
|
||||
## Generally places to find me online
|
||||
|
||||
### Professional Links/Business inquires
|
||||
|
||||
I would highly prefer that you contact me via email so that I may get to the message in a timely manner. I typically respond within 24 hours but there are no guarantees:
|
||||
|
||||
* email: alejandros714@protonmail.com
|
||||
|
||||
_A quick side note that I am much more active on gitlab than github_
|
||||
|
||||
* Gitlab Account: [https://gitlab.com/shockrahwow](shockrahwow) \
|
||||
* Github Account: [https://github.com/smolltucc](smolltucc) \
|
||||
|
||||
### Social Medias Links
|
||||
|
||||
_List of places to contanct me or find me doing random things in general_
|
||||
|
||||
* [Twitch Channel: shockrahwow](https://twitch.tv/shockrah) \
|
||||
* [Steam Profile](https://steamcommunity.com/id/shockrah) \
|
||||
|
||||
Also I run a small Quake Community dedicated to teaching people about the game to improve and find other people to play with. The game is on steam if you're interested in checking it out ;)
|
||||
|
||||
* [Community website](https://sites.google.com/view/qcacademy/home)
|
@ -1,63 +0,0 @@
|
||||
# Carry On PC - How I crammed a full ATX board into a mATX Case
|
||||
|
||||
I use my PC for... well pretty much everything.
|
||||
Which means if I go somewhere for a few weeks at a time, my PC is coming with me.
|
||||
For a while I used a _Corsair 300r_, which has served me well until now.
|
||||
After looking around for a travel friendly ATX case I realized that there really aren't any.
|
||||
For that reason I would have to find a case that my parts physically fit into, and cram them in somehow.
|
||||
|
||||
## Prepping the case
|
||||
|
||||
To start the case I bought was a [Cooler MasterN200](http://us.coolermaster.com/product/Detail/case/n-series/n200.html).
|
||||
The main parts I had to worry about were as folow in the table:
|
||||
|
||||
|
||||
| Part | Length/Size | Name |
|
||||
|---|---|---|
|
||||
| MotherBoard | ATX | Gigabyte Z97X-UD4H |
|
||||
| CPU Cooler | 6.5in tall | Hyper 212 Evo |
|
||||
| Graphics Card | 10 in long | EVGA 960 2Gb SC Edition |
|
||||
|
||||
After opening the case I saw a few things that had to go.
|
||||
|
||||
![](../img/atx/before.jpg)
|
||||
|
||||
1. Hard Drive bays
|
||||
|
||||
![](../img/atx/hdd.jpg)
|
||||
|
||||
I also took off the front IO panel since I have some plans to make this more flush later on, thus saving space to fit into a carry on bag.
|
||||
|
||||
2. PSU rack holding thingy
|
||||
|
||||
I have no idea what this thing is but it had to go since it wouldn't let my motherboard fit into the case.
|
||||
Luckily there was only a few rivets holding it in to a quick chiseling and they were gone with the rack too.
|
||||
|
||||
![](../img/atx/rack.jpg)
|
||||
|
||||
## Test fitting some things
|
||||
|
||||
First I checked how the motherboard would fit into the case on its own; I was afraid of possibly adjusted the rear I/O sheild hole.
|
||||
|
||||
![](../img/atx/mbtest.jpg)
|
||||
|
||||
Next I fiddled with the psu since fitting it into the case was going to be _really_ akward.
|
||||
It ended up being as weird as I though but ultimately it works and seems to be stable so what you see in the picture is the setup I went with.
|
||||
|
||||
![](../img/atx/psutest.jpg)
|
||||
|
||||
I completely forgot about the hard drives until the end, but it worked out in a _totally not ghetto way_.
|
||||
The 3.5 inc drive is the only one that I _really_ need to worry about for mounting honestly because of two reaons:
|
||||
|
||||
* 1 of the remaining drives is an _SSD_
|
||||
* The other drive is a laptop drive \
|
||||
Which I know still doesn't excuse the mounting but hey it coulnd't really move even if it wanted to.
|
||||
|
||||
![](../img/atx/hddfinal.jpg)
|
||||
|
||||
Hard drives have a little shroud which I made out of some heavy duty duck tape and cardboard.
|
||||
Kinda sketchy but not really since it holds things in a clean position and doesnt rattle at all.
|
||||
|
||||
There's one more ssd that you don't see but its tucked way up in the cd drive bay up top as I dont actually use that bay at all.
|
||||
|
||||
All in all I like how everything turned out as this pc is now ready to be taken anywhere in the US as _carry-on_ luggage!
|
@ -1,34 +0,0 @@
|
||||
# Bash is weird sometimes
|
||||
|
||||
Bash is actually pretty nice but is... weird sometimes. \
|
||||
Take this for instance: `alias v='vim'`
|
||||
This is an actual bind I use daily however if you don't have tab-completion setup for vim you know that tab-completion usually results in:
|
||||
|
||||
> vim myFi\<tab\> \
|
||||
> cd: too many arguments\
|
||||
> bash: cd: too many arguments
|
||||
|
||||
As fun as that is to deal with(_it's not_) apparantly that bind I mentioned earlier fixes this issue completely. \
|
||||
I'm not really sure why that works, but I'm just glad it does.
|
||||
If you've ever needed a way of allowing for tab-completion with vim now you have one. \
|
||||
Just use that alias in your bashrc and you're good to go.
|
||||
|
||||
|
||||
## Rambled guess time
|
||||
|
||||
My guess on how the alias is that bash doesn't try to figure out that you want to use `vim` since you've only typed a single `v` in this case; therefore tab-completion would go unnoticed?\
|
||||
Say you had a directory with files:
|
||||
|
||||
> first \
|
||||
> second \
|
||||
> third
|
||||
|
||||
That would mean if your shell contained `asdf`. You could go to the first character start typing any one of those file names and have bash guess the filename to autocomplete, since it only look backwards for completion.
|
||||
|
||||
### Where be the posts
|
||||
|
||||
Lately I've been working on a translator for html. Similar to how pandoc turns markdown into valid html which lead me onto another issue that I've also taken on since I've not much to do. \
|
||||
Specifically it's looking into _GCC_'s seemingly random behavior with switch cases.
|
||||
Essentially _GCC_ will sometimes create a decision tree for a slightly faster search time through the cases, sometimes create the equivalent of linearly executable code(_like a bunch of if/else's_), and if given the opportunity "_guess_" the correct case on the first check...
|
||||
For that reason I've started diving into it to try and determine what the fug is going with this compiler and what flags, if any can be used to create some more predictable output.
|
||||
Hopefully the research crops up something interesting to think but who knows 🤷.
|
@ -1,18 +0,0 @@
|
||||
# Delivering whole OS's in Gitlab's CI/CD
|
||||
## Way easier than you may think
|
||||
|
||||
Lately I've been trying to learn about deploying things in remote pipelines continuously so I've taken to using Gitlab's own provided CI pipelines to... well _do stuff_.
|
||||
After some bumps in the road I've learned a few things:
|
||||
|
||||
## Setting up docker images isn't that hard
|
||||
|
||||
Maybe it's because I'm not doing _complex things_ or maybe because I've dealt with some awful problems on Debian before but setting up Debian images really aren't hard to setup.
|
||||
The best part is that unlike real full installations they're super easy to just nuke and start fresh over again(assuming you get to that point).
|
||||
Usually however I just tweak the Docker script, re-run and done.
|
||||
|
||||
> Where's the image bro
|
||||
|
||||
Here you go: [dank docker image](https://hub.docker.com/repository/docker/shockrah/osdev-build)
|
||||
|
||||
To save you a click, its a docker image which I use to provide ISO's of my [handwritten operating system](https://gitlab.com/shockrah/jankos).
|
||||
It's nice because now I can easily provide bootable files for people to test the code I've written without having to compile any code!
|
@ -1,38 +0,0 @@
|
||||
# A month in DWM - Moving forward with my setup
|
||||
|
||||
For about a year and half I've been using [i3wm](https://i3wm.org/) as my daily driver under Debian and I've loved it thus far.
|
||||
But after a while it started to get old and I wanted something new without having to distro-hop.
|
||||
|
||||
[DWM](https://dwm.suckless.org/) interested me as its memory usage footprint is tiny compared to i3wm and follows the [suckless philosophy](https://suckless.org/philosophy/) which I found interesting and appreciate more and more.
|
||||
|
||||
## Is it /comfy/?
|
||||
|
||||
Absolutely. I'll let this little clip speak for itself:
|
||||
|
||||
<div style="width: 100%; height: 0px; position: relative; padding-bottom: 28.125%;"><iframe src="https://streamable.com/s/skb0y/tbxohj" frameborder="0" width="100%" height="100%" allowfullscreen style="width: 100%; height: 100%; position: absolute;"></iframe></div>
|
||||
|
||||
Once you get past a couple of hurdles with it things becomes really nice and to be honest have spoiled me to the point where basic tasks in other setups has become painful.
|
||||
_If you're a vim user then you'll know the feeling._
|
||||
|
||||
## Hurdles
|
||||
|
||||
Configuring anything blows. Recompiling things is just dumb and means you have to:
|
||||
|
||||
1. Close everything because you will have to exit DWM + X11
|
||||
2. Exit DWM + X11
|
||||
3. Make changes & recompile
|
||||
4. Test changes
|
||||
5. Tweak changes and go back to step 2
|
||||
|
||||
The splitting is... well it's awful.
|
||||
The idea is neat and on paper makes logical sense but to be honest anything past two windows(sometimes three) is no fun to use and honestly not even that useful in anyways.
|
||||
|
||||
## The /comfy/
|
||||
|
||||
Now that I've messed with things my setup it feels much more personal, though that may be because of the nice backgrounds I now have.
|
||||
The lack of features has sorta grown on me to where I don't care that it doesn't have a bunch of random features and enough docs to fill a book.
|
||||
It displays windows in a neat fashion and is friendly with multiple monitors.
|
||||
|
||||
## Conclusion
|
||||
|
||||
Yea I like it, it's probably going to be my daily driver a while until a port for Wayland comes out since the only thing left to fix is the screen tearing which is no good.
|
@ -1,40 +0,0 @@
|
||||
# Mapping Again
|
||||
|
||||
[Link to the map I discuss here](https://steamcommunity.com/sharedfiles/filedetails/?id=1329660201)
|
||||
|
||||
## FeverStrafe
|
||||
|
||||
To clear up some confusion, _feverStrafe_ is a Reflex Race map I made a few months ago but never got around to finishing due to some issues with time, and motivation. After a few months I came back to see what I had made so far and realized if this was to ever be release worthy it would have to go through a through cleaning.
|
||||
|
||||
## Cleaning Up
|
||||
|
||||
In terms of what needed to be re-done, it seemed that spacing was the main issue so get past. I realized this since most of the map’s spacing seemed to be heavily derived from what CS:Source style spacing which would work there but Reflex is weird in that air control is nowhere near as flexible as in CS:Source. Of course there had to be some kind of method to make the map fun to play and satisfying to speed-run; after deliberation a solution was found.
|
||||
|
||||
### Modifying spacing with casual runs in mind to give competitive runners more room
|
||||
|
||||
The idea here is simple: speed-runners will break the map so instead of worrying about what they might think of it I focus more on casual players, making sure that the map is fun. Simply put, if the map isn’t fun to play normally, there is no chance that it will be fun to run. To make sure that the gameplay was fun I turned to the one type of race map I personally despise, strafe maps.
|
||||
|
||||
> strafe map: mostly flat race map with little variations in gameplay
|
||||
|
||||
A good strafe map is hard to come by, which isn’t because they are hard to make but rather that it must be very clever in its use mechanics to actually be interesting. One of the additional problems strafe maps face is the inherent design of its gameplay, being flat this means that a mapper typically has to come up with some theme or a gameplay gimmick to make it memorable. The good thing about them is that the whole map is available to nearly any kind of player since they are also very easy maps to complete as a player. Making more of _feverStrafe_ available to everyone is exactly what the map needed to feel more complete and flow more easily. The map already had multiple levels, some meant for speed, some technically challenging, others were a mix of both. This meant that instead of changing what gameplay I already had, I simply added easy and hard routes. I kept in mind what the world record runs might look like, and essentially filled in the gaps that most players would probably fall into. To me these maps suffer from nearly the same issue auto-hop maps had (and still do sometimes) in CS:Source. To quote Badges:
|
||||
|
||||
> The map itself pretty much dictates the route and doesn’t allow the player much room to find faster ways around the map, resulting in banal, braindead gameplay. Maps like this aren’t very competitive and result in most of the top times being very similar. bhop_muchfast is a good example of this. Creating maps with more route options by adding more bhop blocks with less space between them will make your map more popular and competitive by allowing newer players to experience them, seasoned players to speedrun them, and normal / scroll players to play them. The top times will have much more variety and every run of the map will be different. bhop_cw_journey, for example.
|
||||
|
||||
[Full quote/post here](https://gamebanana.com/maps/182909)
|
||||
|
||||
For _feverStrafe_ this meant trying to get a balance where the map would be fun to play in general for everyone while providing memorable gameplay. I think after looking at what _feverStrafe_ turned into I can fully say that I am actually somewhat proud of what it is now.
|
||||
|
||||
------
|
||||
|
||||
## After thoughts and future maps
|
||||
|
||||
As a final say to Reflex, I’m only leaving because the game has favored competitive duel for so long that every other gamemode apart from race is nearly dead, even for Reflex’s standards. Because I don't actually play or enjoy duel anymore it means there’s really nothing left to do besides make maps which I can do for any game, so why not one where there’s more going on. Maybe it will get better but it doesn’t seem to be going anywhere, looking at Reflex as a passion project however, it’s doing great and cant’ wait to see what the guys at Pixel come up with.
|
||||
|
||||
_p.s. dubs4lyfe_
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,19 +0,0 @@
|
||||
# All done setting up
|
||||
|
||||
Finally after some struggling with various git clients and learning to use some new tools the source code for this website is finally up and hosted on Gitlab.
|
||||
|
||||
> [Link to website source code](https://gitlab.com/AlejandroS/shockrah-city)\
|
||||
> *tbf i stiill need to work on the bash script to auto build stuff*
|
||||
|
||||
## Now what?
|
||||
This would have gone by more quickly if it wasn't for the fact that I have recently decided to switch off of GitKraken since it uses a proprietary license.
|
||||
The main thing I liked about it was that it made pushing, pulling, and dealing with large branches and merges very easy.
|
||||
After some testing with other git clients I ended up decided that it would be easier to just learn to use the terminal commands which git comes with.
|
||||
|
||||
For now this site will be maintained to journal and document things which interest me so that I can come back to it after some time and maybe use some of what I learn over time.
|
||||
If it grows to be something larger; or at least something with an audience, then I may also do some stuff for the interest of the readers/audience as well, but we'll see in due time where this all goes.
|
||||
|
||||
The next thing for this site is to post some stuff that I never posted for the old one, namely a simple headphone mod and do some stuff with bash scripting.
|
||||
Also maybe some random notes about cool stuff I find.
|
||||
|
||||
_Published: June 18, 2018_
|
@ -1,32 +0,0 @@
|
||||
# No Non-free JS here
|
||||
|
||||
To explain succintly, I don't like Javascript, especially considering how much power it has on a user's browser.
|
||||
Namely the issue being that while it used to mainly be focused around making websites look pretty it now also serves to execute malicious code; luckily I don't think that is too common but that fact alone makes JS for me, something which should be avoided.
|
||||
|
||||
It's JS's non-free abilities which I don't like and is why I am not going to be using it for any of my projects, unless it is a client-side only project where it is running on some local server.
|
||||
|
||||
There are of course a few *tangent* reasons why I decided to fully make the switch from using the Hugo static site generator:
|
||||
|
||||
* Performace
|
||||
|
||||
Loading a bunch of JS/php is rather cumbersome at time which can often be tracked down to the js being obfuscatedpoorly, creating a file which is sometimes hundreds of times larger than normal.
|
||||
I'll show by example - namely using *r-markdown* and then my own technique to make a page with identical content:
|
||||
|
||||
```
|
||||
# This is an example header
|
||||
|
||||
With a small paragraph
|
||||
|
||||
* a
|
||||
|
||||
* List
|
||||
|
||||
> and a quote
|
||||
```
|
||||
|
||||
* Dev time/ Convenience
|
||||
|
||||
To be completely honest I'm reall not interested by web-development much at all, so finding a flow to make creating content easier is just perfect for me. *Also I dont have to deal with running wine/windows or dealing with hundreds of dependencies with __Hugo__.*
|
||||
|
||||
Hopefully this explains some of my thought process behind this site's design, and if you like, check out some of my other stuff that I post here.
|
||||
|
@ -1,60 +0,0 @@
|
||||
# DWM and POP!\_OS
|
||||
|
||||
|
||||
## tl;dr
|
||||
|
||||
Make a `/usr/share/xsessions/dwm.desktop` file with contents listed below and a /comfy/ script.
|
||||
|
||||
## Doing the thing tho
|
||||
|
||||
1. We need a `/usr/share/xsession/dwm.desktop` file. Mine looks like this:
|
||||
|
||||
|
||||
```
|
||||
[Desktop Entry]
|
||||
Name=DWM
|
||||
Comment=This session logs in to DWM
|
||||
Exec=/home/shockrah/Rice/dwm-launcher.sh
|
||||
Type=Application
|
||||
```
|
||||
|
||||
Nothing to crazy its basically a `toml` config with an executable as the entry point of the DE.
|
||||
For reference here's the official Pop OS config:
|
||||
|
||||
```
|
||||
[Desktop Entry]
|
||||
Name=Pop
|
||||
Comment=This session logs you into Pop
|
||||
Exec=env GNOME_SHELL_SESSION_MODE=pop /usr/bin/gnome-session --systemd --session=pop
|
||||
TryExec=/usr/bin/gnome-shell
|
||||
Type=Application
|
||||
DesktopNames=pop:GNOME
|
||||
X-GDM-SessionRegisters=true
|
||||
X-Ubuntu-Gettext-Domain=gnome-session-3.0
|
||||
```
|
||||
|
||||
This time there's more fluff but you can ignore it for the most part(I think).
|
||||
|
||||
2. Now let's look at that script I have have [/home/shockrah/Rice/dwm-launcher.sh]:
|
||||
|
||||
```sh
|
||||
#!/bin/sh
|
||||
# This script is used to mimic an xinitrc to some degree
|
||||
|
||||
set -x
|
||||
eval `ssh-agent`
|
||||
|
||||
compton --backend glx --xrender-sync --xrender-sync-fence -b
|
||||
bright 50 DWM# custom brightness script
|
||||
|
||||
feh --randomize --bg-fill ~/Pictures/Papes/* &
|
||||
|
||||
statline &
|
||||
exec dwm
|
||||
```
|
||||
|
||||
Nothing crazy right? Yeap that's it really to setup DWM with any changes you might have easily with Pop OS.
|
||||
|
||||
In case you're wondering here's what my setup currently looks like:
|
||||
|
||||
![Background Images I found on /wg/](/img/desktop/dwm-pop.png)
|
@ -1,27 +0,0 @@
|
||||
# Quake Champions Academy Back from the Dead
|
||||
|
||||
Finally after nearly a year I've started working on my Quake Chamions Academy project again but this time I have some specific goals in mind besides just, run lots of community events.
|
||||
|
||||
## Some Background First
|
||||
|
||||
Quake Champions Academy is a discord server/community that I set up about a year ago when QC(Quake Champions) went into the open beta with the initial inention of using the server to host 2v2 tournaments every weekend.
|
||||
Of course this was a massive time sink and couldn't really do it every weekend, so eventually had to stop.
|
||||
In the meantime I managed to acrue around 100 or so members to the channel so I figured I would need more reasonable method of keeping people around.
|
||||
This is where I came up with the idea of creating an "Academy" Server where people can come learn about the game and maybe meet some new people in the process.
|
||||
|
||||
|
||||
Ultimately the server died down quite a bit with the game as well but since it went free-to-play for 2 weeks it means that tons of new playesr have been coming in.
|
||||
Since there were so many new players, and people seemed to be actually actually enjoying *playing* the game I saw it as a perfect time to get the old website idea into reality.
|
||||
There was one main problem... the people who can help me is not plentiful and don't know how to use tools like git/HTML/CSS/JS etc etc.
|
||||
So I eventually settled, (*very unwillingly*) on hosting the site on a google site.
|
||||
|
||||
## Hoo boy into the lion's den
|
||||
|
||||
I'm aware of how closed down of a platform sites.google.com really is but honestly I'm also aware of the danger of keeping barrier to enty for contribution unrealistically high for other people.
|
||||
I won't be able to get to open sourcing the site just yet but at some point I will be getting to that, right now it's a matter of turning into a kind of wiki for new players to use as a guide so that they aren't so lost when playing.
|
||||
|
||||
At least for now the site is up, and it's getting useful information uploaded to it, philosophy aside it provides a practical use which I beleive to be of higher precedence at this time than making it free.
|
||||
|
||||
For now if you want to check out the site you can look for it here: \
|
||||
https://sites.google.com/view/qcacademy/home
|
||||
|
@ -1,77 +0,0 @@
|
||||
# A Taste of QuteBrowser
|
||||
|
||||
I finally sat down and started fully using [Qutebrowser](https://www.qutebrowser.org/) and to be honest, it's great.
|
||||
I had tried using it before but I never bothered to learn how to to use it nor did I try to rice it to be liking.
|
||||
However there are two things which came be a pleasant surprise about the browser:
|
||||
|
||||
1. No ricing past basic setup involved for comfortable use
|
||||
2. There were way more /comfy/ reasons to like this over other browsers
|
||||
|
||||
I'm was Chromium user for a while since the adblocking and extension support was ultra convinient for me to take advantage of, and it let's me sync things together across devices, _somthing about being a good goy here_.
|
||||
Say what you want about syncing across devices and """_the cloud_""" but its pretty comfy since everything is setup essentially where-ever you go.
|
||||
In other words Chrome and the like get the good ole' stamp of _werks for me_.
|
||||
|
||||
![](../img/werks.png)
|
||||
|
||||
## Out of the box experience
|
||||
|
||||
Personally the only thing I did was change the default starting page for new windows and new tabs.
|
||||
Which of course is my own personal /comfy/ [start-page](https://gitlab.com/AlejandroS/start-page-tab).
|
||||
After that, there was basically no more setup since most/all of the keybindings are sensible enough to warrant not changing them, _imo_.
|
||||
The only functionality I couldn't figure out at first was escaping out of drop-down menus and/or text-boxes.
|
||||
I did however come up with this:
|
||||
|
||||
```
|
||||
"e":"fake-key <escape>"
|
||||
```
|
||||
Just enter the command `:set` to get to your config page, make the changes you want, like adding the above in your aliases section, then run the command `config-write-py`.
|
||||
If you have to save over an old config file just use `config-write-py --force`.
|
||||
However, even without this the browser is still massively usable and convenient, it's just that you're able to rice the _fug_ out of this but I personally didn't that route.
|
||||
|
||||
Mouse control is just like any other browser I've ever used so there's that too.
|
||||
Text boxes are usually auto-detected by the browser so that you are put into `insert mode` just like in vim.
|
||||
|
||||
Some nice things that I use constantly are the commands below, which don't require command mode:
|
||||
* yy - copies page url to clipboard
|
||||
* wp - opens new window with clipboard contents as url-argument
|
||||
* r - sick refresh
|
||||
* D - deletes tab
|
||||
|
||||
## Main Gripes
|
||||
|
||||
Keep in mind that all of these complaints, _except the last one_ can be mitigated by changing a setting once in your config and forgetting about it forever.
|
||||
Also if you use qutebrowser on multiple machines consider copying that config file over to usb and using that to set yourself up wherever you are.
|
||||
> 'J' move right and 'K' move right along the tab list
|
||||
|
||||
If you look at it as a horizontal list then yes it doesn't make sense. Instead think of the tabs as vertically aligned and the rest should follow suit.
|
||||
|
||||
```
|
||||
---------
|
||||
first
|
||||
---------
|
||||
second
|
||||
---------
|
||||
third
|
||||
---------
|
||||
```
|
||||
Rebinding or just getting used to it are the "_fixes_" for this since it is such a minor coplaint about the out-of-the-box experience.
|
||||
|
||||
> ***Adveritements Everywhere***
|
||||
|
||||
The built-in adblocker is just a host list which means it won't exactly do ~~much~~ anything on most websites.
|
||||
Plugin support is coming soon but for now adblocking is basically non-existant if you browser _any_ modern websites.
|
||||
Hopefully we get a proper ad-blocker in the future that can keep things a bit cleaner like _Adblocker+_ or better yet _Ublock Origin_.
|
||||
|
||||
## Bindings and Defualts mostly
|
||||
|
||||
There are plenty of binds but if you just read the docs then you should be fine.
|
||||
|
||||
[Link to official binding cheat sheet](https://raw.githubusercontent.com/qutebrowser/qutebrowser/master/doc/img/cheatsheet-big.png)
|
||||
|
||||
Just like any program with tons of keyboard shortcuts, it's better to learn whatever you need and progressively learn more commands as you need them.
|
||||
|
||||
## Is it worth it tho?
|
||||
|
||||
Ya. It's a good browser, it's solid and besides a few minor hiccups it's very close to BTFO every other browser out there.
|
||||
If you don't like using keyboard shortcuts, and prefer to use the mouse however, stick to using what you are most comfortable with.
|
||||
In general if you are comfortable with shortcuts and want to support a free privacy-respecting(_as far as I know_) browser; also you can rice it :^).
|
@ -1,54 +0,0 @@
|
||||
# Rewrites
|
||||
## For the sake of rewriting things
|
||||
|
||||
Finally after so long I came back to make this site look a little bit better since I never had a theme in mind.
|
||||
I'm still changing up the theming a bit but this time around it should hopefully be a bit more _modern_.
|
||||
|
||||
Still no non-free javascript tho `\:D/`.
|
||||
In fact at the moment there is literally 0 lines of javascript which actually runs on the site right now.
|
||||
|
||||
Even tho, [purecss](https://purecss.io/) has some javascript, it's only used for Node module packaging.
|
||||
Since I don't have any javascript using Node, those script never execute.
|
||||
|
||||
Also the make script has been updated(praise kek).
|
||||
If you want to build your own websites with [Pandoc](https://pandoc.org/) & [markdown](https://commonmark.org/help/), you can use the newly updated build script below.
|
||||
|
||||
|
||||
This is the most recent _stable_ build of the script but there's a more bleeding edge version [here](https://gitlab.com/shockrahwow/shockrah-city/blob/master/make.sh).
|
||||
|
||||
```sh
|
||||
#!/bin/bash
|
||||
rootDir='./tmp/'
|
||||
targetDir='post/'
|
||||
|
||||
[[ -z $rootDir/post/ ]] && mkdir -p $rootDir/post
|
||||
|
||||
post() {
|
||||
# First get the body of the document
|
||||
tmp=".swap"
|
||||
base=$(basename $1)
|
||||
# cat the files together
|
||||
pandoc $1 | cat 'templates/post-header.html' - 'templates/post-footer.html' >> $tmp
|
||||
sed -i "5i <title>${base%.*}</title>" $tmp
|
||||
sed -i "s/<img/<img class=\"pure-img\"/g" $tmp
|
||||
sed -i 's/<table>/<table class="pure-table">/g' $tmp
|
||||
# turn the header into an actual header
|
||||
sed -i '30i <div class="header">' $tmp
|
||||
sed -i '32i </div>' $tmp # change this to 33 once we finalized for the subheading
|
||||
# finally move this post to its proper location in the _rootDir
|
||||
mv $tmp "$rootDir/$targetDir/${base%.*}.html"
|
||||
rm -f $tmp
|
||||
}
|
||||
|
||||
for file in $@;do
|
||||
post $file
|
||||
done
|
||||
|
||||
if [ -z $@ ]
|
||||
then
|
||||
while read line
|
||||
do
|
||||
post $line
|
||||
done < "${1:-/dev/stdin}"
|
||||
fi
|
||||
```
|
@ -1,17 +0,0 @@
|
||||
# Neat Route
|
||||
|
||||
_Short post that I've been wanting to make about a run I'm working on_
|
||||
|
||||
<iframe src="https://player.twitch.tv/?autoplay=false&video=v470117605" frameborder="0" allowfullscreen="true" scrolling="no" height="378" width="620"></iframe>
|
||||
|
||||
Some optimizations in this route are the entrance through the teleporter at the start.
|
||||
Instead of falling to the left and then hitting the first boot I take a small speed loss to _always_ hit the booster.
|
||||
|
||||
Potentially I could save some air time if after the red platform I hit the second booster which gives less height to the thirds booster in that section, but the difference is minimal and I'm too lazy to make the flick consistently.
|
||||
|
||||
As soon as I fix my windows drive I'll try to get a fully timed segment of the run or something to get a better idea of time but so far I think the overall time comes out to 4:40.
|
||||
_Almost 30 seconds faster than the previous world record!_
|
||||
|
||||
There's still quite a few places I need to improve on however so the route isn't done yet + there are some skips I want to test out.
|
||||
|
||||
Oh well back to loonix things for a bit :^)
|
@ -1,31 +0,0 @@
|
||||
# Segmenting & Optimizing Realistic Routes
|
||||
|
||||
Finally after a few weeks of practicing I took some time to segment the route that I've been working on for _bhop_bochadick_.
|
||||
Something which I have a really bad habit of not doing.
|
||||
|
||||
Unlike a lot of other maps I've tried running in the past this one doesn't really get old and the _rng_ in the run is pretty bearable.
|
||||
Apart from the route being fun there's also a few _reset points_, where if I lose time or fail it doesn't mean the run is completely over/results in +30.
|
||||
|
||||
|
||||
> Alright but where's the route mang
|
||||
|
||||
Here you go :^)
|
||||
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/_Cn2m1dn0tE" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
||||
|
||||
|
||||
> Can it be improved?
|
||||
|
||||
Yes, and there's already some new tricks/optimizations I'm planning on using to bring the time down even further.
|
||||
|
||||
> So it's not perfect?
|
||||
|
||||
Nop, in fact there's a huge mistake at the top of the pyramid where I bump into a wall pretty hard, losing nearly 400 u/s(from ~900u/s to ~500u/s).
|
||||
|
||||
Also I could potentially do the drop in the lava stage without the wall bump thus conserving speed and cutting out a jump or two (i.e. 0.7 - 1.4 seconds).
|
||||
|
||||
## Stats
|
||||
|
||||
* Current estimated: 4:41
|
||||
* Future estimated: 4:3x
|
||||
|
@ -1,264 +0,0 @@
|
||||
@font-face {
|
||||
font-family: 'Fixedsys';
|
||||
src: url('/fonts/FSEX300.ttf');
|
||||
}
|
||||
body {
|
||||
font-family: 'Fixedsys';
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
border-left: 10px solid #1f8dd6;
|
||||
}
|
||||
p {
|
||||
display: inline;
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
|
||||
.pure-img-responsive {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
/*
|
||||
Add transition to containers so they can push in and out.
|
||||
*/
|
||||
#layout,
|
||||
#menu,
|
||||
.menu-link {
|
||||
-webkit-transition: all 0.2s ease-out;
|
||||
-moz-transition: all 0.2s ease-out;
|
||||
-ms-transition: all 0.2s ease-out;
|
||||
-o-transition: all 0.2s ease-out;
|
||||
transition: all 0.2s ease-out;
|
||||
}
|
||||
|
||||
/*
|
||||
This is the parent `<div>` that contains the menu and the content area.
|
||||
*/
|
||||
#layout {
|
||||
position: relative;
|
||||
left: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
#layout.active #menu {
|
||||
left: 150px;
|
||||
width: 150px;
|
||||
}
|
||||
|
||||
#layout.active .menu-link {
|
||||
left: 150px;
|
||||
}
|
||||
/*
|
||||
The content `<div>` is where all your content goes.
|
||||
*/
|
||||
.content {
|
||||
margin: 0 auto;
|
||||
padding: 0 2em;
|
||||
max-width: 800px;
|
||||
margin-bottom: 50px;
|
||||
line-height: 1.6em;
|
||||
}
|
||||
|
||||
.header {
|
||||
margin: 0;
|
||||
color: #333;
|
||||
text-align: center;
|
||||
padding: 2.5em 2em 0;
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
.header h1 {
|
||||
margin: 0.2em 0;
|
||||
font-size: 3em;
|
||||
font-weight: 300;
|
||||
}
|
||||
.header h2 {
|
||||
font-weight: 300;
|
||||
color: #ccc;
|
||||
padding: 0;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.content-subhead {
|
||||
margin: 50px 0 20px 0;
|
||||
font-weight: 300;
|
||||
color: #888;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
The `#menu` `<div>` is the parent `<div>` that contains the `.pure-menu` that
|
||||
appears on the left side of the page.
|
||||
*/
|
||||
|
||||
#menu {
|
||||
margin-left: -150px; /* "#menu" width */
|
||||
width: 150px;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
z-index: 1000; /* so the menu or its navicon stays above all content */
|
||||
background: #191818;
|
||||
overflow-y: auto;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
/*
|
||||
All anchors inside the menu should be styled like this.
|
||||
*/
|
||||
#menu a {
|
||||
color: #999;
|
||||
border: none;
|
||||
padding: 0.6em 0 0.6em 0.6em;
|
||||
}
|
||||
|
||||
/*
|
||||
Remove all background/borders, since we are applying them to #menu.
|
||||
*/
|
||||
#menu .pure-menu,
|
||||
#menu .pure-menu ul {
|
||||
border: none;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
/*
|
||||
Add that light border to separate items into groups.
|
||||
*/
|
||||
#menu .pure-menu ul,
|
||||
#menu .pure-menu .menu-item-divided {
|
||||
border-top: 1px solid #333;
|
||||
}
|
||||
/*
|
||||
Change color of the anchor links on hover/focus.
|
||||
*/
|
||||
#menu .pure-menu li a:hover,
|
||||
#menu .pure-menu li a:focus {
|
||||
background: #333;
|
||||
}
|
||||
|
||||
/*
|
||||
This styles the selected menu item `<li>`.
|
||||
*/
|
||||
#menu .pure-menu-selected,
|
||||
#menu .pure-menu-heading {
|
||||
background: #1f8dd6;
|
||||
}
|
||||
/*
|
||||
This styles a link within a selected menu item `<li>`.
|
||||
*/
|
||||
#menu .pure-menu-selected a {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
/*
|
||||
This styles the menu heading.
|
||||
*/
|
||||
#menu .pure-menu-heading {
|
||||
font-size: 110%;
|
||||
color: #fff;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* -- Dynamic Button For Responsive Menu -------------------------------------*/
|
||||
|
||||
/*
|
||||
The button to open/close the Menu is custom-made and not part of Pure. Here's
|
||||
how it works:
|
||||
*/
|
||||
|
||||
/*
|
||||
`.menu-link` represents the responsive menu toggle that shows/hides on
|
||||
small screens.
|
||||
*/
|
||||
.menu-link {
|
||||
position: fixed;
|
||||
display: block; /* show this only on small screens */
|
||||
top: 0;
|
||||
left: 0; /* "#menu width" */
|
||||
background: #000;
|
||||
background: rgba(0,0,0,0.7);
|
||||
font-size: 10px; /* change this value to increase/decrease button size */
|
||||
z-index: 10;
|
||||
width: 2em;
|
||||
height: auto;
|
||||
padding: 2.1em 1.6em;
|
||||
}
|
||||
|
||||
.menu-link:hover,
|
||||
.menu-link:focus {
|
||||
background: #000;
|
||||
}
|
||||
|
||||
.menu-link span {
|
||||
position: relative;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.menu-link span,
|
||||
.menu-link span:before,
|
||||
.menu-link span:after {
|
||||
background-color: #fff;
|
||||
width: 100%;
|
||||
height: 0.2em;
|
||||
}
|
||||
|
||||
.menu-link span:before,
|
||||
.menu-link span:after {
|
||||
position: absolute;
|
||||
margin-top: -0.6em;
|
||||
content: " ";
|
||||
}
|
||||
|
||||
.menu-link span:after {
|
||||
margin-top: 0.6em;
|
||||
}
|
||||
|
||||
|
||||
/* -- Responsive Styles (Media Queries) ------------------------------------- */
|
||||
|
||||
/*
|
||||
Hides the menu at `48em`, but modify this based on your app's needs.
|
||||
*/
|
||||
@media (min-width: 48em) {
|
||||
|
||||
.header,
|
||||
.content {
|
||||
padding-left: 2em;
|
||||
padding-right: 2em;
|
||||
}
|
||||
|
||||
#layout {
|
||||
padding-left: 150px; /* left col width "#menu" */
|
||||
left: 0;
|
||||
}
|
||||
#menu {
|
||||
left: 150px;
|
||||
}
|
||||
|
||||
.menu-link {
|
||||
position: fixed;
|
||||
left: 150px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
#layout.active .menu-link {
|
||||
left: 150px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 48em) {
|
||||
/* Only apply this when the window is small. Otherwise, the following
|
||||
case results in extra padding on the left:
|
||||
* Make the window small.
|
||||
* Tap the menu to trigger the active state.
|
||||
* Make the window large again.
|
||||
*/
|
||||
#layout.active {
|
||||
position: relative;
|
||||
left: 150px;
|
||||
}
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
# Wew lad new colors
|
||||
|
||||
It's been about a minute since I've done anything with this site but I figured what better time to randomly post things then now.
|
||||
Before this update I mostly used some neato fonts but most of it was some boring Times New Roman thing, _now the site doesn'tlook like a homework essay_.
|
||||
|
||||
## But Why?
|
||||
|
||||
I partly wanted to get my Gitlab page a bit more active but also because I didn't like the self-conflicting style from before.
|
||||
Instead of having a bunch of fonts that don't really go together I opted for fonts that are actually somewhat look nice next to each other.
|
||||
|
||||
I'm still gonna mess with the styling but the changes likely won't be whole reworks like this one was, however, I'll probably use this as a place to post some _bhop stuff as well_.
|
||||
|
||||
:^)
|
||||
|
@ -1,22 +0,0 @@
|
||||
# Syncthing and Remote File Management
|
||||
|
||||
> What is [syncthing](https://syncthing.net/)?
|
||||
|
||||
It's a free and open source project that basically keeps your files synchronized across multiple devices.
|
||||
|
||||
It woks like so(in my setup):
|
||||
|
||||
```
|
||||
Listen Server => Gets folders and things shared with it
|
||||
PC => usually uploads stuff to the listen server
|
||||
Phone => usually just pulls down updates from the listen server
|
||||
```
|
||||
|
||||
I personally use Syncthing to keep my ever growing music library and Book/Papers collection up to date on my phone and PC.
|
||||
|
||||
> Can you cut out the middle man by removing that server?
|
||||
Yes but I'm lazy and this give me the option of running syncthing on my laptop and pull down changes from anywhere without much hassle.
|
||||
|
||||
> Where do yo host this listen server?
|
||||
For hosting I use [IONOS](https://www.ionos.com/) since VPS's only cost 2 USD a month. Currently it's running Debian 10 Buster.
|
||||
|
@ -1,24 +0,0 @@
|
||||
# Trains are Weird
|
||||
|
||||
## y does cali succ at train
|
||||
|
||||
I've come to the conclusion that California has no idea how to do public transportation.
|
||||
Trains for instance get some of the __F A T T E S T__ delays imaginable.
|
||||
Not unlike any other system of transportation like planes or buses, but with trains there's the added bonus that it can stop, and do nothing, mid travel.
|
||||
|
||||
Most countries seemed to have figured out that putting trains on street level means car traffic slows down, and trains have to slow down too.
|
||||
Here in Cali though, we don't use train tunnels in cities.
|
||||
_Before you say something about earthquakes, that's not actually the reason why_.
|
||||
The actual reason, we just suck at public transport.
|
||||
The absolute state of the freeways here is also pretty hilarious; instead of building better freeway routes we just add more lanes which compounds traffic problems.
|
||||
|
||||
## still neat tho
|
||||
|
||||
Not even gonna lie, it's kinda fun being on the train; _when you're actually moving_.
|
||||
Mostly because people that go on trains lose their minds about being locked in a rolly tin can in the woods really quick.
|
||||
That means after about an hour and in people start wandering around and dropping the maddest _truth bombs_ and _conspiracy theories_ I've ever seen.
|
||||
|
||||
Sick shit to witness and journal about but after delays, __literally every trip__ I've decided that I'm just going to spend a tiny bit more and take the plane to get around Cali.
|
||||
|
||||
_Shoutout to the guy that crashed into the train ahead of me in the middle of rush hour traffic.
|
||||
That s1ck 2 hour delay was litty._
|
@ -1,15 +0,0 @@
|
||||
# Twitch Stream
|
||||
|
||||
<iframe src="https://player.twitch.tv/?channel=shockrah" frameborder="0" allowfullscreen="true" scrolling="no" height="378" width="620"></iframe>
|
||||
# Latest Interesting highlight
|
||||
|
||||
Cool skip that I found that ended up being really hard to setup let alone execute.
|
||||
|
||||
|
||||
<div style="width: 100%; height: 0px; position: relative; padding-bottom: 56.250%;"><iframe src="https://streamable.com/s/b4h2r/wtdgkb" frameborder="0" width="100%" height="100%" allowfullscreen style="width: 100%; height: 100%; position: absolute;"></iframe></div>
|
||||
|
||||
# Various Social Media's
|
||||
|
||||
> Discord: `shockrah#2647`
|
||||
|
||||
<blockquote>Mastadon: <a href="https://qoto.org/@shockrah">https://qoto.org/@shockrah</a></blockquote>
|
Loading…
Reference in New Issue
Block a user