Why is Twitter not just Jabber?
May. 2nd, 2008 | 10:23 pm
Twitter is a way to post a short message to a wide group of subscribers, and to receive messages posted by a wide group of subscribers.
That's instant messaging. There's already a standard protocol for it: Jabber (XMPP).
Why not just use it? Why invent a new protocol?!
Actually, Twitter already does have experimental XMPP access to the full timeline — rather than to individual timelines, or to your friends' timelines — and you can use it to build things like TweetMaps and TweetClouds and Quotably and…
But Twitter should really be built entirely around XMPP. It shouldn't be a web app at all, though it could certainly have a web front-end. In case you doubt me, here's an example Twitter-like service implemented by Process One atop the
That's instant messaging. There's already a standard protocol for it: Jabber (XMPP).
Why not just use it? Why invent a new protocol?!
Actually, Twitter already does have experimental XMPP access to the full timeline — rather than to individual timelines, or to your friends' timelines — and you can use it to build things like TweetMaps and TweetClouds and Quotably and…
But Twitter should really be built entirely around XMPP. It shouldn't be a web app at all, though it could certainly have a web front-end. In case you doubt me, here's an example Twitter-like service implemented by Process One atop the
ejabberd XMPP application server.Link | Leave a comment {3} | Add to Memories | Tell a Friend
No NSCoder Night for me tonight!
Apr. 29th, 2008 | 05:25 pm
I'd like to make it to NSCoder Night tonight, but I won't be able to as I'll be looking at a new place. Wish me luck, and have fun everybody!
Link | Leave a comment {2} | Add to Memories | Tell a Friend
Build LLVM and clang!
Apr. 26th, 2008 | 11:16 pm
I've talked about the LLVM Compiler Infrastructure in the past, but what I haven't talked about yet is just how easy and quickly you can build it on your own Mac running Leopard! This is a great way to get into hacking on compiler lexical analyzers and parsers, code generators, optimizers, and so on.
What's more, you can build both LLVM and the new C front-end
First, create a work area to check them out into, wherever you normally create your projects.
Now, to build LLVM as well as
What's more, you can build both LLVM and the new C front-end
clang very easily and in five to ten minutes.First, create a work area to check them out into, wherever you normally create your projects.
[~]% cd /Projects
[/Projects]% mkdir LLVM
[/Projects]% cd LLVM
[/Projects/LLVM]%
Then check out LLVM itself and clang from the LLVM Subversion repository. [/Projects/LLVM]% svn checkout http://llvm.org/svn/llvm-project/llvm/trunk llvm
[/Projects/LLVM]% cd llvm/tools
[/Projects/LLVM/llvm/tools]% svn checkout http://llvm.org/svn/llvm-project/cfe/trunk clang
[/Projects/LLVM/llvm/tools]% cd ../..
[/Projects/LLVM]%
Then edit the PARALLEL_DIRS definition in llvm/tools/Makefile to tell it about clang. Just add clang onto the end, like this: PARALLEL_DIRS := llvm-config \
opt llvm-as llvm-dis \
llc llvm-ranlib llvm-ar llvm-nm \
llvm-ld llvm-prof llvm-link \
lli gccas gccld llvm-extract llvm-db \
bugpoint llvm-bcanalyzer llvm-stub llvmc2 \
clang Now create a directory to build into, next to your llvm directory, and change into it. [/Projects/LLVM]% mkdir build
[/Projects/LLVM]% cd build
[/Projects/LLVM/build]%
This is where you'll actually run configure. This will ensure your source tree isn't polluted with build products, and that everything stays self-contained while you hack. [/Projects/LLVM/build]% ../llvm/configure --enable-targets=host-only
# lots of logging
[/Projects/LLVM/build]%
You'll note that above I passed an argument to configure. This ensures that LLVM is only built to target the architecture I'm running on, to speed up the build process; this is generally fine for simple front-end development.Now, to build LLVM as well as
clang all I have to do is invoke make. LLVM is set up to correctly do parallel builds, so I'll pass the number of CPUs I have in my machine via make -j 4. [/Projects/LLVM/build]% make -j 4
# lots of logging
[/Projects/LLVM/build]%
That's it! LLVM is now (hopefully) successfully built. All of the pieces are in the build directory under Debug/bin and Debug/lib and so on; see the LLVM web site for details about what the various components are.Link | Leave a comment {2} | Add to Memories | Tell a Friend
Copyright canonical form
Apr. 21st, 2008 | 02:15 am
One thing that's nagged at me lately has been the series of applications I've seen lately with copyright statements that appear to be from the Bizarro universe. I don't mean that they have weird license restrictions; rather, they have a copyright statement in their standard About panel that's formatted strangely. It's a minor pet peeve to be sure, but it's a simple thing to get right and getting it wrong looks silly.
Note that the following is not legal advice on asserting or protecting your copyright — you'll have to go to a lawyer for that — it's just a suggestion on how to concisely format your statement that your work is covered under copyright.
In a Cocoa application, the standard About panel will show the copyright statement specified under the
Thus if I were to start writing an application in 2007 and finish it in 2008, I would put
Someday I'll figure out how to add
Note that the following is not legal advice on asserting or protecting your copyright — you'll have to go to a lawyer for that — it's just a suggestion on how to concisely format your statement that your work is covered under copyright.
In a Cocoa application, the standard About panel will show the copyright statement specified under the
NSHumanReadableCopyright of its Info.plist file. This should generally be of the form Copyright © «YEARS» «HOLDERS». All rights reserved.where «YEARS» represents the individual year, set of years, or range of years during which the application was authored and «HOLDERS» represent the authors of the application.
Thus if I were to start writing an application in 2007 and finish it in 2008, I would put
Copyright © 2007–2008 Chris Hanson. All rights reserved.in the
NSHumanReadableCopyright key of its Info.plist file. (Yes, that's an en-dash between the years, option-hyphen gets you one.) It wouldn't have the year at the end, or random commas after things, or random abbreviations. Just one simple statement.Someday I'll figure out how to add
Copyright © 2002–2008 Chris Hanson. All rights reserved.to the bottom of my weblog, too. Hopefully in such a way that I can actually update it easily when the year rolls over…
Link | Leave a comment {3} | Add to Memories | Tell a Friend
CocoaHeads Silicon Valley at Apple on Thursday, April 17, 2008
Apr. 17th, 2008 | 12:38 pm
The next CocoaHeads Silicon Valley meeting will be on Thursday, April 17, 2008 — that's tonight! — at 7:30 in the De Anza 3 auditorium at Apple. That's just inside the south side of De Anza 3, right across Mariani Avenue from Apple's Infinite Loop campus in Cupertino. See the web site for directions.
This month's presentation is all about designing and implementing your human interface. User experience and human interface design are critical for Mac OS X software to get right. To that end, there's even going to be a UI makeover as Scott describes in his post on the meeting!
Thanks a ton to Scott Stevenson, Steve Zyszkiewicz, Michael Jurewitz and Joar Wingfors for organizing!
In general, at a CocoaHeads meeting we do some introductions, have a presentation including Q&A time with the presenter, and then have an open Q&A and demo-your-cool-app period. After the meeting there's more independent mingling and discussion until it's time to go at 9:30. Often a subset of the meeting moves to BJ's Brewhouse in Cupertino, which is right in front of the Apple Infinite Loop campus on De Anza Boulevard.
This month's presentation is all about designing and implementing your human interface. User experience and human interface design are critical for Mac OS X software to get right. To that end, there's even going to be a UI makeover as Scott describes in his post on the meeting!
Thanks a ton to Scott Stevenson, Steve Zyszkiewicz, Michael Jurewitz and Joar Wingfors for organizing!
In general, at a CocoaHeads meeting we do some introductions, have a presentation including Q&A time with the presenter, and then have an open Q&A and demo-your-cool-app period. After the meeting there's more independent mingling and discussion until it's time to go at 9:30. Often a subset of the meeting moves to BJ's Brewhouse in Cupertino, which is right in front of the Apple Infinite Loop campus on De Anza Boulevard.
Link | Leave a comment {5} | Add to Memories | Tell a Friend
Down the Rabbit Hole: Four Years On
Apr. 14th, 2008 | 10:58 pm
Today was my four year anniversary working on developer tools at Apple.
No regrets about taking the red pill here!
No regrets about taking the red pill here!
Link | Leave a comment {5} | Add to Memories | Tell a Friend
NeXTstation Color: Free to good (local) home
Apr. 13th, 2008 | 07:08 pm
I have a complete 25MHz NeXTstation Color that I want to get rid of to a good home — in other words, you should want to use in some capacity as a NeXT workstation, not make its case into art or something. This isn't some crappy PC of which there are millions with tiny variations among them, it's a workstation of which only a relatively small number were made.
Specifications:
Want it, and reasonably local to Cupertino? Ping me and we'll talk.
Update: The NeXTstation is claimed! Thanks for the impressive response — who knew so many people would want a workstation that's old enough to drive?
Specifications:
- NeXTstation Color
- 17-inch NeXT Color Display
- 16MB RAM
- 400MB SCSI HD
- NeXT Keyboard (non-ADB)
- NeXT Mouse (non-ADB)
- NeXT Sound Box
- Appropriate cabling.
Update: The NeXTstation is claimed! Thanks for the impressive response — who knew so many people would want a workstation that's old enough to drive?
Link | Leave a comment {9} | Add to Memories | Tell a Friend
Apple TV 2.0.1
Mar. 29th, 2008 | 06:40 pm
A new version of the Apple TV software is available! And what's more, after updating to Apple TV 2.0.1, I found that I can actually use my YouTube favorites and subscriptions on my Apple TV!
This is great, because I mark videos that I'll want to watch again as favorites, and I have a number of subscriptions set up to interesting videos — like those from the Computer History Museum and Zendulo — that aren't yet available as video podcasts.
YouTube favorites and subscriptions hadn't worked for me in the past because I have a YouTube account that's linked to my Google account — that is, a YouTube account that ends in
This is great, because I mark videos that I'll want to watch again as favorites, and I have a number of subscriptions set up to interesting videos — like those from the Computer History Museum and Zendulo — that aren't yet available as video podcasts.
YouTube favorites and subscriptions hadn't worked for me in the past because I have a YouTube account that's linked to my Google account — that is, a YouTube account that ends in
@gmail.com. After updating to Apple TV 2.0.1, I just had to log out from my YouTube account and log in again, and everything came up just fine.Link | Leave a comment | Add to Memories | Tell a Friend
peterb hits it out of the park
Mar. 17th, 2008 | 11:00 pm
location: games, programming, performance
peterb of Tea Leaves, in Game Developer To World: Please Revolve Around Me! summarizes the position taken by Tim Sweeny of Epic during an interview thusly:
The most recent example, I was going to buy my girlfriend The Sims 2 for Valentine's Day to play on her MacBook. Oops! Her MacBook has the dread Intel integrated graphics and therefore can't run it! Or, indeed, any of the other games ported to the Mac using the same technology! Thanks a bunch, it's not like anybody has a MacBook! (Except, of course, everybody these days.)
But wait, what are the actual system requirements for The Sims 2 on Windows? 800 MHz CPU and a T&L-capable video card, or 2GHz CPU and non-T&L-capable video card. Her MacBook definitely meets those criteria, and it's also a huge portion of the Mac customer base for a game like that. I wonder if the PowerPC build would run acceptably under Rosetta — the original Sims ran fine on an iBook DV a half-decade ago, after all, and it's not like The Sims 2 is new.
I also heard a lot of commentary around the time the iMac G5 debuted about its "terrible" 5200FX video chipset. After all, it meant that a lot of games people were working on for then-high-end machines wouldn't run! Except, uh, why wouldn't they run? Because developers didn't actually design for what users were buying! They were designing for some ideal system that very few people had, and beyond that they had the gall to complain that they weren't selling many games. Hmm. I wonder why. If you limit your market to people with beefy dual-G5 systems with high-end video cards who are allowed to install games on them, maybe that's not such a big market... On the other hand, if you design for the iMac G4, and the iMac G5 comes out, chances are you'll be able to sell to a lot more people...
Game developers should be targeting the systems people are using rather than systems with every feature under the sun. No wonder casual games do so well — nobody else is willing to serve that vast majority of the market!
So if you're writing a game, or thinking about writing a game, or any other performance-sensitive application, look at what the bulk of the users you want to target are currently using and design for that. Neither you nor your users are likely to be disappointed with the results.
This problem is endemic in the game industry.
- People aren’t buying expensive enough PCs.
- Even the expensive PCs aren’t good enough to run his games.
- People who buy cheaper machines with Intel integrated graphics are giving their money to Blizzard instead of Epic.
- This aggression cannot stand. The solution is that everyone except us should change what they’re doing and buy machines with more expensive graphics hardware.
The most recent example, I was going to buy my girlfriend The Sims 2 for Valentine's Day to play on her MacBook. Oops! Her MacBook has the dread Intel integrated graphics and therefore can't run it! Or, indeed, any of the other games ported to the Mac using the same technology! Thanks a bunch, it's not like anybody has a MacBook! (Except, of course, everybody these days.)
But wait, what are the actual system requirements for The Sims 2 on Windows? 800 MHz CPU and a T&L-capable video card, or 2GHz CPU and non-T&L-capable video card. Her MacBook definitely meets those criteria, and it's also a huge portion of the Mac customer base for a game like that. I wonder if the PowerPC build would run acceptably under Rosetta — the original Sims ran fine on an iBook DV a half-decade ago, after all, and it's not like The Sims 2 is new.
I also heard a lot of commentary around the time the iMac G5 debuted about its "terrible" 5200FX video chipset. After all, it meant that a lot of games people were working on for then-high-end machines wouldn't run! Except, uh, why wouldn't they run? Because developers didn't actually design for what users were buying! They were designing for some ideal system that very few people had, and beyond that they had the gall to complain that they weren't selling many games. Hmm. I wonder why. If you limit your market to people with beefy dual-G5 systems with high-end video cards who are allowed to install games on them, maybe that's not such a big market... On the other hand, if you design for the iMac G4, and the iMac G5 comes out, chances are you'll be able to sell to a lot more people...
Game developers should be targeting the systems people are using rather than systems with every feature under the sun. No wonder casual games do so well — nobody else is willing to serve that vast majority of the market!
So if you're writing a game, or thinking about writing a game, or any other performance-sensitive application, look at what the bulk of the users you want to target are currently using and design for that. Neither you nor your users are likely to be disappointed with the results.
Link | Leave a comment {14} | Add to Memories | Tell a Friend
Xcode unit testing articles updated
Mar. 17th, 2008 | 12:18 am
I've updated my posts on creating and debugging unit tests for for Cocoa applications and frameworks for Xcode 3.0. If you have any additional questions about how unit testing works in Xcode, don't hesitate to ask!
Here are pointers to the updated articles:
The most significant change is in debugging Cocoa application unit tests. There's an extra environment variable you'll need to add to your executable,
Here are pointers to the updated articles:
- Xcode: Unit Testing Cocoa frameworks
- Xcode: Debugging Cocoa Framework Unit Tests
- Xcode: Unit Testing Cocoa Applications
- Xcode: Debugging Cocoa application unit tests
The most significant change is in debugging Cocoa application unit tests. There's an extra environment variable you'll need to add to your executable,
DYLD_FALLBACK_FRAMEWORK_PATH, before you'll be able to debug it with Xcode 3.0. This is necessary because Xcode takes advantage of a new linker feature — runpath-relative install names — in order to support moving and renaming your Developer folder and having multiple versions of Xcode installed.Link | Leave a comment {1} | Add to Memories | Tell a Friend
Dr. Kiki teaches us to say "Theobroma Cacao"
Feb. 12th, 2008 | 11:10 pm
Dr. Kiki Sanford teaches us on her latest Food Science podcast about chocolate how to definitively pronounce Theobroma Cacao.
Link | Leave a comment | Add to Memories | Tell a Friend
Free font happiness! Inconsolata, Kaffeesatz and Tagesschrift
Feb. 9th, 2008 | 10:41 pm
I love good fonts. It's one of the things that I enjoy most about Mac OS X — the font rendering is wonderful.
Lately for programming and Terminal use, I've used Inconsolata by Raph Levien. It's a very clean monospaced font that renders really well at 12 points and higher, and is perfectly usable for coding at that size. It avoids the Vera Sans Mono problems with too-thin horizontal lines at common sizes.
Tonight — thanks to Jens Alfke and his logo design for the Mercurial distributed SCM system — I've discovered the free fonts from Yanone, specifically Kaffeesatz and Tagesschrift. Kaffeesatz in particular is a pretty slick font; hopefully I can find a use for it in something.
Any other free & open font suggestions? Let me know in the comments. I can always use more great fonts.
Lately for programming and Terminal use, I've used Inconsolata by Raph Levien. It's a very clean monospaced font that renders really well at 12 points and higher, and is perfectly usable for coding at that size. It avoids the Vera Sans Mono problems with too-thin horizontal lines at common sizes.
Tonight — thanks to Jens Alfke and his logo design for the Mercurial distributed SCM system — I've discovered the free fonts from Yanone, specifically Kaffeesatz and Tagesschrift. Kaffeesatz in particular is a pretty slick font; hopefully I can find a use for it in something.
Any other free & open font suggestions? Let me know in the comments. I can always use more great fonts.
Link | Leave a comment {5} | Add to Memories | Tell a Friend
CocoaHeads Silicon Valley at Apple on Thursday, February 7, 2008
Feb. 7th, 2008 | 07:46 pm
The next CocoaHeads Silicon Valley meeting will be on Thursday, February 7, 2008 — that's tonight! — at 7:30 in the De Anza 3 auditorium at Apple. That's just inside the south side of De Anza 3, right across Mariani Avenue from Apple's Infinite Loop campus in Cupertino. See the web site for directions.
This month's presentation is by Scott Stevenson about Core Animation, one of the great new technologies available to Cocoa developers in Mac OS X 10.5 Leopard.
Thanks a ton to Scott Stevenson and Steve Zyszkiewicz for doing the organizing!
In general, at a CocoaHeads meeting we do some introductions, have a presentation including Q&A time with the presenter, and then have an open Q&A and demo-your-cool-app period. After the meeting there's more independent mingling and discussion until it's time to go at 9:30. Often a subset of the meeting moves to BJ's Brewhouse in Cupertino, which is right in front of the Apple Infinite Loop campus on De Anza Boulevard.
This month's presentation is by Scott Stevenson about Core Animation, one of the great new technologies available to Cocoa developers in Mac OS X 10.5 Leopard.
Thanks a ton to Scott Stevenson and Steve Zyszkiewicz for doing the organizing!
In general, at a CocoaHeads meeting we do some introductions, have a presentation including Q&A time with the presenter, and then have an open Q&A and demo-your-cool-app period. After the meeting there's more independent mingling and discussion until it's time to go at 9:30. Often a subset of the meeting moves to BJ's Brewhouse in Cupertino, which is right in front of the Apple Infinite Loop campus on De Anza Boulevard.
Link | Leave a comment {2} | Add to Memories | Tell a Friend
Arc in a nutshell: It's no Dylan (and that's too bad)
Feb. 1st, 2008 | 10:03 am
What's the point of Arc? Infix-syntax Dylan is a much, much better language, especially once you add in the changes and features from the Dylan Design Notes and the infix version (but keep the prefix syntax). Really, Dylan is pretty much the Ultimate Lisp in a lot of ways.
Arc is essentially
Dylan — as designed in the early 1990s — really is
So, yeah. If you're interested in Arc, check out Dylan. It's a better language, and there have been implementations available for 15+ years.
PS - The original Dylan had a
Arc is essentially
(decr Scheme) with a couple of interesting additions to try and make up for the downsides. Downsides like a lack of international character support (what decade is it again?!) and an unhygienic macro system.Dylan — as designed in the early 1990s — really is
(incr Scheme). It's essentially Scheme re-hosted atop an enhanced CLOS-like object system. With the infix syntax, it's even very Scheme-like in actual use.So, yeah. If you're interested in Arc, check out Dylan. It's a better language, and there have been implementations available for 15+ years.
PS - The original Dylan had a
<unicode-string> class. In the early 1990s.Link | Leave a comment {2} | Add to Memories | Tell a Friend
Er, tell me again why we invaded Afghanistan?
Jan. 26th, 2008 | 12:31 am
Afghan ‘blasphemy’ death sentence, BBC News:
And this is the kind of shit they pull.
Tell me again why we even bothered? Oh yeah, Osama bin Laden. Whatever happened to him, anyway?
This is a pretty clear sign that we've failed in our mission in Afghanistan, and probably need to take back administration and actually impose a real, modern constitution on the country like we did on Japan and Germany after World War II. Theocracy is a crime against humanity, and a clear indicator of a failed state that the modern world needs to intervene in.
Sayed Perwiz Kambakhsh, 23, was arrested in 2007 after downloading material from the internet relating to the role of women in Islamic societies.So let me get this straight. In 2001, the United States and Britain invaded Afghanistan to liberate its people from the Taliban — a group of religious thugs that the we had helped acquire power in the first place — and put in place an actual representative government with a modern constitution and structure.
A primary court in Balkh province said that Kambakhsh had confessed to blasphemy and had to be punished.
The court also threatened to arrest any reporters who protested against Kambakhsh's sentence.
Kambakhsh, a student at Balkh University and a journalist for Jahan-e Naw (New World), was arrested in October 2007 after material he downloaded was deemed to be offensive to Islam.
And this is the kind of shit they pull.
Tell me again why we even bothered? Oh yeah, Osama bin Laden. Whatever happened to him, anyway?
This is a pretty clear sign that we've failed in our mission in Afghanistan, and probably need to take back administration and actually impose a real, modern constitution on the country like we did on Japan and Germany after World War II. Theocracy is a crime against humanity, and a clear indicator of a failed state that the modern world needs to intervene in.
Link | Leave a comment {9} | Add to Memories | Tell a Friend
OLPC group in Silicon Valley
Jan. 20th, 2008 | 02:27 pm
If you have an OLPC — or have set up VMWare or another environment to emulate one — and you're in the Silicon Valley area, there's a group of enthusiast hackers forming called SV_OLPC.
I ran into the founder of the group completely randomly after leaving NSCoder Night a couple weeks back, and it'll be interesting to see just who is doing what with the OLPC stack.
I ran into the founder of the group completely randomly after leaving NSCoder Night a couple weeks back, and it'll be interesting to see just who is doing what with the OLPC stack.
Link | Leave a comment | Add to Memories | Tell a Friend
OLPC without an XO!
Jan. 19th, 2008 | 11:04 pm
If you want to try the OLPC operating system, but don't have an XO-1 laptop, it's become extremely easy to just grab a virtual machine image and boot it in VMWare. I've used VMWare Fusion 1.1 on Mac OS X Leopard to do this; it's quite a bit faster than my XO-1, because I can give it more memory and set VMWare to use two cores instead of just one.
To get started, download a VirtualBox image — either one of the
As always, there's an OLPC wiki VMWare entry going into more depth. But for just playing around with the software and collaboration technologies, this is a good way to go.
Note that there are several function keys that are on the XO-1 that have special meanings in the Sugar human interface. The Sugar instructions describe these shortcut keys; among other things, you can use F1 through F4 to go to the Neighborhood, Friends, Home, or Activity view and Alt-F to bring up the Frame. These are probably the most commonly used keys under Sugar, so it's a good idea if you're going to be playing with the OLPC software to internalize the keystrokes. (And to read the rest of the instructions, too!)
To get started, download a VirtualBox image — either one of the
joyride pre-release images, or either a ship.2 or update.1 image — and unzip it. Then just double-click the vmx file in the unzipped archive and VMWare will load and run the image. That's all you need to do!As always, there's an OLPC wiki VMWare entry going into more depth. But for just playing around with the software and collaboration technologies, this is a good way to go.
Note that there are several function keys that are on the XO-1 that have special meanings in the Sugar human interface. The Sugar instructions describe these shortcut keys; among other things, you can use F1 through F4 to go to the Neighborhood, Friends, Home, or Activity view and Alt-F to bring up the Frame. These are probably the most commonly used keys under Sugar, so it's a good idea if you're going to be playing with the OLPC software to internalize the keystrokes. (And to read the rest of the instructions, too!)
Link | Leave a comment {10} | Add to Memories | Tell a Friend
OLPC chat bug (and fix)
Jan. 19th, 2008 | 10:41 pm
One thing that became apparent as I tried out the collaboration features is that there's a bug in the Chat activity on the OLPC. As you chat, it will continually scroll to the end. It's very easy to fix though, just follow the directions here.
Furthermore, if you actually take a look at the fixed
Furthermore, if you actually take a look at the fixed
chat.py you can see a little bit of what goes into an Activity in Sugar, the OLPC human interface and high-level software stack.Link | Leave a comment | Add to Memories | Tell a Friend
Trying out the OLPC collaboration features with xochat.org
Jan. 19th, 2008 | 10:27 pm
The collaboration features on the OLPC use the Extensible Messaging and Presence Protocol (XMPP) — otherwise known as Jabber — to manage presence. There's an overview of the entire collaboration stack on the OLPC wiki under Shared Sugar Activities.
Essentially, what this means is that as long as there's a properly-configured Jabber server that you can connect to, you can find other OLPC users and interact with them over the network. Tom Hoffman graciously set up just such a server at xochat.org, and I've talked with a few different people there and visited a shared document.
To tell your XO to use the xochat.org Jabber server, you can just open the Terminal activity and do the following:
Once you've told your OLPC to use the xochat.org Jabber server and restarted the interface, you can just press the Neighborhood button — that's the circle with a ring of several dots in it — and you'll see everybody who's using an OLPC with that server. You can create group chats, share documents, and use all of the OLPC collaboration features because all they really require is a way to locate the users you want to collaborate with. The higher-level software on the OLPC will take care of the rest.
Essentially, what this means is that as long as there's a properly-configured Jabber server that you can connect to, you can find other OLPC users and interact with them over the network. Tom Hoffman graciously set up just such a server at xochat.org, and I've talked with a few different people there and visited a shared document.
To tell your XO to use the xochat.org Jabber server, you can just open the Terminal activity and do the following:
$ sugar-control-panel -g jabber > ~/old-jabber-server
$ sugar-control-panel -s jabber xochat.org
That will save your old Jabber server in the file old-jabber-server in your home directory, and tell the system to use a new one. However, the system won't automatically update itself after this change; to do that, you need to hold down the alt and ctrl keys, and press erase to restart the interface.Once you've told your OLPC to use the xochat.org Jabber server and restarted the interface, you can just press the Neighborhood button — that's the circle with a ring of several dots in it — and you'll see everybody who's using an OLPC with that server. You can create group chats, share documents, and use all of the OLPC collaboration features because all they really require is a way to locate the users you want to collaborate with. The higher-level software on the OLPC will take care of the rest.
Link | Leave a comment {1} | Add to Memories | Tell a Friend
Update your OLPC operating system
Jan. 19th, 2008 | 09:52 pm
My XO-1 came with release 650 of the OLPC operating system, Sugar OS. However, according to the OLPC wiki the latest stable version of Sugar OS is 653. Updating your OS is simple, just follow the instructions once you get online with it.
I was able to get on my home WPA network — run by an AirPort Extreme (the pod, not the box) — by laboriously typing in the hex version of the WPA key. Fortunately I got it right; then it was just a matter of pulling up the Terminal activity, and running:
You can also install updates from a USB memory stick, since the XO-1 can boot from a signed OS image file on a USB flash drive. This is useful if you want to download an image on your Mac or PC — say because you can't get online with your XO-1, and need the wireless networking fixes — and then just install it.
I was able to get on my home WPA network — run by an AirPort Extreme (the pod, not the box) — by laboriously typing in the hex version of the WPA key. Fortunately I got it right; then it was just a matter of pulling up the Terminal activity, and running:
$ su -
# olpc-update -rv 653
That's it! Now I'm running 653 instead of 650, which fixes a few bugs.You can also install updates from a USB memory stick, since the XO-1 can boot from a signed OS image file on a USB flash drive. This is useful if you want to download an image on your Mac or PC — say because you can't get online with your XO-1, and need the wireless networking fixes — and then just install it.