• Activity
  • Votes
  • Comments
  • New
  • All activity
    1. What programming/technical projects have you been working on?

      This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's...

      This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's interesting about it? Are you having trouble with anything?

      11 votes
    2. Fortnightly Programming Q&A Thread

      General Programming Q&A thread! Ask any questions about programming, answer the questions of other users, or post suggestions for future threads. Don't forget to format your code using the triple...

      General Programming Q&A thread! Ask any questions about programming, answer the questions of other users, or post suggestions for future threads.

      Don't forget to format your code using the triple backticks or tildes:

      Here is my schema:
      
      ```sql
      CREATE TABLE article_to_warehouse (
        article_id   INTEGER
      , warehouse_id INTEGER
      )
      ;
      ```
      
      How do I add a `UNIQUE` constraint?
      
      8 votes
    3. Please criticize my idea for CHORES - a short-term TODO app for ADHD people (and myself in particular)

      Introduction I'm a beginner in programming, but a veteran in film and literature. I know that ideas come easy. Any normal person can come up with a good idea in a matter of minutes. The main...

      Introduction

      I'm a beginner in programming, but a veteran in film and literature. I know that ideas come easy. Any normal person can come up with a good idea in a matter of minutes. The main problem is doing it.

      Besides, I couldn't care less if someone does that before me. I'd probably benefit from their program, and even offer to collaborate. I have a bunch of other ideas in the oven anyway.

      And I'm humble enough to know that such a niche project would never attract the interest of a mega-corporation anyway.

      2. What is CHORES?

      CHORES is a short-term task manager. It's meant to organize nothing more than a few hours or less of your tasks. Month, weak or even your entire day are entirely out of its scope.

      3. Who is CHORES for?

      First and foremost, this app is for my use. But I'm certain there are other people with conditions similar to mine, especially ones with ADHD. I'm also autistic with a compulsive personality, and won't stop until I tinker with every aspect of an object. Not surprisingly, I'm a Linux, i3wm, Emacs and Neovim user. And they're excruciatingly customized.

      What I need is not a full-featured a TODO app like Remember The Milk, Todoist or Org Mode. They're too distracting, I end up just playing with the tools. I need something that allows me to track very short term chores. Thinks like brushing my teeth, taking a shower, eating, walking my dog, washing the dishes and making my bed.

      That's what I intend to do.

      4. What is ADHD

      From the United States National Institute of Mental Health:

      Attention-deficit/hyperactivity disorder (ADHD) is a disorder marked by an ongoing pattern of inattention and/or hyperactivity-impulsivity that interferes with functioning or development.

      4.1 Warning

      Please refrain from suggesting that the ones who use such tools just need to make an effort instead. That's a cliche most people with ADHD and other mental health issues probably heard many times, and by saying that you may cause distress. If you need more information, please refer to the link posted above.

      5. Why another "TODO" app?

      People with severe ADHD like myself frequently forget what they're doing, and what they should do in the very short term. I'm talking 2, 3 or 5 tasks from now. To give you an idea of how bad it is, right now I have an Emacs Org Mode file with the following tasks:

      * Now
      ** TODO Take Ritalin
      ** TODO Start chronometer on Ritalin
        - Tells me when the effect wears off
      ** TODO Take a shower
      ** TODO Take the laptop to the living room
      ** TODO Wash the dishes
      ** TODO Study Python
      ** TODO Post on Tildes
      

      But Emacs and Org Mode do a lot more than that, and this can be very distracting (right now I'm writing this post because creating another file from my now.org file was way too easy, for example).

      Considering that I am the main target audience of this program, any space for tinkering is a dangerous avenue for procrastination.

      6. Who is CHORES for

      The primary target of this project are people with:

      1. ADHD (Attention deficit hyperactivity disorder)
      2. similar conditions or personality traits

      In sum: if you have extreme difficulty focusing, remembering and fulfilling your tasks in the very short term, you may find this program useful.

      7. Who is CHORES not for

      The majority of people can concentrate and perform their short-term tasks with a reasonable degree of efficiency. If that is your case, you have little to gain by using CHORES.

      8. Features

      CHORES is a short-term task manager. It's meant to organize nothing more than a few hours: not your month, weak or even your day.

      1. CLI Linux app (Mac, Windows, GUI, and mobile could happen in the future)
      2. Hard limit of ten tasks (with the option to reduce)
      3. Only the very essential configurations available
      • tinkering is a huge time drain for ADHD people
      • because of that, the defaults will have to be extremely sensible.
      1. Started Stopped status clearly marked by character or highlighting

      8.1 What you would be able to do with CHORES:

      1. Add up to ten tasks
      2. Reorder/Start/Stop/Done these tasks
      3. Undo only one operation
      4. See only the last ten completed tasks

      9. Answer to Possible Questions

      9.1 Why Not Keep Using Org Mode? Or maybe Taskwarrior?

      Org Mode and Emacs are wonderful tools, but they're also a perfect playground for procrastinators. It simply does too much. Emacs is like a box of legos, and that's the last thing an ADHD person needs when it comes to tracking short-term tasks.

      Taskwarrior suffers from the same issue.

      9.2 Why Not todo.txt and similar apps?

      This may seem crazy, but for a severe ADHD person, even todo.txt gives way too many options and features. It is, after, an actual TODO app. I can add 1000 tasks todo.txt. It has an extensive wiki, projects, tags, context tags, special value tags. You might just say: just don't use these options. But that

      9.3 Why not use the extremely minimalist t task manager, by Steve Losh?

      I like t very much, and, depending on its license, I'll probably use at least some of its code. But t lacks some features CHORES requires, such as:

      1. Limit task amount
      2. Add tasks to the bottom (t last tasks randomly, or at least something that seem random to me)
      3. Reorder tasks
      4. Undo
      5. Easily view completed tasks
      6. Add Start/Stop status to a task

      9.4 Why not pen and paper?

      This is a very personal anwer, but here we go:

      1. I will lose the paper every 30 minutes
      2. I will lose the pen every 30 minutes
      3. I will forget to look at the paper, it will probably end up crumpled in my pock
      4. Many of my tasks, such as programming and studying, already happen in the computer anyway
      5. One of my medications interferes with my motor skills and my handwriting is hard to understand - even for me
      6. I like computers. The fact that I like computers makes more likely for me to actually look at the tasks.
      7. In the future, I can add alerts. Can't do that with paper
      11 votes
    4. I want to learn programming. What language should i pick to write cli apps for linux?

      I'm interested in C or Go, but i'm open to ideas. I have plenty of sh scripts i created to integrate my tools and system, so i have some experience and i don't want a scripting language like...

      I'm interested in C or Go, but i'm open to ideas.

      I have plenty of sh scripts i created to integrate my tools and system, so i have some experience and i don't want a scripting language like python.

      My first plan is to learn the basics of the language and rewrite some of those scripts.

      I think my first pick will be a script that uses ffmpeg to convert my flac files to mp3 or opus. I use sndconv -opus/-mp3 and it checks if there are flac files in the folder (i only have full albums), converts and puts in a folder named "$artist - $album".

      My long term goal is to make a cli/tui music player like cmus.

      UPDATE: i'm having plenty of success with Go right now. I just wrote a basic version of my music conversion script. It's just converting a music i pass as argument to mp3, but i'll keep working on it and adding functionality just to dip my toes in Go. It seems like a good language and i'm having fun!

      Thanks for all the answers!

      18 votes
    5. What programming/technical projects have you been working on?

      This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's...

      This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's interesting about it? Are you having trouble with anything?

      18 votes
    6. Looking for advice on a CI / regression testing platform

      Hi all, I'm looking for some advice regarding how to set up a basic CI regression / testing suite. This isn't my full time job, but a side project my group at work wants to spin up to... shall we...

      Hi all,

      I'm looking for some advice regarding how to set up a basic CI regression / testing suite. This isn't my full time job, but a side project my group at work wants to spin up to... shall we say, give us a more real time monitoring of functionality and performance regressions coming out of the underlying software stack development (long story).

      As none of us are particularly automation experts, I was looking for some advice from my fellow Tilderinos. Please forgive me if any of the below is obvious and/or silly.

      A few basic requirements I had in mind:

      1. Can handle different execution environments: essentially different versions of the software stack, both in docker form and (eventually) via lmod or some other module file approach (e.g., TCL), and sensible handling of a node list.

      2. Related to one, supports using the products of builds as execution environments. Ideally we'd like to have a build step compile the stack and install it to a NFS from which we can load it as a module.

      3. Simple to add tests. Again, this isn't our full time job -- we mostly want to add a quick bash script / makefile / source code or the like to the tests when we run into an issue and forgot about it.

      4. Related. We should be able to store the entire thing as a git repo. I have seen this to some extent with Travis, but my experience with Jenkins was... sub-par (is there a history? Changelog? Any way at all of backing up the test config?).

      5. Some sort of post-processing capabilities. At a glance we need to be able to see the top line performance numbers for 20-30 apps over the different build environment. Bonus points if there's a graph showing performance vs build version or the like, but honestly a CSV log file is good enough.

      6. Whatever CI software we get has to be able to run this locally. Lots of these are internal only numbers / codes. FOSS prefered.

      7. A webui for scheduling runs / visualizing results would be nice, but again this could be a bash script and none of us would bat an eye.

      Any thoughts would be greatly appreciated. Thanks!

      7 votes
    7. What programming/technical projects have you been working on?

      This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's...

      This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's interesting about it? Are you having trouble with anything?

      22 votes
    8. How can I make "whereis" automatically open the file on Nvim when it is the only result?

      EDIT: SOLVED It looks like it was much simple than I thought and someone solved it on Reddit already. I won't delete, just leave the link if someone is interested. Runtime Environment OS: MX Linux...

      EDIT: SOLVED

      It looks like it was much simple than I thought and someone solved it on Reddit already. I won't delete, just leave the link if someone is interested.

      Runtime Environment

      Issue

      Sometimes I use "whereis" (aliased for "wh", but it doesn't make any difference...) for my own scripts.

      I usually copy their paths manually (using tmux) and paste to the command line resulting in something like this:

      nvim /home/my_username/my_scripts_folder/my_script
      

      Could I make that into a single command?

      Thanks in advance!

      3 votes
    9. Fortnightly Programming Q&A Thread

      General Programming Q&A thread! Ask any questions about programming, answer the questions of other users, or post suggestions for future threads. Don't forget to format your code using the triple...

      General Programming Q&A thread! Ask any questions about programming, answer the questions of other users, or post suggestions for future threads.

      Don't forget to format your code using the triple backticks or tildes:

      Here is my schema:
      
      ```sql
      CREATE TABLE article_to_warehouse (
        article_id   INTEGER
      , warehouse_id INTEGER
      )
      ;
      ```
      
      How do I add a `UNIQUE` constraint?
      
      9 votes
    10. Please tell me what you think about this idea for a text editor/Linux Distribution combo

      I know there are similar products I could buy in the US that would give me this experience, but I'm not in the US and I don't have much money. In the old days, my father had some kind of machine...

      I know there are similar products I could buy in the US that would give me this experience, but I'm not in the US and I don't have much money.

      In the old days, my father had some kind of machine that was not a proper laptop and not a proper typewriter. It opened instantly to a text editor. As far as I remember, there was no noticeable boot time. It had a keyboard and an entry for a floppy disk. You typed your stuff, saved it to the floppy disk, probably to send via email or to print in another machine. I loved that machine.

      I love these little gadgets that do one thing and one thing only. And, as someone with severe ADHD, they're often a necessity. If my Kindle had Youtube I would never read a book. If my PS4 had Emacs I would never play a game. The list goes on, but the principle is this: a lot of things are useful to me precisely because of what they cannot do.

      And that is why I wanna recreate my father's crazy computer-typewriter.

      Because I know how to use the command line, it really needs to be in total lockdown: I open it up, it shows a very simple text editor (with a few handy features that make it works even more like a typewriter) that I cannot configure, tinker or alter in any way. It's focused on writing (not editing) literature because that's what I need and other kinds of writing require an internet connection.

      It would save and back up automatically (like a typewriter) to one or more drives at your choice.

      There would need to be a few options because of different screen sizes, the number of screens etc, with an interface to make it easier.

      So the idea is an ultra-minimal, kiosk-mode Linux distribution that can either go on a flash drive or be installed on an old laptop. No package management, no internet connection, no access to the command line, no configuration files, no distractions whatsoever. I wanna forget I'm even using Linux. I wanna recreate my father's typewriter/computer that he never let me touch.

      How do I do this?

      14 votes