Search Results: "ana"

13 April 2008

Gunnar Wolf: Nice electoral results

Of course, this post is about the results for the recent Debian Project Leader elections. Although I've written quite a bit about politics in my country, I cannot sadly hold any hopes for decent electoral (or post-electoral, or political in general) results here in Banana-land. All hail our de-facto president, BTW.
Anyway, on to happier realms. The DPL elections are over. Voter turnout was low, as Manoj pointed out, but it's not as low as I feared. And, /methinks, not only because of the shortened period - but because this was generally an easy-going election, with three quite good candidates. As CMOT pointed out in my previous posting on this topic, many people would have voted 111- (which means, for the casual reader, any of them is quite OK with me). Debian elections are voted with a very interesting system, the Condorcet method. Developers don't vote just for their favorite option, but rank all of the available options (including none of the above, or NOTA) according to their personal preference.
The final numbers are very worth noting - Excuse me for hot-linking the image, but I know many non-Debian people read this:

What is so unique this time? First, as I anticipated on my previous posting, all of the candidates are above NOTA. Not only that, they are all well over NOTA, with the smallest distance being 237 votes (out of a 401 total votes received).
Second, something very positive as well, the distance between the three candidates is quite large this time. In 2006, the distance between first and second place was 6 votes (reason for which, together with the proximity in their platforms of course, Steve was appointed Second in Command or 2IC by AJ). In 2007, Steve was (again) second place, eight votes under Sam. Looking a bit into the history, in 2003, the closest election we have had, Martin beat Bdale by four and Branden by 11 votes... No, the distance is not really that important in the end, as we are quite far from having political quarrels over vote results - But still, having nice, clear numbers feels much better. And as I said in a previous message as well, it somehow speaks of Debian being a more mature, stable project.
Anyway - Congratulations, Steve! Best wishes for a stressful year, quite probably full of travelling, presentations and work in general!

Gunnar Wolf: Some Rails plugins: acts_as_magic_model

This is the third plugin I have been working on for Rails - It's the one that still needs most work to be fully usable (for what I originally envisioned it), but is almost there - I have not touched it (nor the other two I recently presented here, acts_as_catalog and Real FK because real-life has demanded my time on various other fronts.
Anyway, this is IMHO the most interesting of the three plugins I've written so far.
So, following what I did with the other plugins: You can go to acts_as_magic_model's main page, or jump straight to its SVN repo. And the basic description follows:
Rails plugin to allow for extensible models, where inter-model relations are inferred from the database's structure, and not necessarily from explicit declarations in the models.
This means, when one of your models acts_as_magic_model, this plugin will try to infer all the basic relations (has_many, belongs_to and has_and_belongs_to_many) its base table has with other tables in the database, adapting the model correspondingly. Using the plugin In order to use this plugin, you only have to declare it in your model. As an example, say you have the proverbial project-management system, where you have projects (each of which can be of several different types) and people, and a HABTM relation between people and projects. So, you have the following tables (expressed as migrations here):
    create_table :people, :force => true do  t 
      t.column :name, :string
    end
    create_table :project_types, :force => true do  t 
      t.column :name, :string
    end
    create_table :projects, :force => true do  t 
      t.column :name, :string
      t.column :project_type_id, :integer
    end
    create_table :people_projects, :force => true, :id => false do  t 
      t.column :person_id, :integer
      t.column :project_id, :integer
    end
Using acts_as_magic_model, you can skip declaring the relations in your models, like this: (of course, each of the classes still has to be declared in its own file)
    class Person < ActiveRecord::Base
      acts_as_magic_model
    end
    class Project < ActiveRecord::Base
      acts_as_magic_model
    end
    class ProjectType < ActiveRecord::Base
      acts_as_magic_model
    end
And the gaps will be filled in for you - that is, you can go on and ask for Project.find(:first).people, ProjectType.find(:first).projects.size, Person.find(:first).projects.map pr pr.project_type , and whatever you fancy.
In future versions of the plugin, I expect even to get rid to explicitly declare the class declarations.
Of course, you should be warned: Initializing a model using this plugin is quite database-intensive. It will clutter your logs, and it might be unbearable if you use it in development mode. Still, its convenience is very often worth it.
Its main uses should be when prototyping and when designing a system that needs to be flexible to the data models themselves - If you don't expect your system's data structures to be highly malleable, you should probably use acts_as_magic_model only as a prototyping aid.

Pablo Lorenzzoni: Finally, I am back

I can t possibly summarize all that has happened to me since my last post. The short explanation is that I had to serve in Brazilian army for a year, and that kind of disorganized my life. While I was in the army, I was forbidden to blog, and when that year ended, my life was too messy to keep up and I ve been procrastinating my come back! Now, finally, I am back. Just in time, I would say. fisl9.0 is about to begin. For this come back, somethings changed: my blog engine (from Rodin to Mephisto), my Gallery (it s gone sorry!), my domain (I ve moved from my company s webserver to my own), I will be publishing some entries in portuguese (in a separate section)... Hope you all enjoy. Happy hacking.

Jeff Bailey: Update of the moment

So here's the latest update on how I'm doing:

* Got the stomach flu this week. After 3 days of being ill, went to the doctors and got anti-nausea, anti-diarrhea medication, and 400ccs of Saline by IV for the dehydration. Joy. I'm going to try to go off the anti-nausea drugs tomorrow to see if I'm keeping things down now.

* Leif swam for the first time. I didn't get video, but opted for some nice stills. I *will* actually upload the last 5 months of pictures sometime soon. Really.

* Found an accountant who knows what to do for Canadians who just moved here. Yay! US Taxes will get done!

* The incision has no redness around it at all anymore, which is way cool. On Tuesday, I go in for my 6-week checkup. I asked at the 4-week mark whether I could go in the hottub, and was told that they'd probably OK it at the 6-week mark. I start 6 weeks of physiotherapy the day after that.

* My stamina for walking seems largely back. I can walk to Safeway at a decent pace (I still have to rest when I'm there). I can get to the mailbox and back without a break now. The part that causes me grief still is the muscles on my left shoulders. I'll ask Angie which one it is. It's been more sore than the others since the beginning, but hopefully it's something the physio can help me sort out. If it weren't for that, I'd be cutting back the pain killers already. I still might do that when I know I have a 6-hour stretch of low activity.

* For lack of anything better to do, I've been playing with Eclipse. I rediscovered eclipse a year ago when I was working on the ConnectUU site. The PHP mode was surprisingly good and helpful, and I was quite productive in it. I tried shortly after that to use PyDev, and it did horrible things to eclipse. I've tried it again, and I'm enjoying doing a bit of Java coding (homework), and Python coding in it now. I may finally have found an environment in which I can be more productive than I was in vi.

* Ernie (Angie's dad) and Janet (his wife / one of Leif's Grandmothers) have been here for the weekend helping us clean up. Janet is an absolute whiz at organising things, and the kitchen is way more usable then it has been since we got here in November. I need to make sure that I send out thank-you cards to everyone who's come and helped us. Kit was here a couple of weekends ago. Heather was here last weekend. Leslie, Grant, Jim/Sarah, and Andrew/Sarah have each brought us food. Jamu and Sandy each came for longer periods right after the surgery. Having people come and help has made a huge difference to us keeping things together. Without outside help, I don't know how we would've managed.

I'm a day and a bit off of 6-weeks post-surgery. I'm feeling good.

12 April 2008

Daniel Burrows: aptitude 0.4.11.2 released

I've released version 0.4.11.2 of the aptitude package manager (release notes). This is basically a bugfix release to clean out some problems that were introduced in the previous release (most notably a nasty problem in safe-upgrade).

Steve Kemp: Adopt a less marital tone.

If you upload a new package to the Debian archive which contains a setuid or setgid binary please please ask for a security audit, or carry out one yourself. I certainly accept that the security audit project webpages are not terribly current, and the mailing list is essentially dead, but there are people, such as myself, who would gladly look at your package. All you have to do is ask. When I see two packages in testing with trivialy obvious security bugs it just makes me wonder why we bother. I'm going to take this chance to restate my hardline position on package maintainence - even though it might not be directly applicable - If you cannot program/debug/handle the language a package is developed in you shouldn't maintain it. Too often I've seen signs of this; somebody maintaining a C-based program but unable to program in C. Why? I wonder if we could have a policy / guideline that any new setuid/setgid application must have at least two maintainers, or a documented audit prior to acceptance? Hard to manage but I think it would be useful even if it didn't catch everything. Some bugs such as #475747 (lovely number!) are trivial to discover. ObQuote: Dangerous Liaisons

Colin Watson: Desktop automounting pain

Ubuntu's live CD installer, Ubiquity, needs to suppress desktop automounting while it's doing partitioning and generally messing about with mount points, otherwise its temporary mount points end up busy on unmount due to some smart-arse desktop component that decides to open a window for it. To date, it employs the following methods, each of which was sufficient at the time: This is getting ridiculous. Dear desktop implementors: please pick a configuration mechanism and stick to it, and provide backward compatibility if you can't. This is not a rocket-science concept. I rather liked the hal-lock mechanism; it was simple and involved minimal fuss. I had hoped that it might end up as a standard, but I guess that would be too easy.

11 April 2008

Evan Prodromou: 22 Germinal CCXVI

It's been a long time since I've written on my blog; longer than I'd like. I really want to get back in the swing of it, if only to keep this entire site from bitrotting interminably. My Alexa ranking has dropped to like >1M, which in my Web-addled state means that my personal worth has dropped, too. I know, I know. tags:

Conference of the Americas: Cancelled I was sorry to see that the Wikimedia Conference of the Americas, scheduled for mid-May, has been canceled. There was some controversy when this conference was announced last fall; it partly originated from a bid by the Atlanta Wikimedia community to host Wikimania. I'm kind of sad to see that it's not going to happen. I like Atlanta a lot, and I think there is a really good case to be made for regional (or at least continental) Wikimedia conferences. I hope this isn't a nail in the coffin for such a regional event in North America. On the flip side, it'd be really nice to see a more detailed explanation of what happened; of what future plans for the COTA are; and just generally a little more communication. tags:

Elsewhere in wikidom That all said, things are looking really cool for Wikimania over the next 12 months. I'm really glad to see that my South American home-away-from-home, Buenos Aires, won the chance to host the 2009 Wikimania event. With 2008's event in Alexandria, Egypt, I think we've got some seriously interesting ground to cover Wikimedia-wise. Also of importance: if you haven't received an invite yet, get yourself over to RecentChangesCamp 2008. The wiki unconference will be happening for the first time in the Bay Area (California). We'll be meeting over May 9-11 in the offices of SocialText in Palo Alto. I can't say enough good things about RecentChangesCamp. It has been instrumental in my understanding of wikis and my connection with the worldwide wiki community. If you are at all interested in wikis or related concepts, you should think hard about coming to this conference. tags:

Brain bits
  • I think microrevie.ws is pretty cool. I got the 100th review today! Yay for me.
  • Speaking of twitter stuff, I dig twittermap, but I don't always remember to update. IWBNI there was a portal to/from Fire Eagle.
tags:

10 April 2008

Francois Marier: Two-tier encryption strategy: Archiving your files inside an encrypted loopback partition

Even with a fully encrypted system (root and swap partitions), your data is still vulnerable while your computer is on. That's why Bruce Schneier recommends a two-tier encryption strategy.

The idea is that infrequently used files are moved to a separate partition, encrypted with a different key. That way, the bulk of your data files is protected even if your laptop is hijacked or if an intruder manages to steal some files while your main partition is decrypted.

On Debian and Ubuntu, a secure archive area can be created easily using an encrypted loopback partition and the cryptmount package.

Add this to /etc/cryptmount/cmtab:
archives
dev=/home/username/.archives
dir=/home/username/archives
fstype=ext3 fsoptions=defaults cipher=aes

keyfile=/home/username/.archives.key
keyhash=sha1 keycipher=des3
Create the key and the 512 MB loopback partition:
sudo cryptmount --generate-key 32 archives
dd if=/dev/zero of=.archives bs=1M count=512
mkdir archives
sudo cryptmount --prepare archives
sudo mkfs.ext3 -m 0 /dev/mapper/archives
sudo cryptmount --release archives
Fix the permissions so that you can write to this partition with your normal user account:
cryptmount archives
cd archives
sudo chown username:username .
cryptmount -u archives
Then you can mount and umount that partition using:
cryptmount archives
and
cryptmount -u archives

MJ Ray: LLP Cooperatives

Limited Liability Partnerships are a relatively new company form here, but it has some interesting opportunities for cooperatives. I work for one (TTLLP) so I've gathered some useful links:- uniteddiversity LLP (some of those behind The Open Coop) Limited Liability Partnerships @ Co-opNet Chris Cook's web site appears to include contributions from 2amase's Bev Meldrum. At least I think it's Chris Cook's web site... 2amase LLP's web site forwards to http://www.thetoolfactory.com/Contact.htm which says they have a Plymouth office, but says nothing about their current status. They're listed on uk.coop and again Sticking LLP into the uk.coop search is amusing. Companies House - Formation and Names - GBLLP1 and Administration and Management - GBLLP2 The governing laws are Limited Liability Partnerships Act 2000 and BIM72505 - Partnership Act 1890 Any feedback you have on the above would be helpful. Anyway, hope that helps. Let me know how you get on with a comment, please, or if the new LLP needs a web site or hosting... ;-)

Ian Wienand: Tips and tricks for your E3 Visa

Having recently been through the process, I've managed to come out the other-side with some some advice for anyone taking this on.
  • If anything really stuffs up you'll have to enter the US immigration services, which is no fun. If this happens to you in the Bay Area go straight to the San Francisco office; the San Jose office doesn't have deferred inspections so you'll probably just have to go there anyway.
  • Your dependent on the E3D Visa will need to fill out an I-765 work authorisation form. This will take up to 3 months to process; you can find out the approximate queue time here. The form doesn't appear to have been updated for E3D; I would strongly recommend getting a lawyer to file it for you so you don't stuff it up. Budget about $400. After this has been processed, the dependent will then need to file for a SSN before they can be paid.
  • Tax is a black-art. In California expect to pay something like 20-25% federal, 10% state and up to 7% more for Medicare and social security. Expect another $80/month for health insurance.
  • You can get a bank account without a SSN easily. A good way to transfer money is OzForex, but watch out for fees on the US side (you may have to do wire-transfers which cost about $10 a go, though some banks have bill-pay). The country still runs on cheques for some reason.
  • You can rent without a SSN, but it will cost you. Budget for 2 months extra rent as deposits and paying ahead.
  • A car lease is probably a good way to go. Finance will usually look at your visa and only give you a two-year loan, and with no credit that will be at a very high interest rate. In California you can get a 2 year lease on a base model new car (sticker price ~$17,000) drive-away for a down-payment of about $2500 and then $250/month plus taxes. Insurance will be about $120/month on-top of that. The beauty is you just give it back when you go home. For long holiday trips SUV rental may contribute to global warming, but is a very comfortable way to see the country.
  • In California you'll need to book in for a driving test to get a license; you can't do this in a rental car but some local driving schools offer a short introduction course and then let you use their car for the test.
  • If you're living in temporary accommodation without great facilities Dream Dinners is a good way to easily get some meals together.
  • In the Bay Area, Yelp is an awesome resource.
  • Comcast make Telstra look like a well-run, efficient and customer focused organisation!
  • Feel free to drop me a line if you're thinking of taking an opportunity and have any questions.

    8 April 2008

    Russell Coker: Olympics and Politics

    The latest news related to the Beijing Olympic games is that Kevin Rudd (our Prime Minister) has said “It is absolutely clear that there are human rights abuses in Tibet. That’s clear-cut; we need to be upfront and absolutely straight about what’s going on,” - stating the obvious really. If that was all that happened then it wouldn’t be particularly interesting. The paper version of “The Age” quotes George Bush as seconding Kevin Rudd’s statement. I believe that this is quite significant. Bush is well known for being stupid, the fact that he is now following the example of someone else who is doing good things is a very positive thing for the world. When John Howard was our Prime Minister we had an idiot (Howard) following an even bigger idiot (Bush) and the result was not good. Kevan Gosper (an Australian IOC board member) said “They just take their hate out on whatever the issues are at the time, and that hate against the host country is being taken out on our torch“. People who are totally corrupt sometimes seem confused when other people are motivated by moral principles, maybe we have a culture clash between the corrupt IOC board and the attitudes of most people in the rest of the world (I can’t think of any other way to map Kevan’s statement to reality). Mr Rudd has confirmed that Chinese “security guards” (soldiers) will not be permitted to operate in Australia to protect the Olympic torch from protesters, but the “security guards” have been operating in the UK. I read about this on the web site of The Age, but I won’t link to them because they have a lot of broken links with the following explanation - I am not going to link to sites that are so transient in nature (linking to The Age would lower the quality of my blog). Incidentally does anyone know of a news service in Australia that has reliable pages which stay online? We could not find the page you requested. This is often because older content has been removed from our site. In most cases you can still find the item via our archive service, News Store, where you can buy articles for a small fee. It also has the following text which indicates that the most visible problem is probably transient, but the fact that they deliberately break links is unacceptable to me: If you reached this page from a link on our site, please contact the webmaster (choose Technical faults) and tell us the address of the faulty page and the address shown for this page. The MSN article about the meeting between Bush and Rudd also had an interesting quote from Nancy Pelosi (speaker of the house in the US congress) [1]. She said “As I said in India last week where I met with His Holiness the Dalai Lama, if freedom-loving people throughout the world do not speak out against China’s oppression in Tibet, we have lost our moral authority to speak out on behalf of human rights anywhere in the world” and that the IOC made a mistake in awarding the games to China. Pelosi is not known for being left-wing (the US Democratic party is centrist/right by the standards of most democracies) so it’s interesting to see her take a stand on this issue. Erich Schubert has written about this, he points out that the Olympics are not about sports [2]. Well of course the Olympics are about money, drugs, and sports-science! I’m not sure that I agree with Schubert and Pelosi, the Chinese Olympics has focussed a lot of international attention on what China is doing - this has to be good for human rights. The Olympic games are a white elephant, running them costs a huge amount of money and there is no evidence that they actually make money for the host country once the opportunity costs are taken into account. Maybe we should give the Olympics to Zimbabwe or the Sudan next?

    7 April 2008

    Jeff Bailey: Titanium cage

    During the surgery, the surgeons replaced two vertebrae with titanium cages. I hadn't a clue what that was, and they didn't have one handy to show me. I've managed to find a picture of one on the Internet, though:

    http://www.medscape.com/content/2003/00/46/53/465370/art-nf465370.fig1.jpg

    Cool, eh? On the next visit I'm going to ask them how they get the spinal cord to go through that, since I don't see any gaps to slide it through in the picture.

    In other news, I can finally lift my laptop now, so chatting with people on jaber can be done at a reasonable speed without trashing by wrists from typing on the blackberry. Yay!

    Also, Leif is definitely walking now. Craziness. I'll try to get some video soon.

    Vincent Fourmond: Please, pretty please, do not group patches by files, but by topic !

    I'm currently working on putting back vegastrike into shape, bringing slightly more recent code (only three years after the last sourceful upload). And I'm fighting with patches (a good dozen), trying to see what does not apply anymore and what still does, why some patch was written in the first place... I have two requests to the community about that (and, please, do flame me if you think differently ;-)...): Great thanks to all patch writers that think about the ones that could possibly follow them !

    Russell Coker: Links April 2008

  • Interesting Rolling Stone article about the US government encouraging idiot “terrorists” [2].
  • Cory Doctorow predicts a poor future for hardware e-book readers [3]. For my personal use a laptop is better for reading. In most cases when I’m going to do some reading I’m likely to want to write notes or be in a situation where I need my laptop for other purposes. So a laptop plus an e-book reader would be more weight and more battery problems than having just a laptop.
  • On page 2 of this article about what might happen if the source code to Windows was released freely [4] I am quoted. One thing I should note is that I have nothing against OpenSolaris, it’s merely one large project for which I could inspect the source if I didn’t have legal advice to the contrary. The situation of OpenSolaris may have changed in recent times, but I have not felt the need to seek further legal advice as there seems no real benefit in viewing the source. There is no shortage of GPL source that I would like to read if I had the time…
  • Location Independent - a blog about working from no fixed address and how to live on the move [5]. Should be of interest to all the people who seem fascinated by my living in hotels for ~18 months.
  • Martin Luther King Jr’s letter from a Birmingham jail [6]. Inspirational and it is also relevant when considering the positions that churches take today on moral issues. I found the link from The Reid Report blog [7] which is an interesting analysis of US politics.
  • Scientific American has an article about high altitude destroying brain cells [8], apparently this can happen even when there is no noticable injury and it is permanent. It seems that it would be a good idea to try and locate conferences to minimise air travel by delegates and speakers…

  • Julien Danjou: awesome: from 2 to 3

    Last week I sent a mail about the upcoming developement strategy for awesome. Long story short; we begin to work on awesome 3, dropping Xlib in favor of XCB, bringing out the first window manager using this bindings (if you do not count the demo one in the source repository ;-)). Thanks to the amazing grunt work of Arnaud Fontaine, we already have a working version of awesome using XCB, and it works very very well. Better API, better code, and even faster code. That is awesome. awesome 2.3-rc1 was released this morning so we'll begin shortly to work on the 3 branch and merge it into the master one.

    6 April 2008

    Andreas Metzler: snowboarding season 07/08

    Today was the last day the local ski resorts were open. I had a rather strange last day with a lot of freshly fallen snow, running off-piste almost the whole day. Following up on previous entries here is my balance sheet:
    2005/062006/072007/08
    number of (partial) days251729
    Damüls10105
    Diedamskopf15424
    Warth/Schröcken030
    total meters of altitude12463474096219936
    highscore10247m8321m12108m
    # of runs309189503
    New highscore! Still puny, compared to what other people manage on one day. I doubt it is possible to do 24500m (81000 ft) in the local resorts, you would need steeper slopes for that. ;-) Weather/climate was strange. We had an early first snow in the middle of November (about 60cm). Up to start of march no big snowfall followed, but we had (basically the same) snow continuously even down in the valley. Then there was some thawing, and finally more snow. Now that the ski resorts are closing they probably have got more snow up on the mountain than ever this season.

    5 April 2008

    Russell Coker: Blog Posts Should Stand Alone

    I believe that apart from some exceptions (such as “links” posts) each post should stand alone. A reader should be able to read a single blog post and understand the author’s point without needing to visit any external sites. A common mistake is to write a post that can not be understood without following the links. This means that if one of the links gets taken down then the post can not be interpreted. Also if a reader has Internet access problems that deny access to the other site (which is not uncommon) they will be unable to find the original source and thus miss the point. It’s quite common for people to download copies of blog content before going out of net access (I routinely load a Planet feed of the blogs I read before travelling). Some people read blog content via email, for such people reading blogs without net access will be even more common. If a blog post can’t be immediately understood then a significant number of readers will just skip it. If too many posts from one RSS feed (where “too many” is a subjective value that varies from reader to reader) have this problem then they may just unsubscribe from the feed. Also even people who do have good net access will sometimes skip posts which require them to visit an external site. It takes more time and if they aren’t sure that the content will be of interest then they skip it. Finally writing an explanation of your point tends to result in more clear communication. At the shallow end of the blog pool it’s quite common to see posts which link to web pages and express disagreement with them. If the web page which is referenced makes several points (it’s very rare to find pages which strictly make a single point with no sub-points and no chain of logic to support the point) then it can be difficult or impossible to determine what the blogger specifically disagreed with. A post which summarises a page and gives specific reasons for agreeing or disagreeing with it gives little potential for confusion or miscommunication.

    Daniel Burrows: aptitude 0.4.11.1 released

    Last weekend, I released version 0.4.11.1 of the aptitude package manager (release notes). This is a minor release focusing mostly on bug-fixes and on a few features that I've been meaning to add but that didn't make it into 0.4.11. I think the most interesting addition is --show-why, which is like --show-deps but traces back to the closest manually installed package. In some wide-character locales, the fix for bug #472625 in this upload of aptitude triggers bug #473874 and bug #474065 in apt; the symptoms are an error message about line N too long (max 1024) on start-up, and messages saying that method http has died unexpectedly! when you try to update the package lists or install new packages. I've written patches to fix these bugs in apt, and once they're reviewed by the other apt maintainers they should be fixed in the next upload of apt (version 0.7.12). Until then, if you're bitten by this bug, you can work around it by diverting /usr/share/aptitude/aptitude-defaults.$LANG and replacing it with an empty file. For instance, for Russian (ru):
     # dpkg-divert --rename --local --divert /usr/share/aptitude/aptitude-defaults.ru.real --add /usr/share/aptitude/aptitude-defaults.ru
     # echo > /usr/share/aptitude/aptitude-defaults.ru
    
    Once a fixed apt is uploaded, you can remove the diversion like this:
     # rm /usr/share/aptitude/aptitude-defaults.ru
     # dpkg-divert --rename --local --remove /usr/share/aptitude/aptitude-defaults.ru
    

    4 April 2008

    Gintautas Miliauskas: The meaning of code

    I had an "Aha!" moment today when I came to a Wittgensteinian realization that while the sense of a piece of code corresponds to the formal behaviour of that code, the meaning of the snippet is the set of possible contexts where this code could be used. This idea has changed my view of teaching programming (I have been teaching Python in a local school for a couple months now). This attitude is nothing new, but for some reason I have not come across it, or rather, I have never seen it applied. (The fashionable problem-based learning thing has some similarities, but isn't quite it.) Having an idea to start from, it was not hard to find good articles expanding the idea. I especially liked Robert Strandh's short writeup on idioms and Elliot Soloway's Learning To Program = Learning To Construct Mechanisms And Explanations (1986). Experienced programmers will not learn much, but anyone dealing with CS education, teachers and students alike, ought to have a look. The moral is that emphasis should be placed on reading exemplary code ("experienced programmers do X this way") rather than definitions ("function Y does Z"). Programming seems to be closer to language use than to mathematics, and teaching methods should reflect that.

    Next.

    Previous.