Not really a KDE related post, but instead one about the OpenChange project.
OpenChange is a project to implement the Microsoft Exchange / Outlook protocols, and we're creeping up on the 0.9 release. For those not familiar with it, the aim is to be wire-level compatible, so that you can use a FOSS client (such as Evolution or an Akonadi client) with an unmodified Exchange server.
OpenChange depends on some underlying Samba4 libraries, so we normally work with the Samba project to get releases that basically match up - we don't want to rely on building bits of Samba4 from the git repository, and we don't want to depend on really on versions of Samba4. Not too far ahead, and not too far behind. Just right...
The next release of Openchange (0.9 "COCHRANE") will rely on Samba 4 alpha9. So the main thing to do is to make sure that we can work with the current state of Samba 4, to provide patches to Samba for stuff that needs to be fixed on the Samba side, and to have changes for OpenChange ready to go.
We expect to release within two weeks of Samba 4 alpha9, but OpenChange 0.9 will be released when it is considered done.
We anticipate a 0.10 release in early 2010, and probably a subsequent 0.11 release prior to 1.0.
I've gone through the trac tickets, and moved anything that can't reasonably be achieved for 0.9 to a 0.10 milestone. Large changes have to wait for 0.10 - it is getting very late to risk destablising libmapi.
So what we still have left:
- integrate exchange2ical work from Ryan Lepinski into trunk
- ensure that OpenChange works with FreeBSD/OpenBSD
- ensure that OpenChange works with OpenSolaris
- libmapi/Samba4 API updates
- mapiproxy/Samba4 API updates and association group API evolution
- a couple of tickets that may not be too hard to fix, related to pkg-config support
- a ticket related to Free / Busy time support that has a crash.
- a patch that checks some return values that we current don't handle.
- some documentation stuff.
Details are on http://trac.openchange.org.
Known problems:
- openchange development server will not be working "as it is". Resolving this requires revision of the OpenChange schema updates (to match Samba4 changes). This may not be resolved for 0.9.
If I've dropped a patch, or there is something you really need for 0.9, now is your chance to make yourself known. Probability of a patch being applied is inversely proportional to complexity, and also inversely proportional to how close I think the release is. That is, simple and soon is good.
>
Read More... |
Digg This!
More than 15 international communities will becoming
together in mid December for Tokyo's
Biggest Tech Party Ever. 300 people are expected to gather in
Roppongi, but I bet the number grows higher than that. I know a pile of
OpenSolaris guys will be going, and I`ll go for sure. I can imagine
that thousands of photographs and videos will emerge from this gig.
More details soon.
>
Read More... |
Digg This!
Toshiba now ships OpenSolaris on
the mini NB200 (Intel Atom), which goes right along with OpenSolaris on the
Portégé R600 and the Tecra M10. I have the M10. I hope to get
light and thin with the mini soon (it's less than 3 pounds and under an
inch thick so it fits right in your shirt pocket). This is really great
news. OpenSolaris is getting more popular on these Netbooks, so the opportunity can only be huge.
But I've been so busy lately, I totally missed this announcement. Right now Toshiba ships the OpenSolaris laptops to the US and the UK. When will they go global?
Go buy the Toshiba mini NB200 here. | My Toshiba blog tag here.
>
Read More... |
Digg This!
published by
jimgris on 2009-11-25 09:58:44 in the "
Japan" category
Found these two guys the other nite in Shibuya ...
>
Read More... |
Digg This!
published by
jono on 2009-11-25 05:14:45 in the "
Ubuntu" category
Last week, while at the Ubuntu Developer Summit in Dallas I mentioned in one of the roundtables about how wicked-cool it would be to have a desktop client for Ubuntu Open Week, Ubuntu Developer Week and other online tuition events that we run.
One of the challenges we face every time we run these events is [...]
>
Read More... |
Digg This!
published on 2009-11-25 00:56:00 in the "
Sun" category
Just an update on the acquisition front... Oracle gets more time to respond to EC antitrust concerns. "The deadline for a final ruling has been put back to Jan. 27 from Jan. 19, which amounts to six additional working days for Oracle to win over the skeptical regulator."
It's become crystal clear, for those not following the issue, that this is really all about MySQL. As I and others have sited repeatedly, the de facto standard MySQL engine for enterprise deployments is InnoDB which is already owned by Oracle, which really puts a big dent in the argument. All this makes you wonder, would Oracle have still acquired Sun if they didn't own MySQL? I tend to think, yes. Which makes that deal seem all the more ridiculous. All the same, Sun paid $1B for it, so the suggestion that Oracle should just let that entity break back off is even more ridiculous, not to mention just bad business.
>
Read More... |
Digg This!
published on 2009-11-24 20:34:00 in the "
OpenSolaris" category
Nevada Build 128 (snv_128) is now closed and available as BFU or source tarball. This means that those who want to play with ZFS Dedup but don't want to build from source can give it a go.
It should be said that there have been a lot of exciting enhancements to Nevada over the last couple of builds. Here are some of the changes in the last couple builds:
- ZFS Dedup
- zpool recovery support
- More ZFS fixes and improvements than you can shake a stick at
- Solaris now has bridging, and RBridges (IETF TRILL)
- Crossbow now provides link-protection (IP Anti-Spoof); this was a Joyent request we're glad to see incorporated
- Flowadm now implements remote_port attribute (was in the man page since the beginning but only added in 126)
- ksh93 update 2
- Solaris Hotplug Framework
- Smartcard support was ripped out
- ILB: Integrated L3/L4 Load balancer ... yes, thats right, a L3/L4 Load Balancer integrated INTO the Solaris kernel! This is my play toy atm.
- iSCSI Boot
- Piles and piles of COMSTAR and FCOE enhancements
- FMA for Nehalem_EX
- Solaris 10 zones
- Fast Crash Dump
- Lots of Audio improvements
- Clearview IP Tunneling (ie: create IP tunnels via dladm and associate resource controls like any other link)
- Datalink Administration from Non-Global Zones
- Solaris Packet Capture
- Marvell Yukon Gigabit Ethernet Driver
- ... and on and on and on.
If your not running at least Build 121 your really behind the times, and I highly recommend that if you have the time to install SX:CE 127 and BFU up to 128... or, if your busy with the holidays, make sure you set aside some time in December to really dig into the new hotness when SX:CE 128 releases.
>
Read More... |
Digg This!
Monday was a holiday here in Japan so I went to the O`Reilly Make
Conference and saw some of my Tokyo Hackerspace friends
there -- among thousands of other Japanese Makers. Really good time.
Make Magazine
>
Read More... |
Digg This!
On a couple of our servers running Solaris we noticed that it usually takes more than 10s to login. Once in everything is a snap. I quickly investigated it and this turned out to be interesting. I used truss(1M) to investigate what's going on from the moment I connect to the moment I have a working shell.
# truss -f -o /tmp/a -v all -adDE -p 408
Now I logged in to the system and analyzed
/tmp/a file. First I confirmed that it took over 10s to login. From the moment the connection was accepted to the moment I got interactive session it took about 11s as shown below:
[...]
408: 2.6594 0.0007 0.0000 fcntl(4, F_SETFL, (no flags)) = 0
[...]
12186: 14.0814 0.0001 0.0000 write(4, " | : { b7F S LB7A2 BA13".., 64) = 64
12196: read(0, 0x080473DF, 1) (sleeping...)
[...]
So I checked when it started to go wrong.
[...]
408: 2.6594 0.0007 0.0000 fcntl(4, F_SETFL, (no flags)) = 0
[...]
12196: 3.7245 0.0003 0.0003 forkx(0) = 12200
The connection started just before the fcntl showed above and everything is executing quick up-to
forkx() at 3.7245s. So far it took a little more than 1s. What happens next seems to be a loop of hundreds of entries like:
[...]
12200: 4.5521 0.0000 0.0000 ioctl(3, ZFS_IOC_USERSPACE_ONE, 0x08046790) Err#48 ENOTSUP
12200: 4.5522 0.0001 0.0000 ioctl(7, MNTIOC_GETMNTENT, 0x08047C1C) = 0
12200: 4.5917 0.0395 0.0002 ioctl(3, ZFS_IOC_OBJSET_STATS, 0x08046390) = 0
12200: 4.5918 0.0001 0.0000 getuid() = 35148 [35148]
12200: 4.5919 0.0001 0.0000 getuid() = 35148 [35148]
12200: 4.5919 0.0000 0.0000 door_info(6, 0x08046460) = 0
12200: target=189 proc=0x806FCD0 data=0xDEADBEED
12200: attributes=DOOR_UNREF|DOOR_NO_CANCEL
12200: uniquifier=289
12200: 4.5922 0.0003 0.0000 door_call(6, 0x080464D0) = 0
12200: data_ptr=FE430000 data_size=232
12200: desc_ptr=0x0 desc_num=0
12200: rbuf=0xFE430000 rsize=16384
12200: 4.5923 0.0001 0.0000 ioctl(3, ZFS_IOC_USERSPACE_ONE, 0x08046790) Err#48 ENOTSUP
12200: 4.5923 0.0000 0.0000 ioctl(7, MNTIOC_GETMNTENT, 0x08047C1C) = 0
12200: 4.6095 0.0172 0.0001 ioctl(3, ZFS_IOC_OBJSET_STATS, 0x08046390) = 0
12200: 4.6096 0.0001 0.0000 getuid() = 35148 [35148]
12200: 4.6096 0.0000 0.0000 getuid() = 35148 [35148]
12200: 4.6097 0.0001 0.0000 door_info(6, 0x08046460) = 0
12200: target=189 proc=0x806FCD0 data=0xDEADBEED
12200: attributes=DOOR_UNREF|DOOR_NO_CANCEL
12200: uniquifier=289
12200: 4.6098 0.0001 0.0000 door_call(6, 0x080464D0) = 0
12200: data_ptr=FE430000 data_size=232
12200: desc_ptr=0x0 desc_num=0
12200: rbuf=0xFE430000 rsize=16384
12200: 4.6098 0.0000 0.0000 ioctl(3, ZFS_IOC_USERSPACE_ONE, 0x08046790) Err#48 ENOTSUP
12200: 4.6099 0.0001 0.0000 ioctl(7, MNTIOC_GETMNTENT, 0x08047C1C) = 0
12200: 4.6201 0.0102 0.0001 ioctl(3, ZFS_IOC_OBJSET_STATS, 0x08046390) = 0
12200: 4.6202 0.0001 0.0000 getuid() = 35148 [35148]
12200: 4.6203 0.0001 0.0000 getuid() = 35148 [35148]
[...]
The process with PID 12200 was:
12200: 3.8229 0.0947 0.0013 execve("/usr/sbin/quota", 0x0811F9E8, 0x0811D008) argc = 1
12200: *** SUID: ruid/euid/suid = 35148 / 0 / 0 ***
12200: argv: /usr/sbin/quota
By visually looking at couple of pages of these ioctls it looked like most of the total time would be spent in doing
ioctl(3, ZFS_IOC_OBJSET_STATS, 0x08046390). Lets check it:
# grep "^12200:" /tmp/a |grep ioctl|grep ZFS_IOC_OBJSET_STATS|awk 'BEGIN{i=0}{i=i+$3}END{print i}'
9.7412
So out of 11s above ioctls along took 9. To have a clear picture lets check how much time the quota command took:
# grep "^12200:" /tmp/a |head -1
12200: 3.7245 3.7245 0.0000 forkx() (returning as child ...) = 12196
# grep "^12200:" /tmp/a |tail -1
12200: 13.9854 0.0003 0.0000 _exit(0)
So it took about 10s which means almost 100% of its time was spent doing above ioctls.
There are almost 300 zfs filesystems on this particular server so it all adds up. Sometimes quota completes very quickly sometimes it takes many seconds - I guess depending if requested data from all these zfs filesystems is cached or not. You need to run quota as a non-root user otherwise most checks are skipped and it is always quick.
Since we are not using quota on these systems anyway I commented out quota check in
/etc/profile and now a full login takes about 1s on average which is 10-12x improvement.
>
Read More... |
Digg This!
published on 2009-11-23 23:07:29 in the "
writing" category

The GNOME Women edition of
GNOME Journal has been released, including an article by
yours truly on Telepathy and MC5. Check it out.
>
Read More... |
Digg This!
Somehow the wind finally leads me to Bandung, the place where I spent years
studying at ITB. While still trying to absorb all the deja-vu sensations (last
time I was here, when I left the place, was 6 years ago!), nothing beats having
breakfast (and potentially also lunch and dinner later on) in one of those
food stalls. Since I promised to write about my culinary excitement, here is
one to pollute the planets (the aggregated blogs, not our blue marble): Kupat
Tahu. Essentially it is fried tofu, bean sprouts, and lontong (compressed rice)
served with peanut sauce and some crackers. That makes it for a good breakfast.

I will be in Bandung today and tomorrow, mostly just around the university. If
you are around and want to have a chat, feel free to drop me an email!
>
Read More... |
Digg This!

Some street shots from Jakarta and Bandung last week ...
>
Read More... |
Digg This!
After spending Tuesday talking with hundreds of engineering students at ITHB
Bandung (and after a great lunch with the university faculty), we
found a very cool Bandung
OpenSolaris User Group meeting at detikinet.com, which is
Indonesia`s largest news portal (meeting references here
and here).
The gathering was held in a dimly lit driveway under a tent. For over
two hours we sat on the floor on a carpet and just talked about
building developer communities using OpenSolaris.
I didn`t present any slides, so
we just had a free-flowing conversation. It was a warm night and the
rains (read: utterly massive downpours) had stopped, so everything was
nice and relaxed and quiet. I tried to stress that it`s important to
build
community locally first (this way you can follow your own rules) but
then to connect globally so you learn from others around the world. The
second point I made was that there is no secret to
establishing credibility in a community. It`s a simple concept, really.
Contributing. That`s
it. In fact, there is no other way. Your title does not matter. Nor
does your age or political associations or position in any given
organization. And you geography should`t matter, either. What matters
most is your ability
to get involved, to organize and engage new people, to build basic
infrastructure and tools to facilitate participation, and then to
contribute directly yourself. That`s how you
build community -- and the building concept pervades all levels of a community.
Everyone builds. And everyone builds from within the community,
not from the outside. I also told a bunch of stories about the engineers, managers, and community developers I have met along the way, the ones I respect most and from who I still learn every day.
Excellent night. Then the next morning some of guys took me to a
nearby volcano.
>
Read More... |
Digg This!
published on 2009-11-21 23:31:15 in the "
traffic" category

I missed something I wanted to go to yesterday, because I opted to wait for the bus that was coming in 5 minutes, and thus be early, rather than walk and only just make it on time.
The bus companies in Melbourne seem quite small, they only run a couple of lines each. Most shifts seem to be a driving the same line back and forth. The problem is when there is a delay on a route, driving the same route back and forth leads to that delay stacking and stacking. A technique I've seen to combat this is having buses change routes at the end of every route, effectively driving in circles around the area. This hopefully gives them an opportunity to make up the lost time. Of course, it requires bus routes that terminate in the same place and bus companies that operate more than just a couple of routes.
For what it's worth, a lot of yesterday's angst could probably have been avoided if the City of Yarra had bothered to tell someone it was closing part of Johnston St. Simply adjusting the traffic light sequences for the detour would have been a huge win, instead of having a traffic light that gave you but 15 seconds to turn down the next road, backing traffic up for 15 minutes.
>
Read More... |
Digg This!