• Activity
  • Votes
  • Comments
  • New
  • All activity
  • Showing only topics in ~tech with the tag "open source". Back to normal view / Search all groups
    1. First release of my native Markdown notes app, Notementum (v0.1.0)

      Screenshot I posted a few days ago about a notes app I was working on called Notementum, and I'm happy to show you the first release (0.1.0). Installation instructions are available on the Github...

      Screenshot

      I posted a few days ago about a notes app I was working on called Notementum, and I'm happy to show you the first release (0.1.0). Installation instructions are available on the Github repo: https://github.com/IvanFon/notementum

      There's still lots of things I'd like to add, both big and small, and definitely a few bugs here and there, but I've been going for too long without sharing it, and I find it's best to release as early as you can to start getting feedback, and perfect it later.

      One things that's missing is documentation. I'd like to start on this soon, but I'm probably not going to share this anywhere other than Tildes just yet, so this comment will do for now :)

      Right now, the app only runs on Linux. I'd like to add Windows support, and it almost works, the problem is that WebKit2Gtk, the embedded web view I use to show note previews, doesn't support Windows. I'm going to explore some other options in the future, whether that's figuring out how to compile it, or allowing other preview methods (user's web browser, PDF, etc.).

      The app is also very much in alpha, so you shouldn't use this for anything important, there may be bugs that can cause you to lose some of your data. If you do use this for anything, make sure you backup your notes database.

      If you want to use it, here's a wall of text on usage:

      Usage

      The notes database is located at ~/.notes.db. When you launch the app, it'll load it, or automatically create it if it doesn't exist. I'd eventually like to allow choosing different locations, but it's hard coded for now.

      The interface is fairly simple. The leftmost sidebar displays a list of notebooks, and the "middlebar" displays a list of notes. Selecting a notebook will display the notes within it in the notes list. Selecting a note will open it in the editor, which is to the right.

      To create a new note, press Escape to focus on the searchbar above the notes list, and start typing a title. If no existing notes are found, press enter, and a note will be created with the title you entered.

      To rename a note, double-click on it in the notes list.

      The editor has a toolbar with 4 buttons, from left-to-right:

      • Toggle between editor and preview (shortcut: Ctrl+E)
      • Assign the current note's notebook
      • Add an attachment
      • Delete the current note

      The green circle all the way to the right turns into a loading indicator when you have unsaved changes. Once you stop typing for a few seconds, your changes will be saved, and it'll switch back into a green circle.

      Notebooks

      Notebooks aren't created directly, they're based on what notebooks your notes are assigned to. This means that, to create a notebook, assign it to a note. To delete a notebook, just delete all the notes contained within it, or assign them to a different notebook.

      Clicking on the notebook toolbar button brings up this dialog. To create a new notebook, double click on <New notebook> and type in a name.

      Attachments

      The notes database also stores attachments. This means that the entirety your notes can be contained in your database. Clicking on the attachment toolbar button brings up this dialog. The toolbar allows you to upload an attachment or delete it respectively. Pressing Insert Selected will insert the image at your cursor in the editor (![](image.png)).

      Theme

      The screenshots show the app with my desktop Gtk theme, Arc Dark. On your desktop, it'll use whatever your theme is. It should look good with any Gtk theme, but at some point I may bundle Arc Dark with it.

      The note preview currently has it's colours hard coded to look good with Arc Dark, so it may look a bit off on other themes. I'll try to sort that out at some point.

      Planned features
      • load/save database to/from different path
      • Windows support
      • note exports
      • database encryption
      • changing syntax highlighting theme
      • note tags
      • full-text search
      • proper documentation
      • more keyboard shortcuts
      • integrated sync
        • although you should already be able to use Git, Synthing, Dropbox, etc.
      • Vim mode for editor
        • maybe somehow embed a terminal to allow using vim/emacs/whatever
      Boring technical stuff

      The app was made with Python and Gtk+ 3. I've done this before and I really enjoy the development experience, especially with Glade to design the interface. There are still some Gtk features that I should really be using to make things simpler (GtkApplication, actions, and accelerators) that I'll be adding later.

      The database uses sqlite 3. This is convenient, as it allows for storing everything in one file, and will make fast searches easier in the future. Attachments are stored as base64 directly in the database. This makes it easy to have all your notes be contained entirely in the one database, but I may have to think about a more efficient method in the future.

      Markdown rendering is done using mistletoe, which has been great to use. Syntax highlighting and MathJax renderers were already available, so it was just a matter of combining both and adding custom image loading from the database, which was very easy. Mistletoe has a very easy to use API, so this was no problem.

      For LaTeX math rendering, I'm using MathJax. It supports pretty much everything, which is nice, but it can take a while to load. I'm currently loading it from a CDN in a <script> tag, so I'm hoping once I load it from a local file it'll be a bit faster. If not, I may have to find another solution.

      Like I said, the app still has a few bugs that need to be fixed. If you find any problems, it would be great if you could leave a comment here or open a Github issue (or if you have any feature requests).

      21 votes
    2. Linux users: after finishing distro hopping, where did you land?

      I've been running Linux for a little over a year now and, after a recent conversation on Tildes, I decided that I need to wipe and re-install so that I can enable full-disk encryption. Thus, right...

      I've been running Linux for a little over a year now and, after a recent conversation on Tildes, I decided that I need to wipe and re-install so that I can enable full-disk encryption.

      Thus, right now I'm shopping around for a distro and trying out different live environments to find something that works for me. My question isn't necessarily for right now though (my hardware is old enough that I'm definitely going to need to use a lightweight distro, which severely limits my options). It's more for the future, in that I plan to replace this computer in a year or two with something up-to-date, which means I'll be able to run any distro under the sun! Any!

      So, I'm curious to hear from people who have found their "forever distro." What do you run for your everyday use, and why? Also, what's your level of technical expertise? I am very far from a power-user at present, but I'd like to be somewhere closer to that when I replace my computer.

      44 votes
    3. What if app stores were federated?

      I've been thinking a lot lately about the future of software and where native apps and the web will reconcile and I had the idea that what if "the next OS" had a OSS federated app store that...

      I've been thinking a lot lately about the future of software and where native apps and the web will reconcile and I had the idea that what if "the next OS" had a OSS federated app store that people and organizations could host themselves, but the system still used the app store model that pull app/program listings from all the installations online? This could apply to mobile or desktop computing, or even any of the other platforms (see windows store system compatibility).

      11 votes