Following many months of faff, today Katherine and I completed on a house
in
Castlerock. I say Katherine
and I, but really I did very little. She started looking after she'd
started at
UU, before we knew
Black Cat was going to be sold. My
sole involvement was to be dragged round a few places (including this
one) when I was back in April.
The initial plan was that Norwich would remain our "home" and this would
be somewhere that Katherine would be able to live during term time, that
I could also work from now and then. Given recent events it'll no doubt
become "home" and we'll leave Norwich. To that end I've been looking at
the job market back in NI. I've found (and applied for) a few things in
Belfast, all software development roles. I may even have an interview;
had a phone call today that felt very much like a phone interview and
ended with talk of getting a formal interview sorted for when I'm next
over.
All scary stuff. Belfast is a bit far for a commute, so I may end up
living there during the week. Or I might not get anything in NI and have
to look further afield. Anyone know anything going in Derry? That may be
a more managable daily journey.
God bless buildbot. Once Poky was released Richard, Marcin and myself
started pushing upgrades into Poky trunk, resulting in 96 commits during
the day. These generally worked on our personal machines, but thanks to
the incremental autobuilder (which compiles all of the packages for five
different targets) all of the problems were caught rapidly and fixed by
the end of the day. As a well-done present the nightly autobuilder (which
does a clean build) managed to build everything successfully for almost
all of the targets. Impressive stuff really, without buildbot I doubt
we'd have been able to upgrade autotools, Linux, X, and GNOME in one day
and still produce working images the next.
NP: Butterfly Wings Make, Orla Wren
The Bad: The kid in the lab next door had Boston's "More Than A Feeling" on repeat for about half an hour today. I don't even know where to begin.
The Good: The gym that I get to use for free at work is very small but fairly complete. Due to these two attributes, there's very little free space to use for jumping rope, which is something I like to do very much. Tuesday I saw a guy stake out a very small space and managed to do just that, so I tried it myself today and was able to get in jumping rope in to my workout for the first time in months. Much sweat did ensue.
It's been a few days since I posted on my blog -- since I left
Montreal for
Taipei and
Wikimania 2007. My time has been
upside-down and backwards as I've traveled around to the other side of
the clock and a day into the future, and I've just been insanely busy
with other work.
My flight to Taipei was
dreamy. I travelled enough last year to
get Air Canada's "silver" frequent-flier level, which earned me a
couple of system-wide upgrade certificates. They came in handy, since
I bumped up to business class on the leg between Montreal and
Vancouver, and then to the "Premier Laurel" class on the
EVA Air codeshare between Vancouver and
Taipei. That was first class across the Pacific Ocean, and man,
it's the only way to fly.
Jimmy Wales was on the same plane (but back in business
class...), so we got to chat a bit and we shared a taxi to the
conference site. Jimmy's really fun to talk to -- it's always nice
talking to another entrepreneur who's passionately dedicated to Free
and Open Content.
(We were in line for customs together, too, and I tried to peek at his
passport to find out his date of birth, over which there is
some confusion. But he had his thumb over the day
(intentionally...?), and all I got was "Aug 1966", which everyone
agrees on anyways. Dang! My personal theory is that Jimmy was born on
6 June 1966 and uses 8 Aug 1966 instead to avoid the demonic stigma.)
The conference centre we're in is great -- a really big, clean, modern
place. It's nice when we're inside, but Taipei in August is muggy and
hot like a laundromat in rural Mississippi. I find myself rushing
between buildings.
tags:
wiki wikimania2007 taipei evaair jimmywales travel
IM IN TAIPEI HACKING UR DAYS
I came in a couple of days early to participate in the
Hacking Days
event. This is a pre-conference meetup for MediaWiki developers and those who love them. The meetup was really
unstructured and fun because of it, although there were a few points
of uncomfortable silence when people stopped talking and we all
realized we had 14 more hours of meetings and not much left to say.
There's also a real tension between the conference organizers, who've
encouraged non-developers to come to Hacking Days, and the core
developers who really want to just be left alone and get some work
done. This year the 2-day event was split into "Hacking Days" and
"Hacking Days Extra", with the first being invite-only and the second
being open to all.
I think it's a tension that needs to be resolved -- if outsiders
aren't invited to Hacking Days, we just need to say that and live with
it. We shouldn't let people think they're going to participate and
then cut them out. That's a bait-and-switch tactic and it's unfair. I
think that there's a need for an open-attendance MediaWiki conference;
I also think that MW is a big enough piece of software that
third-party conference organizers would be eager to make an MWCon
work. And core developers could get hefty fees for coming to talk!
tags: wiki mediawiki hackingdays wikimania2007
Announcements
I've been having problems sleeping here. I've been falling asleep at
the wrong times and waking up at the very wrong time. Last night, I
missed the Wikitravel Eat-together because I fell asleep at dinner time and
didn't get up for the event. Make mental note: don't miss your
favorite wiki's user get-together! Fortunately
Jani covered for me and
apparently the event was a lot of fun.
Speaking of Jani: this morning he announced a new venture that Maj
and I have been helping him with. Wikitravel Press is an independent company that will be publishing a
line of printed travel guidebooks (yes, paper books! That you can hold
in your hand!) based on Wikitravel content. I think it's a great
project and I'm really glad we're going to finally be fulfilling this
important goal of the Wikitravel project.
I also think it's going to be a great way to attract a new round of
contributors -- people who are more reliant on their paper guidebooks
than to a search engine for learning about their destinations. I think
that the idea that they can change and improve the books they
have will be a really important incentive for these folks.
And like it or not, there are still a lot of people who don't consider
digital information "real" in the same way as analog-stored info. So
putting Wikitravel guides on paper is like Pinocchio becoming a
Real Boy. Thank you, Blue Fairy! More info at the project's announcement and the on-site discussion (Wikitravel:3 August 2007).
tags: wikitravel wikitravelpress guidebooks travel announcements
Called out
This morning's keynote address by the Wikimedia Foundation chairwoman Florence Devouard was informative and interesting. She even talked about ways to bring money into the Foundation... including selling books based on the site content. I was giggling about this with Jani as she moved on to talking about the attention economy, to hear, "For example, Evan is not paying attention right now and talking to his neighbour." D'oh!
Lesson learned: don't mess with User:Anthere!
tags: anthere keynote books wikimediafoundation
xorg and
openoffice.org started with a cleanup of their bug reports. It is really great that compared to 2-3 years ago major cores of the Debian OS in unstable are quite in sync with upstream. Thus it is easy to forward to upstream the interesting part of bugs.
The linux-2.6 bugs count reached that weekend almost 850 open bugs. Seeing that it gets unmanageable I'll decided to get it down to a target of 100 bugs. I'll blog from time to time about the progress.
The process consists of pinging quite some bug reports against old Linux images and closing a huge swap of duplicate or no longer relevant bug reports. I expect the signal to noise ratio getting better once the bug count gets denser. The current side effect was to forward 1 patch upstream and to get 2 easy low hanging fruits fixed in latest
linux-2.6 trunk.
Thanks to enabling CONFIG_BLK_DEV_IO_TRACE trunk gains support for the
blktrace(8). blktrace does direct IO block layer tracing - see also
blktrace guide.
The command crm_resource allows you to do basic editing of resources in the Heartbeat configuration database. But sometimes you need to do different things and the tool
xmlstarlet is a good option.
The below script can be used for testing Heartbeat OCF resource scripts. It uses the Heartbeat management program cibadmin to get the XML configuration data and then uses xmlstarlet to process it. The sel option for xmlstarlet selects some data from an XML file, the -t -m options instruct it to match data from a template. The template is the /resources/primitive part. The --value-of expression will print the values of some labels from the XML. The script will concatenate the name and value tags and export them as environment variables (see my
post about Configuring a Heartbeat Service for an explanation of the use of the variables). The TYPE variable is the name of the script under the /usr/lib/ocf/resource.d/heartbeat directory.
In recent versions of Heartbeat (2.1.x) the OCF_ROOT environment variable must be set before an OCF script is called. Setting it on older versions of Heartbeat doesn’t do any harm so I unconditionally set it in this script (which should work for all 2.x.x versions of Heartbeat).
The first parameter for the script is the id of the service to be operated on and the second parameter is the operation to perform (start, stop, and status are the only interesting values). The script will echo the exit code to the screen (0 means success, 7 means that the service is not running or the operation failed, and any other number means a serious error that will trigger a STONITH if Heartbeat gets it).
#!/bin/sh
$(cibadmin -Q -o resources xmlstarlet sel -t -m \
"/resources/primitive [@id='$1']/instance_attributes/attributes/nvpair" \
--value-of "concat('export OCF_RESKEY_',@name,'=',@value,'
','TYPE=',../../../@type,'
')")
OCF_ROOT=/usr/lib/ocf /usr/lib/ocf/resource.d/heartbeat/$TYPE $2
echo $?
Below is another version of the same script that instead uses crm_resource to get the XML data. The output of crm_resource has a couple of lines of non-XML data at the start (removed by the grep) and also only gives the XML tree related to the primitive in question (so the /resources part is removed from the xmlstarlet command-line).
#!/bin/sh
$(crm_resource -r $1 -x grep -v ^[a-z] xmlstarlet sel -t -m \
"/primitive/instance_attributes/attributes/nvpair" --value-of \
"concat('export OCF_RESKEY_',@name,'=',@value,'
','TYPE=',../../../@type,'
')")
OCF_ROOT=/usr/lib/ocf /usr/lib/ocf/resource.d/heartbeat/$TYPE $2
echo $?
The problem with both of those scripts is that they rely on Heartbeat being operational. Performing any operations other than a status check while Heartbeat is running is a risky thing to do. If Heartbeat starts a service at the same time as you start it via such a script then the results will probably be undesired. One situation where it is safe to run this is when a service fails to start. After it has failed repeatedly Heartbeat may stop trying to restart it (depending on the configuration) in which case it will be safe to try and start it. Also you can put in temporary constraints to stop the resource from running by repeatedly running crm_resource -M -r ID until all nodes have been prohibited from running it (make sure you run crm_resource -U -r ID afterwards to remove the temporary constraints).
The following script does the same thing but directly reads the XML file for the Heartbeat configuration. This is designed to be used when Heartbeat is not running. For example you could copy the XML file from a running cluster to a test machine and then test your OCF resource scripts.
#!/bin/sh
$(cat /var/lib/heartbeat/crm/cib.xml xmlstarlet sel -t -m \
"/cib/configuration/resources/primitive [@id='$1']/instance_attributes/attributes/nvpair" \
--value-of \
"concat('export OCF_RESKEY_',@name,'=',@value,'
','TYPE=',../../../@type,'
')")
OCF_ROOT=/usr/lib/ocf /usr/lib/ocf/resource.d/heartbeat/$TYPE $2
echo $?
Share This
Hey, I am back from vacation. I was back on Saturday but I didn't had the time to blog or do Debian work, so hello :-D.
After coming back from my vacation I went back to the softfloat rrdtool thingie I was
working on before and I finaly managed to compile a statically linked softfloat uclibc rrdtool. Needless to say that I found that a pain and I ended up:
- avoiding the Makefile and made the linking manually because:
- for some unknown reason, the -static option didn't ended up in the final link call
- libfreetype and libart_lgpl always were added as .so files... - libtool is probably the usual susupect, but I suspect the upstream libraries themselves
- avoided (completely) using xmerge and used directly the source since:
- CFLAGS="-Wl,-static" did not do the right thing (it didn't do in raw source, either)
- I was about to make a static rrdtool, so I didn't needed gentoo's ebuilds at that point
If you are curious about the hideous details, just add a comment or email me and I'll send them or publish them.
So, in the end, I managed to produce a staticlly linked arm-softfloat-uclibc rrdtool which:
- did not work directly on the .rrd files generated by the debian packaged collectd since they were "generated on another achitecture"; well with debian's rrdtool, 'rrdtool dump' was not that slow, so it was acceptable to dump with debian's rrdtool and restore with the statically linked one
- generated graphs in about 1 minute (way slower than my amd64 machine, which does in 3s, but at least 100+ times faster than debian's arm rrdtool - remember, I tested the generation and it didn't finish the first graph not even after 50 minutes)
So that was fun. The total round trip for a round of graph generation was about 15 min which was more than cool and fast compared to the slow native variant, whohoo!
Now the downside, I am not through with it. If you look at the picture you'll notice that there is a "small-ish" problem: there are no scales, legends and no letters/glyphs of any kind, so the graphs are still quite useless, but better than nothing:

They should look something like this:

Notice any difference? :-/
Of course, I won't stop here!
I suspect the problems come from the cross compiled libfreetype and libart_lgpl, and I'll probably end up doing some native compiling after all, sigh!
Thanks for sending me the article and someone also sent me a link to an accessible
copy here.
And remember, plants work wonders to curb indoor air pollution, which can be as bad or worse than outdoor ones. Here is a
list of some of the best polluting fightin’ plants .
I used to have many many many plants but when you move nearly every year, you slowly have to get rid of them. last year in Canada we had one and we had to sadly part way with the plant that has been with us for 5 years.
But now that I have moved somewhere that will be my home for a bit, I am going to go a little nuts with the plants again. I just love having them. Now I need to find a good greenhouse in NYC that does not charge an arm and a leg.
A year ago I setup a
xen hosting
platform, because I was selfish and wanted a lot more resources than
I could otherwise buy within my budget.
At that time I managed to setup a system which gave 7 users 256Mb of
memory, 10Gb of disk space and 3 IP addresses all for 11.50 a month,
or 138 a year.
On the first anniversary I've managed to increase those resources such
that our users can now have:
- 40Gb of disk space (x4!)
- 512Mb of memory (x2!)
All for the same price.
One user decided to buy two accounts upon the machine, so that he
could have a combined 512mb+20Gb account, and as the resources have
increased this year this is no longer required - so we have a space free
for one more user.
Last year several people asked for accounts and I had to reject them - I
don't want to be a hosting company I just want to have enough users to
fill a machine so that I can be selfish and get a higher spec for myself!
So if anybody who asked last year is still looking for cheap hosting
there will be one space at the given spec and price available
from this coming Friday / Saturday. (Unfortunately I must insist
upon a years payment in advance.)
Uptime last year was good I can recall two reboots with minimal notice,
which is reasonable enough I think. You'll get as much support as I can
offer, my mobile number, and a clean install of any Debian derived
distribution.
(The
xen-shell
package was developed for this service last year, and allows you to
reboot your machine remotely, manage reverse DNS, and connect to the
serial console if you break your networking. You'll be able to use
that over SSH.)
Please comment if you're interested - If there are more people interested I guess I'll work though the list in order of comments until somebody commits to paying.. Questions welcome,.
TODO: Update website, get great testimonials about my "service" ;)
Update: Space gone.
Thanks to hosting my server on
xen hosting,
Kite will get a faster CPU, and twice as much disk this year as it got
last year. And I'll be paying only half what I paid last year.
I can't say enough good things about the little co-op Steve has set up.
Ineed, my only complaint after a year of hosting Kite on xen is that I
can't yet install my own kernel. But the much nicer hardware than I could
afford, the absurdly low price (lower than any other xen hosting I've
found), xen's shielding me from server reboots and downtime and general
mucking around with nasty hardware and colos, the xen-shell management
interface, and everything else, is great.
There's one free slot opening up on the machine. Whoever gets it will be a
very lucky person. Everyone who doesn't should consider putting together a
system following the
xen hosting model.
I am subscribed to the Google news alerts for the keyword
Debian, and usually this means that I am
notified of every security upgrade at least three or four times (needlessly,
since I'm subscribed to
Debian's security
announcements anyway...) But today, two headlines sparked my
interest:
One, Carla Schroeder wrote an introductory article into building
Custom
Linux kernels with Debian and Fedora (though why somebody would want to do
this is beyond me...), showing how easy the process is (I may be biased, but I
find Debian's way is easier. On the other hand, it within the -- rpm --
package framework instead of a custom command -- make-kpkg in Debian -- feels
more consistent and logical. Without reading documentation you won't get
anywhere on both systems, so it probably doesn't matter...) One down for
Carla, however, for not doing enough basic research: “The new naming
convention [
linux-* instead of
kernel-* packages] opens the
door to using other kernels with Debian, which I don't know what those would
be, but Debian is ready for them.” Or one down for us, the Debian
project, for not making enough noise around the various non-Linux ports.
Though that will come when GNU/kFreeBSD is released with lenny...
Two, Debian derivative
SimplyMEPIS,
which switched to Ubuntu as a base operating system a year ago, is now
returning to Debian
GNU/Linux as its base system. The main reason seems to be long term
stability and upgradeability - which is a key strength of Debian for many
other users as well (me, for one.) The reason for switching to Ubuntu in the
first place has been newer application versions and predictable upgrade
schedules (and that Warren Woodford misunderstood how Ubuntu LTS was to be
maintained, apparently) -- both issues are being addressed within Debian as we
get better release management and faster integration of new application
versions (the big pieces of software I use regularly are the
Linux kernel,
X.org,
KDE and
OpenOffice.org, all of which I find are
integrated in unstable fast enough, and much faster than 2 years ago. That
the testing migration sometimes takes time is not a problem since mixing etch,
lenny and sid is usually possible without problems even in a production
(desktop) environment.) So, if we take a step back from the day-to-day
squabbling between developers working at cross purposes and look at the output
we produce, I believe we're still doing some things right.
Over the past few months I have been asymptotically approaching being able to make a good cappuccino or latte. (I'm way better than the glassy-eyed morons who are usually behind an espresso machine but nowhere near "good barista".) However, over the last few weeks I have noticed that sometimes I was not able to steam the milk properly. I get very little foam then when I bang out the biggest of the bubbles, it’s virtually flat.
I had thought that I was just having a bad run, but then a colleague mentioned it too. It turns out that only some of the bottles have this characteristic, and we haven't determined, from analysis of the codes on the bottle tops, what determines this. Each was full-fat milk from the same dairy.
If anyone who reads this knows the answer, please mention it in a comment.
After an exhausting trip home from OSCON (Portland to Frankfurt 10 hours, then by car to Innsbruck, 6 hours), I caught something nasty and am taking it easy. So I took a little bit of time to work on updating the
Linux Incompatibility List to use
DedaWiki, to which I also added a search function. Hopefully this will allow me to manage spam just a little bit better, as it is becoming a serious problem for that site, due to its popularity.
I finally managed to learn
CTest enough to be able to add some test
cases to add some automatic testing to
Gammu. Well there is not
much to test until we have some fake driver for phones which can be used
to feed custom data, but at least some parsers can receive testing.
First thing I try to focus on is vCard parsing. I know this is currently
tricky and I'm trying to collect as many problematic vCards as possible.
For now I have collected some from issues in bug tracker and my emails
when people reported some problems. So if you have some vCard which
Gammu parses wrongly, please send then to me.
For now 3 of 5 vCard tests fail, but I hope to resolve those problems
until release will happen :-).
I recently received an email from
RSA inviting me to read their blog (after having requested an evaluation copy of one of their products). They invited me to “join the conversation“. Often blogs are described as a “conversation” and I’ve been considering whether that analogy is appropriate.
The Collaborative International Dictionary of English v.0.48 has the following definition: Usage: Conversation , Talk . There is a looser sense of these words, in which they are synonymous; there is a stricter sense, in which they differ. Talk is usually broken, familiar, and versatile. Conversation is more continuous and sustained, and turns ordinarily upon topics or higher interest. Children talk to their parents or to their companions; men converse together in mixed assemblies.
There are instances of blogging that can approximate conversation when bloggers cite each other’s articles in turn and leave comments on each other’s blogs. But it’s usually not that continuous and sustained. An occasional patterin is that blogger A writes a post, blogger B writes a post disagreeing with it, blogger A comments on blogger B’s post, and that’s usually the end of it. Usually it’s just a case of multiple bloggers writing posts representing their own opinions with occasional references to other blogs and no sustained interaction. The blogging interaction seems to more closely resemble academics presenting papers with alternate solutions to a problem than a conversation.
One factor that I believe defines conversation but which isn’t mentioned in the dictionary is that the parties involved have an equal standing. The comments section of a blog is not such a forum, the blogger has a significantly more powerful voice (at least in connection with their own blog) than the people who comment. Someone who posts a comment may have it deleted, and it if is left then a rebuttal in another post will be seen by a significantly larger number of people (the number of people who read comments on a post is a tiny minority of the people who read the post). This doesn’t preclude conversation between bloggers who are of equal popularity in a community, for example most readers of my blog come from
Planet Linux Australia and
Planet Debian so any blogger who is also syndicated on those sites has an equal voice to me.
Another factor in conversation is whether responses are even read. Many blogs don’t accept comments and it’s never certain that a blogger will see a track-back from a blog that references one of their posts. When one party ignores the other (or appears to do so) then there is no conversation.
I’m not aware of whether a conversation with RSA people would be possible. While their blog refuses to send content to my Planet installation I guess I’m not going to find out…
Is the lack of conversation a bad thing? One problem with conversation is that it often degenerates into what GCIDE defines as talk, while that is good for a friendly mailing list (EG your local LUG) it isn’t so good for the exchange of technical information. A compounding problem for mailing lists is the number of posts that can not be interpreted without the context of a thread of discussion. This often makes mailing lists unreasonably difficult to use in the search for answers to technical problems. When reading google search results I will usually read blog URLs before mailing list posts as a blog post will usually stand alone and either give me an answer or be obviously not related to my problem - sometimes I have to read a dozen messages in a list discussion to determine that it’s not going to help me!
To improve things in this regard I plan to increase the number of posts I write with solutions to random technical problems that I encounter with the aim of providing a resource for google searches and to randomly inform people who read my blog. I find such posts by other people quite useful, I often get inspired to implement a technology after reading a blog post about it - there are many things that have a low priority in my todo list because they seem difficult, a blog post that reveals them to be easier than expected and advises how to avoid common problems can really make a difference!
Share This
This is probably the last GUADEC roundup to hit the Planets, considering
that it finished a week ago. But, hey, I've been busy.
GUADEC was, as usual, a blast. Less sun, sea, and beach parties than last
year; more rain, clouds, and parties in fake-Australian bars with too-loud
music. If the weather was better we could have hijacked the landlocked
beach, which would have been fun.
As an educational conference I totally failed at GUADEC, out of an entire
week of talks I managed to attend a grand total of seven talks. Between
the GNOME Mobile meeting sprawling across two afternoons, a few meetings
with clients, occasional attending our stand and having to leave Thursday
afternoon meant that there just wasn't enough time.
As a photographic experience I
mostly
failed. I took more photos at Matthew's excellent
Clutter
Foo talk than the rest of GUADEC itself, and more photos at the
ping pong tournament than the others combined. From playing with my
camera at the tournament I now know that the Sigma 17-70 lens is no way up
to the challenge of sports photography: too slow and too short. My next
lens however will be Sigma's new 30mm f/1.4, I've been eyeing it for a
while now and Daf had given in to temptation so I could have a play with
it. Sports photography will have to wait.
As a member of the organising team however, I don't think I totally
failed. There were a few last minute snafus in the schedule but on the
whole it appeared to hold together, the main problem being there being
just too many good talks on at the same time. Congratulations of course
are due to Paul, Thomas, Bastien and Rob, who kept the conference running
on track all week.
Next year, Istanbul. That
will be interesting.
NP: F♯ A♯ ∞, Godspeed You! Black Emperor
Thanks to
Centauri Dreams for the pointer to the ESA DARWIN proposal now
here (high-resolution version also
here).
DARWIN is a space mission to detect the presence of life on other planets by
spectroscopy: looking for
biomarkers such as the presence of Ozone, water and methane together on terrestrial-sized planets. These are groups of gases that collectively would imply the presence of life.
Unfortunately it appears that DARWIN is slipping: its not currently hardware-funded, and has a planned launch-date of 2020, having slipped from 2012. This is when NASAs alternative
Terrestrial Planet Finder and
Space Interferometry Mission have been defunded indefinitely.
At the same time, the French
COROT mission has just announced its
first month-long series light-curves.
COROT hunts for Earth-sized planets: it's a small space telescope that stares at the same patch of sky for long periods, looking for changes in the
amount of light from stars that indicate a planet passing in front of a star.
It has been much more successful than expected, having already announced its
first exoplanet detection in April.
NASA is also launching a similar mission,
Kepler, in 2008.
So we face the prospect that any day now we may know of Earth-sized planets in a
Habitable zone, and yet be over a decade from determining if they could contain life.
So do we have any other tricks up our sleeves? Other possibilities include
the
James Webb Space Telescope, the successor to the Hubble. With a launch planned in 2013, it would be able to determine
some atmospheric features found in COROT detections, but would be too expensive to do the planet-hunting Darwin could do. Perhaps this could be imroved with occulters such
as
UMBRAS (thanks to
enzo).
Other novel detection missions include the
Voyager Interstellar Mission
(
via), reusing exisiting 'end-of-life' spacecraft as telescopes.
And finally, could ground-based telescopes do it?
tests have just started on a new 10M telescope
in the Canaries that could help; in terms of larger scopes, colleagues of mine in
NUI Galway have been collaborating on the design of
Euro50,a proposed 50 M telescope. Together with new techniques such as
spectral deconvolution (via
via) may help.
Tags astronomy, exoplanets
Following
my previous article, I had some interesting comments introducing me to
git-filter-branch (which is a new function coming from cogito’s
cg-admin-rewritehist). This command is really designed to rewrite the history and you can do much more changes… it enabled me to fix the dates/authors/committers/logs of all the commits that were created with git_load_dirs. It can also be used to add one or more “parent commits” to any commit.
In parallel I discovered some problems with the git repository that I created: the tags were no more pointing to my master branch. This is because
git rebase won’t convert them while rewriting history.
This lead me to redo everything from scratch. This time I used
git-filter-branch instead. The man page even gives an example of how to link two branches together as if one was the predecessor of the other. Here’s how you can do it: let’s bind together “old” and “new”… the resulting branch will be “new-rewritten”.
$ git rev-parse old
0975870bb1631379f2da798fa78736a4fe32960a
$ git checkout new
$ git-filter-branch --tag-name-filter=cat --parent-filter \
"sed -e 's/^$/-p 0975870bb1631379f2da798fa78736a4fe32960a/'" \
new-rewritten
[...]
Rewritten history saved to the new-rewritten branch
Short explanation: the only commit without a parent commit (thus matching the empty regex “^$”) is the root commit and this one is changed to have a parent (-p) which is the last commit of the branch “old”.
At the end, you remove all the temporary branches, keep only what’s needed and repack everything to save space:
$ git branch -D old new
$ git prune
$ git repack -a -d
I really enjoyed OSCon. This was the first conference I've been to in years where I've felt a bit sad that it's over. I met a lot of interesting people, enjoyed most of the talks I attended (and especially this morning's keynotes), and also enjoyed Portland. I recommend OSCon. Last year, I went to Usenix ATC. Compared to Usenix, OSCon had more talks that were relevant to things I'm interested in, more people that I met with similar interests, more people that I knew online and met in person, and a more broad program. The one criticism I would level at OSCon is that it has a disproportionately high number of web-related talks.
On to other items...
Portland
Probably the friendliest "big city" I've ever seen. Everyone from cab drivers to bus drivers seems to go out of their way to be helpful and friendly. Somewhat different from, say, Chicago or Los Angeles.
The climate is very nice and the transit system is excellent as well. While it doesn't move as fast as below-ground systems, since it has to work within traffic, one nice thing for visitors is that you actually get to see the city and see potential places to stop. Last year, we went from Boston to Cambridge on the T, but you don't see much except a whole lot of concrete along the way.
The Japanese Gardens are wonderful and deserve a visit.
Compared to Indianapolis, where we lived for awhile, Portland has some nicer parks, and a better transit system. I think that Indianapolis had a nicer walking path. Portland had a lot of friendly people, including many that worked for TriMet. MAX was very nice, with frequent departures. The TriMet system had scattered electronic signs about the MAX lines, streetcar stops, and even some bus stops I think. These listed how many minutes until the next departure in each direction, and were very helpful. Stations were announced audibly and on signs on-board. There was helpful information at stops and platforms.
Indianapolis has a really quite awful transit system, which consists of, let's see, regular buses and small buses. These run infrequently, are known for not being on-time, and a former co-worker had trouble with them just not showing up at times. They also all seemed to run between downtown and the outskirts. So if you wanted to go from one area towards the outskirts to another area there, you'd have to go towards downtown and back out.
Because of all this, I never rode IndyGo, and wouldn't ever encourage visitors to. TriMet was very different, and if I lived in Portland, I'd want to live close to MAX.
Hotel
The DoubleTree Lloyd Center is a nice, friendly hotel. Everyone here has noticed that the elevators inexplicably stop on the 2nd floor every time they go down, but other than that, we have had no real problems (other than some water dripping onto the desk when we first were here, but maintenance fixed that). It's annoying that they charge for in-room Internet access, but that is unfortunately typical for hotels of this class.
The room is also a bit small, but has worked out OK. The hotel is very close to a MAX stop, and fairly close to the Lloyd Center mall, which is convenient. The staff is very friendly and helpful as well, especially the concierge staff, which are great and helping visitors find their way around the city and the transit system.
They give you cookies on check-in, but Terah was disappointed that they didn't offer any without nuts.
Restaurants
I had opportunities to eat with various people from OSCon, some Portland area people, and of course, Terah and Jacob.
Portland has some good restaurants, and a few more iffy ones...
The Multnomah Grill in our hotel was one of the iffy ones. I had the ribs, which were not at all good. The prices were about in line with other Portland restaurants, which is too bad because the food wasn't. Because of all that, I just couldn't bring myself to try the other restaurant in the hotel, Eduardo's Mexican/American Cantina.
I had heard about Jake's Famous Crawfish from a passenger on the train. It was also listed on the OSCon wiki restaurants page. It's a historic century-old restaurant, with excellent seafood. I had parmesean-crusted Alaskan Halibut, which was very good.
I also went to the Newport Seafood Grill, which is within walking distance of the hotel, just on the other side of the Lloyd Center mall. It was also good; I had a tuna dish served rare, with a sauce that complimented it well.
Blossoming Lotus Cafe is a vegan cafe in the Pearl District. I hadn't ever been to one of those before. It was OK, but not all that great.
Across the street was Sweet Masterpiece, a chocolate and coffee house. Excellent chocolate made in-house, all sorts of desserts, and good coffee.
Rock Bottom in downtown has some surprisingly good food options. I was there with a group of local and OSCon Haskellers, and it was a little bit hard to follow conversation all the time due to the background noise, but that's to be expected in this sort of place. I'm not into beer, but those that were enjoyed their selection, I think.
I also went to a couple of chains: Quizno's and Ben and Jerry's. Both were about what you'd expect from those chains. Good ice cream of course at Ben & Jerry's.
OSCon provided breakfast and lunch free to paid attendees. Breakfast consisted of a selection of various fruits, slightly stale pastries, and bagels. On the tutorial days, lunch was pre-made boxed lunch. For what it was, it was OK. On Wednesday and Thursday, lunch was served hot in buffet lines. They had chicken both days, which looked identical. I had tried it Wednesday so knew not to bother Thursday. Wednesday they also had salmon with cranberries, which was good. Their salads, breads, etc. were OK.
Oregon Convention Center
This is where OSCon was held. A very nice, but incredibly huge, building. They say it covers the equivalent of 13 square city blocks, and if you look on a map, you can see that it is indeed quite large. There was a lot of walking to get to everything, even though OSCon took up only one part of this huge place. Restrooms in particular were not in very convenient locations to just about anything. But it was a nice place and I wouldn't mind being there again next year.
It’s interesting to see an
eWeek article about outsourcing to Canada, apparently the US immigration laws are restrictive enough that US companies (such as Microsoft) are establishing offices there. It really makes sense, Canada seems like a much nicer place to live. It’s also interesting to see
an eWeek blog post about reductions in outsourcing to India that claims that Indian salaries have increased so much that there are few benefits in outsourcing the work.
I have previously blogged about
my approval of outsourcing as a form of charity to developing countries which received
this response in Spanish. An English translation of a section of that post is “Conclusion, outsourcing hurts and the damage to many individuals is permanent. In countries in the third world like the one where I live, the damage affects the majority of the population (80% of the population is very poor). It’s ridiculous that less than 10% of the Mexican population earn 8 to 10 thousand pesos per month which only allows them to survive and save a little to buy a car or a house“.
I agree that the inequality in Mexico is a bad thing, but I think that outsourcing is more of a cure than a cause for such inequality. The competition for employees who are capable of doing such work will increase salaries for workers and create a middle-class. Also the net access which is needed for outsourced work will drive some political changes. When discussing these issues with Indians I never hear any complaints about outsourcing!
Share This