• Activity
  • Votes
  • Comments
  • New
  • All activity
  • Showing only topics with the tag "software". Back to normal view
    1. Typesetting Markdown Blog: What Next?

      Some of you have read the Typesetting Markdown blog series (https://dave.autonoma.ca/blog/). The plan was to finish the last two parts with Annotated Text (basically markup for Markdown) and...

      Some of you have read the Typesetting Markdown blog series (https://dave.autonoma.ca/blog/). The plan was to finish the last two parts with Annotated Text (basically markup for Markdown) and Figure Drawing (MetaPost); however, people have asked for a post on Markdown to EPUB, others have asked for high-quality PDF theme templates using ConTeXt, and some have requested rendering Markdown into HTML.

      Within the realm of Markdown, digital documentation, typesetting with ConTeXt, R, externalized interpolated strings, and bash scripting, what would interest you for the next post in the series?

      (Please flip through the blog series to see the topics that have been covered.)

      3 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. What's your "must have" software for a MacBook Pro, especially for programming?

      Just got my first MacBook Pro, and I've been setting things up. Wondering what people's "must have" software on MacOS is and what programming tools you might recommend. I've heard that I should...

      Just got my first MacBook Pro, and I've been setting things up. Wondering what people's "must have" software on MacOS is and what programming tools you might recommend. I've heard that I should definitely install homebrew so that I can have a real package manager like I've got on Linux.

      19 votes
    5. MacOS Folks -- chunkwm is dead, yabai is the future (same dev, too!)

      tldr; chunkwm has been completely rewritten and is now yabai From the chunkwm site: chunkwm is no longer in development because of a C99 re-write, yabai. yabai was originally supposed to be the...

      tldr; chunkwm has been completely rewritten and is now yabai

      From the chunkwm site:

      chunkwm is no longer in development because of a C99 re-write, yabai.

      yabai was originally supposed to be the first RC version of chunkwm. However due to major architectural changes, supported systems, and changes to functionality, it is being released separately. There are multiple reasons behind these changes, based on the experience I've gained through experimenting with, designing, and using both kwm and chunkwm. Some of these changes are performance related while other changes have been made to keep the user experience simple and more complete, attempts to achieve a seamless integration with the operating system (when possible), proper error reporting, and yet still keep the property of being customizable.

      For those who don't know, chunkwm was / is a tiling windows manager that is sort of like bspwm / i3 etc. I've been using chunkwm for a few months now and love it. If you're also an i3 user, the lack of a proper super key does make your key combos different, but overall its an excellent window manager. Both chunkwm and yabai use koekeishiya's Simple Hotkey Daemon (skhd).

      Anyway, I gave the new version the day and its pretty good, but still has some quirks. It seems like development is moving along quickly, so keep an eye on it.

      8 votes
    6. Any developers/designers interested in a helping build a proof-of-concept for a new type of data-centric app?

      Wow it was hard to describe this in the title! I should have said "data-centric APP" not UI. Sorry! LOL I have had an idea for 25 years that I keep NOT pursuing because I was convinced that the...

      Wow it was hard to describe this in the title! I should have said "data-centric APP" not UI. Sorry! LOL
      I have had an idea for 25 years that I keep NOT pursuing because I was convinced that the next big version of Linux/Windows/etc would include a more civilized way to manage data. It just seems obvious in my strange mind, I guess that means intuitive. I've discussed the idea and worked on refining the concepts with about 20 people and they all agreed.

      My idea is based on a huge paradigm shift about managing all forms of data by the user. It's about how we manage data, not just file-system stuff or yet-another Windows/File Explorer or any of the numerous current Linux varieties. I'm honestly shocked that in 2019, the most original idea that's come about is to remove all the menus and toolbars (freeman) or add a bunch of tabs and hundreds of buttons (pretty much everything on Windows).

      I am a software engineer and designer with 35 years experience - but with business class apps, not OS stuff. I am semi-retired and have a great deal of time to work on whatever interests me. And please note: Despite my advanced years ;-) LOL I am very current on the technologies I work with daily, which is mainly .net/c#. However, I just finished a year-long project that had a Java client running on a Raspberry Pi (which I love) paired with a WCF service running in IIS, along with an asp.net web client. Now I'm not an expert in any of that, but I'm not too shabby I don't think as I've made a good living and do mostly volunteer work right now.

      I currently manage a massive amount of data, from files/dirs on Windows and Linux file-systems, to MSSQL and mySQL on both Windows and Linux, and of course some cloud data. And it takes several tools as you know, and it's incredibly inefficient and painful. And of course on Windows, Windows/File Explorer is - eh, I can't find a word strong enough. On Linux not much better. And I've spent the past two years searching, researching, testing, and praying.

      My idea is to build an app that allows users - not just developers like me - but mostly aimed at business users - to manage data from various sources/technologies in a single unified and intuitive manner. The physical aspect is divorced from the UI which is divorced from the management engine. And it's grouped the way the user THINKS and WORKS with it. For example, let's say for PROJECT-A (and Client-1) I have various source code locations on 2 local hard drives, but also documents (technical specs, or maybe letters to the client, spreadsheets or timelines), and of course likely a database or two, some web-site links. How many places and how many apps would I have to use today to keep them all close by so I could get to them? Well, there'd be a couple of drive letters probably, maybe a few sub-folder levels deep, maybe documents on a network share, some collaborative docs in the cloud, and some web-site links in whatever-browser-you-use. You get the idea.

      No file manager on any OS can give you much more than "Places" or file-system - drive letters on Windows or some mount points on Linux. Things like MyDocuments, MyMusic, MyInsanity - that stuff makes no sense because it's not how people work. What I want is a "work-space" where I can have any number of what I call "Data Sources" - and it doesn't matter what physical technology is underneath it - local hard drive, local sub-folder, mapped drive, unc mount, cloud, ftp - don't care - don't need to. I create a work-space, add data sources, order them however I want, name them whatever I want, and each "Data Source" has a manager or provider. A filesystem provider would make your data source look like Windows Explorer. But a database provider could look like MS SQL Server Manager or other db admin tool. And you put that workspace in a tab if you want, and have as many others in other tabs - or you put them on a menu, or on a popup that a middle-click brings up - doesn't matter. And everything I've just written, plus it's settings, is represented by Viewer objects. A hierarchical - tree-view or the likes - a flat view - a list-view - a preview pane, or editor pane - navigation tool (path/breadcrumbs) - a command line shell pane - drag/dock wherever in the tab you want. A main menu/toolbar + status-bar would be global and shared. And all THAT is bundled into a PARENT object - which contains the work-spaces, which contains the tabs, which contains the data sources + provider views/panes. And you can have as many of THOSE - parent objects - as you need, easily accessible in the custom titlebar at the top, or bottom, etc..

      The point is - when I am working on PROJECT-A I manage it in a tab that contains ONLY the drive letters, or mount points, that are relevant (and named what I choose, meaning no drive letters forced on me even if that is the underlying reality nor any full paths or full URLs - just logical names I assign). This will NOT be some massive file manager with every folder on the system or 18 drive letters I'll never use. It will have all the web-site bookmarks I need, as well as databases I'm working with. This won't be an ALL-IN-ONE type of thing - you will STILL use your external apps, web browser, IDE or editor, mail app - but it will be a SINGLE place where ALL those data items get represented and where you can manage them in exactly the same way. I can copy/paste an email message to a file on my workstation, or copy a file from a network share to some machine remotely using ftp or http.

      I hope this makes some kinda sense and doesn't just sound like the ramblings of yet-another aging geek who thinks he's got a great new idea. My usage scenarios are literally based on things I do every day, and are the result of observing myself as I work to see what my mind is doing. I do realize that we all work in our own way, and I've taken that into account. But there are basic things we all do concerning data management. And as I have hired, trained, and worked with a huge number of fellow programmers over my 35 years - without exception this was the most common soft point for them all. Keeping track of data. The same applies to all my clients. I've written software for accountants and attorneys, and a wide variety of business types - and without exception - every one of them had trouble with managing their data. One look at their Desktop or MyDocuments - or just watching them trying to find a letter in MS-Word - tells the whole story.

      Ok there's my pitch - I'm looking for anyone who has interest, no matter what your skill level or how much time you can or cannot devote. We need people who can contribute only opinion and advice, as well as hardcore keyboard jocks like me who love to code for 36 hours at a clip ;-) LOL

      12 votes
    7. Boeing 737MAX, a software engineers perspective

      @trevorsumner: Some people are calling the 737MAX tragedies a #software failure. Here's my response: It's not a software problem. It was an * Economic problem that the 737 engines used too much fuel, so they decided to install more efficient engines with bigger fans and make the 737MAX.

      11 votes
    8. Why aren't smartphones like PCs where you have choice over your OS and get updates directly from OS vendor?

      I can install Linux or Windows or even BSD on my laptop without much hassle, and get the updates directly from the OS vendors. This isn't the case for smartphones. You don't have choice over your...

      I can install Linux or Windows or even BSD on my laptop without much hassle, and get the updates directly from the OS vendors.

      This isn't the case for smartphones. You don't have choice over your OS. You don't even get android updates directly from Google, and have to wait for device manufacturers to release the updates. Why is it so?

      32 votes
    9. Let's talk browsers

      I've tried a lot of browsers. Starting from Chrome, to Chromium, to Firefox, to Links, to w3m, to, eventually, Qutebrowser, which I use for most of my browsing now. At least for me, I had four...

      I've tried a lot of browsers. Starting from Chrome, to Chromium, to Firefox, to Links, to w3m, to, eventually, Qutebrowser, which I use for most of my browsing now.

      At least for me, I had four things in mind while choosing a browser:

      • I want it to be light
      • I want it to be minimal
      • I want it to be keyboard-oriented
      • I want it to be able to use modern websites

      I won't be going through all the browsers I've tried, but those I mentioned are the big ones, so I'll just do a quick check-list of these things.

      Chrome/Chromium:

      • Weighs like a sumo wrestler 1/5
      • Cluttered 1/5
      • Just some shortcuts and extentions 3/5
      • The model, the idol to strife for 5/5

      Firefox:

      • Apparently lighter than Chromium, though not by much 1/5
      • Cluttered 1/5
      • Some shortcuts, famous extensions 3/5
      • On point 5/5

      Links:

      • Very light and fast 5/5
      • Minimal, though can go smaller 4/5
      • Yes 5/5
      • Doesn't support javascript 1/5

      w3m:

      • As light as it gets 6/5
      • Pretty damn minimal 5/5
      • Even works for blind 5/5
      • Does javascript, but hard to use with cluttered wesites like Reddit or any news site 3/5

      Qutebrowser:

      • It is quite small and feels fast 4/5
      • Can be easily modified to not have anything on screen, and command line-like controls 5/5
      • Great, but hint system fails with javascript 4/5
      • Doesn't work with Reddit, for some reason 4/5

      With the things that I look for, Qutebrowser is the answer, with w3m being the close second. Of course, there are different things to look for in a piece of software, and you may want the extra stability and extensions Firefox provides, or privacy of Tor browser, or the suckless nature of surf, so I'd like to hear what is your browser of choice!

      17 votes