HNHacker News
TopNewBestAskShowJobs

xk3

2,798 karma · joined March 29, 2019

submissionscomments
xk3··on Ask HN: What rabbit hole(s) did you dive into recently?
I recently fell into internet comics from the early 2000s. Stuff like Absurd Notions, Sluggy Freelance, and Freefall
xk3··on Ask HN: What rabbit hole(s) did you dive into recently?
gs (ghostscript), mutool, ocrmypdf...

To add/remove: mutool merge -h

To split PDF pages: mutool poster -h

I made a script here that I use frequently for scanned documents: https://github.com/chapmanjacobd/computer/blob/main/bin/pdf_...

xk3··on Ask HN: Why do people need more than git to manage dotfiles?
Interesting! Before I read your comment I was not aware that dotfile management is actually a new/niche use of GNU Stow and its original purpose to co-locate/distribute software packages and their data.

https://www.gnu.org/software/stow/

xk3··on Show HN: a Rust based CLI tool 'imgcatr' for displaying images
It's not really that strange that tmux doesn't support sixels. It's quite a bit more complicated and resource-intensive than ANSI Escape Codes or ncurses.

It might be fine for local[1] multiplexing but over the network it is not as fast as even something like VNC or RDP.

[1] https://github.com/csdvrx/sixel-tmux/

xk3··on Eternal September
> Instead, there's just indifference to this process

kind of. There are two things that often happen if people don't integrate, mostly wrt company culture:

1. The newbies don't integrate because they have created their own culture because either they don't realize that they are excluded from the "adults table" (different departments, etc) or that their experiences interacting with the existing hierarchy makes them want to reject the existing culture. They surround the "core" even though they may not often interact with it (and maybe management realizes this but most often not). Maybe they do some shadow IT but the projects that they work on are not core to the business because they are locked out from those systems and the work that they do is seen as useless because it is never integrated (maybe their code kind of sucks because they don't get mentorship, etc). The core is mostly untouched by the social group(s) that surround it. The different social groups are not as rigid as departments but if the core has any legitimate power the non-complaint people are usually shuffled around. Some people in the "wrong-group" may learn to respect the existing culture and they are promoted into the sacrosanct.

2. Similar to #1 except that the newbies are better at self-marketing or socializing with management and eventually the core culture is entirely replaced by the newer culture. The business allows this, even perhaps risking business continuity, because they start to see the old clique as stubborn, not inclusive, not open to change or suggestions, perhaps even a liability to the company.

This happens with open source projects as well

xk3··on Breakthrough drug trial saw cancer vanish in every patient (2022)
> at a sample size of 12... they could have gotten lucky

right?? this seems like Simpson's Paradox

https://robertheaton.com/2019/02/24/making-peace-with-simpso...

xk3··on Show HN: Kyoo – Self-hosted media browser (Jellyfin/Plex alternative)
You might want to look into catt for Chromecast:

- https://github.com/skorokithakis/catt/

But I'm not aware of what the equivalent would be for Amazon-type casting

I wrote a wrapper around catt for playing music to my house speaker-groups. It also works with video but I don't cast video as often so that part might be buggy--in that case better to use catt directly

- https://github.com/chapmanjacobd/library

xk3··on Random Walk Simulation
It's surprising that there have been few applications of random walks for random human walking:

https://en.wikipedia.org/wiki/Random_walk#Applications

Well... I made one... https://unli.xyz/walk/

    Doc: And in the future, we don't need horses. We have motorized carriages called automobiles.
    Jeb: If everybody's got one of these auto-whatsits, does anybody walk or run anymore?
    Doc: Of course we run. But for recreation. For fun.
    Jeb: Run for fun? What the hell kind of fun is that?
To be fair this isn't really a _random walk_ but it is a random walk
xk3··on Ask HN: Anyone looking for contributors for their open source projects
Sure, I write small python CLI utils that help me solve media organization, media consumption, and sometimes data analysis. I use this every day on Linux and Android but I haven't tested it on other platforms. There are a lot of different subcommands and, although the CLI package will always be opinionated to some extent, there is a lot of niche functionality which might not need to exist. So I'm open to things being refactored or new subcommands being added. [1]

I have a lot of ideas for new ones, for example, I want a CLI that can take an artist name like "Theodor Kittelsen" and fetch highest quality public domain images--but I realize any implementation that does this well will be somewhat fragile so I haven't really attempted that yet. Other ideas that I have are often solved by piping output from one of my existing commands to another or adding some optional args to an existing command.

1. https://github.com/chapmanjacobd/library

xk3··on DuckDB as the New jq
This is very nice!! I went down the format clause[1] rabbit hole a couple minutes ago and it looks like they have `FORMAT Markdown` as an option. FORMAT PrettySpaceNoEscapes also looks a bit better than Pretty or the default PrettyCompact imho

1. https://clickhouse.com/docs/en/interfaces/formats

xk3··on Show HN: I built an open-source data copy tool called ingestr
I used sqlite-utils to create a tool that can merge SQLITE files and split them:

https://github.com/chapmanjacobd/library?tab=readme-ov-file#...

xk3··on Postgresqlite: Use Postgres Like SQLite
I also found https://github.com/vanviegen/postgresqlite which is a similar thing but a python interface
xk3··on Postgresqlite: Use Postgres Like SQLite
I don't really like docker but I'm impressed that they got this to work in only a few lines and using the postgres:latest image
xk3··on Comparing dd and cp when writing a file to a thumb drive
> I am used to behave in Linux and FreeBSD

the only strange thing about rsync is that it follows _BSD_ syntax

https://wiki.archlinux.org/title/rsync#Trailing_slash_caveat

xk3··on Comparing dd and cp when writing a file to a thumb drive
rclone move will do this

https://github.com/chapmanjacobd/journal/blob/main/programmi...

xk3··on Forkrun: Runs multiple inputs through a command in parallel using bash coprocs
I wonder how this compares with parallel-bash

https://www.gnu.org/software/parallel/parallel_alternatives....

xk3··on Forkrun: Runs multiple inputs through a command in parallel using bash coprocs

    touch ~/.parallel/runs-without-willing-to-cite
    echo --sshdelay 0.09\n--eta >> ~/.parallel/config
xk3··on CurlyQ: Command line helper for curl and web scraping
I've created a few similar tools for link scraping: https://github.com/chapmanjacobd/library#usage

- library links-extract: extract inner links from pages (stdin, local files, or remote sites)

- library links-add: extract inner links across from multiple pages (paged lists of articles/forums) into a SQLITE database

- library links-update: fetch new items for each link in a links-db (just added this yesterday)

You can use the same filtering across all subcommands. For example you can filter based on text between links:

    pip install xklb
    library links https://en.wikipedia.org/wiki/List_of_bacon_dishes --path-include https://en.wikipedia.org/wiki/ --after-include famous
You can use all of them with the same --cookies-from-browser interface that yt-dlp provides for pages that are locked behind a login.

Alternatively, copy and paste:

    library links --local-html <(xclip -selection clipboard -t text/html) --after-exclude paranormal spooky horror podcast
xk3··on Earlyoom – Early OOM Daemon for Linux
I spent a few days trying to configure systemd-oomd to work with my machine but I kept getting hangs when running out of memory. earlyoom is a lot simpler and thus more reliable. It only took ~5 minutes to install and test to make sure it worked and I've never had a hang since then.
xk3··on Show HN: Merge folders and simulate merging–count of conflicts, trumps, and new
I never liked how `mv` would make new subfolders [when the destination has a subfolder with the same name](https://github.com/chapmanjacobd/journal/blob/main/programmi...) so I made my own utility.

`library merge-folders` acts similar to `rclone move` but `rclone` always copies then deletes instead of using the rename() syscall. My tool only renames and it should preserve inodes.

    library merge-folders [--replace] [--skip] [--simulate] SOURCES ... DESTINATION

    Merge multiple folders with the same file tree into a single folder.

    https://github.com/chapmanjacobd/journal/blob/main/programming/linux/misconceptions.md#mv-src-vs-mv-src

    Trumps are files that are new or replaced files from an earlier source which now conflict with this later source.
    The count of conflicts also includes trumps.
xk3··on Launched Playtoob, a simple YouTube companion, because my 5yo daughter loves it
I made two:

https://unli.xyz/eject/ -- no login, data saved to local browser, you can export to CSV

https://github.com/chapmanjacobd/library -- similar to Plex but CLI-only and no "server" or downloads needed.

xk3··on Launched Playtoob, a simple YouTube companion, because my 5yo daughter loves it
I made something kinda similar to this but not marketed to kids, it does not require an account, and it is open source:

https://unli.xyz/eject/

https://github.com/chapmanjacobd/library-lite

xk3··on X10 (Industry Standard)
Sending data through power lines. I'm surprised that I hadn't heard about this before today
xk3··on The Darién Gap
One big reason why there is no road is to prevent the introduction of foot and mouth disease in Central and North American cattle and horses.

Also, man-eating parasites known as screwworms.

xk3··on An Audioblogging Manifesto

    AN AUDIOBLOGGING MANIFESTO

    Transcribed from http://www.idlewords.com/audio/manifesto.mp3

    As broadband expands and as blogging tools become easier to use, a world
    of temptations has opened up to the online writer.  The latest of these has
    been audioblogging, or posting snippets of speech.   Videoblogging is
    following on its heels.

    At first blush, audioblogging sounds like a natural extension of online
    writing.    What better way to convey your own ideas than through your
    own words, spoken in your own voice?  Bloggers like Halley Suitt
    (http://halleyscomment.blogspot.com), Dave Winer
    (http://www.scripting.com), and Adam Curry (http://live.curry.com) have
    taken this idea and run with it, mixing frequent audio posts with their
    text content.  In the highest-profile audio blog post to date, Winer
    even announced the cancellation of a blog hosting service - affecting 
    hundreds of users - in a ten minute audio file (you can hear it at
    http://cyber.law.harvard.edu/blogs/gems/crimson1/aboutWeblogsComHosting.mp3).

    But before you jump on the audioblogging bandwagon, remember this - the
    power of the Web is the power to choose.  You make your own trails, and
    your own links.  You read what you like and skip the boring bits.   And
    audioblogging takes that power of choice away.  Your listeners become a
    passive audience - they have no power to skim, they can't skip the
    boring parts, they can't link or excerpt your post effectively.   Your
    post becomes invisible to Google and other search engines.  And anyone
    who has a hearing problem, or a dialup account, or doesn't speak your
    language too well, anyone who is trying to surf your site from the office,
    or from an Internet cafe - well, they're just plain out of luck.

    Consider also this - the average person speaks at one hundred, perhaps
    one hundred fifty words per minute.  Meanwhile, an accomplished reader
    can read ten times faster - up to a thousand words a minute, and that's
    straight-up reading, not even skimming.  You're forcing people to listen
    to you at a speed that's barely faster than the speed at which they can
    type.   Why are you wasting their time?  Is your voice really that
    beautiful?

    From the invention of the alphabet, to movable metal type, to the advent of
    cheap paper, universal mandatory public education, universal literacy,
    the Internet - the modern world has built on the back of text!  This is
    not by accident!  This is not a mistake!

    Ask yourself - is the key to making your site more interesting really to
    add rich media?  Or is it possible that if you took more care in your
    writing, said something passionate, grammatical, interesting, and pleasant to
    read, it would actually make more of a difference?

    Henry David Thoreau said "Our inventions are wont to be pretty toys, which
    distract our attention from serious things. They are but improved means
    to an unimproved end... We are in great haste to construct a magnetic
    telegraph from Maine to Texas; but Maine and Texas, it may be, have
    nothing important to communicate"

    So what do you have to communicate?

    Thoreau may not have been a big fan of technology, but we can still read
    him one and a half centuries later and be pulled in by his beautiful
    prose style.  Is your audio post going to stand the test of time?

    Brothers and sisters, we deserve better than this, and those whom we write for
    deserve better.  This is not what we built the web for! For the first
    time in human history, you can have anything you write read by millions
    of people, whether within days or within hours, and all it takes is
    talent, imagination and the discipline to put up something worth
    reading.  There are no obstacles anymore - so why must we create new
    ones?   Just because you're going to be able to do a real-time three
    dimensional high-definition interactive virtual reality fly-through of
    the inside of your cat - does that mean you should?  Does that mean it
    belongs on your website? This is not the legacy we want to leave!  
    So stop the ridiculous self indulgence, and shut up and write. 

    And if you want a copy of this without having to listen through it, by God 
    you can find one at http://www.idlewords.com/audio-manifesto.txt.

    August 31, 2004
xk3··on Ask HN: Show me your half baked project
`cb` in the above context is `xclip -selection c`

https://github.com/niedzielski/cb

xk3··on Ask HN: Show me your half baked project
You might be interested in my CLI tool

After adding all the tabs

    pip install xklb
    lb tubeadd temp.db $(cb)
You can stream them by

    lb watch temp.db -u duration
or

    lb listen temp.db -u duration desc
If you use chromecast you can even do

    lb watch *above_args -c -t "Kitchen speaker group"
xk3··on Ask HN: What niche task/tool websites have you built?
City names are from Natural Earth: https://www.naturalearthdata.com/downloads/10m-cultural-vect...

Passport data largely from https://www.passportindex.org with fallback to Wikipedia scraper

Monetary per diem estimates come from a multitude of sources and then blended together into a interpolated raster which the backend uses to query so that there are no empty spots for cities with no data.

Transit connection estimates are based on GTFS and airline sources

I also expose some of this data in my other tools:

- Reverse flight search https://unli.xyz/flights/

- Gap year planner https://unli.xyz/city/calc/

xk3··on Ask HN: What niche task/tool websites have you built?
Thank you for sharing this. I was made redundant two days ago so this will be useful for me in the coming weeks.
xk3··on Ask HN: What niche task/tool websites have you built?
I built something like that, a few times. Yes, it is very difficult to monetize something like this:

- https://unli.xyz/city/calc/

- https://unli.xyz/city/window/

- https://travel.unli.xyz/ (no longer loads data)

← PreviousPage 4 of 7Next →