Posts

Showing posts with the label software

Ergonomy - provide editing context

A good rule of thum is to always provide proper context for the user. In case of a text editor, it's the de facto standard to only scroll the screen when the text cursor would leave the visible window. However, consider the use case of composing an answer to a letter. It feels more comfortable to be able to read a bit ahead, as well as back in this case. Toggling full screen via scroll lock was a working strategy in the past, though only a few editors support it, and nowadays less and less keyboards have a button for it... There exist another breed of editors which, on automatic page scroll, advance only a small proportion of the editing window at a time. A third possible implementation would scroll in such a way as to always position the cursor in the middle of the editing window. I have constructed a few prototypes on this paradigm way back in primary school which worked nicely to me.

Software Quality at Top Speed

Fine literature has been available for decades now, but some still don't seem to get it right. Software Quality at Top Speed by chief software engineer Steve McConnell (Software Development, August 1996) highlights reasons for project overruns and the importance of taking time to design and do reviews Quality Cost Analysis: Benefits and Risks by Cem Kaner (Software QA, Volume 3, #1, 1996, p. 23.) details the economic side

Ergonomy - placement of buttons of destruction

Putting the two buttons "quicksave" and "instantly and permanently delete without confirmation" right next to each other is a no-no, especially for a service that offers gigabytes of free space and a trashcan folder for most other operations. Thankfully, they've introduced a quick undo feature, and later on extended the time-out of this button. It's still a bit scary if you think about this adjacency being implemented on many interfaces.

BUG: has even more options than ls

This seems to be some kind of an easter egg in man pages. Exuberant Ctags bug at SourceForge: ctags doesn't have more options than ls - ID: 2707519 (- after all) wodim man page (formerly cdrecord) - see the top of the BUGS section

An online open source computer symbolic algebra system

It looks like I forgot to publish this post from my drafts. A colleague of mine has recommended this. Mathematical Assistant on Web (installed) Mathematical Assistant on Web (sources )

Install Hugs under Puppy Linux to program Haskell

Hugs is a nice little interpreter if you'd like to try out the language Haskell. It has few dependencies and it requires moderate resources to run. The download for a minimal install is less than 1.5MiB in size. If you have an operating system with package management, you can simply install the package 'hugs', or 'hugs98'. For example, on Debian-based systems (including Ubuntu) this amount to simply running: aptitude install hugs On distributions without a decent package manager (like Puppy Linux), you can install the Debian packages manually (refer to your distribution for details, but it usually involves clicking on each downloaded package or typing dpkg -i name.deb ). You first need to select a Debian major distribution version which matches with the versions of libraries on your system. On the Pupeee (Puppy 4.3) I had been using till now, choosing Lenny seems to work fine. So I've downloaded each i386 version from a mirror close-by of the following packages:...

Tech support cheat sheet

I wish most people grew intuition. Are you one who regularly gets bothered by friends, relatives or random people with every snippety problem they encounter? Are they also spreading your recommendation for such problems to more random people? Then you need to start distributing the following on your calling card: Tech support cheat sheet (xkcd)

C/C++ refactoring support

EDIT: updated on 2016-02-06 (fixed links, added QtCreator) The people I've discussed refactoring with usually got pretty enthusiastic about it when showing them what can be done in properly designed languages like Java, Erlang or Haskell. They asked whether these kind of things were doable for weaker programming languages like C and C++ by free open source tools. I don't have much experience in this topic, as I haven't done bigger projects in this language yet, and the small ones I did were usually properly designed for the purpose from the start. So I looked around for possible solutions , and doing a few web searches yielded the following links. I may try some of these in the future just for curiosity. Be warned that not all listed features are available or complete. If you have experience with any of these, or with any refactoring tool for that matter, please let us hear your voice in the comments. (Maybe it would be worthwhile to open a wiki about available ref...