Search Results: "ron"

7 December 2007

Aigars Mahinovs: Webmin alternatives

Everyone knows that Webmin is nasty - it does things in wrong way on a pure and nice Debian (and Ubuntu) systems and for some reason is not included in Debian (post-sarge) or Ubuntu. That does not inspire confidence in a root-running web based software to say the least.
I have a need to have a Linux server and give an administrator the ability to add/remove users, configure some LAMP settings, some email settings (SMTP, POP, IMAP, Spam/Virus protection), Samba and those kinds of everyday system administration tasks on a SOHO Linux server without having to know much about Linux. Unfortunately I am very hard pressed to find anything that I could just set up and forget. Does anyone have any good experiences on this?

6 December 2007

Eddy Petrișor: I am laptop-less, but disk-ful

Today I went for the second time[1] to emag's service[2] to have my laptop's[*] battery replaced since it was powering the laptop only for 15 (yes, fifteen) minutes. This after only 11 months since I bought the laptop[**].

I didn't observed this drastic reduction until recently (last time I remember was about 1 hour and 50 minutes, back in August), because I wasn't so mobile since August.

To make the long story short, I had to: wait, wait, argue, wait, argue, talk normally to the manager, wait, wait, argue, argue, observe sheer contempt from the personal when I asked again for the manager, talked normally to the manager, left after 4-5 hours wasted (+2 yesterday).

All this just to be able to keep my data safe by holding on to my hard disk, since they insisted they wanted the whole laptop[3], and making them write on the warranty receipt they were the ones who pulled out the HDD (I might be over-cautious/paranoid, but I wouldn't trust emag with the garbage bin).


Now I am on a forced vacation away from Debian for an undefined time, although I might be able to send mails and do make small patches from work.


Hey, emag:


[*] Dell Inspiron 6400 / E1505
[**] when I think the long battery time was one of the most important points, it looks ridiculous now to have such a bad degradation in such a short time

[1] first was yesterday, but due to some support person's incompetence I had to postpone - I asked two questions, they gave me two wrong answers
[2] after all this I wouldn't recommend emag to anyone
[3] You might ask why would they need the whole laptop for a clear 'battery is broken' complaint? Apparently "the service can't test the batteries without the laptop". They probably have neither any spare laptops nor dedicated equipment to measure batteries.

Sam Hocevar: Bits from India

Incredible !ndia As Christian already stated, we are currently in this lovely city with friendly people whom we French people have great trouble understanding, totally insane traffic and colourful taxis you find nowhere else, and dangerously spicy food. And no, it s not Mexico City. My first talk at FOSS.IN/2007 in Bangalore, India (Giving back to the community: how does Debian perform?) was an attempt at explaining to upstream developers what Debian did with their software, and where to proactively find information about the changes we do, the bugs that are reported, etc. I did this talk because Bangalore has this incredible ratio of software developers per square kilometer, while at the same time we have so few Indian DDs despite the 1.12 billion inhabitants. So I expected to find people doing much development but not necessarily familiar with Debian. With Christian s two other talks about translation works in Debian and how to contribute to Debian, we did quite a thorough coverage of Debian for a novice audience. My second talk, in the main conference track, will be on Saturday and will be an even more general presentation of Debian. Of course, my slides are not ready yet, what did you expect? Debian business cards There has been great interest in my Debian business cards, so I m providing their SVG source (to be loaded and printed in Inkscape, for they make extensive use of the blur effect which is an Inkscape extension) for anyone interested. They use the Sexsmith and Sans Condensed Uralic fonts, available in Debian packages ttf-larabie-straight and ttf-uralic. Sam s Debian business card Sam s Debian business card (back) Sam s Debian business card (sample) I don t know enough about SVG scripting and object cloning, so to do the text shadow you will have to edit the same object twice. Sorry about that. Here are the files: background image (PNG), generic DD front (SVG), custom DPL front (SVG), back (SVG). The background image was cropped from Ayo s Debian Expo wallpaper. The rest of the design should be considered public domain. Just a note about the different languages I ve been using at the back: I know I could have used more fancy languages with beautiful glyphs to show how truly universal our system is, but I did not know which to choose. So I just put the languages I personally vaguely understood.

Gunnar Wolf: Digging into Drupal

As of late, I've shifted quite dramatically my sysadmining/development activities. On the development front, although Perl is still my mother tongue and I maintain many systems I wrote with it (and my main involvement in Debian is through the pkg-perl group, of course), I've been largely switching over to Ruby - both under the Rails framework and doing standalone stuff.But somehthing that's new to me (well, relatively - it has been observed I have been playing with the idea in and out for some more time) is entering this maze of twisty little passages, all alike called Drupal. What can I say? I'm quite surprised by it. It is such a reach CMS, and so twistable for almost-anything, that it still defeats me.I've been asked (ordered? pushed?) to propose a complete plan to replace my Institute's current static-and-butt-ugly-HTML site with something dynamic and manageable, so, of course, this last week has been an intensive Drupal crash-course for me.Drupal itself is quite complex, yes, and I thought I had it mostly mastered for the trivial tasks. But then, I started looking for some I-thought-quite-simple extra thingies - And I started discovering its user-contributed modules. I've been having quite a bit of fun with them, and as I hate messing up my clean and nice installation, I've even set up a Drupal5 modules APT repository for Etch, where I'm putting the modules as I process them.As I'm really not into PHP, and I still lack enough of the Drupal framework understanding to really step forward and become responsable for them, I'm not yet even suggesting packaging them for Debian - but a time might come where I upload them as well ;-)BTW, in case somebody is wandering about this Jaws-to-Drupal scripty I mentioned that other time: It basically works for blog entries (as you can see in my test site - barring some trivial latin1-UTF discrepancies). I have not yet migrated because I'm also trying to migrate my Phoo photo galleries to Acidfree albums... And it's quite a more challenging task than just migrating blog+comments. But soon, I hope - I have a bit more time than in the last weeks to be able to play with it. Anyway, here it is as it is.

Anthony Towns: Asus eeePC

Okay, so any excuse to bring out the Laphroaig is fine by me, but the cute little eeePC is better than most. That it’s cute and popular is all very well, but what really makes my day is this is the first device I’ve seen that both doesn’t hide the fact it’s running Linux, and is available in maintstream stores in Australia. A random review from the Sydney Morning Herald:
You also don’t get Windows. Asus has adopted the free Linux operating system that’s been slowly yet steadily growing in popularity over the past decade. This keeps the cost down and makes better use of its relatively modest hardware, which would creak under the weight of Windows. It does mean not being able to use your favourite Windows software but, fortunately, the Eee PC comes with dozens of programs, including the familiar Firefox web browser and Skype for online phone calls.
That came out on the day the eeePC was released in Australia. Three days later, they did a followup:
Taiwan computer maker Asus might have underestimated the local demand for its diminutive Eee PC, as the $499 laptop is now virtually sold out in Australia.
From that, there’s a brief take on who’s actually buying them:
“We’ve had customers coming in buying two or three units for the family - the mix of customer has been probably novices more than the tech types,” he said.
It’s really good to see that Linux is getting credit in pretty much all those stories, no matter how mainstream. Xandros is pretty rarely mentioned, and I don’t think I’ve seen Debian mentioned yet. But even without the credit, it’s still pretty cool that with the eeePC and Dell’s trysting with Ubuntu, the real in-roads to pre-installed consumer Linux these days are building on Debian. I’d always expected that Red Hat or SuSE or someone with more commercial muscle would get through that door first (they’ve certainly had box sets more readily available!), but apparently elitist, freedom obsessed, techno-geekery actually works better, somehow. At least when there’s a company to put a smiley face in front of it all :) The other interesting thing about choosing Xandros, is that it presumably means the eeePC is covered by Microsoft’s patent protection scheme – which means no baseless threats against eeePC users from Microsoft, but also that Microsoft’s probably getting a cut of whatever Xandros receives from each eeePC sale. Whether you think that’s a problem or not, the result is probably going to be that it’s the thin edge of the wedge: it’s removed Microsoft from blocking a Linux preinstall on consumer hardware, which means we can see that regular people like Linux systems enough that they sell out in days. And that means Linux systems are a fact of life, and if Microsoft try to stop them by making it difficult for you to sell Windows systems, well, that’ll just make it difficult to sell Windows systems – which is another win for Linux. And once you get to the point where the argument for paying off Microsoft doesn’t rely on keeping your OEM deal for Windows, but is just a matter of whether their patents are actually valid… Oh, also nice from the promoting free software angle, is that the first thing you see if you decide to visit Asus’s eeePC site to check the gizmo is the news item:
2007.11.27 ASUSTek is committed to meet the requirements of the GNU General…
Add the fact that an eeePC running a Debian-derivative has access to all the software in the Debian repositories for no cost, and the new government’s planned rebates and investments in IT probably mean that parents can get close to a full refund, and you’re getting pretty close to a choice of spending nothing and getting a popular, reasonably functional and very portable laptop with all the software you could ever want, that just happens to be running Linux, or paying an extra few hundred or thousand dollars to get a Windows laptop, and then probably pirating whatever software you end up needing. In any event, to my mind, that makes 2007 the year of the Linux on the desktop: everything from here is just a simple matter of quantity. What’s next?

5 December 2007

Evan Prodromou: 14 Frimaire CCXVI

One thing that's been interesting me lately is RSS. Yeah, I know, not exactly cutting-edge technology, but the format -- in its three different forms -- has become the default for machine-to-machine transfer of serial information on the Web. So RSS really represents our individual or collective presence on the Web spread across time, space, and theme. I'm particularly interested in RSS because I'm working on themed portals like Keiki. It's one of our goals to pull in the parenting part of a person's personality spread on other parts of the Web, so you don't have to re-enter it in Keiki if you don't want to. It's a fun problem to be solving. But as I was playing with the format, I realized that I'm spread pretty far across the Web, myself. I make most of my contributions to this blog, but I'm also part of other communities and a user of other services. What if I used some software like Planet to pull together the disparate threads of me into one place? So that's what I did. I ended up using a tool called Gregarius instead of Planet, mostly because I originally intended to install it on Godaddy's hosting service, which doesn't support cron jobs, which Planet needs. Once I realized how ad-infested GD's "free" hosting service is, though, I moved all my sites off of it, and back to Antipater. And my personal aggregator is there, too. It was interesting to pull in the accounts I've listed on About Me and see which ones produced RSS feeds. Some I expected (my Flickr feed, my del.icio.us feed) and others I didn't (my Upcoming feed surprised me). I was also surprised by sites that didn't produce a feed. I really expected something from Pownce and Tribe.net), but I couldn't get them to cough up a feed. Most disappointing was Facebook, which has a really nice mini-feed of my activity there that doesn't seem to translate into an RSS feed in any possible way. But otherwise things went very quick. I found Gregarius really easy to work with, although its inability to pull tag (metadata) and categories out of RSS streams. There's an autotagger plugin, but I haven't gotten it to catch any tags yet. Oh, and the OPML output was horrible -- I think it might generate HTML that looks like raw OPML -- totally useless. In any event, if you feel like cyberstalking me or just seeing what I'm doing around the rest of the Web, keep an eye on evanprodromou.info. There's even a handy aggregated RSS feed... just in case you want it. tags:

Biella Coleman: Rethinking Blogs: The importance of fewer posts and preaching to the choir

It is hard to believe that I have been blogging for over five years. And what is clear is that being an assistant professor is not all that conducive for blogging and this is materially evident in my sparse posting pattern over the last few months. It has been particularly bad in the last month thanks to a week long international trip, back-to-back sickness over Thanksgiving week, and finally going to Washington D.C. for the AAAs. But this retreat from blogging as well as teaching on so-called Web 2.0 software, like blogs, has made me rethink the value and limits of the craft of blogging and so I am going to take some time (that I feel like I don t really have, but oh-well..) to write them down as I am preparing a short piece for on the politics of Web 2.0 and I hope I can transfer some of these ideas there. So as I have already mentioned, I am an now infrequent blogger. Prior to the era of RSS, this could have meant the death of my blog because if people went to visit my page and there was no new post and then this happened a few more times, they would just stop visiting. The magic of RSS is that it brings the blog post to you and this alters the landscape of possibilities within the context of what has been nothing short of a seismic explosion of blogs. What I am finding and this will be no surprise to anyone is that it is just too difficult to keep up too many of a certain class of blogger the prolific poster who posts medium to long posts and worse, nearly everyday! To make a point about the effects of this, allow me to tell a story: Two blogs I really like are Joe Reagle’s blog on Open Communities as well as Tenured Radical. Both provide captivating posts but I recently unsubscribed to Radical Tenure and not Joe Reagle s. Why? My decision was purely pragmatic. Because she posts way too much, I just can t keep up. If I stop reading her blog for 2 weeks, and then pay a visit via bloglines, I am faced with a blogolanche and I am trying to avoid, at all costs, overwhelming situations. On the other hand, if I stop reading Joe s blog for 2 weeks, there may be one or two posts so I feel like I can spare the time to continue reading. Ironically, I will now visit Tenured Radical every month, much as I did prior to the RSS era, just to take a quick scan and see if there is anything I must read. There is another class of blogs, such as Sivacracy, that update their site frequently but the posts are tidy and short and so I can usually keep up and they provide important news for my projects. But the type of blog that provides longer ruminations has proliferated (and I really like reading those) but I suspect that as the blogosphere has expanded, less people can commit to those types of blogs. In other words, today, you may hang on to more readers, if you only blog 1 to 2 times a week instead of 3-5 weekly posts that are medium to long in length. Now I may be completely OFF the mark with this by generalizing my own experience so I would be interested in hearing people s experiences or better, if anyone could point me to someone who studies these types of pattern, I would really appreciate it. On a related note, last week I taught a now famous piece by Cass Sunstein on political balkanization on the Internet that is in part secured by blogging. His core argument, which I think stands to some degree, is that the blogosphere is less an arena where people with different inclinations and views meet to debate, and thus change their views, but is an arena where your pre-existing ideas are reinforced because you are simply reading and debating with people who hold your worldview. As I mentioned, I think this is true in so far as you don t see people on the left and right engaging in some debate that substantially transforms their ideas. But the argument is faulty or missing something crucial about the nature of politics, in so far as that the so called left or right or so called liberal and conservative positions are truly not unitary so that if different types of liberals/lefties are engaging with each other to change positions and ideas within that group, well then, the critical function of blogging is in fact well and alive. To state using an example, there are plenty of liberals who, in my opinion, could use a little radicalization and perhaps this is happening in the blogosphere because people come across a spectrum of ideas and positions from within their political pole. Finally and this point really is not mine but I am poaching it from Jeff Juris who made it last weekend at the AAA meeting during his presentation on activist videos. One of his findings was that activists were the only ones watching video s documenting protests when hosted on radical political sites like Indymedia. When they were placed on Youtube, the audience expanded considerably: conservatives were also watching them, but they effect was not to make their more sympathetic toward the left and their political points, but simply to reinforce their position, which is evident in the archived comments expressing their great distaste of the left. This is a perfect example of the Balkanization that Sunstein talks about but with an important reversal: it comes from confronting difference not avoiding it! But Jeff made the excellent point that there is a critical function in preaching to the choir: it ensures that the choir will not stop singing! That is, your political passions are not simply ensured, they must be renewed and given the massive amounts of apathy peppering our population, renewal by confronting what you believe in, is vital. So my advice is keep producing posts, keep reading even if it tends to be stuff you already believe in BUT please, post less. Less, I think, is really becoming the new more….

Josselin Mouette: Won t people ever learn?

Introducing biometric authentication in our systems is a very good idea. It is the key to two-factor authentication which, while not solving all security issues, can bring a giant leap in terms of security when done correctly.

Everything is in the correctly.

And I can t say I m impressed with the way people are developing fingerprint authentication systems. Let s look at the currently emerging standard, fprint, and its security notes:
In it's current state, fprint is not a very secure system: this data is stored on disk in unencrypted form. This data is not readable by other users, however it is possible that the super-user can access it, and also someone with local access could move the disk to another system in order to gain access to the whole disk.
This statement is followed by considerations on how to protect this data from being read, much like passwords are protected by MD5 hashes.

Wait Yes, they are treating biometrical data like a password. Password-based security relies on the fact it isn t easy to obtain your password without spying on you or torturing you. But obtaining your fingerprint? Unless you ve been wearing gloves for years, this is absolutely trivial. And this is how people focus on the wrong issues.

Biometric data is not a password, and it requires a radically different approach to authentication. You can t just expect the person in front of the computer to provide some data corresponding to the fingerprint. You have to ensure that the person in front of the computer is the one with the correct fingerprint. Biometric devices manufacturers have made impressive efforts to ensure fake fingers or cut fingers can t be used, but there is still a giant hole in the security model. While you can now be reasonably sure that the device will only return data corresponding to the person in front of it, you also need to ensure the data processed by the computer comes from the device.

Guess what? These devices are USB-based. And given how USB works, there is nothing that prevents an attacker to plug a custom device in the USB port and send the data he wants to the authentication system. Good job, guys. While you re busy hiding easily available data, the house s door is still wide open.

Matthew Palmer: Strategists and Tacticians

Like most things, the scale of decisions that have to be made by a person or organisation fall across a wide spectrum. At one end, you've got the fine-detail work: lines of code, individual config settings, IP addresses, that sort of thing. This is crucial work, because it's this detail that ultimately produces saleable results. Travelling all the way to the other end, there's the "big picture" decisions: the "visionary" stuff. What market segment will we target? What will we do (in large-scale terms) to get there? I am convinced that individuals naturally gravitate towards one end of this spectrum or the other, depending on their psychology. While people usually can work at all scales, they have a "most comfortable" point where they work the most naturally. The further away from this point they are pushed, the less comfortable and effective they are. No level of thinking is better or worse than the other; they're just different. While "large scale thinker" and "small scale thinker" could be taken as being insulting, I certainly don't mean it that way. I should point out that "Strategy" isn't (just) about setting goals. A strategist isn't someone who comes out with grand pronouncements like "By the end of next year this company should be providing telecommunications services to 20% of the Fortune 500" without knowing how to get there. That's not a strategist, that's a poor-quality management consultant. People whose only skill is making vague pronouncements should just be taken out and shot. They're not doing anything useful for anyone. A strategist is someone who is good at planning the goal of "20% of the Fortune 500". They're thinking about the big picture issues, without getting bogged down in the minutiae. A tactician, given the job of planning something at the macro scale, will chase some good idea down an intricately detailed rabbit hole, and miss the other dozen or so large issues that need to be considered. The strategist's planning needs to stop at a certain level and let other people take on the detail work. Conversely, a good tactician can focus on the individual details without getting distracted by the big picture. A strategist put into a tactical role will miss all the important minutiae because they're working out how their little part fits into the big picture, instead of working out how to make their little part work, in and of itself. It's important, for individual happiness, to try and work out what level you're most comfortable thinking at, and then trying to find a job that puts you there. It's almost as important to make sure that the people who are working at the more and less detail levels around you are equally comfortable. Take, for example, the micromanager. We've all either been there ourselves or have heard multiple stories on the subject. I think the micromanager is nothing more than a person who wants to work at a smaller scale than they're being forced to by their organisational rank. Since they can't do the detail work any more, their only outlet is working vicariously through their subordinates. Voila! Instant micromanagement. An even more painful case of micromanagement would be when the subordinate wants to think at a larger scale than the superior. In that case, the subordinate will naturally be thinking large scale, and will miss the details. To the small scale thinking superior, that is incompetence, and will naturally be dealt with by more micromanagement. In reality, both parties are incompetent at their jobs, and they should really swap roles, so that everyone is in their element. It would be nice if companies stopped thinking hierarchically in this way -- that a more "senior" person has to think at larger levels. Just because you've been somewhere longer (or have been working in an industry longer, or got higher marks, or whatever), it doesn't mean that you're more of a strategist. This is probably the Peter Principle restated: people get promoted to a level where they just can't comfortably think at the necessary scale any more. If instead people were put into a planning hierarchy based on their natural scale of thinking, we'd all be a lot better off. There'd be a lot less power games, though, which makes me think it's not going to happen any time soon. A business, at whatever size it might be, needs an appropriate mix of strategists and tacticians. A really small business (1-10 people) can get away without needing large scale thinkers, in the same way that a really small boat can get away without needing a rudder or pilot. If a really small boat gets itself into trouble, everyone on board can grab an oar or bucket and help get the boat out it's predicament -- it's small and nimble enough to be able to do that. As the company expands, though, it's important to make sure you've got some strategists around. If you don't have anyone to keep an eye out for problems and plan around them, your small-to-medium sized boat is likely to have a hole punched in it by a submerged rock. Even if somebody on board happens to notice the rock before you actually hit it, once you get to a certain size you can't physically stop or turn the boat in time. If you don't understand the growth issues in the company, you might not even realise that you're no longer the nimble and low-inertia dinghy until you're up to your knees in sea water. Although an obvious solution to this problem might be to say that all businesses should be small and nimble ones, it's as impractical as saying that all boats should be dinghies. A fleet of dinghies isn't going to be able to support the worldwide sea freight market, and a fleet of small companies doesn't have the necessary resources on hand to take on the big projects that are so often needed. Also, a dinghy is at risk of being swamped by one freak wave, while a larger ship can weather significant storms without going under. Regardless of the size of the business, there always needs to be a good supply of tacticians. A boat (of whatever size) full of people who are all looking out for rocks isn't going to go anywhere, because nobody's making the thing move. Similarly, a company full of strategists isn't going to be doing any of the day-to-day work that actually earns money, and no money means no company. The single most important thing, though, is be self-aware enough to know what sort of person you are, and try to find something that lets you work at the level you're most comfortable at. Otherwise you're just setting yourself up for unhappiness.
(I'm not really sure why I'm suddenly writing management blog posts; this idea of "levels of thinking" just came to me and I figured I'd put it out there. If it makes you feel more comfortable, there's a fairly transparent mapping of these ideas to the practice of software development, although I'll leave the execution of that mapping to the reader. Comments are welcome.)

4 December 2007

Evan Prodromou: 13 Frimaire CCXVI

I'm organizing a micro-coworking session here in Montreal for 6 December (15 Frimaire). "Micro-coworking session" is just a fancy way of saying "hanging out together and working at a caf ". Folks will be meeting in the back of Caff ArtJava from about 9AM to about 5PM. More info on the subStation Coworking event page on Upcoming. The event is for people interested/involved in (or supportive of) Station-C, the incipient Montreal coworking facility scheduled to open in February 2008. But everyone's welcome to come by -- heck, we'd have a hard time keeping you away. tag:

Private and public life in the age of Facebook One of the things I find interesting about life on the Internet is the distinction between public and private life. So much of our lives are on-line today; for many of us, the Web is where we make our living, make our friends, enjoy our social life, and plan our off-line activities. But what about those personal activities that don't jibe with our intended professional image? If we have out-of-the-mainstream political or religious views, or unorthodox social activities, how do we keep them to ourselves? How do you talk about things on-line with friends that maybe you don't want your parents or other family to know about -- or vice versa? How do we preserve our reputation in more than one sphere, in situations where those spheres are very different? I think there are a number of strategies for doing this.
  1. Be discreet. In other words, just don't put personal stuff on the Web. Keep up your professional image at all times, and don't use Web sites or tools to make connections in more private ways. This is probably the safest strategy, and the one that most privacy groups and media recommend. But there are some downsides, too. You miss out on the Web's power to enhance your life as a well-rounded human being -- your personal life languishes for the benefit of your professional one. You give up on some important opportunities to connect with other human beings in a deep and meaningful way. Especially if your interests are shared by only a small percent of the human population, it's unlikely you'll run into other people who share them off-line. I also think there's something unhealthy about stifling your personal side for your professional life's benefit.
  2. Use pseudonyms. Another way of being "discrete" -- here, I mean separated into different parts. I think this is one of the most common ways to deal with the problem. Use your "real name" for activities, groups, and opinions that you feel safe presenting to the world at large, and use made-up names or handles for activities you might not feel like discussing at a job interview. This can be very successful, but also nerve-wracking. What parts of life require a "secret identity", and what parts don't? What if one part of your life leaks into another? It can also be tedious to set up, say, two or three different Flickr accounts, two or three Facebook accounts, umpteen blogs, etc. Or, you keep a LinkedIn account for work and a MySpace one for your partying set, and hope that Google doesn't make a link between the two. But you can get sick of managing them, and other people don't know which name or pseudonym to use and when to "out" you to their other friends.
  3. Integrate. By this I mean: let your personal and professional life grow together. Decide what parts of your personal life you're willing to make public, and bring them into your public persona. Parts of your life that you don't feel you can integrate, consider letting go of. I think this can be risky and difficult, but ultimately I think it's the most healthy psychologically for people who spend a lot of time on the Web. Most often, these people either work for themselves and don't have to answer to others, or they work in industries where offbeat or out-of-the-mainstream lifestyles are tolerated or encouraged (or the need for highly-skilled people makes those "quirks" easier to ignore). Or they just gamble that nobody at their work or in their family is really checking (quite often the case).
  4. Wait for better software. I think the main reason that this is a problem is that social software developers aren't very good sociologists. Or, rather, we focus on the software rather than on the social. It would be nice to see the next generation of Web services support the multiple facets of a person's life. I'm an Open Source fanatic, a Web developer, a wikitista, an entrepreneur, a father, a Burner, a Montrealer, a man, a prankster, a partier and a cook -- among many other things. How can social software, or a federation of services, let me reflect these different aspects of my personality to my friends, coworkers, colleagues, relatives and strangers? Could I define finer-grained relationships with others than just "friend", and choose what parts of my life to feature or downplay with each? It's a fascinating design and implementation question, and my hope is that someone will take on the challenge in the future.
I think this is a situation where our society and our software both need to evolve and change. It would be nice -- very nice -- if edgy politics or weirdo culture didn't hurt your chances of advancing in your chosen field. And if friends, family and colleagues could accept us all for who we are, in all our parts. But it will also be nice if software and software usage patterns on the Web let us find a way to adapt to that, too. People have lots of different parts and lots of different personae that they inhabit at different times and in different contexts -- it would be great to match our social software more to that reality. tags:

One-liners Some other things to note:
  • Montr al has had an insane amount of snow in the last few days. I dug out our car for about 90 minutes this morning, and drove for hours in snow-blind traffic. Not an easy time, but boy the city is lovely like this.
  • I'm doing a talk on extending MediaWiki at the PHP Qu bec meeting this Thursday, Dec 6. Meeting info is here.
  • Pictures from Montreal Santarchy are available on Grimmwire's Santarchy Montreal 2007 set. Great group, fun crowd, loooooong night. Oh boy.
  • Speaking of SantaCon, Santarchy in Second Life sounds totally nutso.
  • My server overload problems seem to be getting better. I moved Vinismo to its own server on Amazon Elastic Compute Cloud. I also moved SonaUiki and the Br leurs site to GoDaddy, where I have a ridiculous number of free Web hosting credits. It worked surprisingly well, and GoDaddy supports PmWiki out-of-the-box. Nice! Update: Apparently GoDaddy adds a whole bunch of ads in on their free Web hosting. I didn't notice; I have Adblock Plus installed. Gar. I'll have to move these sites back pronto.
  • My light and convenient Toshiba Port g R200 has been throwing I/O errors. So I gotta get a new hard drive. Good news: the thing's still under warranty (yay!). Bad news: I gotta drive through this miserable weather to a place in St. L onard to get the HD replaced. Boo!
tags:

Luciano Bello: Debian Logo and Messier 74

Many years ago I heard that the Debian logo represents a galaxy. And I always thought There is no galaxy that looks like that . Of course, I was wrong.

The Astronomy Picture of the Day from few days ago is a really nice picture of the Messier 74 galaxy.

Any resemblance is purely coincidental :)

3 December 2007

Michael Prokop: git[-svn] in 30 minutes

… or something like that… I planned to write a short note about how to start with using git-svn so I can provide a pointer to some of my colleagues. It turned out that git has too many nice features that you should be aware of. :) Hopefully my notes (now being a reference for myself as well, thx to gebi for all the help and feedback) are useful anyway. If you think something (more or less essential, or at least something most of us should be aware of) is missing: please feel free to mention that in the comment section of my blog entry, thanks. Disclaimer: I’m still happy with mercurial for what I - and we at grml in general - use it: linear, but anyway distributed development. git on the other hand provides some really nice features. Rebasing and branching with git is really great - so non-linear development just works. As usual: use the right tool for the right job. git is a bit complicate to use. Not only but especially in the beginning. On the other hand I’m not such a big friend of subversion. If you wanthave to use subversion (Graz University of Technology for example provides a svn service to their students and employees) but prefer to work with git instead you should be aware of git-svn. git-svn gives you bidirectional operation between subversion and git. First of all make sure you have all you might need when working with git. Make sure to use a current version of git (I’m refering to version >=1.5.3). Just execute the following command line on your Debian system to install all relevant packages:
aptitude install \
git-buildpackage git-core git-cvs git-daemon-run \
git-doc git-email git-gui git-load-dirs git-svn \
gitk gitweb qgit
Now let’s start with some general and basic configuration:
# Remove directories from the SVN tree if there
# are no files left behind, configure it globaly:
git config --global svn.rmdir=true
# Want some more global, personal git configuration?
for line in  
  user.name=Michael Prokop 
  user.email=foo@example.invalid 
  color.diff=auto 
  color.diff.new=cyan 
  color.diff.old=magenta 
  color.diff.frag=yellow 
  color.diff.meta=green 
  color.diff.commit=normal 
do
  git config --global $line
done
Check out man git-config for much more details about configuration options. First tip: set ‘g’ as an alias for git so you don’t have to type that much. I’ll write the long version in the following examples so copy/paste works for everyone. Make sure to use the short options of git itself as well: use ‘git co’ for example instead of ‘git checkout’. You can define your own aliases inside git as well - either manually in ~/.gitconfig or running something like:
git config --global alias.st status
Enough pre-configuration for now. It’s time to checkout the SVN repository:
# Check out the SVN repository and set 'svn/' as
# prefix for the branches:
git svn clone -s --prefix=svn/ \
https://svn.tugraz.at/svn/$project foobar && 
cd foobar
# Adjust svn:ignore settings within git:
git svn show-ignore >> .git/info/exclude
# List all branches:
git branch -a
# List all remote branches:
git branch -r
# Rebase your local changes against the
# latest changes in SVN (kind of 'svn up'):
git svn rebase
# Checkout a specific branch:
git checkout $branch
Ok so far? But what do we have to do if we want to work on the upstream source and are allowed to commit/push directly to the repository? Let’s see how to work on that without using branches:
# Hack:
$EDITOR foobar
# Check status
git st[atus]
# List diff:
git diff [foobar]
# Commit it with a commit message using $EDITOR:
git commit -a
# Now commit your changes (that were committed
# previously using git) to SVN, as well as
# automatically updating your working HEAD:
git svn dcommit
But what should we do if we do not have commit rights? Let’s create our own branch and send a patch via mail to upstream:
# Make a new branch:
git checkout -b mikas_demo_patch
# and hack...
$EDITOR
# Commit all changes:
git ci -a -m 'Best patch but worst commit msg ever'
# ... and prepare patch[es]:
git format-patch -s -p -n master
# Now send mail(s) either use git-send-email:
git send-email --to foo@example.invalid *.patch
# ... or if you prefer mutt instead (short zsh syntax):
for f in *.patch ; mutt -H $f
You got a mail from someone else and would like to incorporate changes from the attached patch in your repository? Just store the mail in a seperate mailbox (use save-message in mutt for example, keybinding ’s’ by default), then execute:
# Apply a [series of] patch[es] from a mailbox
git am /path/to/mailbox
Want to work on a seperate branch and rebase your work with upstream?
# First of all make sure to use recent sources...
# So pull when using plain git:
git pull -u
# .. or when using git-svn use:
git svn rebase
# Then create a new branch:
git checkout -b mika
# Hack:
$EDITOR
# Commit:
git ci -a -m 'Best patch but worst commit msg ever'
# Switch to master branch:
git checkout master
# Pull again when using plain git:
git pull -u
# .. or when using git-svn use:
git svn rebase
# Finally switch back
git checkout mika
# Now rebase it with plain git using:
git rebase origin/master
# ... or when using git-svn:
git svn rebase
# Now check out the last 5 commits:
git log -n5
Another branch-session might look like:
git co -b foo
$EDITOR
git ci -a -m 'foo changes'
git co master
git co -b bar
$EDITOR
git ci -a -m 'bar changes''
git co foo
git rebase bar
git log -n5
git st
git branch
Pfuhhh? Right. :) Now it’s time to check out another cool feature: git stash, which is just great when pulling into a dirty tree or when suffering from interrupted workflow. Demo:
git stash
git pull / fetch+rebase
$EDITOR # fix conflicts
git commit -a -m "Fix in a hurry"
git stash apply
git stash clear # unless you want to keep the stash
git reset rocks as well:
# List all recent actions:
git reflog
# Now undo the last action:
git reset --hard HEAD@ 0 
How to get rid of branches?
# Delete a branch. The branch must be fully merged:
git branch -d remove_me_branch
# Delete a branch irrespective of its index status:
git branch -D remove_me_branch
# Delete a remote branch:
git push reponame :branch
Repack a git repository to minimize its disk usage:
git pack-refs --prune
git reflog expire --all
git repack -a -d -f -l
git prune
git rerere gc
Use git cherry to find commits not merged upstream. Another really cool feature is the interactive rebasing: git rebase –interactive Make sure you are aware of gitk: Screenshot of gitk … and don’t forget to set readable fonts for gitk, like:
[ -r ~/.gitk ]   cat > ~/.gitk << EOF
set mainfont  Arial 10 
set textfont   Courier 10 
set uifont  Arial 10 bold 
EOF
If you prefer a Qt based interface check out qgit. Useful ressources:

Miriam Ruiz: Software patents are buggy

Patents are the best way to improve development, and software inventors have just the natural right to their algorithms and designs. Research and Development in industry wouldn’t just work without patent protection, and technology improvements would just stop, right? Well, I’m not so sure of that. Key arguments against software patents, stolen from Pieter Hintjens’ article:

Biella Coleman: The other AAA s

The (overpriced) Amtrak train is rapidly hurling itself north toward New York City, the vanishing light gently illuminating the first snowfall of the year. I am heading back from the American Anthropological Association annual meetings, which were held in Washington D.C this year. After a year’s hiatus, I attended to present a short version of my paper on hacker conferences, which I have pushed along further to entertain more general questions and ideas about the role of conferences in ensuring forms of solidarity among publics that are dispersed geographically. While there are other events that are far more visceral or more profoundly produce what Emile Durkheim has called collective effervescence, conferences are probably one of the most common social forms for ensuring a steady state of moral solidarity among connected but geographically dispersed groups of people. Their importance and role is often overlooked, I think, because of their sheer ubiquity (and I am sure the fact that many are held in creepy corporate hotels populated by seriously over sized & gaudy furniture where you can sit and sip your overpriced Starbuck’s coffee does not help). But it is because they are so common that I think we need to take them a little more seriously as distinctly 20th century events that combine much older elements of ritual and pilgrimage. Because I have attended so many developer and hacker conferences, which tend to be longer as well as far more more enveloping, festive, and, frankly, well executed than academic ones, I tend to think of academic conferences as tepid, lightweight versions. But as I make my way back home, I am pretty worn yet inspired from this one as I decided to sort of let go to give it my all, sleeping far less than I really should have. I usually hold back some, perhaps because most academic conferences I attend are smack in the middle of the academic year, so my mind is partially occupied with the pile of work that awaits me, somewhat depressingly, at the end of your journey. Academic conferences can also produce a fair bit of anxiety, especially for younglings like myself, given that you are performing your skills (or lack of) and ideas (or lack of) to people you respect and admire too. Perhaps it is also due to the hotel environment, which I find not only particularly uninspiring but in all honesty, sort of soul sucking, though albeit, *very* conveniently so. This time, however, I was not going to let the hotel suck any more soul out of me because I was thrilled to see friends from time’s past, had a great time on my panel on digital subjectivities, and was excited to meet new folks and talk about those topics that I spend a lot of time thinking about. I also think the proliferation of (very cute) babies among my friends and the now visible crow’s feet adorning the smiling eyes of my friends made me feel the passing of time a little more forcefully than really I wanted to. So I did my best to turn that pesky faucet of time of off so as to give way to immersion, drawing those from past into the shared nest of the present, so that I would want to see them again in the future. And in the end, that is the point: social reproduction and shouldn’t procreation be fun? I think so… Now back to that pile of work.

2 December 2007

Thomas Girard: Fun with templates

At work we had to use two C libraries defining structures with different size but same name. Function names were different though, so we believed no symbol clash would occur. We thought if we used the headers from each library in a different compilation unit we'd be safe. But we were wrong. The code compiled fine but crashed at runtime. Why? Because we used templates within these compilation units, and this generated weak symbols with the very same name. The linker then discarded duplicate symbols, and since structure size was different we got a crash. Let's reproduce this on a small example:
/* A.h */
#ifndef A_H
#define A_H
struct Data   int an_int;  ;
#endif
/* B.h */
#ifndef B_H
#define B_H
struct Data   char a_buffer[65];  ;
#endif
/* UsingA.cpp */
#inlude "A.h"
#inlude <deque>
static std::deque<Data> a_datas;
std::size_t get_a_size()   return a_datas.size();  
/* UsingB.cpp */
#inlude "B.h"
#inlude <deque>
static std::deque<Data> b_datas;
std::size_t get_b_size()   return b_datas.size();  
/* Main.cpp */
int main(int argc, char* argv[])    return 0;  
We compile these files:
$ g++ -c -I . UsingA.cpp UsingB.cpp Main.cpp
$ g++ -o Main UsingA.o UsingB.o Main.o
and inspect what got generated in UsingA.o, choosing the call to size() to reduce the output:
$ nm -C UsingA.o   grep '::size()'
0000000000000000 W std::deque<Data, std::allocator<Data> >::size() const
Likewise in UsingB.o:
$ nm -C UsingB.o   grep '::size()'
0000000000000000 W std::deque<Data, std::allocator<Data> >::size() const
g++ has generated code for the deque we're using. That's how templates work: they get "expanded" in the compilation unit using them. So far so good. Now if we look in Main:
$ nm -C Main   grep '::size()'
0000000000400a64 W std::deque<Data, std::allocator<Data> >::size() const
we see there's only a single symbol in the resulting binary. Because the symbols are weak (see the W in nm output), g++ silently discards one version, say the version in UsingB.o. (If they were not weak, link would fail because of duplicate symbols. And every C++ program would fail to link.) Therefore any call on b_datas is likely to fail: the deque code called will not use the right definition of Data. Lesson learned: avoid data structures with the same name.

1 December 2007

Ben Armstrong: Atheros patch makes wifi work for Debian-eeepc

Atheros has released a AR5007EG chipset patch that makes wifi work for Debian on the Eee PC. I have used the instructions in the ticket to build and install the patched driver. As noted in the comments, you’ll need the snapshot, not the latest release source for the patch to apply cleanly.

Joey Hess: my mpd setup

One of the hard things about getting started with mpd is that there seems to be little documentation about the details of how other people use it. Instead you're given a collection of great tools and an excellently designed system, and expected to build your own personal music playing setup out of them with little direction. So I thought I'd document mine. There are several computers around the house that run mpd. One in my office, one has speakers in the bedroom. My laptop, of course. And I put a nslu2 in the living room in a fun lego case that embeds the little computer into a remote controlled speaker (photos when I find a camera). All of these machines have their music libraries synchronised using unison. I use sonata as a graphical frontend and browser. I keep one instance of sonata running on my desktop in the office, so I can go there to change music if my laptop's not on. Also so guests can change the music. I like to listen to whole albums at a time, and sonata doesn't make this especially easy in its user interface. I eventually realised that the best way to do it, for me, was to create a separate playlist for each album. Sonata does make it really easy to click on a playlist and start playing it. I wrote mpgenplaylists to automatically generate those playlists for me. I wrote a set of commands that I can use to transfer state between my mpd daemons. The easiest to use and most useful of these is mpswap, which swaps the state of two daemons. Generally I only have one mpd playing at a time, and the others are paused, though it'll also swap the states of two running mpds. So if I run "mpswap dodo dragon", the music that had been playing in my bedroom starts coming out the speakers in the office. Same song, not a single missed note. That's pretty handy. Or I can run "mpswap dodo" to swap state with my laptop, and carry the music out of the house with me. (This would be more seamless if I carried some bluetooth wundergadget so my computers knew where I am, but I think I'll pass.) Another tool I wrote is mpstore, which dumps the mpd daemon state out to stdout, so it can be saved to a file and later loaded with mpload. I use this when I'm listening to audiobooks, to store my place. Another one is mpfade, that can wake me up by slowly fading in music. Or slowly fade out and stop. Writing these little hacks is addictive, but I won't bore you with the rest. On some of the servers I run mpd-dynamic, a daemon that watches the playlist and makes sure it always has 10 unplayed items in it, chosing new items at random. It also removes old played items from the playlist. This is nice if I want music going without the bother of picking what. I typically add some albums to the playlist, and then when they're done, it keeps playing random stuff until I manually add something else. I do want to find something that can more intelligently pick things to play. I tried lastfmpdqc, but didn't like its results. Switching to mpd has meant that the filenames of mp3s matter again, since mpd UIs expose the filenames (a pity). I used exfalso to clean up all my file names based on the music's tags. I also added ReplayGain information to all my music so mpd can use it to normalise volume. BTW, after all this, I'll probably still only listen to music for an average of 3 hours per week.
mpd-dynamic is in the Audio::MPD perl module. mpdswap, mpdstore, mpfade, mpgenplaylists, and more are in mpdtoys.

30 November 2007

Fathi Boudra: QSplashy, a graphical front-end for splashy_config

Debian hasn’t adopted yet a default bootup splash utility and we need one to make it more sexy : it’s time to push Splashy :)
Splashy is a nice boot splashing system. It doesn’t need to patch the kernel and need a single configuration file in XML. Some users complaint about a missing GUI to make it easier to change stuff. here it is: QSplashy \o/ qsplashy no fear GTK/Gnome people ;) GSplashy exists too ! if you are interested to help to make Splashy, the next bootup splash utility for Debian (and others),
join us: http://splashy.alioth.debian.org/wiki/

Daniel Burrows: The Dreaded I-Word

A popular and recurrent topic of conversation on the Internet has the following form:
Is (X) innovative?
I occasionally find myself reading these discussions; they have the same sort of macabre fascination for me that's often ascribed to train wrecks, messy divorces, and Usenet. Of course, the outcome (or rather the lack of one) is always predetermined. The only variable is how many pixels will be mutilated and how many absurd postures will be struck before the dust settles. Why do I say the outcome is predetermined? Because in not one of these discussions does the person posing the question precisely define what innovation is. If the discussion concerned, say, whether an object was blue, or made of concrete, or 5 meters by 6 meters, this would not be a real problem: while any hair can be split, there are commonly accepted definitions of blue, concrete, and meter that are sufficient for an informal discussion. But innovation is not blue, concrete, or meter. Different people have subtly, even radically different views of what constitutes innovation and how to measure it. Hence, any discussion involving more than one person quickly devolves into chaos. One person will say, X is innovative because of such-and-such, and another will reply, X is not innovative because of such-and-such unrelated reason. Both writers are correct by their own definitions of innovation; they are answering different questions, and so they end up talking past one another. Although these discussions never go anywhere, I think it's entertaining and enlightening to catalogue some of the definitions of innovation that the participants use. I've listed some popular definitions below; feel free to email me with more suggestions and I'll update the list. Of course, since people rarely bother to define their terms, most of these meanings have been inferred from the statements people have made about what is and is not innovative. As a result, some of them are fairly absurd and may not accurately reflect the opinions of the speakers, had the speakers stopped to think about what they were saying. Caveat lector. Conventions: Below, personal pronouns such as I and me refer to the speaker. The words product, idea, and technique are used interchangeably and as appropriate to refer to the thing whose innovativeness is in dispute.
  • The idea advanced the state of human knowledge.
  • The idea was an improvement over existing ideas.
  • The idea improved the state of practice within its field.
  • The idea was previously unknown.
  • The idea was previously unknown to its creator.
  • The idea was previously unknown to me.
  • The technique solved a problem thought to be unsolvable.
  • The technique solved a problem with no known solution.
  • The technique solved a problem with no solution known to me.
  • The technique solved a problem with no solution known to its inventor.
  • The product was aesthetically pleasing to me.
  • The product is entirely unlike any other product with which I am familiar.
  • The product is exactly the same as some other product with which I am familiar.
  • The product solved a problem more effectively than existing tools.
  • The product made its creator the wealthiest living human.
  • The product made its creator wealthy.
  • The product made someone wealthy.
  • The product reaped a huge profit for the corporation selling it.
  • The product was bought by many people.
  • The product was used by many people.
  • The product was useful to many people.
  • The product was useful to someone.
  • I bought the product.
  • The product was useful to me.
  • The product was created by (some particular entity, such as Toyota or Apple).
  • The product was not created by (some particular entity).
  • The product is good. (NB: of course good is another ambiguous term with many definitions, one of which appears to be innovative; the fun never stops!)
A Contrarian View This post charitably assumes that the purpose of the discussions I described, and the goal of the participants, is to arrive at a commonly agreed-upon answer to the opening question. In reality, though, most discussions on the Internet, particularly when they involve many anonymous or pseudonymous parties, are just tribal wars. Individuals decide which side to affiliate themselves with, then search for arguments that will tend to support their side or undercut the opposition. Facts and logic are largely irrelevant, except as weapons with which to smack one's opponents, and a dismissive put-down is as good as or better than a reality-based analysis. Actually changing your mind based on the evidence presented shows weakness, and is to be avoided at all costs. If you have to assert that up is down, do it. In this environment, using vague terms appears to be a bonus, since it gives you more wiggle room and opportunities to play gotcha!. If someone responds to your post with facts that rebut you based on the definition you were using, you can pick any other definition and say ...but what about..? Which is why these discussions (in which no-one is actually discussing anything) are both a fascinating window into human nature and a depressing commentary on human nature, and why I keep finding myself reading them.
PS: This post is the first long post that I've used ikiwiki to write. An advantage of my new workflow, where I write posts on the bus and commit them into a local git repository, is that I have a nice block of time to write down random thoughts that have occurred to me on the way to or from work; sometimes I forget what I was going to write over the course of the day, and when I get home I usually get deluged in email and real life. It's always amazing to me how long it takes to write posts when I actually think about what I'm doing. This post has taken me at least an hour to compose, and I think probably more (especially counting the composition I did in my head while, e.g., walking from point A to point B). It's a lot harder -- which means, of course, that it's fun; if I don't get distracted by a coding project, I'll be trying to take advantage of my new workflow to post more often.

Stefano Zacchiroli: buggy vcs-svn fields

Buggy Vcs-Svn fields around My statistics flu continues (oh, BTW, don't worry, I'll be quiet again on planet RSN). This time I wanted to check how many packages are maintained using some Version Control System in Debian, but at the same time are not declaring a proper Vcs-XXX field in their debian/controls. With the help of Goneri and the svnbuildstat I've managed to cross the data used to actually build nightly packages from subversion repositories with the Vcs-XXX fields declared in Debian source packages. The outcome is yet another daily updated page which lists packages which are missing Vcs-Svn field and/or declare a wrong one (i.e. one which is not in sync with what svnbuildstat is using to build the package). You might want to have a look to the corresponding dd-list to see if some of your packages need to be fixed. Several of mine do for example ... Oh, of course the check is limited to what svnbuildstat knows. If you want to be checked it's a good idea to ask for the addition of your repository to svnbuildstat.

Next.

Previous.