Wednesday, September 24, 2014

Skills My Students Value

In the last two weeks, several of my students have mentioned that employers expected them to know macro programming for Microsoft Office applications, including Word, Excel, and Access.

I've written many times that students should aim for at least intermediate knowledge of Word, including the concept of macros if not coding skills. However, the inclusion of Excel and Access was a little surprising. Maybe it shouldn't be, since what made Lotus 1-2-3 the "killer application" for PCs was its macro abilities. WordPerfect also had exceptional macros back in the DOS days, helping it become dominant for many years.

Note: I'm not sure I'd call the VBA code in Access "macro" coding, but it is Visual Basic and often the code used in workplaces exists in snippets. I won't post my gripes with most of what I've seen done in Access, but I have a long list of bad habits I've seen in workplaces. Still, employers use it for small projects and it isn't a bad system — more often a "badly used" system.

Student groups have asked if I might speak to their members about macros, since employers want these skills. That tells me that our schools should be teaching these skills, starting as early as possible.

Why don't we teach the real power behind Office? Because teachers (and most other users) have no idea what is possible with macros.

Over time more and more features once possible with macros have become integrated into applications. But, macros are still a great way to do more with applications.

I cannot imagine an engineer or draftsman not customizing AutoCAD with LISP scripts. Or a serious Web developer not automating pages with JavaScript. Learning macros opens the door to other forms of coding.

Wednesday, August 6, 2014

Learning to Code: Selecting a Language

If you decide that learning computer programming offers students much needed critical thinking (and job) skills, then the next question is which language(s) should be taught to which students.

Computer programming changes, so any opinion I offer will be bad advice in a few years. What I offer below are my views at this moment, and they reflect my biases as a programmer.

Suggestion One: C

It's not flashy, it's not trendy, and it isn't the first choice of most programming courses. Yet, C is the language of operating systems, programmable controllers, and a lot of portable logic. When you learn C, it's easy to transport those skills to almost any modern language.

C compilers are free, there are many integrated development environments (IDEs), and lots of resources are available for learning. You can code C in any text editor, too, and compile from a command line.

For OS X and Windows, I suggest using the tools from Apple and Microsoft to learn C, C++, and either Objective-C or C#. Microsoft offers VisualStudio Express for free, as does Apple.


The LLVM Project offers great C/C++ tools, but they do require some skill to install and configure. The GNU Compiler Collection is older and better known than LLVM, serving as the foundation for many open source projects.


If you do opt for open source tools, the two most popular IDEs are Eclipse and Netbeans. Originally intended for Java development, both IDEs offer good C/C++ programming experiences. And, if you feel the need to learn Java, these are the tools professional Java developers prefer.


Suggestion Two: JavaScript

This won't be a popular suggestion among many programmers, but JavaScript remains an important language on the World Wide Web and its basic syntax teaches skills that transfer. With Apple's recent announcement that JavaScript will replace AppleScript as its primary operating system "scripting" language, there's one more reason to learn the language.

JavaScript (officially ECMAScript) has the benefit of working in all major browsers, on all major computing platforms. If you have a text editor and a browser, you can learn to code JavaScript. It's free and it is everywhere.

Why would I suggest JavaScript, an interpreted language with some annoyances? Because if you want to develop modern Web apps, you will end up using JavaScript.

There are many tutorials on the Web for learning JavaScript, and dozens of good free books.


Other Possibilities

I still like BASIC dialects for teaching programming to young students.


Visual Basic for Applications (VBA) in Microsoft Office is still valuable, but falling out of favor as more companies disable macros. I understand the security concerns, but VBA makes Excel and Access what they are. Complex Word macros in VBA are also part of my life.

For younger students, MIT still offers versions of LOGO that are fun.


Apple's Swift looks promising. It's still not finished, but there are free books and guides online from Apple.

Java is fine, and as mentioned above the tools are free.

What about Ruby, Python, or PHP? Scripting languages offer instant satisfaction, a lot like BASIC did in the dark ages of home computing. If you have to choose one, I'd be torn between Python and Ruby. Most of my students learn Python and use it with R for statistical analyses.

I still believe Pascal was great for learning. And my wife and I both learned Fortran in the 1980s.

There are hundreds of computer programming languages out there, but in the end the tools provided by Microsoft and Apple tend to dominate the industry.

Wednesday, July 16, 2014

New Play: A New Death World Premier

This is why I haven't been blogging a lot this summer. I've been working on several new plays… 


A NEW DEATH

A World Premiere

By C.S. Wyatt


Directed By Kaitlin Kerr
Assistant Directed By Sarah McPartland



July 18 - July 26
The Grey Box Theatre
3595 Butler St, Pittsburgh, Pennsylvania 15201


TICKETS:

Featuring:

Andy Coleman 
Chelsea Faber
Hazel Carr Leroy
Eric Leslie 
Tonya Lynn 
Sarah McPartland
Jared King Rombold 
John Henry Steelman

Wednesday, June 25, 2014

Lost Promise

What happened to the blogosphere? Why is the USENET dead? How did Yahoo and Google groups (listserv-like services) wither so quickly? Why is podcasting struggling?

The answers to some of the above questions are simple:

  • USENET was killed because ISPs feared being sued for the amount of illegal files being distributed via the newsgroups.
  • Groups and listservs died thanks to a mix of spam and inconvenient delivery methods. Who doesn't stuggle to manage a flood of email as it is, without mailing lists?
  • Forums require frequent visits, and the "loudest," most annoying members drive the curious and open-minded away. Forums are now for true believers… arguing about ideological purity.
  • Podcasts and music downloads have lost ground to streaming audio and audio-on-demand services. It's still "podcasting" in a form, but through larger services like iHeartRadio and TuneIn.

Blogging and forums are the saddest loss, to me, though I miss the USENET programming newsgroups, a lot.

I've been watching Medium and other blog sites struggle, despite seeming like good ideas. I dislike Facebook and the click-bait in my stream, but I dislike the Google+ layouts even more. Nobody I know uses Google+ and the Groups/Communities there and on Yahoo have fizzled.

Slashdot, my favorite website, has said traffic dropped precipitously over the last year. Tom's Hardware dropped, too, not even bothering to fix a broken iOS reader app.

Every Slashdot discussion on operating systems or programming descends into useless screaming. That was always a problem, but you could filter the idiots. It is now so bad you can't find the good technical arguments. Looking for information on Swift programming, Apple's new C#-like language, what I find instead of useful information is diatribes. The USENET groups on coding would have featured discussions of the compiler choices, why LLVM works well (or not), and what the implications are of optimistic parsing.

The coding blogs? Dead. The coding listservs? Spammed to death. The IRC forums? More bots…

Remember when the Internet was supposed to create and expand "community" or something? Instead, it has reinforced tribalism (ugh, lousy word) and cliques of like-minded ideologues, while the generalists and moderates walked away.

The good news is that for information I'm back to attending real, physical meetings with other programmers to learn about tech. We don't even bother to update the group websites anymore, though.

The fading value of online communities might lead to… real communities.

Of course, things could change in an instant. Facebook could revive discussion threads. A new alternative could emerge. Google+ could finally be made useful.

Whatever happens, I doubt we can predict how we will communicate and convert information into knowledge five years from now.

Monday, May 19, 2014

What's Next? Who Knows?

Like most educators interested in technology and pedagogy, I have followed the digital revolution down many dead-end paths. We want to believe in publishing (and sharing) for the masses, but I'm less convinced today than I was twenty years ago that the masses want to share serious ideas.

The masses want to share kitties, their latest meals, breaking celebrity gossip, and photos they will regret sharing almost as soon as the images enter the data stream.

Blogger. Facebook. Twitter. Tumblr.

I have five semi-active Blogger-based blogs. My wife and I have a less active writing blog. I have Facebook pages for the blogs, Twitter feeds, and two Tumblr accounts.

The traffic to the blogs is in decline, from thousands of weekly visits to a few hundred. The Facebook pages are also trailing off, as Facebook seeks to charge for promoting content.

Twitter just annoys me, with an endless stream of automated tweets. I do have one account from which I follow real people posting real, original Tweets, but the other accounts are my blogs Tweeting to other blogs, automatically. It is comically absurd.

I miss the old days when the places I visited online were populated by individuals sharing ideas. Not ideology, either, but genuine questions and suggestions. Yes, these were academic forums, generally, but anyone could join and feel like it was a community of learning.

I posted to USENET groups in the 1980s. You can still find my post from the 1980s in literature and technology newsgroup archives. I belonged to CompuServe, was SysOp of a Fidonet BBS, and tried every online "community" system to come along. Their life spans have gotten shorter. The only Listservs I still read are for academics, about 20 years behind the times.

Friendster. MySpace. Yahoo 360. LiveJournal. Yahoo Groups. I checked in on Yahoo Groups, and discovered that groups with 1500 posts a month in 2003 have none this year. I left a few years ago, leaving groups I founded to whither away.

The shifts from text, to proprietary graphics, to HTML, to mobile. Endured them all.

RSS readers. Podcasting. Niche tech, at best, though streaming, on-demand media builds on those ideas. I loved RSS, especially during the brief time that Apple included RSS in its mail and browser applications. Google Reader was fantastic, too. I still like RSS more than visiting sites directly… so why do I forget to use my RSS reader? It's just not in front of me, so like millions of others I have largely abandoned RSS feeds.

Podcasting, which uses RSS feeds to announce new episodes, was a great idea. The problem is, I don't listen to podcasts anymore. Not in iTunes and not in the Podcast application on my phone. No, I listen to streaming radio, which does include some podcasts. Another good idea, the faded away.

SecondLife? The only thing less engaging than LiveJournal. Minecraft? Really? Sorry, this too shall pass... Thank goodness. Let the graphical versions of Internet Relay Chat fade away… it won't be a huge loss.

Yes, I loved IRC and was a regular in several tech and literature channels. And IRC is, for the most part, gone. Right along with Yahoo Chat Rooms, ICQ, MySpace Chat, and other interactive spaces. Okay, they aren't entirely dead, but close enough.

But, I'm still following the meandering tech paths.

Forgive me if I'm not convinced Medium is the Next Big Thing. But, I did create a Medium account, because other writing and digital humanities professors are doing the same. Likely, it's another dead end, but you never know when something will explode for a short time.

Hardware changed online spaces. When you had a computer, sitting at a desk and chatting with groups made some sense. But now that we use our phones and tablets constantly, we interact in different ways. Streams have displaced rooms and forums.

I've made the journey from Apple and Atari, Commodore and Sinclair, to the IBM PC, the Mac, Windows, back to Mac and on to the iPad. Most of my interactions online are probably via a phone, today. That's not a device for reading long documents or composing long blog entries.

I have no idea what's next. But, I'll keep trying new things… just in case.
Enhanced by Zemanta

Wednesday, April 2, 2014

Tools Shape Writing... So I Use Many

Use the best tool for the job.

It's a simple saying, and one many writers ignore.

Paper and pencil, while often my preferred tools for writing, have not been the best tools for writing for at least a century. Typewriters are better, if you are concerned with speed and legibility. Typewriters with correction tape gave us another reason to prefer the mechanical to graphite sticks and wood pulp.

I remember my sense of awe when I saw the earliest word processors. These were typewriters with memory, and sometimes a disk drive. Not quite computers, but certainly something more than a manual typewriter, I wanted one… but never owned one. Instead, I upgraded from a blue Smith Corona manual typewriter to a brown Brother electric.

Even after receiving an early home computer, a Commodore VIC-20, the typewriter was the best device for writing quickly.

My first real computer, a Tandy 1000, included a simple suite called DeskMate. I used the text editor to write stories, saving them to 5.25-inch floppies. I later bought AlphaWorks (which became LotusWorks) and used that suite for many tasks. I also tried WordStar, but found XyWrite better — and you can still buy Nota Bene 10, which is based on XyWrite. Finally, moving up to WordPerfect 4 changed everything, including how I write.

WordPerfect was fast and easy to use. For a week or two, you needed the little cheat sheet template that came in the box, but once you memorized the function keys, anything was possible.

How did my writing change? With WP for DOS, I wrote in chunks that were easy to move about and revise.

I've always created an outline, and then moved back and forth throughout a work to ensure some continuity of thought. With paper, I use legal pads, starting new ideas on new pages. Shuffling yellow pages of paper is okay, but tedious with a longer work.

WP let me indulge in the over-writing I do so easily, too.

Using page breaks and my own notations, I could organize an online, over-write each section, and then reorganize a story or paper endlessly. And write I did. I still have documents I wrote in high school and college, having migrated them from DOS to Windows, and then to my Apple systems.

I can't explain how much WordPerfect changed my writing habits. I upgraded from 4.x to 5.x, and to the 6.x version. I always preferred WP for DOS, too, not the Windows version. I did have a copy of WP 3.x for the Mac, and was saddened by the loss of WordPerfect for other platforms as Microsoft came to dominate… everything.

Yet, for all my love of WP, I have always used a mix of tools for writing.

On DOS, I did use Microsoft Word, and it wasn't a bad program. I also used a number of specialized text editors. But, my final manuscripts were always WordPerfect files, through college and well into the mid-1990s.

Today, my "chunk" writing is supported by a long list of tools, including:

  • OmniOutliner Pro for planning;
  • Scrivener for writing drafts of stage and screen scripts;
  • Final Draft for final formatting of screenplays; and
  • Microsoft Word for stage plays and other manuscripts.

I also use Apple's Pages, Movie Magic Screenwriter 6, Dramatica Story Expert 5, Contour, and few other writing tools.

Outlining in Word? Get serious! You can't outline in Word like you can in OmniOutliner. There's no comparison. None.

Scrivener for final manuscripts? Sorry, I absolutely prefer to write all drafts in Scrivener, but no editor or director accepts Scrivener projects as final output. Yes, Scrinener can export Word, ePub, PDF, and Final Draft documents, but those always need a few little tweaks before sending them along to colleagues.

I don't write drafts in Final Draft or Word because I can reorganize a document much faster in Scrivener. There's some aspects of Scrivener I dislike (too many options buried in too many confusing menus), but it's perfect for moving an outline to a manuscript and then moving chunks around.

Writers, let's be honest: when moving things was difficult, and when revision meant hours of retyping a text, we settled for "good enough" at times. Today, there's no excuse not to revise and improve a manuscript.

I've been asked why I don't live in Final Draft or Screenwriter, which could do much of what I do in Scrivener. The screenwriting applications lack the easy folder and binder metaphor I like in Scrivener. Moving things in Scrivener feels natural to me. Plus, Scrivener holds all my notes and random chucks of text nicely, while not including those chunks in the final export to Word or Final Draft.

While I still miss WordPerfect, and I do still use paper and pencil for a lot of my writing, using the best tools for various stages of the writing process helps me produce better scripts.

We often become trapped in one tool, unwilling to learn others or to experiment. I still try new tools and seek out better ways to compose my words. I encourage other writers to the same. What works for me might not work for you.
Enhanced by Zemanta

Wednesday, March 26, 2014

Computer "Feedback" as a Writer

As a writer, I use technology to help me navigate past the gatekeepers of scriptwriting. Few people realize that when you send a script for stage or screen to any production company, the "Readers" (a job title) tend to come from MFA and Ph.D. programs. These aspiring writers earn a living determining what scripts move to the next stage of consideration (pun intended).

The "Coverage Sheet" used by film and some theater companies represents a grading rubric. If a work adheres to the formula, it has a better chance of being advanced in the process. I'm not claiming that the readers know best, but I am admitting that you need to get to the next step or your work is dead.

Based on feedback from producers, I developed Word VBA and AppleScript macros to analyze my scripts and mark potential red flags.

Some of the "rules" my macros mark are mistaken knowledge the readers insist is accurate. We know they are wrong, as writing instructors, but that does not matter to me as a scriptwriter or playwright. Readers repeatedly mark sentences like "The rose has wilted" as a passive sentence, instead of a "perfect" verb tense. My macros mark verbs to avoid, based on such feedback. The complete list of words and phrases I remove totals about 60 strings in the macro.

Other rules they enforce? The 25-word maximum sentence. The 4-line narrative block. The readers insist these "rules" represent the "right" way to compose a script. After running my macros, I know what to "fix" for the overworked readers so my script might move ahead.

Does this method improve my writing? I doubt it. But, with several productions underway, it seems to help me get the desired result. Adhering to the rules, I have plays on stage and royalty agreements signed… however mercenary that is. (Considering the topics I address, I'm fine doing what I must to get social commentary advanced.)

Reading the conversations about assessment, it's curious that as a professional writer, I find that software helps me follow stupid "rules" to earn the "grade" I want on the coverage sheets. While I am arguing to my students that we should be encourage new approaches to writing, I'm embracing the same approach to writing that they learned for the SAT or ACT essays.

Cracking the code of the rubric seems to be lifelong pursuit for some writers.

Wednesday, March 19, 2014

Using a Database to Manage Writing

I encourage writers, including my students, to imagine creative ways to use technology to support writing. Many aspiring writers keep logs of what they have written, to where they have submitted works, and when works have been published or produced. 

My magazine columns for one publisher are listed in a basic Excel spreadsheet. Sure, this is using the system as a database, but a list of almost 100 columns doesn't require a database. The spreadsheet column headings are: Column Number, Date Submitted, Date Published, Title, Slug, and Notes. The publication dates trail the submission dates by a month to three months. I thought about adding a "Word Count" column, since I'm paid by the word, but the columns are consistently 1000 words, give or take a few. 

Tracking scripts, however, requires more than a spreadsheet. That's because I might have nine or ten works submitted at any moment. Acceptance or rejection might come six months to a year after sending a work to a production company. Many producers prohibit multiple submissions of a work, so you can't send a script to three producers and hope for the best. As soon as a producer does reject a script, though, you want to send it out to the next possible producer. 

FileMaker Pro "Manuscript Tracker 2.0"

Scripts have complex contractual agreements that make traditional publishing look simple. Yes, there's an author's royalty, but there are also residual payments to the first production company, residuals to any dramaturg, flat payments to designers, and more. 

When I said that you need basic algebra skills to make sure royalties are accurate, a colleague laughed. How hard can calculating a percentage of ticket sales be?

The traditional royalty is 5 percent of 90 percent of the weighted average ticket price, assuming an 80 percent box office sales through (whether the theater fills 80 percent of seats or not). Remember that "subscribers" and "educational" ticket holders pay lower admission rates, too. You need to know the ticket prices, the number sold at each face value, and other variables. 
Other royalty rates include a flat percentage on gross ticket sales, a percentage of net ticket sales (which leads producers to claim all sorts of expenses), and a flat fee per performance. There are mix-and-match approaches to these royalties, too. I like to have a guaranteed minimum per show, but also the five percent royalty on gross, whichever is greater per show. 
If a show is being performed at more than one venue, and that is every playwright's dream, you have to track these agreements for every performance. Or, if you get lucky, your agent and publisher handle the royalty collection. 
Because I assign residual rights to others, including the first production company to develop a work, I have to track what I am due, then calculate how much of my royalty must be shared with others. Again, too much to track (for me) on paper. I'd lose the paper, anyway. Instead, I have a table of residuals by work. 
My database design links works to producers and publishers. It then links those business relationships to contract terms. There's more, but overall the system makes my life (and my wife's life) much easier. With a few mouse clicks or touches on the iPad, we can see a summary of all the complex terms and agreements associated with a script. 

Technology… letting me focus on writing instead of the business of writing. 

Enhanced by Zemanta

Wednesday, March 12, 2014

Using a Spreadsheet to Write

Beat sheets, outlines, storyboard, and other tools help me organize my thoughts when writing. Too many writers stick with word processors as their sole "digital tools" when many other great applications exist — and "applications" for various applications, too.

How can you use a spreadsheet to write? And why might you try this?

A spreadsheet's columns and rows, a reflection of the ledger books they replaced, make an ideal way to track your pages, words, minutes, or other metrics. My writing spreadsheets range from simple checklists to complex sheets with calculations reflecting how much I need to cut or add to parts of story. (Scrivener's outline view is similar to this, so allow me to plug Scrivener yet again.)

My basic story sheet resembles the chart on our website page "Plot and Story" [http://www.tameri.com/write/plotnstory.html].

Some plot points should be reached at specific pages, especially early in a story, while others should be reached within ranges of pages, as a percentage of the overall work. Using a spreadsheet helps me track these personal ideas.

For example: I like to have the "perceived problem / challenge" and the "real problem" within the first ten pages of a 90 minute screenplay or stage script. In a book, I might want those within the first "ten percent" of the work. Express each plot point in 25 words or less.

Major Beat 3 -> Perceived / Immediate Challenge -> Bomb ticking in a subway tunnel
Minor…
Major Beat 4 -> Real Challenge -> Corrupt leaders creating the chaos to gain powers
Minor…

Using Excel or another spreadsheet, I include columns reflecting page counts, minutes, real time, literary time, and more. These metrics help me pace my stories.

Do you have a checklist? If not, create one. Every creative writer using narratives should have a beat sheet, because it forces you to recognize when things are missing from a story.

Wednesday, November 6, 2013

The Blackboard Bungle

Earlier this semester, there was a "glitch" with the Blackboard shell for my writing course. I had spent hours and hours uploading content, organizing the shell, and trying to perfect the course. And then it was gone.

The Blackboard team eventually restored most, but not all, of the content.

It was a tough reminder that online systems are, like all computing systems, imperfect. Systems crash. Databases get corrupted. Things go wrong and you need a contingency plan.

The Blackboard bungle left my students frustrated and has cost me more than few hours. While I had copies of all materials, they were scattered about my hard drive. I didn't want to duplicate files, which I thought would waste space. I sometimes used "links" (aliases) to original files, as a compromise.

On my computer, which is backed up to three external drives and mirrored to another computer, I now have a directory system that aligns with my Blackboard shell. There are folders for each weekly unit, a folder for all assignment prompts, and a folder for additional readings. There are now duplicates, but Word documents are only a few hundred kilobytes. If I use a file for a course (not a specific section of the course), there will be a copy in the course directory tree.

In an emergency, I can now upload the items to recreate a course shell.

I've also exported the shell for the course that choked, which I will do again towards the end of the semester. Yes, the exports are huge compressed files with complete directory contents, but it is easier to re-import a shell than to upload the files.

My students rely on Blackboard in a way I can't imagine doing. They trust it to have their grades, assignment files, and other materials. When things went sideways, I was stunned that some students don't keep copies of their work. The good news (for them) is that I do download all student files to my system — and I make backup copies.

Teaching with technology means remembering that tech fails.