Sacrideo: Programming, Philosophy, &c.

Fastidious Elegance

Aaron W. Hsu <arcfide@sacrideo.us>

Wednesday, 09 May 2012

The Beauty of an Old School Lecture

Handwritten versions: Pg. 1; Pg. 2.

I just saw David McCarty give a lecture today at the Turing Symposium hosted here. Will Byrd suggested that I attend and I am glad that he convinced me to attend. Will described him as the epitome of what he imagines a 19th century lecturer might sound like. I was not sure what he meant by that, but when I saw him reading from notes with no slides and no blackboard, I was very excited.

Most lecturers would not be able to pull off a nice, enjoyable, informative lecture like that. Apparently, Prof. McCarty can. Most intersting to me is why a lecture with almost no visual aids can be so much more enjoyable than many other lectures I have seen which do use such aids.

Let me submit a potential reason: he was mentally accessible. That is, he did not say anything that the attentive audience could not readily grasp using their minds alone. Even when he went to the whiteboard to illustrate a concept, he remained fixed firmly in the space of the audience's mental capacity. I maintain that a great deal of complexity in our presentations can be eliminated, and I wonder if perhaps our reliance on tools does not encourage us to make our systems more complex than they need to be simply because we assume our tools will somehow make things clearer.

One day I would like to give a rich, old school lecture that people can enjoy, but I also hope that the systems I create are just as engaging and simple.

2012-05-09 18:55:24 [] link

Tuesday, 24 April 2012

You can APL: Web Version

So, if any of you have been annoyed with the idea of having to actually install something just to try it out, now you can try out the great and addicting APL language via web browser. Check it out!

TryAPL.org

2012-04-24 13:39:26 [] link

Sunday, 22 April 2012

The Gnome Experience Part 2: Stack-based Workspaces

If you are not familiar with this series, see part 1.

One of my favorite features of the Gnome 3 shell is how it deals with workspaces. See, when I was a younger Hacker, I loved the idea of workspaces, and I spent a lot of time thinking about how I would lay out my workspaces and what I would do with them, and what things would go into what workspaces and how many workspaces I would have. See the problem yet? Workspaces should not take so much time! It dawned on me a little later that I was gaining no productivity advantage in using multiple workspaces, and that all I really was doing was wasting time. In the end, I dumped the use of workspaces and just relied on minimization to hide things that I did not want. This was true for tiling window managers as much as for normal ones. In the end, I just did not find it that useful to have workspaces around.

Why did I find workspaces relatively useless for me? Well, at the time, I would have responded that they took too much management. Now, I think I can put a clearer spin on things. Basically, I do not have a static workflow where I have certain applications and windows that I want to do certain things, and I do not start by opening up all of my work at once. I like to have most things turned off first, and have just what I am working on at that moment around. The problem with static workspace layouts is that I would always have to remember to switch to the workspace that I wanted to use, which was supposed to correspond to something interesting, like my Internet workspace. Unfortunately, my workflow just doesn't map into nice neat chunks like that. Sometimes I would want to create a one off and work with a single application all by itself (like a virtual machine), but then I would want to switch back to the set of windows that I was using before, but then something else might come up, so I want to focus on that while leaving the others alone. Basically, I did not know ahead of time how I would want to layout my workspaces. It was inconvenient to get an application to a workspace, because I had to actively switch modes of thinking to use the workspaces.

With Gnome's stack-oriented approach to workspaces, I can create and remove workspaces on the fly, on demand, as I need them. If I do not need a new workspace, then I do not have to worry, because I will not have them. But if I need to break out a couple more workspaces in rapid succession, I know that I will have enough workspaces to do that. Moreover, in Gnome 3, it is oh so easy to get the applications that I want into the right workspaces. I can open an application in a current workspace, and then if I decide that things are getting too cluttered, I can easily move some of the windows quickly to a new workspace. This is easier because the management of these things is it's own little application that I can go to in the form of the Activities viewer. I do not have to do the moving through obscure contextual menus or a small desktop widget somewhere on my screen that always has to be small enough not to get in the way, which of course makes it too small to use nicely.

As I mentioned in part 1, the fact that I can just middle-click on an application to spawn it into its own workspace is something that I take advantage of plenty, and it's nice to have such an easy way to get applications into their own workspace. The bottom line is that stack-based workspaces are the only workspaces that I actually find myself using on a regular basis, and they are the only form of workspaces that I actually think improves my productivity. They get out of your way when you do not need them, and they do not waste real estate, distracting you from your main task, but they are readily there when you do find an use for them, and it is easy to utilize them.

2012-04-22 22:21:26 [] link

Wednesday, 18 April 2012

Merging Chez SRFIs with Portable SRFIs

I have finally gone through with it and updated my Chez Scheme port of the Portable SRFIs project to the latest I could find. That's a pretty old release, but everything seems to be there, so I think we are in good shape. At any rate, I have submitted a merge request for the changes to be submitted in, finally, after more than 3 years of not doing so.

This means that the master branch of my Chez-SRFI project should now work again out of the box for Chez Scheme, and it should now be easier to track and move changes upstream as well.

2012-04-18 22:09:06 [] link

Tuesday, 17 April 2012

The Gnome Experience Part 1: A Slacker's View

I really like the Slackware Linux distribution; I like that it gives powers users a lot of freedom, and delivers simplicity, clean builds, and solid stability. I would consider myself something of a power user of desktops, meaning that I want to leverage my desktop to work efficiently doing real work that requires efficient workstation performance. More on that later.

With all of the haters hating on Gnome 3, especially a lot of power users, I just had to give Gnome 3 a try for myself, to see if it was a case of the new being stupid, or a case of the new being too new for the old fogies. I've decided to live in the Gnome 3 world for a while, and I've even selected a text editor that is designed for a workflow similar to Gnome's. To do this, I am using the rolling release of OpenSUSE to live at the fore of stable software. In this series, I intend to document some of my thoughs about the Gnome 3 experience and how I have found working in it.

I've come to really like Gnome 3, and moreover, I've come to like it only as a power user. I am not a social networking Web 2.0 junkie, and I don't fit the profile of what most people think of as the Gnome 3 user. I also do not own a tablet, and I am working on this with my laptop and a large desktop monitor with an external keyboard and mouse. I've decided to point out the things that I really like about Gnome and why I think it is good.

As a little starter, I'll take the first thing that made me want to look at things. The famous Linus post about Gnome 3 got me thinking about Gnome 3 and shortly thereafter I had to try it for myself. Linus' specifically complained about not being able to create a new terminal easily. The idea was that clicking on the Terminal icon in the Activities window meant switching to an active Gnome terminal, not creating a new one. Supposedly, Gnome 3 didn't let you spawn new application windows easily! Well, that would indeed be a killer for any power user, and especially one like me who likes to spawn plenty of terminal windows on demand for small things and to do so without tabs (I really do not like tabs).

Well, that first challenge is what I had to play with first, and I was very pleased with the result. In Gnome 3, unlike what I remember of Mac OS X or Windows, I could easily create new instances of things by dragging the icon onto a workspace or into the middle space of the Activities view that shows all of the open windows in the current workspace. I find this so much nicer than keyboard shortcuts (which I do not remember well for this sort of thing), or wasting screen real estate with an explicit icon bar (which I never really used), or right-clicking to create a new window, as you have to do in Windows and Mac (IIRC). In short, this is exactly the way that I would have wanted to do this task, and I was really happy to see that a desktop environment actually provides this. An added bonus was that middle clicking made it even easier to spawn whole applications that I normally might want to use fullscreen into their own workspace.

Basically, I think Gnome 3 got this right, and I think this is a much better way of managing new window instances than what I have been forced to use in the past, and it is a feature that I use quite regularly.

2012-04-17 20:57:18 [] link

« Newer posts [1 2 3 4 5 6 7 8] Older posts »


Hackers