About a year ago I took the step of pushing my old pictures and photos page to the side and starting a whimsically named blog named ‘My Programming Notebook’.
Image via Wikipedia
Exactly a year ago from this post, I published my first one: C# Base Class Call after Derived Class Block. I hadn’t quite got the concept of syntax highlighting, so I spent ages trying to colour and format it. It was interesting for me to read back on the discovery of syntax highlighting in my post Improving Your WordPress Code Display With Syntax Highlighting.
I had the ambition of publishing, on average, one post every two days, which in the end became enormously difficult to sustain. In reality, it’s about one every 2.4 days.
In the end, rather than conjure up topics to write about it, I took to writing about anything that interested me as I encountered it. Here are some highlights:
An appreciative fraction of this isn’t really programming-related (so much for “Programming Notebook”) but it has been an interesting learning experience and one I would recommend anyone interesting in improving their communication and technical writing skills.
As Joel Spolsky writes in his post about serious communication skills:
The difference between a tolerable programmer and a great programmer is not how many programming languages they know, and it’s not whether they prefer Python or Java. It’s whether they can communicate their ideas. By persuading other people, they get leverage. By writing clear comments and technical specs, they let other programmers understand their code, which means other programmers can use and work with their code instead of rewriting it. Absent this, their code is worthless.
By practicing technical writing (which can encompass blogging), and seeking feedback, so you help develop your writing style, and your language, syntax and grammar skills. Threads within your documentation can send you on research paths to broaden your understanding of the topic in hand.
Yes, you from Ljubljana, Slovenia.
Don’t think I haven’t noticed you poking around my draft blog postings:
While I’m grateful that you’re showing an interest, I would be curious to know how you’re getting access to the drafts (if indeed you are).
Feel free to let me know by posting a comment below.
After encountering a failure in a service that passed on emails to a mail server, my first point of investigation was to ensure the mailserver itself was functioning correctly.
So first things first, fire up your command shell window. Then start typing:
telnet Mailserver 25
>220 ServerName.domain Microsoft ESMPT MAIL Service, Version x.x.x.x ready at [time]
>250 ServerName.domain.com Hello [IP]
mail from: email@example.com
>250 2.1.0 firstname.lastname@example.org....Sender OK
>250 215 email@example.com
>354 Start mail input; end with <CRLF>.<CRLF>
. <–Press the dot button
>250 2.6.0. <ServerNameaaaAAA000bbbbbb111.domain.com> Queued mail for delivery
And, hey presto! I got an email.
This determined that the culprit wasn’t the mail server, and I learned something new in the process. More info can be found at http://www.yuki-onna.co.uk/email/smtp.html
A comment on one of Mike Duncan’s Blog Postings made me laugh:
You guys are in need of trolls. Every serious blog has trolls and annoying people in general.
I gladly lobotomize myself to fill in this vacancy
Brilliant! Though, unsurprisingly, no-one has offered to do this here!
Although this conjured up Lord-Of-The-Ring style cave-trolls, in blogging terms, a Troll is someone who posts messages with the sole intent of annoying or raising and emotional response.
Fantastic! I’ve been grappling with WordPress’ TinyMCE WYSIWYG editor for two months now, and have grown to dread having to present code within this tool. I even took to performing the syntax highlighting myself, and that meant manually colouring text according to how it appeared in my IDE.
So, I decided to call in the help of a syntax highlighter, and settled upon across Alex Gorbatchev’s SyntaxHighlighter.
So here is the first bit of code (in C#) that I’ve tested out. It’s fairly trivial, and does nothing meaningful. It doesn’t, of course, recognise any of the built-in C# class names, but that would be expecting a hell of a lot!
public partial class Form1 : Form
private void button1_Click(object sender, EventArgs e)
MyKeyPress mkp = new MyKeyPress();
Of course, if you are reading this through a feed, then you’ll not see any of this. So, Just follow the link!
If it’s not too onerous, I may revisit some of my other posts.
Recently, I’ve experimented in breaking up the text in my blog entries with pictures vaguely relating to the content. I must confess that when looking back at them I’ve found the effect to be quite pleasing (particularly Old JamesWiseman.com).
I’ve always intended this to be a notebook for myself, but am always looking for ways to improve my technical writing, and enhance the way I convey and present information. Technical writing is an important skill for any software developer, and the manner you writeinformation is often essential to convey meaning.
For most of my career I have written technical specifications, designed to state the facts as concisely as possible, but writing blog articles like this is very different experience for me.
For a start, the tone-of-voice is different, you have to be conversational and friendly. You also have to assume that people are reading this in their own time, and not time that is being paid for by their company. This places the onus on you to make things a more interesting, and less taxing on the brain.
I did some reading up , and I quite like some of the suggestions I found on How To Write A Blog Post, which include:
- Create a snappy title – Not sure that I’ve really been doing this, so I might try more after this post.
- Hook your readers with a great first paragraph – Good idea. Not sure the first paragraph above is a great hook, so maybe more work required!
- Get into the nitty-gritty. Write detailed blog posts – Hmm, well, I always intended this to be a notebook so I’m maybe shirking this task. However, getting high traffic was never the motivation for this blog.
- Wrap it up. Add some sort of conclusion.
And of course, I’ll add my own – Put Some Pictures In. I tend to do a Google image search on any words vaguely relating to the topic and then put some images that catch my eye into the post.
For the record, the Google searches I did here were “Blog Posts” and “Conclusion”.
I’m almost afraid to write this in anticipation of the spam this might generate.
Like moths around a light bulb, so spam comments appear to have gravitated towards this post: Generate And Sort Lottery Numbers.
I could surmise that suddenly the world has become interested in this blog and that its attracting much more interest, and a lowly article about using C++ code to generate an array of national lottery numbers is somehow of massive interest to the world. I would, however, be gravely mistaken in this assumption.
I suspect, however, the culprit is the word ‘Lottery’, hence my apprehension with regard to this post.
I mean, look:
And even as I speak, three more arrived on my WordPress dashboard. Good grief! In fact, that’s twenty more in the last hour.
One tenacious spam actually made it as far as the ‘Pending’ queue; I was almost tempted to approve it for sheer persistence.
Before I started blogging, I never even considered the prospect of blog comments as spam, but I suppose it makes perfect sense. There over ten million WordPress blogs out there with over 250,000,000 readers, so it’s an obvious target.
I’m a couple of weeks into writing this blog now and i’m still trying to tame WordPress.
Most of the taming has been around the post editor which doesn’t lend itself well to code writing and publishing.
I’ll be investigating the opportunities offered by plugins in the near future as I reckon I can halve the time it takes to write a post.
I’m currently writing this on my phone in bed to see how WordPress handles is and it seems ok.
How does it look to you?