Tag Archives: Software

Biting into the GUI center

We’ve all had that annoying moment when the way we’ve always done things changes. If you’re a Facebook user this is pretty much a de riguer experience. Even something as simple as pasting a link from your blog can change on a day to day basis: what screenshot does it find, can you replace it with a file from your drive, does the URL show or not?

I’ve got a guy a work  (actually several) who apply skins and themes to make their Windows 7 machines look like gray box Windows 2000 machines. Not XP, 2000. Another likes to take his text editor and put it in VI style (green text on a black background). These anachronistic choices aside, at least they have the option of keeping the things the way they have always known. For many things online, it just is the way it is and there’s nothing we can do about it.

I’m a browser switcher and my current favorite is Opera. It’s fast, it’s simple, and it lets me make my own start-page. But because programmers always have to have something to do, it has become slower over time because of all the new features I’ll never use and don’t want, the location of bookmarks has changed several times in the last year, and the nice big start page boxes have been shrunk to mimic Chrome. The reason I switched to Opera is that Chrome had shrunk its link boxes to a tiny fraction of page real-estate in favor of a large search area, and now Opera has matched them. It’s gotten a little better since the initial release of version 29.0. Opera fixed a text overlay so it is under the box and not over it, making up for some of the clipping and size problems, but it’s still not what I was used to and had grown to like.

If I didn’t like the change my options were to go back to a previous version (not the easiest or most secure procedure), switch to another browser that had features I liked from Opera and nothing else, live with the problem, or write my own browser. I’m increasingly becoming convinced this last option is the best one. I can use Chrome’s rendering engine and just slap the simplest possible GUI on top. Ah, if only.

Other sites with unwelcome “better” changes:

  • The Internet Archive – Admittedly its old interface looked like something out of the 90’s, but the new look makes it harder to find what you need and takes up more space on screen. Not a good set of characteristics for the internet’s library. You can go back to the old interface, but only after sitting through the new one and who knows how long that’ll be an option.
  • Indie Royale – N0t every gaming site needs to have a black background. You were doing your own thing with tan and hand-drawn icons. The purchase bundles interface has never been right either.
  • Netflix – Took an easy to organize list and made it a jumble of icons. More visually appealing, but annoying for those of us OCD people. Why can’t we sort what we want to watch?

I’ll admit, I’m guilty of this as well, all of us programmer’s are. Sometimes we remove a feature to solve a problem with a new architecture. Sometimes we try to simplify to make it easier to find what we think you’ll need. Or we add something new because we think it is really cool. We talk to customers and we try to make the best engineering decisions. But the internet, and internet software is different. You expect changes with new OS’s or new versions of purchased software, but browser versions have largely shifted into the background, and websites are constantly changing. And it can be annoying to feel like you have no say when something you like doing one way, suddenly has to be done another.

What site or software change has annoyed you in the past?

Leave a comment

Filed under Trube On Tech

Is Software Ethical?

CORRECTION: This was a WOSU (my home station) story, not an NPR story. I will direct my complaints in the appropriate direction. Here’s a link to the WOSU audio. Original post follows.

I heard a comment on WOSU this morning that really kinda pissed me off.

* GETS ON SOAPBOX *

* PUTS ON NERD GLASSES *

The comment was the button at the end of a story about software being used to write articles for the Associated Press and other news organizations (mostly for sports and financial stories and other statistics heavy articles). The question was asked: Can robots have morals or ethics in writing news stories?

Answer. No. Robots cannot have any ethics or morals. Morals are a human thing.

Here’s what annoyed me about this answer.

1) Robots: The term robot or “bot” has been colloquially used to refer to any automated process, whether it was ChatBots from the old IM days, or algorithms like this one. As an engineer “robot” has always seemed like a misleading term because it conjures a lot of images in people that have nothing to do with what you’re talking about. Robots are hardware, we’re really talking about software, and if we want to get technical, we’re talking about intelligent systems.

Intelligent systems are not AI or at least not in the sense that the general public would think of AI. Intelligent systems take a lot of forms, but basically they take in data and respond with a diagnosis, a solution, or a news story. What distinguishes Intelligent Systems from AI is that they’re not generalized. An Intelligent System can be complex, but it is essentially a bunch of algorithms designed to tackle one kind of problem, in this case, how to write informative, brief, and factually accurate news stories.

2) Ethics: To say that software doesn’t have ethics is like saying that a book doesn’t. Software is another form of human expression. It is written by a human (hey, like me), the requirements for what the software should do are all determined by humans, and it is evaluated by humans.

What are ethics anyway? Well in this case our interviewee was referring to a code of journalistic conduct, where the important morals are objectivity, lack of prejudice, and a basic understanding of what humans find important or insensitive.

The specific example discussed was a baseball game in which a pitcher pitched the first no-hitter game for a team in over a decade. The software wrote an article that had this information in the second paragraph. To me, that just sounds like a bad case statement, not an unethical or insensitive piece of software. The human writing the software needs to write code to look for instances we find significant (no-hitters) and what increases their significance (time since last no-hitter). If it crosses a certain threshold, it goes in paragraph one. Easy.

robot

Image Source: Yahoo Sports

 

How are ethics and morals implemented in software? Complex mathematical algorithms and/or a bunch of if-then statements.

Good intelligent systems are able to start from a set of rules, and modify (learn) new rules by doing. If there’s human feedback on the articles produced (or if there’s some other acceptable metric that can be tracked through a website: traffic, comments) software can determine what outputs worked better than others.

It’s an old joke among software engineers that “software can do anything”. It’s not true, except everybody thinks it is and so we have to figure out a way to make it true. But to me, a code of journalistic ethics sounds a lot like a requirements document. A good engineer will figure out a way to take that code, and write those evaluations into decisions the software makes. He or she has ethics, therefore the software does, or at least has morals implemented.

One last thing: Software might actually be better at getting rid of institutional prejudice based on age, gender, skin-color, etc. Even the best of us as humans have to get over how we thought about things before. We have to decide we’re not going make decisions about what we write based on any of those factors and we still might have underlying prejudices we can’t even acknowledge. In software, you just take those evaluations out. They’re gone forever. Software can be truly impartial.

Next time you’re doing a story like this one, get an engineer in the discussion. Don’t just ask a writer. We’re easily frightened.

And lose the term “robots”.

Leave a comment

Filed under Trube On Tech

Processing Words

If there’s one piece of software at the center of the writing life, it’s word processors. I’ve used a variety of these programs over the years migrating with technology and formatting preferences. Recently, I got to thinking about the pros and cons of all these programs as I was working on Chapter 4 of The Sky Below on my Linux box using AbiWord and thought I’d share them with you.

WordPerfect – I wrote my first book with this program, starting with version 6 and using version 8 and 10 with each new computer we bought. I used to say you could have Word or you could have perfect. As a software guy one of the things I appreciate about this program is the cross-compatibility between versions. You could create a document in version 10 and open it in version 6 and vice versa. This was the program I used on my first computer (a Windows 3.1 Compaq) and on my first laptop (a gifted gray brick of a Toshiba Satellite). Remember when you used to have to come up with 8-character names for file names?  Probably the reason most of my titles are still short.

OpenOffice – Nothing like getting an entire office suite for free. Word Processors, and even programs like Excel and Power Point feel like such an essential part of the computer that it can sting a little bit to pay high double digit, or even low triple digit prices for them. I primarily used OpenOffice 2 and 3 though I have 4 installed on several of my machines. Probably the last time I used this was for NaNoWriMo in 2011 when I found out the word count had a quirk where it would count quotation marks as words and I had to make up a deficit of about 1000 words before the deadline. Surreality’s first draft was written between WordPerfect and OpenOffice which caused all sorts of interesting formatting quirks when I started converting it to an eBook. I remember liking that you could save books to PDF long before Word got that ability directly.

AbiWord – Basically a clone of Word 2003 but with a variety of plugins and conversion formats so you can read and w rite to just about every common format (including the .docx format used by Word today). The main advantage to this is performance. I’ve got it installed on old hardware designed mainly for Windows XP and now running Zorin light linux. OpenOffice might run (or it’s branch LibreOffice), but it would take forever. Playing around with it the last couple of weeks I noticed it had a summarize feature that looked pretty cool and the ability to save directly to the EPUB format. Works well for writing and editing the chapter before formatting it in something else.

Notepad++ – If you’ve never used this program you really should, particularly if you’re a web programmer who doesn’t like using a fancy IDE. This is mainly my program of choice for writing blog posts offline before pasting them into WordPress and is also a great way of using the “nuclear option” to clear formatting from something else. It can read the text back to you with text to speech, has a spell check and can open up documents in tabs. I really wish Linux had some kind of equivalent to this as I’ve come to heavily rely on it on almost every machine I own.

DocumentsToGo – I probably had the best setup you could possibly have for this, a tablet case with a keyboard so I could type in this like a mini-laptop. But after taking more than half an hour to write 300 words I went back to focusing on getting my old Linux laptop to fit my needs. This has few of the formatting options of a real text editor and is probably most useful for creating short notes or viewing documents. Maybe on more powerful hardware with a better keyboard I’d like this better, but that seems far too expensive to buy on a tablet when I can get cheap laptops for a couple hundred bucks.

GoogleDocs – I love the collaboration of this, the auto save and the easy ability to highlight notes in the text and resolve them without leaving a trace on the document. This is a great way for my wife and I to revise Surreality before putting in the final changes in something else. Again I feel like this document format is plain, and doesn’t even have some of the simple paragraph styles that are so easy to set up in Word. Some of them are there, but frankly I’ve found it best to write the document in Word, upload it to Google Docs to edit, then paste it back into Word to apply the final changes. I don’t love having chapters up in the cloud so I tend to delete them after they’re in the finished draft.

Microsoft Word – I’ve used this since 97 but the primary versions I’ve used are 2002 (XP) and 2007/2010. I’m one of the people who grumbled about the redesign of the menus into these pallets or tabs or whatever you want to call them, but the truth is once you get used to them, they’re actually easier to use and better laid out than pull down menus ever were. I hate to say this, but the Word format, even though it seems to have a lot of overhead, actually saves documents that render consistently to eReaders and in general has the most robust formatting options for equations, integrating images, etc. Sure if you wanted to lay out your book in something like Latex or Sigil it might look a tidge more professional (maybe) but that’s no way to write. Some self-publishers will insist that using Word will make your book look unprofessional, but the truth is a lot of that can be overcome by testing your book out and paying attention to the advice of other writers. I don’t like that I have to keep buying Word, particularly these cloud based subscription models like Office 365. Sure, it hurt to spend $85 to get a single license copy of 2010 for my new laptop, but it’s been worth it so far.

There are probably others I’m forgetting including what I’m pretty sure was an old version of Word Perfect on a old DOS machine I used to use (green text on a black background and everything). What’s your favorite program to actually write in?

Leave a comment

Filed under Trube On Tech, Writing

With XMplay who needs iTunes?

XMPlayPortable_128I’m a simple guy when it comes to music. I want a music player that stays out of my way, doesn’t try to sell me something and doesn’t take up a lot of my desktop. I want it to be able to play any music format I come across whether it’s MP3’s, FLAC’s, APE’s or game music files and convert them into something more useful. And I want this music player to be portable, able to be stored on a flash drive or even a floppy disk, never ask me for updates and be easy to install and customize.

XMplay is all this and then some.

Windows Media Player, iTunes and even the Amazon Music Player want to make a music library for you. They want to scan your hard drive, find all your music files, and report that information back to the mother-ship. They want to sell you new tracks, download tons of background files, and be constantly running in the background even when you don’t need them. They take up 100’s of megabytes of hard-disk space and infiltrate deep into your registry. They are difficult to customize, extend, or get rid of when you don’t want them anymore.

Music playback should be simple and ubiquitous, while still being powerful.

XMplay is easy to install, just download the ZIP file and extract it on your hard drive. The default installation with base plug-ins is 433 KB. For those of you who haven’t seen the kilobyte size in a while that’s about an eighth the size of your average photo from a halfway decent camera. Or about one two-hundredth the size of iTunes. The base installation plays MP3, OGG, WAV, CD-Audio and about a dozen more audio formats.

Personally, I’m not a fan of the default skin, but that’s okay because I can change that:

XMPlayPortable

Before XMplay I used Winamp, and the skinning community on the XMplay site has skins that emulate the appearance of the common Winamp versions.

wamodern

All you have to do is download the skin, and extract it in the same folder as XMplay. When you start up XMplay right-click on the player and select the ‘Skin’ menu to change the appearance of the player to any of the installed skins. There are dozens to choose from and you can even download tools to create your own. Some skins have compact modes which can be toggled by double-clicking on the player.

CompactPlayer

With the playlist hidden you can control playback with just the bottom bar.

Additional audio formats like MIDI (common to composer programs like MuseScore and Finale SongWriter), FLAC (a lossless high quality audio format), APE (the music format for monkeys) and Shorten (SHN, used for old concert files can be added) can be added with plugins. In addition to its own set of audio plugins, XMplay supports many plugins for Winamp like SHN. Again installation is as simple as downloading the plugin from the XMplay site and extracting it in the XMplay folder.

My recommended list of additional plugins:

  • MIDI – Oldy but a goody and be used to convert some older game sound files to music you can burn.
  • FLAC – A lot of game bundles offer both MP3 and FLAC downloads. FLAC is high quality compressed but lossless audio and for real audio aficionados offers a better sound than MP3.
  • RealAudio – Again some older files, but I bet you have some hiding on one of your old computers, and now you can play it again without having to dig up the old RealPlayer software.
  • Apple Lossless – A lot of common Apple formats covered here.
  • AAC Plugin – AAC/MP4 playing audio from common video formats.

You can see which audio file formats the player can play back by right-clicking, selecting ‘Options and stuff’ and selecting ‘Integration’ from the selections on the left:

Integration

With all of this installed, and maybe a couple of skins and additional plugins, we’re still clocking in at under 2MB. And the best part is if you get a configuration you like you can take that folder, copy it to a flash drive, and take it to any computer you connect to. Throw a compilation of your favorite music on the drive as well and you are set for life.

Here’s all I’m saying. We all are used to the name brand software, just like with a lot of other things. We don’t investigate and make other choices because this is just what everyone does. How else do you explain how Internet Explorer has been one of the dominant browsers (at least until Chrome) for all these years? But with minimal effort you can get something that is actually better, and will stay out of your way so you can listen to music rather than manage it.

Leave a comment

Filed under Trube On Tech

The Joys Of Technical Writing

If you are a professional engineer, particularly one with a known interest in writing like me, you may be assigned to one of the more dreary forms of writing, technical writing. This can be anything from a project proposal, to a quick start guide, standards document, or the dreaded user manual.

I’m in the middle of drafting one user manual and updating another for my job.

But writing for a technical audience doesn’t have to be boring, and a lot of the tools that may work for your fiction writing project can be applied to your professional life as well. Here are a few tips and tricks I’m trying as I work on this latest “book”.

1. Keep using word count goals – Since writing a technical document can often involve a lot of external work, like taking screenshots, testing procedures, and fixing bugs, this word count goal may be more modest than you think. 1000 words of technical writing may be the equivalent of 3000 words of fiction writing for you. Whatever the ratio is, it’s easier to feel like you’re making progress against what can seem like a gargantuan undertaking if you keep these micro goals.

2. Don’t work too far ahead – There might be a temptation to use your afternoon taking screenshots and planning out the next chapter, rather than continuing to write. Sometimes this is fine, as it gives you an idea of the direction of your next section. But if you want internal consistency in your screenshots, and to show your procedures as a logical progression of one step to the next, you may be better off taking screenshots concurrently with your writing so you don’t have to do as much rework. This can seem disruptive to the writing process, but it reduces the amount you’ll have to go back.

3. Tell a story – If the piece of software is used to build something else, create an example project and use that project throughout the entire manual. Show how each chapter adds features to your project along the way. Be sure to explain everything you think needs explaining, but provide a context for that feature as well. It’s the whole showing not telling thing.

4. Have a little (appropriate) fun – I’m a math geek if you hadn’t guessed so you’ll see more than a few apt puns in example names in my technical writing. A common programming trope is the “Hello World” program or variable names of foo and bar (though these may not be appropriate in all professional contexts). As long as these puns aren’t excessive, and don’t detract from the overall usefulness of the document, they can be a way to make the writing more fun for yourself.

5. Have something else to do – As a software developer there are always bugs to fix and features to tweak. It doesn’t hurt to have a few of these in your back pocket to work on when you really don’t feel like writing. If you have a deadline, be sure you meet it, but make sure you get your brain thinking in different ways too. It will improve both aspects of your work. If you don’t have additional projects of your own, see how you can help someone else (again caveat emptor as your work environment may vary in terms of your freedom of development time).

6. Outline and write sequentially – A user manual will often be referred to in any order, so it’s important that each chapter be able to stand on its own. An outline will give you a sense of what other chapters to reference that are relevant to your topic, and writing sequentially allows for the continuing narratives of examples and back references to topics you’ve already discussed.

7. This is a living document – A fiction writer is used to the idea of revising and revising until something is done. Technical documentation (if it’s to be useful) is never really done. It has versions and revisions like software, and should be periodically updated. That’s why it’s important to have a structure you and others can follow so finding the sections to update is much easier.

What kinds of writing do you do in your professional life?

1 Comment

Filed under Trube On Tech, Writing