Guy Lecky-Thompson's BlogPosted by Guy Lecky-Thompson Every computer user has the possibility to write a sophisticated program without going any further than the tools they use on a day to day basis. More than that, the results will actually be more useful because they are integrated with those tools. Think about it for a minute. If you use Word or Excel, you can write macros. If you use Windows, you can create batch script to automate tasks by processing files of commands. If you are a Linux user, there is a scriptable shell interface that provides a richer version of the Windows command line equivalent. MacOS X users have the same options - there being a command line hiding underneath all the gloss of the operating system. The kicker is - the tools that do the actual work (beyond the scripting interface) are just the regular commands and programs that you are already using! This makes for a seriously competent and under-deployed alternative to learning how to program. The cherry on top of the cake is, that in the vast majority of cases, these scripting and batch programming tools are incredibly easy to use. Often easier than actually learning how to program with a traditional language like C. To get started, here is a collection of links to articles right here on Suite 101: Windows Command Line Programming Windows Macro Scripting with AutoHotKey Have fun! Posted by Guy Lecky-Thompson It can't be back to school time already. And yet it is - that's what my publisher keeps on telling me, anyway. A tip for would be computer book authors : if you want to sell books, sell them to schools and colleges. The web, glorious though it might be in many respects, has reduced the computer book market so much that the educational market has become my bread and butter. Almost. Those of you who have been listening to the BBC World Service's Digital Planet (bbcnews.com/digitalplanet) may have heard them talking about Open Office a couple of weeks ago. I got annoyed with what they said, and wrote to them, along with thousands of others. You see, Microsoft has released a copy of Office to developing markets which is based on rental, rather than purchase. My point to them - for 95% of users, Open Office and MS Office are equivalent. The other 5% can afford the full MS license even in developing markets. Therefore, what Microsoft should be doing is renting on the basis of features, and not packages. The moral of the story - if you can get by without the corporate level features, open source packages, and in particular Open Office, offer the best balance between price and quality. If you need corporate features, such as programmable databases (Access), and a robust integrated macro programming language (VBA), then you need MS Office. Finally, this weeks little project is to learn about neurons and neural networks. I'm researching them for one of my aforementioned books, so I thought I'd share a little of my new found knowledge with you. The article is Neural Network Model Algorithm and is online now. Enjoy. Posted by Guy Lecky-Thompson I remember when the web was nothing but a collection of statically linked hypertext documents with the odd image thrown in. Come to think of it, I remember looking at it sideways, as a step backwards, whilst Gophering my way through reams of information, and chatting online using Telnet. Very slowly. Then someone started inventing bits and pieces of technology that made the web more interesting. It was more interesting because it became interactive. Giving surfers the power to interact more made it both more usable, and entertaining, not to mention more straight up useful. Now, we're often not even aware that the page is running along in the background falling over itself to enrich our experience. We've become blasé about the whole interactivity subject. As programmers, though, it pays us to know how it's done, even if we just accept, as surfers, that it is there. So, here's a round-up of some AJAX related goodies, as we enter a new era of web interactivity. You'll want to bookmark this page, too, because here are some more traditional technologies explained: Posted by Guy Lecky-Thompson This is an opinion piece. There - I said it. Now, I don't normally do these, but I've been busy writing some books of late, aimed at a particular segment of the computer using public, and I'm beginning to wonder how worthwhile the effort will eventually be. You see, I want to bring back the bedroom coder. The hobby programmer. People who want to write programs because the machine in front of them will let them. Back in the days of the Commodore 64, Spectrum 128, Atari ST and BBC Micro (for the UK audience, that last one) bedroom coders were prevalent. In fact, I'm guessing that most owners of these machines at least tried to write a program even if all it did was fill the screen with 'Hello World'. Where are they now? Programming is still as fun as it always was, but it seems that there are less and less hobbyist coders around. Perhaps we should start a campaign, here, to educate the PC owners worldwide in the joys of programming. Even if all you do is write a Windows application that draws random rectangles on the screen, the challenge will teach you something. It might even teach you something about yourself. Posted by Guy Lecky-Thompson I keep getting asked the same question: Why should I bother learning programming languages, or even want to know how to program?The answer is probably only applicable in layers - casual, part-time, professional - and different people want different things. Casual Programmers People who need to start doing some software programming to help in their occupation, plus those who just want to know how to program. Part-Time Programmers Those who offer custom services such as web programming and custom application programming on the side. Professional Anyone who is just getting started with programming, or who has had a first experience and needs to address a new technology. There are also 5 very good ways to earn real money doing software programming, and this could be a great motivator in itself. Custom Web Programming Services People use the internet and want applications that are internet-ready. If a programmer can provide custom web programming services, and understand what the client really wants from it, then they will be able to offer those services on the general market. Software Programming Pure software programming means making applications for the end user. There is still quite a lot of business to be done in this area, although it may be being slowly eroded by open source software programming services. Programming Training Offering assistance to would-be programmers, especially in web programming and full software programming is very lucrative. Consider also bundling your knowledge up into interactive e-courses for the general public as an information product, and it could be a winner. Freelance Programming Building applications for third parties to resell is not as lucrative as other forms of programming services. However, freelance programming can bring in high usage and sale royalties if the deal is structured properly. Also freelance web programming projects are easy to come by on online talent auction web sites like RentACoder and eLance. Programming Help Offering on-demand programming help to people who have been burned by outsourced customer software programming projects (including web programming projects) is a good area to get started in. It can help to build a solid reputation. Until next time; Happy Coding! |