Interesting couple of articles on Ars Technica:
Nostalgia: “The Linux of social media”—How LiveJournal pioneered (then lost) blogging (h/t to wcg)
|You're viewing mdlbear's journal|
Create a Dreamwidth Account Learn More
Interesting couple of articles on Ars Technica:
Nostalgia: “The Linux of social media”—How LiveJournal pioneered (then lost) blogging (h/t to wcg)
Following up on mdlbear | Welcome, tumblr refugees: this might otherwise have just been a longish section of next Sunday's "done" post, but the Tumblr apocalypse (tumbling-down?) is happening now and I wanted to get tumblr_backup.py out there. (It's a tumblr backup script, via this tumblr post by greywash, who notes that the original post by Greymask has disappeared). I think some of my readers will find it useful.
It's also worth noting greywash | State of the Migration: On fannish archival catastrophes, and what happens next (by way of ysabetwordsmith; I saw this someplace else last week, but apparently didn't log it.)
More meta stuff:
I don't really expect that many Tumblr refugees will see this post, even with the tag, but I know there's at least one person already on my reading list who cross-posts from there, so there may be a few. There may be some G+ refugees, too. In reality, all I'm doing is taking advantage of the occasion to post a few links. Hopefully more than just a handful of my readers will find them interesting.
Let's start with the useful stuff. (People who have been on DW long enough to remember the Livejournal exodus will probably want to skip ahead to the fascinating stuff.)
We can start with the DW community post_tumblr_fandom and ilyena_sylph's About tumblr and DW, mostly news post answers. Good overviews. Another great summary is staranise | Basic Dreamwidth for Tumblr users. (Which comes by way of umadoshi | More using/getting-to-know-Dreamwidth, fandom-migration, and WTF-Tumblr links.)
That's probably enough to get most people started. On my personal reading list, the posts I've seen lately are:
With the new update to Tumblr's community guidelines announcing that they will no longer permit adult content on their site, we'd like to take a moment to reassure all y'all that we have your backs.
Okay, now the fascinating stuff. Watch out for rabbit holes.
Let's start with jesse_the_k's post, Remember when Fandom Spec'ed Pinboard?. Well, no, I don't -- I wasn't using Delicious at the time. But apparently a lot of fans were, so when the site's owners (Yahoo) made some "improvements" like disallowing several punctuation characters in tags (in particular, "/" -- just try tagging fanfic without slash), there was a mass exodus to Pinboard.
Jesse links to Fan Is A Tool-Using Animal, which tells the whole story very entertainingly. It's a transcript of a talk given at dConstruct 2013 by Maciej Cegłowski. The talk included a reading from this hilarious bit of fanfic and, more relevant to our current topic, this amazing collaborative Google doc which is a list of features (with votes and use cases) that fans wanted for Pinboard.
So, finally getting back to Tumblr, (remember Tumblr? this is a post about Tumblr) here's the Tumblr-inspired version of the Pinboard spec: Fandom platform of the future - specs and features, on Google Docs.
How much of that gets into Pinboard, Dreamwidth, AO3, or anything else is anybody's guess. But fen are amazing, and anything can happen when you dive down a rabbit hole.
Last month was National Blog Posting Month, for those of us with smaller goals than writing a novel.
I did not succeed in writing a post every day, however I did have enough days with two posts to bring the count back up to 30. It's been a rough month -- I'm not complaining.
NaBloPoMo stats: 489 2018/11/01--nablopomo.html 89 2018/11/01--thankful-thursday.html 617 2018/11/02--learn-enough-to-be-dangerous.html 340 2018/11/03--s4s-ripple.html 1880 2018/11/04--done-since-1028.html 479 2018/11/05--random-words.html 73 2018/11/06--signal-boost-poetry-fishbowl.html 246 2018/11/07--music-with-my-family.html 117 2018/11/08--thankful-thursday.html 399 2018/11/09--meta-sticky-post.html 346 2018/11/10--s4s-mary-omeara.html 1522 2018/11/11--done-since-1104.html 2042 2018/11/12--multitasking.html 814 2018/11/13--taking-turns.html 179 2018/11/14--more-randomness.html 91 2018/11/15--thankful-thursday.html 844 2018/11/16--weighty-matters.html 143 2018/11/17--power-balance.html 302 2018/11/17--s4s--mary-ellen-carter.html 1445 2018/11/18--done-since-1111.html 125 2018/11/19--cat-desk.html 194 2018/11/20--moms-cranberry-relish.html 177 2018/11/21--update-on-colleen.html 353 2018/11/22--thankful-thursday.html 207 2018/11/24--a-random-haiku.html 348 2018/11/24--s4s-band-practice.html 1486 2018/11/25--done-since-1118.html 134 2018/11/26--family-health-update.html 85 2018/11/28--winterfaire-2018.html 51 2018/11/29--thankful-thursday.html ------- 15617 words in 30 posts this month (average 520/post) 3 days with no posts
So there's that. There's also a useful word-counting script, as you can see above. It's in MakeStuff/blogging/word-count, but hasn't been made into a make target yet. Maybe next year?
This started out in a comment, but I think enough people may be struggling with DW's relatively new image upload feature that it's worth making it into a post. And it's a good excuse for posting.
(aside: The key to all of this is knowing enough about HTML to be able to identify the correct URL and create the img tag to refer to it -- it probably all looks like black magic to somebody who hasn't been doing this stuff for the last few years. Don't expect to get it all on one reading.)
You might also want to know some terminology. Those things enclosed in angle brackets are commonly called "tags". The things with a name, an equals sign, and something in quotes are called "attributes". And single and double quotes are identical in effect, but have to match: you can't start with a single and end with a double.
So -- I uploaded an image; down at the bottom there's a box labeled Image Code. Copy, paste:
<a href='https://mdlbear.dreamwidth.org/file/352.jpg'> <img src='https://mdlbear.dreamwidth.org/file/100x100/352.jpg' title='Cat and mouse' alt='Grey tabby cat looking intently at a Logitech mouse.' /></a>
(That's what it looked like, except that I wrapped the lines to make it clearer.)
Looking at that line of HTML I can see that there's an img tag that, from the
/100x100/ in its URL, looks like a thumbnail. It's wrapped
in a link -- an <a...> tag. The href attribute is
https://mdlbear.dreamwidth.org/file/352., which ought to be the
full-sized image, so I'll get a preview just to make sure...
Then I clicked the "Preview" button, and it looked like this:
https://mdlbear.dreamwidth.org/file/352. -- the
href attribute of the
img tag, is the URL of the
actual image. (At that point I could just as well have copied it out of
the browser's location bar, since I was already looking at the full-sized
image. I didn't think of that, and just copied it out of the comment I
I can put that into an
img tag that looks like
<:img src="https://mdlbear.dreamwidth.org/file/352.jpg" width="512">.
Chrome says (in the page title) that the image is 1024x719, so I'll try
cutting it down by adding a
Here we go:
One final aside: if you're following along and using a word processor that automagically turns quotation marks into matchingcurly quotes, you need to turn that feature off when you're editing HTML, because they won't be recognized as quotes. If you're creating your post in your browser and you want to enter HTML directly, you need to click the "HTML" tab (over on the upper right). The "Rich Text" setting will create HTML automatically and you'll need to click one of its little icons to create an actual image tag.
Another fine post from The Computer Curmudgeon.
In comments on "Done Since 2018-07-15" we started having a discussion of mirroring and cross-posting DW blog entries, and in particular what my plans are for implementing personal blog sites that mirror all or some of a -- this -- Dreamwidth journal.
Non-techie readers might conceivably want to skip this post.
Right now, my blog posting process is, well, let's just say
idiosyncratic. Up until sometime late last year, I was posting
using an Emacs major mode called
lj-update-mode; it was
pretty good. It had only two significant problems:
My current system is much better.
make draftor, if I'm pretty sure I'm going to post immediately,
make entry. I pass the filename, without the yyyy/mm/dd prefix, along with an optional title. If I don't pass the title I can add it later. The draft gets checked in with git; I can find out when I started by using
make post. Done. If I'm posting a draft I have to pass the filename again to tell it which draft;
make entrymakes a symlink to the entry, which is already in a file called
yyyy/mm/dd-filename.html. It gets posted, and committed in git with a suitable commit message.
You can see the code in MakeStuff/blogging on GitHub. It depends on a Python client called
which I forked to add the Location: header and some sane defaults like not
auto-formatting. Charm is mostly useless -- it does almost everything
using a terminal-based text editor. Really? But it does have a
"quick-post" mode that takes metadata on the command line, and a "sync"
mode that you can use to sync your journal with an archive. Posts in the
archive are almost, but not quite, in the same format as the MakeStuff
archive; the main difference is that the filenames look like
yyyy/mm/dd_HHMM. Close, but not quite there.
There's another advantage that isn't apparent in the code: you can add
custom make targets that set up your draft using a template. For example,
my "Done since ..." posts are started with
and my "Computer
Curmudgeon" posts are started with
There are other shortcuts for River and S4S posts. I also have multiple
directories for drafts, separated roughly by subject, but all posting into
the same archive.
Here's what I want next:
Here's a very brief sketch of what needs to be done. It's only vaguely in sequence, and I've undoubtedly left parts out. But it's a start.
.postedso that make can apply its usual dependency-inference magic.
charmdoesn't look worth saving.) I wanted to learn Ruby anyway.
MakeStuff. Not too hard, and it only has to be done once.
ljbackupprogram can do it, so it's feasible. It's in Perl, so it might be a good place to start.
This is a separate section because it's mostly orthogonal to the posting, archiving, etc.
.posted. (That's because
makeuses extensions to figure out what rules to apply to get from one to another. Remind me to post about
Another fine post from The Computer Curmudgeon.
The ongoing ridiculous situation brewing between bloggers and the Associated Press has now taken a turn towards the enjoyably hilarious. We had already mentioned the fact that, despite the AP's complaints that bloggers quoting less than 100 words were violating fair use, the AP had a long history of quoting more than 100 words from bloggers -- and not even linking back to the original blog. Now, in a bit of ultimate irony, the AP's own article about this brouhaha quoted (without linking) twenty-two words from TechCrunch. That's 18 words more than the supposed four word "limit" the AP has suggested. With an ironic chance that wide, TechCrunch's Michael Arrington couldn't resist, and asked his lawyer to send a DMCA takedown notice to the Associated Press, along with a bill for $12.50 (directly off the AP's own pricing schedule). He admits that it's ridiculous, but that's what his actions are designed to present. By law, the AP should be required to takedown the content before filing a response -- though, since it's filing the response to itself, then perhaps it won't need to takedown the content. Either way, this helps illustrate the insanity of the entire situation.See the original post for comments and links.
Took the car in for its 80Kmile intermediate service. Under $300. Except, of course, that it needed front brakes, front tires, wheel alignment, and a battery. Ouch! Well, I was told last time about the brakes and tires; I had the rear done at 70K. Should have remembered, not that it made any difference.
Spent too much of the workday working on some personal writing; it's taken up altogether too much of my time and attention the last couple of days. When I'd gotten it to what felt like a conclusion I felt drained and depressed for a while. On the other hand, I got some major insights out of it which I will share if I can ever get them sufficiently disentangled from the specific situation.
Fortunately I have the kind of job where I can sit at my desk ssh'ed in to home, put myself up for half a day's vacation, and still manage to finish up a technical report and get involved in what will probably turn out to be a patentable idea in the field of secure communication. So I ended the afternoon on a high note.
An hour's worth of together time in bed is always good [grin].
... and having concluded that nearly all of today's writing session amounted to personal therapy and possibly future reference material, I can happily get back to being a computer geek. Having a private, personal pseudo-blog hanging off one's home directory turns out to be remarkably useful, if only as a safe repository for the occasional rant, whinge, or self-indulgent personal essay.
It's easy, and I recommend it: make a locked (mode 700, for the Unix geeks. Make subdirectories called, e.g., 2008/06 or even 20078/06/19. Write. Occasionally copy drafts into LJ or your website, and move useless junk into the attic.
"If you want something to get done, ask a busy person to do it."
I haven't been accomplishing much lately, so obviously I'm not busy enough.
There are several seemingly-unrelated projects going on in the household at the moment: I'm starting my next album, the chaoswolf is starting an HTML class, the servers are getting re-organized, and people have been after the flower_cat to write a cookbook. Meanwhile I've been thinking about writing my blog locally and mirroring it up to LJ.
They're all more closely related than one might think.
You see, I'm a geek. I think nothing of writing a big pile of Makefile templates and Perl scripts to cobble an album, a songbook, and multiple websites together from the same set of sources. The Cat is emphatically not a geek, she wants to be able to type recipes in, maybe to a text editor or a blog client, and have them magically assembled into a cookbook. And a website, of course. Hmmm.( some geeky details )
... So that's the plan: to refactor my CD, concert, and web tools so that they work for assembling books and blogs as well, publish to hardcopy as well as on multiple websites, and do it in a way that's extensible (with plug-ins), collaborative, and simple enough to be used by non-geeks.
I'm probably going to need a lot of help with that last part.
My darling flower_cat has a tendency to read my flist rather than her own, and she hardly ever posts, so she tends to be off peoples' radar somewhat. And she forgets how to add friends, so every so often I point her at my profile and walk her through adding a couple of people. We just did that tonight.
You're still more likely to get a phone call than a comment from her, though.
I don't think a real LJ exodus has started yet, but I've seen several people moving or preparing to move. I now have accounts on greatestjournal and insanejournal (where I paid $35 to become "permanently insane". So far I don't have any posts at either of them.
At some point, my plan is to post to an entirely local and personal blog on my home system, push it out to steve.savitzky.net, and push it from to the *journals, possibly with some filtering by tag. I expect that posts will be files with RFC822-style headers and HTML bodies -- this will give the same editing experience as the ljupdate (emacs) client, at least in its current hacked-up state, and an extensible place to put metadata.
One of the paradoxes of current social software is how many of your closely-guarded secrets you are obliged to entrust to a third party. Take the social blogging site LiveJournal: its centralized server allows you to set blog posts to "friends only" or "private". To use this feature, you post these semi-confidential journal entries to LiveJournal's server, and rely on it to hide your thoughts from the most of the world using its centrally-maintained list of friends to control access. LiveJournal holds your secret data in trust, as much as you trust it to keep your public data available.It's not just blogging sites, of course, as the recent Facebook fiasco demonstrates. Here's another Facebook incident (giving information to a user's employer), and an analysis of Beacon on Techdirt. There was a segment on KQED's Forum this morning about it -- I'll update the link as soon as they post the podcast version. (updated 12/7)
We give these companies a great deal of control over our privacy and our speech - and even if we trust that company with those responsibilities now, there are no guarantees that the pressures upon and motivations of that company will stay constant over time.
From a much earlier post by technoshaman (which I'm having trouble tracking down) we have Thoughts on the Social Graph by Brad Fitzpatrick, which leads to a couple of other useful and interesting places, including MoveMyData.org, and a couple of Wired articles: Slap in the Facebook: It's Time for Social Networks to Open Up and Replace Facebook Using Open Social Tools
My earlier post linking to Don Marti's thoughts on online communities via distributed revision control is also very relevant here.
How does working offline, and moving data to the edge, apply to the idea of an "online community"?
What if the idea of membership was not defined by whether a server somewhere has your email address and password on it, but by whether the other members of the group know to pull from you, using a distributed revision control system?
To join a group, you would get the URL for someone else's repository, clone it, edit, add a user page that contains a URL for your own repository, and ask someone to pull. Groups that wanted to automate joining could run "pull bots", and groups that didn't could require out-of-group introductions, or require one user to "sponsor" another by linking to the new user's repository URL from his or her user page.
Then, to participate in conversations, first pull from the other members of the group and merge. At the simplest, use Ikiwiki to build an RSS view of the latest messages. Or use software that gives you a newsreader-like interface. Write your own messages, commit, and push where you're allowed to or wait for others to pull. Repository URLs could be stored inside the community archives, as sponsorship links or bot-maintained pages. Some could be .onion URLs to let users participate pesudonymously and free them from having to get conventional hosting.
...waiting for my next panel to start. It's on blogging, so I figured this way I'd be the first panel member to blog about it. The fact that it's during what I would normally consider to be dinner time is particularly annoying, especially when concerts start at 7:00.
With luck I'll have time for a bowl of chili and a quick rehearsal. I have only about half an hour's worth of Tres Gique pieces lined up; if I can run for an hour i'm prepared to wing it...
So I see that permanent memberships are going on sale again -- for a week, starting Thursday. I've given them as gifts in the past, but I won't be doing it this year. I don't trust LJ anymore -- they're more concerned about looking good to investors than they are about their users' freedom of speech. (I was originally thinking of giving one as a graduation present, but I have since thought of something more personal, and arguably more useful.)
Like technoshaman says in this post, I'm looking forward to a day when we have a completely distributed blogosphere, where everyone controls their own content and it isn't tied to anyone else's server.
It's closer than you think.
This article by Don Marti includes a useful list of tools for working offline -- without a net connection.
It's not just for working on airplanes -- we've all been in hotels with flaky or expensive connections. And it ties right in to what I've been saying about owning your own content.
Woke at 5:30 in the middle of a strange dream about living in zero gravity
(more like Larry Niven's Integral Trees than space colonies,
though it was never explained what was holding the air in -- it seemed to
bother me somehow), which somehow morphed into zero-gravity blogging and
thinking about how to add blogging to my sprawling websites using
make, WebDAV, and code stolen from
nanoblogger. Maybe it's just as well I don't normally
remember my dreams.
The flower_cat and I went to two holiday parties yesterday: the Baycon staff party at Chef Chu's at 1:00 (with me going as the tag-along spouse), and the Ricoh party at the Flea Street Cafe in the evening (with roles reversed). The Ricoh dinner was followed by a fantastic chocolate tasting -- eight milk chocolates (I only sampled one), eight darks, four 80% or more (YUM!!) and three astoundingly different kinds of unprocessed nibs.
Both of us tried hard not to eat too much; the Cat skipped the chocolate entirely (poor thing!). She blew a number of people away with how good she's looking these days; a gorgeous green dress with a sparkly jacket helped, but most of the effect was the weight loss. Last year she weighed a lot more, and was in pretty bad health besides.
In between we went to Fry's for a little Christmas shopping. At least I did; the Cat stayed in the car to let her back recover from the restaurant seating. We took surface streets home (Foothill Expressway, Homestead, Newhall, and Park) to look at the lights.
[edits for clarity 12/11]
Spent some time this afternoon installing and playing with
-- a reasonably complete command-line blogging package in the form of a
shell script. Great fun, though the code is a bit ugly and almost
completely uncommented (yeah, I know... it was hard to write, it should be
hard to read...).
nb --blogdir dir --addand you're in $EDITOR looking at a pretty-well-commented configuration file.
nb is going to be OK for an internal, work blog, but
it's not what I really need for some of the home projects I'm
contemplating. Still, it has a lot of good ideas I can
The other package I've been looking at, blosxom is also pretty close -- closer in some places, farther in
others. The biggest problem, at least in the Debian version, is that it's
centralized: all the templates and config files are shared, so there's no
good way to give every user a completely separate blog the way you can in
nb. (Update 11/3: the combination of the
config plugins appears to fix this.)
Looks like I'll be building my own after all.
Reporters Without Borders has published a Handbook for Bloggers and Cyber-Dissidents. It's all available online, either in PDF or HTML. Includes chapters on How to blog anonymously, Technical ways to get round censorship, and Ensuring your e-mail is truly private.
Required reading for political bloggers and whistle-blowers; lots of good info, mostly introductory, for others.