Towards the end of last year, I was suffering some form of malaise and I eventually self-diagnosed. My problem is I've been thinking too much. My day job requires a lot of thinking.  And my downtime had thinking of its own various backlog of home projects, sprowing and 3D printing and renovations and whatnot, I just needed to dial it back a bit, you know, and even when I was, you know, on the Twitter feed, I was contemplating the consequences of a Trump presidency or whatever else was lurking in my feed that was just horrible. So I decided I needed a new hobby. And I had some criteria for this hobby. It has to be something which requires less problem-solving thinking, no coding, no soldering, no making, just learn a new skill, nice hobby thing. And eventually what I came up with is that I really should get back into learning a musical instrument and I decided on an electric guitar. Back in the day at school I self-taught and I hacked away with precisely zero technique and precision and no teaching. I did that for a few years, moved on to electronic music at university, you know, had a good old time making jungle and drum and bass.  So I dropped the whole lot and haven't done anything else for the last 20 years. But it seemed like a good thing to get back into, this time I was going to do it right. I was going to get an instrument that was of sufficient quality to actually be enjoyable playing and would make a nice sound. I'd really apply myself to actually learning it and the resources these days for learning music is just phenomenal. Even YouTube aside, the books and whatnot, it's a great time to pick up an instrument to do anything. And it's something I would thoroughly recommend. We all tend to be quite techie people and we assume that the key to being better at techie things is to do more techie things but sometimes it's not, sometimes it's just to have a more balanced life and having a creative output is often very good at that sort of thing. So if anyone else is teaching on the edge, I'd thoroughly recommend just giving something a go. But one of the aspects of having an electric guitar that sounds good is that you need things further down the chain that actually make the sound. And that tends to be a collection of pedals. So building up a collection of pedals meant to be this process where every single pedal is carefully considered and really earns its way into the rack and once it's in, it's your dedicated thing for doing that particular task. So it can take a while to get your perfect collection and then once you have it, you get this logistical challenge of how is it going to be arranged, how are you going to wire it up. This looks lovely but more often than not you end up with something looking like this. So we have a layout problem, we have routing problems, power and signal lines. We have these real world wires which limit the flexibility of how things can be arranged and there's solutions to all of these and you can end up with something like this. But again, that's very expensive and a lot of effort and if I did this, it would violate no soldering, no making and no problem solving of my hobby criteria so I didn't really want to go down this path. So what I ended up with is this thing. It's a Boss GT100 effects processor.  So here's a representation of the pipeline that's inside it. It models a series of discrete effects boxes and it's not a completely generic signal processing unit, it's very much focused on guitar specific requirements. So I don't know if you can see those codes up there but you've got the usual, you've got a compressor, overdrive. Then it splits into two A and B paths, each one with its own dedicated preamp, so preamp A and B and then it gets mixed together again. We've got graphics EQ, delay, chorus, reverb, just the usual stuff. But if you see those on the left there, the FX1 and towards the right FX2, they each can be set to any one of a number of effects. So what you end up with is basically every Boss effects pedal ever. In a pipeline where you can reorder things at your whim and set any of the options at the push of a button. But that's not all. Because what I really wanted, I have some limitations in playing at home. I've got a family, I've got a small house, I can't be cranking through a big amp. And the amplifier is actually a really important part of the guitar sound. There's things that happen when you overdrive a tube amp to the point where it's distorted. Tube distortion is very pleasant and part of the characteristic sounds of certain styles of music.  Incidentally, the Bassman is terrible at playing bass, but to be fair, every single amp in the 50s was terrible at playing bass, and it wasn't their fault. But that's not all. Another really important aspect of the guitar sound is what happens when it comes out of the speaker into, you know, either the ambient space or to be picked up by a microphone to go into the mixing desk. And microphone placement isn't a whole art form in itself in a big studio. There's, you know, placement and brand of microphone has a huge impact on the tone. And the GT100 unit has the capability to simulate how many speakers you have in your cabinet, what size the speakers are, whether it's an open or back cabinet, what brand of microphone, how far the microphone is away from the speaker, how offset it is from the center of the speaker. So all this is really rather compelling for me, especially when I'm, you know, generally playing with headphones on. So there's a lot of parameters there, and you can control them all through the unit, but it's quite hard to get a big picture of what's going on in the patch. There's a proprietary software called Boss Tone Studio that works on Mac and PC. I run Linux, so it does actually work under Wine, except for the bit that actually sends the data to the unit. Almost works. So my current only option is to spin up a VM and run it through that with some USB pass-through, and it works fine. But it's not ideal. I would have quite liked some native tools to manage it myself. But here we can see the pipeline. I can drag and drop those modules to change the order. I can tweak the parameters. And also it has a native patch exchange file format called TSL, Tone Studio Library, which is essentially a JSON file with a collection of patches and a patch itself. It's pretty much just a memory dump of this GUI from what I can tell, which pretty much maps exactly to values in the unit with a bit of faffing around. So how does it talk to the unit? We have this standard called MIDI. It's an old standard, but it's hanging in there. Published in 1983. Serial communication between musical instruments. It really changed the landscape at the time. That's a MIDI cable there, but these days it's all happening over USB, but it's still 31 kilobit. It's a byte-based protocol, but unfortunately the data bytes only have access to seven bits of information, which when you're trying to transmit arbitrary binary data can be imitation, but we'll talk about that a little bit later. So let's just have some really simple examples of some MIDI messages. If my right index finger emoji pushed the middle C button, what would happen is three bytes would be generated. The note on message says eight means it's note on, zero means it's MIDI channel one. Then we have the code for middle C. It's the note on the piano, on the keyboard. Even a full-size piano only has 88 keys, so the fact that we're limited to seven bits, which means 128 possible values, it's no problem in this case. And then the third value is the velocity of the key press, and we're pushing it all the way down, so the value is 127 there, so that's the maximum value you can fit into seven bits. Another example, there's a control slider for various things, probably to set the tremolo would be the standard thing. Again, we have a message, B is the command, zero is the channel, zero one is the which controller it is, and some arbitrary value. We also have a pitch bend. A pitch bend is interesting because you can't really get away with 128 possible values in a decent sounding pitch bend. It would sound terrible, especially over a large range like an octave or two. So they use two bytes for this, so it gives us a maximum of around 16,000, which is much more appropriate for this particular control value. So that's standard MIDI for actually playing music. As far as transmitting patch data, it's a little bit more tricky because it's arbitrary data, it's very specific to this device, so it really needs a custom protocol to send it. Now MIDI has this other part of the spec called system-exclusive messages, and all of the transmission and receiving of patches is done through SysX messages that are essentially, please give me the value of this memory range or here is some data, please plonk it in this memory location. And that's what the Boss Tone Studio software does. So let's just take an example of setting the gain to 11 on the amp and follow it all the way through. So Boss publishes a spec, which is reasonably helpful, which says how the system-exclusive messages are managed. A very important part is this memory map where it tells you the memory range of all the different values. The interesting bit starts from the user patch onwards, and if we carry on down to 60, that's the location of the temporary patch, which is where I can write things without overwriting any of the user patches. So the device has 200 built-in patches. A disproportionate number seems to be heavy metal patches, but that's just my personal bias, I don't have anything against metals. And another 200 for user patches, which if you write to that location, it will persist. But the temporary patch is where you can just twiddle the knobs and it won't be written to anything, unless you actually explicitly do it right to some other location. So further on in the spec, we have this very large patch table where this address is the offset of your main patch, so it's temporary patch location plus that. And it specifies what every single value maps to. So here we have a single byte for the gain of preamp A, and it's on a range of 0 to 120. So setting it to 11 is not going to be a problem. I generated a JSON spec file, which essentially has an entry for each one of those lines, which says its memory address. That parameter key is what the Boston Studio file format uses to identify it, which is sort of different to anything in the spec. And then it's got some other things like the lookup table at the top there. All of these values have a corresponding lookup table, even if it's a straight one-to-one mapping between value and number, just because it's convenient and it's still fast enough to load at startup time, so it's not a big deal. And, yeah, finally, from your size, it's a single byte, so that makes things simple. So let's build an actual system exclusive message. This time, it's a much bigger message than those other mini-messages we saw before. Because there might be a lot of devices in the chain, we have to say what brand we are, we have to say what model we are. So we're a BossGT100 device zero, just in case I have a whole chain of them. And then we're saying what command this is, in this case it's a send command, and then I'm saying the address, and then the value, and yes, I know that's 11 heads, so it's not actually 11, but... Yes, it's still funny. Please laugh. And finally, there's a checksum, which is just the modulo of the important bits of the packet. So I wrote some software using Python, which was just a basic patch management, send a patch, receive a patch, manage TSL files, sendings when I was specifically sending things. I've tried a few approaches, but I found the best way of doing it was sending it one sysx message per parameter, and there's about 900 parameters. And it goes fast enough for my needs. But receiving that wouldn't work because each request is a round trip. Say, give me this, thank you, give me this. So it's much too slow. So I ended up batching it up into chunks of 128 bytes, and then unpacking it on the client. Couldn't be more than 128 bytes, because then we cross over into the discontinuous space caused by the seven bits that we limited to for addressing. So the address space is full of large gaps because it's impossible to represent those memory locations when you're missing that extra bit. So there's a bit of translation to go to and from the seven bit number to a real number. Because this is a Python talk, let's have some Python. Turns out when I was pushing one parameter per request, not all the parameters were sticking. Problem went away when I did a one millisecond sleep between each push. So okay, some parameters, the unit gets busy and it doesn't respond. So let's just hack in our magic sleep. So it's like, you know, I'm talking arcane serial protocols and magic sleeps and reading and writing from memory locations. It feels like real programming. But no, that's my old way of thinking. All programming is real programming and I'm learning to unlearn my absorption of contempt culture. So I retract that statement. So anyway, the subject of the actual talk. Now that I had this general tool, I had something which could be done with a GUI but without the convenience of an actual GUI. So it's not that profound. So I started thinking, okay, there's 900 parameters. There's essentially an unlimited combination which I'm never going to fully explore just by having sessions tweaking the knobs. So is there a more efficient way I could fully explore the capabilities of this device? So I thought maybe I could just generate random pictures and listen to them all and see if something interesting comes out.  So I decided, you know, if I was going to do this, how would it work? I eventually came up with some different kinds of mutations that were possible. The simplest one is whether a particular module is turned off or on. So I'm starting out with a completely plain patch set. Nothing applied, very plain sound, defaults are sensible, and then applying a series of mutations on top of that and then seeing what the result is. So once we've done an on-off mutation, we can, for anyone which is enabled, we can reorder it in the pipeline.  So keep it limited to things that are enabled. There are limitations on where things can go on the pipeline, so there's a bunch of validations that need to be applied. For example, preamp A must stay in the A path, preamp B in the B path. And there's some other limitations that I want to apply, like the NS1 next to preamp A, that's just a noise suppressor. It's got to go somewhere next to the preamp is a good place to do it because that's often where some buzz is generated. I want, yeah, that's, ah, yeah, I don't really care about send return because I'm not plugged anything into it. Yeah, other than that, it's just, is it a valid pipeline. And then finally, it's actually changing values in whatever's enabled. And let's say, in the FX1, they have the subtypes and each of those subtypes have their own controls. So again, I'm only throbbing the knobs for effects that are actually enabled. Okay. Should we try and make some noise? Okay, so, the question is how do I, okay, generating the random patches is fine. I've got a tool. It takes a plain patch from a TSL file and generates however many, you tell it to, patches, it's completely offline and it doesn't need to be plugged into the unit. And then I have a TSL full of patches with a specified number of mutations in them. So then how do I evaluate them? That becomes a major problem. I've gone with a couple of approaches. One is where I've called an audition where I get a test file of guitar playing, load a patch, play the file, record the result, save the result to its own file and then go through the entire list. That means I don't have to be there for the listening to every single thing and I can come back later and go through the results. Another approach is to have an interactive session where you're applying small mutations, seeing the result. If it's good, you keep it. If it's really good, you save it to a TSL file. But if it's not good, you can back it out. You can back it out all the way and then reapply. So it's less mutations, more chance of getting something reasonable, possibly less chance of getting something amazing. So I forgot to mention while I'm learning the guitar, I'm still actually terrible. But I needed to come up with the perfect test sample. I needed to have everything. I needed to have single notes. I needed to have intervals, triplets, arpeggios, chords, power chords, open chords. I needed to be short. So this is what I came up with. It's still 17 seconds long, which I think is too long. That was with an actual pleasant effect on it. And this is what it sounds like dry. So straight off the guitar into the mixing desk. No effects whatsoever. Different take as well. Sounds quite different. Distortion is on the actual recording.   So down the left here is the 100 patches. If I hover over it, I've populated the note field with a summary of what the mutations are. So you can see what's happened. FX2 has been turned on. It's been turned into a rotary effect. The order's been mucked about with. Compressor's on as well. FX1 is a phaser. Let's just see what happens. It's interesting. Let's see what's actually happening in that patch. So here we've got not a lot enabled. There's a compressor, EQ, and FX2 as a rotary effect. Now this is interesting. This is a classic old-school effect, which is a speaker mounted on a motor that spins around with a microphone pointing at it. And when the speaker goes past the microphone, it's louder. So there's a tremolo effect as the speaker goes around. And there's probably a Doppler shift effect as it sweeps past. So you get this nice tremolo vibrato plus the acoustic characteristics of the speaker and the mic and whatever box it's in. So it's, you know, cool to have a simulation of that. So what else is going on here? When I disabled the EQ, the sound was a lot fuller. So it's actually taking away some of the bottom end and some of the top end. It's actually quite nice. It's kind of a tenee retro sound. So it's a good example of often it's the things you take away from the sound that make it interesting rather than the things you add to it. Okay, I'll skip the 4A because the screenshot's not that great. Oh, and it sounds terrible. It sounds bad. That's why I called it bad. I'll play it. It's just too much. It's like 80C middle, plus extra stuff. I don't know what's going on. Okay, let's try this one. Okay. Going on here. Does it sound like a pipe organ? Okay, so it's all happening at the end of the chain here. So FX2 is a pitch shifter and it's being pitch shifted by 24 semitones. So that's two octaves, two octaves higher. That's why it's so squeaky. Then there's a delay and then there's a chorus. So it's just going to be muddy and things up a bit. Then there's a reverb. So the thing about the pitch shifter is that it models a note, processes it, and does what you tell it to. The keyword being there, a note. As soon as you start playing two notes or chords, things start getting weird. So you just don't do that. So it sort of holds it together for the first bit, but as the chords come in, it just falls apart. The chorus is probably... The settings for the chorus is probably giving it that sort of tinny tone as well. And weirdly, it's put in the Excel FX. There's an extra, there's a switch, which you can toggle to do things when you push it. And this one, it's assigned it to the ring modulator. So the ring modulator has a carrier tone. In this case, it's 70 hertz, which it multiplies with the original sound. And the result is completely atonal, basically never musical. You don't actually hear it on that, but if I had to play when you push it, things get very interesting, as if they weren't enough already. So anyway, that's just a second example of a reasonably good patch and just horrendous patch. Most of them, with the high mutation rate, that was generated with 40 mutations. At that rate, a good proportion of them are silent. But I could weed a lot of those out just by seeing how loud it is in the processing before I saved it out. And if it's not playing anything, then I can just skip it. So, oh no, we're not done. We're not done. Here's a session with another tool. No. So here's an interactive session with the mutate command. So here's my... I wish that would go away. Here is the tool itself. So you've got the send receive commands, the ran command, which generated that file with 100 patches, the audition command, which we've just been listening to the results of. There's a sort command, which just takes a TSL file input, has a bunch of TSL file outputs, loads each patch, and then prompts to say which one whether it's the reject one or the interesting one, or the listen to later one. So now we're going to listen to the mutate command. Okay, it started out with some random patch, so we're going to use the send command to set it to the neutral one. Okay, I'll just quickly... See here, I can choose how many mutations per mutate. It will apply. This one's a lot lower than the other one because we're doing small mutations which we can back out if they don't go anywhere. And there's some ways of saying what kind of mutations you would rather have, so we have a relative weighting of whether it's enable, reorder, value. And finally, we can limit it to specific effects. So what I'll probably end up doing is having a mutate session where I'm only changing effects one and effects two, or I'm only changing the preamp and the speaker and the mic setup so I can just explore those areas. But here, we're just doing the whole lot. Dude. So you can see the patch name. I'm generating a random patch name. The challenge was I'd like it to be readable. It has to fit in two blocks of eight, and ideally it doesn't have any accidental squares or insult any deities. So I came up with this consonant vowel, consonant vowel, consonant vowel setup, and it seems to work pretty well. Okay, this goes on for a while. Let's just skip ahead. Okay, we're scrolling up here just to see that stuff that's scrolling up the top and it's just showing what the mutations actually were. And here we've got an ASCII art representation of the pipeline just to give you an idea of what the reorder mutations have done. You can see a lot of the time the mutations actually result in the volume going down. And you can do this indefinitely. Next steps, you might have seen there was some to-do messages, to-do mutator sign. There's actually another thing this unit can do. There's an expression pedal which is generally used for, you know, volume when it's disabled or, you know, wah, the classic guitar wah effect. But you can actually assign that pedal to any number of, well, up to eight parameters in a patch. What if the choice of those assignments was actually part of the mutations? And this is where things get really interesting because a good proportion of the parameters really were not designed to be modulated with a pedal. But maybe some of those will still make an interesting sound. So this is a little bit more effort because, like, say when it mutates fine, I can just sit there and, you know, push the pedal as I'm playing. But with Audition, I want to be sending some MIDI controller values to, you know, simulate, say, a triangle wave of the pedal going up and down. But I think, you know, there's potential of creating a whole different element of new sounds. So the other thing I'm trying to work out is, you know, I could easily generate a thousand patches. You know, maybe there's a fantastic one in there. I really don't want to sit through everyone to find it. So how can I do a better job of categorizing all these patches? You know, it gets really fatiguing. It's quite awful. You know, I would pay someone to listen to these and tell me what was good. So hang on, what if I actually paid someone to listen to these? So one option is to go to a mechanical twerking platform and, you know, upload all these samples, prompt them for some questions. You know, do you find this interesting? Do you think this sounds good? You know, there's some really interesting potentials there. Like, sorry, I'm jumping here. Do people know what mechanical twerking is? Yeah, I'll tell you anyway. It's using online platform to set up micro tasks that people actually get paid for.  But, you know, I'm sure there's real work going on there somewhere. But, you know, there's going to be cultural biases about what people think sounds good or not. And, you know, wouldn't it be interesting to actually be able to capture that and go, oh, okay. There's a group here that have some very interesting ideas. I wouldn't hear this otherwise. And then once I've got a decent corpus of responses, you know, maybe that can be used as a training data set for some machine learning. Maybe the machine learning couldn't tell you what's good, but it could tell you what's boring, and that would filter out a whole bunch of stuff that you wouldn't have to listen to yourself. So, Python libraries used to implement this. Python RT MIDI was low-level communication with MIDI devices. Sitting on top of that is a library called Mido. It's really nice if you're going to do any MIDI programming in Python. It has a really nice object model of MIDI messages and also has a model for ports to read and write from. You can do it blocking or async. It's quite lovely. For the audition command, I needed to load a WAV file, play it while recording simultaneously and then saving the results. The sound device library had a nice, simple API for playing and recording that was sitting on top of port audio. I say it's nice. It does tend to crash after about 50 patches, so I lied. There wasn't 100 in the result. There was only about 54, because it core dumped. Let's say it's not sound device's fault. Let's say it's port audio's fault. Sound device and WAV file both generate NumPy arrays, but they're in slightly different formats, so I just used NumPy to transpose it. I switched from one to the other. Cliff is a nice wee tool. I came out of one of the very many libraries that Doug Hellman has written. It's a way of quickly putting together command line interfaces, and it gives you an entry point mechanism where you can register a sub-command just by setting an entry point in any arbitrary Python project. This means that I can have my main patch management tool called Bogd, but I don't have to put the random generation commands in the same tool because that's a general-purpose tool, and these random commands are a relatively specialized thing. I have that in a separate repo, but when I run it, all the commands are under a single main command, so it's quite nice. Finally, I wanted a prompt-driven user interface where it's asking a question and you enter the answer, which might be multiple choice, might be text, and I found Enquirer was of the many options. It was one that met my needs, so it's quite nice. The code is there, so really not that much Python at all to get to do that, and I was quite happy with how they ended up. Spec generation code, you're never going to see that, don't ask about it. It's horrible, but the rest is all up on GitHub. But if we go back to my original criteria for learning my new hobby, it's just a complete fail.  Anyway, that's it. Thank you. So yeah, any questions? Uh-oh. What did you need to solder? Ah, just cables, because actually getting a loop from the laptop, playing sound through the device with my very limited mixing desk means back into the laptop was slightly convoluted, so cables, that's okay. It feels like cheating. I'm wondering if you've played with any, like, genetic algorithms or anything like that to try to... Yeah. I thought about it, because I have done a little bit of genetic algorithm. Actually, you know, sort of 10 years ago at LCA I did a learning talk on label placement with genetic algorithms, and my conclusion was it's a terrible solution, basically anything. But I do have hope for machine learning, and so, you know, a lot of the new frameworks. If someone has... If someone says, okay, comes up to me and says, use this framework, do this stuff. If you've got some training data and a bunch of samples that you want to categorize, please hit me up after the talk in the hallway, because I'd be... You know, some guidance would be useful. All right, thank you very much. Steve, are you ready? Thank you.


it's hot, like it's been, listen we've only doubled. I also really appreciated the polyamorous, polyamorous relationship, polyamory, polyamory, okay everyone, um, holy sh- hi everyone, welcome back to my channel. Today it is time, it is time for episode two of Booktube Twin Test. If you don't know, this is a series where I've asked you guys on Twitter, Instagram, YouTube, which Booktubers you think I have the most similar reading taste to? I pick one of them and I asked them for three books that they loved that they think I'm gonna love as well and I'm gonna read them and we're gonna have a leaderboard throughout this series to see who is my Booktube twin. Episode one, Kayla got 13 points. I had a five star, a five star and a three star so whoever's on it from now on has to beat 13 to become my Booktube twin. The person in this episode is the second most popular recommendation that you guys had. I'm not gonna always go in like popularity order but I wanted to do this Booktube next. You know what it is? You saw in the title Riley Marie, Riley works because we're also twins. For what? I'm you. People confuse us all the time. I never saw it before I had my channel. I used to watch Riley all the time like before I had my channel and I never saw it but once I started my channel people started saying it to me I was like oh my god we do but over 25 of you, over 25 of you said that me and Riley are Booktube twins. I do think that me and Riley have similar reading tastes. We both love The Strange Case of the Alchemist daughter by Theodora Goss. We love this series so much. I feel like maybe she'll give me like a mystery with Victorian elements if I had to guess of what she's gonna give me because she knows that's something we both like. So Riley has sent me a video and we're gonna watch it together and we're gonna find out what I'm gonna be reading in this video. Hi Megan so I'm very honored that you've chosen me to select books for you to see if we are Booktube twins. Even though according to a lot of people we are already our twins but this is about both twins. I have selected three books for you that I think you're gonna like. I had to sort of dig deep through these recommendations because you already have read a lot of my all-time favorite books and really loved them and I feel like that gives me a little bit of confidence to just kind of choose whatever I want for you. All of these books I've chosen for you, I gave five stars and this first pick I feel like I'm the most confident about this one because as soon as I finished reading it I thought this is definitely a book that Megan would like. It has a lot of elements of some of your favorite books. It's a thriller, it's dark academia, there's a morally gray main character, there's twists and turns and so that book is They Never Learn by Lane Fargo. This has a very addictive plot, a questionable main character who you really root for and it's also sapphic. So I'm very hopeful that you will enjoy this one. The next book that I've selected is probably my favorite book that I've read this year and I am determined to get as many people to read this as possible and that book is A Dowery of Blood by S.T. Gibson. This book probably has some of the most beautiful and lyrical writing that I've ever read. It's told in letters, it's gothic, it's haunting, it's beautiful. This was a book that as soon as I finished it I immediately wanted to pick it up and reread it just to experience it all over again. So I really, really hope that you enjoy this one, even a fraction of the amount that I did. And then my final choice for you, I felt like I would give you a disservice if I didn't pick a romance book since that is what I am known for. However, I do know that you are very new to romance, you haven't read a lot, so I wanted to go easy on you as much as I would love to pick like a wild and crazy romance just so I can see your reactions. I want you to actually enjoy this book. So I kind of go on a safe bet and that is Take a Hint, Danny Brown by Tally Brown. I think that you have read Get a Light, Chloe Brown and enjoyed it. So I feel like this is just the next step. But this is definitely one of my favorite romances and I just can't wait to see what you think of it. So there you have it, the three books that I have selected for you. And I feel like these are a good representation of my reading and a great test to see if we're actually booktube twins. Good luck. Okay, so here's the thing. Riley has pipped well there because they never learn and a diary of blood is how it is called? I can't remember. They are both books that I had on my like want to read or my wish list because of her, because of her. So they're both books that I have been very interested in reading. So I'm so excited that we're going to get them in this video. So I have to go buy them but I do already own Take a Hint, Danny Brown. I did read Get a Light, Chloe Brown. I think I gave it four stars so I enjoyed it. We've got potential here and I've heard a lot of people say this is their favorite of the Brown sisters. I can't believe Riley put a romance on here. I feel like Riley just understood our, our tastes are the same. Bar the romances. How could you do this to me? Question mark. I'm nervous but we're gonna start with this because this is what I own and it will take a couple days for me to get my hands on the next two. So we're gonna start with this and do you know what I feel? This is what I need right now because I haven't read for a week. I'm hoping I'm gonna love it. My first five stars, I will gag, I will gag but I'm not expecting that going into it. So we'll see. Whoa. How far in am I? About 155 pages into Take a Hint, Danny Brown. So I'm nearing halfway.  I'm really enjoying this. I don't know if it feels like a five star, at the moment it feels like a four star but I'm really, really enjoying it.  So we're following Danny Brown. He's a second Brown sister in this romance series and she is very much like no commitment.  I don't want a relationship but she starts to fall for the security guard at her work and he is very much this hopeless romantic and one thing leads to another and they basically end up in this situation where they're in this fake relationship. They're fake dating for the publicity that it brings his charity work and stuff.  Like their kind of dynamics is really funny. It's hot. Like it's been, listen we've only doubled. There's a scene that we're being teased with. I feel like it's going to be like 50 pages away but like it should just happen right now. I just need it right now. I just need it to happen. I just need it. I just need it to happen. I am currently suffering my whole family from fumes. Me and Tom, my boyfriend have been making all of the exclusive books, little like clay books for my patrons. Those are my, those are my raw ideas. We've been making them for the past two days. It's taken us two days to make about like 20 people's pairs, 20 people's books. Like it's a lot more time consuming than I thought it'd be but it's also like it's like poisoning me and my family. We've all got headaches from the fumes that we, because we've got to cook it in the oven basically, the material we use. And so I'm still managing to read this book even when I literally can't do anything else. Like my brain literally can't handle anything else right now. My face muscles are actually like seizing up but I can read this book. Like that's how readable and enjoyable it is.  I think they're just great. I think she really can write these relationships so, so well. So I am absolutely loving it. Again, it just isn't like a five star because I don't know if I'm ever gonna give romance five star. Like I don't know, maybe I will fly down towards the end. I don't know. I feel like part of a five star for me is a certain kind of like dramaticism and like experience of like over the topness or like aura about it that I feel like romances often don't have because that's not what they're here to do. So I feel like that's what stops me giving it five star but I could eat my words. So I'm gonna go finish it. I have finished. I finished taking Denny Brown. I did enjoy this a lot but I don't think I enjoyed it as much as Get a Life Co Brown for first in the series. So I think I'm gonna give this a 3.5 star now.  Okay. I don't have as heart. I'm gonna round up to a four in Goodreads. It does feel like a 3.75 but I think for the purposes of this video and for my like tracking I am gonna give it a 3.5. I really enjoyed it. I think it was hotter than Get a Life Co Brown. Like I much more preferred the sex scenes. They were like hot.  But the kind of parts around it, although I very much enjoyed the fake dating trope at the start, I just got a bit bored in the more like storyline-y aspects of it towards the end. But Telly Hibbert is my favourite romance author. Like at the moment of what I've read, my very limited experience of romance, Telly Hibbert is my favourite. So I did enjoy it. 3.5 is not a bad rating, especially for me when it comes to romance. I don't know if I'm ever gonna give a romance a five star. Like I just kind of don't see that for me. I kind of just don't see it but it's sexy and it's funny and it's smart and it's cool and I like the kind of British, you know, it feels very British, like all the British references in it. So I did really enjoy it but it's a 3.5 if that makes sense. You've been very, very arsed. Nice to meet you, Kelly. Yeah, I really liked Zaf. I really liked their relationship. I just got a bit bored towards the end and I was like, can we hurry up a bit please? Do you know what I mean? I feel like it could have been 300 pages rather than 380 pages. The other two books for this video have now arrived. I'm very excited. So we've got A Dairy of Blood and They Never Learn. I think I'm gonna read A Dairy of Blood next. Quickly, I want to show you because you saw me painting them in the last clip but so if you don't know, in my Patreon, the Rora tier, the top tier patrons get some of the TBR Cluedo books sent to them. And I've currently got 12 Rora tier patrons. We've made 18 pairs on these books. So I've got six pairs and then we've got to make loads again. I thought I would show you because they are basically numbered. So each patron will get the number that they were to join that tier. And then they'll also get a book with a paw print on them. But we've just kind of finished painting them. So Anna was the first patron to join the Rora tier. So these are the books that they're gonna get. But we've got the one and the paw print. Hang on, let me shift the focus so you can see. Oh my god, don't they look so cute? I'm like, I want to cry. This has been like three days of hard work for me and Tom to make all of these. I just really hope the patrons that received these love them because I'm really happy with how they look. They're bigger than the books I use in the game and I think they look really cool. So I'm so happy with how they look. I'm actually nail in like an hour. I've got my first Patreon live reading sprint. So I'm gonna read A Dairy of Blood in that. I feel like I could probably almost read this whole thing tonight. I'm definitely at least going to get halfway and then check in with you. I'm really excited. I believe this is about Dracula's Brides in particular Constanta. I believe it's about the kind of abusive relationship. I just know it's kind of gothic, dark, which I'm hoping is going to get me into like the autumnal mood that we're starting to be in. So yeah, I am so hyped to read this. I this could be a five. I've got five star feelings from it. I've got five star feelings, so let's go read it and I'll tell you what I think on a bit of the way through. Good morning, bitches. I look a little bit like death. I've just woken up and not really awake, but I'm gonna look nice in a bit. So like just we're just we're just gonna live with it. I am halfway through A Dairy of Blood and it's really good. Oh my god. Well, I hate her. I tell you now. I'm really loving this. So basically this is about one of Dracula's Brides.  Oh man, I mean. Death to all of them. Oh Jesus. So it's talking about how she killed him and then it's written in, is it second person? Like you did this, you did that. In a letter to him after she's killed him and it's got this kind of lyrical, beautiful writing and it's very much like talking about how their relationship is essentially abusive, you know, she's something that he owns. She's something for him to own. He has now bought another wife into the kind of setup after like centuries of it just being them. Well, they've had like lovers and stuff, but like this is a wife, you know? This is a wife. He kind of like forced her consent in that and you know, I think now she believes that she does have some level of consent in it, but he did force her hand initially and he's just very like controlling and stuff. So I think it's kind of a look at kind of the underlying abusiveness in relationships through this kind of like fantastical gothic lens. I'm really enjoying the way it's written. It's got this like beautiful lyrical writing that's so like deep and detailed and like fleshed out and beautiful. Like it's we all know writing, it's numero uno for me. It's like somewhere between a four and a five right now. The kind of second half is going to determine which one it gets. It's really complex and beautiful, but like it's a short book and I feel like it's packing a lot of meaning and depth into the pages. So I'm really enjoying it.  And when I return, I'll be gorgeous. Okay. Hey, look at the change. So I finished a Dairy of Blood. I really, really enjoyed it. I'm going to give it four stars. The reason it's a four star not a five star is because we know it was going, right? You get told at the start where this book is going and what the climax is going to be. And I just don't think that's my favorite thing personally. I do like to be surprised with my ending and you know where this book is going. And like if you're going to tell me at the start where the book is going to go, I want there to be a twist somewhat. Like that still happens, but not in the way you expected, but that didn't happen. So that's why it is a four. But beautiful writing, beautiful dark, deep writing, beautiful prose, dark horror, this dark gothic-ness. Like I've, oh, it makes me so excited to read more like gothic-y books this autumn. I also thought it had a really good look at abusive relationships and kind of, you know, the intermingling of love in abusive relationships and how it could be so hard to leave that or remove yourself from an abusive relationship when you still love that person and the complexity of that. I also really appreciated the polyamorous, polyamorous relationship, polyamory, polyamory, okay. The polyamory rep in this. I really enjoyed how all the different characters in this kind of relationship had very different dynamics with one another and how that was explored. That was super interesting. I can't really remember the last time I read a book with a polyamorous relationship. I don't get something that I tend to read a lot of, but it was it was so well done and all these characters had such different, you know, interactions with one another and I loved our main character. I loved the writing of it as a letter, too Dracula. It was just so interesting. It really, it really is the perfect book to read at the start of September. We know. We're starting to get hyped up for spooky season in October. I feel excited for Autumn in a way I never have before. Maybe it's because I'm excited to like make all tunnel stuff. I feel like this was the perfect book to read in this moment right now and it's super quick read. It literally, I took like two hours, three hours maybe to read in total. I think Riley now can't beat Kayla. If my calculations are correct, we're on 7.5. So even if Riley gets a five style in the next book, that will be 12.5 is the maximum points we could get. So Riley won't beat Kayla. However, I'm still having a lot of fun. I've still really, really enjoyed the books that I have read. We're now going to read They Never Learn by Lane Fargo and I am so excited. I'm really, really excited for this. All I know is about a professor who murders bad guys basically. Like a cover of this. Tell me this isn't the perfect book to read right now. Riley really said I'm about to get you into the Autumn spirit. She really said that. She really said I'm going to pull through him again. I'm going to get you into the Autumn spirit. A few people have told me this is the kind of book that they like literally sat down and read in one sitting. I'm hoping that is in the future for me. But yeah, I'm just going to chill out tonight I think and read as much of this as I can. Holy sh... Oh my god. The gag I just experienced. The gag. The gag. The gag. I could not believe it. I was not expecting a twist this dramatic to happen as early on. I'm just about halfway through the book and holy f... Holy f... You guys, something crazy just happened and I'm in shock. I'm literally in shock.  This was... This... It's so good so far. So basically we are following this professor called Scarlett at this university who kills men. She kills shitty men. A shitty mess. No. Girl. A shitty mess. Basically rapist abusers you know anyone like that she kills and she's been doing it successfully for years but now because she worked at this university it's often like the students or workers there she's managed to explain some of them away as suicides but now this kind of investigation is being opened up into the suicide so she's panicking. We also have this storyline with Carly who is a new freshman at the university and it's about her like kind of moving in there and getting to know her roommates and there's like she's got kind of got a whole sub storyline going on and this reads so fast. I read 80 pages and 40 minutes earlier which is so fast to me usually I'm like a page a page in a bit a minute kind of gal like maybe a little bit faster than that but you know like that's it but I am hooked I am flying through it. It's like a fun fast rompy thriller because the twist that is one of my favorite twists from a thriller a long time. My mouth fell open. I was shook.  I can't I have not flown through a book like this like in a long time. The writing's been really good and there's just something about it that has me flying through it. I can't quite pin my finger on it but I'm loving it.  I'm gonna try and finish it and I'll speak to you in the morning when I'm done but I like need to know where this is gonna go like right now. Okay so I just finished They Never Learned by Lane Fargo and I loved it. I loved it. The storyline plots literally I am obsessed. I'm gonna give it five stars. I'm giving it five stars. I'm giving it five stars. I absolutely loved it. I just couldn't get over how much you rooted for the main character Riley said when she recommended the book you know it has this morally great character that you really root for and you do because although she's a murderer I think a lot of women can relate to wanting to you know hurt these men and put them through the pain that they put others through so I feel like you're really on her side. This is the fastest I've read a book like in a long long time. I have not read a book this fast like blown through it in terms of like per page minutes per page. I absolutely just tore through it. I can really see why so many people said that this is the kind of book they could read in one sitting because if like circumstances have allowed and I'd sat down with this at a time when I had like a couple of hours I would have read this in one sitting it was so good in that sense and there were so many going twists so many twists I didn't see coming but also a few twists which I did but in a way that I only saw it coming a couple pages before and it made me feel good because I like it sometimes when mysteries do that like it makes you realize at the same time like a page before and you think you're really clever but you're not the author's like purposely somehow led you there really great characters I really love the way it ended the kind of climax is so dramatic and I was like literally like barely even reading the words I was like oh my god I need to know what happens oh my god I was so into it so I love this I thought it was incredible and there already was not wrong that I would love this it was amazing that twist at halfway killed me like I could not believe it I could not believe it can't believe that I actually can't believe that so if I'm right in my calculations that leaves Riley on 12.5 points which is half a point behind Kayla so in reality they're pretty much tired with being my booktube twins Kayla only like wins by a smidgen so they're very similar in like who I look to for recommendations I could obviously keep on looking to them for recommendations because we had you know a 3.5 a 4 and a 5 from Riley so all pretty good ratings it was just so good I wish I could always read this all over again because I think there's so much hidden in that first half that you don't realise until something is revealed and it was just so good so I hope you enjoyed this video let me know down below if you've read any of these um what you thought of them if you go into the end comment a knife emoji for the murderess in this um and yeah thank you so much for watching I hope you enjoyed this vlog and I run out of things to say okay I'll see you soon in another video bye


So good morning, everyone. Good morning. My name is Akira Matsuda. Today, I'm going to talk about my personal history, I mean, story about Ruby template engines. I'm from Japan. My name is Akira. I'm an ATSUDA on GitHub. And I usually work on Ruby and Rails projects, also these actual projects, I mean, the Ruby language and Rails framework on GitHub. So what I mean by template engine is a kind of software that compiles text files plus Ruby into HTML files, particularly on Rails, the files that are named as app views, something HTML, something. So my first Ruby template engine was, of course, ERB. It's default, right? It's included in the CRuby package as standard library. So I guess everyone's first Ruby template engine must be this one, right? The syntax is very straightforward. You can put some Ruby codes into the HTML file with these special tags. And to me, it looks like very familiar at first because I used to be an ASP and PHP, JSP programmer. And basically, these languages are the same. So, and the spec, the ERB spec is, the specification is actually defined as ERuby. And ERuby was created by Shugo Maeda, was Matt's boss at his company. And he said, he copied, I asked him and say, so he said, ERuby was not his original. He copied the syntax from the URL. So I just wanted to mention that it's not Ruby's original. So ERB sometimes sucks because, for example, if you want to render something like this, we often make mistakes like this, right? Then what's going to happen? The HTML break, it's going to be broken, but it kind of works on the browser because browsers are so clever and kind of rendered somehow. So sometimes it does work, but sometimes it does not work, which is so annoying. So I was always wondering why doesn't the framework like ActionView or ERB or someone, why don't someone validate the response? The framework has to do this job. Then one day, I met Hamel, this boy. Hamel is, according to its official site, it's a templating high crew, which means the template is beautiful and dry and well and then in clear markup. And it parses the markup, then compiles into an HTML. So as far as compiler is working, it always outputs valid HTML file. So the problem was solved. Hamel file looks like this. It's very high crew. So yeah, I really loved it because we're no more having these broken HTML problem. So then one day, the Rails newbie came to me and he said, Hamel is slow. Why Hamel is so slow? This is what he experienced. His JSON API works very fast, but with the same data on the same controller, when he rendered Hamel, then it's very slow. So his assumption is Hamel was slow. This Rails newbie's name was Minero Aoki. He is a Ruby committer. He graded Net HTTP file details, wrapper, rack, emails, tons of these core libraries. And also he's an author of the legendary Ruby book titled Ruby Hacking Guide. So he used to be a Rubyist and he once quit from being Rubyist. Then he came back to the Ruby world very recently and he started using Rails from two, three years ago. Then he found that Hamel is slow. And his book, Ruby Hacking Guide is available online. You can read in the English version here on the internet. So please check this if you're interested into the Ruby's implementation. So I thought, yeah, Hamel might be a little bit slow because it's going to do, like the parsing Hamel is very slow because the syntax is complex. So I thought, yes, I know he's a superstar but he's a newbie on Rails, so maybe he's wrong. Maybe his Hamel code has some problem. I said parsing and compile Hamel is a little bit slow but that doesn't really matter because ActionView caches the compiled Ruby code. Then the second request will be returned from the compiled Ruby code. So compilation runs just once, basically. So who cares? By the way, if you think your Rails view is slow, probably it's because URL for it is slow. My advice is avoid using dynamic URL for a generation like URL for a link to. I'm sorry to say this but these methods might be very slow. So we're going to fix it on Rails 5 probably. Anyway, let's make sure that my assumption was right. So let's compare Hamel and ERB and let's make sure that Hamel is not very slow. So I just create a new Rails project and very basic scaffold like this put 1000 data, 1000 records and run this in production and make 100 requests. Let's take a look at the log file. You see in the log file it shows the total response time and view rendering time, right? So let's make 100 requests and summarize the view rendering time. I did this for Hamel and ERB and the result was like this. So mineral was right. Hamel is a little bit slower than ERB. So Hamel is slow, like 7% slower than ERB. So what should we do? Let's do nothing. We just should let it be slow. This is what I mean. So the 7% performance difference is not a big deal because that's not a bottleneck perhaps. Even if the template engine is like 7% slow but the total response time will be like maybe less than 1% difference. It's not a big deal. So if you really care about the performance then you should stop using Ruby. What we Ruby should really care about is the balance between performance and these things like basically developers' happiness, right? Actually just last week I gave a talk at Ruby on Rails. I mean, Rails. And as I mentioned in this presentation, if your application is not fast enough, add more servers, that's the solution. Or as a second thing we can do is switch back to ERB. If you really care about the 7% difference. But to me, syntax matters. Again, the balance is important. If your template engine becomes 7% faster, the user experience will surely just a little bit improve, I'm sure, but it makes you unhappy probably. It's a motivation killer for me. Or as a third solution, we can find something else, something faster. So how can we find something else? When we find something, we do this. I mean, we do this. I did this, then Google taught me that there's something called Slim and someone is claiming that Slim is fast, so we should use it. The internet said so. So Slim. Slim is something similar to Hamel. It's built on top of a kind of template engine abstraction framework called Temple. The syntax looks like this. I mean, I just wanted to print out Hello World. It's just Hello World on ERB. It's just Hello World on Hamel. But with Slim, you need a pipe for some reason. If you want to print out bigger Hello World, then you can do the first example, H1 Hello World. The first H1 becomes the tag, and the rest will be the content of the tag. To me, it looks weird. It's a matter of taste, but I prefer Hamel's straightforward syntax. So yeah, Slim might be faster than Hamel. I don't know. It's a good marketing. I love it. I mean, really, it's a good marketing. So you can choose, Slim, if you really care about the performance and if you don't care about the syntax. You can choose it. But I don't want to write the pipe thing. So this is my take, improve Hamel. Of course, the faster software is better than slow software. So even if it's not a very critical problem, still it's better to improve. And I really don't know why, but I had a commit bit to Hamel project once I made this pull request. Hamel didn't work in Ruby 189, so I just added 2s here. I had to do this because our application was still on 189 at this moment. But it was 2013, so probably they didn't want to work on 189 anymore. So they gave me the commit right. Anyway, so I got the commit right with this 2s. So anyway, I started reading Hamel, and I made some commits like this to improve the performance. But still, Hamel is slow because after this improvement, for example, if you compile this ERB saying hello, it just prints out hello, it's going to be compiled into this Ruby code, urb out hello. And if you do the same thing with Hamel, Hamel compiles this code into this huge amount of Ruby code, which is apparently very slow. Yes. It's a haiku. So apparently the Ruby code is problematic, so we have to improve this Ruby code to be like this, like this. And so what I did was this. If you want to make some change on the software, you need to care about the compatibility. And I tried to improve without forking, but I found it's impossible without breaking the compatibility to make it faster, as fast as ERB. So I forked it. And actually I kind of talked about this at the last Ruby call. I named it HamelX. Current status is still undone. So current status is, I did this this morning. It's pretty close to ERB, but still a little bit slower. So I haven't released this yet. I'm still working on the fork. This is my take to make Hamel faster. And this is the sixth option. Not to fork Hamel, but create a new one. So my co-worker at Cookpad, a company called Cookpad, which I'm consulting, this person with a weird name, Eagle Tomato. I don't know what it really means, but he has this weird handle name, this guy. After my talk at RubyConf, he started creating his own Hamel, just for fun, probably. So my approach was fork Hamel then cut slow parts from the fork. But his approach was he built Hamel from scratch. His concept was like this. He started building Hamel on top of Temple, which is used for creating Slim. The creator of Temple, I found this from his blog. He said, it's worth trying, but the author of Hamel said it's very difficult because Hamel is so complex, so difficult. And I actually tried to build Hamel with Temple, but I gave up. It is so difficult. But he did it, because this 24 years young hacker is, apparently, he's a better hacker than me. So this is the repository. It's actually already gemmified, so you can install and use it. And Benchmark shows it's super fast. I guess it's possibly faster than Slim, because he made some trivial optimizations that even Slim is not doing such optimizations. So I guess this is the fastest template engine at the moment. But this is still an experiment project. No one uses this. It's just a toy project, basically. So I guess it's not stable, but it's fast. And there's another problem, the name. It's named Fast Hamel, which is a terrible name. But still, it's worth trying. If you're really sure that your bottleneck is in the template engine and you really want to make it faster, then this product will be the best solution, I think. Or if you just want to experience the world's fastest template engine. So my talk was titled, The Quest for the Ultimate Template Engine. The Ultimate Template Engine, in my opinion, has to have a good syntax and good performance. And we're getting pretty close to the Ultimate Template Engine. So please stay tuned. Stay tuned. Or you can do it, of course. You can make it. You can patch Hamel. You can create your own engine, right? So this is my message. If you're interested, please join us. Thank you.


Welcome back to tennis talk. My name's Cam Williams and Matteo Baratini has officially qualified for the ATV finals He is the sixth player to qualify for the year-end finals Meaning there's only two more spots up for grabs going into Turin this year Remember last year it was in London, but that is change now. That's gonna be in Italy now Let's start with the players that have already qualified for the year-end finals starting with the world number one Novak Djokovic. He is already qualified as has Daniel Medvedev. Stefano Siddi pass. He's number three qualified It's very of it for Andre Rublev. He qualified last week at number five and Matteo Baratini He's the sixth player to qualify for the year-end finals Let's go have a look at the contenders for the year-end finals now because there's a few players that are very very close to Qualification it'll take 3860 points to qualify for the finals and Casper Rudd. He's next in line He's on three thousand fifteen points who be her catch. He's in number eight at two thousand nine hundred and fifty five points So if the ATB finals were to be tomorrow those two would qualify Cam Norrie who just won Indian Wells He's on two thousand seven hundred ninety five points at number nine. Sinnerate number ten at two thousand five hundred ninety five points And he's playing this week in Antwerp so he can add to that total with a good week this week. Ojalia Seem He's at number eleven with two thousand three hundred and thirty points. Azlan Karatev at number twelve on two thousand and thirty points And he's playing in Moscow this week So some points up for grabs for him. Krinyo Buster. He's at number thirteen on one thousand nine hundred and twenty five points Basilash Vili after making the final of Indian Wells. He's at number fourteen at one thousand eight hundred and eighty five points In Denyshapov Arlov at number fifteen on one thousand eight hundred and thirty five points So those players are the real contenders But they have to play well Especially those ones down the bottom in the next couple of weeks So the ATB finals is starting to shape up nicely only two spots up for grabs Let me know down the comments below. Who do you think's gonna qualify because with Nori winning Indian Wells? It's really thrown a spanner in the works We don't know if her catch and Ruder gonna win in the next couple of weeks and qualify anyone could get there Especially if you have a good week in Paris if you play well in Paris like what Jack Sock did a couple of years ago You can sneak into the finals quite easily because it's very very close down the bottom So there's gonna be finals. It's only a month away and the field is starting to take shape


Okie-dokie, it's retro time, Lydia. Okay, retro check this week. I'm going to highlight some more things from our Celebrations of All Things Retro Mac-ish. Love Apple stuff. I'm dancing on the line of maybe it's not a good... So we have things like the Apple Newton. I'll talk about that in a sec. Can we have other things there? They're like the new... Even like the next computers, it's kind of close. But anyways, we do have some fun things. These are the Apple Design Speakers. I think if it wasn't doing like the Mac-a-hey-day, right, of like 1985 to like 95, that's fine. So these are all in the Adafruit collection. We also have the Black Speakers. Now these were a special, somewhat more limited, rare edition. These paired well with the Apple CD, which we also covered. And then here is a clear Newton. This was super rare and this was given away at a developer event by Apple when they wanted people to make applications and more for the Newton. Clear aesthetic is super cool from the Adafruit collection. Then we have our box copy of HyperCard that was still sealed. We haven't cracked out the floppies, but this was kind of what started a lot of this on programming. You used to use HyperCard. What did you make with HyperCard? We were talking about this on Best of Learning. I made games and I made like interactive, like weird art stuff. Yeah. Do you think this helped you on your path to where you are now? Totally. It was my first... Yeah, it was one of my first programming languages. It was probably my first, like, true date declarative language. Previous ones were like scripting, but like this one, you know, you had variables and you set them. Like I tried to learn Pascal, but Pascal, you know, because that was what people programmed Apple computers in. But it was it was too difficult for me. I couldn't, I didn't know what an integer was. And I got really stuck because I didn't know what an integer was. I kept using the word integer and I'm like, I don't know what that is. I think the closest thing now is like, yeah, there's like made coding and everything, but as far as like programming, a lot of people are getting started with Python and like block coding languages. I'm a little worried that there isn't something like HyperCard for young and so, you know what I mean? Like HyperCard, it was a different time and place and there wasn't internet. It wasn't there. And it was just before the idea of stacks and stuff like that. Yeah. So anyways, I have a little two minute video that has it's from Computer Chronicles and it has one of the creator of HyperCard and it's a long video online. It's like 26 minutes long, but this is just a two minute clip just to show you like how interesting and powerful this is. And there's still nothing quite like it. So take it away like 1980 something. HyperCard, what is it? It's not Hyper. It's not even a card. It's not quite system software. It's not quite application software. Did you tell us what type cards all about, though? Well, really simply put HyperCard is a software erector set. It lets non programmers put together interactive information. Show us how you actually do this, Bill. You use cards that contain graphics and text and buttons. Here, I've got a stack of cards and I can press on this button and it will take me to another card. OK, that button's particular function is get to the next card. Right, you can have lots of buttons to do different things. Buttons can do things like dialing the phone and taking you to cards and lots of different things. Whatever you tell it to do. Yeah. OK. The cards are grouped together into stacks that you put on a floppy disk and can share with somebody else. And you can organize it so that any card can jump to any other card. Is this where you get that notion of hypertext and built into the hypercard system? Yeah, it's kind of the freedom to organize the information according to how things are associated with each other, not just according to the next card in the list. Right, OK. The buttons, as I said, can do lots of things. Here's one that makes a noise and sounds. And you can have lots of different kinds of cards. The standard 3x5 card is a little weak metaphor, but you can include things like an expense report or maybe an appointment book, things like that. Lots of different kinds of things can be on cards. Even little interactions. Here's a little keyboard that you could click on and it makes sounds and moves the note accordingly. So you can do things within a card itself. A card is just not some information. What's real important is that cards contain both information and interaction. Right. All right, so, you know, watch our posts posts on everywhere with the tag, Marchantosh. Especially on Tumblr. Especially on Tumblr because that seems to be where the most people are sharing these type of projects, which is also messed on. But either way, we link to all the places. On Desk of Lady Aida, you showed the Prince Floppy project, which is, I do want to show this live, though, because that could look like a label. This is actually an LCD screen. So why don't you unplug it and plug it in? So this is a representation of what we have on archive.org. I'm going to back up more. Sorry. Yeah, I got it. It's a floppy. It's a 3D print floppy. This is the PyPortal project. And then when you plug it in, it displays, you saw a second Python, fine, right, real quick. It displays the logo that Prince sent out on all these floppy disks a while ago. So I thought I would do is show you the archive.org page. So you can also go to our website. The Prince symbol has been salvaged from a 1993 floppy. This is Neil, Neil's big Prince fan. Had this, we were able to copy it. We were worried that this would destroy the disk. There's not that many left. And when Prince changed his name to Lars, from what he knows, Prince had to send out the font to all the journalists to say, if you're going to write about me, that's my name. So we were able to duplicate it, get it to archive.org. I think you've got to go to archive.org forward slash details for slash Prince underscore floppy. This is what the original floppy looks like. And so what we're doing is preserving exactly what's on there and putting it on this. Essentially, it's a USB drive with a screen. And we're going to give this to Neil, who was kind enough to let us mess with this to get the job.  I think we test it with a random different floppy to make sure that the floppy disk wouldn't damage the disks. Like you could read it from it. And then we carefully put the... Worth noting, this is a yellow disk. I'm sure they didn't have purple floppies at the time, but ours that we have is purple. And we're going to send this over to... And sparkly. And sparkles. So we thought that was kind of cool. But if you think about it, you could do this for anyone. We wanted to make this as an idea for a gift. So let's imagine there is something special that someone remembers a game that they played.  You can put it on there, give it to them and put the emulator on there. There's lots of things you can do. Anywho, that's our retro stuff.


guys welcome back to our channel. My name is Andrea with Food and Mentory Adventures in Food and I am here today with a quick fill-in haul from Tom Thumb depending on which region of the country you're in. It's also known as Albertsons and Safeway as well. So let me just jump in. I spent 56 bucks there and some change. I'll start over here with some food that I picked up for Harrison. This baby food was being clearanced out 50% off. Not sure why. The expiration dates are like April of next year. So this is creamy chicken and stew with vegetables and I thought that was a really good deal. It was only a dollar 24. These twin packs of food were 79 cents each I think. So I got mango apple twist and also got him an apricot mixed fruit and then he is kind of iffy about puffs but I couldn't pass this up. Blueberry and purple sweet potato. This was 79 cents too and then I just got him some of his favorites which are these beech nut and if you buy four you got to buck off and they were a dollar each. So I got him two sweet corn and green beans and two mangoes. He really likes mango and then I grabbed some cabbage because I plan on doing some fried cabbage or I may do a sausage and potato soup I'm not sure but our what for dinner videos come out on Tuesday so if you're interested in seeing what we have for dinner definitely hit the subscribe button. I also grabbed some sweet potatoes. I personally love sweet potatoes. Harrison loves sweet potatoes. Howard is not a big fan of sweet potatoes unless it's like in a dessert or sweet potato casserole but if I were to just bake these and add some brown sugar and butter he's not into it so I got some sweet potatoes for Harrison and I and then also got this cornbread swirls I've been wanting to try this and I had a rewards coupon for this so it ended up being 91 cents I think it was like two dollars and something off or a dollar something off whatever it was my total was 91 cents so I'm excited to try these because I heard that they do taste like cornbread and then I got these two packages of beef fajitas for 50 off so it's 50 off of that 450 and fun story about this I got in my car and I thought to myself I don't think she took the 50% off because when it has these little stickers on there the cashier has to scan it twice in order to get the discount normally what I do is I put stuff like this on the belt last when I'm so that I can be there when the cashier is ringing it up and I didn't and so she didn't take off the 50% so I had to go back into the store after I'd already gone out to my car and packaged packed everything up to get my money back on these so anyway then I picked up this chicken mandu excuse me bulgogi chicken mandu so Howard and I really love this particular brand and they sell it at Costco and we normally get the beef bulgogi mandu I didn't even know I don't think I knew that Tom Thumb sold this brand at all so I happened to notice that they had the beef bulgogi but then they also had this chicken bulgogi and I have mentioned that I'm a huge Korean food fan and I have never seen chicken bulgogi dumplings and they were actually on sale I think they were $5.99 so I wanted to give them a try um I needed some Italian sausage and I've never bought their brand of Italian sausage so I'm gonna throw that in the freezer and then I found these quick steaks on sale and it's kind of like steak um but it's chicken and these were on sale for 50% off so this package was I think three dollars and something so I'll use this probably for um like chicken filly cheese steak or something not quite sure um also found this package of pork steak on sale as well so there are two large pork steaks in here and it was 50% off of three dollars and 13 cents so these two steaks were a dollar 50 something I have been looking everywhere for green enchilada sauce for a recipe Walmart Kroger you name it couldn't find it finally found it here and it was a dollar so I grabbed two cans just in case their eggs were on sale for 49 cents each um I had also a reward coupon for these heat and eat cinnamon rolls I think they were originally 450 and so these ended up being a dollar 99 you get four of them and it says you heat them in the microwave I'm not a big microwave person I didn't read all the all the directions I'm hoping I can pop these in the air fryer or something so we'll see I also had a coupon for cabbage cheese and I wanted to give that a try and then I also had a coupon for the Tillamook as well and I've had this before and I really like it it's um aged cheddar cream cheese spread and they have different flavors like vegetable strawberry etc but I just spread these on crackers and eat them and I'll have some lunch meat for a quick snack or for lunch sometimes we are going to be having hot dogs pretty soon so I needed some buns I have talked about this garlic toast before now normally I get the five cheese garlic toast but we have some in the freezer and I've never given their original just plain a try so I decided to give it a try today and it was on sale for two I think 32 I think and then another um sell item that they had was you can get you could get three large boxes of their cinnamon toast crunch and a couple of other um cereals in the general mills um brand and you get three boxes for five bucks so I had I grabbed those for Howard he loves this stuff and he eats cereal in the morning all the time and then I happened to have a coupon for a dollar off two so I got three large boxes of cereal cereal for four bucks um on a recent grocery haul I bought a box of diced tomatoes from Sam's but I needed some petite diced for a recipe so I grabbed two cans and they were on sale for a dollar each randomly I just needed some binder clips they were a dollar 25 so I grabbed those they are clearancing out a lot of their spices and I have always wanted white pepper um and so this was like 75 cents so couldn't beat that they had a lot of really good spices but my spice cabinet is already packed if I didn't have any spices I would have racked up but I didn't go crazy on that this peanut butter was free it was a reward item for me so this was free and it was originally 4.99 and then um this pepperage farm stuffing was on sale too and I use this specifically for my chicken and dressing castle casserole recipe which I um did record a video for this and it is on our channel so I'll make sure to link it in the description box if you're interested so anyway that is all that I picked up from my quick fill-in haul I hope you guys enjoyed this video if you did please make sure to give us a thumbs up if you have not subscribed to our channel I certainly hope you'll do so thanks so much for watching and we'll see you guys next time


Hello and welcome to Prophecy Files. I'm Pastor Joey Rogers and thanks for joining us today. Certainly we are right in the middle of a global pandemic that is affecting every one of our lives. And Bible prophecy is being fulfilled moment by moment in the middle of all that is happening. It's a time when we must be alert and awake to the season that we are in recognizing that the imminent return of Jesus Christ is certainly upon us. And while that has been sounded and trumpeted by teachers and preachers throughout the ages, I believe that we are seeing the nearness of that in each one of these Bible prophecy signs that are all around us right now. In fact, I just wanna share just a few of them with you because from the texts that we're going to use in Matthew 24, the Bible tells us very clearly Jesus speaking to his disciples to be sure that you're not deceived in these last days that certain things are going to take place before the coming but at the end is not yet. In fact, today I wanna share with you from that one phrase in verse eight, the beginning of sorrows. I believe some of the signs that we're seeing right now are those beginnings of sorrows that Jesus spoke about. In fact, earthquakes is one of those signs and we've seen more than 600 earthquakes and tremors that have happened in the middle of the United States alone in the past few days. And one that was certainly measurable at a 6.5 in Idaho, which has been the largest that they've experienced since 1983, not only that, we've seen how that people have absolutely defied the authorities and the warnings that are coming from those in leadership concerning this virus that is highly contagious and passed from person to person very easily in light of people that have stayed on the beaches during spring break and just gone about life as if there's nothing going on.   I think they're blowing it way out of proportion. This is the reason why we recognize the days we're living in as the ones like Jesus spoke about concerning the days of Noah and the days of Lot. And as we look in one particular article, we're nearly half of 70 students from the University of Texas have now been tested positive for the coronavirus as they were going into Mexico days before shutting down of nations as it were. And because life just continued as it was here in the state of Florida, now many that have contracted it because they ignored the warnings have simply come to a place now where the reality of it is upon them personally. And it is so important that we heed the warnings today and not ignore it. This is not some test. It's not some global conspiracy for that matter. I believe beyond the shout of any doubt in the middle of all of this, God is allowing and using the events that are taking place today to shake the very core of humanity all around the globe. And at this very critical hour when the world and the nations are focused upon the coronavirus, President Trump said just a few days ago in the press conference that Iran has now come to a place where they are planning some kind of sneak attack through one of their groups that they sponsor, but ultimately the core of it is in Iran. Now, how important that it is that we pay attention because this is of course that opportune time when terrorists and enemies would like to take over. And we recognize that there is a global dictator that is on the horizon ready to step in, that the Bible predicts would take place. The world is set right now for that kind of entrance of an individual that is named in the book of Revelation and in the book of Daniel as the one that is coming, the Antichrist, the beast, all of that, those titles describe an individual that would take over the world in a time when they would be called and rise out of a sea of people, when people begin to call on a leader to help them to get out of a crisis, help them to get out of a situation. Now, let me make it very clear to you because this question has been asked multiple times in recent days, are we in the tribulation? No, we're not in the tribulation. All you have to do is read the scripture, understand in the book of Revelation that the very first entrance to that tribulation occurs after the rapture of the church with the entrance of the Antichrist. From there, there are subsequent plagues that come upon this world. And I wanna share something with you. I want you to stay with me because at the close of this prophecy files episode, you will want to hear how you can be able to reach people in this very critical hour. President Trump said that Iran could be planning a sneak attack. And even in the middle of that, are the officials of the United States have said that we have been sending resources to Iran to help them as humanitarian efforts to help their people get out of this virus and crisis as well. There is no doubt in my mind that the Bible is 100% accurate in predicting the future for all of humanity. And what is taking place right now, certainly is part of the signs that Jesus said would come upon the earth as it is signaling his imminent return. Now in Matthew 24, the Bible says that the disciples came to Jesus and ask him the question, when is the end going to come? When are you going to return? When is this going to take place? And he said, take heed that you be not deceived. And then he goes into a list, Jesus does, of what would take place prior to his return. Now some of this we understand that we'll be involved in the tribulation period. But the phrase that I find interesting in verse number eight is that Jesus said that you want to be careful. Don't panic during this time because these are just the beginning of sorrows. I do believe that what we're seeing right now could very well be these beginning of sorrows that Jesus speaks about prior to the tribulation period. The Bible says that these beginning of sorrows are described as birth pains. You understand when a woman is giving birth that there is indications that the child is going to arrive by the more difficult pains that she is getting and the more frequent pains that are coming. These are the birth pain signs that we're seeing I believe right now according to the scripture. And what we're experiencing now in this unprecedented plague that is upon us in our modern lifetime. Certainly there's been others in the Spanish flu and other plagues that have hit our land. But in modern times, this generation has not seen this in a hundred years. And it is certainly something that is growing day by day. And the leaders have told us that in the days that are to come that we could expect even worse as we're watching things approach even what the Bible would call as a death angel plague coming through our towns and cities. God knows without any doubt what is taking place and he cares about what is happening in our world. And he has described in the word of God what is going to take place not only now but in the days that are ahead. These warning signs are for all of humanity. And Jesus describes them as the beginning of sorrows, these birth pains. Now I want you to understand that the purpose of these birth pains and beginning of sorrows and even going into the tribulation period, the events and the plagues that would take place, the hail falling from the sky as described in Revelation that would take place in the tribulation period as well as plagues and pestilence that would come. Even seeing some of that taking place right now and this global pandemic. Ladies and gentlemen, these are all a warning signs for us to turn to God in this very critical hour. All of this I believe is set in place so that people will turn their face back to the one true living God, whose son is Jesus Christ for their salvation and for deliverance. Jesus described these times in Revelation in the book of Matthew, I should say 24, Mark 13, Luke chapter 21, all of that to inform us and to encourage us in these particular ways. In Matthew 24, he says to us, first of all, don't be deceived by all the voices and the media and everything that is swirling right now. Don't let your life be deceived by those that are bringing to you false information or some kind of skewing of the scripture. That's what the enemy Satan absolutely wants to take place, twisting of the word of God. Secondly, he says, don't panic. In this hour prepared people don't panic. The people of God are not to panic because we trust in God. Thirdly, he says, be patient in what's taking place. This is not the end yet. This is just the beginning of sorrow. Well, Pastor, how am I supposed to respond in this? He says that it's important for you to know that this is a time to witness like never before, that this will be your opportunity to bear witness that Jesus Christ is coming again. And there is no subject that will garner more attention by people that don't even know what the Bible says or anything about Christianity that will speak to you about coming signs and the fact that Jesus is coming again. So how do we find peace in the middle of this pandemic? Well, the Bible is where we turn to. Philippians chapter four says, don't worry about anything. Now take note of this. Don't worry about anything. He said, pray about everything with thanksgiving. Let your requests be made known to God and the God of peace shall keep your hearts and minds in Christ Jesus. What is the answer to this? Sometimes when you've gotten the information that you need to get from the news or whatever you're listening or watching or reading, it's then time to set it aside, turn it off and go to the Lord in prayer. Go to the Lord in praise and thanksgiving. It's important for us to let our requests be made known, pour out our heart. I truly believe that one of the signs of the times that is coming, even now, you can see it happening in society where drug dealers are absolutely boasting of their sales tripling in the streets of New York City. We realize that anxiety and stress and alcoholism is rising to a new level in this crisis. Listen carefully to me. The only way to combat the anxiety, the stress, the pressure and the panic of our time is to go to the Lord in prayer, seek His face, pour out your heart. He knows exactly what you're thinking. If you're fearful, if you're anxious, pour it out before God. But don't leave His presence before you begin to praise Him because it's in the praise and the presence of God where He will come down and comfort and strengthen and be able to bring relief from the anxiety of the hour being in the presence of God. The Bible says in Luke chapter 18 and verse number seven and eight, He tells us very clearly, listen to the scripture, and shall not God avenge His own elect which cried day and night unto Him though He bear long with them? Listen to verse number eight. He says this, I tell you that He will avenge them speedily. This is God. Nevertheless, and here's the key for us, will the Son of man when he's coming shall he find faith on the earth? This passage of scripture is directly connected to our prayer life. This is important for you to understand because in this hour, people are gonna lose faith and some are gonna come to faith. In recent days, we've heard of people that have been witnessing to people that have never known Jesus Christ and their interest and their need of Jesus Christ has been made so clear and aware and they've led them to the Lord and the saving knowledge of Jesus Christ. If that's what this crisis is all about and I believe that it is, then this is what we need to be doing so that when He comes, He will find faith on the earth and then ask God for wisdom in this hour. The Bible says in James, if we'll ask for wisdom, He will give it to us abundantly, wisdom of where to go, what to do, when to go. All of these things as we are led by the spirit of God, as we see these things coming upon us, don't let our hearts become fearful and allow the anxiety of this world to overcome us as believers. Ask God for wisdom. At the end of this, understand that we are to look for those opportunities to witness. Here's what the Bible says in Matthew 24. Jesus said, you can know when these things are coming as the kingdom, the gospel is going to be preached. It shall be preached all around the globe and then the end will come. I've got a powerful statement from the mouth of Jesus Christ to know that it is actually happening as we speak. Preachers, evangelists, people that have never been on social media before are sending the signal of the gospel around the globe 24-7. Prayer is happening like never before. House meetings that are coming together with people joining together online with different social media platforms. This, my friend, is the turning that needs to take place. One prophet, I believe of God, David Wilkerson predicted that there would come a plague that would shut down governments and churches and nations. He predicted that in 1986. You need to understand that I believe it's coming to pass even as we speak. As a plague would come through the streets in this prophecy he predicted. And a third great awakening that would come to our world and to our nation would follow that plague. I am praying and believing God for that and I'm seeing the results of that happen. Let me share this with you before we leave today. I spoke to a gentleman the other day who was sharing with one of his coworkers about the fact that of the events that are taking place and his coworker said, I can't believe that it has gotten like this where everything seems to be shutting down. And the believer, the Christian that spoke to me about this event, he said, it's really going to get worse in the future. And if you miss the rapture, he said, then it's going to be worse than what we're experiencing right now. And that individual said back to them, you really think it's going to get that worse? He said, the Bible tells us so. Suddenly there was an interaction of the gospel that began to take place. That individual began to turn their heart toward the Lord Jesus Christ. That same believer went to someone else who did not claim ever to have known Jesus Christ as their savior. And they began to share about the coming of the Lord. And that person said, I hope things don't get worse than what they are now. He looked her in the face and said, it's going to get worse. The Bible says that it's going to, but there's hope that is found in Jesus Christ. As he shared the gospel, just like many are doing right now, concerning these end times that are happening right now, the look of confusion, the look of dismay, shock, wondering what the future is going to hold. And then as my friend began to share with that individual, the hope that is found in Jesus Christ, he said, it almost looked like the light bulb went on in their face as they realized that their only hope is in Jesus Christ. My friends, that is our hope today. And I want to encourage you to know that God has all things under control, that all the way back in the beginning, God knew what the end was going to be. It's all predicted, it's all written down. All we need to do is read the Bible and then trust God like we never have, witness like we never have and stay prayed up because the days that are to come certainly will be filled in the hearts and lives of people with much fear. But for those of us who have faith in Jesus Christ, this is an opportunity to reap the last day harvest. I encourage you to do that with all of my heart. And if you're taking a time to watch this right now on Prophecy Files or any other platform, please share it out with others to give them hope that God has all things under control and that the only door to the future with confidence and hope is that of Jesus Christ. He is the way, the truth and the light.  Thanks for joining us. We'll look forward to seeing you again right here on Prophecy Files.


Bang Bros user, I watch F1 racing and when Ukraine was attacked, this one Russian driver was let go because his team didn't want to look bad. SMH. We've gone so soft, yeah. Pathetic.  When this thing, like mad, right? When this whole thing happened, Russia attacks in Canada, they cancelled a 9 year old, 10 year old Russian musician, a child. They cancelled him.  I was so mad.  I stopped trading because I was too angry to trade. Okay.   After this, I hope we do better. Gang, do not forget, do not forget. Free Assange, Free Assange, Free Assange. Julian Assange is a publisher and journalist that has been crucified for trying to be transparency and accountability of capital's power to humanity. Something that we desperately need in our societies. For more information, see wikileast.org, defend.wikileast.org or countless resources available on free speech platforms.