Debugging Dan

Tech enthusiast, avid side project builder. 🚀

E26: Get It Done #8

12/01/2024, duration: 16:26

category: Podcast
/

E26: Get It Done #8

Get It Done #8

An update on the progress I’ve made over the past two weeks in my projects, focusing on four main items. I successfully completed the Debugging Dan blog, addressing SEO tweaks and integrating RSS feed features. However, I struggled to make progress on content creation and the DanCuts project due to a lack of energy and the busy holiday season. I explored the potential of creating a desktop app for social media posting to simplify my workflow and facilitate content sharing. Moving forward, I’ll concentrate on developing DanCuts and a new project aimed at automating social media uploads. Tune in for insights on my journey and tips I’ve learned along the way.

Stay connected! Follow me on X at @debuggingdan for the latest updates, and subscribe to my YouTube channel @debuggingdan for the podcast and other interesting videos!

My active side projects are:

  1. observalyze.com: Enhance user engagement, satisfaction, and overall experience for your application by applying Gamification
  2. teletron.me: Build personal dashboards. Visualize and make your most important information available at a glance. Your dashboards will be accessible, privacy-first, non-technical and available on multiple devices.
  3. datasthor.com: The hassle-free solution for seamless remote data storage for you or your application, making data management a breeze.
  4. supersave: Open Source: Bootstrap your project with a simple database abstraction and automatically generated REST API

Video

Transcript

Welcome to episode 26 of the Debugging Dan podcast. Today, I will be updating you on the progress that I made in the get it done segment of this podcast. Every two weeks, I record an update. I try to keep myself accountable by scheduling tasks for two weeks and then discuss them in the podcast and share whether I did it, didn't do it, and what the result was. So, I'll be sharing the results from the last two weeks and now we're setting new goals for the next two weeks. So, stay tuned.

I focused on four items in the past week. Now the past two weeks. And I completed the Debugging Dan blog. There were some small items left, like the redirects on episode number. I did some SEO tweaks. So, I focused on that. I fixed Watcher Numbers. And that's an internal project that I used to collect data and statistics and to visualize that. There were some small issues there while I noticed while dogfooding it. Which means that I used my own thing to try to see if it works. I still don't know if I'm really going to turn this into a product. And it's currently still implemented in my old boilerplate with Express and Preact. So, if I'm going to make this into a product, I will probably have to move it over to Next.js first and then see how I will progress.

The third item that I wanted to focus on was content. The way of working. I didn't do it. I noticed I didn't have any energy or focus to really sit down and determine, okay, if I create this type of content, what can I deduce from it? When will I upload it? How will I format it? So, I'm probably just pausing that for now. I also didn't put it on the section for Next period because I need to get energy from it and currently I don't.

And the fourth item was looking into DanCuts. So, I built DanCuts as a SaaS first that allowed you to upload a video, edit the video, add captioning, shorten it, clip it, all kinds of enhancements. But I noticed that it didn't really work as a SaaS because of large video files, large AI models. So, it took me a lot of effort to maintain and to keep it running. I had to beef up my server where I hosted and I didn't really feel like that. And then I figured, hey, maybe I can run all those things on the user's computer itself. And I had already looked into Electron in the past to see if I could build something with that. I did a small to-do app in it and I'm going to take that to the next level. That's what I wanted to look into. I didn't really get around to this part because it's been pretty busy for the past two weeks here with the holidays and, well, not really the holidays, but the holidays coming up and other stuff to do. But I did do some, I made some progress on it. This morning I started on the Create App thing, but I did some research before that.

So, that's for the past two weeks what I worked on. I'm pretty happy with it. I didn't make a lot of progress, but as the end of the year nears, I often find that even though there are some holidays there, it's more about spending time with the family, finishing things at work before the end of the year. So, that makes it kind of difficult to make progress, but that's okay.

So, there's a highlight on DebuggingDan.com. It's now in a state where it reads the podcast RSS feed. Those are added automatically now on the site because it reads the RSS feed. It attempts to find the correlating YouTube video, so then it automatically embeds that in the detail page. It also fetches the transcripts, which I now automatically upload somewhere where the blog can find it. And I also backported the original episodes, uploaded the transcripts, and that's currently in a state where it works. I really do still want to write more blog posts, something that I still need to enable. And I want to, what my plan is, is to use my Notion blog tool, but I'm also dogfooding internally only, where I turn Notion pages or databases into blogs. Create an API for that, so that I can use that API to retrieve the data and then render it in my own blog instead of having Notion blog being responsible for the rendering. And that's something that I still need to build, but it isn't that high on my priority list because I want to focus on Dancuts first. Because that should enable me to do more on social posting more and being present more. And I also still need to add an RSS feed to the blog itself. I didn't really do that currently because it's basically just the podcast RSS feed. And it will be there somewhere in the future, but as there are currently no additional blog items, I figured I'd do that later.

So, that's on debuggingdan.com. Visit it if you'd like. You can watch all the old episodes there. And the free tools that I showed last week and talked about last week in a podcast are also available there.

So then Dancuts, I didn't really do, I didn't do a lot of building on Dancuts, but I did, did some research and coincidentally yesterday or the day before I found an app called CanVid. If I comment on a Reddit post, somebody recorded a how-to video and in the comments, somebody asked, hey, how did you create the video? Because it's, it's pretty cool. And it was pretty cool. It had a camera in the, in the, in the corner and it automatically zoomed the mouse clicks. So in terms of demonstration videos, that was pretty, pretty cool. I looked into it and it turns out it's an Electron app. So if you're listening to the podcast, you can see this, but I'm showing the homepage for CanVid. And so it allows somebody to record a, a screen recording and it's $99 for a lifetime license, which gives you one year or three updates.

Um, and I find also this part interesting. It shows that what it does, it records the camera and the desktop or the windows separately. So in kind of post-production, after you've completed the recording, you can move the camera around, you can change, uh, its size. You can change the behavior at the mouse clicks. Um, so in hindsight, it allows you to do the editing. So that's pretty cool. And, um, what I did, what I learned is I asked JetGPT. Uh, and as it turns out, most Electron apps have, Electron apps have, uh, uh, ASAR, which is basically just an archive with all the resources. You can extract that if you can find the URL to the Electron app in your, on your desktop or on your computer. And then you can kind of sniff around and see what they're using. So I found that they use, uh, faster whisper. They ship that as an EXA file in a binary folder, they use, uh, deep text, something like that to enhance voice.

Um, and I got to see, you cannot really see the code and I don't really care about the code, but you see that they bundle it. They have an index.js where the code is minified and not really readable, but I was more interested in how they build it, how they ship it. Because that's the stuff that I need to learn about Electron and not really about creating a webpage itself.

Um, so it was interesting, um, to see and really helpful for me at least. Uh, and this morning I started using, uh, electronvite.org, which creates an Electron app with Vite, which hot module reloading. So on the dev environment, it connects to the Vite, uh, hot reloading URL. So it connects to a URL. And if you do an actual build, it connects to the local HTML files. Uh, so that's efficient programming. I still need to figure out how to do the building and the deploying, because I know that there is Electron Forge, which allows you to build the binary for different platforms on the same platform. So I can build a Mac app, for example, on Windows, because it just needs the Chromium, uh, Mac built, uh, because all the resources and the index files and the JS is platform agnostic.

Um, and I need to figure out if I still need to add that there or because it's not in there yet, but that's for a later thing. I just first need to make sure that it works. I could also work from windows cause I develop a windows. I have a windows PC. I could also start with windows and later on, look into supporting Mac, um, to make stuff easier.

Uh, but it was, it's been fun to work with. Uh, I'm learning a lot again. Uh, I'm a real noob at Electron. So I'm going to be learning a lot for the next two weeks.

So for this specific update, number eight, I will be focusing on two things. So I've trimmed down the list. I will be looking further into Dan cuts. So having people select the file and then have some quick operations on it, like trimming, um, and, uh, look into what I can whip up with the open source library that I found. Uh, which uses the Chrome web geo, I believe. And it uses Pixie jazz to do video editing. And it's not a visual tool, but you can use it to create a, uh, video processing pipeline. So a number of steps, a number of clips on specific times. And I will be building a UI on top of that.

Uh, it's not really a video editor, but more a template. Uh, so that when you upload a video, you can select a preset and then one, two, three, four or five videos pop out, uh, at the end with that preset. Um, so that's what I'm looking into first, the easy steps, the resizing of the video, the trimming, and later on seeing how can I, uh, create a, uh, note add-on that uses whisper CPP, for example, for text transcription and stuff like that.

Uh, but first the easy stuff, getting the interface and getting the open source project, uh, running. Uh, second item I will be working up is I've called it social aid for now.

Um, cause when I publish for socials for my podcast or something else, I post on different social networks. So I post on Instagram, I post on X, I post on TikTok, I post on blue sky threads.

Um, I think that's it, but no Facebook. And, um, I do that in Firefox and I use, uh, I show a tab containers, uh, so I don't, I'm not logged into those social accounts during my normal browsing, but it's a kind of a hassle.

Um, and, um, there are, some of these platforms have APIs, so I'm going to create a desktop app again, to get some more electron experience, or I want to create a desktop app that for the platforms that have it and have an easy API, I can try to automate uploading a video and, and, and posting text to that platform, uh, by just having to configure the credentials, typing the text, selecting the file and uploading.

And for the other platforms, I want to make a button that then launches a new window where I just need to log in once and it remembers my credentials and I can just open the intent and I can very easily, uh, with text that has already copied to my clipboard, for example, um, uh, published to that specific social network.

Um, so that's what I'm going to look into and because for me, what I noticed, I really need to lower thresholds for posting.

Uh, I find that, uh, since posting to social does not really come natural to me, other people have that. I don't really have that, so, um, I really need to lower the thresholds as much as possible and make it as easy as possible and low effort for me to post something to social, uh, for me to actually do it. For example, uh, yesterday I was working on watchful numbers and I found that there was a bug.

And as it turns out the MySQL2 library, if you have a date column, it automatically transforms that to a date object. I didn't know that, but somewhere in the code, I was, uh, transforming a value to a string. And since it was not a string, uh, it was, um, uh, converting it using the toString function of the date object, which turned out to be a very long date. It's, uh, with a time zone written out like a Western Europe, uh, EST.

And I couldn't figure out where is that date coming from, because when I did a console log or I used a Bunyan, the logger that I use server side, I was just seeing a year, month, day, time, and then a Z and a GMT. So I couldn't really figure out where those two things were coming from. And at some point I figured out, um, it's the automatic date formatting, which is different when Bunyan or console log logs it to then when you do a string conversion in node itself.

And that is something that I might have, that I would kind of share in, in the format of today. I learned that date, that my school too returns a date column and then the formatting is different. And, uh, Hey, uh, hopefully it helps you because it took me an hour out of my day and, uh, I figured I'd share.

Um, but for now it's too much of a hassle, at least it's mostly in my head, but to get out of the flow, um, type.

So I'm going to try to figure out the text and go to different platforms and share it, or even on X only, I could even decide I'm going to focus first on X or automatically post it on, on, on blue sky, for example, from X or, um, but at the moment, um, I'm just not really doing that.

So I want to make the thresholds as low as possible. That's also why I'm working on then cuts to make the creation of the social videos, because those are probably more engaging than just the text that I'm sharing.

Uh, as easy as possible and as effortless as possible. Um, so that's the, I I've called it social aid, but I will probably only be using it myself. It's a desktop app and it's going to be pretty simple.

Uh, so that's for the next two weeks. Um, and that's basically it. So, if you like this, um, leave a like, leave a comment. Uh, let me know that you've enjoyed it. If you have a remark, also let me know. I really love feedback because I can only grow from that.

Um, and, uh, nothing else for me to say, but, uh, have a nice day. Bye.