Programming

Note-taking app update

Fortunately the nightmares have stopped and I’ve managed to get on a more regular sleeping schedule, going to bed at about 1 AM or so and waking up at about 9:30 AM. So that’s good.

Programming-wise, I spent much of last week just learning more about modern web tools; I’ve been away from web development for a while, so there’s a lot to learn. I switched from Feathers and React to what’s called a “MEVN” stack, which consists of MongoDB for the database (which I find easier than MySQL1), Express.js for the back-end framework, Vue for the front-end (which I find easier to learn than React), and of course Node.js for the back-end platform. In particular, this little tutorial on setting up a MEVN stack was super helpful.

Beyond that I’ve only just started programming some actual functionality. At the moment, you can create a note and delete it. And that’s it. Pretty boring. Much left to do.

As seen above, when you hover over a note, you get that little side-menu with edit, copy, and delete options. Looks a bit bland, but the design is definitely not final. Here’s my current todo list before making the app public:

  • Complete functionality of the sub-menu (the delete works, but the edit and copy buttons don’t yet)
  • Allow attaching or inserting media (at least images) to notes
  • Sort / search notes by tags
  • Create note with tags pre-filled (like adding a post to a category)
  • Allow some js widgets in notes, at least checkboxes and timers
  • Allow creation of new notes with bracket links (e.g. “[[]]”) as in MediaWiki (standard wiki feature)
  • Open related notes by clicking on these bracket links (without opening a new page)
  • Search and sort notes by content / data / date (only basic queries for now)
  • Create user login / registration system
  • Create user stats page (notes created, storage space available, etc.)
  • Collect user usage stats (for studying how users use the product)
  • Overhaul / finalize designs, make responsive and usable on mobile
  • Write Terms of Service, privacy, cookie use policies
  • Offer subscriptions, launch!

I have some other big features I’d like to add, but I’d like to launch it first, just to get it out there. So how long will all that stuff take to do? Assuming I can tick one off every day, only two weeks. But some will be easy and some will be difficult, and you never know what task you might get stuck on. So we’ll see. I’m going to aim for two weeks. Though I do have some family stuff going on that will likely also get in the way.

Plus this really awesome guy sent me the PS4 game Dreams that I’m eager to try…

By S P Hannifin, ago
Programming

Startup programming update

Here’s a quick update of what I’m working on…

First I’ll admit that I’m in a bit of a mess sleep-schedule wise; I don’t know what’s going on with my brain. I’ll sleep for 10 hours then stay awake for 10 hours or less, getting suddenly really tired at seemingly random times, constantly out-of-whack with a 24-hour schedule. And I keep having weird nightmares so my subconscious must be a bit anxious about something. (Part of what makes them weird is that they’re often emotional nightmares; I’ll be really angry or sad or depressed in the dream, rather than just having bad stuff happen to me in the dream. But I can’t find much information about emotional distress within dreams; most articles talk about emotional distress in life causing nightmares, but I’ve got the opposite problem. It’s bizarre.)

Anyway, I’m taking a short break from working on TuneSage to work on a quick related project. I’m not sure what I’ll call it yet, but it’s a note-taking / note-organizing web app. I mostly just want it for myself. I know there are already dozens out there (like Evernote), but none of them work quite the way I want them to. Specifically I want an app in which I can:

  • Keep and organize random notes / ideas
  • Keep todo lists and reminders
  • Keep and organize bookmarks (similar to what I use Pinterest for)
  • Keep and organize timed sessions (such as for freelancing)
  • Keep logs of stuff (such as books owned & read, movies owned & watched, TV shows watched, etc.)

All these things can already be done with existing tools, but again, not in quite the way I want.

Anyway, the tools I’m using to create this app are tools I want to learn for use with TuneSage, so it will ultimately help with TuneSage’s development too. Plus the app itself will help me organize my notes regarding TuneSage. So I’m trying to kill a bunch of birds with one stone.

I’ll of course release it and if it gains any traction, so much the better. If no traction, it’s still something I want for myself.

As far as TuneSage goes, I’ve stopped using Rust for now, and instead switched to the older but more popular Node.js. Node.js is mainly Javascript for back-end, and it’s much easier for me to program in an easy language I already have experience with than learn a new more complicated language like Rust. (For instance, I love not having to worry about variable types… most of the time.) And since Node.js has been around for a lot longer, there are a ton of resources out there for it, which is also a huge plus.

For this new mini-sidequest of a note-keeping app, I’m learning some other tools that I think I’ll need for TuneSage anyway, so the note-keeping app will be a good learning experience. I’m currently learning React for the front-end, which helps with creating user interfaces, and Feathers for front-end to back-end communication, which is what I’m finding more confusing at the moment, mostly because it seems to have a lot of “parts”.

So that’s what I’m up to at the moment! Stay tuned for the release of the first version of the note-keeping app!

By S P Hannifin, ago
My life

1 Second Everyday : January 2020

“1 Second Everyday” is a phone app for which you log a second of video everyday for a year (or a month) and then create a montage (or a “mashup”) of those 1 second clips. The creator talks about the concept in this TED talk years ago:

I’ve been trying to do this for several years, but I always end up missing a day or two or just losing interest after a month or two. So this year I’m going to upload my “mashups” for each month as they pass as an attempt to encourage myself to continue through the year. Here’s my mashup for January 2020:

You can see that usually I forget about the app until the evening when I’m playing with the cat. And even when I’m not, my days are usually rather a bit mundane. But such is my life. Here are the captions for each day:

1 – Happy New Year!
2 – Programming… although not being productive here
3 – Scout watching paper printing
4 – Sisters leave
5 – Sadie loves the guest bed
6 – Playing with Sadie
7 – Snowing!
8 – Our 20 year old cat very sick before dying 🙁
9 – Went to see Star Wars 9
10 – Standing by the fire with a headache
11 – Reading a novel called “Farlander”
12 – More programming
13 – Getting stuff that sold from the eBay shelves
14 – Freelance work
15 – Catching up on GOT
16 – Playing around with a CD burner from Goodwill
17 – Coding on the guest room bed
18 – Enjoying some Mozart of smalin
19 – Programming (TuneSage, coming soon!)
20 – More programming
21 – Final GOT episode! (what a nonsense last season!)
22 – More programming
23 – Cat in a box
24 – Buying some cereal at Walmart
25 – More freelance work
26 – RIP Kobe Bryant and others 🙁
27 – Sadie wants to play, but I have work to do
28 – Feeding the turtle (named Covfefe)
29 – Watching the movie “Millennium Actress”, great movie
30 – Sadie eating grass, yum
31 – A visit to the used bookstore

By S P Hannifin, ago