• Activity
  • Votes
  • Comments
  • New
  • All activity
  • Showing only topics with the tag "open source". Back to normal view
    1. A bunch of updates and fixes from open-source contributors

      Over the last week, a number of updates have been made by people other than me contributing code to Tildes through its open-source repository. I wanted to make a post to highlight some of these...

      Over the last week, a number of updates have been made by people other than me contributing code to Tildes through its open-source repository. I wanted to make a post to highlight some of these changes and let everyone know about them, since there are some great updates and fixes in here:

      @deing made it possible to create links that will pre-fill the subject and message for private messages. For example: https://tildes.net/user/Deimos/new_message?subject=Test+Message&message=Please+don't+actually+send+this+to+me

      @blitz saw me make an offhand comment about a rare bug when someone submits a link to an IP address, and got a development environment set up and fixed it right away.

      @Bauke has been on a tear, fixing a lot of long-outstanding issues and adding features. So far:

      • Added a way for users to view their two-factor authentication backup codes (previously you could only see them at the time you activated 2FA).
      • Added "View Markdown" for comments and text topics. This is inside a new "More" dropdown menu, and will show you the markdown that the poster used, so that you can check how they did some formatting or copy-paste if you want to use someone else's post as a template of sorts.
      • Added new settings (under "Site behavior settings" on the Settings page) to always open links to Tildes groups and users in new tabs.
      • Fixed a few issues with inconsistent interface elements and styling.

      There are multiple more merge requests still waiting for me to review, and I'll probably be making some other posts soon once some of those get merged in as well. Thanks, the contributions are greatly appreciated! If anyone else is interested in looking into contributing, the CONTRIBUTING file in the repo is probably the best place to start.

      And as usual, I've topped everyone back up to 10 invites, accessible on the invite page.

      53 votes
    2. Which language would you pick to completely rewrite BSD, Linux, etc.?

      It'd my understanding that C has stuck around in the UNIX world for so long, nearly half a century, mostly due to the inertia of legacy code. If you could snap your fingers and magically port/fork...

      It'd my understanding that C has stuck around in the UNIX world for so long, nearly half a century, mostly due to the inertia of legacy code.

      If you could snap your fingers and magically port/fork the entire stack of open source codebases to the language of your choice, which would you pick and why?

      20 votes
    3. 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
    4. I finally open sourced something: Pliant, a flexible blog skeleton

      https://gitlab.com/smoores/pliant I’ve been a software developer for about three years, and I’ve always been enticed by and passionate about the open source scene. I have an assortment of projects...

      https://gitlab.com/smoores/pliant

      I’ve been a software developer for about three years, and I’ve always been enticed by and passionate about the open source scene. I have an assortment of projects variously available on GitHub and GitLab, but this is the first time I’ve ever created an open source project intended to be used by others.

      Pliant is a barebones starter kit for anyone wanting to self host their own blog. It came out of my own efforts to start a blog, and it’s what currently powers https://tfhe.shanemoore.me.

      I’d love to hear you’re feedback, or just discuss open source, blogging, web technologies, or whatever else comes up.

      20 votes
    5. What is your least favourite window manager or desktop environment and why?

      Can be something current or ancient, and if you've really got an axe to grind feel free to drag in Windows or macOS or other proprietary operating systems. Personally after using i3 for around...

      Can be something current or ancient, and if you've really got an axe to grind feel free to drag in Windows or macOS or other proprietary operating systems.

      Personally after using i3 for around half a decade now (though I switched to sway about a year ago) everything else I try just seems to add friction.

      25 votes