cellio: (Default)
2020-05-17 09:10 pm
Entry tags:

"click here" is usually weak, but not always

It's generally held among professional writers (and presumably some others) that constructs of the form "for more information click here", with "here" being a hyperlink, is not good style. It's far better, in general, to incorporate some clue about the content into the link -- "See the formatting help for more information", with "formatting help" being a link to documentation, provides more information at a glance and just reads less clunkily.

When answering questions on sites like Stack Exchange and Codidact, one sometimes wants to refer to another answer (for example to elaborate on it or disagree with a point made in it). I posted such an answer recently and used link text of "another answer" instead of "Joe's answer". If I had said "Joe's answer", somebody who's just read that answer would have context without having to go look. Someone who knows my general writing style asked me why I used the vaguer formation.

This is my general style on sites like these now, and I do actually have a reason. Two, actually, the more significant of which is caring about people's feelings.

On Stack Exchange, Codidact, TopAnswers, and presumably others with which I'm less familiar, users can change their display names. Using a name as text rather than an '@'-reference in a link can thus decay. I've seen too many posts that mention "Joe's answer" but there's no Joe evident on the page now, years after that text was written. So that's confusing and I try to be careful; some people change names frequently, leaving trails of dead references in their wakes.

But it's not just about avoiding confusion. For me this name-avoidant practice crystalized some years ago when a prominent SE user transitioned gender. I realized that old posts of mine (from before I was careful about this) now dead-named this person. Ouch! Also maybe dead-pronouned, though if you write posts in a gender-neutral way like I try to in such contexts, you can minimize that damage.

We don't know who's going to be someone different later. My desire to attribute properly is at odds with my desire to account for future changes that affect writing I might not actively maintain. For in-page references the post is right there; omitting the name in favor of a generic reference is not harmful and is more future-proof. For regular citations, I attribute by name because giving credit is important, and just do my best.

I know that people who transition -- even just names, let alone gender -- just have to deal with the fact that they had lives before and those references don't vanish. My friend Owen understands that sometimes we need to talk about Zoe. But sometimes we can do a small thing to alleviate a little bit of unnecessary frustration and not make people's lives more difficult. It seems worth doing in these cases where the cost of being mindful of these possibilities is small.

I don't do this everywhere. My blog, being more personal in nature, is more likely to refer to people by name, use gendered pronouns, and otherwise bake in current context. My blog isn't a public knowledge repository like Codidact is. We write differently for Wikipedia, Codidact, blogs, and email, and that's ok.

cellio: (Default)
2019-03-29 05:22 pm
Entry tags:

seeking tools help (Madcap Flare, git, Jenkins, HTML)

Two of my recent tech-writing questions on Writing Stack Exchange currently have large bounties (from someone else). I'd really like answers to both of these, and if you're into that sort of thing and can answer in the next few days, you might be able to collect a bounty. I have some leads now on both, but not developed solutions.

Adding tags to documentation built in Flare? -- I want to be able to tag topics in our large doc set and have those tags show up on the individual pages, so that somebody could click on (say) "kerberos" and see all of the topics that we've tagged thus. Think of it like blog tags. I learned in a tweet this afternoon that Flare has something called "concept markers" that emit "see also" sections; that's on the right track, it sounds like, but I don't want see-also bloat so it'll need some modification.

How can I highlight changes in HTML output from Flare, based on branch diff? -- people can look at the source diff on BitBucket, but what I really want is for the built HTML to be marked where the diffs are somehow. It seems like there should be a way to take the git diffs, use them to locally modify the (XML) source to insert, I dunno, changebars or font color changes or something, and then do the build. So far I have a pointer to diff2html, which looks like it will produce an HTML report of the diffs separate from the built documentation.

Do any of my readers have relevant know-how?

cellio: (Default)
2018-03-15 10:34 am

another misguided recruiter

Like many others, I get lots of unsolicited email from recruiters who claim to have read my LinkedIn profile and have a great opportunity for me. They're almost always wrong about both. But I usually skim the tech-writing ones when they arrive, to (maybe) learn a little about the state of the field.

The latest one, about a "fast-paced innovative team", started off generic, as most of them do. (Hint to recruiters: if you want me to respond, give me a reason to. I'm not actively looking; you have to show me something interesting.) But the list of responsibilities included "work with architecture and UX teams to understand how best to organize and present the documentation" -- hey, they have a UX team! That's unusual (in a positive way). I kept reading.

Then I got to the requirements, which included:

  • Experience with Cobol
  • Strong working knowledge of Microsoft Office

Ha ha, no.

Also, it's in New Jersey and the ad doesn't say anything about remote employees. Bzzt.

cellio: (writing)
2017-08-21 05:57 pm
Entry tags:

short fiction

I wrote a short short story (~500 words) inspired by today's celestial events. Check it out on Universe Factory, the blog of the Worldbuilding Stack Exchange community.

I got the idea a few days ago and, well, I just had to.

cellio: (Default)
2017-05-21 11:16 pm
Entry tags:

collaborative documentation

In the category of "things I posted elsewhere that I want to preserve here"...

Stack Overflow began a documentation project, based on the idea that good examples are the core of good documentation. But the project ran into some problems, so they're "rebooting" it. They're going to focus on a single topic (T-SQL) to start, and are doing some user research before diving in. (And I got some warm fuzzies from the fact that they cited my SEDE tutorial.) But it seemed like some important points about documentation could be missed, things that frustrated me when I participated in the beta of the first attempt, so I weighed in:


Documentation doesn't exist in a vacuum; it exists because there are real people with real needs, and there's also prior work.

Regardless of subject, there are a few types of documentation, and when it comes to structure one size does not fit all. For example, there's tutorial-style documentation (like that SEDE tutorial), which introduces concepts as needed (just enough, not too detailed) while walking the reader through a progression of examples, which might have iterative cycles. Another type of documentation is the complete, documented example -- something that the reader can download and run himself, that has good comments and then some doc wrapped around it. (I don't necessarily mean one big <code> block; sometimes it's better to go method by method, for example.) Reference implementations are an advanced form of the complete, documented example.

Then there's conceptual documentation, where you explain in more detail what's going on with the different kinds of JOIN, for instance. And -- perhaps less relevant here, but I'll include it anyway -- there's task-oriented documentation, where you provide step-by-step instructions for how to do something procedural like configure Kerberos. What distinguishes task documentation from documented examples is that there should be fewer decision points -- getting that DB web front end up and running might require 37 steps but they're pretty much always the same 37 steps. That's different from doc about how to optimize a query, where you might be teaching a skill instead of providing instructions.

There's also reference documentation -- think API reference or language spec here -- where the focus is on being complete but comparatively terse, but where examples are also valuable. (This is probably not going to be where our best bang for the buck is.)

My point in saying all that is: these different types of doc require different enabling structures. This doesn't need to be a ton of work, but it's something to think about. We probably want something more than "here's a textbox" and less than "here's the schema for our fancy XML representation" -- maybe we just need some templates? Maybe the question about what T-SQL doc has helped people will evoke answers that touch on structure and organization.

One general point: being able to organize content is important. (Even better if it can be sketched out early on, before all the pieces exist!) In Documentation 1.0 examples on a topic were ordered by votes; there's no way to do a progression that way. A tutorial can involve several examples or example fragments, and they need to be orderable. It also won't make much sense for them to be evaluated (e.g. by reviewers) in isolation, away from their surrounding context. That's great for an initial code review, but you also need to be able to answer the question "is this a good example of that thing we just explained?".


That last point, about organization, was my biggest frustration in trying to help with round one of this. Somebody requests examples of Topic X, and a bunch of people throw some code at it, and there's no coordination, no logical ordering, and no way to develop a progressive example. There were lots of people involved but it didn't feel like a collaborative effort. Good documentation requires a little more coordination than that, in my opinion.

cellio: (writing)
2017-05-03 09:52 pm

questions for the interviewer (tech writing)

Somebody on a tech-writing mailing list just asked what kinds of questions we tend to ask interviewers when we're interviewing for jobs. The person had already mentioned, specifically for hardware-related jobs:

  • Do you test the documentation? How?
  • How does legal review work (for things like liability)?
  • Availability of subject-matter experts for reviews?

Here's what I wrote in response:

My experience is in software, which might be different from hardware, but I always want to know:

  • How early and in what way are writers involved in development? Do writers participate in functional and design reviews? Do we have input into the user interface? Are we part of the team, or do we come in later, take what they've built, and document it?

  • Can I use the product? As much as I want?

  • What processes do both the dev and doc teams follow? (If they say "agile" there are more questions.) How is doc reviewed and by whom?

  • (How) do we make doc improvements that aren't directly tied to new features or bugs? (For example: larger reorganizations, improving indexing, adding runnable examples, tools improvements.)

  • (How) do you use source control for documentation?

That's off the top of my head, without digging out my notes from my last round of interviews.

So that's not a complete list either, but these are the kinds of things I tend to be thinking about. (I also try to find out if I have access to the source code, but since he was asking about hardware I didn't bring that up.)

I also want to know where the documentation group is placed, organizationally speaking, but I usually learn that indirectly.

cellio: (writing)
2016-02-21 03:48 pm

I wrote a thing and Reddit noticed

The Worldbuilding blog, Universe Factory, is still fairly small; we're new and trying to grow. So I was surprised when my latest article, Worldbuilding As You Go: A Case Study, in which I describe a process by analogy with train games, got lots of views in just a few hours. (I mean hundreds, not hundreds of thousands, but more than I'm used to.) Curious about where it was linked (it must have been linked, right?), I looked into the referrers and found Reddit. I didn't know there was a worldbuilding sub-reddit, though I guess I shouldn't be surprised. There are sub-reddits for practically everything, after all.

I've not used Reddit before. Is bookmarking that page and occasionally visiting it the best way to keep an eye out for other interesting material on this topic? Assuming I don't want to commit a large amount of time to that, is just going with the community voting to cull the vast pile of material the way to go, or are there easy personalization options?
cellio: (hubble-swirl)
2016-01-26 09:22 pm

recent posts on the Worldbuilding blog (mine and others')

You're being too productive. Let me help.

The Worldbuilding blog, Universe Factory, has been publishing a nice mix of articles. (We aim to post something new every three days.) Some recent posts that my readers might be interested in:

- The latest in my "revelation for RPGs" series, in which I talk about transformations in the world and in some of the characters (previous posts in this series are linked)

- Hey look, I was interviewed!

- The third in a series on hard magic (see also part 1 and part 2)

- A Day on Planet Sitnikov, on unusual orbital mechanics and, also by this author, a planet's-eye view of globular clusters
cellio: (writing)
2014-09-03 09:13 pm
Entry tags:

speed-writing

The Writers site on Stack Exchange has a weekly writing challenge -- somebody throws out a topic, you write for ten minutes, and then share what you've got. I decided to try it this week. The topic was "high school crush".
Read more... )
cellio: (writing)
2014-06-06 06:48 pm

question for published authors

I have published authors among my readers; can any of you answer this question about how publishers view prior self-publishing? If you self-publish on Amazon and then later seek a conventional publication contract, are you out of luck because of the prior publication? (If you can provide a supported answer, rather than speculation, I encourage you to do it there. And if you do it in the next few days you might pick up a bounty, if you care about Stack Exchange reputation.)
cellio: (tulips)
2014-04-03 03:36 pm

link roundup

Two items seen in rapid succession today:
  • Here's why you're not hiring the best and brightest: (Jeff Atwood) talks about making telecommuting work so that you really can hire the best employees, as opposed to the best employees willing to live in a particular location. I once applied for a telecommuting position at a company that seems to get it as far as that's concerned, and a lot of the stuff they do is reflected in this article.
  • What do programmers care about? (20-minute video): Joel Spolsky (Stack Exchange, Fog Creek) talks to recruiters about how to recruit programmers. If you've read Joel On Software you already know a lot of what he has to say here, but I still found it interesting to watch.

Can you help? Somebody asked a question recently on Writers about guidelines and heuristics for when to use screen shots in technical documentation. The question isn't looking for opinions or what you, personally, do but, rather, formal guidelines along the lines of what GNOME does for its documentation. So far it's only attracting opinion answers. I, too, have opinions and practices that I follow, but I can't source them either and I'd like to see the question get a good answer.

Speaking of Writers, I wrote a little something about writing good API reference documentation (like Javadoc), based on advice I've given informally over and over again -- finally wrote some of it down in a public place. Feedback welcome.

I recently saw an article with interesting-seeming observations and analysis of Modern Orthodox Judaism. I'm not all that tuned into the MO community and can't evaluate its credibility from inside, but I found it an interesting read. If any of y'all would care to tell me where on the spectrum from "yup" to "WTF?!" this is from your perspective, I'd be interested.

Finally, a little something for those who use the text editor vim (which I gather is related to vi?):

.

cellio: (avatar-face)
2013-11-10 10:40 pm
Entry tags:

for my (fiction-)writer friends

Stack Exchange has a site for writers -- all kinds of writing, including technical (why I'm there, mainly), but mostly fiction. November is National Novel-Writing Month (NaNoWriMo), and we're hoping to see some increased activity because of that. Stack Exchange is all about asking good questions and getting good answers. I'm a moderator on this site, which is in beta and trying to grow.

As a tie-in to NaNo the site is having a contest for new questions and answers in genre-related tags -- questions about science fiction, fantasy, children's writing, mysteries, historical fiction, more. See the linked post for details. (Yes, questions about fan fiction are ok.) Winners get either writing-related books of their choice or a one-year subscription to Duotrope, a market-tracking service (winner's choice). Plus, of course, if you have questions, with luck you also win useful answers to those questions. :-)

Please feel free to share this with people who would be interested.
cellio: (writing)
2013-07-24 10:10 pm
Entry tags:

documenting APIs for weakly-typed languages?

I've been building and documenting application programming interfaces (APIs) for years, using tools like Javadoc to generate the reference documentation from the code and special comments in the code. I've got a pretty good handle on this in general -- but so far I've always worked in languages with stronger typing, like Java and C++, ones where the parameters and return values can be specific classes, or things like List<String> (rather than just a list), and so on. But now I need to do it for Javascript, where all the code will tell you is that that parameter is, say, an object -- not what specific properties that object needs to have and what their types are, for example. Our API is going to have a lot of that type of parameter. So now I'm wondering what's considered best practices for documenting those -- obviously the documentation from the comments has to address it, but I can imagine a few different ways of doing it and haven't found useful examples in the wild yet. (That doesn't mean they're not there, of course.)

I asked a question about this on Writers.StackExchange, hoping to tap the wisdom of the net. But I figure some of my readers might be able to offer suggestions. If you comment here you'll help me, but if you instead comment or answer there you'll help the broader internet. (Also, I'd like to see more technical-writing content there, for which there's a chicken-and-egg problem.) Either way, I'd welcome input, tips, warnings, horror stories... whatever you've got.

We haven't chosen a tool yet; we've found half a dozen for Javascript that we'll be looking at. So if I know what's considered the best way to do this I can factor that into the decision, instead of finding myself limited by what the tool we ended up with can support.
cellio: (tulips)
2013-04-18 11:01 pm

random bits

The tulips are starting to appear in my yard. We sure went from snow to spring-verging-on-summer in a hurry. But it's supposed to be in the 30s over the weekend.

The (expiration? best-by?) date on a frozen-food package is "Jul 19 2014". This raises two question: (a) such precision -- would July 20 really be different, and is July 18 better in that case? And (b) why isn't frozen food that's good for more than a few months immortal? What exactly is going to happen to my vegetarian corn dogs in a year and a quarter? (The question is academic; I'll have eaten them by next week.)

Someone on Mi Yodeya passed along these really nifty photos of a "teapot" that is so much more. He found it on Reddit, where the claim was that this was used by crypto-Jews during the inquisition. I'm not sure about that, but even if not... wow, cool. Like Russian nesting dolls on steroids. Take a look.

My rabbi blogs now, and I was particularly struck by this recent post about inter-faith relations and more. The part (attributed to someone else) about being neither jerks nor jellyfish when it comes to faith stood out for me.

I saw a job post recently for a (very) technical writer, principal-level, to do programming (API) documentation. That's pretty rare, so when something like that crosses my desk I always look even if it's neither local nor telecommute, to keep tabs on the state of the art if nothing else. On this one, as I was reading down the list of desired skills, past specified programming languages and technologies, past XML markup standards for documentation, I came to... MS Office. This is really not the tool for that particular task. It was then followed by DITA (an XML doc specification that makes DocBook look like child's play), Javadoc, and Arbortext Epic (a tool for editing XML-based documents). I guess somebody decided that throwing in more desired skills was better, or something. Either that or they're not actually doing any of this yet but they aspire to. Which is fine (I've done that), but not clear in the job description.
cellio: (star)
2013-03-21 09:27 pm

Haggadah Mi Yodeya!

I am thrilled to announce the publication of Mi Yodeya's haggadah supplement! At the Pesach seder we are supposed to ask questions (about the exodus from Egypt and about the rituals of the seder, and anything else that comes up along the way). Mi Yodeya, a top-notch Jewish Q&A site (if I do say so myself :-) ), is all about questions. So we compiled some of ours that are on-topic for the seder into a book, a supplement to the haggadah. I hope you'll download a copy for possible use at your own seder (or just to read) and that you'll tell all your friends.

Go to http://s.tk/miyodeya for more info and a download link.
cellio: (sheep-sketch)
2012-06-10 11:05 pm

"7 things" #3

More from that parlor game: Comment to this post and say you want a set, and I will pick seven things I would like you to talk about. They might make sense or be totally random. Then post that list, with your commentary, to your journal. Other people can get lists from you, and the meme merrily perpetuates itself.

[livejournal.com profile] alaricmacconnal gave me: Pittsburgh, writing, your favorite song, chicken, D&D, knowledge, and al-Andaluz.

Read more... )

cellio: (don't panic)
2012-05-22 10:46 pm

how LISP changed my professional life

Part of this meme:

LISP

The most valuable part of my education as a technical writer was my student internship with the Common LISP project. It was also either the first- or second-most important part of my education as a software developer. Yes yes, the classroom stuff was important and the software-engineering project course was essential for putting the pieces together, but this was the real world and the real world is far less tidy than the classroom.

I was brought on to help write the documentation for this then-in-development language. (Other varieties of LISP existed; this was an attempt to unify them.) But unlike all previous tech-writing work, this was for a thing that did not fully exist yet, and I was part of the ongoing design process. I was there in the (virtual) room with the lead designers, Guy Steele, Dave Moon and dozens of others big and small, and if my contributions had merit it didn't matter that I was an undergraduate with no real experience. On the ARPAnet nobody knows you're a dog undergrad. Mind, being an undergraduate with no real experience, I didn't necessarily have a lot of design ideas to contribute, but even then I was pretty good at catching inconsistencies and asking key questions. I learned to write software-interface documentation there, but even more importantly I learned to be part of a real software-development process, to ask questions even if they might seem "stupid", to argue for technical positions and support those arguments, and to be a full member of a team.

When I graduated and met more of the real world I would learn that it usually doesn't work like this. In a lot of places, tech writers are not part of the development process (and may not even be in the development department) and the attitude is that they can come in after the big boys are done developing the product. Phooey on that; this important early experience taught me that it doesn't have to be that way, and I have held firm on this in every place I've ever worked. If I hadn't had this early lesson, I might well have fled the field.

It is also because of the Common LISP project that I went into programmer documentation (and expanded from there). I wouldn't have pursued tech-writing jobs that were all about walking the menus in the UI and stepping through wizards and such; I want to look under the hood, understand what's there, and use that knowledge to help users. Building software development kits like I do now is exciting and nourishes my inner geek. When I went to college I hadn't even heard of technical writing (I went there to do computer science), but I came out as a technically-proficient writer who knows the good that is possible. I have Common LISP to thank for that.

cellio: (don't panic)
2011-11-09 09:44 pm

never seen that in a job posting before...

From this job posting for an API Technical Writer (sic):

"Our ideal candidate [...] Comfortable authoring in HTML and XML using plain-text editors (no WYSIWYG)"

That's how I work all the time. I didn't know anybody else cared. :-)

(Because (1) after 30+ years the emacs muscle-memory is strong; (2) it means I actually know the spec (at least the important parts); (3) I don't have to clean up after tools' bad decisions about what I meant.)
cellio: (writing)
2009-12-31 12:07 am
Entry tags:

conversation snippet

This week we finally got some routine legal documents in order. Snippet from today's review meeting:

Me: Just out of curiosity, this place in the boilerplate where you cite [a particular act], don't you have the name wrong? It doesn't really matter, I don't think, because this is in a section heading and you have it right down in the legally-binding paragraphs below, but just checking...?

Lawyer: I never noticed that bug in our template before.

Me: My work here is done. :-)

My professional training follows me everywhere, I tell you!

(Medical power-of-attorney, and it's HIPAA, not HIPPA.)
cellio: (sleepy-cat)
2009-12-25 03:58 pm

a few links to share

Dani pointed me to Fantasy In Miniature. here are three that caught my fancy. I have just doubled the subscriptions to [livejournal.com profile] fantasyinmin. (I wonder who the other one is.)

From [livejournal.com profile] siderea: The C Programming Language by Kernighan & Ritchie & Lovecraft.

Toleration versus diversity (David Friedman) was an interesting read for me.

Chat-based ask-the-rabbi service, for when email is too slow and asynchronous. Apparently they also do SMS. (It's Chabad, though they don't make it particularly easy to discover that.)