What terminal emulator do you use?
What are your experiences with your current terminal emulator or former ones? What makes you use your current terminal emulator? What shell do you use?
What are your experiences with your current terminal emulator or former ones? What makes you use your current terminal emulator? What shell do you use?
I know, it's not supposed to be beginner-friendly by design, but surely someone's set up a collection of information somewhere. I can't even find a complete list of default hotkeys.
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!
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.
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.
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.
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.
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.
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.
The primary target of this project are people with:
In sum: if you have extreme difficulty focusing, remembering and fulfilling your tasks in the very short term, you may find this program useful.
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.
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.
Started
Stopped
status clearly marked by character or highlightingOrg 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.
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
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:
t
last tasks randomly, or at least something that seem random to me)This is a very personal anwer, but here we go:
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?
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?
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?
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:
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.
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.
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.
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?).
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.
Whatever CI software we get has to be able to run this locally. Lots of these are internal only numbers / codes. FOSS prefered.
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!
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.
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!
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?
I want to adopt these technologies b/c I'm moving to a home w/o WiFi: I'll only use mobile networks in order to save some money. But the general pipeline and setup are hard to digest, and I'm not sure if I really understand what are the implications for my privacy, except for the fact that DNS queries are encrypted so I don't leak domain names. This is especially important to me because Turkish internet law and the censorship mechanism is really intrusive, with DPI & DNS blocking. My current ISP does not fiddle with my HTTPS traffic, but I won't have that with my mobile network.
I'm also considering a VPN, but major VPNs are blocked here. To what extent do the purposes of VPNs and these DNS solutions overlap? Assuming most of my important traffic is over HTTPS+DoH/T, how safe am I, and most importantly how much can I penetrate the censorship mechanisms?
EDIT: Since a few people now have not realized how old this topic is before making a comment, see above date ↑. :)
My old PC's CPU (i7 930) started to critically fail after 8+ years of being overclocked from 2.8 to 4.0 GHz, so I decided to build a new one based on the Ultra-Compact Mini-ITX Gaming PC Build from TechBuyersGuru.
I went with Mini-ITX this time since my old PC was in a huge Antec P193 tower which weighs 16.4kg (36.2lbs) before components and so was a giant PITA to move around. The new Sugo SG13 case is roughly 1/7th the volume and initial weight so is much more convenient to move (but not build!).
p.s. I was unsure whether to post this 'buildapc' style content in ~tech or ~comp.... thoughts?
PCPartPicker Part List
Parts labeled incompatible are not... see "Notes" below in Build Process section.
Salvaged from old PC:
GPU
- $0
- EVGA - GeForce GTX 980 Ti 6GB Superclocked ACX 2.0+ Video Card
SSD
- $0
- Samsung - 850 Pro Series 1TB 2.5" Solid State Drive
SSD
- $0
- Samsung - 840 Pro Series 256GB 2.5" Solid State Drive
HDD
- $0
- Hitachi - Deskstar NAS 4TB 3.5" 7200RPM Internal Hard Drive
New Components:
Case
- $72
- Silverstone - Sugo SG13B-Q Mini ITX Tower Case
Mobo
- $190
- Gigabyte - Z370N WIFI Mini ITX LGA1151 Motherboard
CPU
- $325
- Intel - Core i5-8600K 3.6GHz 6-Core Processor
Cool
- $114
- Silverstone - NT06-PRO 74.0 CFM Sleeve Bearing CPU Cooler
RAM
- $220
- Corsair - Vengeance LPX 16GB (2 x 8GB) DDR4-3000 Memory
PSU
- $175
- Silverstone - 600W 80+ Gold Certified Fully-Modular SFX Power Supply
M.2
- $143
- Crucial - MX500 500GB M.2-2280 Solid State Drive
M.2
- $143
- Crucial - MX500 500GB M.2-2280 Solid State Drive
Total: $1382
(CAD)
Build Process w/ Pictures:
TL;DR - Behold my new Battlestation, IN ALL HER GLORY!!!
After saying goodbye to my old, heavy, oversized, Antec P193 case...
Unboxing the new one, which is almost the same volume as my UPS!...
And prepping all the new PC components for a photo op...
I began the arduous process assembling my new computer.
Everything went fairly smoothly to start. I installed the RAM, M.2 Drives, CPU and CPU Cooler before mounting the motherboard to the case, as instructed in the build guide. The CPU Cooler was a PITA to attach but that's no surprise as they always are.
Note: These "incompatible" parts listed on PCPartsPicker actually do fit together as the build guide said they would. However the RAM and CPU cooler fan are actually touching and I barely managed to squeeze them in together, so the build guide probably isn't lying when it said that particular low-profile RAM might be the only one that actually works with the cooler.
I then mounted the motherboard to the case and began slowly plugging everything else in. This was a particularly slow and frustrating process as I have pretty large hands and everything was incredibly tiny, in incredibly cramped positions, and required more finesse to get in place than I could muster with my fingers alone. As a result I wound up using long needle-nose pliers, including some bent-angle ones, to get most everything plugged in.
This is when I ran into my first major problem though... and one that was not mentioned in the build guide at all. The Case's front panel USB cable wouldn't fit in the motherboard with the CPU cooler fan in place. After trying fruitlessly to get the cable plugged in for 30min I finally gave up and decided to solve the issue the old fashioned way and it plugged in just fine afterwards. (Thanks for saving my ass yet again, Mr. Dremel!)
The other potential issue was due to the CPU cooler and case mounted PSU, which aren't supposed to work together, but once again as the build guide suggested they actually do... with a whopping 3mm clearance between them! At this point I also decided to swap out some of the ribbon power cables that came with the new PSU for some spare braided ones I had from another build since they are much nicer looking and allow for better airflow.
Note: The other supposed incompatibility listed on PCPartPicker is due to the fact that the case only officially supports 3x 2.5" drives or 1x 3.5" with 1x 2.5" but that's easy enough to get around, as explained below.
I also decided to cram an extra SSD under the front case fan, secured with double sided tape to the properly mounted SSD on the case floor panel. It worked just fine and allowed me to get my 3.5" 4TB HDD properly mounted on the underside of the top plate. Linus Tech Tips, in his similar Sugo SG13 build, even managed to squeeze 2 more SSDs above the PSU using double sided tape as well, so I guess that even leaves me with some room to expand my storage later. ;)
The rest of the build assembly process went relatively smoothly and once everything was hooked up, in position and plugged in, it booted straight into windows 10 (which was still on my old 1TB SSD). The moment when a new PC build gets past the POST is always a huge relief, however that momentary relief soon turned to dread as I quickly noticed a pretty big problem; The machine couldn't detect one of my new M.2 SATA drives.
After several hours of frustrated tinkering and much googling I finally found out the reason why, cursing PCPartPicker for not warning me and face-palming pretty hard for not having read the motherboard specs more carefully. It turns out that the Z370N motherboard actually only supports 1x M.2 SATA drive and the second M.2 slot is NVMe only. I had apparently just wasted $140+ on an M.2 SATA drive I couldn't use and my plans to configure them both in RAID 0 was shattered. But that's honestly not the worst part... in order to get the useless M.2 drive back out I had to basically FULLY DISASSEMBLE my entire build again since the NVMe M.2 slot is located on the bottom of the motherboard!
Despite the serious temptation to just leave it in there even though I couldn't use it, I wound up going through with the disassembly purely because I had a pretty good idea for how to actually make use of that second M.2 SATA drive based on something I saw on Linus Tech Tips a few months ago. So rather than leaving it in there or even returning it, after ordering myself the necessary enclosure I now have myself a pretty nice DIY 500GB Thumb drive. ;)
So several hours later after completely taking apart my new build, removing the bottom mounted M.2 SATA drive, and fully reassembling my build once again, I booted it up, it got past the POST and into Windows 10 again. I then reactivated Win 10 on the new hardware configuration (which was surprisingly painless compared to how it used to be where you needed to actually phone Microsoft) and then began the process of installing Linux Mint on the M.2 SATA drive I still had remaining.
Conclusion:
After several days of going at it now, I am finally done and my new computer is fully assembled, functional and ready to use. As always with building computers it was a bit scary, a bit painful, and more than a bit frustrating but ultimately well worth it. I couldn't be happier with the results and can't wait to overclock this bad boy when I get the chance!