Programming

Status

At one time, I had pages of C/C++ and other programming related links. Since outside links are a nuisance to keep up with, instead of keeping lists of them at my web site, I'll be posting some of my favorites to the CppDesign and XHTMLDesign mailing lists. What I'd like to share on these pages, instead, are how-to articles, programming snippets and other information that doesn't require a lot of off site links to maintain. I've revised my original mingw FAQ and you'll find a link to it below under Resources. I've also added articles on Open Source for low resource computers and tips on my favorite programming editor SciTE. Check back for new articles and updates to current tips.

A Personal Note

This is to all the guys out there who have ever asked, "Where are all the females who are into science fiction and computer programming?"

Mailing lists

CppDesign is a mailing list for discussion of design issues related to C++ programming. Experienced C++ programmers are welcome to join our discussion.

XHTMLDesign is a mailing list for discussion of design issues related to web sites. Topics range from good web site design guidelines (where readability and accessibility are emphasized) to CGI programming design discussion for languages like C/C++, Perl, etc. and use of scripting languages like Javascript. This list is focused towards web designers who maintain fiction or other writing archives. I'm also expanding the list for discussion of multimedia creation such as making your on DVDs or music CDs or audio video presentations using Open Source software.

Latest Project

I've been accumulating patches for Open Source in order to get them to build on various platforms. I really didn't want to. I'd prefer to pass the information back to the project maintainers, but many times a project is no longer supported or the maintainers refuse to support a particular port. I've shared many of these patches on my patches page. However, without knowing what state someone else's machine is in, it's hard to recreate successfully building some applications on another machine just by sharing patches. Build scripts like the Slackbuild scripts are a step up from that. Once the required libraries are installed, you can run the build script and it should do everything necessary to build an application. There are even build scripts to build required libraries. My latest project is a cross-platform way to produce build scripts. I was finding myself continually building libraries and applications every time I updated an Open Source operating system to the latest distribution or a key foundation library changed. This provides an automated method of building all the applications I want to use on BSD, Linux, Windows or other systems. It's also an easier method of sharing instructions on how to build applications than simply supplying patches.

I've been working on, using and testing this build system for about a year now. In the meantime, I've been searching to see if anyone has a better solution I can add my support for and throw my efforts behind. I dislike reinventing the wheel if someone already has a better way. I've yet to find a system that fits my needs. Am curious to know if my solution would fit anyone else's needs. So far, I've just been using the system for myself. I've been wanting to make it available as Open Source. However, I'd like to know if others are even interested in using it, before I go to all the effort of trying to document it, package it and make it easily available. If someone knows of another project that can do the job of building a variety of Open Source applications in an automated manner that will work on multiple platforms, please let me know. I'm already looking into possibilities like OpenSuse Build System and TakeoffMinGW, Coapps and a few others, but so far, nothing's coming together with those options. If anyone's interested in discussing design issues for my latest project or would like to know more or even possibly help out, please write. You can contact me through the CppDesign mailing list mentioned above. I would be very interested to discuss building Open Source C/C++ applications and libraries in an automated matter with cross-platform support with other programmers. Feel free to join in the conversation on the mailing list.

For non-programmers, many are just interested in how to get the final programs and applications. They don't care about the source and building everything from scratch. I would be too, if some of the programs I wanted were already readily available in that form. If we could get enough people involved in a project, I would love to put together a series of items that come out somewhere between mini distribution and a meta package. Each program group would consist of binaries for a particular platform that each do one job well, work well together and require a minimum of dependencies. It would also include scripts to set up paths so programs could work properly from a USB drive or a specific location on a hard drive. The scope of a project like this would need to include compiled programs for the platforms involved, source code and scripts to build everything and put it all together. I don't want to go so far as to start creating a particular operating system distribution or build compilers and cross-compilers. What I do want is a cross-platform solution that would let me run the Open Source applications I like on the operating systems I need to use. Developers could put together package groups of audio programs or video programs or word processing or web design programs or other applications. By installing a particular group somewhere on your system and setting up your paths properly, you'd have all the applications you'd need to get a particular task done. That's the theory. To make it a reality, I'd need more people than just myself interested on working on a project of this scope. If this is something you're interested in and you'd be willing to get involved and help (whether or not you're a programmer), you can contact me through the CppDesign mailing list.

Resources

Looking for books and other references on programming? My programming references page has some suggestions.

Need some tips on getting started with or maintaining a web site? Check out my resources page for web designers.

If you're a web designer wanting to add a Really Simple Syndication (RSS) feed to your web site, check out my new online ATOM 1.0 creation utility. It's a simple tool, but it should be enough to get you started creating your own RSS feeds for your web site. Feel free to join the XHTMLDesign mailing list if you want to discuss the topic further or locate other tools for RSS creation.

A new version of my old mingw FAQ revised for current use is now accessible. I will be updating it as I learn new information on best practices to working with this compiler.

I've also put together my favorite tips for working with and customizing the SciTE programming editor. I will continue to add new tips I find worth sharing.

I've been looking into good ways to create books and documentation using a programming editor and Open Source software. The results can be found in my article, From Document to Book.

What good is using a programming editor to create books or other documents unless you have some good writing tools to help check and improve your words? I've listed some of my favorite finds.

CoCo Programs and Programming

It is possible to run old CoCo programs on a PC.

Converting to Open Source

Just for fun (and for personal use to help me keep track of good programs out there), I've added a page on switching from commercial and freeware programs over to open source software.

If you have any program recommendations to add to the list, feel free to mention them on my Homeaide mailing list or if they're programming or multimedia specific, on either CppDesign or XHTMLDesign mailing lists.

I finally have an Open Source operating system up and running on one of my machines again. I'm in the process of searching for and making various Open Source applications operational on it. If you're curious about what steps I needed to take to get FreeBSD (or other Open Source operating systems) running on my older Sony Vaio laptop, please check out my article, Open Source OS on a Laptop. I'm chronicling all the steps I needed to take to switch to an Open Source OS on that system.

Was hoping to make the switch to Open Source for my desktop as well, but am finding it even more difficult that converting my laptop. I've made a list of traits that an ideal operating system for my needs would include. If anyone comes up with a good match, I'd love to hear about it. I'm looking for a project I can add my programming and documenting skills to.

Since my laptop has limited resources, I'm finding I've had to do a lot of searching for new Open Source alternatives that will run on low resource machines. Some of my favorites just don't work efficiently on older computers. If you'd like to know more about some of the Open Source applications I've been testing out, check out my Lightweight and Cross-Platform Open Source Software page.

I'm getting so many patches I've made to Open Source programs, I decided to try to put them all in one place. So, I've started a patches page to keep track of fixes I've had to do to get various Open Source programs working on the different operating systems I use. Am hoping to switch from patches to build scripts (with patches) in the future so that other programmers and developers can more easily recreate the steps I took to get Open Source programs running on various machines.


To the main page.


Validate XHTML
# To make your visit count, load this image.#



The information on these pages is copyrighted by the author with all rights reserved. Reproduction of anything without the author's permission is in violation of copyright laws.
All original material is copyrighted:
(c) Copyright 2002 by Laura Michaels
All Rights Reserved
Last Update: 20100809