I’ve fimmally had emough of this danm’ keyboard! Yes, yes, I kmow – I cam’t tell ny ‘m’s fron ny ‘m’s…
So out the bloody thing goes! And in its place I have this lovely new one. And, at last, I can tell which letters are produced by which keys. The problem of letters that vanish from the keys over time is quite a common one. On my old Dell keyboard, the ‘N’ and the ‘M’ have long since vanished – and the ‘I’, the ‘O’, the ‘D’ and the ‘H’ are all rapidly going the same way. Search on Amazon for ‘permanent white marker’ and you’ll soon discover a great many people who have bought marker pens in the hope of restoring their faded keys.
The Logitech K310 taking a shower
I decided to take more drastic action. I bought myself a new keyboard. After some searching, the one I settled upon was the Logitech K310 – fairly cheap at under £30 (about $45). The most notable claim to fame of this keyboard is that it is washable. Apparently you can submerse the whole thing in a bowl of water when you want to give it a freshen up. This, however, is not the feature that most attracted me. What caught my eye was the claim that its ‘Laser printed, UV coated keys’ are tough enough to washstand regular use, including washing, without the letters fading away in the process. I’ve only been using the keyboard a few days so I will have to take that on trust – all I can say is, so far so good. It’s actually a pretty nice keyboard – smart-looking (dark grey with white keys), and low profile. It’s a non-mechanical keyboard so you only need to type lightly, and there is just enough feedback (the clacking of the keys) to satisfy someone like me who grew up using tough old-style mechanical keyboards.
A stick of Blackpool rock. The letters run all the way through - keyboard manufacturers take note!
If I had a free choice, I would still prefer to be using one of the old-style keyboards. I like a good ‘clacking’ noise (ah, for an old IBM keyboard!) and the old keyboards also had letters which – like the words in a stick of Blackpool rock – ran all the way through the keys. Those letters weren’t mere flimsy ‘transfers’ on the key surface. The only way the letters could wear out was if the entire key wore out too.
I’ve been teaching multimedia courses on Udemy since the late summer of 2011.
I now have five programming courses and over 4,000 students. In the time I’ve been teaching on Udemy I have learnt a great deal about how to record and produce videos and screencasts, and how to put together a home studio on a budget.
The expansion in online multimedia courses has been an extraordinary phenomenon over the past couple of years. And I am very pleased to have played my own small part in it!
For just over a year, I have been teaching programming courses on the Udemy site. In that time, more than 3,000 people have signed up to my courses on Ruby, Advanced Ruby, Object Pascal, C# and The Business of Programming.
Recently I decided that I really needed to provide an online ’hub’ for my courses - somewhere where existing students, and prospective new students, would easily be able to keep up to date with developments. So, today, I am launching Bitwise Courses.
Bitwise Courses is now the ‘brand name’ for all the multimedia programming courses that I have already launched or that we (myself and others) are currently working on. These are the places where you can find the latest information:
There are some things about the Mac that are beautiful and some things that drive me up the wall. The keyboard falls into both categories. Slim and elegant with a sleek aluminium sheen and low-profile white keys it certainly looks lovely. But in use, it’s a pig.
The damn’ thing doesn’t even have a Forward-delete key. If you want to delete the character to the right of the cursor, you have to press a key labelled ‘FN’ and simultaneously press the Backspace-delete key. Intuitive it ain’t.
It also lacks other useful keys. For example, the UK keyboard has no has no hash key (#). Pressing Shift-3 produces the pound symbol (£). It took me a while to figure out, and a fair bit of Googling, that you have to press ALT+3 to produce a hash – something that is vital to know if you do much programming.
A Tale Of Two Keyboards: my original (above) - small, beautiful and impractical; my new one (below) a bigger, less elegant beast but one that I can live with.
There are other keys that are missing too. Missing, that is, if you re used to working on a PC. No Page-Up or Page-Down, for instance. Well, I finally gave up fighting against the damn’ thing and decided to invest in a better keyboard. The one I bought was the alternative Apple keyboard with an integrated numeric keypad (another thing that is missing from the dinky little keyboard that’s supplied s standard). This extended keyboard cost me about £50 and it is money well-spent. Not only does it have a Forward-delete key (thank God!), but it also adds on Page-Up, Page-Down even a pair of Start-of-Document/End-of-Document keys. It still doesn’t have a dedicated Hash key but I guess can learn to live with the ALT-3 key combination to produce a # when I need one.
And, as an added bonus, the keyboard is wired. At first sight I thought the standard unwired (Bluetooth) keyboard seemed pretty neat. The trouble is, it needs batteries. And batteries have to be replaced (at inconvenient moments, usually when I haven’t got any suitable batteries to hand). On the whole, I think I’ll be happier with my new, slightly less beautiful but hugely more practical, wired keyboard. Oh, the simple joy of a Forward-delete key!
C# is the default language for programming Microsoft .NET. But did you know you can also run it on a Mac under OS X? Here’s a short video to explain how.
C# programmers are always in demand. If you want to break into the programming business or extend your existing programming knowledge, my C# course will give you a quick and easy way into .MET (or Mono) programming with C#.
My C# Programming course (in ten easy steps) gives you all this:
Over 3.5 hours of video
Code archive and eBook
Basics of C# and .NET
Cross-platform coding, Windows or Mac OS X
Functions, methods and arguments
Object Orientation and class hierarchies
File-handling and data streaming
Exception-handling and debugging
How to start writing a text adventure game!
If you sign up today, you can get this $99 for just $39, a massive 60% saving. But you’ll need to be quick. This offer lasts till Christmas Day only.
These days if a programming language ain’t got that OOP, it ain’t worth a thing. Well, anyway, that’s how it sometimes seems.
When I started programming, back in the early ‘80s, hardly anyone had even heard of OOP (Object Oriented Programming). When ‘Byte’ magazine published a “Smalltalk special issue” in 1981, the writers had to explain not only what object orientation was but also how a graphical user interface worked (most computers had text-based displays). They even had to give an explanation of a weird little pointing device called a ‘mouse’ which was bafflingly strange to most readers.
Now OOP languages are everywhere: C++, Object Pascal, Objective-C, Java, ActionScript, C#, Ruby and so on...
And do all these OOP languages make programmers more productive? Do they make programs simpler, clearer and more elegant? The simple answer is: No, they do not.
I’ve written an article all about OOP, the theory and the reality over on the Udemy Blog. [Read On...]
One day, the kind of programming we do now will no doubt seem crude in the extreme. All those ifs and fors, procedure-calls and whatnot surely can’t be the simplest and most elegant way for a human being to express ideas to a machine.
So why don’t we program computers in, well, English?
The obvious answer to this question is: because it’s too difficult. English is complex and ambiguous. Most of the time when we write computer programs we aim for simplicity and clarity. Even so, being able to convey ‘natural language’ instructions to a computer is a goal worth aiming for. Captain Kirk can do it so why can’t we?
One type of program that attempts to make sense of English commands is the good old text adventure. “Pick up the ring”, the player says. To which the game responds, “Do you mean the golden ring or the silver ring?”
It’s all very well that the game player can enter instructions in English. But the game programmer has to write instructions in Java or Ruby, C++ or Python. There are, of course, some languages such as TADS, which are specifically tailored to the writing of games. Even so, most of these are, at heart, traditional types of programming language with ifs, fors and procedure calls.
I was intrigued, therefore, to discover a game-writing language that breaks away from this coding tradition and gives the programmer a way of writing games using instructions that look very like English sentences. Inform 7 lets you create rooms by just writing the room name followed by the assertion “is a room” and its description. You can connect rooms together by entering statements such as “Room One is east of Room Two”. Objects and interactions can be described and expressed in a similar way. I really find this a fascinating approach, not only to writing games but to programming in general.
It’s also remarkably easy to get started. Here, in its entirely, is a game that I wrote in about 15 minutes. it’s not a big or complex game, to be sure, but even so, it is much, much more complex than any comparable game I could have written in that time using a conventional language:
The Gazebo is a room. "A lovely crystal gazebo in the garden".
The Dragon Lair is a room. "A big smelly cave".
The Crystal Dome is a room. "A huge glittering dome filled with exotic plants".
The Dragon Lair is south of the Gazebo.
The Crystal Dome is east of the Gazebo.
The wood-slatted crate is in the Gazebo. The crate is a container.
The ruby is in the crate.
The crate is closed.
The crate is openable.
The wombat is an animal. The wombat is male. The description of wombat is "It is a small, furry animal".
The wombat is in the Gazebo.
The description of the Elvish Sword is "A sword of purest gold that glows in the dark."
The Elvish Sword is in the Dragon Lair.
The description of the Dwarf Sword is "A sword of darkest Dwarf-iron."
The Dwarf Sword is in the Dragon Lair.
On the left you see the ‘program code’ of my game. On the right, I am playing the game.
Inform 7 comes with its own simple editing and compiling environment and it is available for Linux, Solaris, Windows and OS X. It’s a wonderfully eccentric project that is more innovative and ambitious in its aims than many better known general-purpose programming languages. I love it.
I love Object Pascal. It’s a nice, clear, modern object oriented language. Trouble is, it can be expensive to get into. Embarcadero Software’s commercial Delphi environment for Object Pascal may cost you a few thousand dollars! But there’s an alternative. An it’s free.
Lazarus is a slick visual IDE that lets you design applications by dragging and dropping controls onto a form. You can add code to handle events and run or debug at the click of a button. Lazarus uses the Free Pascal compiler – and it is available for Windows, OS X and Linux. You can write applications on one of these platforms and compile them on another. In my view, this is the easiest way to break into cross-platform application development.
Lazarus makes it easy to design and code an application on Windows…
…then compile and run it on a Mac (or vice versa)!
If you want to learn Lazarus and Object Pascal, where do you begin? Well, I’ve just published a new multimedia programming course on Udemy that will guide you from your very first steps (basic Pascal syntax) right through to the nitty-gritty details of Object Pascal class hierarchies, user-defined types and object-serialization.
I’ve already taught over 2,500 people to program in my top-selling Ruby course on Udemy. I’m even more excited about my Pascal course. This will not only take you into the lucrative world of cross-platform development with Lazarus but it could also be your first step into the high-earning world of commercial development with Delphi.
My Learn Programming With Pascal course has…
Over 40 lectures
Hours of video content
Source code for Delphi and Lazarus on Windows and Lazarus OS X
A 124-page eBook, The Little Book of Pascal
Learn Programming With Pascal normally costs $99
You can subscribe for just $39 – that’s a 60% saving
You may have missed this news, in which case I take great pleasure in letting you know that version 1.0 of Lazarus has finally been released.
Version 1 of what you say...?
Lazarus is a fantastic, free visual development environment that has a good code editor, a drag-and-drop interface designer and an integrated debugger. It runs on Windows, OS X and Linux. You can design and code on one platform then compile and debug on another. I’ve been using it daily for the past few weeks and it is remarkably good. It supports Object Pascal (via the Free Pascal compiler) and is closely compatible with Embarcadero’s (formerly Borland’s) Delphi. I was the Delphi columnist for PC Plus magazine for over ten years and I love Object Pascal. In the good old days, there used to be free versions of Delphi available - but not any more. Lazarus plus Free Pascal are a great free alternative. Give them a try.
Well, now I have good news. You can change the colours back to the VS 2010 scheme or (with a bit of effort) any other colour scheme that takes your fancy. All thanks to the new VS2012 Theme Editor. To install this, use the VS Tools menu, select Extensions and Updates, Online. Then browse, install, restart Visual Studio and pick your preferred colours from the Theme menu.