I wish I had a tool which measures the trend of every line code in my codebase in production, and shows me on IDE on the background of each line of code which code is mostly used (dark green background or such) and which code is barely used (in light green), and in gray unused code in production (based on the trend of last few months.
The benefits :
- I will understand during development which code is mission critical, and I should be careful with it, as well as invest more time in optimizing this code and document it better.
- I will understand what the customers do, which flows they use and which flows they avoid, so seeing code which I've developed recently but not used yet - will help me understanding that I'm wasting my time on writing unused features or we did not really understood the customers expectations.
- I will be able to cleanup dead code easily on the go.
It's like a theme park manager walking around in the park and watches which rides has long lines of people and which rides have no lines.. helps the manager understand where to put effort and which rides to remove / replace.
All you have to do is run a build with coverage enabled and then load the coverage data files into your IDE. At least Eclipse (with EclEmma) shows the results in a way that are pretty close to what you described. I'm sure other IDEs can do the same.
The only thing is that nobody does this on production, because of the performance impact and potentially increased risk.
I would want something slightly different. I care a lot about how recently code has been changed. I usually don't care how much code is run in production, unless it isn't run at all, and then I care a lot. So:
Code that was changed within the last week: red
Code that was changed within the last month: yellow
Code that hasn't been changed in over a month: normal
Code that hasn't been touched in over a year: green
I really like the idea of a "code heatmap". I actually think this could be easily implemented in one scenario: Visual Studio Code Lens already has that information. Massaging it into a background color probably wouldn't be too difficult.
I wish VLC, plex, video players in general had the ability to automatically sync subs to audio. (automatically, not manually)
We have the technology; everything we need to do this exists. It's just not done automatically, and when using slightly off-sync subs, you have to fiddle with sub timing for ages until you find the right sync. Even more so when the subtitles have different off-sync issues for the whole movie/episode.
And you need to do the manual thing so rarely, that you always forget that does the delay need to be positive or negative if the subtitles are fast. =)
And then VLC does this weird freeze thing to catch up that can't be aborted, so if you accidentally type an extra zero into delay, good luck waiting for that to stop haha. Usually faster to just restart the damn thing.
Given our capabilities, it's really a straightforward thing to do. YouTube does it automatically (you drop in your script with the video, it auto-syncs everything).
It could even be done for when the language doesn't match, given an auto-translation pass and some heuristics.
I think this is what the OP refers to with "fiddle around for ages". I know the problem not with subs, but when audio is off related to the image. And of course the problem is rare enough that I am never "in training", and have to find a remarkable spot first (e.g. door slam shut or a suitable spot in dialogue), then think about going backwards or forwards, guess the amount, etc. etc. :)
If the whole subtitle file is out of sync (e.g. every line is late 2s), one shortcut is all it takes. In that 1/10 case, you do need to 'fiddle around for ages', but given that all other options (e.g. SubtitleEdit[1]) are way more complicated and time consuming, mpv is all I could suggest. For the problem with audio and image being out-of-sync, I have no idea :)
For AV sync you can do this in the receiver (and some devices with e.g. Bluetooth support for speakers) because it's not really a problem with the source material (typically anyway) it's just something that does need tuning to the room & hardware.
I use Bazarr to automate downloading of subtitles for my movies and TV shows, and it integrates subsync. Works 99% of the time, if it doesn't I find the subs for that particular series are consistently offsync by 1.0s which is easy to fix with decent media players.
I would love a small conversion tool to read in medical imaging dicom files and output a volumetric vdb dataset. I've nearly written this on several occasions. Most, but not all, dicom files encode a 2d or a 3d scalar field and vdb files are the graphical effects industry standard format for those, usually used for fog, fire, or similar effects. They can also usually be converted to polygon meshes through a variety of algorithms.
The reason why I want to do this is because 3d tools for artists -- blender, cinema 4d and the like -- have a large amount of easy-to-use and highly complex tools for subsetting volumes and making things look pretty.
Most medical imaging software is the opposite of this. You cannot change the data and the tooling is intentionally limited. Mostly this is a very good thing. Sometimes, however, and particularly for complex anatomy or pathology from a patient, you really just want to make a beautiful image for a paper with an anatomical structure manually removed, highlighted, or coloured differently -- something that would be very easy in e.g. Blender. The fact that Blender is python-scriptable is also frankly amazing and it's natively cross-platform too.
The reason I have written a tool like this is entirely because both file formats are very complex with lots of edge cases -- e.g. most ultrasound dicoms are little more then a screenshot with a lot of metadata, UI overlay and all. It's a lot of work and fundamentally isn't my job (I'm a medical physicist and should be making images with novel physics, not making images look pretty for presentation purposes).
Thanks! It seems like a very simple problem, is there a python library for vdb file IO? If so, I can probably whip something up (in python) with relative ease.
I work in the medical software field by the way. I know all about the pains of dicom...
The top of the list is an open-source library toolbox for higher-order spectral analysis including time-frequency in a compiled programming language (C, C++, D, Rust, etc) for real-time applications.
This is an example of an old third party higher-order spectral analysis toolbox in Matlab but now Matlab has built-in toolbox due to its increasing popularity in signal processing of communication, biosignal, etc [1],[2].
The next generation communication systems (e.g. WiFi 7, 6G) will probably utilize this form of signal analysis for higher bandwidth and efficient communication [3]. The modern biosignal analysis (ECG, EEG, etc) is already moving toward time-frequency analysis and to have an open-source real-time time-frequency toolbox will be a game changer [4].
[1]Higher-Order Spectral Analysis Toolbox for use with Matlab:
A library of person-to-person communication snippets for those of us on the spectrum like this tool https://news.ycombinator.com/item?id=31224996 but curated by well intentioned community.
I would suggest not using those ones by the way - most of them sound pretty passive aggressive to me (British) and no better (worse in some cases/contexts) than just being forthright.
AWS has their own crontab syntax, slightly different from regular Cron. But there is no validation tool before you submit something. It just rejects it. I want something like crontab.guru but for cloudwatch syntax. It's such a small usecase but it'd be great.
I say "almost" because Quartz Scheduler expressions have one additional field: seconds. And there are more than likely differences in how nontrivial expressions and corner cases are handled by different tools.
Something could be based on the "Rosie Pattern Language"[0]. There is already a parser for en_US/en_EU dates[1], which should be simple to extend to date ranges.
Another option would be using Tree-sitter[2]. It would be overall similar to using the Rosie Pattern Language, but Tree-sitter seems to have a more active community.
I wouldn't be surprised if one could write an automated Tree-sitter to Rosie Pattern Language translator.
I believe that iso dates officially support missing off any component so points 1 and 3 should be supported by any date parser.
Time parsing from all natural language is going to be hard/impossible because there is so much jargon/ambiguity.
How long is a jiffy?
Is a moment a point in time or a short while in the future?
Mañana has two meanings in Spanish.
I'm looking for a rigid, localized, natural-language specification for time ranges, though. Not supporting some words or combinations of them is fine, as long as it's natural enough that a nontechnical user doesn't need to use a manual to figure out how to search dates. I'm sure this isn't a trivial problem, hence why there are no obvious solutions, but I'm not ready to believe that it's impossible.
The issue I face is that the TV volume suddenly increases when they start playing advertisements on TV. It is probably done to attract user's attention, but it is very annoying esp. for old people.
I wished that there was some way (maybe an app on the phone) that will automatically control volume level at a set limit. The phones already have a way to measure decibals (sound meter app) and also a way to control audio receiver volume (remote control app). If we could combine these 2 in a single app, that will be great.
I can set the volume level in the app. It will monitor sound level say every 3 seconds. If it exceeds say 10%, then automatically reduce the volume. Someone, please build such an app. I will buy it or consider sponsorship/financial help. The loud commercials are driving me crazy. Thank you for listening to my request.
At least in the US it is illegal for TV (that is, real television, not streaming) to play ads louder than the regular programming (and has been in the last decade). So that app could also auto fill the FCC complaint form[1].
Meanwhile, some TVs and audio receivers have a "night mode" that limits the maximum decibels. It's designed to not wake other people in the household up, but it also serves your purpose.
A Linux (maybe FOSS?) version of Cloanto's Accenti software [1]
I know dead keys, I know compose, but they all seem wayyy too unnatural to me, I got used to Accenti's system, ie. just type e' and it becomes è, but context-aware so perche' becomes perché instead of perchè, and pressing ' further cycles between all the other options (èéê..), it even supports user-configurable macros (eg. I have made so I can write "\deg" to become °)
It's just very hard for me to consider anything else since this is the most natural I've ever typed, and it's Windows-only.
Another perk of a tool instead of a keyboard system thing I can white/blacklist apps.
swizel - takes csv input, selects columns and arbitrarily selects output order
OPTIONS
change the field delimiter (default comma)
handle trimming whitespace per field (or an arbitrary set of chars, e.g. quotes)
ignore or transform a prefixed one-line header or comment (default #)
[bonus points] handle numeric fields (e.g. precision or float/int conversion)
OBLIGATORY
while all of this can already be done with a combination of cut, sed, tr and/or awk, it's a common task when working with columnar data and could be made more intuitive and less error prone. transforming columnar data mostly boils down to clean up and basic sanity checks. good karma on this one.
I sometimes find myself wanting a Unix timestamp, or to convert one into a human-readable date, and usually it's simpler to go to an online tool than use time(1).
It might be nice to have a command line tool which can guess from the arguments what you want it to do. For example, if you run it with no arguments, it would output the current timestamp (to multiple levels of precision, listing the languages/platforms that typically use each one).
Yes, I can never remember that. It's faster to just go to some online tool than to look up how to convert timestamps with `date`. Especially since I often switch between Linux and "BSD" (macOS). Something like this would be nice:
Had never thought of building such a tool, but now that you mention it, there were cases where I had Unix sitmestamps in log/debug files for instance. I ended up using the web browser console to do a quick conversion.
I just gave it a try now, as a shell script:
#!/bin/sh
# https://news.ycombinator.com/item?id=31233092
case "$1" in
-*|"")
echo "Usage: datez <unix-timestamp>"
;;
*)
if date -r "$1" 2>/dev/null; then date -r "$1"; else date -d "@$1"; fi
esac
Edit: tried to add the reverse, from human-readable-timestamp to Unix timestamp, and got a problem when the locale does not use the English language: the human-readable form is not understood by date as input!
So the round-tripping version of the script has to set the locale to C:
#!/bin/sh
# https://news.ycombinator.com/item?id=31233092
# Needed for round-tripping:
export LANG=C
case "${1}" in
-*|"")
echo "Usage: datez <unix-timestamp|human-readable-timestamp>"
;;
*)
case "${1}" in
(*[!0-9]*)
date -d "${1}" +"%s"
;;
(*)
if date -r "${1}" 2>/dev/null; then
date -r "${1}"
else
date -d "@${1}"
fi
esac
esac
Edit 2: it does round-trip by using a locale-independent format like "%Y-%m-%d %H:%M:%S %Z", which is anyhow the format I prefer:
#!/bin/sh
# https://news.ycombinator.com/item?id=31233092
# Needed for round-tripping if you use a locale-dependant format:
#export LANG=C
FORMAT="%Y-%m-%d %H:%M:%S %Z"
case "${1}" in
-*|"")
echo "Usage: datez <unix-timestamp|human-readable-timestamp>"
;;
*)
case "${1}" in
(*[!0-9]*)
date -d "${1}" +"%s"
;;
(*)
if date -r "${1}" 2>/dev/null; then
date -r "${1}" +"'${FORMAT}'"
else
date -d "@${1}" +"'${FORMAT}'"
fi
esac
esac
I always forget how to get a unixtime so I either load a repl or the manpage for date, but FreeBSD date -r 123 works to go to human time. date -u -r 123 if you want UTC.
A cross-platform command-line tool + C library with permissive license that makes compressed file-deduplicated snapshots of directories with accompanying indexed metadata. It should be foolproof, use a fast compression algorithm like snappy or LZO, and be optimized for fast multicore creation and extraction (but with optional CPU-limiting). Metadata could be stored in an sqlite database.
I'm looking for something in-between a version control system and an archiver, with simple file-based deduplication and as fast and robust as possible. Maybe you can explain whether restic and borg fit my needs. Desired functionality:
- Main inputs are an input directory or a list of files, the location of a file repository (1 file), the location of a metadata DB, and some indexed and searchable metadata like original path, modification date, semantic version number, arbitrary title, and other strings.
- If an input file has been changed or is not yet stored, it is archived in the file repository compressed with very fast compression like snappy or LZO with corresponding metadata and version in the metadata DB. Otherwise only the metadata information is stored. Support for deltas / storing incremental changes in the file repository would also be nice but is not required.
- The metadata is stored in the metadata DB so later a file can be retrieved based on version information, it's original modification data, it's original path, and/or metadata regexp searches.
- Snapshots of an input directory or list of files can be extracted based on version information and any other metadata. Extraction needs to be very fast.
- The library needs to work on common file systems and at least on Linux, Windows, and MacOS.
- Archiving should be ACID-compliant. Either a file is stored with all of its metadata so that it is retrievable, or nothing is stored and an error is returned. Likewise for whole input directories and for extraction.
The main thing that keeps me using Windows and not Linux is a tool to index folders and files from all my DVDs and external hard disks. It also accounts for total size of each folder and browse the archive.
I only use the search file/folder name feature, I don't even need any content indexing that this tool has. It just needs to scale to Terabytes size (like millions of files/folders) and optionally do de-duplication.
If you know such tool on Linux, it would really help me to be less dependent on Windows. Or maybe someone you can build such a tool on Linux. I tried to create my own tool in Java but it took too much DRAM to index the many files I have. This Win tool indexes all my files and folders in a file of 1-200MB and searches all in 10-30 seconds. No server/database in involved, just a standalone tool.
I share the tool just for reference. The tool didn't had any update for years, I hope the programmer is still alive and healthy. https://www.whereisit-soft.com/
I was looking for a tool to post video tweet threads. I couldn't find any so I built my own https://clippost.io/. Currently, its very basic tool to convert YouTube, Instagram, TikTok videos to twitter video tweet thread. If I get some users i will definitely add more features to it.
Thanks for posting this. I'm gonna start using it for my Youtube channel: Better Sheets. Been meaning to post more on Twitter from the YT channel and this looks so great!
I was just setting up a new Mac the other day, only to be surprised that this is _still_ an issue. All I had was XCode and Homebrew - everything fell apart when I tried to install ansible.
Apt has the big brained move of uninstalling half your system if you try to reinstall a core dependency instead of just setting the dependant packages as disabled while it's missing or something, ffs.
I don't think it's possible if you use a global environment for everything, as different packages might have conflicting dependencies. The best way to solve it is to separate environments. I personally prefer conda as it's fairly easy to create environments of any python version.
There’s no solution. You gotta have a separate environment (e.g. a docker container) for each project. Each env has its own python version and requirements.txt
Not practical when you need something like ROS with rospy that needs to be global.
Python is putting its fingers in its ears singing "LALALALA USE A VENV" instead of fixing the damn ecosystem. Node and npm proved that a solution exists and it's doable.
Software that enables me to cue and play out video and image output to a projector, without playback controls, the Windows UI, or Windows sounds getting in the way. And which enables me to quickly flick off to a black screen.
Closest I've come is VLC with a split video interface in full screen, but it isn't perfect.
There are a bunch of video DJ suites out there that can do way more than what you need but they all cost about $300. There is an open source software called Snowmix that might do what you want. Interestingly, the project is run by an amateur manned space program.
I would love a "better Doxygen", or more accurately a nice multi-repo, multi-language documentation generator. It would have almost zero config to get started, but highly customisable. It would support (or be open to easy extension) both "classic" as "modern" and/or niche languages, from Java, C, JS to Python, Go, Nim, Haskell and Crystal. The generated documentation should look modern and exportable to both static HTML for online hosting and to some agnostic format, like JSON for further processing.
It wish a tool existed that could keep boilerplate up to date. ie a tool that will find all files it manages and synchronise them with a canonical source.
Use cases include keeping common (CI, Make etc) configurations up to date across multiple Git repos.
Even better if it doesn't require configuration and can identify files it manages using a magic comment eg # Source: http://github.com/my/repo/file.txt
I would like to have a simple app that would let me define a time, a beep sound and a pattern. So I could have a one beep timer [1] and an interval timer [2]. I use those for exercise, but I'm not entirely satisfied. Bonus points if the beep sound could be configurable to notification sounds, sfxr UI [3] (maybe it could be be another simple application) and speech synthesizer.
Something that would crawl GitHub and look for Android play store links in READMEs, then it would offer a search over repository name, description and the README. I would use this first to search for Android apps. I know about F-Droid, but I'm lazy and there are things in the play store that are not in F-Droid. Also it would be easier for me to find apps to recommend to my family/friends, who will not install F-Droid.
Something to convert from one date to other, but with timezone names used by humans. For example:
"today 17:00 Pacific in UTC" should be accepted.
There are other time zones too: I've seen "PDT", "Mountain", and so on.
The `date` tool doesn't always understand what those are. That's a bummer because neither do I, and that's why I need this tool.
Too many news headlines are either hypothetical question with no real information content, telling me to re-evaluate everything that I know, something sensationally misleading designed to make some alarm bell go off in my head etc. I worry how some of these might still manage to creep into my head.
It does seem like like a somewhat straightforward application of spam filters, doesn't it? Clickbait headlines follow strong trends ("...and here's what happened"). So do the linked "articles."
Good idea! May be worth a look at using this[1] API for something like this - it's what the autotl;dr reddit bot[2] uses. I'm generally impressed by how much it is able to condense articles while delivering a pretty accurate summary - see examples at the bot user /u/autotldr[3].
Might not work well enough if you try squeeze whole articles down to 1 sentence (for a title), though.
Edit: I guess you might have meant you'd just like to not see these clickbaity links at all, which is fair too haha.
A ‘cherry picker’ that allows me to select specific commands from my recent history and put them in a text file, in order to document any manual processes (or turn them into a reusable script - perhaps also identify parameters automatically and allow them to be supplied as arguments).
Like the du command, except it shows the size of directories over time. Doesn't have to be precise, daily historical snapshots of directory sizes isfine.
When your disk is almost full, you want to know which directory grew the most recently, not which directory takes up the most space
- show a table of content with a key press
- jump to next section with a key press (like what woman does in emacs)
- on a given flag, generate examples using that flag gathered from like GitHub
Regarding your last point, do have a look at utilities like these [1][2][3] if you haven't seen them before - I have just been using cheat.sh as no install is needed, and I think it pulls from the other 2 services.
A very simple tool for transferring files between two computers. Linux <-> Windows should just work, uPnP handling, etc - just a crazy simple way to transfer a file without setting up Dropbox, ftp servers or whatnot!
People usually recommend https://file.pizza but it just doesn't work for me.
Now that I think about this it would be beautiful if there was something like stunnel but for NAT hole punching and what not. You would do:
$ send-file FILE
qk11c14pmq7maeod
$
You would send the unique id (that could be also something that gives a QR code to scan or something like random words) over a separate channel. Then you would "receive-file qk11c14pmq7maeod" on the other end. It would be a simple binary that would be easy to embed and call through some pretty UI. Probably generation and scanning of those possible QR codes would have to be a part of the package. The problem would be who would finance servers needed for NAT traversal?
It is strange that most of these tools seem to involve sending your data half way around the world. Guess local doesn't pay?
I just use good old SMB/network sharing - it's not much harder than setting up some program on two devices. Works between Windows/Linux/Android, fast and good enough.
An ANSI/UTF-8 Reference Counted strings library for C.
In Free Pascal, the AnsiString type is a reference counted string, which can contain up to 2 billion characters, and you never have to allocate/deallocate them. These strings can contain any binary data, including nul, with the length of the string being counted as well. If you modify the string, it first checks the reference count, if it's 1, nothing needs to be done, if more than 1, it copies it first.
There is an equivalent WideString type as well as traditional pChar, etc.
"Geometry as a service". An API endpoint that takes a compact description of various 3d shapes and returns a GLTF file. I'd start by maybe wrapping the various tools from https://www.antiprism.com/ but there's scope to create a more friendly set of tools for generating generally useful simple meshes.
I would like (and pay some small amount) for a nice easy small webinterface to configure and manage samba on a little debian vm, something like the Synology UI has, but only for samba.
I know about Webmin as well as lots of other weird (outdated) gui's. I also am aware about the Xigmanas and nas4free projects. They serve lots of purposes at once and i'd like one just for samba.
I use MS SQL Server a lot at work. I interact with instances via SSMS usually. I'd love a tool that would log to file every query that I execute. Including a customisable comment line with info including when it was run and the server/db it was run against.
I'd move to a command line tool, e.g. a sqlcmd variant or shell voodoo, if it could do that.
Try out JetBrains Datagrip (or any IDE that includes it), it’s much more flexible than SSMS. Not sure if this exact feature exists, but they have a plugin interface, maybe you can write one on your own.
A Postgres (or other SQL) add-on that would let you filter out country specific public holidays from queries. We do it now, but through a join on a pretty expansive date dimensional table. Would love to see something like this possible,
SELECT DATE, SUM(DAILY_REVENUE)
FROM TABLE_X WHERE DATE <> PUBLIC_HOLIDAY(USA,GB,MX,DE) GROUP BY DATE;
A timer that counts up/down only when there is sound (ideally there could be some smarts as to what constitutes sound). This would help me with with my two younger kids who practice piano but are up and running around for what seems like half their slot.
Although it's more manual, you could set up a mic to record into Audacity, cut the sections with no sound, and the length of the clip should give you your answer.
Or if the piano supports midi, maybe record using some kind of DAW (e.g. FL Studio), that way you won't be fooled by someone making noise into the mic to keep the timer going.
A simple app (e.g. a wordpress plugin) that would load some nice elements of a web page above the fold ... then load the rest of the web page after ... something that would lower time to first byte, first contentful paint and time to interactive.
A first step could be to fully resolve cross-posts, then only display if the original hasn't already been shown in the feed. Then display a dropdown of sorts on the original post to reach hidden crossposts.
A second one could be to hash all the things and hide images/videos/... already viewed.
Both these have fundamental downsides. The comments are often the most interesting thing, and if you plan on interacting with them in any capacity, the specific subreddit is important, so hiding that randomly might be undesirable.
It would be nice if there were a multi- service client like a feed reader that organized by unique post and offered the conversations of each service as attributes to it.
I have written something [once] that de-dupes on just the URLs, you could take this way further with images and content analysis.
This is also manly an app to stop me from scrolling across the same stories on HN and lobste.rs again and again multiple times a day. So it lacks reddit specific features.
A tool which I can train on the conventions used in a media library file structure (directory, file names) and then use it to change the file names of new files to the library convention.
There are some dark corners where there are still differences but these are not in the "I just want to build a website"-level of complexity IME, and are more in the "I am building a large XXX,XXX lines-of-code enterprise SPA used for hours at a time for thousands of users as their primary job across varied OS and browser combinations" level of complexity. E.g. I recently had to debug how different browsers handle cookie eviction for more than 100 cookies under the same top-level domain. This is not the sort of issue you you face with a "I just want to build a website" problem.
I unknowingly relied on undefined behaviour in JavaScript Array.sort; worked fine/as expected in Firefox but then got bug reports that turned out to be Chrome/Safari.
Interesting - what were the details? I've never heard of this and rely on this feature all the time so please do share the reproduction so we can all benefit?
The benefits :
- I will understand during development which code is mission critical, and I should be careful with it, as well as invest more time in optimizing this code and document it better.
- I will understand what the customers do, which flows they use and which flows they avoid, so seeing code which I've developed recently but not used yet - will help me understanding that I'm wasting my time on writing unused features or we did not really understood the customers expectations.
- I will be able to cleanup dead code easily on the go.
It's like a theme park manager walking around in the park and watches which rides has long lines of people and which rides have no lines.. helps the manager understand where to put effort and which rides to remove / replace.