Saved some bandwidth and moved stuff around to get our house in order. Need to remember this example.
source = 'downloads.bigblindmedia/download/files/files/000/000/929/original/Banded_Sandwich_by_Iain_Moran_Download.mp4'
target = 'download/videos/files/000/000/929/original/Banded_Sandwich_by_Iain_Moran_Download.mp4'
s3 = Aws::S3::Client.new(
region: 'eu-west-2',
access_key_id: '********',
secret_access_key: '********'
)
s3.copy_object(
copy_source: source,
bucket: 'downloads.bigblindmedia',
key: target
)
A very good friend of ours James Hayball produced some great artwork for an online RPG, using my likeness for inspiration. He wanted a haggerred, bitter, fearful man, drenched in existential turmoil and who forgot to take the bins out. He came to the right place.
NB. I look think I look 25 because I am deluded

I appear to have forgotten my OnePassword password again, and having reset everything I couldn’t work out how to force the deletion of the old credentials that clearly I wasn’t able to login with. I went round and round, I could even see a list of accounts but with no way to reset them. Turns out it’s rather expertly hidden under Help > Troubleshooing.

Not exactly where I was expecting but hey hey.
Just because I am incredibly mean. I put together this little Quiz Round.
Question 1
You’re basic.
05 REM ON VALUE GOTO LINE1,LINE2,LINE3.. demo
10 TEXT : HOME
20 INPUT "Enter number 1,2 or 3: ";A
30 IF NOT(A=1 OR A=2 OR A=3) GOTO 10
40 ON A GOTO 100,200,300
100 PRINT "LINE 100" : GOTO 500
200 PRINT "LINE 200" : GOTO 500
300 PRINT "LINE 300" : GOTO 500
500 END
.
.
.
.
.
Question 2
I’ll give you anything you want, but I’ll always get my take.
import re
for test_string in ['555-1212', 'ILL-EGAL']:
if re.match(r'^\d{3}-\d{4}$', test_string):
print (test_string, 'is a valid registration for a snake')
else:
print (test_string, 'rejected')
.
.
.
.
.
Question 3
Hopefully this one doesn’t fuck with your brain.
--<-<<+[+[<+>--->->->-<<<]>]<<--.<++++++.<<-..<<.<+.>>.>>.<<<.+++.>>.>>-.<<<+.
.
.
.
.
.
Question 4
Wake me up.
<script>
var x = 5;
var y = 6;
var z = x + y;
document.getElementById("coffee").innerHTML =
"The value of z is: " + z;
</script>
.
.
.
.
.
.
Question 5
Drink this, it will make you feel better.
true = String.ends_with?("Youth.", ".")
# True if any of list values match:
true = String.ends_with?("Youth.", [".","?"])
false = String.ends_with?(" !", [".","?"])
.
.
.
.
.
Question 6
I like to pummel it until it’s proper mashed up.
#!/bin/bash
string1="Linux"
string2="Hint"
echo "$string1$string2"
string3=$string1+$string2
string3+=" is a good place to fight"
echo $string3
.
.
.
.
.
Question 7
Well it’s been 40 years of silence, it’s been 40 years of pain.
class Cat
def can_claw_your_face_up?
true # dat
end
def empathise_with_your_existential_crisis?
!really?
end
private
def really?
true
end
end
.
.
.
.
.
Question 8
A, B, D, E, F, G, H, I , J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z
#include <stdio.h>
int main() {
int year;
printf("Enter a year: ");
scanf("%d", &year);
// leap year if perfectly visible by 400
if (year % 400 == 0) {
printf("%d is a leap year.", year);
}
// not a leap year if visible by 100
// but not divisible by 400
else if (year % 100 == 0) {
printf("%d is not a leap year.", year);
}
// leap year if not divisible by 100
// but divisible by 4
else if (year % 4 == 0) {
printf("%d is a leap year.", year);
}
// all other years are not leap year
else {
printf("%d is not a leap year.", year);
}
return 0;
}
.
.
.
.
.
Question 9.
Queer eye for the the interwebs.
.cascading {
border: 1px solid blue
}
.style {
height: 100px
}
.sheets {
border-radius: 5px
}
.
.
.
.
.
Question 10
I’ve come to see the Oracle, I need answers.
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
Image1.Picture.LoadFromFile(OpenDialog1.FileName);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Image2.Canvas.CopyRect(
Rect(0,0,Image2.Width,Image2.Height),
Image1.Canvas,
Rect(
0,
0,
Image1.Picture.Width-50,
Image1.Picture.Height-50));
end;
.
.
.
.
.
In 10 years I have never once used installed RI or RDoc documentation, so let’s not bother installing it.
Adding this to ~/.gemrc will mean it is never built
gem: --no-document
And then nuke all currently installed documentation.
rm -rf `gem env gemdir`/doc
Boom.
I know it’s in Rails somewhere, maybe. But where the hell is it and how do I call it. If you want to do a quick grep of your entire bundled gems paths. You can….
bundle show --paths | xargs grep -r eager_load
I’m trying to find the way to run eager_load so that everything in my application that isn’t loaded in development doesn’t just fart and fall over in deploy.
Turns out it was this I wanted for Rails 6
Zeitwerk::Loader.eager_load_all
I am have been rather privileged to work on some cool projects, and this was a real pleasure. Big Blind Media are an online magic store and their focus in the past has very much been on physical tricks and DVDs of how to reproduce those tricks as a performance. But with physical media going the way of the Dodo it was time to start pushing more towards on-demand media and that meant building a download platform to run alongside their existing Shopify store.

The new downloads portal is up and running and I know Owen is plugging away adding a plethora of content ready to release, and not least with Adjective from Liam Montier
So if you’re wondering what the hell to do during your next Zoom chat this lockdown Bank Holiday Weekend, then maybe a bit of magic is in order.