Text Editing: Basic can be better

Recently at work I’ve started an internal company wiki using Screwturn wiki. It’s a useful, easy way to keep internal documents about procedures organised.

One really noticable thing about Screwturn is its text editor. Or lack of a text editor. It’s not WYSIWYG, just a plain text box with a few buttons at the top to put some code in for you. When you first see it you get quite annoyed, thinking it really should be more like word. You have to learn their markup and inside the text editor it isn’t as readable.

However, after 10 minutes you’ve learnt the markup. You see how much easier it is to use the markup over clicking buttons – It doesn’t disturb you’re follow. But you realise something else: It is really good at making you not worry about the look of your document but instead focus on the content and the structure of the document.

What do I mean by the structure of the document. I mainly mean headers. In WYSIWYG editor we think of a header as text in a particular font at a particular size. This leads us to say, “I think a smaller font would look better for this instance” and choose the type of header based on what looks best instead of what creates the correct structure. While in screwturn, a header is just text with a certain amount of = around it.

The end result is we get a more consistent, cleaner, more professional document, and we get it done faster by not worrying about unnecessary font changes.

It’s an interesting thing that you can write documents faster and better in such a simple interface and makes you wonder how we can incorporate these concepts in future programs like Word.

Tip: Remember using System.Linq

I was updating an old file that hadn’t been touched since dotNet 2 and wanted to use the Linq extension method ‘Select’ method. But it wasn’t showing up. I checked to make sure the assembly was dotNet 3.5 and it had a reference to System.Core. I was stumped.

Luckily it eventually came to me that I was missing System.Linq from my using list. But it’s an easy thing to miss and the Smart Tags don’t detect it. Maybe there should be an option to make it a warning if a file is missing it.

And that's why you always leave a note!

One thing which I think all Leaders of Software Development Teams should enforce is leaving a note whenever anyone checks something into source control.

Some people may argue, “Somethings are so simple it doesn’t need a comment. It will lead to useless comments in your log.” This statement is true. Maybe you just renamed a variable in a method. And you don’t want see that in the log. Worse I have seen it lead to people writting, “Something” for their description.

However, what’s worse is when you don’t enforce it. If you don’t enforce it people will almost never write comments. I am just as guilty of this as anyone. Before I enforced leaving a note, when I wanted to check in I would immediately click the check in button without even thinking about writing a message.  What would you prefer a log with a few meaningless comments or no log at all?

Forcing people to leave a note gives a much better check in procedure. It forces you to think about what you have done, review what you’ve done. This check can make you write better code.

Even people who I’ve seen write a note of “Something” mostly do it correctly. This makes me assume they reviewed their code, couldn’t find anything major and then write “Something”. That’s not really too bad.

The final reason (and best reason) is given in Arrested Development Season 1 Episode 10 – Pier Pressure. So as J. Walter Weatherman says, “And that’s why you always leave a note!”

Is 100Mbit broadband fast enough?

One response to the Government’s broadband plan that always makes me last is, “Sure it’s fast today, but by 2020 100 Mbits will seem like dial up.”

Even if we say that the network will remain at 100Mbit (and it won’t, it should be fairly cheap to upgraded to 1Gbit) the statement is ignorant. Honestly I think 100Mbit will still be reasonable in 2100.

The theory that people use is that the amount of data we consume increases every year. And that if you increase speeds more data will get consumed. Both statements are true. But let’s have a look at some other facts.

If we assume the average Australian currently uses 10GB a month. Assuming 100Mbit half-duplex, the FTTH network can download a maximum of about 12960GB in a month. That’s means we current use about 0.077% of the potential of the FTTH. For us to start using any significant amount of the connection we have significantly change out habits.

Next, what use could possibly make 100Mbits not enough? I think one of the best services to look at is video. Why? Well because it is very time critical. Talking about, for example, off-site backups which can be a huge amount of data, You don’t care about it instantly happening. You’re more likely to only care that it can do the job between closing for the day and opening the next. Anyway, back to video. Online video is going to be amazing with FTTH. High Definition videos instantly. I’m not sure about 1080 but you can download 720p at about half a MB/s. So FTTH should be able to handle 10 of these concurrently!

When people hear things about how the use of the internet is increasing more and more every year they think this will continue to increase at the same rate forever. Too many times they don’t realise it will eventually reach critical mass and slow down. We definitely need an upgrade and I think FTTH is more future-proof than many think.

Australia's Broadband Plan

I’m a bit late on this but I thought I’d post my thoughts on the plan. At the moment the plan sounds good 100Mb/s to 90% of the country, with the potential to go higher, Even the $43 billion price tag is fair easy to swallow when you consider that up to half will be paid for by the private sector. So assuming it will cost $22 billion and will also act as an economic stimulus (in my opinion it will be a fair more effective stimulus than the handout part of the current stimulus package).

So what’s the problems then. Well the problem is that’s about all we know. There’s a lot of important details which need to be released before we can say it’s a good package. I’ll talk about the major three.

The price of broadband.

In Australia the average consumer apparently spends $40 a month. How much of a price rise are they going to be happy with? Well, at the absolute most I can see $10. But they’re not going to be happy about it. Really they expect a better connection at the same price.

How much content?

In Australia, since so much data has to be sent overseas that we have to put caps on our broadband plans. Not sure what the average is but I would think it’s about 10GB. This brings up a small problem with giving people a 100Mbit connection: all download caps can be used up within hours. Assuming half-duplex, 10GB can be used in half an hour, even my plan which has 150GB can be done less than 9 hours.

Is there going to be enough interest from the private sector?

The less interest from the private sector means more the government has to pay. Asking companies to put in 20 billion in a recession is a big ask.

But there is hope

These are big questions but I think from what we know we should be optimistic about the answers.

First, the price. The great thing about Fiber to the Home is it doesn’t use or remove any of Telstra’s copper. Not only does this stop Telstra from holding up the process in court it means there is a competing network. An inferior network but still competition. If the new network has a massive price to it people can use Telstra’s network at the same price they are currently getting. This forces the FTTH network to be competitive on price.

Secondly, the content. It undeniable that we have to have data caps with our plans. However, we already have a work around. Some ISPs offer free-zones, places where you can download from which don’t go to your cap. What the government should do is extend this idea and make the free zone all of Australia. This means overseas companies that offer large content over the internet (e.g. Netflix) will invest in Australia by moving servers to Australia so people can use there content without worrying. This not only justifies the speed but stimulates the economy by having overseas companies investing in Australia.

Finally, the funding. A lot of people think the telecommunications will be the big investors. I don’t think they will. I think the companies that invest in infrastructure projects will want a big piece. But I also think that companies which make money from internet services are going to invest big. I see companies like Google, Microsoft, and Netflix being big inverters. A project that is going to give them a larger customer base? That sounds like an excellent reason to invest.

Media Players

I’ve always been a fan of VLC media player, I love that i don’t have to bother installing any codecs.

When I started using VLC that was my main reason. The interface looked a bit ugly and I didn’t like the mouse navigation. As such I still used Windows Media Player a lot.

Then I learnt about VLC’s keyboard shortcuts. They were amazing and really well thought out. They made all other media players look clumsy. I decided to completely dump WMP (well almost).

Then the new look VLC came out. I nicer mouse interface, which I didn’t care about at all, but something had changed. A lot of my videos would play with a blank screen for 10 seconds. There is a work around but it’s annoying.

That’s where I was yesterday, before I found XBMC.

Wow! The library options in it is amazing. You have to see it to understand. But it’s still not perfect. It’s navigation in a video file is awful, especially when compared to VLC. I can understand that some of this is to make it use a standard control, but it should have more options for when a keyboard is plugged in.

If there is one thing VLC has shown us it’s that fixed skipping is the best way to navigate. VLC has fixed skipping by having shortcuts to go forward or back 3s, 10s, 1min, 5min. Fast-forward and rewind – it can never go fast enough, and it’s not as precise. And Mouse skipping is good for very short videos but anything of decent length is too imprecise.

XBMC seems to have a very committed development team so I hope they look into this soon. I hope they install VLC and play around with it’s navigation just so they can really understand how good it is.

Great UI

Making a great UI is hard. Probably the best posts I’ve seen about it is Mark Miller’s Great UI series. A must for anyone who has to do any UI design.

Mark Miller’s Blog

Extended DataGridView for WinForms

I while back I made a extension to the DataGridView and an article about it. For those who still have to use WinForms I would highly recommend it.

It’s avaliable on CodeProject at Extending the DataGridView.

Portable Ubuntu

Just tried this out. Wow! This is truly one of the most impressive things I’ve seen for a while. For people who need to test their programs on Windows and Linux this is the Holy Grail.

Check it out – http://portableubuntu.sourceforge.net/index.php

Return top

INFORMATION

The occasionally interesting thoughts & insights of a software developer