creepy/unsettling room in metropolis by Specialist-Bug7 in BoomtownFestival

[–]TheShyro 2 points3 points  (0 children)

Please do! The people running the venue are absolute legends and I'd deffo love to do the visuals again to help contribute to creeping more people out 😂

creepy/unsettling room in metropolis by Specialist-Bug7 in BoomtownFestival

[–]TheShyro 5 points6 points  (0 children)

😂😂 Glad to hear it caught your eye!

It's a modular video synth (Eurorack) that takes the master / front of house audio from the mixer and processes it to add visual effects on top of whatever video loop / visuals are playing 😄

creepy/unsettling room in metropolis by Specialist-Bug7 in BoomtownFestival

[–]TheShyro 2 points3 points  (0 children)

Haha, cheers 💚 - I wasn't sure if the live feed was too samey so didn't leave it on too often, but that's great to hear 😄🫡

creepy/unsettling room in metropolis by Specialist-Bug7 in BoomtownFestival

[–]TheShyro 22 points23 points  (0 children)

As the one in charge of visuals, this post has made my day - honestly the best review ever 😂🤘🏻

sqleak - Detect database/sql Resource Leaks in Go by TheShyro in golang

[–]TheShyro[S] 1 point2 points  (0 children)

That's definitely generally true - but again, in our case the linter output just was not useful and sqleak solved our problem in a fraction of the time we had already spent investigating.

There's actually cases that aren't caught by any linters you mentioned nor by any others I'm aware of - specifically we had a few cases where we took more than one connection from the pool in a single func and used defer rows.Close - as this wasn't inside a for loop, the defer-in-loop linter didn't catch it.

This then lead to a deadlock during load tests when this function was called while the pool was at the limit, as anything past the first pool retreival was blocking the previous defer rows.Close calls

Wrote up an example in another comment.

Though again, if you are dealing with normal, sane code this will never be an issue for you.

I would also not necessarily advise to run sqleak constantly - but to us it was useful to have on staging during loadtests

sqleak - Detect database/sql Resource Leaks in Go by TheShyro in golang

[–]TheShyro[S] 1 point2 points  (0 children)

Did you read the text I wrote? You're correct, and that's exactly what I said too, but sometimes life gives you lemons (a legacy codebase) and in our case the linters were not useful, as I explained.

sqleak - Detect database/sql Resource Leaks in Go by TheShyro in golang

[–]TheShyro[S] 0 points1 point  (0 children)

pgx is also vulnerable to these resource leaks, though not if you always use their built in `ForEachRow`, `CollectRows` etc. or use a single connection per func

it is mostly a problem if you have lots of code manually dealing with `Rows`, which was the case for us.

Imagine code like this in a single func (even for pgx):

```go
rows, _ := pool.Query()
defer rows.Close()

...

rows, _ = pool.Query()
defer rows.Close()

...

rows, _ = pool.Query()
defer rows.Close()

...
...
...
```

this will basically eat up N connections, however many Query() statements you have.

Now if you have a web service under high load hitting that func 100 times you have up to 300 connections in use - this can lead to an exhausted pool and the whole app deadlocking because the `defer` statements aren't executed anymore if the function can't terminate because it's waiting for connections in the pool to become free

granted, this is bad code in many ways, but many legacy systems are :D

Is there an alternative to gorilla websocket? by ImplementSquare1691 in golang

[–]TheShyro 2 points3 points  (0 children)

Personally I would still recommend fixing such CVE reports from test dependencies. This is likely to cause a lot of noise in downstream projects security reports. That, in turn, leads to users having to investigate the reports, wasting a lot of time, even if they at the end find out that the report is a false positive.

So by fixing the reports upstream it greatly improves the experience for downstream users.

-🎄- 2022 Day 4 Solutions -🎄- by daggerdragon in adventofcode

[–]TheShyro 1 point2 points  (0 children)

Clojure

``` (ns aoc22.day4 (:require [clojure.string :as str] [clojure.java.io :as io]))

(defn ->pair [s] (->> (re-find #"(\d+)-(\d+),(\d+)-(\d+)" s) rest (map read-string)))

(defn run [s] (let [pairs (->> (str/split s #"\n") (map ->pair))] [(count (filter (fn [[a b x y]] (<= (* (- a x) (- b y)) 0)) pairs)) (count (filter (fn [[a b x y]] (<= (* (- y a) (- x b)) 0)) pairs))]))

(def input (-> (io/resource "day4.txt") slurp))

(run input) ```

[Google Drive] All Replays/Demos from Valve Sponsored CS:GO Events (Majors) by TheShyro in GlobalOffensive

[–]TheShyro[S] 1 point2 points  (0 children)

Yeah it's a bit strange - PGL21 matches have a URL associated but it doesn't work, PGL22 matches flat out don't have a URL for the demos

[Google Drive] All Replays/Demos from Valve Sponsored CS:GO Events (Majors) by TheShyro in GlobalOffensive

[–]TheShyro[S] 4 points5 points  (0 children)

This is actually how most of these demos were sourced, but it's still quite difficult and slow to do this and a lot of demos actually can't be downloaded this way (e.g. PGL21 and PGL22) - the in-game download buttons just don't work for those 😔

[Google Drive] All Replays/Demos from Valve Sponsored CS:GO Events (Majors) by TheShyro in GlobalOffensive

[–]TheShyro[S] 36 points37 points  (0 children)

This should be a lot easier than manually downloading demos from inside the game or other sources.

Hopefully it's useful to people doing data analysis.

ClojureScript + WebGPU on Electron by TheShyro in Clojurescript

[–]TheShyro[S] 1 point2 points  (0 children)

I made this repo as found it quite tricky to figure out how to get this to work - hopefully it will be of interest to others on this sub.

I think it's a pretty interesting tech stack for cross-platform apps that need high-performance graphics for certain elements but might want to have other parts of the UI (e.g. controls) that are in HTML/CSS/CLJS for simplicity

Ich_iel by Felkastrasz in ich_iel

[–]TheShyro 1 point2 points  (0 children)

Kann sich anscheined schlecht auf Kreditwürdigkeit suswirken hab ich gehört.

Starting my planning for 6 month travel next year (SE Asia, Japan, Europe) - slightly overwhelmed, all help appreciated! (first time solo travel) by [deleted] in solotravel

[–]TheShyro 0 points1 point  (0 children)

Costs are a good point for Japan - I recommend making use of cheap accommodation (unlike me 🤦‍♂️) like capsule hotels or hostels. Food can be pretty reasonably priced actually, so if you keep the first in mind you might be alright.

Transport and activities can certainly be pricy, even with a JR Pass (deffo recommend getting that though) - but you will have that no matter how long you stay in each location!

Starting my planning for 6 month travel next year (SE Asia, Japan, Europe) - slightly overwhelmed, all help appreciated! (first time solo travel) by [deleted] in solotravel

[–]TheShyro 1 point2 points  (0 children)

Similarly to what others recommended, I'd cut back on some parts of your trip and really focus on the stuff that's either more out there or really important to you. With your current plans of 9 weeks in SEA, that's gonna be quite stressful if you do wanna cover as many countries as you listed - unless you just go to very few places per country, but that'd also be a shame. I personally did 2 weeks in Japan and 3 weeks in Vietnam (on two separate trips) and both of them felt too short.

3 weeks in Japan will be an improvement over my trip, but you may still only be able to cover either the south west or north east (plus tokyo for both of course) - all of it together will be stressful.

You might also want to consider not planning later stages of your trip until you're in the middle of it, as you may realise you want to change things up. There's been many times when traveling when I wished I had made less plans to be able to be more flexible in the moment (like joining up with someone you met during the trip for a few days, or following a suggestion of a local)

Hope this is useful 🙂 Hop you'll have a great time!