Monday, May 27, 2013

Profile: Scott Hamilton, Olympia programmer

                Olympia-area programmer Scott Hamilton has programmed both as a career and as a hobby for the last 15 years.
                Hamilton, 34, started working for Imagesource in Olympia, WA when he was 19 and has been with them ever since, helping provide the company’s paperless office service.
                Hamilton said he likes working on theoretical projects playing with languages for his personal projects.

                “I love programming, so it’s a hobby, and it’s a job,” Hamilton said.
                As a youth, he wanted to become a professional baseball player, golfer, or programmer, Hamilton said. He wanted to make games, because he liked programming the music and graphics for games.

                His first “real job” as a computer tech was upgrading Windows 95 for The Cheese Plate, and serving cheese, but it was not long before he moved on to Imagesource.
                At the time, in 1998, he was pursuing a technical degree at South Puget Sound Community College. One of his classmates was the owner of Imagesource. Hamilton said the owner was so impressed with Hamilton, who was tutoring others, that he hired Hamilton.
                Hamilton started working a state contract with the company putting a Visual Basic interface on a database, using an in-house framework. After that project, he decided to stick with the company. He has been working in the company’s paperless office service ever since.
                The company provides a paperless office service that involves scanning paper documents to digitize them, creating electronic forms to avoid paper in the first place, and putting together the workflow system. The role he now plays mostly involves customer interactions, mapping their business requirements to pass along to others on the team.
                Hamilton said that because of this role, he does not get to do a lot of programming at work anymore. “The programming is a treat, because that’s what I like to do,” he said.
                Hamilton said he enjoys designing languages and studying algorithms and has been able to apply cryptography at work.  He said he does not enjoy doing web presentation, but does enjoy the back end, like parsing and compiling text.
                In a recent personal project, Hamilton collaborated to create a video game in which the player pilots a space ship. He designed a basic assembly language for the ship’s computer, what is equivalent to a Commodore 64, and used Javascript to create an interpreter for that language.
                Hamilton said he enjoys learning languages, and has learned many over the years. Python is his favorite, he said, but he “appreciates” Javascript. “It’s a pretty awful language, but if you cut out all the bad parts and leave the good parts, it’s not too bad,” he said.
                If Hamilton could talk to his 19-year-old self, he said he would tell himself to pay more attention to resumes and references. He said part of him wishes he was “doing more sexy things in the programming world.”
                “Every time you do a job or project, think about it like it’s going on your resume, so you can later go back and demonstrate what you did and the relationships you formed,” he said. He said this is important not only to show potential employers, but also to show potential clients and partners.

Thursday, May 16, 2013

Here is a little clip I made to practice the basics of recording.

This is the sound of my "favorite" place on campus.  Really, my favorite place depends on the whether--whether I'm there or not.  Just kidding--sort of--but it does depend on the weather.

Anyhoo, I picked the press room.  Give a listen, or don't, actually.

Listen to Nathan Peters' recording of the same place; it makes me giggle.

Okay, here's mine, but only 'cause I have to include it.

VoxPop Assignment

Wednesday, May 15, 2013

"Through the Window" multimedia assignment

It's a touch long, but this slideshow cracks me up every time, especially right in the middle. Ha! I kill me!

Monday, May 13, 2013

Blog review: "Martin's Programming Blog"

Martin’s Programming Blog” is chock full of posts and discussions that a programmer looking for solutions might find useful.

A quick look at the archives grouped by tags reveals the author, Martin Trojer, writes mostly about Clojure.  He also puts a good deal of writing into F#, JVM, and .NET.  He writes about quite a few other topics as well, mostly languages.

The minimalist home page simply listing hyperlinked post titles shows Trojer posts pretty faithfully once a month, and from what I can tell, these are dense and focused posts.  These posts sometimes spark discussions among his readers whom often have further questions or experience to share.

In one post, Trojer shared a hack to his Chromebook for using a Chrubuntu developers environment (Ubuntu for Chrome).  Giving a positive product review of the Chromebook, he recommended getting an SD card and using a few special methods for installation and use.  All questions were answered by Trojer or another reader. And, all the readers seem to be on the same page (pun intended) with the same valence.

In another post, Trojer critiqued what he said are thetraditional business planning strategies when they are used within software companies. He said a software company’s main assets are its programmers and innovation, not its products per se, but a traditional model that tries to make projects adhere to a strict schedule run contrary to good programming an innovation. He said a company should ask whether it is primarily a software company or a service company, which will inform it of whether it should plan and implement with more flexibility or not.


As a note about the blog as a blog, I'll say it is quite minimalist, which I kind of appreciate in this case.  The organization is thrust to the fore, so it is easy to see what is there and to find what you might want.  That said, it could use a little more graphics.


Maybe Trojer wants to avoid overuse of graphics when they don't lend anything useful to the writing, but, in case you haven't noticed, I think you can always find a graphic that will make your writing more interesting (and, adding interest is useful), even if it's not super-relevant (and, mere juxtaposition creates meaningful connection, btw).
In an interesting choice, Trojer left out an about page.  I mean, it is pretty clear what the site is about, and you get somewhat of a sense of who Trojer is through what he writes about and how he writes it.  I guess, in accord with the structure-forward design, Trojer probably wants the content to speak for itself, but, still, I would like to know a little more about him and his thoughts about, and intentions for, the blog.  I mean, sure, good code is best defined by how you can use it, but good code also has commenting, a meta level as a point of entry... The metaphor I'm using here is a bit of a stretch, but it makes sense, right?

Thursday, May 2, 2013

Blog review: "Steve Hanov's Blog"

4901_1179125081037_3441025_nSteve Hanov’s Blog is a grab bag of content produced by an accomplished professional programmer, Steve Hanov.

Canadian Hanov has a Master of Computer Science from the University of Waterloo. He has worked at a number of companies, including Research In Motion. He has developed a number of pretty neat applications, a lot of which have to do with processing text, voice/audio, and image.

A lot of Hanov’s posts are fairly technical and immediately applicable, but still quite informal and human. You can tell what he is posting is derived from experience in the field (because he generally tells you about the context that gave rise to the idea or app he’s sharing).

He shares a lot of work and useful ideas, but also some quirky projects and humor. He started a comic strip in Imprint, the University of Waterloo student newspaper, which he continued and archived on the blog.

One very abstract post on using visual data structures may be useful to me in thinking about how to analyze algorithmic trading patterns as I test them and compile a shit-ton of data. Maybe it won't be too useful, though. We'll see.

In his most recent post, he shared what he has learned about operating a Canadian business that sells software to Americans. At the end, he asks his readers to share their tips, a good blogging practice. 4901_1179125121038_2374954_n

As for his style as a blogger, I like the variety. He offers a variety of content (from hardware to programming to accounting to humor), and he switches up the length and depth of his discussions as warranted.

This allows you to alternate your level of engagement. I think this, combined with the useful content and easy tone, encourages both staying on the site longer and returning for more.

One post was almost fitting for a meme it was so short and to the point. He chose a font style and a larger font size reflecting this.  In it, he breaks down why it’s important to think before you program about whether you will be handling “o, 1, many, or ‘a zillion.’”

Blog review: "Ken's Programming Blog"

"Ken’s Programming Blog" takes the tack of the informative older sibling or mentor. Kenneth Parker shares tools and tips for using code as well as no-nonsense advice for developing coders.

In some posts, Parker demonstrates an expert knowledge, yet he doesn't share much in his about section about his credentials. Sometimes he alludes to his role as a decision-maker in his company Beverage Metrics.

His post on whether you need a degree to be a programmer seems useful in creating a self-directed path of education to supplement and outpace a formal path of education. Here and elsewhere, his "down and dirty" "here's what you need to know" attitude is very helpful. I appreciate it.

Many of Parker's posts are opinionated in some way, which is fine, but like I said, he doesn't do a great job establishing his credibility, so it works against him often. At times, the way he expresses and supports his opinion actually undermines his credibility, IMO.

For example, Parker's argument to stop using privates is a little thin. He may be totally right, but I'm saying he's not convincing. The argument basically boils down to some underlying frustration he has with someone or some people he is working for/with whose use of privates makes his job harder. He slips into an oppositional first person voice (e.g. "So let your interfaces handle communication and stop trying to force good developers from solve problems with your solutions.") He kind of lost credibility there IMO.

And, here's why. He doesn't handle this thinly veiled frustration with a candid sense of humor, poking fun at his bitterness. It's not healthy. You get that reflective darkish humor in other blogs by professionals who are opening up the "human side" of programming, and it lends to enjoyability and trust.

Parker addresses programmer burnout in more than one post, and I think I know why. That said, he seems to have a genuine concern for programmer burnout, perhaps due to his personal experience with a coworker "losing it."

He does have a sense of humor though. Uses religious parody to poke fun at programming dogmas and crises.

Visually and audibly, the blog is uninteresting.

Now, here's a note on English. I’m really going to show my underbelly here. It’s one thing to have typos and missed punctuation etc. And, it’s one thing to have a casual or culturally specific style. But, it’s quite another thing to have a sloppy style. Parker has a sloppy style that I probably shouldn’t judge too harshly, but I do. I can’t help it.

I don’t like it, because it shows a character of carelessness, and it usually accompanies a similar carelessness in reasoning. You find that carelessness resonating in his shoddy arguments when his opinion is stronger than his expertise warrants. If he reads, he probably doesn't pay attention, or he reads others with similar sloppy habits. I don't have respect for it. Maybe it is cultural. I don’t like that culture then. Is that bad to say? Can you tell I am a copy editor who has to deal with this kind of thing all day?

Blog review: "Maya's Programming Blog: An attempt at a proper programming blog"

Fair Use?"Maya’s Programming Blog: An attempt at a proper programming blog” is all business. Yet, the author Maya Posch herself presents an incredible degree of human intersectionality through the context of the blog.

Posts are almost exclusively about the technical details of the projects Posch has worked on, a marked difference from other programming blogs I have seen so far.

Working out of The Netherlands, her native country, Posch focuses mostly on graphics and gaming, her most recent post being on using Qt to create an accessible app for a blind client.

She is not very prolific on this blog, but obviously quite knowledgeable.

Amazingly, with only two (well, three) posts for 2012, Posch reported 30k views?! Cross traffic? This blog merits reading in and of itself, and it is linked to her other blogs which I think draw more interest than this wordpress blog of hers.

Posch's main site immediately identifies her as being born intersexed. Here, she introduces associated political and personal struggles. Though she clearly identifies as a woman, she says she was born a hermaphrodite.

She is engaged in a campaign to get Dutch surgeons to perform reconstructive surgery which she says would make her existing sex organs more functional. She has not been able to get the surgeons to perform the surgery, she says, due to an oppressive culture in The Netherlands.

Along with the programming blog and her sort of main PR page, Posch maintains an extremely personal blog and vlog, and a blog called “Jinzou Ningen – Artificial Human Project.”

Through an amateur exploration of reverse engineering of the human body, the artificial human blog shows the intersection of her interests in science and engineering with her personal and political struggles as an intersexed individual. How fascinatingly cyborgian post-structural!

I wonder how much of the serious tone and focus of the programming blog has to do with Posch’s target statuses as a woman and as an intersexed individual. I wonder if she feels like she needs to present herself as more competent to be perceived as equally competent in a masculine-privileged, binary-privileged world and industry.

This experience might be revealed through the ambivalence of the blog title's tag line where "proper" both asserts competence within and compliance with programming discourse, while the doubting "attempt" undermines that assertion either as self-doubt or as a critique of the system.

Looking at her other blogs, she maintains a similarly intense tone and focus, so maybe that’s just how she is. But, that begs the question, doesn’t it?

Blog review: "Coding Horror: programming and human factors"

As is appropriate for a blogger, I will periodically review other blogs of a similar focus. Here is the first of those reviews. coding-horror-official-logo-smallOne of the most-read and most-recommended programming blogs out there is Jeff Atwood's "Coding Horror: programming and human factors."

Atwood says he started the blog in 2004 to track software development as he thinks about it. The blog offers keen insight into the actual working world of programming at a professional level that is not restricted to any one programming language or technology. As the title suggests, he illuminates a human side of programming.

He writes, “Computers are fascinating machines, but they're mostly a reflection of the people using them. In the art of software development, studying code isn't enough; you have to study the people behind the software, too.”

Atwood founded Stack Overflow, a programmer employment resource. He is currently developing Discourse, a forum platform. So, true to the purpose of the blog, a lot of the entries have to do with these projects.

As a novice to the field, I find the integrated discourse of an expert both challenging and useful. Kind of like reading literary criticism as an undergraduate, I find the language is rich with contextualized learning opportunities. That is, there is a lot I don’t really understand, but the unfamiliar becomes familiar and understandable through repeated used by masters of the discourse (and a little google-grease as desired).

The subject matter is given life and texture in a social context. You find a substance lending to a deeper quality of understanding—both through the interactive nature of the conversation the author engages in, and, in the case of Coding Horror, through the human element of the subject matter itself.

It is kind of like learning a language through full immersion in the culture. Rather than encountering the basics explicitly in limited contexts, reading this blog, you immediately encounter what may be the most complex and relevant concepts and issues of the field.

All that said, if I had absolutely zero programming knowledge, the blog would be out of reach to me.

One noteworthy feature of the blog from a blogging standpoint is its use of self-referential hyperlinking. In general, I likey, and I can appreciate the intrigue and quirk of Atwood's vague, yet telling, in-stride hyperlink phrasing (e.g. He hyperlinks the phrase “this ugly American programmer.”). But, when I can’t really tell what most of the links lead to, I start to ignore them. He is probably fine with that, and I suppose that, from time to time, a turn of phrase blued into a new context all its own will still strike my fancy.

The entries are a bit long, but they warrant it. He definitely doesn’t seem to be creating too much filler. [I don't feel qualified to rate this blog at this time.]