mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)

It looks like the basic idea works, but I was using slashes as the delimiter for the sed command that puts the post url into the archived post. Since the url contains slashes, that failed.

mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)

This is a test: (The results will be posted in a comment)

### this prints out the URL of the last post you made today:
    wget -q -O -$(date +%Y/%m/%d/)  \
       | grep 'class="entry-title"' | tail -1                    \
       | sed -E 's/^<[^>]*><[^>]*href="([^"]*)".*$/\1/'

mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)

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 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:

mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)

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 [community profile] 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:


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.

mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)

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?

mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)

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=''>
     <img src=''
         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, 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:

Grey tabby cat looking intently at a Logitech mouse.

Yup. So -- 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 was writing.)

I can put that into an img tag that looks like

<:img src="" width="512">

Chrome says (in the page title) that the image is 1024x719, so I'll try cutting it down by adding a width="512" attribute. Here we go:

-- purrfect.

One final aside: if you're following along and using a word processor that automagically turns quotation marks into matching curly 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.

Happy hacking!

Another fine post from The Computer Curmudgeon.

mdlbear: (technonerdmonster)

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.

Where I am now:

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:

  1. It could only create one post at a time, and there was no good way to save a draft and come back to it later. I could live with that.
  2. It stopped working when DW switched to all HTTPS. It was using an obsolete http library, and noone was maintaining either of them.

My current system is much better.

  1. I run a command, either make draft or, 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 git log.
  2. I edit the draft. It can sit around for days or months; doesn't matter. It' an ordinary html file except that it has an email-like header with the metadata in it.
  3. When I'm done, I make post. Done. If I'm posting a draft I have to pass the filename again to tell it which draft; make entry makes 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 charm, 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 make done, and my "Computer Curmudgeon" posts are started with make curmudgeon. 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.

Where I want to go:

Here's what I want next:

  • The ability to post in either HTML or markdown -- markdown has a great toolchain, including the ability to syntax-color your code blocks.
  • The ability to edit posts by editing the archived post and uploading it. Right now it's a real pain to keep them in sync.
  • A unified archive, with actual URLs in the metadata rather than just the date and time in the filename.
  • The ability to put all or part of my blog on different sites. I really want the computer-related posts to go on (usually shortened to in my notes), and a complete mirror on (
  • Cross-links in both directions between my sites and DW.

How to get there:

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.

Posting, editing, and archiving

  • Posting in HTML or markdown is a pretty easy one; I can do that just by modifying the makefiles and (probably) changing the final extension from .html to .posted so that make can apply its usual dependency-inference magic.
  • Editing and a unified archive will both require a new command-line client. There aren't any. There are libraries, in Ruby, Haskell, and Javascript, that I can wrap a program around. (The Python code in charm doesn't look worth saving.) I wanted to learn Ruby anyway.
  • The unified archive will also require a program that can go back in time and match up archived posts with the right URLs, reconcile the two file naming conventions, and remove the duplicates that are due to archiving posts both in charm and MakeStuff. Not too hard, and it only has to be done once.
  • It would be nice to be able to archive comments, too. The old ljbackup program can do it, so it's feasible. It's in Perl, so it might be a good place to start.

Mirror, mirror, on the server...

This is a separate section because it's mostly orthogonal to the posting, archiving, etc.

  • The only part of the posting section that really needs to be done first is the first one, changing the extension of archived posts to .posted. (That's because make uses extensions to figure out what rules to apply to get from one to another. Remind me to post about make some time.)
  • The post archive may want to have its own git repository.
  • Templating and styling. My websites are starting to show their age; there's nothing really wrong with a retro look, but they also aren't responsive (to different screen sizes -- that's important when most people are reading websites on their phones), or accessible (screen-reader friendly and navigable by keyboard; having different font sizes helps here, too). Any respectable static site generator can do it -- you may remember this post on The Joy of Static Sites -- but the way I'm formatting my metadata will require some custom work. Blosxom and nanoblogger are probably the closest, but they're ancient. I probably ought to resist the temptation to roll my own.

Yeah. Right.

Another fine post from The Computer Curmudgeon.

mdlbear: (copyleft)
So far I've not bothered posting about the Associated Press's ridiculous claim that a quoting even as few as half a dozen words from one of their articles is a copyright violation, and requires payment. But this one is simply too deliciously ironic to avoid.

Techdirt: AP Quotes Blogger In Discussing Bloggers Quoting AP; Hilarity Ensues
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.
mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)

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.

Making it

2008-01-08 11:01 pm
mdlbear: (hacker glider)

"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 [ profile] chaoswolf is starting an HTML class, the servers are getting re-organized, and people have been after the [ profile] 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.

mdlbear: (flowers for you)

My darling [ profile] 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.

mdlbear: (hacker glider)

This post on O'Reilly has a link to Noserub, an open-source protocol for sychronizing data between different social networking sites. Potentially part of what I'm looking for, though it's a bit too early in the development process.

mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)

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, 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 [ profile] ljupdate (emacs) client, at least in its current hacked-up state, and an extensible place to put metadata.

The closest things I've seen are nanoblogger (which uses 822 headers), blosxom, and ikiwiki, but I'll probably end up stealing a little code from each of them, and doing the multi-blog stuff myself.

mdlbear: (hacker glider)
Between Friends: The Perils of Centralized Blogging | Electronic Frontier Foundation
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.

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.
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)

My online habits and assumptions were formed in the wide-open era of Usenet before the rise of the Web, where you didn't have to behave as if anything you posted would be public: that's how the system worked. The web has made it possible for people to think that a public website might keep some of their information private. Experience has shown that it's rarely a good assumption. Just because you're paying someone to take care of your data -- or your posessions -- doesn't mean they won't suddenly turn on you.
mdlbear: (hacker glider)
Google Announces the OpenSocial API
Google has announced OpenSocial, a new open API for social networks. The new standard will allow developers to create Facebook-like apps on any social network site that implements it with the same calls.
mdlbear: (hacker glider)

The most recent items in this this collection are The Social Network Operating System and Using Open Standards to Free the Social Graph, both at O'Reilly.

They refer to XFN - XHTML Friends Network, and to Six Apart's claim to be Opening the Social Graph, though I'll believe that when I see it.

From a much earlier post by [ profile] 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, 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.

mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)
Online communities, offline? | LinuxWorld Community
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.
mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)

...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...

mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)

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 [ profile] 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.

mdlbear: "Sometimes it's better to light a flamethrower than to curse the darkness" - Terry Pratchett (flamethrower)

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.

mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)

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 blosxom and nanoblogger. Maybe it's just as well I don't normally remember my dreams.

The [ profile] 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]

mdlbear: (hacker glider)

Spent some time this afternoon installing and playing with nanoblogger -- 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...).

Things I like

  • Installation's a snap: just run nb --blogdir dir --add and you're in $EDITOR looking at a pretty-well-commented configuration file.
  • It's built expecting that every user will have at least one blog, maybe more, in different locations and with different configurations.
  • It allows for both a local working copy and an uploaded, published copy, and you can specify what command to use for uploading
  • It's all stored in flat text files (no database) and all processing is done offline, to generate fast static pages on your website.
  • You can re-use parts of the blog as components in other web pages.

Things I don't like

  • The only available comment package uses PHP and a database, and doesn't take the local/published dichotomy into account. It's not really integrated as a plugin.
  • The lack of a web interface makes it unusable by anyone but a hacker. Works for me, but I wouldn't turn my family or even many of my coworkers loose on it.
  • Shell scripting, though it makes for a clever hack, is pretty inefficient.
  • I don't really like the choice of representation in the raw data files -- it's tantalizingly close to RFC822 , but different.
  • It's not easy to simply create a post as a file directly in Emacs and get it published.

I think 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 steal research.

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 isp and config plugins appears to fix this.)

Looks like I'll be building my own after all.

mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)

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.

Most Popular Tags


RSS Atom

Style Credit

Page generated 2019-04-22 02:21 pm
Powered by Dreamwidth Studios