Otherwise you can check if you already have the
pdftotext command that comes with the poppler-utils package, try converting converting the pdf into a text file and copy to your heart's content. I have just tried it myself. If you don't have it already here's what you can do on Ubuntu or any Debian based distribution of Linux:
- Update and upgrade your packages:
> sudo apt update && sudo apt upgrade
- Install the
poppler-utils package> sudo apt install poppler-utils
- Now you can convert your pdf to txt file with:
> pdftotxt -layout -enc UTF-8 name_of_source_file.pdf name_of_destination_file.txt
You can always do a
pdftotxt --help to see the rest of possible options. Hope this helps.
Otherwise you can check if you already have the
pdftotext command that comes with the poppler-utils package, try converting converting the pdf into a text file and copy to your heart's content. I have just tried it myself. If you don't have it already here's what you can do on Ubuntu or any Debian based distribution of Linux:
- Update and upgrade your packages:
> sudo apt update && sudo apt upgrade
- Install the
poppler-utils package> sudo apt install poppler-utils
- Now you can convert your pdf to txt file with:
> pdftotxt -layout -enc UTF-8 name_of_source_file.pdf name_of_destination_file.txt
You can always do a
pdftotxt --help to see the rest of possible options. Hope this helps.
Otherwise you can check if you already have the
pdftotext command that comes with the poppler-utils package, try converting converting the pdf into a text file and copy to your heart's content. I have just tried it myself. If you don't have it already here's what you can do on Ubuntu or any Debian based distribution of Linux:
- Update and upgrade your packages:
> sudo apt update && sudo apt upgrade
- Install the
poppler-utils package> sudo apt install poppler-utils
- Now you can convert your pdf to txt file with:
> pdftotxt -layout -enc UTF-8 name_of_source_file.pdf name_of_destination_file.txt
You can always do a
pdftotxt --help to see the rest of possible options. Hope this helps.
f:f
~/src/jenny $ git diff
diff --git a/jenny b/jenny
index ada8da2..8ae9a06 100755
--- a/jenny
+++ b/jenny
@@ -1194,7 +1194,7 @@ if __name__ == '__main__':
if args.edit:
edit_twt_file(app)
elif args.fetch:
- with DirectoryLock(f'/tmp/jenny-{getuser()}.run'):
+ with DirectoryLock(expanduser(f'~/tmp/jenny-{getuser()}.run')):
retrieve_all(app)
elif args.last_seen:
print('Feeds last seen at (times are local time), oldest first:')
f:f
~/src/jenny $ git diff
diff --git a/jenny b/jenny
index ada8da2..8ae9a06 100755
--- a/jenny
+++ b/jenny
@@ -1194,7 +1194,7 @@ if __name__ == '__main__':
if args.edit:
edit_twt_file(app)
elif args.fetch:
- with DirectoryLock(f'/tmp/jenny-{getuser()}.run'):
+ with DirectoryLock(expanduser(f'~/tmp/jenny-{getuser()}.run')):
retrieve_all(app)
elif args.last_seen:
print('Feeds last seen at (times are local time), oldest first:')
f:f
~/src/jenny $ git diff
diff --git a/jenny b/jenny
index ada8da2..8ae9a06 100755
--- a/jenny
+++ b/jenny
@@ -1194,7 +1194,7 @@ if __name__ == '__main__':
if args.edit:
\tedit_twt_file(app)
elif args.fetch:
- with DirectoryLock(f'/tmp/jenny-{getuser()}.run'):
+ with DirectoryLock(expanduser(f'~/tmp/jenny-{getuser()}.run')):
retrieve_all(app)
elif args.last_seen:
\t print('Feeds last seen at (times are local time), oldest first:')
f
~/src/jenny $ git diff
diff --git a/jenny b/jenny
index ada8da2..8ae9a06 100755
--- a/jenny
+++ b/jenny
@@ -1194,7 +1194,7 @@ if __name__ == '__main__':
if args.edit:
edit_twt_file(app)
elif args.fetch:
- with DirectoryLock(f'/tmp/jenny-{getuser()}.run'):
+ with DirectoryLock(expanduser('~/tmp/jenny-{getuser()}.run')):
retrieve_all(app)
elif args.last_seen:
print('Feeds last seen at (times are local time), oldest first:')
and of course make sure you mkdir ~/tmp~
f
~/src/jenny $ git diff
diff --git a/jenny b/jenny
index ada8da2..8ae9a06 100755
--- a/jenny
+++ b/jenny
@@ -1194,7 +1194,7 @@ if __name__ == '__main__':
if args.edit:
edit_twt_file(app)
elif args.fetch:
- with DirectoryLock(f'/tmp/jenny-{getuser()}.run'):
+ with DirectoryLock(expanduser('~/tmp/jenny-{getuser()}.run')):
retrieve_all(app)
elif args.last_seen:
print('Feeds last seen at (times are local time), oldest first:')
and of course make sure you mkdir ~/tmp~
f
~/src/jenny $ git diff
diff --git a/jenny b/jenny
index ada8da2..8ae9a06 100755
--- a/jenny
+++ b/jenny
@@ -1194,7 +1194,7 @@ if __name__ == '__main__':
if args.edit:
\tedit_twt_file(app)
elif args.fetch:
- with DirectoryLock(f'/tmp/jenny-{getuser()}.run'):
+ with DirectoryLock(expanduser('~/tmp/jenny-{getuser()}.run')):
retrieve_all(app)
elif args.last_seen:
\t print('Feeds last seen at (times are local time), oldest first:')
and of course make sure you mkdir ~/tmp~
2024-09-29T12:08:15Z (#7wdvhia) @<lyse https://lyse.isobeef.org/twtxt.txt> love 27! Is that your town as seeing from the mountain, or some other town? From 395 to 40 is quite some picking! I figure that’s the most difficult part, right?
Ah, 16°C… what dreams are made of! 😍
2024-09-29T12:08:15Z\t(#7wdvhia) @<lyse https://lyse.isobeef.org/twtxt.txt> love 27! Is that your town as seeing from the mountain, or some other town? From 395 to 40 is quite some picking! I figure that’s the most difficult part, right?
Ah, 16°C… what dreams are made of! 😍
#1234567, it could refer to the original or some edit of it. It is up to clients to find out what this hash could mean (by keeping a historical database of all feed versions, basically).Isn’t this *essentially* the same as only including
url and timestamp in the hash?
#1234567, it could refer to the original or some edit of it. It is up to clients to find out what this hash could mean (by keeping a historical database of all feed versions, basically).Isn’t this *essentially* the same as only including
url and timestamp in the hash?
#1234567, it could refer to the original or some edit of it. It is up to clients to find out what this hash could mean (by keeping a historical database of all feed versions, basically).Isn’t this *essentially* the same as only including
url and timestamp in the hash?
#1234567, it could refer to the original or some edit of it. It is up to clients to find out what this hash could mean (by keeping a historical database of all feed versions, basically).Isn’t this *essentially* the same as only including
url and timestamp in the hash?
> Ah, 16°C… what dreams are made of! 😍
I'd like it to be a nice cool 16°C here 🤣
> Ah, 16°C… what dreams are made of! 😍
I'd like it to be a nice cool 16°C here 🤣
Ah, 16°C… what dreams are made of! 😍
twet and continue to improve it. It's an "okay" Twtxt cli client, but it needs a bit more work 👌
twet and continue to improve it. It's an "okay" Twtxt cli client, but it needs a bit more work 👌
twet 🤦♂️
twet 🤦♂️
My client fetches a feed. It builds a map/hashmap/dictionary of all twts: Timestamps map to twt hashes. It then stores/shows the twts. It also stores the hashmap.
On the next fetch operation, the client re-processes all twts in the feed. It must now compare each timestamp to the previously built hashmap: Aha, timestamp
T has now a twt hash of B instead of A, so this is an edited twt.Did I understand that correctly so far? 🤔
My client fetches a feed. It builds a map/hashmap/dictionary of all twts: Timestamps map to twt hashes. It then stores/shows the twts. It also stores the hashmap.
On the next fetch operation, the client re-processes all twts in the feed. It must now compare each timestamp to the previously built hashmap: Aha, timestamp
T has now a twt hash of B instead of A, so this is an edited twt.Did I understand that correctly so far? 🤔
My client fetches a feed. It builds a map/hashmap/dictionary of all twts: Timestamps map to twt hashes. It then stores/shows the twts. It also stores the hashmap.
On the next fetch operation, the client re-processes all twts in the feed. It must now compare each timestamp to the previously built hashmap: Aha, timestamp
T has now a twt hash of B instead of A, so this is an edited twt.Did I understand that correctly so far? 🤔
My client fetches a feed. It builds a map/hashmap/dictionary of all twts: Timestamps map to twt hashes. It then stores/shows the twts. It also stores the hashmap.
On the next fetch operation, the client re-processes all twts in the feed. It must now compare each timestamp to the previously built hashmap: Aha, timestamp
T has now a twt hash of B instead of A, so this is an edited twt.Did I understand that correctly so far? 🤔
Yep, these are some sick mushrooms. No idea what they are, though. Not sure if they're edible more than once or not, but I have a feeling that one should refrain from trying. The ones I photographed here were in a nature reserve. They were a bit bigger than the others we came across on meadows. Still impressive sizes nevertheless.
Now we have a situation where folks participating in a "conversation" (thread) with appropriate clients can automatically detect edits with almost 100% accuracy by mere fact that the next time they fetch a feed that contains an edit, they now see two versions of the Twt with two different hashes, but identical timestamps.
You can use the fetch time to approximate a "version number" and deal with the display (UX) appropriately.
I can't believe I didn't think of this before 🤦♂️
Now we have a situation where folks participating in a "conversation" (thread) with appropriate clients can automatically detect edits with almost 100% accuracy by mere fact that the next time they fetch a feed that contains an edit, they now see two versions of the Twt with two different hashes, but identical timestamps.
You can use the fetch time to approximate a "version number" and deal with the display (UX) appropriately.
I can't believe I didn't think of this before 🤦♂️
=> twtxt.dev
🥳=
=> twtxt.dev
🥳=
twt probably isn't the best client I'm afraid. It doesn't really cache twts by their key (hash) to display threads properly. Jenny however does 👌
twt probably isn't the best client I'm afraid. It doesn't really cache twts by their key (hash) to display threads properly. Jenny however does 👌
The 16°C felt pretty cold with all the wind. Especially at the summit for a late lunch. The clouds covered the sun for almost the entire time and the wind blew hard. Being sweaty from the way up didn't help. The sun returned as soon as we packed up.
On the way home, it drizzled just a little bit, although the clouds were really dark. A nice surprise. All in all, we had a really nice hike. As a bonus, my mate established a new train ride record low to get home, despite all the Octoberfest crap going on right now.
Colorful leaves on a treeFrom my 395 photos, I only kept 40: https://lyse.isobeef.org/waldspaziergang-2024-09-28/ In 18's upper left corner you can see a black beetle similar to what I've seen earlier this week. The one that rolled over its side to change directions, this one didn't, though.
The mushroom in 35 and 36 was enormous, easily 20 centimeters in diameter. We came across a few of them along our journey.
Anyway, What I really normally use for a lot of my static sites is zs
Anyway, What I really normally use for a lot of my static sites is zs
Can anyone recommend a few Hugo themes you like?
All of the dev.twtxt.net content would move over as well.
Can anyone recommend a few Hugo themes you like?
All of the dev.twtxt.net content would move over as well.