666

September 13th, 2023 × #hackweek#automation#markdown#productivity

Hackweek Projects - Realtime Markdown Editor and a Hardware Recording Button

Scott and Wes discuss the projects they built during a hack week at Sentry, including a real-time markdown editor and an automated recording button.

or
Topic 0 00:00

Transcript

Scott Tolinski

Welcome to Syntax.

Scott Tolinski

We're gonna be talking all about Our Hack Week projects that we did for Sentry. That was a a really awesome fun week we had working on some Fun, exciting projects for a hack week. SENTRI does this annually. This was our 1st hack week with SENTRI. So we decided to to go all out and Try to do some fun stuff. So we're gonna be breaking down what we did for our project, some of the approaches we took, some of the lessons we learned, and some interesting tidbits about, While working with hardware, working with multiplayer, working with markdown editors, and those types of things. My name is Scott Talitsky. I'm a developer from Denver. With me, as always, is Wes. What's up, Wes?

Wes Bos

Not too much. It was super fun to do a century hack week. I had never Like, I know a lot of companies. Maybe we should explain what that is. A lot of companies will set aside some amount of time throughout their year. Often a lot of companies will give you a whole week and say, all right, this week they specifically said don't merge anything Unless it is absolutely necessary because everybody's working on hack week stuff and basically get the whole week to just kind of work on Literally whatever you want. So there's all kinds of different 1 team made hot sauce and they gassed out the entire Toronto office.

Topic 1 00:52

Scott and Wes discuss doing a hack week at Sentry

Wes Bos

A bunch of teams and, like, a bunch of the Sentry rid. Product features have come out of Hack Week, which is cool. So, like, often somebody will say, like, you know what? I got an issue with how we do Feature flagging or I have an issue with something in the application. I'm going to fix it during Hack Week. And then other people like someone made a skate video with the syntax deck, which is Unbelievable. So some really cool stuff. Really, really cool stuff. And, honestly, you know, like you were saying,

Scott Tolinski

It's an opportunity for for people to work on things that are just creative projects that may turn into actual products. And so, like Yeah. Rid This is a good opportunity to say that, you know, this show is presented by Sentry who does error error tracking, exception handling, and and finding of bugs and performance metrics and all these types of things that you need to make your app run smoother. Right? But what people were doing would they they would take Certain products that either already existed within Century and say, hey. What if we hacked on them a little bit? What if we what if we made the, rid like, one of the ones I really liked was the user feedback thing.

Scott Tolinski

And, oh, by the way, this is super weird. This is really inside baseball for all these people. We record on something rid Riverside, and I happen to gesticulate a lot when I talk. Yeah. I was wondering what that was. And for some reason, within the past 2 episodes, I've been doing, like, thumbs ups while I'm talking, and a little thumbs up bubble appears next to my head in Riverside, but it doesn't do it for Wes. I don't know what in the world is going on. I I cannot, for the life of me, I don't want it to do that because I just just dig I just move my hands are doing this stuff. So, rid Well, that's interesting, Riverside. Thank you. Either way so people will take, like, a feature. One of the ones I really liked was, like, the user feedback re section in century, and somebody was like, well, what if we did this whole screen capture thing? Like, they have it in Google user feedbacks, and then that, like, brings it directly into century that way. It was, rid Really cool to see, like, the effort that some people took and maybe the creativity they took with existing Sentry features. And it made me be like, oh, man. Next year, I I wonder what I could do to dive into actual century features and and make something interesting Century focused rather than syntax focused.

Topic 2 03:39

Scott built a real-time collaborative markdown editor

Scott Tolinski

My my my project was syntax focused as your as was yours. So let's hear about your your, rid Hack Week project. For my Hack Week project, you know, one thing that we do is we edit our episode notes, especially when we're collabing and writing our episodes or possible episodes. We do it in Notion. And now I do wanna say that my project of episodes. We do it in Notion.

Scott Tolinski

And now I do wanna say that my project probably isn't going to be replacing Notion anytime soon because, you know, Notion's a big product, and it's a good product. Right? Yeah. So it's gonna be kinda hard to have a Hack Week project that replaces Notion. But, You know, I I just thought, like, okay. Well, if we're writing show notes and we have the source of truth, which is the markdown files for all of our episodes, We end up writing the show notes in Notion, which get translated into markdown from our editor, Chris, who then moves it also into the podcast distributor.

Scott Tolinski

There's a game. Well, wouldn't it be great if we could work on the show notes directly in markdown instead? But we can't lose the aspects of Notion that we really like, like the multiplayer stuff. Like the fact that Wes and I can work on the same show note at the same time without refreshing And be able to quickly and easily change that even while we're recording sometimes.

Scott Tolinski

So it needed to be multiplayer and needed to work well with markdown.

Scott Tolinski

And it needed to play well with GitHub because if that's going to be the source of truth for things, then we'll make that source of truth GitHub.

Scott Tolinski

So I decided to build a markdown editor that feels like Notion, but works with multiplayer and saves directly to GitHub as commits. And, actually, the 1st iteration of this saved as pull requests, which I realized would be Ridiculous given our workflow. So I changed it. Yeah. Yeah. So yeah. So I I I explored a lot of tech in this. And, in fact, like, the 1st 2 or 3 days of the hackathon or the hack week, I was worried that I was not going to have anything at the end of it because I was spending so much time trying different tech out. So for multiplayer stuff, I tried out party kit.

Scott Tolinski

Rid. I tried Yjs.

Scott Tolinski

I tried Liveblocks and Tiptac Tiptap with Hocus Pocus.

Scott Tolinski

Rid. That that's like the multiplayer aspect specifically. And these things are some of them work together in different ways. Some of them work separately, And it's not always immediately obvious what some of these things do. In fact, if you go to, like, Yjs, their docs, or or any of their anything, It's not immediately obvious, like, what what this thing does. It says modular building blocks for building collaborative applications like Google Docs and Figma. And you think, alright. That's great. But then if you go to PartyKit or TipTap, they're both say, you can use this, and you can use this with rid. Well, it's like, if Yjs does all that stuff, then why do I need Yjs and these other things? So it's like a lot of it there's a weird amount of overlap between some of these projects rid and what they do. And in the end, Yjs specifically is in and I I do want to say we'll get much deeper into the multiplayer aspect of ring in a whole episode devoted to multiplayer because there's a lot here. Yjs specifically is like a package that allows for the merging of, You know, multiple streams of like, if if I'm working on something and Wes is working on something, how does that data know correctly how to Fit together without overriding, overlapping,

Wes Bos

doing things like undo. It was like a nightmare to have to try to figure out. Like A nightmare. Right? Well, that's cool. You talk about source of truth, right? Like with the the podcast, we're trying to, like, say, like, is the database or the markdown file source of truth? And what happens with One of them is updated like this two way binding and then make it multiplayer and then make it work offline.

Scott Tolinski

I do. That sounds like A very hard problem to solve. It sounds like a very hard problem to solve. So yeah. You know, that's why, you know, you're not gonna be building any of these things from scratch. But either way, it was a little confusing to me when I was first getting into this multiplayer stuff. Like, what do I actually need need? Can I do everything with Yjs? Can I do everything with Party Kit? Do I need Yjs and Party Kit? And none of their docs make it super clear. And to make it a little bit worse because Party Kit Really seems like it's a great new approach for this stuff. Yeah. The it's still it's not done. The the docs are still, like, In development, the it's it's hard to pick it up right now and start a new project in it without, like, really spending some time, diving deep.

Scott Tolinski

And and so there was a lot of a lot of flux here. I tried a lot of these different ones, and we'll we'll talk a little bit about what they do.

Scott Tolinski

Where like, something like Liveblocks was a multiplayer product that their whole thing is they're storing the data for you on their servers, And Liveblocks is almost like a multiplayer platform, a real time multiplayer platform Where you just you just push up to them, and it syncs with their database. And it's really effortless and easy, but it does more, And it's a little bit more all encompassing.

Scott Tolinski

And then for editors, I took a look at a bunch of different editors. In fact, one of my early versions of this app, used my own markdown renderer where I was essentially taking each line by line and doing almost like a Notion style block editor, And I was doing the parsing for that myself, which I I soon realized. In fact, you told me this was a can of worms, Wes, and I said, yes. I know that. Let me try to do it anyways. And then, yes, it's obviously a can of worms. I I opened the can and the the the snakes jumped out at me. The springy snakes jumped out at me, so I I quickly stopped doing that, and I I looked into a few different options.

Scott Tolinski

One of which is called block notejs.org, Which was a really neat option. It's definitely the most turnkey of the options here.

Scott Tolinski

In in fact, it does so much for you. Use a lot of uses a lot of these texts. It's built on top of TipTap, which is one I'll talk about in a second. But it's it is a React thing, so you're You're gonna have to build your whole app in React. And I just said, you know, I wanna do this in SvelteKit. I already started in SvelteKit, so I wanted to just keep it there, Especially because our site is built and felt good. If I wanted to, like, merge it in any point, you know, you wanna keep everything kind of the same. Another one I looked at was tiptap.dev, Which is ultimately what I ended up going with. TipTap is a really, really cool project.

Scott Tolinski

In fact, if you're looking to build A text editor with markdown in any kind of way or a WYSIWYG.

Scott Tolinski

This thing gives you the right amount of control so that you can do it yourself. Like, I had to build the little hover menu that, you know, you click h four and it becomes the h four. I had to build that. But It's almost fine that I had to build it because it it ended up feeling really nice. You it gave you the right amount of control without making you do too much. And I also looked at just start up using Monaco, which, you know, could have been an approach, but, you know, I think it would have taken a lot more work to get them all playing nicely.

Scott Tolinski

So at the end of the day, what I ended up doing is I ended up using TipTap plus their own product, which is called TipTap Collab, which is that's the bit that stores your data essentially in the cloud for multi rid layer and allows you to do the syncing. And then that in itself uses Yjs, YJ has to do that merging. So, essentially, what I ended up going was TipTap for the editor, TipTap Collab in Yjs for the multiplayer stuff, and then SvelteKit For the rest of it, logging in to GitHub, using the GitHub API with SvelteKit actions to pull in all of our shows and do commits.

Scott Tolinski

And the code for this is all available on GitHub. It's all open source. If you've ever been interested, I got some messages of people being like, how did you, work with the GitHub API to do the commit spit. Well, that code is all all public so you can check it out. And so, basically, what it was is I made this editor.

Scott Tolinski

You're editing it. You hit save, and then I used, what's that? UMIFIED, The u the unified markdown plug in system, I used unified to turn HTML back into markdown.

Scott Tolinski

And because I had, TipTap doesn't work necessarily that well with markdown. So TipTap gave me HTML when I hit a button That then went into unified. It turns it into markdown. That then goes to GitHub and creates a commit.

Scott Tolinski

I also had a whole draft system so you could create a dot draft file if you wanted to have a temporary working file. And then if you then click publish, It would then do another commit to delete the draft file and save the new one. Markdown?

Wes Bos

Yeah. Yeah. That's crazy. It's funny because, like, markdown It's supposed to be like you author it and you can read it, right? That's the whole benefit of it. But like, it's It's missing a lot of stuff, you know, like you can't inline images and there's there's some probably something out there that's like like. I guess notion is kind of like that, right? Like a lot of the markdown stuff works in notion, but then it converts it.

Wes Bos

It's a constant battle of between

Scott Tolinski

rid Being pure to markdown and actually wanting real features. Yeah. And what I also learned is that any type of block editor You have, like, Notion where each line is kind of its own thing. You end up in this weird world of content editable, and content editable is a property you can put on HTML elements to make them editable. Right? So they become essentially inputs. But when you end up what you can't do is you can't just have a a giant text area with this stuff because you need rich elements.

Scott Tolinski

You can't just have you need to have, like, a UL, an OL, whatever, organized list to get the dots and everything like that or h ones to get the proper formatting on the those headings, and you you end up having essentially, like, some very wild content editable stuff where if you're trying to do this rid It does become a nightmare, which is why looking at something like Tiptap. And Tiptap, by the way, is free unless you use their paid, A collab service. So if you just want that markdown editing block editing stuff, man, you could use Tip Tap for free, and it's it's the best out there. I'll tell you what. It's really great at that. So, highly recommend diving into Tiptap, and they have a great looking site and everything. It's really wonderful.

Scott Tolinski

Either way, final notes before I move of this thing because you can you can look at the code. It's all up there. It's all on GitHub.

Scott Tolinski

Multiplayer now feels easier than it's ever rid. Been I I've done a lot of real time stuff, and even real time stuff in something like Meteor wasn't super easy to do multiplayer.

Scott Tolinski

So multiplayer apps are now probably easier than ever before given that Yjs exists, Party Kit exists, rid. Things like Tip Tap and whatever exists. The these tools are Liveblocks, man. Liveblocks makes it so easy. Let me tell you that. Really? So if I was building a product today And I wanted to do multiplayer, and I wanted it to be, like, as turnkey as possible. I would probably pick Liveblocks because it's it's almost like Meteor easy, where you get real time, but you get also cursor position and users and everything like that. It it feels like If if I was Meteor and I'm seeing Liveblocks, I would be like, man, we should have done that. That that would have been the pathway. Right? Because what Meteor did is they like, oh, we're just gonna launch a hosting paid hosting service like everybody else. But Liveblocks is like, oh, the paid product is the data hosting in the fact that it's rid. Real time multiplayer.

Scott Tolinski

I feel like they that was a huge missed opportunity for them.

Scott Tolinski

Block note, if you're a React Developer block note, and you're just looking for something easy. That that one is like a wrapped up product for you. If you're looking for something customizable, Live Blocks is probably The easiest but also customizable.

Scott Tolinski

Party kit is probably going to be the coolest future option because I think that gives you, Simultaneously, it gives you the control because you can host things yourself or you can host it with them. It gives you more control, but it's not it's a it's a it was still rid. Too new for me to really dive into. I'm the type of guy who needs some serious doc action sometimes.

Scott Tolinski

So I I needed I needed more there from The, helping hand side of things. And that's really it. It was simultaneously harder and easier than I expected, but I did get something working ready at the end of the day, and I'll post the video that I shared for this thing as well so you can check out at least how it looks and how it feels. I had always thought that party kit and party

Wes Bos

Town. We're the same thing. Partytown is the web worker third party script runner rid. And party kit is the real time collaboration based thing. Man, I had dismissed party kit for the longest time because I thought, oh, I know what that is. But it's not it's not anything the same, man. I want to I want to build something in this now because, like, I've built a couple, like real time stuff. And actually, the other day I dipped into a little bit of WebRTC.

Wes Bos

Rid. Being able to communicate from my phone to my computer without an intermediary.

Scott Tolinski

And man, it was tricky. Very tricky. Even with like a little library that I use. So I want to try this out. Seems rid Take a look at at at both Party Kit and Live Blocks. They were really cool. Like I said, Live Blocks probably holds your hand a little bit more, But I found the experience to be really nice. Like, I was able to get further with Liveblocks faster than with anything else, but it didn't play super nice with The TipTap editor. And so at the end of the day, I hit one of those those forks in the road. It was like, do I stick with the the TipTap editor, or do I stick with PartyKit? And, like, which of these things would I rather try to figure out? Would I rather try to figure out the multiplayer aspect, or would I rather try to figure out the editor? And I decided I would rather try to figure out the multiplayer element, and I went with the one that with the easy editor and decided to go with a little bit more of a,

Wes Bos

An interesting solution for the multiplayer. But ultimately, yeah, that worked well. So this is going to make a really good show because we're going to go through real time. And we'll talk about what do you need to think about? Is it a paid or free service or is it a paid service or can you host it yourself or both? Is there underlying tech? Yeah. Is there underlying tech? Can you integrate it?

Scott Tolinski

There's a lot lot to go through here. So tweet us at SyntaxFF if you have anything else to add to this That that's gonna be a good show. Yeah. Hit us up if you have any multiplayer or anything platforms that we have not mentioned. I know when I did my presentation, David Kramer Of Sentry sent me, a a like, a it was almost like a super based style, like, data platform, but also had multiplayer baked in there. So even What was it called? I have yeah. Let me pull it up here. Convex.

Scott Tolinski

Convex. Yeah. Convex.

Scott Tolinski

And then, a couple of other ones were Automerge and Anytime.

Wes Bos

Convex is a full stack rid TypeScript development platform. Replace your database server functions and glue code.

Wes Bos

Man, we're we're truly in the age of rid. All in. Hey. I think people are sick of piecing together packages.

Scott Tolinski

We are in sick of it. Yeah. So yeah. Yeah. Me too. We're we're in the age of all in. And we're also in the age of all of these services having Really gorgeous websites. Man, I went to this context .dev. I'm like, I've never even heard of this, and this is a great website. And then one of the other ones, I got sent.

Scott Tolinski

Rid It's just like, where are these where are these designers coming from? These designers are on 1. It's, very wild. Yeah. I'm very much enjoying this recently

Wes Bos

Recent design trend as well. Everything looks great. Yeah, I could. I think the whole Vercel copy look is a little played out now.

Wes Bos

Yeah. Not for Versailles, but a lot of like the Liveblocks website is clearly

Scott Tolinski

influenced by the Vercel look. Go to this one, any type dot I o.

Scott Tolinski

And and just, like, gaze upon this design. It's it's lovely.

Scott Tolinski

Yeah. I'm here for the rid. Seraf fonts as well. I don't know if I am personally, but I enjoy it when I hit it. Like, I'm not I'm not writing writing anything with the serif font these days, but I do like the way it looks. Alright. Let's talk about my project.

Wes Bos

I built a recording button. So I when I record, I have several things that I do. I need to turn on my camera. I need to turn on my light that's in front of me. That's lighting my face.

Topic 3 19:59

Wes built a recording button to control office lighting and devices

Wes Bos

I need to turn on the lights that are behind me. Rid.

Wes Bos

Kind of on my set. I call them set lights.

Wes Bos

And I want to turn off the mini fridge because sometimes a compressor kicks in.

Wes Bos

And then I there's a couple other things like I want to put do not disturb on my phone. And I also I wanted an on air light for the longest time. Like if you go back to the Episode where I built my whole office.

Wes Bos

That was one of the things I had run wiring for. So my idea for Hack Week was to build some sort of physical button that I can press on my desk and it will do all of these things for me And put me in the state of of recording, and it's nice to be able to just hit a button and turn it off and on. So what I ended up doing was, like, The kind of the main thing was I want this on air light to work. So I had bought this on air light that had led strips in it, but it came with one of those stupid little flat remotes that you get and you can do the brightness up and down and change the color and whatnot. And, I'm a much bigger proponent of addressable LED strips, which is each LED can be individually controlled Color, brightness, all of that good stuff.

Wes Bos

So I ripped all the LEDs out of that on air site sign and I put in my own LED strips. I got a 5 volt power supply and then I put a WLED, which is a little microcontroller we talked about on the On the hardware episode and that powers it both has Wi Fi in it, so it connects to my local network. I can access the whole UI to Change colors and put different, timers, and, you can make it animate itself.

Wes Bos

All of that is done Over a web browser, which is really cool, and it has a whole bunch of APIs that you can use to hit.

Wes Bos

And I sort of like built that all into a single package.

Wes Bos

And surprisingly, that only took me like a day to do, Which I thought like, oh, this will probably take me a bit longer because I got to figure out power. I got to figure out flashing the thing. I got to figure out, rid. Replacing the L. E. D. Lights and cracking this light open without breaking it and all that stuff. And by the end of the 1st day, I had I had finished that. So I spent a little bit more time the next day kind of.

Wes Bos

Zhooshing it up, making it nice and dialed in. It wasn't just a big mess of wires Hanging off the end. I hot glued everything to the back.

Wes Bos

And then I said, okay, well, like now is the like That's the hardware point. Now I want to be able to physically control it with some sort of button. So I had done a bit of research into different buttons that are out there that can be controlled.

Wes Bos

And I ended up with this little.

Wes Bos

They call it a macro pad. Oh, yeah. Macro pad. I was wondering what you had gone with there. Yeah. So it's like a 6 a button mechanical keyboard and a knob that you could twist up, down and press. Where'd you get this from? So I went on Amazon and and looked at all of them. And I ended up with this one. However, I'm not happy with it because it doesn't. So mechanical keyboards all Operate almost all of them operate on the same protocol, something like that. This is not I'm not an expert on this type of thing, but most mechanical keyboards run the same protocol, meaning that you can flash them with Macros and your own keyboard layouts and all that. You can do it all with like a standardized set of software.

Wes Bos

This was not built on that protocol. This was some sort of custom Chinese contraption that is being hawked on Amazon. So it says Mac OS supported.

Wes Bos

So I plug the thing in and every single key sends a 3.

Wes Bos

And, like, I guess the default is every single you press any key, you turn the knob, it sends a 3.

Wes Bos

And that's not ideal because every key does the same thing. So I figured out that you have to download this sketchy Windows software And that software allows you to reassign what all of the different keys do. So I said, you know, like, I'm not going to rid. I had to get out my windows laptop to even do this, which is, by the way, a downside of the Mac M1. I haven't had to run a windows VM in wherever. But I tried running a, like, an actual VM on my M1 and VirtualBox does not work on So I had to bring it What's it called, though? I've used,

Scott Tolinski

Parallels. That's what I've used. On on an m one? Yeah. And it works really well. In fact, I only used it to, play Minecraft, so that's it. But it worked well. Yeah. Oh, okay. Maybe I, But it's Parallels, you know. Maybe. I had to pay for it. Oh, yeah. Yeah. That's a thing. I think I think VirtualBox

Wes Bos

has a has a beta. I even downloaded it, but it wasn't working for me. So So I just I just I have a little Windows Surface laptop here. I whipped it out, plugged it in, downloaded the Sketchy software.

Wes Bos

And

Scott Tolinski

Sorry to interrupt. By the way, was the firmware you were talking about, like, the z m k? Is that the does that sound familiar? Z m k is the, like, the standardized rid Right? Yeah. I I'm saying is that the one that you would have hoped it would have had? Is that what you're saying? Or Yeah. Okay. Okay. So the rid. Standard is h I d, human interface devices. It's part of the USB spec.

Wes Bos

And This does not implement that for whatever reason, because it's a key logger or something, you know? So I loaded it up on the Windows laptop And I basically was like, I'm not going to use my Windows laptop to set these complicated keyboard shortcuts.

Wes Bos

So I just mapped every key to 1, 2, 3, 4, 5, 6, turn left 7, push down 8, turn right 9, right. And then I basically had 9 keys on the keyboard that were sending me numbers. Then I went into rid. Carabiner Elements. So Carabiner Elements is a software that I use to remap my caps lock key to Hyper, which is command, control, option, shift.

Wes Bos

And carabiner elements allows you to remap out of at a at a hardware level, not hardware level, sorry, at an OS level, Meaning that it's, it will intercept the low level keystrokes and fire something else for you. And it just fires like a regular keyboard shortcut.

Wes Bos

So what I did is I said only on this device, like you could take the USB device ID.

Wes Bos

When somebody hits it, then Instead of pressing 1. So what I did is I said, when there is a one coming in, remap it to something bizarre. Like always have to do a keyboard shortcut that you literally never accidentally hit. So in my case, it was like control command shift f eighteen, Which is helpful because like literally almost no keyboards actually have an F18. Mine does, but I'm never going to hit F18 and Those 3 other weird combos.

Wes Bos

So I remapped all the buttons to bizarre combinations.

Wes Bos

And then now when I was hitting them, Now the computer was thinking I was hitting a weird keyboard shortcut.

Wes Bos

And then what I did is I headed into BetterTouchTool, which is my Favorite software of all time, used for window management and automations and all kinds of stuff. But one thing better touch tool does is Allows you to say when this keyboard shortcut is done, orchestrate these events. Right? Like I've got keyboard shortcuts for filling out Check out forms and setting up my recording displays and all that.

Topic 4 27:58

Wes used BetterTouchTool to map button presses to actions

Wes Bos

So in here I said, all right, when I hit the recording button, which Is a red key cap on the actual physical keyboard, then turn on do not disturb on my computer and on my phone, and then ping a webhook.

Wes Bos

And then the webhook is running on my my local server that's running home assistant rid. Because I did all of the orchestration or all of the lighting setup in Home Assistant. I set up a scene called recording, And when that scene is triggered via somebody sending a post request to the webhook, then it turns on My recording light, it turns on the hot tips, turns on the on air sign, it turns on the flood lights.

Wes Bos

It turns on my office lights if I don't have those on. And then it turns off the mini fridge, so the compressor isn't running. And, it was pretty cool that you could just press it. And it just the whole office here. I'll do it for you, Scott. Right now is Hey, turn off the whole office.

Scott Tolinski

Nice.

Wes Bos

Everything turns itself on, which is which is really cool. So it was not actually a very Code heavy project. I was surprised because I was thinking like, oh, maybe I'll set up a local server.

Wes Bos

And Part of what I wanted to do is like make a iswesrecording.com or something like that, which would be kind of cool.

Wes Bos

But this kind of reminded me of like no code, meaning that you're literally piecing together 4 different applications And 2 different pieces of hardware running its own software.

Wes Bos

And it works really well because I'm always running these things. But Part of me is like, oh, wouldn't it be nice to have it in a single package? And I know that a lot of these keyboards, rid. You can put a lot of the actual code into the hardware. That's what the ZMK firmware will do. So at some point, maybe I'd like to get Some sort of other macro pad or maybe a Stream Deck or something like that, that I can literally isolate it into a rid Single low level

Scott Tolinski

button. Yeah. I have the Stream Deck. It's pretty sweet. I like that you can set little icons and stuff for different things. You know, I ended up, like, going deeper into automation. So, like, my my lights turn on when my webcam turns on. But we we found this a hilarious thing when Wes rid. Change, like, the recording mode on Riverside once. My entire office lights just shut off and re turned on, and I'm rid. Working on also a, like, a a video app using Tori right now. And every single time I hit save,

Wes Bos

the app reloads, and lights My office are just turning on and off. It's like Oh, that's hilarious. Oh, I got to figure out how like a manual override to stop this for a little bit. That's the the funny thing about it is that All of this automation is great. But as soon as you hit like an edge case, you realize, Oh, shoot. So I actually did have to set up a couple of buttons, to make sure they turn the fridge back on. And I also want to set up the, Yeah, right. Yeah. That'd be an automation that will say if the fridge is off for more than an hour, then turn it back on because there's there's not there's there's beer and and like coconut water in there. But

Scott Tolinski

I I don't wanna I don't wanna have a Friday where I have a warm beer. You know? Dude, yeah. I I know how it is. I've been looking to set up an automation myself for my my door lock. I recently got a new door lock for my my office.

Topic 5 31:15

Scott and Wes discuss home automation possibilities

Scott Tolinski

And it doesn't have the same auto lock after 15 minutes feature. So I find myself being like, oh, shoot. I did I forgot to lock my door. So I, like, I need to set up, like, an automation. You know? If Yeah. If there is nobody in the office and it's after this time, you know, automatically lock the door or something, That'd be that'd be a nice little little project. Those those kind of automations are the best because

Wes Bos

you don't have to, like the the hilarious joke is that, like, And my wife does this to me as you're lying in bed and said, did you lock the back door? Oh, yeah. I think so. But now I have to get up and go check.

Wes Bos

And those kinds of like every single light in our house shuts down on a smart switch, and it's the best. You don't spend 5 minutes before bed walking around, turn off lights like a sucker, you know?

Scott Tolinski

Yeah. Oh, I know all about it. If you if you're one thing I really wanted to do now that you have this macro pad and you have, like, the it has the knob on it. One thing I always wanted to have, and I mentioned this before, is, like, a knob connected rid undo and redo.

Scott Tolinski

Really? Wouldn't that be, like, great? Just twist the knob and be like, Alright. You can because you tap on app command Z command Z command Z to undo a whole bunch of stuff, but instead you just twist it and you're now and all of a sudden you're back and forth. I travel. Yeah. Yeah.

Wes Bos

Yeah, it's not a bad idea. So I have it mapped to 6, 7, 8. And then I remap those to volume up, a volume down.

Wes Bos

But, like, that's the obvious one. I don't really use it all that often because I have I volume buttons on my mouse as well. Rid.

Wes Bos

On your mouse. Yeah. I put the the, like so I've got the Logitech MX 2, and there's, like, 2 little thumb buttons rid That were initially used for, like, expos a or something like that. Oh, expos a. Yeah. I don't know rid Why? I I did it as volume, but now I I can't live without it. Like, I never reach for my never reach for anything like that. My, my audio Controller is the thing that basically controls my,

Scott Tolinski

my aided my what's it called? My command center here. Yeah. It's got a big old knob on it, so I just I just grab that thing. Oh, that's great.

Wes Bos

There's something nice about a physical button.

Wes Bos

I kind of wish that it was like wireless. I have to run a USB C cable to it, But I figured like like I needed on the Friday before Hack Week, I was just doing some shopping and there was only like 2 options that would get to me in time. So I was like, I'm just going to have to go with this one and bear the brunt of it. But now I would like to like, I could even make a Macropad myself out of a ESP 32, you know? Yeah. It's just it's just contact. Like, those switches on a mechanical keyboard are just they're exactly that. They're switches. Right.

Wes Bos

Yeah.

Wes Bos

So fun stuff. I highly recommend doing a Hack Week project yourself.

Wes Bos

It's It's probably a lot for a company to shut down and allow your employees to literally work on whatever it is you want. But Good comes out of it. It's really fun, very refreshing to like, because this kind of stuff that I fuss with is usually reserved for my evenings, No, there's only so much evening time, and I got so many other interests in my life. So it was fun to be able to say, You know what? Rid. Don't feel bad about literally anything else.

Wes Bos

We just gotta record syntax,

Scott Tolinski

and I get to work on this. Yeah. It's a lot of fun. Well, thank you, Century, for, you know, letting us do Hack Week and, getting to be a part of that. It was really super cool. And, you know, the best part, honestly, was sitting through The, the sound this might sound ridiculous, but the best part was sitting through 90 presentations and getting to see all the cool stuff that people made over Over Hack Week. It was a really, really super exciting. So,

Wes Bos

yeah, a lot of fun. There was some it was it was really interesting to see rid. Like, get some insight into, like, how a bigger company works. And the one that I keep coming back to is, someone rewrote Their flagging system. So, like, feature flagging. And now I'm just like, we got to do a show on feature flagging. Yeah. How that works, you know? Yeah. How does that work out? Like, obviously, it's a boolean and an if statement rid somewhere in the code, but, like, how do you do that at they have hundreds of feature flags. I got wildly inspired from that show or from that that entire thing. One cool thing about the Hack Week that we haven't even talked about yet was that

Topic 6 35:47

Discussion of other hack week projects like games and tools

Scott Tolinski

there were there was a voting for several different types of categories for winners and stuff. And, you know, some sometimes you, like, worry that, like, this type of thing could get, like, very toxically competitive or something, but it didn't feel that way. You know? I I don't know if it's just the company culture here or what, but, like, I I never felt like people were were really gunning for The prizes or which prizes were like a key cap, like a customized key cap, which pretty cool. But I never felt like it was it was like a huge, You know, scary thing that you have to submit some type of project just to win. It felt like people were submitting projects to submit, like, cool, interesting ideas.

Scott Tolinski

And, like, I think that was evident from some of, like some of the projects were there's, like, Three different video games. People made actual video games, including, centric, Syntax team member Ben Vinegar made a, Century survivors, which is based on a video game called Vampire Survivors, which anybody who's played Vampire Survivors, knows the idea here. You're like a little guy and, there's, you know, weapons shooting out of you, and there's swarm of zombies coming around you, and you're trying to avoid getting hit. So they made a century survivors game, which seriously looked

Wes Bos

It looked and felt production ready. Like, ship this thing. You know, you add a few levels, and it's Vampire Survivors. That's really cool. What did he build that in? I think We're going to have them on the show to talk about it. But what was it?

Scott Tolinski

I think it's unity.

Wes Bos

Unity. That's what it was. Yeah. What languages is unity?

Scott Tolinski

C sharp. Yeah. It's c sharp. But Unity is supposed to be like its own its own thing. Right? It's its own ecosystem and Like its own engine. Right? So many different video games are built in Unity. If you learn Unity, you can build literally, you know, a Award winning game. So it it was really shocking to me how many people were able to build a video game in In a week, you know, over the less than a week, it was what? 4 days total.

Scott Tolinski

Somebody built a a Raycast rid. App for century that was really great. Somebody built a filter for Instagram that was like a century can't this Instagram filter where you're supposed to, like, take a picture of something broken that Sentry can't fix because Sentry can fix your code, but it can't fix, you know, rid. A broken bridge or something?

Wes Bos

Yeah. There's what I love so much about a hack week is that you Dip into something you've never done before. Like, not everybody did, but that's my favorite thing to do is to use this time to Learn something new.

Wes Bos

There's another thing I would like to do maybe not specifically on Century Hack Week, but you ever heard of this website called SendCutSend?

Scott Tolinski

No. I love learning new things, though. So

Wes Bos

if you want to Make something physical.

Wes Bos

You can design a part and have it cut out of Metal or acrylic or carbon fiber or something different, and they will laser or water jet cut it for you.

Wes Bos

And there's been a couple things in my life where I've needed a specific part. Specifically, the tractor at the the cottage needs a little adapter so it can run 2 different kinds of hitches.

Wes Bos

And to buy it online is like $120, and it's literally just a piece of metal.

Wes Bos

And I don't I don't have the tools to cut metal that thick like quarter inch steel.

Wes Bos

Rid And Who does? I'm just gonna say that. Who does have, like, a tools to kind of have a like that? I've got a few friends that do have that type of thing. But, like So what this is, you can design something in Illustrator or like literally any application.

Wes Bos

It doesn't have to be 3 d rid. And you upload it to their thing and they'll cut it out and then just mail it to you. And there's also like a I want to build like a barbell holder for my rack in the gym.

Wes Bos

And I just never have done that before. And every couple of days, I'm just like, I got to make something that is literally like a piece of metal, you know, and they'll send it to you and you can bet they can bend it for you because they have breaks and whatnot. So,

Scott Tolinski

is an area of life that I would like to dip into. I wouldn't mind dipping into there too. Every time I think about stuff like that, I think, alright. This is the the perfect opportunity to get into three d modeling. And then I Open up I open up Blender, and I'm like, oh, my my brain. Have you ever tried to do any 3 three d modeling with Blender or anything. I don't think so. The the furthest I've ever got was

Wes Bos

SketchUp. Like, Google Google used to have this, like, Amazing app called SketchUp, and then they sold it and they put out like a crappy version. And it seems like a lot of the community is still on the, like, OG version of SketchUp and modeling 3 d stuff like I would love to get into 3 d modeling stuff, especially like get a 3 d printer, you know? And it's just something I would love to learn because, like, I feel like I'm pretty

Scott Tolinski

able to do a lot of stuff, But three d is just this whole blind area for me. Yeah. I I've talked about this before in the show, but there was a guy I found on Instagram who, You know, models all these inserts for his desk, and he's got the little the little thing, that measures, you know, the micron the little measure rid thing that he uses to measure. Yeah. The calipers. Specific calipers. You gotta get a pair. He's measuring with these digital calipers and then tossing it into blender and then designing his own inserts To hold all of this stuff, and I'm just looking at this like, that all looks incredible.

Scott Tolinski

And then I I tried to make a Star, like a Mario Super Mario style 3 d star in Blender, and I I wanted to chuck my computer out the window by the time I was done with it. So it it's rid It's one of those things I feel like I'm I'm just needing to put in the time. But in reality, what time do I have to to learn that right now? I think at some point In my when my kids are, like, getting into the, maybe even a little bit older than right now, like middle school age. Right? I think that'd be the perfect time to enter my 3 d printing guy era. Yeah, totally. I,

Wes Bos

I think about this a lot or I'm just like, I wish I wasn't so enthusiastic about so many things, you know, just like there's home automation that I would love to spend a lot more time on. And there's three d printing. And then there's all the home projects that I have and, oh, maybe I should learn skateboarding again.

Wes Bos

Oh, yeah. There's too much good stuff in life. You know? It is really unfortunate.

Scott Tolinski

I would love to be you know, let me download some skills like the matrix so I can just Do a kick flip again. That'd be great. Did you know, Wes, I landed a heel flip, and I've never landed a kick flip.

Topic 7 42:24

Wes and Scott lament having too many hobbies and interests

Scott Tolinski

Really? I I got I just messing around, and I got the heel flip, or I could do a kick flip with a body varial, but I could not do a stinking kick flip Ever. I've never landed 1. So Wow. That would be maybe maybe that's my my, my I must land a kickflip before I'm 40 years old rid Roger. I I would do it. Yeah. And do it on some grass or something. I I am okay with not skateboarding again because I really don't wanna break my arms. Yeah.

Scott Tolinski

Yeah. My my son right now is thinking he wants to learn skateboarding, and I I you know, he's only 6. So So it's like, okay. What what can we do? We're gonna get you some of those.

Scott Tolinski

Well, 1, he's gonna ride a syntax deck. Right? But, 2, rid. We're they make now little plastic covers that go around the wheels so you cannot roll. Yeah. So he can rid And just keep these trainers? Standing on it and, like, kind of getting the vibe of moving around on it. Because I know if I set him on that thing, he's gonna do the classic feet up in the rid. Like, feet up in the air, and the board shoots out from under them. I I just know it's gonna happen instantly. So

Wes Bos

I like it. I've also seen people just cut tennis balls And, like Yes. They do better on the the thing. The skate trainer looks a little bit more intentional, though, because then you're you're actually sitting the wheels on the ground. Still, they just don't roll.

Wes Bos

And it's also cheap. It's cheap plastic. So it's not like you probably cost more money to buy a tennis ball at this point. Tennis balls are surprisingly expensive. Of. Yeah. Anyways, by the way, speaking of tennis balls, remember you recommended that f one documentary to me after I had So yeah. The thing? Not good. Yeah. Awful. You are so you're so wrong. So boring. They're all just like.

Scott Tolinski

Rid Oh my gosh. It's not about the cars and the racing of the cars. It's about the personalities.

Wes Bos

I I didn't find a lot of personality. Like, I wanna see like, what are you What are you eating for lunch? Oh my gosh. By the f one.

Wes Bos

You're so wrong. It was a little bit too, like, dialed for me. Rid Too too polished.

Scott Tolinski

No.

Scott Tolinski

You are you are so wrong. These are these are fancy people going to fancy locations, driving 2 armholes per hour. Yeah. It's As My wife was like, I'm surprised at how, like, high brow this is. She's like, I thought racing was I'm like, you're thinking of NASCAR. Yeah. You're thinking of NASCAR. That's totally different. Which I gotta say, Wes, one of my favorite things on TikTok lately and then this does not like me because I don't usually like people ruining other people's experiences.

Scott Tolinski

But I found a a guy on TikTok Who plays a NASCAR video game and then, like, intentionally breaks the rules and then claims that they're real NASCAR rules. So So he'll be like, you're not allowed to pass on the 1st lap. That's why I crashed you. It's been a rule in NASCAR since 2011, and the people are always like, it's not a rule. What are you talking about? And they they get so angry, and it's it's very funny because it's I really hate trolling in all sorts of ways. But for some reason, This thing really gets me. I'm just, like, cracking up. That's great.

Scott Tolinski

All right. Let's move into some sick picks. Rid You have a a sick pick for me today? Sick pick. Yeah. I do. You know, here's a a little app that I've been really liking. It's Open source, but there's a, like, a paid version of it also available, and it's for your Mac. So I'm sorry, Windows folks, but this is a A Mac app, and it's called Better Display.

Topic 8 45:54

Wes's sick pick is the Better Display Mac app

Scott Tolinski

And I'll link it to the GitHub because you might as well check out the GitHub, and you can, You'll find the actual app download the from there. But it basically gives you a much better control interface for managing and controlling your displays on a Mac, And it puts it in the menu bar. And guess what? It has the coolest feature. You can go above 100% brightness, which, it allows you to do higher than higher than a 100% brightness. And and if you really wanna get, like, a suntan from your computer screens, it just, like, blinds you with with light. And sometimes I really want that. Sometimes I want the brightness. Maybe you're working outside. Maybe you're, you know, your environment's too bright. But I I think this app is Lovely. Especially if you're a tinkerer, if you're like a, if you're the type of person who likes to really rid Finesse your your system stuff. I I really like this app. So it's called Better Display.

Topic 9 46:45

Scott's sick pick is heavy duty magnets

Wes Bos

And, Yeah. It's, on GitHub. I'm going to sick pick, rid. Some magnets. So a 100 pound magnets that have a hook on the end. So I rid. Had been looking at ways to store all the attachments, in our gym.

Wes Bos

And I had bought these, like, 25 pound magnets, And they work okay for, like, light things like a d handle and whatnot. But I want to be able to store, like, a pull down bar, and I want to be able to grab it quickly.

Wes Bos

So I was like, of these kind of like fall off if you grab it at the wrong angle.

Wes Bos

So I found these a 100 pound magnets with hooks on the end and they are rid. Freaking awesome. I put a couple on the fridge so we can and a couple on our like whiteboard so I can hang my keys right when you come in the house.

Wes Bos

And then I put a bunch of the rest on my rack.

Wes Bos

I made some, like, outriggers on my rack so I can hang like I got some extra posts And I'm using magnets to hold everything on there because it's great. You can move it around and it's not like based on a hook. You don't have to put it where a bolt is.

Wes Bos

And they have been fantastic. I'm always amazed, like, how awesome magnets are. There's no batteries and magnets, which I still haven't figured out.

Wes Bos

I'm not sure how magnets work, but. Yeah. How do they work? Yeah, I don't know. I think it's some sort of Some sort of magic or hacking device or something in there. But if you are looking to do anything That you want to hook, hang up anything.

Wes Bos

Definitely check out a 100 pound manganese. Even like I'll go even once one tip further.

Wes Bos

If you have a workshop or something like that where you want to hang stuff up, you can go to the electrical aisle of Home Depot and get a junction box cover or a hexagon box cover. Rid. Basically, it's just a circle of metal with a little hole in it and screw those to joist or somewhere in your workshop or wherever it is that you want. And then that allows you to stick anything that is magnetic directly to it. I got this idea. You know, the Wyze cams, They come with the tiny little the little washer.

Wes Bos

Yeah.

Wes Bos

So those are awesome because you can screw those wherever you want to put stuff. And I needed something like that. And it turns out washers aren't magnetic, so or most washers aren't magnetic, at least. Rid. So I went to the electrical aisle, and I was like, I just need, like, a hunk of metal I can screw to the wall so I can hang stuff up. And I was like, oh, these Juncture box covers are perfect for this type of thing. That's awesome. Yeah. Oh, that's fun.

Scott Tolinski

A little sick tip and a sick picks. Sick tip. Well, Do you have a shameless plug, Wes? I will shamelessly

Wes Bos

plug, let's do something different today.

Wes Bos

On sick pick my ex.

Wes Bos

Rid. Wesx.comforward/wesposs.

Wes Bos

You can follow me out on there. I've been posting. I'm doing a, Like a little test. I'm gonna try post a month's

Scott Tolinski

worth of I've noticed what you're doing. Yes.

Wes Bos

I noticed. Just trying different stuff because like I'm a little cheesed at like the algorithm, how how easy it is to be gaming it.

Wes Bos

But like I'm, I'm sitting here being like, well, like, good content will probably still surface as well. Right? So I'm just gonna I'm gonna go a whole month, post something good every weekday, And then I'll I'll do, like, a look back of 30 days and say, like, is it just people shitposting or like, can good content still rid surface to the top, and it's been going so

Scott Tolinski

well so far. Yeah. I've been I've been loving it. I thought, It was been some very, very nice informative content so far, and I'm going to shamelessly plug the syntax TikTok.

Scott Tolinski

The TikTok, we we do we've been doing TikToks. I've started doing some TikTok TikTok, some some new stuff on there. I did a a video where I did a, a reaction to a really cool website, a really cool branding website. I've been doing some, neat little Tips and tricks on there as well, so check it out.

Scott Tolinski

I'll have a link to it in the show notes. But if you're on TikTok, so are we at syntax f m. Alright. Thanks, everybody, for ready. Tuning in, and we will catch you later. Peace. Peace. Head on over to syntax.fm for a full archive of all of our shows. And don't forget to subscribe in your podcast player or drop a review if you like this show.

Share

Play / pause the audio
Minimize / expand the player
Mute / unmute the audio
Seek backward 30 seconds
Seek forward 30 seconds
Increase playback rate
Decrease playback rate
Show / hide this window