Discovering Physics, Hacking AbiWord|
[Most Recent Entries]
Below are the 20 most recent journal entries recorded in
[ << Previous 20 ]
[ << Previous 20 ]
|Friday, September 23rd, 2011|
|Neutrinos travel faster than light?
Wow. This is sensational news if true. Really, really astonishing stuff with massive implications for Physics and our understanding of the nature of reality.
The full paper is on the archive server now.
This blog post interprets the paper.
It is a very nice measurement. The experiment, OPERA, measures the centroid of the "Probablity Density Function" of the time of time of flight from the CERN accelerator to the Gran Sasso Laboratory in Italy. (This in itself is pretty amazing since the neutrinos are detected after travelling through 730 km of solid rock!)
Of couse there are two fundamental systematic uncertainties one must take into account. The first is the measurement of the difference between the time of neutrino creation at CERN and the time of measurement in Italy. The second is the distance between CERN and the detector.
The time difference was obtained by synchronized atomic clocks with greater than 1 ns precision. There is now a massive industry based on precison measurements of distance. This is the world-wide GPS system which allows measurement errors in positions of the order of centimeters. Its extremely hard to see how they could have screwed these up. For example the April 7th, 2009 L’Aquila Earthquake in Italy resulted is an easily identified 7 cm shift in position. (See below.)
The biggest uncertainty is establishing the original time structure of the proton beam that created the neutrinos. The proton pulse is of the order of 10 microseconds in width. The measured effect is a 60 nano-seconds shift from expectations with a 7 nanosecond uncertainty. That means they've established the centroid of their proton pulse width to a precision of better than one part in one thousand. Since they have recorded 16,000 events they have sufficient statistics to do this. The question is whether they've correctly determined the shape
in time of the original proton beam.
This is determined from the proton beam intensity which is continuously montored. They compared the this to the measured time profile in their detector. The measured original proton beam intensities as a function of time are shown below. The CERN SPS has two extraction profiles which are easily distinguished.
The observed time structures of the events recored in Italy are shown below. The red lines show the superimposed average time structures of the proton beams with and without the flight time to Italy.
By eye the original time structure of the CERN proton beam appears well reproduced in the detected neutrinos.
After a full blind-analysis
they find that their neutrinos travelled (60.7 ± 6.9 (stat.) ± 7.4 (sys.)) ns faster than light over the same distance.
The first uncertainty is the statistical precision of the measurement. The second is their estimate of the systematic uncertainty. Their systematic uncertainty was obtained by a quadratic sum of 12 potentional sources of error. The largest (5.0 ns) was the calibration of the detector that measures the time of the proton beam extraction at CERN.
Overall their measurement gives:
(v-c)/c = (2.48 ± 0.28 (stat.) ± 0.30 (sys.)) ×10-5
This is consistent with an earlier but less precise measurement from an experiment in America with the Fermilab accelerator:
(v-c)/c = 5.1 ± 2.9×10-5
But substantially different from the neutrinos detected from Supernova 1987a which gives a limit on the anti-neutrino velocity difference of:
|v-c|/c < 2×10-9
So what happens now? There are two other high statistics long-baseline experiments in operation in Japan (at the KEK laboratory where I do my CP-violation experiments) and an updated experiment using the Fermilab accelerator in America. You can be certain that both experiments will do their best make the most precise measurements of the neutrino velocities they can. If all three agree what then? Well we will have to wait to see if they do.... As I said this is a most incredible result.
One final point about this. If the neutrinos from SN1987A had had the increase in velvocity over photons measured by the OPERA experiment they would have arived 4 years earlier than the light...
(All images are reproduced from http://arxiv.org/abs/1109.4897v1)
|Wednesday, June 15th, 2011|
|Making a difference
When writing free software we sometimes get caught up in all the stuff that doesn't work. All the things we need to fix to make our programs better. At least I do! So it is really nice to see that our efforts do generally work and can make a difference.
Here is a great video of the OLPC XO's being used in remote Australia. http://www.youtube.com/watch?v=cO-VNhgZLDw
Congratulations to OLPC-Australia and the World-Wide effort that produced these transformational devices. These would not be possible without the Free-Software community and the many, many other like minded people who have donated their varied talents.
|Tuesday, March 29th, 2011|
|Tuesday, August 10th, 2010|
|The stupidest bug in firefox..
I have a large presentation on my work computer. My colleague wants me to send it to him. I'm at home. I could copy it to my home PC then attach it to an email. The problem is that my home machine has a nice fast (1 megabyte/sec) download connection to work but only about 60 kilobits upload. Sending it from home will be slow...
I know,I think, I'll just ssh -X into seviorpc at work, open upfirefox, connect to my webmail and send it from there......
Whoops! I forgot about the stupidest bug in firefox.
If it detects a local instance, instead of redirecting the graphics of a remote instance, it just opens up a another local window which means I can't just attach that file on my remote machine after all.
The crazy thing is that the firefox devs must have tried REALLY HARD to implement this bug. I have no idea why they thought it was a good idea.
|Thursday, April 1st, 2010|
|OLPC in remote Australia
I came across this remarkable article and photograph in todays online edition of the TheAustralian.http://www.theaustralian.com.au/news/nation/joy-as-computer-power-comes-to-yirrkala/story-e6frg6nf-1225848236378
It appears OLPC Australia has been successful in persuading Telstra, News Corp and the Commonwealth Bank to support a mass deployment of the OLPC laptops in remote Australia. Apparently up to 400,000 of them!
Australians are normally very cynical about big corporations and especially Telstra, News Corp so the achievement of OLPC Australia is a wonderful triumph of vision.
A big congratulations to everyone concerned for this! From a personal point of view I'm especially pleased to have made a contribution to the software inside these :-)
|Sunday, March 21st, 2010|
|Friday, January 8th, 2010|
|Telstra Mobile Broadband and Fedora 12
I'm off to the beach (Apollo Bay
) next week and decided I needed to remain connected to the net. After checking around I found that Telstra is the only carrier that has coverage down there. Further checks implied that their USB broadband modems worked under Linux. After checking out the option I bought Telstra's casual plan and their "Telstra Turbo" USB mobile. This has the advantage of being able to be discontinued between uses. The price per GB is about 5 times greater than other Australian carriers. On the other hand, Telstra really do have a very wide coverage and this really is expensive. The other carriers are essentially limited to just metropolitan areas.
I spent an hour or so futzing around with settings, searching the internet etc until I eventually discovered the SIM card was not properly inserted! Hint make sure the lights show blue not flashing orange :-)
After getting it properly seated I just clicked on network manager, chose mobile broadband, chose Australia, Telstra, default settings, clicked OK, requested a connection to Telstra and hey presto it worked!
Yay! This is exactly the experience I want :-)
Congratulations to Fedora 12 and the network manager team.
|Saturday, December 26th, 2009|
|Using http://abicollab.net from within AbiWord
This post is public domain. Feel free to copy and paste where ever you like
The combination of the AbiWord word processor and the http://abicollab.net webservice provides world-leading real-time collaborative functionality available nowhere else for any price at all. Now that Fedora 12 is out and distributes AbiWord-2.8 it is easy for Linux users to try it out and see if they find it useful.
My previous blog posts about http://abicollab.net
focused on the use of the service from within a browser. You can find them here:
1. Basic operations including how the AbiWord “save” function sends the document back to abicollab.net.
2. How one could go about finding the friend you want to collaborate with.
3. How to setup a real time collaboration
4. The use of Groups, View, Export in abicollab.net
AbiWord also has additional hooks back into the webservice that are accessible from within the “collaborate” menu.
To start with we need to establish the connection with the service. This is done with the “account” menu item.
I’ve already got an account set up based on my gmail email address. However if I didn’t or if I wanted another based on a different email address, I just click “add” and fill the details as shown.
Besides the web service one can connect to other AbiWord using either TCP/IP (if you know the IP address) or via the jabber XMPP protocol. The webservice is much easier for users and connect with. Everyone on the internet has an email address.
Clicking the button on “connect on application startup” means you don;t have to go through this step again.
If I now go back to the “collaborate” menu and choose “open shared document”, AbiWord connects to the webservice and presents me with a list of the documents I have to on http://abicollab.net
Here are the list of groups and user accounts which contain documents I’m allowed to edit. The 3 Martin Sevior’s show up because I have 3 separate accounts on the service :-)
Of course clicking the table expander arrow shows me all the eligible documents. As you can see I use the service and find it a convenient way to keep my work in synch across my 3 different work environments. (Work workstation, laptop and home PC).
Finally one can upload your current document to the web service. This is a very convenient way to both share your work with your colleagues and to upload it to the service and make it accessible to a different workspace.
To this click on “share document” in the collaborate menu. You have the option of sharing the document with as many of your groups and friends on the service as you wish.
Once uploaded to http://abicollab.net
the document is of course available to be shared with your friends and colleagues and easily available at all your work spaces.
Like my previous posts this document has been uploaded to abicollab.net and is available at:
|Monday, November 2nd, 2009|
|How to use abicollab.net Part 4 This post is public domain. Feel free to copy and paste where ever you like
The first 3 articles of this series showed some basic operations
, how one could go about finding the friend
you want to collaborate with and then how to setup a real time collaboration
In this post I will talk about the Groups, View and Export features of abicollab.net
One often has a collection of colleagues, friends and co-workers with similar interests who need to work together on documents. The abicollab.net
webservice makes it easy to allow collections of people to form a group and to work together on common documents.
For testing purposes I've created a number of abicollab.net identities for myself and I'll use these to show how one creates such a group.
Simply click on the "my groups" link.
You see the list of groups for which you have membership.
To view the documents held by the group or the membership click on “view documents” or “view members”. The screen shot below shows the membership of the “abicollab” group. We’re the group that directly codes and tests the abicollab.net
webservice. Marc and I are administrators of the group. Either of us can approve whether an applicant can join the “abicollab” group. Applicants to the group are shown in the “Aspiring members list”.
To create a new group, click on the “create a group” link, type in the name you wish and click “save group”.
The new group is created with you as the administrator.
Here I’ve created a group called “MartinSeviors”. Now suppose another user called “M. Edmund Sevior” wants to join this group. He navigates to “my groups”, searches for the group by typing in it's name, then clicks “Join a group”.
Now the administrator of the group receives an email of this request which also shows up as a message in his “message central” region.
I can now accept or decline the request. After accepting the request, navigating to “my groups” and clicking the member list shows the updated member list.
Any group administrator can promote any other member to become an administrator too.
The “view” link associated with every document shows the contents of your document in your browser. What you see is what you would get if you exported the document to html. With this one one can quickly tell if you have selected the right document to edit, without having to download it into AbiWord.
Every document on abicollab.net
can be exported into a number of common word processing formats. This is accomplished via the “export” link. One chooses the preferred format then clicks “export".
This post is available on abicollab.net
at the link:https://abicollab.net/documents/embed/10651/latest
|Saturday, October 31st, 2009|
|How to use abicollab.net Part 3 Real time collaborationThis post is public domain. Feel free to copy and paste where ever you like.
My first two posts showed some basic operations
and how one could go about finding the friend
you want to collaborate with.
Now I'll talk about the killer feature: Real Time Collaboration!
To set up a document for Real Time Collaboration, one simply sets the permissions to "view & collaborate" for the friend with whom you want to work with the "share" link associated with the document.
Then choose who you want from your list of friends.
Click on "save settings" and the permissions are set!
The document now appears in the list of documents available for your friend. Since you've allowed your friend to collaborate on the document, it shows up on the list of documents he can work on. The friends "my documents" view is shown below.
Now you open the document by just clicking on its name and it opens in your AbiWord
. Remember you need version 2.8 or later. You start typing away....
(Your version of AbiWord shown below)
OK, now your friend logs in and sees a new document, shared with him. He decides to edit it too and so opens it. It loads into his version of abiword.Hey presto we have a Real Time Collaboration!
So both of you can type away in the document, editing as you wish while you see each others changes in real time. If either press "save" in their AbiWord, the current version gets saved into the history of the document on the website.
I just want to point out a couple of things. Your friend did not actually download the document from the website. It had never even been saved! Instead what has happened is that the two have established a peer-to-peer collaboration via a abicollab.net
router daemon. The website joined a connection from you to a connection to your friend and passed traffic between the two of you. After that the two AbiWord's transferred the document and established the collaboration.Consequently everyone is guaranteed to always see the absolute latest version of the document!
We've totally eliminated the edit=>email to colleague=> update/comment/fix => email =>update/comment/fix => email... cycle.
There are many other very cool things about AbiWord's real time collaboration but I'll save them for other posts.
You can find this post on abicollab.net
|Friday, October 30th, 2009|
|HowTo Use abicollab.net Part 2
This post is Public Domain. Feel free to copy and paste as you wish.
The main benefit of abicollab.net
is to allow people to work together on joint documents. To do this one first needs to establish a connection to the person you wish to work with. This is done with the “my friends” link.
First click on the “my friends” tab. This takes you to the “my friends” tab seen below. In this case the user currently has no friends within abicollab.net
. You can tell because there are none listed.
Lets make him some!
Next click on the “add a friend” link.
This pops up a box that allows you to search for your friend.
Start typing their name in the “search for friends” box. As you type, names that match your text appear in the “search results” list.
It is worthwhile to include some additional information about yourself, otherwise your friends might not be able to find you! Note that when I made that screenshot, abicollab.net
had not been released. Now there are many more Martin's that appear in the search results. You can also search on region and country by entering name, location, country separated by commas. Uwog just added that feature last night!
When you see the person that you’re looking for, click on “add as friend”.
After you click “yes I’m sure” your friend will receive an email message and if they’re logged in they will see your request to become a friend appear in the “message central” region. If they click on “accept” the two of you become friends and can share the documents you wish to work on together.
The latest version of this document is available on abicollab.net
|Thursday, October 29th, 2009|
|HowTo Use http://abicollab.net Part 1
This post is public domain. Feel free to copy and paste where ever you like.
Firstly, we made slashdot!
Secondly reading and answering the comments made me realize how hard it is to explain all the cool features of http://abicollab.net
. My intention is to post a series of blog posts to try to fix that. http://abicollab.net
is designed to make it as easy as possible share work and collaborate in document production with friends and colleagues, no matter where they are in the world. The service uses very little resources so it quite feasible to host a medium sized organisation, say a 1000-person business or High School, from a single server.
The main strength of http://abicollab.net
is also its biggest drawback. You need AbiWord-2.8
or later. If you don't have that you miss out on the best features. Getting AbiWord-2.8
for windows is trivial. Getting it for Linux is harder at the moment but will become easier with time as it gets bundled with distros. It is even harder for OSX because you'd have to compile it as an X11 app.
Having obtained AbiWord-2.8, lets go through a work flow. This is not the only work-flow and I'll post about others later. This example shows how to use the storage features of the web service. I personally have 4 separate work environments. My Linux partiton on my laptop, my windows partition on my laptop, my work workstation and my home PC. Just using the central storage facilities of abicollab.net
saves me a whole lot of hassle.
First we log into the website and it takes us to the "my documents" page.
Next we decide to create a new document and host it on the site. You do that by clicking on "new document" and filling out some info about the document.
We see the document has been created.
Now we'll tag it so it can be easily sorted. We click on "tag" in the range of options for the document.
Ok now we actually want to put content into it. So click on "open" or the document name.http://abicollab.net
downloads a router file with the MIME extension ".abicollab" to firefox. Firefox has registered this as being associated with AbiWord, so it loads AbiWord which grabs the router file and uses it to extract the document from the web service. The result is that AbiWord opens with the contents of the document hosted on the web service. In this case the document has just been created so it is blank.
OK now we edit away in AbiWord until we think we'd better save it. To do this we simply click on "save" in AbiWord and the document is saved back to the web service.
The complete history of the document is recorded on the web service. To view it, simply click "history" next to the document.
This history of this document contains just the initial creation, which is of course blank, the second from this save. One can immediately inspect a particular history by clicking "view".
OK so now we edit away in AbiWord as we wish, saving whenever we want. Each save gets recorded as a separate history.
Now I'll set the permissions for the document. Permissions are "none, view,view + collaborate" for "everyone, friends, groups".
For this document I want everybody to be able to view this document and people in the abicollab group to be able to collaborate on it. We set permissions by clicking on "share".
Finally for today you can post the document on the web in variety of formats with the "Link" command.
I'll create a link to a HTML-sized version of the document that opens in firefox. I do this by choosing "embedded link"
And here is the document on the webhttps://abicollab.net/documents/embed/7851/latest
Every time I click "save" in AbiWord the contents of that link update to reflect the latest version.
The next post will cover sharing and collaborating with colleagues.
|Wednesday, October 28th, 2009|
|http://abicollab.net and AbiWord-2.8 released!
Thanks to awesome work from a whole collection of people in the AbiWord team, the great folks at BetterBe.com
and creative genius types at lemon8.nl
, AbiWord-2.8 is released together with a totally revamped http://abicollab.net
. This website tightly integrates with AbiWord-2.8 and enables easy real-time document editing, stores documents online, allows easy document sharing with your friends, and performs format conversions on the fly.
Think google docs but with a real Word-Processor not an application in a web-browser.
Special congrats to my long-time friend and partner in-crime, Marc Maurer, aka uwog
, who worked day and night, many many nights, to pull all this together.
Quick screenshot of http://abicollab.net
|Wednesday, October 21st, 2009|
|Thursday, September 24th, 2009|
|Make Caret blink in gtk applications in Fedora11?
Since upgrading to Fedora 11 some months ago, gtk applications that honour GtkSettings such as
AbiWord, no longer allow the caret to blink. For the life of me I cannot find out how to change GtkSettings in any preference in Fedora 11 to set my carets blinking again.
Does anyone on the web know how to do this?
Thanks to Marc Maurer (uwog), I now know how to do this.
In keyboard preferences, first tab, enable "Cursor blinks in text fields" check box.
|Monday, August 24th, 2009|
|Another successful GSoC at AbiWord
Following on from James Denton's project last year which got us MultiPage View
(available in our upcoming 2.8 release) I had the good fortune to mentor Aditya Manthramurthy this year. Together with legendary AbiWord Hacker Joaquin Cuenca Abela
, we fixed two of the four issues that slow down AbiWord's performance for large documents.
The first fixed was our table layout algorithm. Aditya identified and fixed the cause of our layout speed increasing as N^2, where N is the number of cells. Here is a graph showing the performance of the table-layout branch.
We also had time at the end to improve the performance of AbiWord's core PieceTable by implementing Joaquin's awesome Log(N) data structure. AbiWord's current PieceTable is a doubly linked list of objects called "fragments". In addition it has a vector of the fragments ordered in their location in the document and a little cache containing the last Fragment. We perform binary searches on the PieceTable so that we can look up random positions at a rate proportional to log(N) where N is the number of fragments in the document. However upon every insert or delete we need to rebuild the vector of Fragments to reflect the changed location of the fragments downstream of the change. This means that an insert or delete happens at a rate proportional to the number of fragments, N. Consequently operations like inserting a table, which require 4 fragment inserts for each cell, slow down at a rate proportional N*N*N*N = N^4!
Joaquin invented a PieceTable based on a Red/Black tree structure which allows searchs, inserts and deletes to all happen at a rate proportional to Log(N). (See the link above)
and we finally found the time to actually implement it in AbiWord. See the dramatic improvement for large table inserts below.
Since we're polishing off 2.8 now, you can expect these and many other improvements in AbiWord-2.10 :-)
|Monday, June 15th, 2009|
|Math Exported to HTML for AbiWord 2.8
Behold a cool new feature for AbiWord-2.8
Click to see the image in it's full glory.
The source *.abw file is here
The complete exported *.html is here
BTW these files are the reference documentation for Itex commands. As you can see, Itex and MathML are very expressive and allow a very wide range of Mathematical expressions. AbiWord supports a significant fraction of Itex but unfortunately not all. We need to work GtkMathView and itex2MML to get complete coverage.
|Thursday, May 28th, 2009|
|OLPC Laptops for indigenous Australian Children
Although Australia is a First World country, to our shame, many indigenous Australians, particularly those in remote communities, have far fewer choices and live a marginalized existence.
It is great to see that OLPC Australia has set a program to help indigenous Australian children and is apparently already making a difference.http://www.olpc.org.au/news/27May09.shtml
Also great to see that they've lined up a major corporate sponsor, the Commonwealth Bank of Australia to support their work.
Stories like these make all those hours hacking away on AbiWord and Write worthwhile.
|Friday, May 1st, 2009|
|The real impact of hackers...
I was happily chatting away with my great friend uwog (Marc Maurer) on #abiword
this morning, when my 15 year-old daughter looked over my shoulder and asked:
"How come you talk like a teenage girl on the internet?"
Well that kind of blew me away and I thought about it and realized that that..
Teenage girls talk like us!
All those LOLs, ROTFLs 313313 -speak etc came from us :-)
So no matter how much cool free software we make, at least one substantial impact we've made is to influence the way Generation Y talks on the internet :-)
|Thursday, March 19th, 2009|
|AbiWord back for Google Summer of Code in 2009
We're back and looking for students to mentor in AbiWord hacking for Google Summer of Code in 2009. Thanks Google! We really appreciate your support.
Here is a screencast of SVN AbiWord demonstrating Multipage view. The core of this feature was implemented by James Denton for his AbiWord GSoC 2008 project.
Warning 55 MB ogg!
This document is the 226 page RTF Specification, imported from RTF format.
Our list of suggested projects for 2009 is here
. Feel free to suggest your own cool ideas too!