DebianLinux.Net :: Planet Free Software

The European No Campaign Jesuit Vatican Wars

Please send requests for new feeds to: feedback@debianlinux.net

ToC

  1. Ajaxian : Right Click and Flash
  2. KDE : Will Stephenson: Successful Akonadi Hack Sprint in Berlin
  3. Ubuntu : Corey Burger: 27 Aug 2007
  4. Python : Second p0st - Phillip Pearson: Word 2007 not finished?
  5. RDF : Virtuoso Cluster Preview
  6. RDF : Banker
  7. RDF : Tutorillas
  8. Mozilla : Li Gong: 谋智网络Open House (09/01/2007)3pm
  9. GStreamer : Elisa News: Development websites moved
  10. PHP : FrOSCon 2007 - Sebastian Bergmann
  11. Smalltalk : ESUG 2007 Kickoff
  12. Maemo : MOSH by Nokia
  13. XMLhack : 5★♫: Kremer Plays Bach
  14. Jabber : Stefan Strigler: Google Tech Talk on Building JavaScript Libraries
  15. KernelTrap : OpenBSD: Software Freedom
  16. GNOME : Vivien Malerba: Libgda: reports generation
  17. PHP : What company would you work for? - Ligaya Turmelle
  18. OpenClipArt : Ted Gould: Walking Boston
  19. KDE : Guillermo Amaral (gamaral): Back in Hack
  20. XMLhack : del.icio.us bookmarks for 2007-08-26
  21. KDE News : KDE Commit-Digest for 26th August 2007
  22. Smalltalk : ESUG 2007 : c’est parti
  23. XMLhack : The Internet is a Dead Platform and Mark Cuban is a Dinosaur
  24. Ajaxian : Foo: A Prototype based RIA framework
  25. BlenderNation : Video Tutorial: Creating an SGI logo
  26. GNOME : Glynn Foster: OpenSolaris Developer Summit
  27. Python : Making It Stick (Patrick Logan): That's Fine
  28. XMLhack : The biggest gift
  29. Maemo : Nokia 770 for $129 on sale at eCost
  30. Python : Making It Stick (Patrick Logan): OK -- yeah, something about JAVA
  31. Ubuntu : Aaron Toponce: Ode To Hercules Haiku
  32. PostgreSQL : David Fetter: PostgreSQL Weekly News - August 26 2007
  33. Asterisk : Voip-Info: Asterisk bounty PRI 2B channel transfer / Still need solution for NI2 2BCT [ID: 42821]
  34. GNOME : Miguel de Icaza: Election Money
  35. RDF : Who uses metadata from HTML head/meta @name and @content attributes?
  36. OpenOffice : IssueZilla: New issues: Mon Aug 27 03:43:01 UTC 2007
  37. Eclipse : Nirav Thaker: Back to Enterprise Apps
  38. OpenOffice : Sebastien Plisson: Mac Address Book Integration : a Google Summer Of Code success !
  39. Python : Kun Xi: Would you like a slice of pie?
  40. LISP : Gary King: Followup to ASDF Plug-ins
  41. Free Software Magazine : Tips and Tricks
  42. Python : Groovie: Next-Gen DVD Wars Give me the Blues...
  43. Python : Django Weblog: Django roundup: August 26
  44. Eclipse : Nick Boldt: Notes 8: Part 3: M'aidez!
  45. Mozilla : Gen Kanai: default serif font for Chinese (zh-CN)
  46. Debian : Enrico Zini: pkgprune
  47. Jabber : Fabio Forno: Signing and Nokia: sgrunt
  48. Asterisk : Nerd Vittles: Back to School Time: The Bleeding Edge of Asterisk, Part 1
  49. KernelPlanet : Robert Love: Robert's Blog and Feed Moved!
  50. FFII Software Patents : WSJ: Patent System's Revamp Hits Wall
  51. Symfony : A week of symfony #34 (20->26 August 2007)
  52. Mozilla : Justin Scott: A Comparison
  53. Smalltalk : Chicken in mojo criollo
  54. GNOME : Ronald Bultje: Verizon Wireless and getting a cell phone
  55. Mozilla : Robert O'Callahan: Mercurial
  56. OpenID : The OpenID Buzz: Information Cards for OpenIDs
  57. Python : Voidspace: Playing Video with Silverlight
  58. XMLhack : Bragging
  59. XMLhack : Facebook Spam
  60. Mozilla : Robert O'Callahan: OOXML Wars
  61. Debian : Junichi Uekawa: Seeing some newcomer to Japan.
  62. Debian : Miriam Ruiz: D compiler in Debian
  63. Eclipse : Denis & Karl: Eclipse: tools for IT people too
  64. Smalltalk : MOO XML: Even MS don't implement it
  65. Debian : Russell Coker: Never IRC as Root
  66. Eclipse : Litrik De Roy: Secrets of Bundle-NativeCode
  67. GNOME : Frederic Peters: Devhelp with WebKit
  68. Debian : Roland Mas: Gforge in Debian, August 2007
  69. Python : Voidspace: Fetching Embedded Resources from IronPython
  70. LISP : David Lichteblau: cloak
  71. Gentoo : Tavis Ormandy: McAfee Update
  72. KDE : Clarence Dang: Laptop dead?
  73. Smalltalk : Chronos Time Zone Repository Version 2007g Published
  74. Asterisk : Sineapps Asterisk News: *-users: foneBRIDGE2 setup
  75. Asterisk : Sineapps Asterisk News: Astlinux-users: Updated documentation on the Astlinux site
  76. Debian : Sebastian Harl: FrOSCon 2007: Debian on a Lego robot
  77. Python : Mike Fletcher: The Turtle-to-interactive-turtle step...
  78. Scheme : Dominique Boucher: Next meeting of the Montreal Scheme/Lisp User Group
  79. Eclipse : Ed Merks: On the Lookout for Bugs
  80. Asterisk : Voip-Info: Asterisk phone cisco 7970 SIP / Re: Firmware 8-2-2SR1 [ID: 42806]
  81. PHP : Setting up Zend Framework applications with Phing - Raphael Stolt
  82. FreeDesktop : Thomas Vander Stichele: Freedesktop problems
  83. XMLhack : Pantone’s Missed Chance
  84. XMLhack : Lauren and Jean
  85. Python : Ted Leung on the Air: Another victory for full feeds
  86. OpenMoko : Jan Luebbe: Debian on the Neo1973
  87. Ubuntu : Jonathan Carter: CTWUG Committee Formed
  88. KDE : Cláudio da Silveira Pinheiro (Taupter): Flashy 32bit diehards
  89. OpenOffice : IssueZilla: New issues: Sun Aug 26 15:43:01 UTC 2007
  90. GNOME : Alberto Ruiz: Jython reaches stable realse
  91. Python : Mike Fletcher: Whole day on documenting and automating
  92. Ubuntu : Sebastian Kügler: Hanging out at FrOSCon.
  93. PHP : Introduction to Midgard's database abstraction system - Henri Bergius
  94. Debian : Christian Perrier: Back...and mail read
  95. GNOME : Adam Schreiber: OpenStreetMap Presentation
  96. Maemo : uktube bugfix version released
  97. Debian : Biella Coleman: The problem with presentism
  98. KDE : Johan Thelin: Qt applications
  99. Gentoo : Remi Cardona: First post!
  100. PHP : phpunit.de back online - Sebastian Bergmann
  101. Smalltalk : ESUG In Lugano
  102. KDE : Alexander Dymo (adymo): Scala: a pleasant discovery
  103. Smalltalk : Scaling Reality
  104. KDE : Boudewijn Rempt (boud): Er what?
  105. Smalltalk : Declined Standards
  106. OpenMoko : Rod Whitby: Debugging gsmd failures on OpenMoko
  107. Python : Ned Batchelder: Sable-3 photo balloon into space
  108. Mozilla : Zak Greant: MoFo Weekly Report 2007-08-24
  109. Smalltalk : Aussie Entrepreneurship at BarCampSydney
  110. Mozilla : matthew zeier (mrz): China, day one
  111. KDE : Daniel Duley (mosfet): Why this is interesting.
  112. Asterisk : Voip-Info: Asterisk High Availability Solutions / foneBRIDGE2 setup [ID: 42797]
  113. Asterisk : Voip-Info: Redfone / foneBRIDGE2 setup [ID: 42796]
  114. Debian : Andrew McMillan: I have finally chosen a new name: DAViCal
  115. Planet Haskell : Manuel M T Chakravarty: Specialising Simulator Generators for High-Performance Monte-Carlo Methods.
  116. PHP : FrOSCon 07 - Kore Nordmann
  117. Maemo : Phone?
  118. Debian : Russell Coker: Solar Hot Water - Not Expensive
  119. BlenderNation : Peach Workshop
  120. Debian : Mike Hommey: WebKit in unstable
  121. Annodex : Shane's presentation on Annodex for us in ethnographic research
  122. KDE : Benoit Jacob (bjacob): The long road to Eigen 2
  123. FreeDesktop : Havoc Pennington: Money Math
  124. Classpath : Casey Marshall: Stellaruim
  125. Ruby : Ola Bini: On the road again...
  126. Python : Ted Leung on the Air: Scalability != concurrency
  127. Debian : Cameron Dale: DebTorrent Usage: details of a successful dist-upgrade
  128. Mono : Codice Software: New tree 3D layout
  129. FreeDesktop : Havoc Pennington: Investment Perspective
  130. Planet Haskell : Tom Moertel: R tips and tricks: Producing smooth bitmap plots
  131. Scheme : Dominique Boucher: Gambit-C 4.0 released
  132. Smalltalk : Is this college mathematics?
  133. XMLhack : Heard in Conversation
  134. Ubuntu : Debian Package of the Day: IPTraf, a ncurses based LAN monitor
  135. OpenID : Kaliya Hamlin: In the Desert for a Week: Back after Labo(u)r Day.
  136. OpenID : Kaliya Hamlin: Thoughts on Community Engagement
  137. Python : Richard Jones' Stuff: PyWeek: one week away!
  138. Ubuntu : Martin Meredith: Giggle of the Day 26/08
  139. OpenOffice : IssueZilla: New issues: Sun Aug 26 03:43:01 UTC 2007
  140. GNOME : Thomas Thurman: Things Rio said today
  141. XMLhack : NASDAQ: JAVA
  142. Ruby : Charles Oliver Nutter: JRuby 1.0.1 and Jython 2.2 Released
  143. GNOME : Glynn Foster: Fermentation proceeding nicely
  144. Gentoo : Joshua Jackson: Crazy Month
  145. Python : Kumar McMillian: GTAC Highlights Part 1 - Selenium is Alive and Well, Model Based Testing Is Smart, And...
  146. Python : Jesse Noller: More on Typing
  147. KDE : Sebastian Pipping (sping): Kate can do Searching!
  148. Mono : Patrick van Staveren: Storm carnage?
  149. GNOME : Chris Lord: Introducing: JanaGtkEventList
  150. Ubuntu : Andre Noel: Don’t be jealous…
  151. Ubuntu : Harald Sitter: Froscon socialized
  152. KDE : Bram Schoenmakers: The amount of incoming non bugs
  153. KDE : Albert Astals Cid (TSDgeos): Modern art is ...
  154. Ubuntu : Tiago Faria: Hosting for IRC Statistics project
  155. KDE : Anne-Marie Mahfouf (annma): Classmate PC
  156. Maemo : maemo wiki cleanup: first milestone
  157. OpenID : Lukas Rosenstock: This blog is quite dead
  158. OLPC : Yay! VirtualBox with sound and networking!
  159. Mozilla : Nagappan: Recording your screen in solaris :)
  160. Mozilla : Nagappan: My Tinderbox is working...
  161. Mozilla : Nagappan: SOC ...
  162. Smalltalk : Gross confusion
  163. Debian : Russell Coker: Does Having Fewer Rules Inspire Hard Work?
  164. Smalltalk : Aston Martin announced the new DBS
  165. KDE : Jason Kasper (vanRijn): Got (KDE) Shirts? (part deux)
  166. GNOME : Alberto Ruiz: Happy birthday!
  167. GNOME : Alberto Ruiz: The first vala browser.
  168. Classpath : Roman Kennke: Usability of desktop apps, or why file menus are not needed
  169. GNOME : Alberto Ruiz: Bind them all!
  170. Ubuntu : Pete Savage: All I hear is Radio Ubuntu
  171. Debian : Wouter Verhelst: Cooking
  172. Mono : Olivier Dufour: vala
  173. Smalltalk : An update on the book
  174. OpenOffice : Pierre-André Galmes: FUD - StarOffice in the Google Pack
  175. Debian : Martín Ferrari: Last GSoC update
  176. Smalltalk : Vacation is over
  177. GNOME : Sayamindu Dasgupta: Dell delays
  178. Planet Haskell : Eric Kow (kowey): getting things done with mutt 2 (auto-review)
  179. FreeDesktop : Philip Langdale: S3 is a cruel mistress
  180. Maemo : S3 is a cruel mistress
  181. GNOME : Luis Medinas: Brasero 0.6.1 Released yay
  182. Debian : Christian Perrier: Back home
  183. Ajaxian : Proto.Menu: Prototype-based Context Menu Solution
  184. Debian : Joachim Breitner: TTF-Glyph in pdflatex output
  185. Eclipse : Nicolas Richeton: Media Flow :-)
  186. XMLhack : Where No Search Engine Has Gone Before
  187. Wine-doors : Wine-doors status: road to 0.1.1
  188. Python : The Dreamer: Lookup
  189. Python : Lawrence Oluyede's Blog (Lawrence Oluyede): SGML Python parsers benchmark
  190. GNOME : Ryan Lortie: delayed-apply, again
  191. KernelTrap : Linux: Volatile Performance
  192. Mono : Joe Audette: Achieving the Single Sign On Dream with Open ID and Windows Live ID
  193. Ubuntu : Martin Meredith: Movie Pirate forced to ditch Linux
  194. Asterisk : Voip-Info: AudioCodes MediaPack 114 & 118 SIP Gateway with Asterisk / Undocumented Switches [ID: 42783]
  195. Mozilla : Frederic Wenzel: Time to get an iPhone
  196. Mozilla : Mike Shaver: Tbeachball
  197. RDF : IBM gift establishes UMBC Multicore Computing Center
  198. Ubuntu : Efrain Valles: There may be very few… but they are trully something…
  199. Smalltalk : "Schrödinger's Cat" Theory Proven
  200. OpenOffice : IssueZilla: New issues: Sat Aug 25 15:43:00 UTC 2007
  201. Ubuntu : Jeff Bailey
  202. Mozilla : Calendar: Lightning/Sunbird Status Update (August 25)
  203. Classpath : Arnaud Vandyck: Argouml in Debian
  204. Debian : Gustavo R. Montesino: SoC Final Report
  205. Ubuntu : Jono Bacon: New Drums
  206. Mono : Debackerl: SoC :: Ribbons :: Summary
  207. Debian : Lior Kaplan: Bug triaging on various packages
  208. Smalltalk : OODB vs RDB
  209. KDE : Till Adam: Akonadi Hack Sprint Commences
  210. GNOME : Jürg Billeter: Documents and Windows
  211. Debian : Michal Čihař: python-gammu 0.22
  212. Debian : Michal Čihař: First Japanese experiences
  213. LISP : John Q. Splittist: #lisp FEP - I want to learn lisp but I don't want to use emacs
  214. LISP : John Q. Splittist: #lisp FAQ - How can I generate a standalone executable?
  215. Maemo : 25 Aug 2007
  216. GStreamer : Zeeshan Ali: 25 Aug 2007
  217. GNOME : Daniel Elstner: Alright, FU Berlin it is then
  218. BlenderNation : BlenderGuide.org
  219. Python : Python, Zope and dotNet (Chui Tey): Building Python Extensions With ActivePython 2.5 And Visual Studio 2005
  220. Annodex : www.annodex.net upgrade
  221. Debian : Andreas Metzler: bad xpdf rendering on etch
  222. Maemo : 25 Aug 2007
  223. GStreamer : Zeeshan Ali: 25 Aug 2007
  224. Smalltalk : On my way to ESUG
  225. GNOME : Frederic Peters: And now for something totally different
  226. Mono : Rolf Bjarne Kvinge: Killer feature
  227. Debian : Michael Prokop: Debian @ Froscon 2007
  228. Python : S.Lott: Something Else I Invented
  229. LISP : Ingvar Mattsson: 25 Aug 2007
  230. FreeDesktop : Thomas Vander Stichele: Evolution filters
  231. Smalltalk : Weekly Log Analysis: 8/25/07
  232. The Linux Game Tome : Cultivation 8 (updated)
  233. The Linux Game Tome : The Goonies 1.0.1 (new)
  234. The Linux Game Tome : Pingus 0.7.0 (updated)
  235. The Linux Game Tome : Stella 2.4 (updated)
  236. The Linux Game Tome : lincity-ng 1.1.1 (updated)
  237. The Linux Game Tome : H-Craft Championship 1.2 (updated)
  238. The Linux Game Tome : Paintball 2 Build 019 (updated)
  239. Debian : Dave Noble: Vodafone-Induced Anger
  240. Jabber : Coccinella: D'artagnan Speaks
  241. XMLhack : The XML Apache Project has posted version 0.94 of FOP, an open source XSL Formatting Objects to PDF/PostScript/RTF converter written in Java.
  242. GNOME : Rodrigo Moya: Spanglish (or Engpanish)
  243. Python : Shannon -jj Behrens: Computer Science: Smart People Have Weird Hangups
  244. Python : The Blog - Juri Pakaste: Python-style enumerate for Nemerle
  245. OpenMoko : Rod Whitby: Stopping the OpenMoko startup sound
  246. XMLhack : Document Projection
  247. Python : online.effbot.org - Fredrik Lundh: A Cache Status View for Django
  248. Ubuntu : Martin Meredith: Giggle of the day.
  249. Ubuntu : Juan Carlos Torres: +365 days… coming back
  250. Debian : Russell Coker: Designing Computers for Small Business

August 27, 2007

Ajaxian

Right Click and Flash

Zoom In? Really? How often do you ever want to zoom in on an app? But we have all seen that when we right click on a Flash file. Paulius Uza has a solution for the right click context menu and has posted the code on a Google Code project. Why would anyone want to do this? [...]

August 27, 2007 10:29 AM

Planet KDE

Will Stephenson: Successful Akonadi Hack Sprint in Berlin

So after 2 days of frantic hacking we made some good progress on Akonadi - including sorting out the database schemas with professional help for performance, producing benchmarking tools to find areas to improve in other layers, fixing MIME parser bugs, improving KMail in KDE 4.0 and KOrganizer's layouting.

Akonadi Hackfesters

Thanks to KDAB for hosting us, Kris from MySQL for spending his weekend on our database, and KDE e.V. and Novell for their support.

August 27, 2007 10:07 AM

Planet Ubuntu

Corey Burger: 27 Aug 2007

OpenStreetMap 1 : Google 0

Seems that a good volunteer can produce better maps than the commercial providers. Take a look at Boggomsbaai, the holiday town I was in last weekend:

And then take a look at George, the town I am currently staying in. I have almost mapped more just with the drive in yesterday than all of what Google has:

The trip, in general

I am really enjoying being back here in SA (last time I was here was 1994) and seeing all the relatives again. The weather has been a real mixed bag, some rain, some sun.

Tomorrow Brian, my father and I are headed to Addo Elephant Park for a few days, then we back here and then off to another holiday town called Vermaaklikheid.

August 27, 2007 09:58 AM

unofficial planet python

Second p0st - Phillip Pearson: Word 2007 not finished?

Argh... Office 2007 is generally quite nice, and has been working well for me, but this is a shocker. The whole graphics engine got rewritten since Office 2003, except the Word team didn't get around to integrating it properly, or something, resulting in various shitty user experience warts. For example, you can't group pictures with other drawing objects. WTF?

Truly bizarre: Excel and Powerpoint have a new version of WordArt, but Word doesn't.

My preinstalled 60-day trial of Office 2007 will be expiring soon so I need to decide between spending $300-450 on the full version or moving to OpenOffice. OpenOffice isn't exactly an appealing choice either -- I tried using it a few weeks back and it silently discarded a few hours of changes to my document without asking, when I closed a window. Tough choice: expensive half-finished software, or free software that loses data?

Comment

August 27, 2007 09:57 AM

Planet RDF

Virtuoso Cluster Preview

I wrote the basics of the Virtuoso clustering support over the past three weeks.  It can now manage connections, decide where things go, do two phase commits, insert and select data from tables partitioned over multiple Virtuoso instances.  It works about enough to be measured, of which I will blog more over the next two weeks.

I will in the following give a features preview of what will be in the Virtuoso clustering support when it is released in the fall of this year.

Data Partitioning

A Virtuoso database consists of indices only, so that the row of a table is stored together with the primary key.  Blobs are stored on separate pages when they do not fit inline within the row.  With clustering, partitioning can be specified index by index. Partitioning means that values of specific columns are used for determining where the containing index entry will be stored.  Virtuoso partitions by hash and allows specifying what parts of partitioning columns are used for the hash, for example bits 14-6 of an integer or the first 5 characters of a string.  Like this, key compression gains are not lost by storing consecutive values on different partitions.

Once the partitioning is specified, we specify which set of cluster nodes stores this index.  Not every index has to be split evenly across all nodes.  Also, all nodes do not have to have equal slices ofthe partitioned index, accommodating differences in capacity between cluster nodes.

Each Virtuoso instance can manage up to 32TB of data.  A cluster has no definite size limit.

Load Balancing and Fault Tolerance

When data is partitioned, the operation on the data goes where the data is.  This provides a certain natural parallelism but we will discuss this further below.

Some data may be stored multiple times in the cluster, either for fail-over or for splitting read load.  Some data, such as database schema is replicated on all nodes.  When specifying a set of nodes for storing the partitions of a key, it is possible to specify multiple nodes for the same partition.  If this is the case, updates go to all nodes and reads go to a randomly picked node from the group.

If one of the nodes in the group fails, operation can resume with the surviving node.  The failed node can be brought back online from the transaction logs of the surviving nodes. A few transactions may be rolled back at the time of failure and again at the time of the failed node rejoining the cluster but these are aborts as in the case of deadlock and lose no committed data.

Shared Nothing

The Virtuoso architecture does not require a SAN for disk sharing across nodes.  This is reasonable since a few disks on a local controller can easily provide 300MB/s of read and passing this over an interconnect fabric that would also have to carry inter-node messages could saturate even a fast network.

Client View

A SQL or HTTP client can connect to any node of the cluster and get an identical view of all data with full transactional semantics.  DDL operations like table creation and package installation are limited to one node, though.

Applications such as ODS will run unmodified.  They are installed on all nodes with a single install command.  After this, the data partitioning must be declared, which is a one time operation to bedone cluster by cluster.  The only application change is specifying the partitioning columns for each index.  The gain is optional redundant storage and capacity not limited to a single machine.  The penalty is that single operations may take a little longer when not all data is managed by the same process but then the parallel throughput is increased.  We note that the main ODS performance factor is web page logic and not database access.  Thus splitting the web server logic over multiple nodes gives basically linear scaling.

Parallel Query Execution

Message latency is the principal performance factor in a clustered database.  Due to this, Virtuoso packs the maximum number of operations in a single message.  For example, when doing a loop join that reads one table sequentially and retrieves a row of another table for each row of the outer table, a large number of the join of the inner loop are run in parallel.  So, if there is a join of five tables that gets one row from each table and all rows are on different nodes, the time will be spent on message latency.  If each step of the join gets 10 rows, for a total of 100000 results, the message latency is not a significant factor  and the cluster will clearly outperform a single node.

Also, if the workload consists of large numbers of concurrent short updates or queries, the message latencies will even out and throughput will scale up even if doing a single transaction were faster on a single node.

Parallel SQL

There are SQL extensions for stored procedures allowing parallelizing operations.  For example, if a procedure has a loop doing inserts, the inserted rows can be buffered until a sufficient number is available, at which point they are sent in batches to the nodes concerned.  Transactional semantics are kept but error detection is deferred to the actual execution.

Transactions

Each transaction is owned by one node of the cluster, the node to which the client is connected.  When more than one node besides the owner of the transaction is updated, two phase commit is used.  This is transparent to the application code.  No external transaction monitor is required, the Virtuoso instances perform these functions internally.  There is a distributed deadlock detection scheme based onthe nodes periodically sharing transaction waiting information.

Since read transactions can operate without locks, reading the last committed state of uncommitted updated rows, waiting for locks is not very common.

Interconnect and Threading

Virtuoso uses TCP to connect between instances.  A single instance can have multiple listeners at different network interfaces for cluster activity.  The interfaces wil be used in a round-robin fashion by the peers, spreading the load over all network interfaces. A separate thread is created for monitoring each interface.  Long messages, such as transfers of blobs are done on a separate thread, thus allowing normal service on the cluster node while the transfer is proceeding.

We will have to test the performance of TCP over Infiniband to see if there is clear gain in going to a lower level interface like MPI.  The Virtuoso architecture is based on streams connecting cluster nodes point to point.  The design does not per se gain from remote DMA or other features provided by MPI.  Typically, messages are quite short, under 100K.  Flow control for transfer of blobs is however nice to have but can be written at the application level if needed.  We will get real data on the performance of different interconnects in the next weeks.

Deployment and Management

Configuring is quite simple, with each process sharing a copy of the same configuration file.  One line in the file differs from host to host, telling it which one it is.  Otherwise the database configuration files are individual per host, accommodating different file system layouts etc.  Setting up a node requires copying the executable and two configuration files, no more.   All functionality is contained in a single process.  There are no installers to be run or such.

Changing the number or network interface of cluster nodes requires a cluster restart.  Changing data partitionining requires copying the data into a new table and renaming this over the old one.  This is time consuming and does not mix well with updates.  Splitting an existing cluster node requires no copying with repartitioning but shifting data between partitions does.

A consolidated status report shows the general state and level of intra-cluster traffic as count of messages and count of bytes.

Start, shutdown, backup and package installation commands can be issued from a single master node. Otherwise all is symmetrical.

Present State and Next Developments

The basics are now in place.  Some code remains to be written for such things as distributed deadlock detection, 2 phase commit recovery cycle, management functions etc.  Some SQL operations like text index, statistics sampling and index intersection need special support, yet to be written.

The RDF capabilities are not specifically affected by clustering except in a couple of places.  Loading will be slightly revised to use larger batches of rows to minimize latency, for example.

There is a pretty much infinite world of SQL optimizations for splitting aggregates, taking advantage of co-located joins etc.  These will be added gradually.  These are however not really central to the first application of RDF storage but are quite important for business intelligence, for example.

We will run some benchmarks for comparing single host and clustered Virtuoso's over the next weeks.  Some of this will be with real data, giving an estimate on when we can move some of the RDF data we presently host on the new platform.  We will benchmark against Oracle and DB2 later but first we get things to work and compare against ourselves.

We roughly expect a halving in space consumption and a significant increase in single query performance and linearly scaling parallel throughput through addition of cluster nodes.

The next update will be on this blog within two weeks.

August 27, 2007 09:44 AM

Banker

Like Dare, I find Mark Cuban's The Internet is Dead and Boring post "too irritating to let pass", and generally agree with Dare's point about bandwidth/media being kind-of irrelevant. But I'll spare you the essay featuring words like 'network', 'ubiquitous', 'mobile' and 'linked data'. Instead, here's a platform used in a really old medium:

It's a banker, as used by stonecarvers/masons. The platform isn't too interesting in itself, but combined with a bunch of other tools, the end result can be amazing - take a trip to Chartres if you doubt me. (The essay would have mentioned the bazaar too). 

August 27, 2007 09:40 AM

Tutorillas

A call from the Semantic Web Education and Outreach group - if you know of any semweb-related tutorial material, can you please link to it on the RecommendedTutorials Wiki page, give it the del.icio.us tags it "sweo tutorial", or just mail me.

~

I [was] typing this on the train, somewhere between Genova and Viareggio (sea...tunnel...sea..tunnel...), on the way home from Lugano in Switzerland. Reto & I just had a couple of days up near there, coincidentally working on tutorial material for the Talis Platform. It went well, long days broken up by eating and walking around Monte Bre. The night I arrived we started planning over a Mexican, hence this post's title.

Day One we did a load of gardening around the N2 Wiki, Day Two we put together the skeleton of a tutorial along with most of a non-trivial code example. A lot more work is needed - the prose, and example stuff in different languages etc, but we made a good start (btw, if anyone wants a (hosted) Platform store to play with let me know).

August 27, 2007 09:28 AM

Planet Mozilla

Li Gong: 谋智网络Open House (09/01/2007)3pm

经过一系列的准备,我们的办公室终于可以用了(虽然免不了还有点装修的味道)。现诚挚的邀请对火狐等有兴趣者参加我们第一次Open House活动。活动时间、地点、内容都已在 邀请函中详细说明。

如果您有时间参加本次Open House,请写邮件给firefoxer.register@gmail.com。最好在回信中提供您的姓名和联系方式(希望您能够提供手机号码,参会前我们会再次和您进行电话确认)。我们知道人数,更便于准备茶点。您的联系方式不会用于任何其他事宜,请放心。

这次活动经过征求大家意见,决定在周六下午举办, 主要因为许多人平时上班较忙。占用周末,可能有些网友不一定能抽出时间。我们今后会在不同时间段争取举办一系列的其他活动,譬如组织技术讲座等等。希望这周六大家多多出主意。

想先一睹为快的朋友可看看http://picasaweb.google.com/lgatlarge。我们的活动也会像办公室的风格一样,简单明了,舒服但不奢侈。形式固然重要,但更重要的是内容。

周六见!

宫力

August 27, 2007 08:46 AM

Planet GStreamer

Elisa News: Development websites moved

Elisa and Pigment Subversion/Trac were moved to a new server last week. Update your bookmarks!

The new Trac websites are now far more reliable, thanks Thomas for migrating all this :)

August 27, 2007 08:10 AM

Planet PHP

FrOSCon 2007 - Sebastian Bergmann

FH Bonn Rhein-Sieg

Last weekend saw the second installment of the Free and Open Source Software Conference (FrOSCon) in Sankt Augustin. The conference revolved around a rich schedule of talks, highlighting current topics in Free Software and Open Source. Moreover, Open Source projects took the opportunity to organize their own meetings or even their own lineup of events. Just like last year, the PHP usergroups of Dortmund and Cologne/Bonn organized the PHP @ FrOSCon subconference with two full days of presentations.

For me, Sankt Augustin is conveniently located near to my hometown of Siegburg and so FrOSCon started for me on Friday night with greeting Giuseppe, Markus, Roland, and Beat from MySQL in Sankt Augustin for dinner. After dinner we made a quick excursion to Siegburg for the annual town fair that took place here over the weekend.

Keysigning Party

On Saturday, the first conference day, I attended a couple of talks (that I, apart from Arne's and Carola's presentation on XUL, don't remember). In the evening I attended the keysigning party before we headed out to Siegburg for dinner and another stroll over the town fair.

Tobias, Henri, and Boris

On Sunday, the second day of the conference, Tobias Schlitt arrived in Sankt Augustin and together we took care of the server that runs phpunit.de. In the afternoon, I gave my presentation on PHPUnit which was well received.



In the evening, we headed out to Cologne for dinner at a Brazilian restaurant were we enjoyed rodizio. Afterwards we walked to the Dom, took some pictures, and had some ice cream for dessert.

August 27, 2007 08:10 AM

Planet Smalltalk

ESUG 2007 Kickoff

After the Camp Smalltalk weekend, the 15th European Smalltalk User Group - ESUG 2007 - starts!

Opening and welcome by Stéphane Ducasse and Michele Lanza

Various media including presentation slides will be available in nearly real-time there http://csl.ensm-douai.fr/Esug2007Media/

August 27, 2007 07:42 AM

Planet Maemo

MOSH by Nokia

Nokia has released MOSH, a create - collect - share website with mobile users in mind. From the popular content and tags it is easy to deduce that this is not just another Nokia-promo site (look this screenshot to see what I mean). I have been following the internal development from a distance, with interest, and I'm looking forward to see its evolution in the Tough Tough Web.

We have a potential opportunity to direct maemo content there, increasing the visibility of third party applications among the usual/enthusiastic users of mobile phones. I mean doing this officially with maemo, users alone can upload what they want and they are already posting stuff like Tomiku (a sudoku game for maemo).

We haven't thought much about this yet, since wanted to see the real MOSH in action and the maemo community reactions (if any). What do you think?

August 27, 2007 07:38 AM

Planet XML

5★♫: Kremer Plays Bach

I’ve been fishing in Twentieth-century five-★ waters of late, so let’s cast our eyes back on music written by dead guys. There have been a few classical works that I’ve heard one artist play, then never bothered to take the time to listen to anyone else’s take. For example, Gidon Kremer’s 1980 recording of the Violin Sonatas and Partitas by J.S. Bach. This might be a tough sell: two hours of music containing no notes much below middle C, and no more than two notes ever played at the same time. And Kremer is all about Truth not Beauty, which is to say he doesn’t sugar-coat Bach’s rough edges. But I think that truth is beauty, and I think that this music has so much of both that you really ought to sit down sometime and listen to all of it. Well, and it sounds good. (“5★♫” series introduction here; with an explanation of why the title may look broken.)

The Context

I’ve written plenty about J.S. Bach, especially here and here. I’ve written about Kremer. And this whole space is about truth.

Gidon Kremer

This image of Gidon Kremer is copyright Stefan Bremer, from here.

The Music

I just don’t know what to say. Listen to the first few seconds, and you’ll know right away whether this is going to become an permanent part of your mental landscape, or whether it’s just a screechy fiddle playing way too many notes that don’t seem to go anywhere.

Page from BWV1001

I’d it it to my personal list of things to be considered in evidence as to why Homo Sapiens should be considered, on balance, a Good Thing for the universe to include.

If there’s a Greatest Hit in here, it’s the Preludio from Partita 3, BWV 1006; which has been quoted and re-used enough times to enter the racial memory. I don’t think it’s the best track. I’d tell you what I do think is the best but that’d be irrelevant, because every time I put this CD on I end up listening to both disks, end-to-end. It’s great-in-the-whole, great enough that singling out one part or another would be irrelevant.

The 1980 Gidon Kremer recording of Bach solo works

Sampling It

As Wikipedia notes, there are a whole lot of recordings, by basically every violinist you’ve ever heard of. I’ve listened to a couple of others but none have won my heart away from Kremer’s 1980 take; I’ve always thought the sound had a bit too much echo, but still, there’s very little between you and the fiddle, which is as it should be. Two things should be noted: this music leaves so much room for the interpreter’s soul that it would be really unsurprising if you liked it, but preferred another recording. Second, in researching this article I discovered that Kremer took another run at the material in 2002, on ECM New Series 1926 (more discussion here). Since ECM is one of my favorite music shops, I think I’m just gonna have to pick that one up too.

You can listen to samples of both at Amazon. This isn’t about downloading, it’s about buying shiny silver round things and listening to them late at night with the lights out.

August 27, 2007 07:30 AM

Planet Jabber

Stefan Strigler: Google Tech Talk on Building JavaScript Libraries

August 27, 2007 07:30 AM

KernelTrap - Kernel news

OpenBSD: Software Freedom

OpenBSD creator Theo de Raadt highlighted a recent commit to the NetBSD source tree saying, "if anyone had any doubt that our insistence on freedom was important, just read this." The referenced commit message describes an effort to work around issues with a binary blob included with NetBSD, something strongly avoided by the OpenBSD project. The commit message states:

"The Atheros HAL on MIPS uses %s7 as a general purpose register, but the rest of the kernel uses it to store the value of curlwp. Sam won't recompile the HAL for us (fair enough), and we can't modify the HAL to use another register because doing so could put us in breach of the license (v. crappy). So, do a save/set/restore on %s7 in KernIntr() and in the stubs that the HAL uses to call back into the kernel.

"Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files."

read more | rsync.net - Offsite Unix Backups

August 27, 2007 07:27 AM

Planet GNOME

Vivien Malerba: Libgda: reports generation

Before releasing a 3.1.1 version of Libgda, I wanted to work a bit on Libgda’s report engine which is currently very broken (does not work at all and seems to have a difficult to use API). So I decided to reimplement one into a separate component, even though this will break the API.

After a few hours, the reports component has a generic engine which takes an XML input, and replaces the <gda_report_…> nodes with some actual content, each of these nodes being commands to perform or display some data. With only 5 of these commands, it’s possible to achieve some nice and complex results.

I have so far tested it with some DocBook and RML files. I can generate HTML from DocBook very easily, but PDF generation is more tricky since it uses FOP (which is not always packaged on distros), and it’s easy to generate PDF from RML files. Even though many features are still missing, it’s a good start…

Sample output:

pdf.png

html.png pdf-docbook.png

The code is in SVN trunk, and the examples which generate these outputs are in the samples/Report directory.

August 27, 2007 07:23 AM

Planet PHP

What company would you work for? - Ligaya Turmelle

Everyone has a dream job or jobs. So out of all the companies in the world, if you could choose from all of them for who you would want to work for - which company or companies would it be? Big, small - well known or not, what companies would be the top 3 that you would love to work at and if you feel bold - Why?

For me: OmniTI, Yahoo! and MySQL - though not necessarily in that order. As for why - so many reasons. But primarily because of what I could learn while working at them. So much to learn - so little time to pick so very many brilliant minds.

August 27, 2007 07:14 AM

Planet OpenClipArt

Ted Gould: Walking Boston

After visiting Boston this last week I can confirm that it is a walking town. We walked everywhere. In fact, even the main tourist attraction is a trail. The entire trip was a ton of fun, I enjoyed seeing all of the historic sights. More pictures will follow. One thing that I wanted to post was a fun panorama that I took of Fenway. I forgot how much overlap is required for the small camera I had, so it isn't great, but I thought it would be fun to post. You can see the top of Nico's head on the right.

Panoramic picture of Fenway Stadium in Boston

August 27, 2007 07:08 AM

Planet KDE

Guillermo Amaral (gamaral): Back in Hack

A few weeks have past and I have had no time for code hacking, I have finished most of my backed up work and now am left with some extra time on my hands.

I need to assign some quality time with Kopete and KNotes, this week will help me get back full speed.

More on this during the week.

August 27, 2007 07:05 AM

Planet XML

del.icio.us bookmarks for 2007-08-26

August 27, 2007 07:00 AM

KDE Dot News

KDE Commit-Digest for 26th August 2007

August 27, 2007 06:57 AM

Planet Smalltalk

ESUG 2007 : c’est parti

Après 2 jours de Camp Smalltalk, la conférence ESUG 2007 démarre véritablement ce lundi 27 août 2007 à Lugano. Les présentations et photos de la conférence seront disponibles très prochainement sur le wiki de la conférence. J’ai déjà mis en ligne quelques photos de Lugano prises le premier jour. Des compte-rendus de la conférence seront postés régulièrement par des étudiants volontaires de la conférence sur ce blog.

August 27, 2007 06:53 AM

Planet XML

The Internet is a Dead Platform and Mark Cuban is a Dinosaur

I try to avoid posting about TechMeme pile ups but this one was just too irritating to let pass. Mark Cuban has a blog post entitled The Internet is Dead and Boring which contains the following excerpts 

Some of you may not want to admit it, but that's exactly what the net has become. A utility. It has stopped evolving. Your Internet experience today is not much different than it was 5 years ago.
...
Some people have tried to make the point that Web 2.0 is proof that the Internet is evolving. Actually it is the exact opposite. Web 2.0 is proof that the Internet has stopped evolving and stabilized as a platform. Its very very difficult to develop applications on a platform that is ever changing. Things stop working in that environment. Internet 1.0 wasn't the most stable development environment. To days Internet is stable specifically because its now boring.(easy to avoid browser and script differences excluded)

Applications like Myspace, Facebook, Youtube, etc were able to explode in popularity because they worked. No one had to worry about their ISP making a change and things not working. The days of walled gardens like AOL, Prodigy and others were gone.
...
The days of the Internet creating explosively exciting ideas are dead. They are dead until bandwidth throughput to the home reaches far higher numbers than the vast majority of broadband users get today.
...
So, let me repeat, The days of the Internet creating explosively exciting ideas are dead for the foreseeable future..

I agree with Mark Cuban that the fundamental technologies that underly the Internet (DNS and TCP/IP) and the Web in particular (HTTP and HTML) are quite stable and are unlikely to undergo any radical changes anytime soon. If you are a fan of Internet infrastructure then the current world is quite boring because we aren't likely to ever see an Internet based on IPv8 or a Web based on HTTP 3.0. In addition, it is clear that the relative stability in the Web development environment and increase in the number of people with high bandwidth connections is what has led a number of the trends that are collectively grouped as "Web 2.0".

However Mark Cuban goes off the rails when he confuses his vision of the future of media as the only explosive exciting ideas that can be enabled by a global network like the Internet. Mark Cuban is an investor in HDNet which is a company that creates and distributes professionally produced content in high definition video formats. Mark would love nothing more than to distribute his content over the Internet especially since lack of interest in HDNet in the cable TV universe (I couldn't find any cable company on the Where to Watch HDNet page that actually carried the channel).

Unfortunately, Mark Cuban's vision of distributing high definition video over the Internet has two problems. The first is the fact that it is that distributing high quality video of the Web is too expensive and the bandwidth of the average Web user is insufficient to make the user experience pleasant. The second is that people on the Web have already spoken and content trumps media quality any day of the week. Remember when pundits used to claim that consumers wouldn't choose lossy, compressed audio on the Web over lossless music formats? I guess no one brings that up anymore given the success of the MP3 format and the iPod. Mark Cuban is repeating the same mistake with his HDNet misadventure.  User generated, poor quality video on sites like YouTube and larger library of content on sites like Netflix: Instant Viewing is going to trump the limited line up on services like HDNet regardless of how much higher definition the video quality gets.

Mark Cuban has bet on a losing horse and he doesn't realize it yet. The world has changed on him and he's still trying to work within an expired paradigm. It's like a newspaper magnate blaming printer manufacturers for not making it easy to print a newspaper off of the Web instead of coming to grips with the fact that the Internet with its blogging/social media/user generated content/craig's list and all that other malarky has turned his industry on its head.

This is what it looks like when a billionairre has made a bad investment and doesn't know how to recognize the smell of failure blasting his nostrils with its pungent aroma.

August 27, 2007 06:23 AM

Ajaxian

Foo: A Prototype based RIA framework

Someone actually named their framework Foo! That someone is Rizqi Ahmad, and he is also the developer of Zparse and MindFrame. Foo is a framework specially designed for rapid development of Rich Internet Application. Its syntax is in someway similar to Adobe Spry, but it has more functionality and focused more to RIA Development. [...]

August 27, 2007 06:18 AM

BlenderNation

Video Tutorial: Creating an SGI logo

Blender and its predecessor Traces were originally developed on an SGI, so here's a tutorial with a bit of history attached. In eight minutes, you'll learn how to model this logo. I had to...

[read the full article on blendernation.com]

August 27, 2007 05:51 AM

Planet GNOME

Glynn Foster: OpenSolaris Developer Summit

The first OpenSolaris Developer Summit has been announced for the weekend of 13th and 14th October at the University of California in Santa Cruz. It’ll be a pretty hands on summit, with a lot of discussion (hopefully) around putting together the bits of Indiana. It’ll also be a good excuse to party and get to know some faces behind the OpenSolaris project which I’m looking forward to - I’ve found with previous GNOME experiences, it’s the best way to get excited about where we’re heading for the project and putting a face to a name really helps communication wise too.

We haven’t yet got a solid schedule around, but there’s a mailing list set up and ready for discussion. We also have a small amount of travel sponsorships for non-Sun employees to be able to attend, so if you think you’d like to attend and have been active in the project thus far, please do apply. So go register! (oh, and save the world by car pooling down to the event if you can).

August 27, 2007 05:46 AM

unofficial planet python

Making It Stick (Patrick Logan): That's Fine

Bob Ippolito, Exploring Erlang. It's being used for MochiAds. Nice introductory slides.

Some of the Java people looking at Erlang are finding that it's not Java.

There's a reason for this. Unless you've done a fair bit of Lisp or other functional programming, you're not likely to "get" sequential Erlang in a day. Some will, others will practice then "get" it, and still others will run back to Java and pull the blanket over their heads.

That's fine. Just be aware: if you've only ever programmed with...

for (int i = 0; i < a.length; i++) ...

...then you will have to learn to think differently. There is a reason for this.

That's fine.

August 27, 2007 05:41 AM

Planet XML

The biggest gift

It’s too easy to get absorbed in all the terrible things happening on the news. But not everything is like that. Take 7 minutes and watch this. -m

August 27, 2007 05:29 AM

Planet Maemo

Nokia 770 for $129 on sale at eCost

Nokia 770 is currently the bargain of the day at eCost. The price is $129. Want it for somewhat less? You have to register with a deal-seeking site FatWallet, then go to their eCost section, and click through to go to eCost, earning 2.1% (roughly $2.50) payable to you 90 days after the purchase. Before buying make sure it’s really something that you want as eCost is one of those few merchants that rapes you on return policies, refusing to accept any returns, claiming all sales are final, and making you jump through the hoops of manufacturer phone support if the product you got in the mail is defective.

August 27, 2007 05:21 AM

unofficial planet python

Making It Stick (Patrick Logan): OK -- yeah, something about JAVA

When I first read the news that SUNW is changing to JAVA, I had to stop and think...

It's not April 1. What day is it? Literally I thought it was a joke.

I used Suns long before Java and imagine I will use them after Java is buried. The timing is curious when SUNW seems to be getting a good bit of non-Java press.

What do I know about these things? I'm pretty sure about this: Java isn't even the hottest thing on the JVM these days.

August 27, 2007 05:20 AM

Planet Ubuntu

Aaron Toponce: Ode To Hercules Haiku

An old laptop friend
Of such a companionship.
Goodbye Hercules

August 27, 2007 05:00 AM

::Planet PostgreSQL::

David Fetter: PostgreSQL Weekly News - August 26 2007

PostgreSQL Weekly News - August 26 2007

Progress continues toward the upcoming 8.3 release including
integration of tsearch2 into the core product.

PostgreSQL Product News

Entityspaces for PostgreSQL released.
http://www.entityspaces.net/blog/2007/08/22/EntitySpacesNowHasPostgreSQLSupport.aspx

AM Software Design has opened up PostgreSQL Community Forums.
http://www.amsoftwaredesign.com/smf/index.php

pgloader 2.2.1 released.
http://pgloader.projects.postgresql.org/

PostgreSQL Jobs for August

http://archives.postgresql.org/pgsql-jobs/2007-08/threads.php

PostgreSQL Local

Everything this week was global.

PostgreSQL in the News

Planet PostgreSQL: http://www.planetpostgresql.org/

General Bits, Archives and occasional new articles:
http://www.varlena.com/GeneralBits/

PostgreSQL Weekly News is brought to you this week by David Fetter

Submit news and announcements by Sunday at 3:00pm Pacific time.
Please send English language ones to david@fetter.org, German to
pwn@pgug.de.


Continue reading "PostgreSQL Weekly News - August 26 2007"

August 27, 2007 04:55 AM

Planet Asterisk

Voip-Info: Asterisk bounty PRI 2B channel transfer / Still need solution for NI2 2BCT [ID: 42821]

Bounty has been updated and taken over by a new maintainer. Still need a solution for NI2 2BCT.
mflorell (Mattt Florell) at 2007-08-27 08:54

August 27, 2007 04:30 AM

Planet GNOME

Miguel de Icaza: Election Money

A useful Flash interactive application to browse how much money candidates have raised, how much they have spent and who are their major donors.

Three folks that have impressed me (Dennis Kucinich, Mike Gravel and Ron Paul Gravel) have raised very little money compared to the multi-million juggernauts in the mainstream.

[Post Comment] | [Comments]

August 27, 2007 04:14 AM

Planet RDF

Who uses metadata from HTML head/meta @name and @content attributes?

For example, name="DC.Title" content="My Title"?

August 27, 2007 03:53 AM

Planet OpenOffice.org - Developer News

IssueZilla: New issues: Mon Aug 27 03:43:01 UTC 2007

#i81043# - Database access: Connection "Microsoft Access" doesn`t work with Access 2007 (accdb)
#i81037# - Database access: The function 'SOME' is not allowed in Query Designer, or with EP enabled.
#i81036# - Presentation: add API for "Insert file" in Impress
#i81038# - sc: Autofilter paste function
#i81044# - sc: Copy / Paste Error
#i81041# - sc: Insert/paste behavior
#i81039# - sc: Replace/Find selection restriction
#i81040# - sc: Summary for replace
#i81042# - tools: libxmlsec can't find crypto lib during compile

August 27, 2007 03:43 AM

Planet Eclipse

Nirav Thaker: Back to Enterprise Apps

It's been quite sometime that I worked with Eclipse and developed RCP apps and Plug-ins leveraging several *highly* interesting Eclipse projects. The more I work with Eclipse more it attracts. But the time had it and I've to move back with traditional Enterprise Application stuff. I tried hard to be in Eco-system, but I guess I was out of luck. If you ever happen to be JEE developer you know how

August 27, 2007 03:43 AM

Planet OpenOffice.org - Developer News

Sebastien Plisson: Mac Address Book Integration : a Google Summer Of Code success !

The Google Summer of Code 2007 gave the possibility to integrate a new very good developer : Omer Bar-or.

His work for the "Mac OSX Address Book integration" is complete and successful !

Thank you very much Omer !

The code produced is currently under QA and will be integrated as soon as possible.

I hope Omer will be able and willing to continue working with the Mac Aqua porting team, as everyone has appreciated the quality of his work and relationships.

Have a good day !

Sebastien Plisson
aka plipli@openoffice.org

August 27, 2007 03:31 AM

unofficial planet python

Kun Xi: Would you like a slice of pie?

All businessman are crazy about the pie chart. Here is Pie3D powered by dojox.gfx3d. The interface for the end-user is pretty similar with dojox.chart.bar3d: just add the data via addSeries, set the light, then call render, boo, you are all set.

Pie3D demo

There is a long design struggle between dojox.gfx and dojox.gfx3d. The 3D pie chart is a Cylinder, but crippled intentionally, for example, only rotation around Y axis is supported. Last but not the least, it is much easier for user to specify the rx, ry and height, instead of scratching their heads to find the right rotation angle. dojox.gfx would suffice.

On the other hand, dojox.gfx3d brings schedulers and reusable gradient from Cylinder. The schedulers may be essential if we want to highlight some slices by moving them a little bit away from the center. Plan to throw one away; you will, anyhow. dojox.gfx3d is selected. Please checkout the code.

August 27, 2007 02:51 AM

Planet Lisp

Gary King: Followup to ASDF Plug-ins

The main comment on my ASDF plug-in proposal was that it reinvented the wheel: why not just use the existing :depends-on clause? The problem is that :depends-on runs when a system is loaded (at read-time), not when a system is defined. Suppose, for example, I have a system where optional-files make sense. To define them, I create a class and a perform method:

(defclass optional-file (cl-source-file)
  ())

(defmethod perform :around ((operation compile-op) (c optional-file))
  (when (probe-file (component-pathname c))
    (call-next-method)))

(I’ve found a use for these twice, believe it or not!). Suppose I build a very simple ASDF-system with just these definitions and then create another system that depends on it. Here’s the first:

;;; file asdf-optional-files.asd
(in-package #:common-lisp-user)

(defpackage #:asdf-optional-files-system
  (:use #:common-lisp #:asdf))
(in-package #:asdf-optional-files-system)

(defclass optional-file (cl-source-file)
  ())

(defmethod perform :around ((operation compile-op) (c optional-file))
  (when (probe-file (component-pathname c))
    (call-next-method)))

(defsystem asdf-optional-files
  )

and the second:

;;; file asdf-test.asd
(in-package #:common-lisp-user)

(defpackage #:asdf-test-system
  (:use #:common-lisp #:asdf))
(in-package #:asdf-test-system)

(defsystem asdf-test
  :components ((:file "package")
           (:optional-file "prologue" :depends-on ("package")))
  :depends-on (:asdf-optional-files))

What happens when I try to load the latter?

> (load "asdf-test.asd")
; Loading /repository/cclan/asdf/asdf-test.asd
Error: don't recognize component type optional-file
  [condition type: formatted-system-definition-error]

Restart actions (select using :continue):
 0: retry the load of asdf-test.asd
 1: skip loading asdf-test.asd
 2: Return to Top Level (an "abort" restart).
 3: Abort entirely from this (lisp) process.

Ouch!

The only ways (that I know of) to make optional-files work are:

(If there are others, please let me know!)

The plug-in mechanism aims to circumvent the problem by adding a different mechanism outside of full system definitions. Although I tend to agree that it may be too big of a hammer for such a small nail, there are some good reasons to include something like it:

So… what am I missing?

August 27, 2007 02:20 AM

Free Software Magazine -

Tips and Tricks

This is a collection of tips&tricks written by Gary Richmond and Andrew Min. In this article:

read more

August 27, 2007 02:18 AM

unofficial planet python

Groovie: Next-Gen DVD Wars Give me the Blues...

I’ve been seeing more and more movies I wouldn’t mind actually buying… except that I have a 56” HD TV set. It looks amazing, pretty good with DVD’s, but really amazing with HD so if I’m going to buy a movie I sure as heck want it in HD.

Unfortunately thanks to the tech companies refusing to come up with a single standard, I can either buy a $200 HD-DVD add-on for my Xbox 360, or a PlayStation 3 which I’ve heard is the cheapest Blu-Ray DVD player available. And of course, I really need to buy both if I want HD movies since some studios are only putting their movies out on one or the other format.

The end result? I’m not buying HD movies for HD-DVD or Blu-ray because its pathetic to have to have 2 players around (no, I don’t care about universal players). In addition, I’m not buying DVD’s anymore since I know that in a year or two I’ll want to re-buy it in whatever HD format wins (please let one of them win in a year or two!!!).

What are other people doing in this situation? Buying one or the other? Still buying DVD’s? Or not buying any movies at all until they get it straight?

August 27, 2007 02:08 AM

Django Weblog: Django roundup: August 26

If you have any tips, project announcements, or generally interesting Django news, email me at clintecker+djangotips@gmail.com.

August 27, 2007 02:04 AM

Planet Eclipse

Nick Boldt: Notes 8: Part 3: M'aidez!

After much digging and hacking I've found a number of places to go for help with the newest Notes offering. That's the good news. Usability score: +1

The bad news is that if you're like me and used to tracking bugs a la Eclipse Bugzilla or Sourceforge, you will be sorely disappointed with the options for bug reporting for Notes 8. Usability score: -1

I hate to bite the Big Blue hand that feeds, but there are much more efficient tools & processes to manage software development than the use of a discussion forum. Sure, it's a case of eating your own cooking +1, but I've used lots of Notes databases in my 8 years with IBM that were more user-friendly than this -1. Why is using Bugzilla (or sourceforge's tracker) such a big deal?

Well, for one thing, they're transparent, open source systems. For another, using a system like Bugzilla provides consistency across dev teams. Notes 8 is proudly 'built on Eclipse' +1 but hasn't adopted the Eclipse Way yet for issue tracking, so developers that work both sides of the fence (like myself) have to learn more than one system and in some cases, report issues in more than one place -1. So much for the mantra of 'do more with less'.

Anyway, here's a couple places to go for help, which it turns out are all linked from within Notes 8 itself under the Help menu (unless you're on the Getting Started page or a web browser tab, in which case they magically disappear) +1 -1.

Here's a few handy blogs +3:

Now, just in case it's perceived that I'm actively trying to embarrass or offend, I'm not. Let me clarify:

As always, the contents of this site are my own and don't necessarily represent IBM's positions, strategies or opinions.

August 27, 2007 02:01 AM

Planet Mozilla

Gen Kanai: default serif font for Chinese (zh-CN)

Mozilla is working on better compatibility with non-English fonts in Firefox 3 for the Macintosh platform (changing defaults) and would love some help/feedback.

We have been told that the current default serif font for Mac “Song” is actually not widely installed (it looks like a MS font actually.)  If you use the simplified Chinese version of Firefox on the Mac, what we call the zh-CN version, could you:

a) confirm (in the comments) if the font “Song” is a default font

b) if “Song” is not a default serif font, could you let me know what you would recommend for a Simplified Chinese serif font that is default to the Mac platform?

Thank you in advance!
Gen

August 27, 2007 01:52 AM

Planet Debian

Enrico Zini: pkgprune

Filtering Debian Packages file

pkgprune - Filter a Packages file

Usage: pkgprune Packages > Packages.filtered

Filters a Debian Packages file by removing either a list of packages (and
their reverse dependencies) or the packages that have given tags.

Dependencies in the filtered Packages file will still be satisfied.

Available via:

wget http://people.debian.org/~enrico/2007-08/pkgprune/pkgprune

or:

hg clone static-http://people.debian.org/~enrico/2007-08/pkgprune

The top of the script has a configuration section:

#
# Configuration
#

# Set of packages you don't want to have (the reverse dependencies will be
# removed as far as it's possible)
blacklist_pkgs = set(['gconf2'])

# List of sets of tags; the packages whose tag sets contain one of these tag
# sets will be removed
blacklist_tags = [ set(['implemented-in::php']) ]

Edit that before running the script. The idea is to be able to configure a system to run such a script after apt-get update, both to make dpkg faster on slow arches and to reduce the amount of packages displayed by an interface.

August 27, 2007 01:16 AM

Planet Jabber

Fabio Forno: Signing and Nokia: sgrunt

Security is a good thing, certificates too. The use that some phone manufactures  are doing is far beyond fairness, it's a sort of criminal extortion against developers and phone owners.

When I buy a phone I want to be able to run any code on it, at my risk, but I cannot give up with this right. Instead MIDP specifications state that the VM shouldn't use root certificates that aren't installed by the manufacturer and some vendors (my experience is with Nokia) enforce it. This means that on my phone I cannot install an application I've developed and signed: I thought it was my phone...
This is really idiotic, since many applications cannot be tested in all their features without signing them and small and independent developers are stopped from enriching the application environment of mobile platforms, damaging the same vendors. 

If you search in the forums  you find nice explanations like this one trying to mock you saying: "it's for your sake":

 We all shre the same frustration. Security has always been a pain for beginners, not just for J2ME but net security in general. But trust me it is a bless, one you're into the real business.
As you already know only CA's like Verisign knows the whereabouts of all these software providers (like us). When it comes to a legitimacy issue, people (like us) will contact them to track down the origin of a malicious software. That’s why they charge more. I am not saying this is totally safe, but - unfortunately- thats all we have currently in the IT world :)
The biggest problem in security is that typically there are no "special cases". Meaning, (no one including Nokia) would release a product saying only "you" can install software on it. The other business complexity is that : there are network providers (like cingular) in between. They have their own policy on what to allow/deny features. So its least likely that they would trust anyone other than these popular CAs.

It's a bless. Aahah! I think that anybody can understand that with installing a root certificate on your phone you still can't have your application run on others', because it's really unpractical  to ask aunt Tilly to install a certificate in oder to verify an application. It's just for developers, who would like to test their applications before distributing them, without being extorted of at least 200$ for each new build.

I'm willingly to buy a certificate, I appreciate the value of the CA chain, but I want to do this only when I'm ready to release. Sgrunt. 

PS: if in the next days you will have a free Jabber client for J2ME that cannot transparently reconnect when the gprs connection is lost, or that can use a wi-fi connection without hanging, but you will have to pay for those features, you know who is responsible....

August 27, 2007 12:47 AM

Planet Asterisk

Nerd Vittles: Back to School Time: The Bleeding Edge of Asterisk, Part 1

Today we coax trixbox out of the Stone Age with fully-functioning CentOS 5, Asterisk 1.4, FreePBX 2.3 plus tutorials to resurrect text-to-speech using Flite and phpMyAdmin to manage MySQL 5. Hold on to your red hat!

August 27, 2007 12:30 AM

Kernel Planet

Robert Love: Robert's Blog and Feed Moved!

You should not be seeing this!

Robert's Blog has Moved: blog.rlove.org

Naturally, the feed moved as well: Atom and RSS

Or just go ahead and Add to Google

You have already missed choice entries! sad

Planets, aggregators, bookmarkers, et al: please update!

August 27, 2007 12:04 AM

Software patent news

WSJ: Patent System's Revamp Hits Wall

WSJ: Patent System's Revamp Hits Wall

August 27, 2007 12:00 AM

August 26, 2007

symfony project weblog

A week of symfony #34 (20->26 August 2007)

Symfony core refactorization accelerates as symfony 1.1 release approaches. This week, the routing system, the response object and the request object have been completely refactored.

Development mailing list

Development highlights

Development digest: 27 changesets, 16 defects created, 3 defects closed, 8 enhancements created, 1 documentation defect created and 29 documentation edits.

Book and documentation

Approximate status of book translations: spanish (99%), polish (78%), italian (70%), chinese (26%), russian (26%), brazilian portuguese (15%), french (15%), deutsch (15%), dutch (10%), japanese (-).

Wiki

Plugins

Some new symfony powered websites

They talked about us

August 26, 2007 11:40 PM

Planet Mozilla

Justin Scott: A Comparison

I was reading a post about it being Facebook Platform’s 3 month anniversary and decided to do a little comparison.

  Firefox Add-ons Facebook Platform
User base 75-100 million[1] 30 million[2]
New Downloads/Users per day 500,000[3] 100,000+[4]
Age 5 years 3 months
Available Locales 40+ 1
Open Source Yes Not on purpose
Extensibility Complete Restricted
API Stability Stable within major releases Constantly changing, often with little warning
Community Gatherings Developer Days Developer Garages
Corporate Involvement Yes (AllPeers, StumbleUpon, etc) Yes (Slide, RockYou, etc)
Number of add-ons/applications in directory 2500 public; 1300 sandbox* 3300[5]
Number of developers 3175* Unknown
Add-ons/applications with over 1 million active users 40+* 46[6]
Google News articles in the last month 55 501
Bug reporting Completely open Completely internal
Overlap Rock Your Firefox Facebook Toolbar

* Only considers add-ons hosted on addons.mozilla.org; there are many add-ons hosted by their individual developers not taken into account.

I’m not one to get into the politics of whether Facebook Platform is good for the web. I’m more interested in what we can do to have people as excited about Firefox add-ons as they are about getting that one person who always takes forever in Scrabulous to finally go.

What can we learn from Facebook Platform? Why do people so readily add applications?

Having said that, I’m not saying that we should make any changes to be more like Facebook. I certainly think that extensions’ ability to modify anything is key to the innovation that we see all the time in new extensions. I think we need to find out what facets of the Firefox ecosystem are the most compelling and make people realize that everything that’s being done on Facebook could be done even better in the open web.

(Obligatory disclaimer: The above opinions are my own and are not affiliated with any entity in which I may be involved.)

August 26, 2007 11:39 PM

Planet Smalltalk

Chicken in mojo criollo

Chicken in mojo criollo In my ongoing effort to cook more, tonight was inspired by a green pointy thing, namely a Hatch chile. So, what to do with these beautiful peppers now that they’re in season? Well, turn Cuban food on its head of course, and put a slightly spicey spin on mojo criollo.

The results were much better than I expected, with the heat of the chili enhancing the flavors of the mojo criollo. Very yummy. Here’s the recipe, modified from tradition, since I didn’t have Saville oranges available.

1   Chicken, medium
1/4 cup   lime juice, fresh
1/2 cup   orange juice, fresh
1/2 cup   olive oil
1 tsp   oregano, dried
8   garlic cloves
1   Hatch chile
1/2 tsp   salt
1/4 tsp   pepper
2 cups   chicken stock
  1. Butcher the chicken, or buy pre-cut chicken pieces. I prefer to butcher my own, largely because it’s cheaper and I can control the exact cuts. You want the chicken with the bones and skin still on.
  2. Road the Hatch chile, either under the broiler in the oven or on top of the stove (gas only). You’re done when it’s fully blistered.
  3. Once finished, wrap in paper towels and let sit for a few minutes, before rolling it around in the towels to remove the skin.
  4. Cut up the chili into small dices, removing the seeds and skin.
  5. Take the lime and orange juice, along with the garlic, salt and pepper and run it through the food processor, adding the olive oil slowly to achieve an emulsion.
  6. Mix the oregano and diced chili in after you’re done.
  7. Place the chicken and marinade together in a zip lock bag and seal, tossing to coat. Let stand in the refrigerator for at least 1 hour, preferably 2-4 hours.
  8. Heat a couple table spoons of olive oil in a dutch oven, and sauté the chicken in the oil, after shaking off any extra marinade. You’re only looking to brown the chicken, not cook it all the way through. This may need to be done in multiple batches.
  9. Remove the chicken and set on a plate.
  10. De-glaze the pan with the chicken stock, scraping up all the fond that is stuck ot the pan.
  11. Once you’ve got the pan cleaned, add the remaining marinade and bring up to a simmer.
  12. Return the chicken, and any accumulated juices to the pain, trying to submerge them as best as possible.
  13. Cover, and cook until chicken’s internal temperature indicates 155F (68C).
  14. Remove the chicken and set aside again.
  15. Turn the heat up to a boil, and reduce the sauce by 1/4. If it’s still not thick enough to your liking (it should coat the back of a spoon), you can add arrowroot.
  16. Serve with rice and beans, or another vegetable.

August 26, 2007 11:31 PM

Planet GNOME

Ronald Bultje: Verizon Wireless and getting a cell phone

Today, I was in a Verizon Wireless shop, trying to buy a cell phone. Actually, I was just trying to get my old one fixed, it broke for the 3rd time within a year (LG is completely crap, so it seems). Instead of getting a new item of the same old crappy LG, I just wanted something else, so I told the sales guy that I wanted a new phone “that wouldn’t break within a year”. He says: “oh, so you want a high-end phone kind of thing?” (oh-my-god, so it is supposed to break within a year unless you pay extra?), bringing me to the realm of vcast (some kind of post-stamp sized video on demand system or so), car navigation and that kind of fancy. When I told him I really wanted a phone, we went back to the cheap models and he asked how exactly my old phone was broken, so I told him the battery was always empty within a few hours (all previous models just wouldn’t turn on after a few weeks-months). So, he says: “oh, yes, they have a Lithium ion battery, you shouldn’t charge it overnight!” (oh-my-god, talking about a complete failure of engineering; who designs these phones/batteries, a bunch of lunatics?).

I went over to the purchase of a cheap actual phone (one of those things that you can just make phone calls with). So, he refers me to his colleague salespeople, because his computer is broken. They tell me: “Sorry sir, the network is broken, we can’t handle purchases today.” (oh-my-god, for just so many reasons). After coming back later, I was referred back to the original guy, who referred me to customer service to re-pay a late phone bill that I paid by mail yesterday but they hadn’t handled yet, then back to the original guy, who gave me a piece of paper and referred me back to the customer service to actually pick up the phone, who referred me to technical support to get my phone numbers transferred from the old to the new phone, who referred me back to the customer service for actual payment, who referred me back to the sales guy to get coupons for refund of the phone cost. Oh-my-, oh-my-, oh-my-god. I think I talked with 6 people in total, all in all it took over an hour. How inefficient is that?

Verizon Wireless is seriously screwed up.

August 26, 2007 11:30 PM

Planet Mozilla

Robert O'Callahan: Mercurial

I've started using Mercurial, and it's been mostly good. I've run into a few issues that we should address:

On the bright side, Mercurial is fast, even on Windows: whole-tree diffs take me just 5-10 seconds, whole-tree revert is even faster, pulls are fast, and all the basic functionality seems to work fine (I haven't done any merging or branching yet, nor have I used MQ). Best of all the underlying model seems quite simple and I think I understand it having read a few chapters of hgbook. I used git with cairo without ever really understanding what git was doing.

It seems to me that if cvs-trunk-mirror (or another Mercurial repository) was set up to make it easier to work with for regular trunk builds, developers could move over right now, except for actually checking in patches. Then we could have a flag day where instead of checking into CVS and having the changes propagated to a Mercurial mirror, we check into a Mercurial repository and the changes get propagated to a CVS mirror. LXR, Bonsai, Tinderbox and other tools could work off the CVS mirror so the switch would be pretty easy. There must be something wrong with this picture because smarter people than me have already said it's harder than that :-).

August 26, 2007 10:57 PM

Planet OpenID

The OpenID Buzz: Information Cards for OpenIDs

Sxip Identity just finished a draft specification that enables a really useful form of convergence between OpenIDs and Information Cards: presenting your OpenID as an Information Card you select rather than as a string you type. Johnny Bufu’s OpenID general mailing list note introduces this specification for community review.

This combination has several advantages over standard OpenID usage. First, there’s no OpenID string to type when you use your OpenID, which should make OpenIDs easier for more people to use. Second, this is a phishing-resistant authentication method. Finally, it lets you recognize and choose your OpenID visually, based on the card graphics supplied by the OpenID provider.

Sxip also backed this specification by a sample implementation, which you can check out at https://openidcards.sxip.com/. Now for some more details….

Here’s how it works: In this model, the OpenID relying party asks for an OpenID Information Card using an object tag on the page rather than having the user type the OpenID as a string (while probably also giving the user the option to instead type in the string for backwards compatibility). The user’s Identity Selector then lets the user choose which OpenID card to send to the site. The card transmits the actual OpenID string to the site as a claim. From that point on, standard OpenID protocol interactions ensue.

For instance, the sample relying party page asks you to “Login with an OpenID InfoCard” and requests the card using this evocative graphic:

OpenID InfoCard

Upon clicking the graphic, my identity selector is invoked, which shows me that I can use this OpenID Information Card at the site (which I’d previously obtained here):

Sxip OpenID InfoCard

After that, the sample performed a standard OpenID attribute exchange and the relying party greeted me with:

Welcome! You have logged in using your https://openidcards.sxip.com/i/mbj OpenID identifier.

Phone: (omitted)
Country: USA
Email: mbj@microsoft.com
City: Redmond
Address: One Microsoft Way, Building 40/5138
LastName: Jones
FirstName: Mike

Behind the scenes, the relying party had received this OpenID assertion:

<openid:OpenIDToken xmlns:openid="http://specs.openid.net/auth/2.0">openid.ns:http://specs.openid.net/auth/2.0
openid.op_endpoint:https://openidcards.sxip.com/op/
openid.claimed_id:https://openidcards.sxip.com/i/mbj
openid.response_nonce:2007-08-26T20:55:34Z0
openid.mode:id_res
openid.identity:https://openidcards.sxip.com/i/mbj
openid.return_to:https://openidcards.sxip.com/demorp/
openid.assoc_handle:f27d249fc4108198
openid.signed:op_endpoint,claimed_id,identity,return_to,response_nonce,assoc_handle
openid.sig:gKKpDjEbgByJo48Q800Jq4gCJng=
openid.ns.ext1:http://openid.net/srv/ax/1.0-draft4
openid.ext1.mode:fetch_response
openid.ext1.type.attr1:http://axschema.org/contact/phone/default
openid.ext1.value.attr1:(omitted)
openid.ext1.type.attr2:http://axschema.org/contact/country/home
openid.ext1.value.attr2:USA
openid.ext1.type.attr3:http://axschema.org/contact/email
openid.ext1.value.attr3:mbj@microsoft.com
openid.ext1.type.attr4:http://axschema.org/contact/city/home
openid.ext1.value.attr4:Redmond
openid.ext1.type.attr5:http://axschema.org/contact/postalAddress/home
openid.ext1.value.attr5:One Microsoft Way, Building 40/5138
openid.ext1.type.attr6:http://axschema.org/namePerson/last
openid.ext1.value.attr6:Jones
openid.ext1.type.attr7:http://axschema.org/namePerson/first
openid.ext1.value.attr7:Mike
</openid:OpenIDToken>

One final technical note that will be of interest to some of you: OpenID Information Cards do not use SAML tokens. They use one of two variants of openid:OpenIDToken tokens (depending upon whether the OpenID relying party uses OpenID 1.1 or 2.0 authentication).

Go get yourself an OpenID Information Card and give it a spin! Read and comment on the spec. Or even better yet, implement it and tell us about your experience!

August 26, 2007 10:45 PM

unofficial planet python

Voidspace: Playing Video with Silverlight

Although Silverlight comes with few controls, it does come with a fully functioning video player. This entry shows how to use the MediaElement from IronPython. ... [201 words]

August 26, 2007 10:23 PM

Planet XML

Bragging

Well, The Economist has published a study of the livability of cities. That pointer is actually to the summary, not the actual report, which will cost you $200. Anyhow, in the #1 position is Vancouver, and in #2 is Melbourne, which I’m starting to think of as my second home.

August 26, 2007 10:20 PM

Facebook Spam

Over the last few months, there have been numerous articles by various bloggers and mainstream press speculating on whether use of Facebook will supplant email. I have also noticed that I use the private messaging feature in Facebook to keep in touch with more people, more often than I do with non-work related email.

I used to think that this was a welcome development from a user's point of view because spam is pretty much eliminated due to in-built white lists based on social networks. Or at least that's what I thought. However over the past few weeks I've been getting more and more unsolicited private messages on the site which aren't p3n1s enlargement or 419 scams but are still unsolicited. On taking a look at the privacy options, it turns out that there doesn't seem to be a way to opt out of being contacted by random people on the site. 

In fact, I'm surprised that regular spammers haven't yet flooded Facebook given how they seem to end up everywhere else you let people contact each other directly over the Web. One thing I find confusing is that I can swear that there was an option to opt out of messages from people who aren't on your friend's list or in one of your Networks. Or was this just my imagination?

The other kind of unsolicited mail that is totally wrecking my Facebook experience is unsolicited friend requests from Facebook applications. These aren't just regular friend requests. It seems that every application a user adds can make friend requests specific to the application. I'm getting friend requests from My Questions and Likeness on an almost daily basis with no way to permanently ignore friend requests from these applications.

I guess Clay Shirky's old saying is true, the definition of social software is stuff that gets spammed.

August 26, 2007 10:10 PM

Planet Mozilla

Robert O'Callahan: OOXML Wars

This is a hot topic in New Zealand right now, and an interesting relevant rant about OOXML technical issues just appeared on Slashdot, so I feel like getting my 2c in...

Rod Drury's blog has an interesting comment:

The antagonists seem to change between the spec being either
a) Too long and detailed for people to be able to implement or;
b) Too vague and lacking in specific detail for people to implement.
It's entirely possible for both of these to be true at the same time --- when the thing you're trying to specify is much too complicated, so that a specification with all the necessary details is much too large to be correctly implemented by anyone. That is exactly the situation OOXML is in; it wants to specify every detail of the behaviour of Microsoft Office, millions of lines of code accumulated over 20 years.

People are worried about the cost of migrating documents from Word format to ODF. I don't think anyone should be advocating such a migration; legacy documents, if converted at all, should simply be printed to PDF for archival. The real issue is what format new documents should be produced in. OOXML is clearly a horrible format from a purely technical point of view --- not even its defenders seem to be challenging this --- so there's a strong argument that you do not want to be producing new documents in OOXML if you have a choice. I think having OOXML stamped by ISO as a de jure standard would send the wrong message about that. On the other hand, making it an standard does not help at all with the problem of preserving legacy documents.

The overall most cost-effective and future-proof solution IMHO is for ODF to be the single de jure office document standard, for Microsoft to ship ODF read/write capability in its products, and for people who care about the longevity and openness of their documents to make ODF the default for new documents, while continuing to work on old documents in their existing formats. Presumably Microsoft opposes this approach because it would ever-so-slowly weaken people's dependence on their products.

Someone might wonder whether support for the WHATWG's efforts to standardize "Web-compatible" HTML is consistent with opposition to Microsoft's efforts to standardize "Word-compatible" OOXML. It is, because there are actually many differences. The main difference is that Ian and his gang aren't just specifying "whatever IE does"; they typically look at what a number of implementations do, and choose the behaviour that makes the most sense while remaining "Web compatible" (which is often, but certainly not always, what IE does). This is made easier because HTML and its related technologies originated in the standards world, whereas Microsoft's Office formats have always been wholly their own monstrous babies. (Another major difference, I suspect, is that conversion of HTML documents is a lot less feasible due to greater reliance on embedded scripting to give meaning to pages.)

August 26, 2007 09:56 PM

Planet Debian

Junichi Uekawa: Seeing some newcomer to Japan.

It's sometimes refreshing to read a newbie to Japan.Of course, credit cards are often non-interchangeable either way,I was surprised that Japan Post was that good.

August 26, 2007 09:35 PM

Miriam Ruiz: D compiler in Debian

gdc has finally entered Debian repositories (thanks Arthur Loiret, Matthias Klose, thanks GCC folks!). It’s time to start putting the rest of Kenta Cho’s games into Debian. Two of them, A7Xpg and Gunroar, are already in the NEW queue, some others are on the way. Kenta Cho is most famous for his shmups or shoot ‘em ups, mostly featuring abstract reinterpretations of retro classics with each game having a specific unique feature and using randomly generated levels. rRootage and Noiz2sa are already in the archive, since they were coded in C++. Thanks to Javier Candeira, who introduced me to Kenta Cho’s world.

August 26, 2007 09:25 PM

Planet Eclipse

Denis & Karl: Eclipse: tools for IT people too

Although we have a policy of running OSS software exclusively here at eclipse.org, we also have a policy of not altering the source code of key software components. You know the drill: you hack into the code for all the right reasons, only to realize that months later, upgrading that hacked code to a newer version is a chore, if not impossible, depending on how much customization you've done. We do make small exceptions where it makes sense - such as the Bugzilla templates or, more recently, the Wordpress-mu code, which was altered to allow for authentication against the Bugzilla database.

Upgrading "hacked" code is pretty straightforward with Eclipse. The diff and merge tools (courtesy of the Platform Compare component) are second to none for this type of job. I start by loading the new, unmodified code in one Eclipse project and the copy of the hacked code into another project. I then use the Compare with Each Other utility, where Eclipse finds all the differences in all the files, also showing added or removed files. The compare tools then allow me to merge the changes one-by-one.

Merging code is a time consuming process, but Eclipse allows me to do it without losing my sanity.

August 26, 2007 09:18 PM

Planet Smalltalk

MOO XML: Even MS don't implement it

The MOO-XML* (Microsoft Open Office XML) definition is not followed even by Microsoft applications: OOXML is defective by design One point from the article: Excel crashes when opening well-formed and valid spreadsheet document files. There are many other problems also clearly explained in the article. If ECMA fast track this half-baked format of Microsoft's after so many serious problems in

August 26, 2007 09:12 PM

Planet Debian

Russell Coker: Never IRC as Root

Ben Fowler blogs about the issues related to running IRC as root. Google searches for (irc client exploit) and (irc client “buffer overflow”) give a number of interesting web pages. Many of the exploits require the user to perform an action that’s slightly unusual, but why take a chance?

The advice to not run as root while generally sensible (run everything with minimum privileges as much as possible) is IMHO not very useful in recent times (and probably was never very useful). Generally when a user is worried about system compromise they are not worried about attackers having direct hardware access, the ability to corrupt system files, etc. They are worried that the attacker might read their email and access other personal files.

Therefore the instruction should be “don’t run IRC as root or as any account that has access to data which is important to you“. It’s not difficult to start an X-term that runs “exec su - ircuser irc” or “ssh -t ircuser@localhost irc“. Note that the -t option is required for ssh to make it allocate a pty even when receiving a command to run. Note also that in the case of su you need the exec option so that if the irc client is compromised and tries to perform a ioctl(0, TIOCSTI… based attack then it won’t succeed.

In any of these methods make sure that X access is not granted. Until we get Security Enhanced X working in a viable manner any process that can display an X window on your screen can own you totally. There are of course relatively safe ways of doing X, I have previously documented how to configure the Xephyr X server (replacement for Xnest) to allow a process with a different security context to safely display a graphical window on your desktop.

Generally I recommend not using a graphical X client on an untrusted network (IE anything other than an Intranet IRC server). I prefer to do my IRC in an account that’s not even on a machine that I care about and have it run screen so I can disconnect and re-connect from anywhere in the world.

When I first got SE Linux in Debian to be useful (when I could boot and run all programs without problem) I logged on to some IRC channels related to Debian with the security context of root:user_r:user_t. I admit that my actions in this regard could possibly be described as trolling, but I wanted to demonstrate what SE Linux can do. Unfortunately of the many people who told me off for logging in to IRC as root, none of them wanted to hear an explanation of why user_r is safe in this regard. I expect that most of them were running their IRC client in the same Unix account that was used for their email etc (and probably most of them had GPG keys accessible from such an account).

Sigh, it’s so easy to run IRC as a different user - in fact it’s probably the easiest of all network client programs to run in such a manner. There’s no reason not to.

August 26, 2007 09:00 PM

Planet Eclipse

Litrik De Roy: Secrets of Bundle-NativeCode

The OSGi Bundle-NativeCode manifest header is one of those well kept secrets of Eclipse. It allows you to use native libraries (DLLs) without having to set the java.library.path system property. SWT is the most notorious example of this.

Today I was struggling to get a use case with three DLLs working: xp.dll is specific for Windows XP, vista.dll is specific for Windows Vista and both.dll is needed on both platforms. How can you get this to work with a Bundle-NativeCode manifest header?

Adding the following line to your plug-in's manifest does not work:

Bundle-NativeCode: /lib/both.dll; osname=win32; processor=x86, /lib/xp.dll; osname=winxp; processor=x86, /lib/vista.dll; osname=winvista; processor=x86
The reason why this does not work is mentioned in bug 118065 and described in full details in the javadoc of BundleNativeCode.java:
If you have more than one library for the same environment then you should include all of the libraries for that environment in the same Bundle-NativeCode entry.
So, after changing the above line (with three entries of each one library) into the following (with only two entries of each two libraries), everything worked just fine:
Bundle-NativeCode: /lib/both.dll; /lib/xp.dll; osname=winxp; processor=x86, /lib/both.dll; /lib/vista.dll; osname=winvista; processor=x86
While investigating this, I also found two interesting lists to bookmark: the supported processor aliases and OS aliases.

August 26, 2007 08:58 PM

Planet GNOME

Frederic Peters: Devhelp with WebKit

Thanks to the effort of Mike Hommey WebKit arrived today in Debian.

And I spent two hours this evening porting Devhelp to use it (still hackish, still not totally functional).

/captures/20070826-devhelp-webkit-mini.png

(original size)

This screenshot doesn't show anything, so I'll note a few things:

Unfortunately I am sure I will not have time to finish this, so if anybody is interested, please contact me, and get the current diff.

August 26, 2007 08:55 PM

Planet Debian

Roland Mas: Gforge in Debian, August 2007

As I type this, debs for a current snapshot of upstream Subversion are on their way to Debian Sid. They are taken from the Subversion trunk and not from the yet-to-be-released 4.6 branch, because a few important changes have taken place on the trunk only, and the 4.6 branch is merged anyway. Hence the version number, 4.6.99+svn6078-1. These packages did spend some time in experimental, and I didn't get any bug reports, but that doesn't mean they're bug-free. Use with caution.

One of the big changes is that Gforge now uses Gettext rather than its home-made internationalisation system. Which means probably fewer problems, and a more standard system allowing more people to get involved. Can you guess what I'm hinting at? Yes, it's a call for translations! Anyone interested in getting involved should bzr branch http://alioth.debian.org/~lolando/bzr/gforge/upstream-svn/trunk/, and start poking the existing *.po files (or creating new ones!).

Why the private repo and not the upstream Subversion repository? Rationale follows.

My job as a freelancer as well as my role as an Alioth admin involve maintaining separate branches of the Gforge code (different clients have different needs and patches). In order to facilitate patch migration, I therefore need a distributed VCS, and I've been using Bazaar for a few years, with a manual gatewaying between upstream CVS first, then Subversion, and a few private Bazaar branches. Now that Bazaar (as in Arch) is dead, I'm using Bazaar (as in Bazaar-NG, Bazaar-2, or bzr), which seems to be approaching a 1.0 release, and which provides a plugin to interoperate easily with Subversion repositories.

And since the upstream Subversion repository is not accessible anonymously anyway, I decided to publish my gateway branch. I'll probably publish more branches as time passes (probably the Alioth branch, and quite possibly feature branches too).

Note: if you want to share a bzr repository of a project containing PHP scripts with Apache, you may encounter a problem, because the bzr repository contains files named *.php.knit and *.php.kndx. And Apache will happily give these files to the PHP interpreter when serving them, and that's not what you want. My trick to fix that is to add a .htaccess file somewhere where the repository is stored, with the following contents:

AddHandler None .knit .kndx

This will ensure that these files will be sent straight to the HTTP client, and not through the PHP interpreter.

August 26, 2007 08:33 PM

unofficial planet python

Voidspace: Fetching Embedded Resources from IronPython

The other side of the coin to my previous entry, is fetching resources embedded in an assembly from IronPython. Again, this is suitable for use from IronPython, where you may have text, images or video files embedded in an assembly. ... [69 words]

August 26, 2007 08:10 PM

Planet Lisp

David Lichteblau: cloak

It is unfinished, slow, buggy, unmaintained, in need of a rewrite -- and now you can hack it yourself!

Doesn't that sound exciting?  Of course it does.

Prerequisites. Only Linux/x86 is supported1. You will need several hours of spare CPU time, about 1 GB of RAM, and lots of disk space. Compilation involves building SBCL and classpath first, so make sure to install all required dependencies first. Debian users can run

# apt-get install sbcl svn cvs wget jikes
# apt-get build-dep classpath
to do so.

Build script. Grab cloak using git [edit: needs git 1.5, no idea why]:

$ git clone http://www.lichteblau.com/git/cloakbuild.git
and compile it using clbuild-like commands:
$ ./build update
$ ./build world

Usage. The bin directory contains scripts called java, javac (courtesy of ecj), javap, and javah that run Lisp with the right arguments.

$ ./bin/java -version
CLOAK Virtual Machine, running on SBCL 0.9.8.6 (Linux 2.6.22 X86)

Copyright (C) 2003-2007 David Lichteblau

Technically it is a precompiler, and to avoid unpleasant surprises at run time, you might want to run

./bin/precompile foo.jar
before starting anything non-trivial.

Finally, read cloak/TODO and start hacking.

What's new? Compared to the big binary tarball available previously, this one comes with sources only, has been updated for current SBCL, and for Classpath 0.91 (which is still ancient, but a little step forward). The scripts in bin/ are also new.


1 No AMD 64 support yet. For now, use an x86 chroot instead.

August 26, 2007 08:06 PM

Planet Gentoo

Tavis Ormandy: McAfee Update


McAfee have finally released fixes for the DT_RPATH issue in their uvscan product, about 8 months after it was reported to them, you can get the latest version from here. They've also released fixes for the issues I found while fuzzing their scan engine, the advisories to those issues are here and here.

They're basically lying about the impact and their affected products ("Process Termination", wtf?). Their windows product was affected by both issues, and at least one of the issues was obviously exploitable, they are fully aware of this as they told me they had read secunia's report on the issue. But it seems like they have fixed it now at least.

I'm not interested in dealing with McAfee anymore, but if you are unfortunate enough to rely on their software and have some CPU cycles to burn, you might be interested in the fuzzer I wrote. It's very naive, but evidently is still able to find bugs. It was written by reverse engineering the API to their scan engine, and then simply intercepting filesystem operations.

To run it you need the file liblnxfv.so and the files clean.dat, names.dat and scan.dat from the vlnx distribution, which you can place in the wd.

You can compile it like so:
$ gcc avtag.c open.c vxfuzz.c -o vxfuzz -Wl,-rpath,$PWD -L. -llnxfv

Then just run it with an input file you'ld like to fuzz, e.g. a zip/rar/ace file, or an .exe packed with one of the packers they support. I think I've found most of the low hanging fruit, but if you have one of the more obscure archive formats or packers they support, I'm sure you'll find something interesting if you can let it run for a few days.

$ ./vxfuzz input.exe
[*] vxfuzz $Version: $
[*] ----------------------------
[*] PRNG SEED: 0x12cc65c1
[*] AVInitialise();
[*] AVScanObject();
[!] signal 11, attempting to dump progress.
[+] Signal caught, dumping file to vx.out.
$ uvscan --secure ./vx.out 
Segmentation fault

Hah, another crash. The file vx.out contains the file that caused the crash. Let me know if you find anything interesting.

Download vxfuzz-0.01.tar.gz here.

If you get a message about AVScanObject() returning failure, ensure you have the files clean.dat, scan.dat and names.dat in the current working directory, and that the file you're fuzzing can be read.

August 26, 2007 08:04 PM

Planet KDE

Clarence Dang: Laptop dead?

I was doing KDE programming on a 3 year old Celeron 2.2GHz laptop late Thursday night. I finished and turned it off -- nothing out of the ordinary.

The next evening I tried turning it on. The "on" light lit up and the fan started spinning. All was good until 5 seconds later: it just shut off - the light went off and the fan stopped. A few seconds later it turned on again. It kept looping in this cycle.

If anyone has an idea of what this is or whether this can be fixed, I'd be very grateful. I have lots of uncommitted code sitting there so if the laptop's dead, I'll have to move the hard disk to another (less powerful) laptop, at least to get my code off.

Nothing is displayed on the screen so it's not even getting to the POST tests. There's no beeping whatsoever. And there's no smoke :)

I opened up the laptop today hoping to find something loose or abnormal but I can't see anything wrong with it.

This laptop has had a habit of getting up to 90-91 (ninety to ninety-one) degrees celcius during compiles (before Linux shut it down), if I didn't prop it up to give it more ventilation, so maybe it finally fried?

August 26, 2007 07:58 PM

Planet Smalltalk

Chronos Time Zone Repository Version 2007g Published

Version 2007g of the Chronos Time Zone Repository has been published. It is based on version 2007g of the Olson Time Zone Database.

Downloads:




August 26, 2007 07:53 PM

Planet Asterisk

Sineapps Asterisk News: *-users: foneBRIDGE2 setup

Vicente Aguilar has posted details of a howto he has written with regards to the ISDN failover box, foneBRIDGE.

August 26, 2007 07:30 PM

Sineapps Asterisk News: Astlinux-users: Updated documentation on the Astlinux site

Darrick Hartman has posted details of an update to some of the AstLinux documentation with regards to runnix.

August 26, 2007 07:30 PM

Planet Debian

Sebastian Harl: FrOSCon 2007: Debian on a Lego robot

Debian on a Lego robot

This little Lego robot runs (well, drives) with Debian ;-)

August 26, 2007 07:01 PM

unofficial planet python

Mike Fletcher: The Turtle-to-interactive-turtle step...

Been looking at how to handle the logical step from turtle-graphics to interactive programming (event handling and the like). Looks like something like GooCanvas would be a good stepping-stone there. We can fairly readily define a mapping from turtle...

August 26, 2007 06:56 PM

Planet Scheme

Dominique Boucher: Next meeting of the Montreal Scheme/Lisp User Group

Our next meeting will be this Wednesday, August 29th. The details of the meeting are not fully settled, but at least Christopher Diggins will talk about its translator from Scheme to a statically typed functional stacked-based language. The details will soon be posted to the MSLUG web site.

By the way, we will be experimenting with another meeting format this fall, inspired by the BarCamp and DemoCamp type of events. At each meeting, three or four people will give short talks (about 15 minutes) about one of their favorite projects (academic, commercial, open-source, or hobby). Many people have already showed an interest in giving such a talk. (I will certainly give one myself, about the grammar IDE we are currently developing at Nü Echo.)

August 26, 2007 06:22 PM

Planet Eclipse

Ed Merks: On the Lookout for Bugs

I'm always on the lookout for bugs. Since EMF has so few of them, I have better luck finding them in my garden. The big dragon flies are laying eggs now and this one doesn't seem to have her partner to help her:


If you time it just right, you can catch them in mid flight!


They're quite the amazing creatures dating back to the earliest days on earth when life first took to the skies. Good solutions have real staying power on this planet!

August 26, 2007 05:54 PM

Planet Asterisk

Voip-Info: Asterisk phone cisco 7970 SIP / Re: Firmware 8-2-2SR1 [ID: 42806]

Hi sorry for the long delay, but I just now read your thread. It's some month ago, I believe it was sccp-6-0-3 and then I updated to sccp.7-0-3 and (as far as I remember) continued to sccp.8-2-2SR1. This is my last sccp file which I found so I believe then you can change to sip. Best regards Jochen
jochenthomas (jochenthomas) at 2007-08-26 17:47

August 26, 2007 05:47 PM

Planet PHP

Setting up Zend Framework applications with Phing - Raphael Stolt

After spending too much time on directory and view script shifting to align an 'older' Zend Framework application to the very useful ViewRenderer Action Helper of the follow-up releases I crafted a single Phing buildfile to stick to the recommended conventions and to have a nearly 'one-button' setup solution for any upcoming projects.

There are already some solutions available ranging from prepacked application skeletons to programmatically creators. Of course this is a rude violation of the DRY principle, but you are welcome to read about the basic features the Phing based solution has to offer for now.

Requirements


Features
Open/possible improvements
After having all requirements aboard it only comes down to the following two steps:

  1. Run the buildfile in the targeted directory

  2. Set the document root to the applications html directory e.g. by using Apaches VirtualHost capabilities

Although it's tested and I put some thoughts in it, any feedback about detected flaws and additional improvements are highly appreciated.

August 26, 2007 05:33 PM

planet.freedesktop.org

Thomas Vander Stichele: Freedesktop problems

Yay for Sundays. GStreamer hackers told me something was wrong with CVS - commits were going in as uid(somenumber) instead of the actual account name for the last two weeks. Also, spewage from post commit hooks indicated the same problem.

With the help of Jan, I figured out what the problem was. CVS runs inside a chroot, the chroot was still on Debian sarge while someone upgraded the hot machine to Etch. The passwd.db file got copied from host to chroot and presumably the sarge libs can’t read the etch version of that file. But it took a few hours to figure out that this was the problem. Anyway, should be fixed now.  The uid’s in the commits already made will be fixed in the future after we migrate to Subversion - I’m actually (for work) adding a feature to moap that allows you to rename authors for past revisions.

I also deleted some 33000 files from its /tmp directory left over from cvs commit rules…

It makes me think that sitewranglers, as a group, is not very effective. I wonder who did the upgrade to etch in the first place ?

Dobey also asked me to take a look at why Tango ’s website didn’t work - MySQL had the user allowed only from the full hostname and not localhost. Fixed now too.

I’m guessing SVN will have the same problem - can anyone let me know which projects use svn and wants to take a look at it with me so I can fix it ?

Since my Thinkpad is still in limbo, and Jan has come over today to do some hacking, I am doing today’s hacking from a Mac PowerBook G3 running Ubuntu Warthy. Apparently Warthy does not even exist anymore on Ubuntu’s servers, so upgrading it was out of the question. Jan helped me set up XDMCP on my desktop in the office room, and now I’m using this paperweight machine to work remotely on my desktop. Works pretty well.

But how anyone would ever have wanted to actually buy a machine like this is beyond my comprehension. I don’ t even have a Delete button ! I can’ t delete mails in Evolution ! Well, I could go right-click and select Delete … oh no wait a minute, this is a Macintosh broken-by-design machine with ONLY ONE MOUSE BUTTON. Sigh.

August 26, 2007 05:15 PM

Planet XML

Pantone’s Missed Chance

Today I see, via John Gruber, that Pantone has been acquired by X-Rite. In 1995, I gave Pantone’s CEO some advice that might have made them a lot of money. He didn’t take it, but it’s an amusing story.

What happened was, I was a Vice-President and founder of Open Text, then mostly in the search and retrieval business, which was at that time part of the publishing business. We’d long been attendees of the “Seybold Seminars”, for many years the Conference that Mattered in the publishing-tech business. When Open Text suddenly hit the big time in 1995 with one of the first Web Search Engines, I became something of a Web Authority, and spoke regularly on the subject at Seybold.

That year, we had a partnership with Yahoo! (the employee count was still in the low double digits, but they had white-hot buzz). At that fall’s Seybold, I was invited to the “Founders’ Dinner” at a really nice San Francisco restaurant. I called the hosts and asked if I could bring Jerry Yang from this weird new Web-Startup world along. Jerry got a lot of attention; the Web was absolutely Terra Incognita to those guys at that time.

Later in the evening, I was chatted up by the Pantone CEO, a grizzled guy in a rumpled suit. He asked “Is there anything Pantone could do to make its mark on this new Internet thing?”.

The answer seemed obvious. I said “Well, color online mostly sucks, and that’s partly because computer geeks mostly totally don’t understand it. Why don’t you guys write some software that takes a Pantone number as input and really works hard, using everything it knows about your computer and operating system and monitor and video card, to come as close to that color as you’re gonna get, on-screen.”

He asked “Well, how do I make money?”

I said “Give the software away to Netscape and Microsoft (for IE). If it’s good, millions of page designs on the Net will be specced in Pantone numbers. Your upside is huge.”

He looked at me like I was completely fucking nuts. To his credit, he was polite, but it was obvious he thought I was from another planet.

I dunno, I think it might have worked. And we might have better-looking Web pages too.

Postscript

Writing this made me feel nostalgic for the Yahoo! of way back then. I did some poking around, and the original directory that fueled the first stage of that particular Internet Rocket is still there. But you really have to look to find it.

August 26, 2007 05:14 PM

Lauren and Jean

Hey, this is my blog, if I want to run a picture of my wife and my mother, I can.

Lauren Wood and Jean Bray

On Mom’s back porch in Regina, Saskatchewan.

August 26, 2007 05:10 PM

unofficial planet python

Ted Leung on the Air: Another victory for full feeds

During the bar conversation after the Saturday Seattle Strobist Seminar, a bunch of including James Duncan Davidson and Eric Soroos were talking to David Hobby about full feeds on the Strobist site. In particular, we pointed him to John Gruber’s experiment with full feeds on Daring Fireball (preliminary report on John’s experience). So I was very happy to read that David has decided to try a full feed for Strobist as well.

Since David wanted some more power user full feed info, here’s my take on David’s situation.

The argument for full feeds is that it allows a reader to be more efficient because they can digest more information per unit time. At least that is true for me. The other big benefit is that it allows people who want / need to read offline to do so. The question is, “Doesn’t reader efficiency come at the expense of the publisher”? My answer is, no, not if your content is good. In fact, if your content is good, reader efficiency works in your favor. If your content is good, then you as the publisher doen’t want me to have to break my workflow (by switching to a browser, browser tab, or NetNewsWire tab) to determine that the content is good. If I have to break the flow, there’s much less chance that I will do command-shift-P (in NetNewsWire) to pop the your post into Ecto where I can quote it as part of my post (which ought to generate some additional traffic for you). There’s less chance that I will hit command-1 to pop your post’s title and permalink into Twitterific, where it can get pumped into the realtime information junkie network. And there’s less chance that I will hit command-control-’ to pop your post’s permalink into Pukka where I can quickly tag it and stick it into del.icio.us, where it can be immortalized as important, seen by my del.icio.us network, and pumped into my blog and tumblog. In other words, you make it hard for people like me to help you. Now you might not care about that, and that’s a completely rational choice. But since just about everything in the blogosphere (after your good original content) is about getting flow (which doesn’t just mean inbound clicks) from other people, it seems like a short sighted thing to make it hard for flow to happen.

There are a few other dynamics which I think are relevant to Strobist, which don’t apply to all blogs.

1. Strobist is not just a blog, it is a source of reference materials. If you metered my accesses to the Strobist site, you would see that I access the site much more as a reference site than as a daily blog. I read the daily blogs, but since I am learning something that requires practice, trial and error, and so forth, I am always pulling up old posts (and those Lighting 101 and 102 pulldown menus) are a godsend for that. Which you have to go the site for. Dropping the 1 click that you would have gotten by forcing me to follow from the partial feed is just noise compared to the other volume

2. The advertisers on Strobist aren’t getting the value from the ads. If you make me go to Strobist in Firefox, Adblock pwns you. I never even see your ads. If you want to get value from Strobist, do something that works with what David is doing. Nonetheless, I’ve ordered several times from the Midwest Photo Exchange, not because they advertise on the site, but because they are doing something that works with what David is doing - so well that David actually writes about it. You might think you need an ad, but what you really need is to do something that will get David to write about you. Strobist is becoming a community, and the advertisers / sponsors of the site will get the most value by being a part of the community (see yesterday’s post on Nikon for tips). And that means more than just doing ads.

3. I was less vehement about full feeds that night (and I do love my full feeds) because I don’t think that David’s audience is an RSS enabled audience. The small sample size at the bar bore that out. So full vs partial doesn’t make that much difference, really. I’ve been reading the blogs of some wedding photographers because I think that maybe someday I might like to take a crack at that. But one thing I’ve noticed is that the word on Strobist is out. I see the techniques being mentioned. People see off camera flash pictures and want to know how to do that. And the answer that invariably comes back is Strobist (or occasionally, the OneLight). You can be sure that this is happening in real life, maybe even more so than on line. So the flow net for Strobist has expanded beyond the RSS savvy crowd and into the real world. No amount of full vs partial RSS feed is gonna change that.

But just in case, click here to convince David of the value of a full RSS feed. :-)

August 26, 2007 04:51 PM

Planet OpenMoko

Jan Luebbe: Debian on the Neo1973

Thanks to a patch by Roman Moravcik i was able to close OpenMoko bug 677 today. This problem made the SD slot unusable for anything except some simple tests. To verify that everything is working now, i installed the new Debian ARM EABI port. So now i can use Aptitude to install almost all Debian packages.

I’ll publish a tarball of my chroot soon for anyone who wants to try Debian on the Neo. If you have problems with the speed of your SD card, check if the filesystem is mounted ‘sync’.


August 26, 2007 04:47 PM

Planet Ubuntu

Jonathan Carter: CTWUG Committee Formed

CTWUG logo small

Yesterday, the Cape Town Wireless Users Group (CT-WUG) met and elected our first committee. I’ve only been on the WUG a few months, users connect to high-sites put up on the hills and high buildings, and the high-sites are connected to each other to form a large user-driven network. Currently we have about 30 members. The WUG is quite useful for our users, since local Internet bandwidth is very expensive.

Many users run services like VoIP, mail and some game servers. I share an Ubuntu mirror that contains dapper, edgy, feisty and gutsy binaries for main, universe, multiverse and restricted. I’m also currently sharing web too via a local-only DSL account, which is useful for some members that don’t have Internet, and planning to add some more things when I have some free time again one day! :)

It was decided yesterday that we’d start with a small committee, I think this was a very good idea. We had a quick vote and the following people have been elected:

The committee is made up of very active and enthusiastic members, Grant (better known as mufasa on the wug) initiated the first link. We’re also going to formalise other parts of the WUG, and start teams for managing certain technical aspects of the WUG. We decided that CTWUG would formally exist as a research platform. Also, thanks to David Savage who chaired the meeting yesterday, he did a great job of keeping the meeting focussed and making sure that everyone understood what we were doing.

ctwug-meeting.jpg

I hope to see CTWUG grow quite drastically and cover most of Cape Town in the next year or so. It would also be nice to see CTWUG become a member of WAPA, an interest was expressed yesterday to get CTWUG more recognised by all the various industry and control bodies, such as ICASA, I think we’ll get there.

PS: if you’re on Facebook, and on the WUG, don’t forget to join the CTWUG group.

August 26, 2007 04:04 PM

Planet KDE

Cláudio da Silveira Pinheiro (Taupter): Flashy 32bit diehards

Some days ago Mr. Mike Melanson of Adobe Flash's Linux port fame posted in Penguin.SWF blog about the news of H.264 coded support in Flash. Nice, a new codec. But there's a question that doesn't want to be silenced:
What about a nice, clear and objective answer about the availability of a 64bit version of the Flash plugin?
I know "Requests for such features as alternate operating system or CPU architecture support are more suited for the Adobe Wish Form", but come on. We users don't get any answer at all, clear or not, about it since yesteryear (21th july 2006 to be more precise), and submitting something to the Adobe Wish Form is just like waiting an answer from a cold, silent tombstone. At least Mr. Melanson talks to us from time to time, but his apparent policy of not discussing 64bit at all is such a denial mode that makes us think what's going on inside Adobe's corporate mind (as I believe he would like to be able to discuss it but his Management prevents him from doing so).
I posted something around these lines in the comments' session of his blog, knowing the odds that such comment would not be approved were high, but sincerely, people are starting to get fed of Adobe's silence (as increasingly frequent comments like "64-bit version or die" are quite revealing). Why have plugin versions to computer minorities as Linux-x86 and Solaris and deny Linux-amd64 users? Sincerely I would feel better if only Win32 versions were available, so the F/OSS community would reinvent itself again and bring up a free-as-in-speech multiplatform competitor with its proper creative tools (maybe even with a little help from the ones like Google, who has a huge interest in online media and owns two video-sharing portals) instead of settling for less and an implicit promise to deliver it "when it fits company's mood". This wait is a deja-vú of the XFree86's slowness before Keith Packard gently triggered the chain reaction who generated the XOrg's revolution, but in Flash's case it's closed source and closed-spec. Adobe's position about the PDF format represents a good balance between openness and commercial interests, but the same doesn't apply to Flash.
I and others recognize the efforts of some valiant people inside Adobe's headquarters to bring updated versions of the technology and to be more open and I hope they'll prevail and Adobe's management will understand this current window of opportunity to stay relevant in the rich media for the internet in the next decade.
People get fed, and not aways in the Gnash's sense. Sometimes it's in OpenOffice.org/ODF's sense (full creative suite that was the motivator and currently implements the ISO standard for office documents). Maybe Adobe will understand this before it's too late.

August 26, 2007 04:02 PM

Planet OpenOffice.org - Developer News

IssueZilla: New issues: Sun Aug 26 15:43:01 UTC 2007

#i81031# - Database access: Function ROUNDMAGIC return value converted to string
#i81035# - Presentation: "insert file"+"link" does not work as expected
#i81033# - sw: Crash after pasting an image inside a table cell
#i81034# - sw: Writer hangs at load with 100% CPU
#i81032# - sw: graphics deleted automatically

August 26, 2007 03:43 PM

Planet GNOME

Alberto Ruiz: Jython reaches stable realse

As an accidental Java programmer, and as a Python lover, I'm really excited to realize that Jython 2.2 has reached stable status, releasing the first production release ever.

I'm really excited to see what's going on on the Jython/JRuby front, although I would like to see as much progress on Jython as in JRuby (the NetBeans 6.0 integration is pretty neat). Not really because of the language, since I find Ruby pretty neat once you get used to it, but because I find Django more convinient if you want do delegate the templates to a html/css/js hacker instead of creating the view using sourcecode.

It would be nice to get the scalability and speed of Java (despite the startup time, Java web apps are in fact faster than php/python/ruby equivalents) on Python frameworks.

Go Jython, go! :)

August 26, 2007 03:38 PM

unofficial planet python

Mike Fletcher: Whole day on documenting and automating

Was just intending to spend a few minutes on the emulation stuff today, but what with documenting the requirements, realizing they were rather involved and then trying to automate them, didn't get around to the client work I had on the todo list toda...

August 26, 2007 03:30 PM

Planet Ubuntu

Sebastian Kügler: Hanging out at FrOSCon.

a sunflower Arrived in Bonn / St. Augustin yesterday, where on Saturday morning FrOSCon kicked off. This is the second time the local user group organises this conference and I must say that this is certainly one of the most relaxed conferences I've ever been to. Highlights include good drinks to keep you running (Go Mate!), couches, wifi available already before the conference started, good beer and a lot of nice gimmicks such as the bouncy castle. The atmosphere is very friendly, quite some KDE-related peeps here, especially Amarok and KDE friendly projects such as Kubuntu, Sidux, Skolelinux FreeBSD and inevitable the FSFE. The conference is quite a bit more busy than it was last year, and last one of the gods that make the weather decided to put up sunny, not to hot and above all dry skies on top of this conference. During my idle time, I talked a bit with Olaf about using Javascript in website and how this can be done in a way so it's accessible for everyone. I'll probably work a bit on websites during this weekend to make it so. Talk is cheap.

Friday, after arrival, we took on the task of making sure the BBQ works and the beer is of high quality, I'm glad to announce that both failed none of our tests, so we were rather safe for saturday night -- same exercise. photos. My talk on Saturday about KDE4 went really well, a double lecture hall packed with people (probably the biggest one here), the organising team's estimate is 400-450 people attending this talk, I was able to go through most of the new frameworks ("pillars"), such as Solid, Phonon, Plasma, Oxygen et al, talk a bit about our community, demo what's currently there and finally answer quite some interested questions. People were really positive of how far we've come with KDE so far, and there's lots of people waiting eagerly for KDE4 while most seem to understand that stable and cool software doesn't develop itself. I've talked to quite some people and it's amazing how our stuff gets people to think. I've heard the questions "do you think it would be possible to implement [insert amazing idea here] with that?", the answer has more than once been "Yes, in fact, I think it's quite easy because that's what the frameworks are made for" -- workflow improvement ideas are quite popular. This is to me a good indication that we're underway very well, and that we're poking into people's imagination.

This morning, I had another talk scheduled, "CodeYard - bringing Free Software development into Highschools". While the audience was much smaller, the audience was interested in what we're doing and received the talk really well. After that, I took advantage of Torsten showing up here in St Augustin presenting Marble, then sat down at a couch in the Chiilout area, mainly to finish this blogentry and upload photo's. That didn't happen until two hours later. Turned out there's a Canadian sitting next to me, named Zak Greant. I knew his name from the FLOSS foundations list, he's a staff member of the Mozilla Foundation. We talked about topics such as Free Software adoption (no really!) sneakers, college drop-outs (see my crack dealer blogentry) and generally had a relaxed time.
Zak shared some interesting insight in how the Mozilla Foundation works, and how it's related to the Mozilla Corporation and how he sees the software ecosphere developing after becoming mainstream. We also chatted a bit about business ethics. I seem to have this strange talent to always pick the one Canadian out of the masses, good thing they're generally enjoyable folks. :-)

August 26, 2007 03:25 PM

Planet PHP

Introduction to Midgard's database abstraction system - Henri Bergius

I've noticed this is something I end up showing to people in every conference, and therefore probably makes sense to blog it.

Midgard abstracts database storage on C library level, and provides a set of classes and interfaces for accessing it on PHP extension level. PHP scripts cannot bypass the C-level abstraction and don't get information about the database connection or passwords being used. While this sacrifices some flexibility, it also helps a lot with consistency and security.

Defining database structure

Developers can define database structures to Midgard as MgdSchema files. Midgard ships with some pre-defined types like Articles and Persons, and others can be shipped in component packages.

MgdSchema files are XML:

<type name="org_routamc_statusmessage_message" table="org_routamc_statusmessage_message" parent="midgard_person" parentfield="person">
    <property name="id" type="integer" primaryfield="id"/>
    <property name="status" type="text" />
    <property name="person" link="midgard_person:id" reverse="no" type="integer" parentfield="person"/>
    <property name="source" type="string" />
    <property name="externalid" type="string" />
</type>

Actual MySQL database tables are generated from these files by the midgard-schema tool:

mysql> describe org_routamc_statusmessage_message;
+-------------------------+--------------+------+-----+---------------------+----------------+
| Field                   | Type         | Null | Key | Default             | Extra          |
+-------------------------+--------------+------+-----+---------------------+----------------+
| id                      | int(11)      | NO   | PRI | NULL                | auto_increment | 
| status                  | longtext     | NO   |     |                     |                | 
| externalid              | varchar(255) | NO   |     |                     |                | 
| source                  | varchar(255) | NO   |     |                     |                | 
| guid                    | varchar(80)  | NO   | MUL |                     |                | 
| sitegroup               | int(11)      | NO   | MUL |                     |                | 
| metadata_creator        | varchar(80)  | NO   |     |                     |                | 
| metadata_created        | datetime     | NO   |     | 0000-00-00 00:00:00 |                | 
| metadata_revisor        | varchar(80)  | NO   |     |                     |                | 
| metadata_revised        | datetime     | NO   |     | 0000-00-00 00:00:00 |                | 
| metadata_revision       | int(11)      | NO   |     | 0                   |                | 
| metadata_locker         | varchar(80)  | NO   |     |                     |                | 
| metadata_locked         | datetime     | NO   |     | 0000-00-00 00:00:00 |                | 
| metadata_approver       | varchar(80)  | NO   |     |                     |                | 
| metadata_approved       | datetime     | NO   |     | 0000-00-00 00:00:00 |                | 
| metadata_authors        | longtext     | NO   |     |                     |                | 
| metadata_owner          | varchar(80)  | NO   |     |                     |                | 
| metadata_schedule_start | datetime     | NO   |     | 0000-00-00 00:00:00 |                | 
| metadata_schedule_end   | datetime     | NO   |     | 0000-00-00 00:00:00 |                | 
| metadata_hidden         | tinyint(1)   | YES  |     | 0                   |                | 
| metadata_nav_noentry    | tinyint(1)   | YES  |     | 0                   |                | 
| metadata_size           | int(11)      | NO   |     | 0                   |                | 
| metadata_published      | datetime     | NO   |     | 0000-00-00 00:00:00 |                | 
| metadata_score          | int(11)      | NO   |     | 0                   |                | 
| metadata_imported       | datetime     | NO   |     | 0000-00-00 00:00:00 |                | 
| metadata_exported       | datetime     | NO   |     | 0000-00-00 00:00:00 |                | 
| metadata_deleted        | tinyint(1)   | YES  |     | 0                   |                | 
| person                  | int(11)      | NO   | MUL | 0                   |                | 
+-------------------------+--------------+------+-----+---------------------+----------------+
28 rows in set (0.03 sec)

As you can see, lots of metadata columns get added to the def

Truncated by Planet PHP, read more at the original (another 4821 bytes)

August 26, 2007 03:18 PM

Planet Debian

Christian Perrier: Back...and mail read

Less than one full day to read 8000+ mails. Not that bad. Among these were like 2000 spams that hadn't been detected by my spamassassin+CRM114 setup on my mail server, but properly identified by CRM114 on my laptop.

Interesting thread in debian-devel after I reported bugs about the use of "Homepage: " in packages descriptions and Christoph Berg objected to it. Apparently, this could lead to the support of a "Homepage:" field in debian/control which is Good.

New samba upstream release (3.0.25c) on its way. Steve Langasek did a release of the package while I was away, Peter Eisentraut did some bug triaging and Noèl Köthe prepared the release toay, searching for the bugs that are fixed. No real problem building the new version, except for the Python bindings which are nearly unmaintained (we are seriously considering to stop providing python-samba so please speak up *and* come helping if interested).

The D-I l10n-sync script was hosed for 2 weeks because of a broken Swedish translation file (I hate poEdit for this, see #420685). I really should begin seeking for a backup for D-I l10n handling as Dennis Stampfer is now apparently completely MIA.

Nothing really important apart from all this. Probably time now to begin preparing a possible trip to India for FOSS.in which I really would like to participate to, if I can find a way to fund the travel. Also time to think deeper about the proposed Extremadura i18n meeting which hasn't met a huge success, probably because we really want it to be focused on *one* goal this time (DDTP/Pootle).

August 26, 2007 03:15 PM

Planet GNOME

Adam Schreiber: OpenStreetMap Presentation

This past Thursday, I gave a presentation on OpenStreetMap at the first meeting of CLUG for the fall semester. While a little long (about an hour and twenty minutes with demonstration) I think it was well received.

The slide deck (in PDF and LaTeX formats) and presentation resources are available from here.
The area used for the demo can be viewed as part of a slippy map here.

August 26, 2007 02:35 PM

Planet Maemo

uktube bugfix version released

Thanks to guys at internettablettalk, I noticed that youtube had changed the way video files are referred on the page source code. Thus, uktube stopped working until this problem had been fixed. I was just able to fix and test it a few minutes ago and I wanted to let you all know that the problem has been fixed and there is a new version for you to download.


So, once again, thanks for letting me know of the uktube bug. UKMP 1.62 only fixes uktube bug in downloading youtube videos. So, don't expect any fixes related to ogg files.

It seems that ogg installation at the moment is missing ogg demux for some users. I'll try to get oggs working again in ukmp for the 1.63 release some time next week

Download here:
http://maemo.org/downloads/product/ukmp/

August 26, 2007 02:04 PM

Planet Debian

Biella Coleman: The problem with presentism

A few days ago, Joe Reagle was telling me about the rise of (sometimes very arcane) policies and bureaucratic imperatives that now characterize Wikipedia. A few days later I stumbled across a few interesting posts on the topic, posts (especially Nick Carr’s) seeping with almost celebratory gloom and doom:

‘But, given human nature, is it really so “incredible” that Wikipedia has evolved as it has? Although writers like Yochai Benkler have presented Wikipedia as an example of how widescale, volunteer-based “social production” on the Internet can exist outside hierarchical management structures, the reality is very different. As Wikipedia has grown, it has developed a bureaucracy that is remarkable not only for the intricacies of its hierarchy but for the breadth and complexity of its rules. The reason Deletionism has triumphed so decisively over Inclusionism is pretty simple: It’s because Deletionism provides a path toward ever more elaborate schemes of rule-making - with no end - and that’s the path that people prefer, at least when they become members of a large group. The development of Wikipedia’s organization provides a benign case study in the political malignancy of crowds.”

It is without question that a problem has arisen in Wikipedia, a problem composed of a thick web and net of rules that can be helpful as guidelines but often are often confusing and clearly work to ensnarl new users.

But can we so quickly put blame on so-called human nature? Or is it not a problem of human organization, which as the anthropological and sociological record shows, can take many forms? And is it not just that: a problem begging for a solution instead of an opportunity to declare the fundamental nature of wikipedia (and that of human nature?). Not only may history prove him wrong, other large scale collaborative projects at least prove that solutions can be found to deal with problems of growth and scale.

It is as if Carr just wants to see a project like Wikipedia fail, which somehow, this morning hit a raw nerve. What I find exciting about large scale projects of (at times unwieldy) collaboration are not just the explicit outputs of the projects (an encyclopedia or operating system) but the social worlds they create. And there is no inevitable path they *must* follow. These groups have a choice to react to and respond to these sort of problems and enact solutions that will hopefully solve them and allow these projects to change.

Debian, a slightly older project than Wikipedia, has gone through many growing pains and there was even a period when the the whole process of integrating new Debian developers was shut down and if my memory serves me correctly, for 2 years! At the time, it could have been possible to say: “This signals the end of Debian” but eventually a solution was found, the New Maintainer process, which while not perfect (what is?) allowed the project to grow and produce a great operating system for years to come.

Debian today faces new problems and is working to find solutions. I hope that Wikipedia can and will do the same. And instead of declaring its death, why not wait and see, and offer something a little more constructive and illuminating, than destructive?

August 26, 2007 02:04 PM

Planet KDE

Johan Thelin: Qt applications

Old, but new to me. The Qt-Apps.org and Qt-Prop.org seems like great places to get listed - start registering your projects!

August 26, 2007 02:03 PM

Planet Gentoo

Remi Cardona: First post!

Yeah ... lame, I know. First post on Planet Gentoo, so Hi all.

A couple weeks ago, I posted an offer for fellow gentoo devs to send me pictures of them so that I could replace/create a hackergotchi for them.

To this day, I've created 3 hackergotchis for :

If any of you Planet posters want to have your very own cool hackergotchi, please send your pictures my way.

PS, maybe I should make one for me ...

August 26, 2007 01:54 PM

Planet PHP

phpunit.de back online - Sebastian Bergmann

Load

phpunit.de is back online.

I think Tobias, on whose server the site runs, will share some information about what went wrong with the server while he was on vacation on his blog soon.

August 26, 2007 01:50 PM

Planet Smalltalk

ESUG In Lugano

Lukas Renggli notes that ESUG has begun. I wish I was there this year, but we had a rash of "too many things at once" around here :)

August 26, 2007 01:28 PM

Planet KDE

Alexander Dymo (adymo): Scala: a pleasant discovery

I've recently became quite confident that choosing programming language is a process that is very similar to choosing what to cook. First you taste something. If you like it, you eat it. If you really really like it you look for a recipe and try to cook it. Same for the programming language. First you see some code in that language. If you like it, you read more about the language, learn its concepts and ideas. If you really really like what you found, you start programming in that language.

What's interesting is that your consciousness is not usually involved in the tasting phase. On the surface it's simple - you either like new thing or not. But I do believe that there's a serious subconscious process involved here that takes into account all your previous experience and tells you "yes" or "no" to this new thing.

I've made several failed attempts to ignore this subconscious decision and force myself into learning things I don't like. Ironically, such first attempt was Lisp and the last one was Haskell. Needless to say that Lisp still means to me nothing more than lots of isolated, sil^^^... (you know what ;)) and Haskell is still for me nothing more than a pure product of pure mind. Once again, no offense to these languages and people using them. That's just my mind that doesn't allow me to like these great languages ;)

Contrary to that, I made quite a success learning languages I liked. The best examples would be Prolog and Ruby. And yesterday I discovered for me another language I liked from the first look - Scala. So instead of working hard on my projects and my PhD, I spent last two days reading about Scala.

And I should say the language is very cool. It implements an interesting mixture of functional and object-oriented programming paradigms but keeps static typing and very clean syntax. For those familiar with Ruby, I'd say Scala often feels like Ruby that is statically typed, has C-ish syntax and implements more functional programming goodies. I think next time I'll come up with a side-by-side Ruby vs Scala comparison.

And finally a little code snippet for you to taste ;) (from excellent Martin Odersky's "Scala by Example" book)


abstract class Tree
case class Sum(l: Tree, r: Tree) extends Tree
case class Var(n: String) extends Tree
case class Const(v: int) extends Tree

type Environment = String => int

object MyProg {
//uses pattern matching to evaluate the expression
def eval(t: Tree, env: Environment): int = t match {
case Sum(l, r) => eval(l, env) + eval(r, env)
case Var(n) => env(n)
case Const(v) => v
}

def main {
val env: Environment = { case "x" => 5; case "y" => 10 }

//(x+x) + (7+y)
var expr: Tree = Sum (Sum(Var("x"), Var("x")), Sum(Const(7), Var("y")))
//(5+5) + (7+10)
println(eval(expr, env)) //prints: 27
}
}

MyProg.main

August 26, 2007 01:17 PM

Planet Smalltalk

Scaling Reality

Ted Leung quotes Sam Ruby, who bursts a few bubbles for the "native threads are the answer" crowd:

Next, to dispel a few myths. Slashdot is written in Perl, seems to handle the load, and also seems to stay up. While there are a number of BitTorrent implementations, the original and (to the best of my knowledge) the most pervasive version is written in Python. Yahoo is a mix, but a good portion of it is written in PHP, with critical functions written in C. Twitter is written in Ruby, had early scalability issues, but seems to be past them. These are all examples of massively scalable applications.
...
So, while Joe Gregorio sees a future for databases without joins or transactions, I see a future in lightweight threads without locks or semaphores.

I think I've been saying that about Smalltalk and scaling for quite some time now.

Technorati Tags: ,

August 26, 2007 01:07 PM

Planet KDE

Boudewijn Rempt (boud): Er what?

I know I am person with wide-ranging interests, but how the deuce did Amazon infer that just because I like to read the Church Fathers, I'd also be interested in signal processing? And... Am I interested in signal processing? Image manipulation is special case of signal processing, of course, but I tend to leave that sort of detail to Cyrille Berger and Michael Thaler...

B.S.A. Rempt,
As someone who has purchased or rated books by Saint John Chrysostom, you might like to know that "Fixed-point Signal Processors (Synthesis Lectures on Signal Processing)" will be released on September 7, 2007. You can pre-order yours by following the link below.
Fixed-point Signal Processors (Synthesis Lectures on Signal Processing)
David Anderson
Price: $40.00
Release Date: September 7, 2007
Sincerely,
Amazon.com

August 26, 2007 01:03 PM

Planet Smalltalk

Declined Standards

Andres Valloud expresses astonishment at what passes for college level coursework these days. To be fair, the grade school level math he noticed was not coursework, but review - for the high school level math that was coursework.

A few years back, this might have surprised me, but my uncle has been teaching that level of remedial math at a university near him since retiring as a high school teacher. Some of the stories he tells about the students he gets are amazing, in the "how did they get to college" sense of amazing.

The problem seems to be an excess of compassion that is not linked to common sense. It is no favor to pass a kid through school when they continually fail basic subjects, and it continues to be no favor to them to send them to a college where they are certain to fail. Without basic standards being enforced, all this compassion yields is tragedy. Better to fail kids early, when there's a chance they'll learn something from it, than to feed a sense of entitlement.

Technorati Tags:

August 26, 2007 01:01 PM

Planet OpenMoko

Rod Whitby: Debugging gsmd failures on OpenMoko

If you’re having problems making phone calls on OpenMoko 2007.2, and wish to see what gsmd is doing, then look in /tmp/gsm.log for the gory details …
Mine fails to register automatically, as documented in http://lists.openmoko.org/pipermail/gsmd-devel/2007-August/000205.html - this seems to be a problem where libmokogsmd2 is not handling a GSMD_NETREG_UNREG_BUSY event correctly.

August 26, 2007 12:29 PM

unofficial planet python

Ned Batchelder: Sable-3 photo balloon into space

Here's a cool amateur project: SABLE-3 is a helium balloon with a camera payload that rose to 117,000 feet about the earth, high enough to see the edge of the atmosphere. It took 2 hours to rise, then 45 minutes to fall back to the ground to recover the photos.

August 26, 2007 11:55 AM

Planet Mozilla

Zak Greant: MoFo Weekly Report 2007-08-24

During the week ending on Friday August 24th, I:

(more…)

August 26, 2007 11:54 AM

Planet Smalltalk

Aussie Entrepreneurship at BarCampSydney

Yesterday I attended the second BarCampSydney event. This is a rather eclectic and free-form "un-conference" at which attendees are encouraged to post a topic to talk about on the day (the slogan is "no spectators"). Perhaps due to the interesting mix of high tech business people, consultants and software developers in attendance, the sessions seemed to fall into three overall categories:

The discussions were fast-paced and quite thought-provoking - in some cases involving upwards of 60 people involved in open discussion.

Amongst the more outspoken personalities in the entrepreneurial sessions were several people who have succeeded in building tech. businesses - most involving fund raising through government grants and/or venture capital. One exception is Mike Cannon-Brooks, co-founder and CEO of Atlassian Software. Atlassian is a truly inspiring Aussie success story and many around the world will know of them for their Confluence and JIRA products. Mike is an extremely switched on and passionate guy who really tells it like it is. He was in fine form at the end of the day Mike presented this presentation (1Mb PDF).

Although we are at somewhat of a disadvantage in Australia in terms of most of not being as familiar with the fund raising system as is common in America, there is quite a good network of Aussie ex-pats in Silicon Valley who can make introductions to V.C.'s and the like.

The top blogs for tech entrepreneurs mentioned were:

The smallest and most informal session I attended was on Agile and Lean software development. One of the guys there had just returned from the big Agile2007 conference in Washington D.C. I have blogged about that over here.

Generally it was a very interesting and inspiring day. There are plenty of other BarCamps happening around the world and I would recommend them to anyone who wants to connect directly and interactively with where the leading-edge of tech. industry thinking is at.

August 26, 2007 11:47 AM

Planet Mozilla

matthew zeier (mrz): China, day one

In China now, after a 12+ hour flight from San Francisco.  Got in about 4-5 hours ago (I’m all screwed up on time right now).

It’s overcast and muggy and reminds me of Chicago summers.  Amazingly like Chicago actually except that I smell exhaust fumes (like Tijuana).  And people smoke (a lot more than I’ve become accustomed to).  I’ve been concerned about how I’d do with the air quality but if it keeps raining a bit, it shouldn’t be too bad for me.

I’m staying here, which isn’t a bad place.  Walking distance to Tsingua Science Park (I can see Google’s building from here) and to Mozilla’s China office.  When we got here, our rooms weren’t yet ready so they put us in temporary rooms until ~7pm.  I’m now sitting in my new room that was just cleaned except that the lady cleaning the bathroom somehow got herself locked in the bathroom.  So for the past 20 minutes a crew of people have been trying to unlock the door.  The last guy literally looked like he was picking the lock.  Oddly no one seems to be notice me.

Unfortunately there are only three TV stations in English - CNN, HBO and National Geographic.  Fortunately, I can VPN through San Jose to stream Netflix movies which might keep me entertained until bed time.  It’s a shame I don’t have Slingbox.

August 26, 2007 11:31 AM

Planet KDE

Daniel Duley (mosfet): Why this is interesting.



Looks pretty boring, huh? Unsorted icon view with no previews or anything. Well it's actually Pixie's thumbnail browser made into a separate widget totally independent of Pixie and using KDirModel as a backend.

Pixie's thumbnail browser:



The idea is to make this widget a proper KDE one using KDirModel, etc... instead of Pixie and upload it to playground so other people can check it out. There seems to be a lot of interest in high speed iconviews so I figured I'd see if other people can use it.

As you can see, it's not done yet but I'm rather pleased with how easy it has been to separate from Pixie. All the layout code is done and all I really have to do now is do a sorting proxy, get selections working again, and some minor painting stuff.

Advantages of this iconview:
* Extremely fast layout that can handle tens of thousands of items very quickly.

* Thumbnails and decorations are loaded on demand. This seems to be a big problem with Qt's iconviews, at least in 4.3.x. It's constantly querying the item's decoration role, (the icon), even if the item isn't visible. It doesn't matter what type of grid or modes you set.

* Looks very cool :)

Disadvantages:
* The fast layout is because it follows a grid, and I mean *really* follows a grid ;-) This means two lines of text per item max, the same width as the icon grid size. Anything more than that gets the (...).

* Currently no inline item text editing. I have mixed feelings about this. Without it you increase the size of an icon's clickable area by including the text, and since renaming is infrequent that's probably better, but I'll probably support it anyways because it's a nice thing to have. Something translucent ;-)

* Even though it uses KDirModel for the backend it doesn't inherit QAbstractItemView yet.

* Right now it uses a QWidget for the viewport but I'd like to switch this to QGraphicsView. Animations... :)

August 26, 2007 11:12 AM

Planet Asterisk

Voip-Info: Asterisk High Availability Solutions / foneBRIDGE2 setup [ID: 42797]

Hi I've published my Asterisk/foneBRIDGE2/heartbeat setup: config files, scripts... along with a brief description of the architecture and working of the cluster. It's available here: [http://www.bisente.com/blog/2007/08/26/asterisk-cluster-fonebridge2/?lan=english|Asterisk clusters with a foneBRIDGE2] Hope somebody finds it useful. :) Regards
bisente (Vicente Aguilar) at 2007-08-26 10:54

August 26, 2007 10:54 AM

Voip-Info: Redfone / foneBRIDGE2 setup [ID: 42796]

Hi I've published my Asterisk/foneBRIDGE2/heartbeat setup: config files, scripts... along with a brief description of the architecture and working of the cluster. It's available here: [http://www.bisente.com/blog/2007/08/26/asterisk-cluster-fonebridge2/?lan=english|Asterisk clusters with a foneBRIDGE2] Hope somebody finds it useful. :) Regards
bisente (Vicente Aguilar) at 2007-08-26 10:52

August 26, 2007 10:52 AM

Planet Debian

Andrew McMillan: I have finally chosen a new name: DAViCal

After much wading through possible names, none of which really excited me, I have finally chosen "DAViCal" as the new name for my CalDAV server that was previously called RSCDS, or the "Really Simple CalDAV Store".

In the end, I chose DAViCal because it:

That was about the hardest part of preparing for the 0.8.1 release, and now that I've done that I should manage to make the changes to the packaging, though I have no doubt that the old name will appear in all sorts of places for a while yet.

Choosing names is an important business, and I should know that from the length of time we spent agonising over names for our children, discarding all sorts of things because they had silly abbreviation collisions (like the "Royal Scottish Country Dance Society" :-) Even then, I think we got the kids names wrong, and the big one should be called "Thumper" with the little one called "Sly", but perhaps that's just a temporary annoyance and in time the names that we registered for them will fit them better.

I also recall Grant once saying that you should never use the word "Simple" in the name of your project, and he should know. DAViCal is no longer particularly simple, although I have attempted to hide the complexity from the user as far as that is possible, and will continue to do so.

Once I get out version 0.8.1 of DAViCal I will finally upload it to Debian, proper. This version has some important enhancements to its DAV spec compliance which are going to be needed by some future versions of Mozilla, and probably other things too, so it's important to push it out as soon as possible now.

August 26, 2007 10:35 AM

Planet Haskell

Manuel M T Chakravarty: Specialising Simulator Generators for High-Performance Monte-Carlo Methods.

Specialising Simulator Generators for High-Performance Monte-Carlo Methods.

New version of our paper on specialised and parallelised Monte-Carlo simulators with more details on the implementation of our simulator for polymerisation kinetics.

August 26, 2007 10:06 AM

Planet PHP

FrOSCon 07 - Kore Nordmann

I uploaded my slides on "PHPotter - Dooing magic with PHP" from this years amazing FrOSCon

August 26, 2007 09:59 AM

Planet Maemo

Phone?

For some years not I’ve been waiting for the mobile phonemultimedia computer you can’t phone with…

Reality Check comic for August 26, 2007

August 26, 2007 09:30 AM

Planet Debian

Russell Coker: Solar Hot Water - Not Expensive

The Australian has a new Environment writer named Matthew Warren who has a history of doing PR work for the coal industry. This has the potential for insightful articles based on knowledge of what the industry is doing or for PR work for the coal industry masquerading as journalism. Unfortunately it seems like the latter is what we are getting.

Matthew’s latest effort is an article claiming a $6.5 billion cost to home-owners because of an “effective ban” on electric hot water systems that Labor might impose. Unfortunately he doesn’t clearly state what an effective ban is, but does note that apartments are exempt.

The specific claim that is used as the basis for the article is that solar hot-water systems cost $2,800 more than electric systems, and that after the solar hot-water rebate ($1,000) the additional cost would be $650,000,000 per annum, and that a period of 10 years would be required to replace all hot-water systems thus giving a cost of $6,500,000,000. So I presume that he expects that there would be 650,000,000/1,800 hot water systems installed per year which would be about 361,111.

According to the Australian Bureau of Statistics there were 6,744,800 households in Australia in 2003. Matthew’s article states that about 40% of homes can have gas hot-water systems fitted that comply with the proposed new regulations, given that and the exemption for apartment buildings let’s assume for the sake of discussion that 50% of homes would require a solar hot-water system. Assuming that each household has a separate hot-water system that means that for these claims to hole we need an average expected lifetime for a hot water system of 6,744,800/2/361,111 = about 9.3 years. If the currently installed hot-water systems are expected to be replaced in 9.3 years then we can expect that hot water systems tend to survive for an average of about 18.6 years. I wonder if that number is correct (some google searching didn’t turn up an answer). One of the disadvantages of old-fashioned media is that they tend not to include calculations or cite sources adequately so we can’t easily verify or disprove their claims, I wonder if this is deliberate…

Matthew admits that using a solar hot water system can be expected to save households $300 per annum in electricity expenses, I presume that this is based on current energy prices and that the savings can therefore be expected to increase as energy prices increase (we have a lack of water which is increasing the cost of producing electricity from coal).

Let’s assume for the sake of discussion that the typical home-owner has a mortgage, the Commonwealth Bank is currently advertising mortgages with a rate of just over 8%, the way things work is that there are various criteria for getting a discount rate which most borrowers can meet so the result will be slightly below 8%. If a solar hot water system costs $1,800 extra to install and the money comes from a mortgage then every year it will cost the home owner about 8% of $1,800 which is about $144 (a saving of $156 per annum). If the solar hot water system saves the home owner $300 per annum then at any interest rate below 300/1800 (16.66%) they will make money.

If there was no government subsidy and the entire $2,800 extra was paid by the home owner then at 8% interest it will cost $224 per annum (a saving of $76 per annum) and the interest rate would need to increase to 300/2800 = 10.7% to make it break even.

So for solar hot water to not save the home-owner money we need to have a significant increase in interest rates (which incidentally would bankrupt many home owners), AND to have electricity prices remain the same (which would require even more of our tax money to be spent on supporting the coal industry).

Finally Matthew complains that the solar hot-water rebate could cost the government $4 billion over the course of the scheme (the next 10 years). This sounds like a lot of money until you think about the 9 billion dollars a year that the government spends on subsidies for the coal, oil, and gas industries! On the current course the government would spend 90 billion dollars of our tax money subsidising polluting industries that cause climate change, but Matthew opposes spending 4 billion subsidising technology that prevents pollution and reduces climate change.

August 26, 2007 09:00 AM

BlenderNation

Peach Workshop

Last week the Peach team got together in Amsterdam for a pre-production workshop. Ton has posted a nice write-up on the event on the Peach blog. You can find a couple of pics in the Media section. Of...

[read the full article on blendernation.com]

August 26, 2007 08:35 AM

Planet Debian

Mike Hommey: WebKit in unstable

Thanks to whoever ftp-master who did the review and approval, WebKit is now in unstable. It has not yet been built on all architectures, but several FTBFSes have already shown up :

I already fixed the arm issue in our git tree, but am waiting for the last buildds to keep up before uploading a new release, in case some other architecture would fail to build. I’d be very much thankful if some people with alpha, x86_64, ia64, mips, or powerpc machines could do some basic testing with /usr/lib/WebKit/GdkLauncher and /usr/lib/WebKit/QtLauncher and report any problem (BTS preferred).

Again, interested people are invited to subscribe to the pkg-webkit-maintainers mailing list.

August 26, 2007 08:22 AM

annodex.net - Open standards for annotating and indexing networked media.

Shane's presentation on Annodex for us in ethnographic research

I just found this: Shane gave a presentation in the ethnographic research community about the use of Annodex for fieldwork, archiving and retrieval called "The Annodex Platform" - the link has Shane's presentation slides and a mp3 file.

August 26, 2007 07:59 AM

Planet KDE

Benoit Jacob (bjacob): The long road to Eigen 2

It's funny how none of the existing libraries for vector and matrix math seems to do all what one might want. Each of these libs (Blitz++, MTL, LAPACK, GSL, TVMET, GMM++...) is specialized for certain needs. Usually, an app will choose the most suitable one for its needs, and be happy. But KDE is a huge meta-project with lots of sub-projects, so it has a very broad range of mathematical needs, which is not covered by any of the specialized libraries.

Writing from scratch such a general math library would take many man-years. However, what one can do is to merge existing libraries into a single one.

A killer feature that we absolutely want is expression templates. It's a strange C++ technique that allows to do things like a = b + c without paying the cost of having a temporary object allocated on the stack and then copied into a. Basically, it allows to use natural mathematical notation without any overhead. It even allows things like

matrix.row(i) += matrix.row(j)
which would be impossible otherwise.

The best expression templates for a matrix library are currently found in TVMET. Unfortunately, TVMET has been stagnant for 2 years and has been very little used by other projects, which is probably due to being too abstract, aiming too much for theoretical perfection.

For Eigen2, I decided to use TVMET as my starting point, instead of Eigen1. Of course, the contents of Eigen1 will be incorporated into Eigen2 as soon as possible. However, for now my work has been focused in shaping TVMET for my needs. I've converted it from autotools to CMake, and I've removed tons of stuff that I don't need, shrinking it down from 12000 to 7000 lines of code, and I've still room to shrink it further, and I've already added some good stuff from Eigen1, such as sane fuzzy comparisons. I'm currently porting the unit-tests from CPPUnit to QTestLib, and by the way I'm improving them a lot now that there are sane fuzzy comparisons.

What's next? Once I'll have fully reshaped TVMET and incorporated Eigen1 into it, I'll have a working Eigen2 for tiny (i.e. fixed-size) vectors and matrices. For dynamic-size objects, both dense and sparse, I'll wrap GMM++. In order to make this possible, the expression templates from TVMET will have to be adapted, as for instance loop unrolling will no longer be possible.

It's a very exciting project that is bound to fill a very bad gap in the current existing software. It requires only knowledge of pure C++, and vague notions of matrix mathematics. Your help is more than welcome, as there's a lot to do. So don't hesitate, join me: eigen at lists tuxfamily org.

August 26, 2007 07:52 AM

planet.freedesktop.org

Havoc Pennington: Money Math

While I'm on financial topics, if you don't know how to do "time value of money" math you should stop and learn about it right now. For all I know I'm the only person who didn't learn this in high school, but in case there's someone else, here's a blog post.

Because of inflation and ability to earn interest, a dollar today is not the same as a dollar next year. To compare two financial choices (say, renting a house vs. buying a house), you need to convert the choices to money at the same point in time, just as comparing two measurements requires them to be in the same units.

The buttons that make a calculator a financial calculator are the ones that let you convert any series of cash flows (money spent or earned) to the value of that series at a point in time.

The calculator buttons are:

A financial calculator can solve for any of these given the other four.

In a spreadsheet, there's a separate function depending on what you want to solve for. From the OpenOffice docs:

The "type" is 0 if PMT comes at the end of the periods, and 1 if it comes at the beginning.

Next time you have a financial decision, try to break it down into cash flows and you may find you can get a handle on it with these formulas.

Caveats:

August 26, 2007 07:45 AM

Planet Classpath

Casey Marshall: Stellaruim

If you don’t mind, I’ll gush briefly about Stellarium. It’s a free software, beautiful, cross-platform program for stargazing in real time.

August 26, 2007 07:42 AM

Planet Ruby

Ola Bini: On the road again...

Bangalore, India - here I come!

August 26, 2007 07:36 AM

unofficial planet python

Ted Leung on the Air: Scalability != concurrency

Sam Ruby is writing about Russell Beattie writing about Java and Erlang.

Russell thinks Java needs an overhaul. I think that Java has reached the point where technical, community, and business forces well exert pressure on the language to evolve in a uniformly bad manner.

Russell wrote:

The reason people are looking at Erlang is not because its beautiful syntax, great documentation, or up-to-date libraries. Trust me. It’s because the Erlang VM can run for long periods of time, scaling linearly across cores or processors filling the same niche that Java does right now on the server.

Actually, I am looking at Erlang as a solution for anywhere, (including the client) where concurrency will be an issue. By the way, it is not VM’s that scale linearly, but computational problems. And there are some problems which just can’t scale linearly, no matter what VM we put them on.

Sam goes on to make the point which is the title of this post.

Next, to dispel a few myths. Slashdot is written in Perl, seems to handle the load, and also seems to stay up. While there are a number of BitTorrent implementations, the original and (to the best of my knowledge) the most pervasive version is written in Python. Yahoo is a mix, but a good portion of it is written in PHP, with critical functions written in C. Twitter is written in Ruby, had early scalability issues, but seems to be past them. These are all examples of massively scalable applications.

Scalability is not the same thing as concurrency. It is certainly possible to scale a program written in any language - that’s a given. Especially when scaling = throwing more hardware at it. But there’s got to be a better way of doing it. Question is whether the better way is worth the price of admission.

But as far as Erlang vs Java, the real kicker is here:

Unlike the CLR which was designed to be multi-language, and unlike the JVM which is in the process of being repurposed to be multi-language also, Erlang’s VM is designed from the ground up assuming that objects typically are immutable and serializable.

Which is what makes the situation with Java so bad. Not only is the language bad, the VM is fatally flawed when it comes to actor style concurrency (which is why for all its niceties, Scala will suffer the same problems as Java). There’s a real problem here — ask yourself why there is a market for these things, if all that is needed is to throw even more boxes at the problem.

In the comments, Sam wrote;

The biggest problem I have with Erlang is clearly an addressable one: the documentation of the libraries, and the lack of good samples that can be quickly found by Google/MSN-Live/Yahoo!/Ask searches. And many of the libraries appear to be abandoned at 0.n versions.

This is actually 2 problems. There’s the issue with the libraries, and there’s the issue with the community that did/didn’t produce the libraries. We don’t just need a technology, we need a community. Hmm, Erlang lab, anyone?

August 26, 2007 07:22 AM

Planet Debian

Cameron Dale: DebTorrent Usage: details of a successful dist-upgrade

I just completed a very successful and long overdue dist-upgrade of my unstable machine, using mainly DebTorrent for downloading the packages, so I thought I'd post some of my thoughts and experiences.

The download consisted of 1294 packages to upgrade, totalling 1350 MB and taking 2h12m to download. Here are some of the good and bad things I observed.

Good things

There was a single other peer with me in the same torrent, and I managed to download 182 MB from him, which is about 13.5% of the total download. This is the first time I have noticed this downloading from peers occurring, as usually there are too few peers, too many torrents and too many possible packages to download for any sharing to occur. This will hopefully change in the future when more people start using DebTorrent, and when unique piece numbers are introduced to make the torrents last longer. However, it does show how the use of the backup HTTP downloader can seamlessly integrate with downloading from peers to provide a good user experience, even for early adopters.

The CPU time used was only 10m46s, which translates to an average CPU usage of 8%, which is very reasonable.

The average download speed was 174 KB/s, which is 58% of my maximum download speed. Though this may seem like a bad thing, my goal all along has been to make sure that the download time would not be more than twice as long as using HTTP. Of course, using DebTorrent may never be as fast as a straight HTTP download from a well-provisioned server, but that it not the point. The idea is to reduce the bandwidth needs of hosting a debian archive. But in the future, when there are many peers in a single torrent the download speed may be even faster than using HTTP, especially for peers with very high download rates that could not be matched by a single server.

Things that need improvement

The completion percentage reported by APT during the download was fairly inaccurate. Here are some sample readings I noted, compared with the actual completion percentage from the DebTorrent status page:

APT Reports Actual Completion
10% 40%
20% 70%
30% 85%
40% 90%
50% 93%
60% 96%
70% 97.5%
80% 98%
90% 99%

The discrepancy occurs because larger packages are broken up into pieces, so they can be partially downloaded without APT knowing about it (since only fully downloaded packages are passed to APT). Clearly this situation is far from ideal, and can lead to the user feeling that the download is progressing very slowly, or not at all. There are some plans to add status updates to the communication between APT and the DebTorrent client, but they require changes to the APT code to support them, so it may take some time to implement.

Another problem is the memory usage I saw during the download, which was approximately 213 MB. This is obviously unnecessarily large, though the metainfo that DebTorrent needs to be aware of is quite large (stored in a text file it is about 3 MB). There does seem to be a memory allocation bug in Python 2.4 which causes increased memory usage, so moving to python 2.5 might help. However, my preliminary tests show this only saves you about 20% for DebTorrent. I think I will have to delve deeper into which parts are using all this memory, and unfortunately python doesn't seem to have a good memory profiler to help with this. I will be looking at both PySizer and Guppy/Heapy to start, but if anyone knows of a better solution, please let me know.

August 26, 2007 07:17 AM

Monologue

Codice Software: New tree 3D layout

The team have been working on the new layout algorithm for the plastic 3D tree. With long revision histories the tree currently has a cone-like behaviour, so it gets wider close to the end, which makes it more difficult to understand.
So they changed the algorithm to use some sort of espiral layout: branches are distributed spacially following an spiral-like path, which is restarted from the center of the tree on each loop to save space.
Daniel also asked to add (finally, because it is a long awaited feature) revision and branch location functionality. Date filtering has also been implemented: now you can select a date range and only the revisions in between will be created.
The new tree 3D will be integrated in BL067 and will be released together with plastic 2.0. I guess the GUI folks at Codice will first clean up the looks a little bit :-) but the new utilities will be there. Watch a preview at Codice's YouTube channel:

P.S: last friday one of the GUI 2.0 preview screencasts reached the list of the most viewed YouTube videos in Spain... among a huge amount of fútbol (soccer) material... :-)

August 26, 2007 07:08 AM

planet.freedesktop.org

Havoc Pennington: Investment Perspective

This week's Fortune magazine has a scary black cover and says "Market Shock 2007." The market drop was 10%! Not very large in historical terms, and it comes after a huge gain. But from the news (in Fortune and almost everywhere else) it sounds like we should be freaking out.

I thought I'd post the point of view I find helpful when making personal investment decisions and trying to keep perspective. If you are averse to reading about financial stuff, stop reading. Like most of my points of view, this one is really lengthy.

Disclaimer: this is not investment advice for your personal situation, and if you plan your finances around what you read on a software developer's random Internet blog post you deserve what you get. Do your own research. You have been warned.

That said, here are some thoughts, and then some elaborations.

I'll elaborate on some of these points.

First, investing probably isn't the most important financial concern for you. Attempts to get abnormally high investment performance are even less important.

Lots of media articles are about beating the market. But beating the market is a dumb goal most of the time.

Unless you have an awful lot of money to work with, beating the market on a consistent basis by 1% (very hard) or 5% (virtually impossible) will still add up to much less than, say, a 5% raise in salary. If you focused on a career change or a promotion, you could probably get 20% more. Do the math. You're better off worrying about your career - or starting a business - if your goal is to become dramatically richer.

Aside from the income you earn through work, some other important non-investing finance topics to worry about include: 1) having proper insurance (long-term disability, life, health, liability/umbrella, etc.) 2) running a budget surplus 3) having an emergency fund 4) taxes 5) having a will and power of attorney. All those areas probably matter more than an extra couple percent over the market. Here is a sensible book on all that. Or ask for help from someone who charges an hourly fee instead of commissions.

Second, unlike beating the market, investment risk does matter, and you need to worry about investing at least enough to fully understand the risks you are taking on and why.

If you need the money in a year and stocks drop 20%, you are screwed, even if you "beat the market" by 5% since the market dropped 25%. Or if you really can't deal emotionally with a 50% drop (I know I can't), but you take that risk anyway, then even with a longer time horizon you'll experience plenty of angst that keeps you from focusing on more worthwhile activities.

Here's what you should spend time on: have a solid investment policy that you know is right for you and that you understand. Know when you need the money, and choose appropriate investments for the time horizon.

Choosing a stock or fund that beats the market by 2% won't do a lot to change your life. Choosing an appropriate investment policy, however, makes a very big difference.

Once you have a budget surplus so you're saving enough, the most important investment policy decision by far is simply how much in stocks, how much in bonds or cash. 80/20, 60/40, etc. You should spend as much time on this decision as you need to be 100% comfortable with it, then forget about your investments until you need the money.

Benjamin Graham has a quote I keep at the top of my investment policy:

An investment operation is one which, upon thorough analysis, promises safety of principal and an adequate return.

He defines the terms like so:

My personal risk tolerance is low. I am comfortable taking moderate, informed risks after reading a lot and feeling I have a very good understanding of what I'm getting into.

But this is a personal thing. The luckiest people are comfortable taking sensible risks without having to spend a lot of time reading, and so they can get on with their life. Other people are most unhappy if they miss out on big gains, and don't mind losing money as long as everyone else is losing money too. And of course circumstances vary - maybe you need college tuition next year, maybe you don't need the money until you retire in 40 years.

You have to make a personal, informed decision. Don't let anyone else do it for you or tell you what you should think.

But do try to vividly imagine what it would feel like to experience the investment losses you sign up for. If you see on vanguard.com that your plan could lose 40% in a year, then do the math: multiply 40% by your investment balance and write that number down and imagine losing it overnight.

Third, the stock market is not just a random bouncing number; over the long term it does relate to "fundamentals" (real economic forces).

(Here we get into my personal need to study the risk in detail before investing. If you have no such need you may want to skip the rest of this post.)

The premise of every (sane) investing strategy is that over the long term - and that means at least 10 and more like 20-30 years - on average stock market performance will reflect economic growth, and historically economic growth has been positive, in countries with no major crises. The market reflects economic growth because individual stocks reflect the value of businesses, and businesses have a value because they make money and their owners get the money they make.

Without this premise, index investing won't work, value investing won't work, basically nothing would work reliably and investing in stocks would amount to gambling.

With this premise, there's a long-term upward trend line (fundamental value), and the market's current price bounces around it.

You probably know about the "random walk" concept, that the return on the market tomorrow is random and unpredictable, given conditions today. This is absolutely true over short timeframes, like a day or even a year. But as far as I know, the theory is not intended to imply that investment returns are truly random over the long term. Investing would make no sense if returns were random over 30 years.

Reasonable investment strategies assume that there is a trend upward, on average. This upward trend happens because stocks represent something of actual value, the value increases over time due to economic growth, and the value is roughly measurable.

(This is not a given. Commodities, for example, do not trend upward on average, after inflation - they are just random bouncing numbers. Unlike stocks, there's no fundamental reason pork bellies or metals would be worth more in ten years than they are today, other than inflation. Oddly, commodities can still be worth investing in, but only in small doses combined with something that goes up, like stocks.)

Fourth, if we are willing to assume there's a long-term upward trend, there are a number of investment strategies that should reflect this trend and produce gains on average over time.

What these strategies have in common is that they work for a reason, due to economic growth, businesses producing cash profits, and just plain math. They aren't "magic."

The simplest strategy is to buy a passive index fund and wait. Over 30 years, the bouncing around the trend line doesn't matter.

It can matter a lot over shorter timeframes, though. Say you bought at the 2000 peak, you made zero dollars since then, 7 years later. And 7 years later things are still overpriced. (That's how insane the tech bubble was. Ouch.)

Some minor elaboration helps a lot. The two elaborations most people use are dollar cost averaging and asset class diversification (combined with periodic rebalancing). Both of these reduce vulnerability to market fluctuations.

A more complex elaboration that sells more when the market is above the trend and buys more when it's below is value averaging.

Sensible active management strategies work too.

Graham/Buffett style value investing follows a discipline that hopes to earn something close to the long-term upward trend, on average, over time. But it can lead to very different behavior from the market as a whole in the short term, for example many managers using this discipline missed out on most tech bubble gains and then also missed out on most tech bubble losses.

John Hussman's fund, which I mentioned earlier, uses analysis based on historical statistics to vary the amount of market risk taken from 0% to 150%, where at 0% money market returns are expected. This fund would have been painful to own the last three years, since it's earned about 5%. But then again, it destroyed the index in 2001 and 2002. The fund's record is too short to feel completely confident it will have long-term returns in the same range as an index fund, but the strategy does make sense and "should work" based on history, in the same sense that index and value investing "should work."

It's controversial whether these strategies are worth it vs. an index fund, since it isn't clear these strategies can beat the market.

My opinion: the value of an actively-managed fund comes primarily from risk control, and from the psychological knowledge that if there's another tech bubble (or mortgage bubble), there will be some stuff in my portfolio that isn't tangled up in it. I would generally expect the actively-managed funds I like to lag a bull market and do better in a bear market, but the purpose of investing in them (for me) is not to beat the market overall.

Vanguard suggests 50% in actively-managed funds and 50% in index funds and that's what I use.

Tangents aside, the point is: sensible strategies are based on the premise that there is a "fundamental value" - an economic reason that investments will grow. This fundamental value can be captured "actively" or "passively," but any strategy without a basis in fundamentals is junk. Or at least too risky for me.

Fifth, sensible investment strategies avoid predicting the future.

Strategies that work reliably make the minimum prediction: that fundamental value will grow over the decades, roughly resembling historical experience. Then they have a discipline which still works even if nothing else is predictable. They can handle "statistically impossible" events like the tech bubble or the 1987 crash and come out OK, because they did not rely on predicting those events.

Nassim Nicholas Taleb has a very interesting book about how unpredictable the world is. He isn't even willing to rely on fundamental economic value growing over time, preferring to invest mostly in cash. I don't see the need to go that far - to hedge the apocalypse, buy food and guns, forget about stocks. (The range of future situations where stocks are permanently worthless but T-bills remain valuable seems small to me.)

Nonetheless, I like Taleb's argument that nobody can predict any complex event. And successful investors like Buffett make a point of not trying to, using primarily past events - proven profits and current prices - as input to their decisions.

Hussman emphasizes this point over and over as well, for example:

Frankly, I don't know whether investors will drive the market even higher in the weeks ahead. My opinion is that whatever gains emerge (and indeed, much of what has already emerged) will ultimately prove quite temporary. What I do know is that certain factors have reliably identified egregiously bad times to accept market risk, and that every historical instance similar to the present has been a disaster. The current instance may very well prove to be the exception, but I do not invest shareholder assets on the hope that the future will be entirely at odds with all available historical evidence.

Passive indexing, value averaging, and rebalancing are all based on this same premise: they are systematic approaches that on average are helpful, according to historical experience. In any given instance, if you could predict future price movements, you could do better than these strategies. But you can't predict.

This is why it's solid advice to "buy and hold" and "don't time the market."

I'm very skeptical of mutual funds that are based on predictions, such as macro economic analysis or guessing at which companies will have the hot new technology. Nobody can consistently get those predictions right, or at least I can't tell which fund managers have this superpower.

Sixth: If you believe my first five points, and chose your investment policy well to reflect your goals and risks, you have no reason to worry about anything you read in the media.

To prove the point, let's split the media into two categories.

Category One is made up of people who agree in broad outline with a couple of my points here: that investing is about capturing a long-term increase in fundamental economic value, and that nobody can consistently predict the future.

Category Two is made up of short-term traders, numerologists, economists, and the like - all trying to predict the future, or even worse, the short-term future of market prices.

If you read Category One pundits, many are arguing that the market is overpriced. I quoted some of them at the start of this post.

However, you, like them, should already have a disciplined plan that produces adequate return, with acceptable risk, even if the market is overpriced sometimes and underpriced sometimes. You don't need to know the market price next week or next year. Because nobody can predict the future, there is nothing to do except stick to the disciplined plan.

Sure, if there's a true apocalypse or a government coup, you are screwed. But like I said, if that keeps you up at night, buy some guns and food to hedge your stocks.

You can ignore Category One commentators, or treat them as interesting but not worrying, because you're already prepared. Your investment strategy may already include adjustments to changing market prices, through averaging or hedging or allocation; or it may not; but in any case you've already planned for market prices to fluctuate and know what action to take (if any), or know what action your fund managers will take. The actions you've planned will give you the right risk and return over time.

You can ignore Category Two punditry because it's meaningless garbage. Nobody in Category Two ever relates what they say to a sensible investment strategy, or spells out the long-term statistics that back up their points. They're a lot like news anchors who report on politics "horse race" style, focused on polls, and never analyze the substantive policy issues the elections are supposed to be about.

A month ago, there were two popular media claims about why the market would keep going up. The first was "liquidity" and the other was "the forward P/E ratio is in line with historical averages."

Impressive-sounding comments, but meaningless for investing.

"Liquidity" is a short-term (and hand-wavy) property of the market. The historical average return for stocks covers many periods where liquidity came and went. If you say stocks can be priced more highly when liquidity is favorable, you're assuming that liquidity will stay favorable permanently (or that you can "get out" in time if it doesn't and "get back in" at the right time after you get out). The last month is a good demonstration that liquidity won't stay favorable forever.

The price/earnings argument is bogus in two ways. First, it uses the so-called "Fed Model" to argue that because interest rates are low now, stocks are worth more. (Hussman argues that historical statistics don't support this.) Like the liquidity argument, this assumes that either rates will stay low or that you can get out and back in if they rise, neither of which has to be true.

Second, the price/earnings argument ignores the business cycle. Profit margins go up and down over time. Like liquidity and interest rates, earnings can and probably will become much worse at certain times and you will not be able to market time when it happens. If (for example) all this housing turmoil creates a recession, earnings will go down, and if the price/earnings ratio stays constant, prices will go down too.

Right now, profit margins are at a record high. The price/earnings ratio is average, but if you change the profit margins to also be average, the price/earnings ratio is very high.

So in early July, liquidity was good, earnings were at record highs, and the 10-year Treasury had a low-ish rate. Several favorable signs.

Investing based on this information is like saying "I don't need to own an umbrella because it's not raining right this minute." When people who believe in long-term fundamental value say stocks are overpriced, what they mean is that among other risks, liquidity could dry up, profit margins will go down eventually, and interest rates could rise. And the risk of those things happening means that on average, stocks are likely to go down again. Good conditions don't continue unbroken for 30 years.

I like to read Category One media sources to keep myself from believing in Category Two media sources. Category One is good at emphasizing that Category Two can't predict the future and has no sensible long-term strategy. Here are some sources I like:

Sensible, fundamentals-based commentary keeps the focus on risk, not return.

Again, never understand anyone's opinion as a prediction. It is never appropriate to try to "get in" or "get out" of the stock market, based on today's commentary or an emotional feeling. Only systematic disciplines have a good chance of working.

There is no way anyone will read this post to this point, but if you did, I hope you found some part of it helpful.


[1] A caveat about Morningstar: they are best known for the star ratings for funds, which in my opinion are useless and often a recipe for performance-chasing. However, their "analyst picks" and qualitative fund writeups are very good, and they also do fundamental analysis of many individual stocks, allowing them to analyze the whole market by combining all the bottom-up analyses together. You have to buy Morningstar Premium to get at some of the more useful content.

August 26, 2007 07:00 AM

Planet Haskell

Tom Moertel: R tips and tricks: Producing smooth bitmap plots

The R statistics system can produce first-class data visualizations, commonly known as plots. Internally, plots are represented in an abstract graphics format that can be rendered on any of R’s wide range of graphics “devices” to produce concrete output – windows, bitmap files, PostScript files, PDF files, and others.

The bitmap formats, such as PNG, are preferred for posting plots online because of their widespread support by web browsers. The default bitmap-rendering devices in R, unfortunately, produce graphics that look a little too “bitmapped” for modern web tastes. Here, for example, is a plot rendered by R’s “png” device:

Plot rendered via R's PNG device

There’s nothing technically wrong with the plot, but it looks out of place on a web page. That’s because modern web browsers use font-smoothing and anti-aliasing techniques to render just about everything else on the page. Against this clean, un-jagged backdrop, the oh-so-bitmapped plot looks like a throwback to a previous era.

Happily, we can produce clean, anti-aliased R plots with a little help. Here’s the earlier plot, anti-aliased:

Plot rendered via R's PDF device, then post-processed

To produce the anti-aliased plot, I used R to produce a PDF file. Then I rendered the PDF file into a PNG image at 300 dpi using Ghostscript. Finally, I scaled the 300-dpi image down to screen resolution, producing a high-quality, anti-aliased result.

Here’s the recipe in detail.

First, I define an R function called pdfit that takes an abstract graphics object and makes a PDF-file rendering of it, using my preferred graphics-device settings:

require("lattice")

pdfit <- function(f, ...) {
  trellis.device(dev=pdf, theme="col.whitebg", ...);
  print(f);
  dev.off()
}

Then, when I create a plot I want to publish, I use pdfit to render it into a PDF file:

P.img <- xyplot( subs.low + subs.high ~ date, ... )

pdfit(P.img, file="image-downloads.pdf")  # render plot into PDF file

Finally, I use Ghostscript and ImageMagick to convert the PDF file into a high-quality, anti-aliased PNG file. (I keep both formats: the PDF file is best for publishing in printed papers, and the PNG file is best for posting online.) I use a simple Makefile to automate the process of converting the PDF files into PNG files:

# Makefile (GNU make)

pdfs := $(wildcard *.pdf)
pngs := $(pdfs:.pdf=.png)

all: $(pngs)
.PHONY: all

%.png: %.pdf
    gs -dSAFTER -dBATCH -dNOPAUSE -sDEVICE=png16m \
       -dGraphicsAlphaBits=4 -dTextAlphaBits=4 -r300 \
       -dBackgroundColor='16#ffffff' \
       -sOutputFile=$@ > /dev/null \
       $< && \
    mogrify -resize 500 $@

With this Makefile in my graphics directory, just a single “make” command is all it takes to convert my PDF images into anti-aliased PNG files, ready to post online.

And that’s it.

Do you have any tips or tricks for making good-looking graphics with R? If so, please do share.

Update: There is one downside to the sexy, anti-aliased plots: they are not as compressible as the old-style jagged plots. For the images above, for instance, the anti-aliased PNG file weighs in at 45 KB, but the original PNG file is a feathery 4.7 KB. So, if bandwidth is precious to you – or you’re planning on getting Slashdotted – you might want to stick with the jaggies.

August 26, 2007 06:37 AM

Planet Scheme

Dominique Boucher: Gambit-C 4.0 released

Gambit-C 4.0.0 has finally been released. Its website has also been revamped, and is powered by MediaWiki.

This release is a very good step forward, in terms of community support. At last, Marc got it right this time. Welcome to the open-source world, Marc! What we really need now is a whole set of useful libraries to help the Gambit-C community grow and not reinvent the wheel for each new application.

As users of open-source software, we should all give back to the community.

August 26, 2007 06:15 AM

Planet Smalltalk

Is this college mathematics?

Take a look: multiplication tables linked at a page mentioning courses such as "college" algebra.

You have to be so much kidding man. Multiplication tables with suggestions such as "you should memorize the gray area" and "remember 0 x anything = 0", with the official stamp of a college. College, you know? That place where people go after attending high school, which is where they go after attending grade school, which is where they learn how to multiply?

But there it is, it's reality. Shameful as this is, it's the mirror that shows us for who we are.

So... why do we even think we are prepared to discuss pretty much anything now? Seriously: what does it mean when people say "25% of 600,000 bridges carry more weight than they're designed to hold"?

You better be able to answer those questions properly whether you like mathematics or not. Or do you want to be dead now?

August 26, 2007 06:10 AM

Planet XML

Heard in Conversation

We were talking about how to publish something or other, and Lauren said “Well, if there’s a Facebook app for that, there’ll be a WordPress plug-in, too”. Sounds about right.

August 26, 2007 05:08 AM

Planet Ubuntu

Debian Package of the Day: IPTraf, a ncurses based LAN monitor

Entry submitted by Bart Veraart. DPOTD needs your help, please contribute!

Sometimes you just want to see what connections your machine is making to the outside world and what ports it’s using. While wireshark and tcpdump are really nice for inspecting detailed package contents. IPTraf is really about connections and interface statistics. Because iptraf is based on ncurses the program can be run from a text-console and still have a (primitive) `gui`. Navigation through the menus can be done using your arrow keys. Most of the time all the available options and their keys are shown on the bottomline of the sreen.

Starting up

By default the program is not accessible by ‘normal’ users so you’ll need root access. Also iptraf can put your interfaces in promiscuous mode (this will probably show up in your logfiles as: ‘device eth0 entered promiscuous mode’). Promiscuous mode can be turned off and on in the configuration menu. If no options are given through the commandline iptraf starts up with a splashscreen and then a menu. Some of the menuitems can be reached directly from the commandline (try using ‘iptraf -i all’ if you want to startup in IP traffic monitoring mode).

Configuration

There are some configuration options you might want to check. Turning on reverse DNS Lookups and service names comes in handy when using the IP traffic monitor. Iptraf comes with a separate reverse lookup server -rvnamed- wich is only started and used by iptraf to keep it from hanging on slow lookups. If there’s a lot of network traffic on your box try applying some filters.

Filtering

Filters can be useful if you only want to see info about traffic on certain connections, ports and/or protocols. Filters can be saved, deleted and edited. Multiple rules can be defined.

Screenshots

(Click on the image to enlarge)

Connections Configuration Filters Interface statistics
Connections

More information

IPTraf has been available since ages ago in both Debian and Ubuntu.

August 26, 2007 05:00 AM

Planet OpenID

Kaliya Hamlin: In the Desert for a Week: Back after Labo(u)r Day.

I have been fairly quite here for a few weeks. Just toddling along at summer. I have spent the last few weeks getting ready for Burning Man. I made a sculpture about 3′x4′ that looks like this.

I am leaving within hours. It should be great - I will be at 9:00 and Jungle in Sustainabiliaville.

August 26, 2007 04:59 AM

Kaliya Hamlin: Thoughts on Community Engagement

A few days ago David sent me a link to his post responding to Stefan’s (very long) slam of OpenID. He did a great job articulating how many of those who have been critical of flaws in OpenID have been actively engaged with the community in finding solutions to the problems.

From Gnomedex one of the things I came away with was a deepened appreciation of the community that we have in technology generally and identity in particular. There are a lot of smart, good people working together despite our different personal world views, personal quirks technology backgrounds and visions for the future of the technology.

There are a lot of different perspectives in the social networking datasharing space. Marc Canter called the Data Sharing Summit to figure it out - face-to-face. (I raised my hand and said I would help facilitate). It is going to be Sept 7-8 in Richmond CA (Bay Area). Face-to-Face for a day can be like 6 months on a mailing list. It is invaluable and the text dialogue afterwards is improved in quality and effectiveness.

Ok back to Stefan:

Personally, I can’t be bothered much with a sign-on system for blog comments and social networks, but if it makes other people happy, great.

In fact social uses of persistent identity are actually interesting and just dismissing it as pithy isn’t really productive.

OpenID is a starter way to for websites to start using identity tools for people. Thousands of websites have adopted it - cause it is easy to do and it works. You could get up and praise OpenID for existing cause it is warming all those Relying Party sites to the idea there are identity tools and services they can offer to their user-bases. The challenge that Stefan and everyone else has with more complex visions of how things could/should work is how do you make it ‘easy’ - both for users and developers.

I think nuances that Stefan articulates are really important.

“selective disclosure, authenticated anonymity and pseudonymity (possibly with revocation capabilities), improve availability, enable privilege and entitlement management, and provide security against insider attacks originating from the Identity Provider,”

These need answers and they are not going to come from one company with one solution alone. Community engagement is needed - so I encourage all to put your solutions into the mix and lets see if we can figure this out.

It would be very worrisome to me, however, if a URL-based system (whether OpenID or a variant) would become the basis for “serious” identity and access management applications such as e-commerce, e-health, e-government, general credential systems, and so forth.

Your challenge is that people (consumers, business people, legislators) can readily comprehend identifier system that work like this. If you and others don’t want the world to work like this then it is up to you to figure out how you explain complex math in a way that doesn’t go into the detail but just explains it in a way that ‘makes sense.’ I have had the luxury of sitting down a few times and listening to you explain ‘how the math works’ and it still seems a bit ‘mind boggling’ but “I trust you” - basically it is where peoples trust lies…is it in ‘human’ trust (my openID provider isn’t going to take my password and log into places for me) or is it in ‘math trust’ (these really smart guys have these groovy algorithms that mean only “I” can access my stuff and I can share information with them without really telling them who I am). I hope the latter can work - that the systems can evolve and people will “get” them. However it is a communication challenge and an adoption challenge that is not easy.

I have encouraged Stefan to come to community events many times. . I do hope he takes up my invitation to come to the Internet Identity Workshop December 3-5. I hope you will all encourage him too.

August 26, 2007 04:58 AM

unofficial planet python

Richard Jones' Stuff: PyWeek: one week away!

PyWeek theme voting has begun, so we're only a week away from the start now. Sign up, join the fun!

August 26, 2007 04:22 AM

Planet Ubuntu

Martin Meredith: Giggle of the Day 26/08

http://www.myextralife.com/archive.php?date=2007-08-25

 

So, am off down to reading today to hopefully sort out a new place to live when I move down there. Should be interestin, but it’s a long drive!

August 26, 2007 04:18 AM

Planet OpenOffice.org - Developer News

IssueZilla: New issues: Sun Aug 26 03:43:01 UTC 2007

#i81029# - sw: Broken display of some characters after adding combining diacritical marks
#i81030# - sw: LanguageTool 0.9 Problems

August 26, 2007 03:43 AM

Planet GNOME

Thomas Thurman: Things Rio said today

Marn: Do you think the word "serendipity" is a good word?
Rio: What does it mean?
Marn: It means you were looking for something, and suddenly, you find something else.
Rio: Like you were looking for two things and found one of them?
Marn: No, the other thing is something you weren't looking for. Like if you were looking for your bathing suit today and instead you found a magic piece of glass in which were reflected all the wonders of the world.
Rio: Daddy, that's called a "mirror".

***

Marn: One of my favourite poets is called Walter de la Mare. He wrote a book of poems I loved as a child called Secret Laughter. Do you have any poems you like?
Rio: Yes, I like one called "Shall I compare thee to a summer's day?"
Marn: Do you know, I really wasn't expecting you to say that.

***

Rio: I think that any word that exists in American English probably has a word in Welsh that means the same thing.
Marn: Well, maybe so. But there are words in Welsh that don't have equivalents in English, anyway-- like "hiraeth".
Rio: What does that mean?
Marn: Like if you knew a place or a person and saw them every day and loved them very much, and then you moved away and didn't see them any more, but you longed to see them every day and it ate away at you and made you sad... that would be hiraeth.
Rio: I would call that "depression". Or maybe "long-distance relationship".

August 26, 2007 03:28 AM

Planet XML

NASDAQ: JAVA

Wow, they switched the ticker. It will be little surprise to hear that the internal conversation has been sustained and loud. While there have been negatives along the lines of “OMG WTF PHB!?!?”, most of the internal talk has echoed what they’re saying out in the blogosphere. I’d like to add a couple of points I haven’t seen elsewhere, one each on the pro and con side.

My own take? I hate it. But that’s mostly because I’m a search guy. SUNW was a 4-character (32-bit!) identifier, unique in just about any context, meaning, “The publicly-traded equity of Sun Microsystems, Inc.” Such a token seems precious to me. Now, our best equivalent is “NASDAQ:JAVA”. Which will be perfectly effective in the hands of financial professionals, but some Technorati and Googleblogs feeds just became much less effective, I think.

On the positive side, I’d like to quote Pat Patterson, from an internal mailing list:

It’s no bad thing for every business/financial report on the company to contain the string “Sun Microsystems, Inc. (NASDAQ: JAVA)” rather than “Sun Microsystems, Inc. (NASDAQ: SUNW)”.

Yep.

August 26, 2007 03:10 AM

Planet Ruby

Charles Oliver Nutter: JRuby 1.0.1 and Jython 2.2 Released

I'm in the airport, but I wanted to add to the blogs reporting that JRuby 1.0.1 and Jython 2.2 have been released.

JRuby 1.0.1 is basically just a maintenance release to 1.0. It includes various compatibility fixes that have filtered in since the release, and doesn't do much to improve performance. JRuby 1.1 will come out by November, and should have all the latest research and perf work, including a complete compiler to JVM bytecode.

Jython 2.2 is much bigger news. After years of sleepily crawling along, the 2.2 release of Jython has finally been released. With 2.2 behind them, the Jython team can now be more ambitious about adding Python 2.3, 2.4, and 2.5 features. Much of that work has already started. Also coming up is a new JVM bytecode compiler. If you're a Python guy, give Jython a try today...those guys have put a lot of time and effort in.

I also understand that Groovy is supposed to have their 1.1 release out some time in October. Happy times for dynlangs on the JVM!

August 26, 2007 02:51 AM

Planet GNOME

Glynn Foster: Fermentation proceeding nicely

In the fine tradition of YouTube, I’ve uploaded a status report.

Unsurprisingly enough, there’s a few better examples of people explaining the process of brewing beer on YouTube.

August 26, 2007 02:38 AM

Planet Gentoo

Joshua Jackson: Crazy Month

Its been a crazy month for me… but I am getting into a flow with it. Mostly the crazyness has been caused by work, which I have to say I’m really enjoying and feel like I’m able to bring a lot of the skills I’ve acquired to use everyday. As a continuation of that little bit of crazyness, I’m going to Germany for business. Doesn’t this sound familar? I’ll be there from Monday til Friday. So I’ll be semi MIA during that time.

With Gentoo, my production has dropped in most regards however I’m still active and responding to queries and helping people out that way. X86 continues to plug along working quite well as a team. Probably the most success I’d have to say I’ve personally had in Gentoo. This is due in large part to the Arch Tester program, who it seems to turn out some of the better developers as far as just getting stuff done goes. Many of which have remained on the x86 team after becoming full developers. A few remain arch testers and that’s as far as they want to go and its great to have them as the ranks shrink when we have one become a developer.

Lately, I’ve seen quite a few people come to me asking about joining the x86 team and marking stuff stable. Its a nice sign that people want to join the project/group. With a solid core it continues to in my biased opinion be one of the best archs for stability in the general. Its been a long road but one that I think everyone has received benefit from it. Although, I don’t visit the forums much but I remember when I first joined as a developer. Stable was more or less a joke. There were so many threads about it breaking. Now I at least hope there are few and those are far between. Its one of the things that I can hold onto as a positive influence that I’ve been part of in the organization as a whole.

See everyone in a week.

August 26, 2007 02:33 AM

unofficial planet python

Kumar McMillian: GTAC Highlights Part 1 - Selenium is Alive and Well, Model Based Testing Is Smart, And...

I just got back from the GTAC (Google Test Automation Conference) in New York and had a great time. It spanned 2 days and had a single track — this made it very laid back (no headaches trying to decide what talk to attend) and the timing was perfect. Especially since my traveling managed to dodge one of the worst summer storm systems to hit Chicago in at least a decade!.

I've put together some highlights using the notes I took at each talk. Please bear in mind that this is not a comprehensive report on the conference and may contain misinformation (feel free to comment with corrections). The Google folk did an impressive job of posting video of most talks online within hours. A youtube search for GTAC lists them all. Or ... you can watch them from a playlist

Allen Hutchison - First Principles

Patrick Copeland - Keynote

Simon Stewart - Web Driver for Java

Ryan Gerard and Ramya Venkataramu on Test Hygiene

Matt Heusser & Sean McMillan - Interaction Based Testing

Adam Porter & Atif Memon - Skoll DCQAS

Apple Chow & Santiago Etchebehere - Building an Automated Framework Around Selenium

Doug Sellers - CustomInk Domain Specific Language for automating an AJAX based application

Risto Kumplainin - Automated testing for F-Secure's Linux/UNIX Anti-Virus products

Jennifer Bevan & Jason Huggins - Extending Selenium With Grid Computing

That's all I have time for at the moment. Check back for Part 2 - coming soon!

August 26, 2007 02:31 AM

Jesse Noller: More on Typing

Another interesting article on Types and Typing: "Stop Sitting On The Type Fence" - it makes several good points about language evolution, and about both the static and dynamic camps. I did love this quote, as it pointed out the link between mathematical thinking and static types.

So static typing isn't just about making sure that you don't add two credit card numbers together, it's about expressing code as close as possibly to mathematics. Mathematicians tend to be very good at reducing problems to their smallest representations, and coming up with very general solutions, so there can be no doubt that this approach will (and already has) produced amazing results.

p.s.: I still don't like lambdas: write a function!

August 26, 2007 01:20 AM

Planet KDE

Sebastian Pipping (sping): Kate can do Searching!

Two weeks have passed since I last showed pictures of a possible future of the searching experience with KatePart, and thus Kate, KWrite and friends.

Since then progress has been made: Florian Grässle of OpenUsability strongly improved my original dialog drafts and I started implementing the improved dialog mockups. What you can see below are actual screenshots of Kate from the Subversion trunk.

Incremental search bar:

Power search and replace bar:
There is still more code to write and bugs to fix but the basic functionality is there. That plus previously missing features like support for

That’s it for now, please don’t beat me if I should miss a bug :-)

August 26, 2007 12:47 AM

Monologue

Patrick van Staveren: Storm carnage?

So I finally got my power turned back on tonight a bit after 6:00…have been without since Thursday afternoon.  Only really frustrating part was throwing out a lot of good food.  Hardest part was trying to figure out what to do with myself having no computers/internet other than my N770 on GPRS.  Mostly looking forward [...]

August 26, 2007 12:42 AM

Planet GNOME

Chris Lord: Introducing: JanaGtkEventList

Another libjana-related blog post... I've just finished a bit of work on the event-list widget. Most importantly, I just added a utility in libjana that generates a list of all the durations an event has, split across days (theoretically taking into account recurrences and exceptions, but that's unimplemented at the moment). Adding support into JanaGtkEventStore was a bit tedious, but now the event viewing widgets can easily show and edit recurring/multiple-day events without any of the nasty special-casing that happens in Dates currently. It's now very easy to write a nice-looking event-list in approximately 50 lines of C code :) (give or take..) Screenshot:

Screenshot of JanaGtkEventList example

As ever, source is available from subversion: http://svn.o-hand.com/repos/dates/branches/jana/ [view]

Barry White - You See the Trouble With Me

August 26, 2007 12:39 AM

Planet Ubuntu

Andre Noel: Don’t be jealous…

Today is my birthday. So my wonderful wife gave me something that I would not expect:

Presente especial…

She gave me this box with three t-shirts on ubuntu color (red, orange and yellow). So I thought: “Cool, three t-shirts on ubuntu colors! And they look like the ubuntu logo”. But when I open the t-shirts I saw that they weren’t simple t-shirts:

Camisetas do Ubuntu

She ordered to embroider the ubuntu logo on the t-shirts and on the sleeve embroider the phrase that are on our wedding rings: “Semper Amemus”, that means that our love is forever.

Today I also updated my blog theme, where I’m using one of those t-shirts on the top… :)

August 26, 2007 12:34 AM

Harald Sitter: Froscon socialized

We are socialing :-D

yepeeeeee, Amarok's project founder Mark just started a discussion about permissions in ubuntu, where www-data seems to have access to a shell. Although he just noted that he wants to cuddle and be a lovely nice person, so letz drop this totally pointless note.

Anyway, the thing is we are going to do a live stream on radio anorak today (2007-08-26 stream link). From about 8 o'clock UTC to about 12 o'clock UTC we are going to present you the finest electronica music the free music world has to offer. Also short notes about current on going discussion will be aired, so check it out if got a chance.

It will be totally awesome

August 26, 2007 12:34 AM

Planet KDE

Bram Schoenmakers: The amount of incoming non bugs

Feeling a bit tired on a dull Saturday evening made me grabbing some statistics from KDE Bugzilla. I wondered how many non issues get reported on average.

I picked a random sequence of 1000 bugs, created not too long ago. Let it be, say, bug 147000 until bug 147999. The statistics for these bug reports:








UNCONFIRMED549
NEW91
RESOLVED353
ASSIGNED5
REOPENED0
CLOSED*2


But I was more interested in the RESOLVED part:









FIXED85
INVALID*91
WONTFIX*18
LATER4
REMIND*0
DUPLICATE*103
WORKSFORME*52


Summing up the marked entries comes to a total of 266 bugs which are of no use. Note that a lot of the UNCONFIRMED bugs should still be taken care of by the developers, so the amount of non bugs can only increase.

So to conclude, about 1 out of 4 reported bugs turns out to be a non issue. I think that is a lot of noise, but probably other Bugzillas share the same ratio. Now it's a challenge to improve this ratio.

And this statistic is dedicated to the real insiders, I hope you can guess it :) :

???30

August 26, 2007 12:18 AM

August 25, 2007

Planet KDE

Albert Astals Cid (TSDgeos): Modern art is ...

Face of Albert Astals Cid (TSDgeos)... curious. Have a look at this photo from me at the Pompidou Center of Paris.



You have to have guts to tell people that's art.

August 25, 2007 11:48 PM

Planet Ubuntu

Tiago Faria: Hosting for IRC Statistics project

The computer which was hosting the UbuntuStats IRC Statistics project died a couple of months ago. It wasn’t the best solution because of the current state of Portuguese ISP’s.

DHCP leases from my ISP are too short. This causes the computer to renew IP every ~12hours, and by doing so, it would lose his Internet connection. Making the bot disconnect from IRC and causing a few minutes of downtime on the web page hosting the statistics.

Dear lazyweb,

Is anyone interested in hosting this?

I would only need IRSSI running and a cronjob to run every minute (nothing too CPU intensive).

I thought about buying dedicated hosting, but the amount asked is just too much for my pocket.

August 25, 2007 11:35 PM

Planet KDE

Anne-Marie Mahfouf (annma): Classmate PC

Following the Edu Day at aKademy, I got a Classmate PC which is a machine Intel developed. It is a "a small, mobile learning assistant and educational solution that Intel specially developed for students in emerging markets". The small laptop arrived in Burgundy during my holidays and due to non internet I could not do much with it. The laptop has a Suse system on it with KDE 3.5.1 and my goal is to see how KDE-Edu applications run on it. However Yast2 has no software section and it was impossible to get it working.
Yesterday I seeked advice to the IRC #suse channel but I was dismayed to be dismissed and categorized as an annoying newbie. However today I put Jeff "fataerrors" to work on the machine and well, he happens to be a Suse guru. Today at my LUG we had our monthly KDE workshop at Alexis "darktears" place. Jeff wanted to participate but has no laptop so I suggested he works on the Classmate PC. He did wonder and installed KDE-Edu 3.5.1! Thanks a lot Jeff!


And the result:


I found out that KHangMan is too big for the Classmate display so its starting size should be reduced. Same with KLettres, the rest of Edu apps seem all OK. I'll commit the fixes and I'll hope there will be a 3.5.8, if not maybe the choosen distribution will package them from svn. It's only a matter of cummunicating with distribution packagers and I'd like to thank Intel for sending a machine so I can test our software on it and fixe any problem.
I'll further test KDE-Edu programs for KDE 3.5.1 then I'll try to upgrade to KDE 4 if I can manage it.

Alexis made me recompile Alsa so I got my laptop sound working again, not with headphones but at least I have sound. Thanks for a friendly and productive day. I was glad to be away from the 5 kids + 1 friend that populate the house these days (so much cooking!) so thanks to my husband for this free time!

August 25, 2007 10:19 PM

Planet Maemo

maemo wiki cleanup: first milestone

We have just got to a first milestone of the maemo wiki, thanks to the priceless help of some big hearts at #maemo (details to come in a next post):

From a content point of view, we will reorganize the wiki main page in topics: multimedia, connectivity, etc, as we plan to do with the official documentation. On the wiki tool side, once the situation of the open bugs is clear we will decide the next steps to do in order to put the maemo wiki in shape.

We will need to invest more time/money in the tool. How much, when and how will depend also on the interest we perceive from the maemo community using the wiki and expanding its content. As usual, all feedback is welcome.

August 25, 2007 10:16 PM

Planet OpenID

Lukas Rosenstock: This blog is quite dead

Identity 2.0 Europe will be back soon with a new concept and design. This site will remain available for the moment, but don't expect new postings. However, talking about new postings, check out [url=http://stuffyouknow.livejournal.com/]my private blog[/url] for a report about BarCamp Cologne 2 (both English and German), including things about OpenID and decentralized social networking.

August 25, 2007 10:05 PM

Planet OLPC

Yay! VirtualBox with sound and networking!

Latest build as of 2007.08.25.19.47 works under VirtualBox with both sound (as seen in EToys) and Networking. This is seen on an AMD64 box with alsa sound driver. TamTam's sound (CSound) is producing clicking sounds as soon as you open the application, but that seems to be common issue at this point.

Networking works in VMWare, but it looks like they use a different sound driver? ES1371 from Ensoniq, instead of the intel8x0 one in VirtualBox. Bah, how did I miss that. Have to annoy the kernel peoples again. I suppose.

Images require you to specify your school server, edit ~/.sugar/default/config and set server to olpc.collabora.co.uk. I've got a quick and dirty script that produces vmware/virtualbox disks from the latest images. Probably should have that run on a machine with some bandwidth and allow people to download the results.

Would also be nice to figure out how to make the conversions not fill out the whole disk-space (i.e. creating 900MB files). VMWare one is only 600MB, but it shouldn't be more than about 200MB IIUC.

Qemu networking seems to work, but only if I manually restart the /etc/init.d/network service. Qemu sound doesn't seem to even show up as a pci device, so not working there yet.

August 25, 2007 09:38 PM

Planet Mozilla

Nagappan: Recording your screen in solaris :)

Posted by Harishankaran (sp2hari)

Recording your screen in Solaris works right out of the box. All you need to install is vncserver and vnc2swf.

A simple HOW TO about recording your screen in Solaris. :)

First you need to install Vncserver. Solaris by default doesn't come with a VNC. The easiest way to install VNC is through pkg-get

root@home# pkg-get -i vncserver

Before running that command, configure your pkg-get to get the packages from blastwave.org. Check http://www.blastwave.org/howto.html to get more details about setting up the repo.
That should install vncserver. :)

Next step it to install vnc2swf.
Download the C version of vnc2swf from http://www.unixuser.org/%7Eeuske/vnc2swf/index.html.
Extract the tar ball

hari@home:~$cd vnc2swf
hari@home:~$./configure
hari@home:~$make
root@home#make install

The commands mentioned above will install vnc2swf . :)

All you need to do to use vnc2swf is to start a vncserver. vnc2swf just needs the output file name to be passed as command line argument when started. Pressing F8 gives the options to start, stop, pause and clear the reocrding.

Some of the issues i faced are :)

1. When the same user tries to start a gnome-session in the vnc, an error message saying gnome-session is already running is given. So the best bet is to create a new user and start the vncserver of that user.

2. The icons are not displayed properly if you login into the new user's account using GNOME. Use Common Desktop Environment (CDE) to login and start a vncserver.

3. By default, the new user won't have a .vnc folder. So start a vnc and kill that. Now you will have .vnc folder with a xstartup file. Modify the file so that gnome-session runs in the vnc instead of the default twm. The xstartup file should look like

#!/bin/sh

/usr/openwin/bin/xrdb $HOME/.Xresources
/usr/openwin/bin/xsetroot -solid grey
/usr/openwin/bin/xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#/usr/openwin/bin/twm &
gnome-session &


And yeah, what i recorded can be viewed at http://download.freedesktop.org/ldtp/movies/screen2.html. Nice right ;-)

August 25, 2007 09:16 PM

Nagappan: My Tinderbox is working...

Posted by Harishankaran (sp2hari)

Yes, you heard it right. My tinderbox is working. Even now i don't know why i was trying to setup a tinderbox after both Emily and Nags asked me to concentrate on Firefox automation. I felt it was almost done and just few more steps, i will be able to set it up. And that's what finally happened :)

So in this post, i am going to mention about all issues i faced in setting up a tinderbox and steps to fix them.

Note :: If you are ever setting up a tinderbox, be prepared to see huge log files. Like once my compilation ran for few hours and produced a log file of size 15MB. And if you are stuck up, DON'T send the entire file. A tail of that file should do. In fact, you should be in a position to find out from while line the exact error starts.

Yeah before you start reading this
http://sp2hari.blogspot.com/2007/06/conquered-solaris.html and
http://sp2hari.blogspot.com/2007/06/tinderbox.html has instructions about how to setup Tinderbox in Solaris environment.

Ok the first error i got was

Building deps for jsinterp.c
cc -o jsinterp.o -c -DOSTYPE=\"SunOS5\" -DOSARCH=SunOS -DEXPORT_JS_API -DJS_USE_SAFE_ARENA -I../../dist/include -I../../dist/include/js -I../../dist/include/nspr -DMOZ_PNG_READ -DMOZ_PNG_WRITE -I../../dist/sdk/include -I. -KPIC -xlibmil -xstrconst -xbuiltin=%all -mt -DNDEBUG -DTRIMMED -xO4 -DMOZILLA_VERSION=\"1.9a7pre\" -DMOZILLA_VERSION_U=1.9a7pre -DSOLARIS=1 -DNSCAP_DISABLE_DEBUG_PTR_TYPES=1 -DD_INO=d_ino -DSTDC_HEADERS=1 -DHAVE_ST_BLKSIZE=1 -DHAVE_SIGINFO_T=1 -DHAVE_INT16_T=1 -DHAVE_INT32_T=1 -DHAVE_INT64_T=1 -DHAVE_UINT=1 -DHAVE_UINT_T=1 -DHAVE_UINT16_T=1 -DHAVE_DIRENT_H=1 -DHAVE_SYS_BYTEORDER_H=1 -DHAVE_GETOPT_H=1 -DHAVE_MEMORY_H=1 -DHAVE_UNISTD_H=1 -DHAVE_NL_TYPES_H=1 -DHAVE_MALLOC_H=1 -DHAVE_X11_XKBLIB_H=1 -DHAVE_SYS_STATVFS_H=1 -DHAVE_SYS_STATFS_H=1 -DHAVE_LIBM=1 -DHAVE_LIBDL=1 -DHAVE_LIBSOCKET=1 -DFUNCPROTO=15 -DHAVE_XSHM=1 -D_REENTRANT=1 -DHAVE_RANDOM=1 -DHAVE_STRERROR=1 -DHAVE_LCHOWN=1 -DHAVE_FCHMOD=1 -DHAVE_SNPRINTF=1 -DHAVE_MEMMOVE=1 -DHAVE_RINT=1 -DHAVE_STAT64=1 -DHAVE_LSTAT64=1 -DHAVE_FLOCKFILE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_STRTOK_R=1 -DHAVE_LANGINFO_CODESET=1 -DVA_COPY=va_copy -DHAVE_VA_COPY=1 -DHAVE_I18N_LC_MESSAGES=1 -DMOZ_EMBEDDING_LEVEL_DEFAULT=1 -DMOZ_EMBEDDING_LEVEL_BASIC=1 -DMOZ_EMBEDDING_LEVEL_MINIMAL=1 -DMOZ_PHOENIX=1 -DMOZ_BUILD_APP=browser -DMOZ_XUL_APP=1 -DMOZ_DEFAULT_TOOLKIT=\"cairo-gtk2\" -DMOZ_WIDGET_GTK2=1 -DMOZ_ENABLE_XREMOTE=1 -DMOZ_THEBES=1 -DMOZ_CAIRO_GFX=1 -DMOZ_X11=1 -DMOZ_DISTRIBUTION_ID=\"org.mozilla\" -DMOZ_ENABLE_XFT=1 -DMOZ_ENABLE_PANGO=1 -DMOZ_ENABLE_COREXFONTS=1 -DMOZ_ENABLE_GNOMEUI=1 -DMOZ_EXTRA_X11CONVERTERS=1 -DOJI=1 -DIBMBIDI=1 -DMOZ_VIEW_SOURCE=1 -DACCESSIBILITY=1 -DMOZ_XPINSTALL=1 -DMOZ_JSLOADER=1 -DNS_PRINTING=1 -DNS_PRINT_PREVIEW=1 -DMOZ_NO_XPCOM_OBSOLETE=1 -DMOZ_XTF=1 -DMOZ_MATHML=1 -DMOZ_ENABLE_CANVAS=1 -DMOZ_SVG=1 -DMOZ_SVG_FOREIGNOBJECT=1 -DMOZ_UPDATE_CHANNEL=default -DMOZ_PLACES=1 -DMOZ_PLACES_BOOKMARKS=1 -DMOZ_FEEDS=1 -DMOZ_STORAGE=1 -DMOZ_SAFE_BROWSING=1 -DMOZ_URL_CLASSIFIER=1 -DMOZ_LOGGING=1 -DMOZ_USER_DIR=\".mozilla\" -DMOZ_ENABLE_LIBXUL=1 -DHAVE_STDINT_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_SYS_INT_TYPES_H=1 -DHAVE_UINT64_T=1 -DMOZ_XUL=1 -DMOZ_PROFILELOCKING=1 -DMOZ_RDF=1 -DMOZ_MORKREADER=1 -DMOZ_DLL_SUFFIX=\".so\" -DXP_UNIX=1 -DUNIX_ASYNC_DNS=1 -DJS_THREADSAFE=1 -DMOZ_ACCESSIBILITY_ATK=1 -DATK_MAJOR_VERSION=1 -DATK_MINOR_VERSION=12 -DATK_REV_VERSION=3 -DMOZILLA_LOCALE_VERSION=\"1.9a1\" -DMOZILLA_REGION_VERSION=\"1.9a1\" -DMOZILLA_SKIN_VERSION=\"1.8\" -D_MOZILLA_CONFIG_H_ -DMOZILLA_CLIENT jsinterp.c
ube: error: Assert has been violated at '/set/venus/builds.intel-S2/nightly.Thu/intel-S2/lang/ube/graphs/src/scregion.c 305'.
cc: ube failed for jsinterp.c
gmake[4]: *** [jsinterp.o] Error 2

Dave from Sun china asked me use a patch for Sun Studio 11 Compiler C. I don't have the link to the patch now but the patch id is 121016-05. I remember getting it from the sun website. So searching there should give you the link. The above patch was dependent on patch 120759-06. So installed patch 120759-06 first and then install the patch 121016-05.

Steps to add a patch in Solaris are given below. The commands are for patch 121016-05. Change the id according to the patch you are installing.

1. Download 121016-05.zip and extract the contents in your current directory
2. Login as root
3. root@home# patchadd 121016-05
Note :: If the above command doesn't work, then try
root@home# patchadd . 121016-05


The above steps should install the patch in your system. To check whether the patch is installed properly, check the folder /var/sadm/patch/. You should see seperate directories for each patch you have installed. In my system here, the /var/sdm/patch is like
# cd /var/sadm/patch/
# ls
120759-06 121016-05

That fixed the above problem :).

The next error i got was

jsinterp.c
ir2hf: error: Ran out of memory
cc: ir2hf failed for jsinterp.c

Now this is a strange problem and which can be fixed without much issue. You need more RAM. My system had 768MB (512+256) RAM, but you need 1GB RAM to fix this issue. So next day i got 1GB RAM and never got this error back.

After that, i got many compilation errors. This happened because of some issue in the mozilla code. This generally never happens. I got errors in lines having inline. Anyway now i am not getting the error anymore. So i think the mozilla code is fixed now. :)

Finally i got an error saying,

gmake[3]: Leaving directory `/export/home/hari/tinderbox/SunOS_5.11_Depend/mozilla'
gmake[2]: Leaving directory `/export/home/hari/tinderbox/SunOS_5.11_Depend/mozilla'
make[1]: Leaving directory `/export/home/hari/tinderbox/SunOS_5.11_Depend/mozilla'
firefox-bin built successfully.
firefox-bin built successfully.
firefox-bin binary exists, build successful.
Unable to find path to Talkback client. Proceeding as if Talkback was not installed.


Running regxpcom test ...
Timeout = 120 seconds.
Begin: Fri Aug 24 08:08:37 2007
cmd = /export/home/hari/tinderbox/SunOS_5.11_Depend/mozilla//dist/bin/firefox-bin -register
End: Fri Aug 24 08:08:38 2007
----------- Output from regxpcom -------------
----------- End Output from regxpcom ---------
regxpcom: test failed
No profile found, creating profile.
Begin: Fri Aug 24 08:08:38 2007
cmd = /export/home/hari/tinderbox/SunOS_5.11_Depend/mozilla//dist/bin/firefox-bin -CreateProfile default
End: Fri Aug 24 08:08:39 2007
----------- Output from Profile Creation -------------
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified


(firefox-bin:6432): Gtk-WARNING **: cannot open display:
----------- End Output from Profile Creation ---------
ERROR: profile /export/home/hari/tinderbox/SunOS_5.11_Depend/.mozilla/firefox/ does not exist
no pref file found
The solution for the above bug was to allow connections to X server. This is done by executing the following command before starting a tinderbox compilation. Remember the user who is running the tinderbox should execute the command.

hari@home:~$/usr/openwin/bin/xhost +
access control disabled, clients can connect from any host

Few other things to note while trying to compile firefox under tinderbox are
1. Never ever run two instances of tinderbox at the same time. Make sure the first one is killed before starting a new one.
2. Delete the SunOS_5.11_Depend folder when you are facing any compilation errors.
3. Use -XO3 for CFLAGS and CXXFLAGS
4. Make sure your mozconfig file has these lines
ac_add_options --disable-freetype2
ac_add_options --disable-debug
ac_add_options --disable-tests

August 25, 2007 09:14 PM

Nagappan: SOC ...

Posted by Harishankaran (sp2hari)

Updates about SOC.
30 test scripts are working fine without any issue :). My target is to write 50 test cases and i will try to reach that this weekend :) :).

The scripts can be downloaded from here.

Things to be modified when you run your script in your environment are.
1. In the file firefox.xml, change the value of <filepath> for so that it points the file called index.html in the folder called data in your scripts directory.

Let me give a detailed HOW TO for running these scripts.

1. First, LDTP must be installed in your system.
The CVS page in ldtp.freedesktop.org provides the instructions for getting the LDTP code through CVS.

Note : I had a small issue compiling the code which i got from CVS.
While using ./configure it gave me an error saying

./configure: line 3998: syntax error near unexpected token `LIBXML2,'
./configure: line 3998: `PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= 2.0.0)'

The above error is because autoconf and pkg-conf are installed at two different locations. For more details check http://lists.freedesktop.org/pipermail/xserver/2003-December/000573.html

So i used this package which compiled without any issue :).
For more details on how to install, check here.

2. Enable Accessibility from gnome-control-center

3. Download and start Firefox3.0a*pre from here ( Any FF3.0 alpha release should work, though with FF3.0a8pre, it is tested throughly.
Note :: When you start firefox, make sure you don't have any other instance of firefox running.

4.Run the command

hari@home:~/soc/tinderbox$ ldtprunner run.xml


If you have set LDTP_DEBUG=1 in your shell, then it will show lots of output. Don't get scared. It only means things are working fine :)
Note :: You can also work with LDTP_DEBUG unset, if you want a "clean" output.

Once that command is executed, then it will run the test cases provided in the run.xml.

A file called log.xml gives the details about the test cases run. The last three lines in the log file should be like this if the test case ran properly for all the 30 test cases provided.

<groupsstatus total="30" pass="30" fail="0"/>
</group>
</ldtp>

The screen record video on Solaris 11 is given can be viewed from here.
http://download.freedesktop.org/ldtp/movies/screen2.html

The current status of the test cases can be viewed from here.
http://ldtp.freedesktop.org/wiki/Firefox_Test_Cases

August 25, 2007 09:12 PM

Planet Smalltalk

Gross confusion

So here I am, doing research. I go through Knuth's book, and in the particular section I am in he suggests hash(x) = ax, where the factor a has to be chosen properly so that it is within certain ranges and such that each of its bytes is not too close to any of the others or their complements.

Then he gives an example of a value of a, for a decimal computer in which the bytes can have values from 0 to 99. In "hundred"-decimal notation, it would be as shown below.
a = 61 25 42 33 71

Now, certainly, if we are working with a decimal computer, then yes... each byte is not too close to any of the others or their complements. But, in a binary computer, this looks quite differently. In hex, the value above is 33 bits long.

a = 1 6D 1A 8B 0B

So first, it doesn't even fit in 32 bits, and second, its bytes are not necessarily far away from each other or their complements. That is fine because the value of a was chosen for a decimal computer, not a binary one.

Want to cry? The value of a can be found in .h files via Google, even though it typically does not fit in 32 bit variables. Also, this choice of a has been roundly criticized for giving poor hash value distribution in binary computers. Well of course, it was never meant for a binary computer in the first place.

Sigh...

August 25, 2007 09:00 PM

Planet Debian

Russell Coker: Does Having Fewer Rules Inspire Hard Work?

I was recently talking to a client about the lack of guidelines for acceptable personal use of office resources in his company. He rejected the suggestion that he provide any real rules or guidelines (apart from some old rules that most employees were not aware of and of which there was no procedure to remind them to periodically read). He said that he only wanted to hire motivated people who wanted to work, and that people who need rules should work elsewhere.

The results of his approach seem reasonable, everyone who works for him works really hard. In return his attitudes towards employees are more relaxed than most employers, among other things he is very supportive of employees who desire career opportunities greater than his company can offer.

I have been wondering whether rules alone can make people lose interest in working, or whether it’s the type of person who doesn’t want to impose rules that inspires hard work.

My experience is that when working for people who have a rule-free environment I tend tend to work really hard, and that when working for companies that have lots of rules I find it difficult enough to get out of bed in the morning - let alone become motivated to do any work.

I am interested to see comments from other people, both workers and managers. Is my experience common in this regard?

August 25, 2007 09:00 PM

Planet Smalltalk

Aston Martin announced the new DBS

Isn't that a neat car?



Aston Martin announced the new DBS which allready could be seen at the last James Bond film. Now they will show it on the IAA in Frankfurt starting at September, 13th. Take a look at the web presentation.

August 25, 2007 08:57 PM

Planet KDE

Jason Kasper (vanRijn): Got (KDE) Shirts? (part deux)

So, I received my custom-made KDE and KPilot shirts from spreadshirts.com yesterday, and am very, very impressed. 5 days to get the shirts printed and shipped is pretty darned impressive. Nice job, spreadshirt!!! The shirts seem to be well-made and of good quality. I’m just hoping that the logos and printing doesn’t start coming off for at least another 5 years… =;)

Custom-made Spreadshirts Custom-made Spreadshirts
And yeah, my witticisms are perhaps not the greatest, but I was a bit thin on pop culture references at the time, and Adriaan was asleep. So bite me.

But I can say that if you’re in the .us, and you’re looking for some nice KDE swag to wear out on your next hot geeky night on the town and can’t find any, you might just want to take a look at spreadshirt.com. If you can’t find something you like, you can use their custom designer to create it yourself.

Now… back to getting KPilot release-ready….

August 25, 2007 08:47 PM

Planet GNOME

Alberto Ruiz: Happy birthday!

In a couple of days, GNOME is going to be 10 years old, here's my present:



GNOME 10th Anniversary

Unix (and life too) doesn't suck anymore, thank you to all the GNOME community!

August 25, 2007 08:30 PM

Alberto Ruiz: The first vala browser.

Vala is a C# like language compiler that translate the source code into C. It's intended to provide a higher level language to GLib/GObject/Gtk+ and friends.

Today, in more or less one hour, I've been able to write a GtkMozEmbed binding for vala. Note that I haven't write a binding ever in my life before and despite that, it's been pretty straightforward.

I've also wrote a small app to show the browser, and there we go:

Vala goes online!

To get the source code of what I did, take a look at #463438's attachments.

My conclusion here is that vala is really close to become a serious option to write platform libraries and applications instead of C within the Desktop, you get the best of both worlds, a high level language, and the C (non VM) performance, portability and easy of bind from other languages, and since vala adds some explicit object semantic, write bindings from vala code could be even more straightforward.

Another problem that it potentially solves is the pain of reuse code from others, most people tend to no inherit in GObject since it involves lots of annoying copypaste, which drive us to better integration and a better reutilization of the code.

Congrats to Jürg Billeter for such a bold and simplified approach.

Oh, by the way, did I say that this approach is binding friendly already? ;-)

August 25, 2007 08:30 PM

Planet Classpath

Roman Kennke: Usability of desktop apps, or why file menus are not needed

Usability of desktop applications has been a concern for me for quite a long time. I’ve been thinking about it lately and came to some conclusions that I’d like to share. I have the feeling that modern desktops are mostly stuck in a dead end with usability, and M$ takes credit for most of it.

I’d like to explain one aspect of usability with an example, that is creating, editing and handling a text document. I’d like to start with how this is usually done on all desktops I know (Windows, KDE and GNOME) (sorry if I include details that seem obvious to anybody but the completely computer illiterate, I have my reasons):

  1. Start the text application (for example OpenOffice Writer). That includes knowledge of the existence of such an application and that this app is needed to edit texts, navigating something like a start menu to find the application.
  2. The application comes up with an ‘unnamed file’ and an empty edit area.
  3. You start to write something. At some point you need to save it (hmm. this includes you have to know that there are two states of your data, the copy in RAM and the copy on your harddisk.) So you navigate the thing that is called ‘file menu’ and choose the save option (urgs, there’s also ’save as’). Now you’re presented with a dialog that is similar but not exactly the file manager you know from the desktop and are prompted to enter a filename, because so far the file has been ‘unnamed’.
  4. At some point you’re done and want to close the application. Navigate file menu to the exit menu entry (what’s this to do in the file menu anyway?). You’re prompted with the question if you want to save the file etc blah blah.

In an ideal word, the above steps are full of usability problems. At least from my point of view, things would be much more intuitive the following way (if people weren’t so much used to the above way that is):

  1. Navigate from the desktop to a folder where you want to create the file (maybe including creating new folders on the way).
  2. Choose option ‘New File’ in the file manager. This will ask you which type of file you want to create. You select ‘Text File’ from a list and enter a file name.
  3. The file is opened and you find yourself in an empty editor area. Note that there’s no need to distinct between the file you have open and the application that actually does all this. This is a detail that the user should not need to know about. The user should care about his files, not about applications.
  4. Edit away with the file. Actually, there’s no need to save the file, because the data in RAM is kept in sync with the data on the HD quite cleverly. And of course, the undo buffer is saved along with the actual file.
  5. If you’re done, choose the standard close option for each window (like the small cross in the upper right corner). The ‘application’ has no need to ask questions at this point because all the data is already in sync with the HD, see point #4.

Now, if you think this further, you will find that many concepts in the so called modern desktops are actually not needed and only hinder usability and simplicity of the desktop. There’s no need to have a start menu, there’s no need to have a distinction of (data) files and the application that are used to edit them, there’s no need for a file menu, etc etc.

So why was all this invented in the first place? Most of these concepts date back to the good (ok, they were actually pretty bad) DOS days, when there was no such thing like a graphical desktop, but applications like MS Word were already good enough to have menus and mouse support. At that time it made sense to have a distinction between apps and data files (because there was no file manager), it made sense to have a file menu (because there was no file manager and the computers at that time didn’t have enough resources to keep RAM data and HD data in sync in a useful way). That was actually pretty sophisticated at that time.

So, why do modern desktops still stick to these old concepts, which actually seem to be in the way of reasonable usability? Well, the answer is simple. One big rule in usability engineering is to take care of the user’s expectations and habits. People got used to these concepts so much that at one point it actually became impossible to change these concepts. I mean, imagine a desktop without a start menu, without the concept of applications even. Imagine applications without file menu, etc. Kindof hard, right? If M$ decided today to revamp Windows in such a radical way, they would probably loose millions of users. The same is true for KDE and GNOME. Remember the big debate about the spatial nautilus? A pretty radical change in a good direction, not perfectly implemented maybe (it’s much better now, because users can change it to their needs). But it certainly turned away many ‘power’ users (which infact only had pretty strong habits and didn’t want to let loose). This is why we will most likely see file menus in 10 or 20 years still, although they are not strictly necessary.

August 25, 2007 08:14 PM

Planet GNOME

Alberto Ruiz: Bind them all!

I've been working on some vala bindings lately. My main purposes is to reuse some opt components to create a proper PDF viewer with transition support for presentations.

Poppler!

To be able to load pdf documents in Vala, I've made poppler-glib bindings and a proof of concept app:


 OGG/YouTube

Binding Source: poppler-glib.vala

Test Source:     pop.vala

Clutter 0.4

I've updated the clutter bindings, I wanted to be sure that the api coverage and the bindings were alright, so I started porting the test suite to vala. So far I've succesfully ported the test-actors test, and despite some problems with the Math package and some minor tweaks, it works!

OGG / YouTube

Binding Source: clutter-0.4.vala

Test Source:     test-actors.vala

The binding generator of vala needs some love yet, it doesn't convert GError parameters into throw statements and some functions are not properly wrapped. However, it does the 90% of the job pretty well, and with some tweaking, it'll be even better soon.

August 25, 2007 08:07 PM

Planet Ubuntu

Pete Savage: All I hear is Radio Ubuntu

Yesterday I decided that I wanted to try my hand at running an internet radio station. Yeh go on, laugh. Well, I thought it was a good idea. So I looked around on the net, but found it exceedingly difficult to find information. Eventually after searching and chatting for a while, I came across Shoutcast, and Icecast. These would do great as servers, Icecast is open source, Shoutcast isn’t. However, what I wanted was totally live data being transmitted to these. Let me break it down a little.

Internet radio generally goes like this. You have a broadcasting tool, which takes data from your machine and sends it to a server, which is usually hosted on a high bandwidth machine. This machine will then accept connections from other people across the internet, and pipe out your radio station. Great! However, all the broadcasting tools I could find would only run playlists of mp3s. Not what I wanted. I wanted to take the audio input from my PC and use that as the streaming data.

Eventually I found DarkIce. A great little too which does just that. Couple that with DarkSnow, a nice little gui and things get a little easier. I tried and tested both Shoutcast, to produce mp3 streams and Icecast to produce ogg streams. So how did they compare?

Shoutcast
The server side of Shoutcast was very easy to setup indeed. All I had to do was download the relevant tar from the Shoutcast website, extract it, and change the password in the config file. Once running, it gave me a nice verbose output of who was connecting where.

user@server [~]# ./sc_serv 
*******************************************************************************
** SHOUTcast Distributed Network Audio Server
** Copyright (C) 1998-2004 Nullsoft, Inc.  All Rights Reserved.
** Use "sc_serv filename.ini" to specify an ini file.
*******************************************************************************

Event log:
<08/25/07@15:32:32> [SHOUTcast] DNAS/Linux v1.9.8 (Feb 28 2007) starting up...
<08/25/07@15:32:32> [main] pid: 28419
<08/25/07@15:32:32> [main] loaded config from sc_serv.conf
<08/25/07@15:32:32> [main] initializing (usermax:32 portbase:8000)...
<08/25/07@15:32:32> [main] No ban file found (sc_serv.ban)
<08/25/07@15:32:32> [main] No rip file found (sc_serv.rip)
<08/25/07@15:32:32> [main] opening source socket
<08/25/07@15:32:32> [main] source thread starting
<08/25/07@15:32:32> [main] opening client socket
<08/25/07@15:32:32> [main] Client Stream thread [0] starting
<08/25/07@15:32:32> [source] listening for connection on port 8001
<08/25/07@15:32:32> [main] client main thread starting
<08/25/07@15:32:57> [dest: 127.43.232.195] server unavailable, disconnecting
<08/25/07@15:33:16> [main] SIGINT; exiting!(0 unique)

My problem was that Darkice, from the Ubuntu repositories was not able to produce an mp3 stream, which Shoutcast requires. A little hacking around in the source let me build a package that was lame enabled, and I was away. Darksnow was installed from the Ubuntu repos and was configured to point to the server, on port 8001, the input source was set to be jack and everything seemed to run ok.

Running xmms and connecting to http://server:8000 got me a stream. Now all I had to do was use jack, to hook up my audio sources. It worked like a charm. The audio was surprisingly clear. Very easy to setup, just had to fiddle a little to get the mp3 support, but then I’m sure everyone is hissing under their breaths.

Icecast2
Icecast2 presented me with a few more issues. I downloaded and installed the Ubuntu repo versions of Darkice, Icecast2 and Darksnow on another machine. I used the default configuration file, however running Icecast2 presented me with a problem. It couldn’t read the configuration file as I was running the Icecast2 server as a user, and not as root. I tried to sudo run it, and it told me off, because it shouldn’t be run as root. Obviously.

However it did prompt me to set the changeowner security setting in the /etc/icecast2/icecast.xml, which I did. Now, when I sudo run the server, it complains about not being able to create logs. Another product of not running as root. So I chowned the log directories so that the user was able to write to them. After that the Icecast server started.

I had few minutes of frustration. Icecast2, seems to have to have a mount point associated with it. After changing the password in the config file, I had to setup the server ip, port as 8000 this time, and the mount point as streaming.ogg. This time I had to connect to http://server:8000/streaming.ogg but it worked fantastically. The delay due to the buffering seemed longer on the Icecast2 server, but not by much. I was also a little dissappointed by the lack of verbosity. Though it does store all access data in a log file, similar format to apache, I was really impressed by Shoutcasts alerts.

Other problems
DarkSnow/DarkIce complains if

Conclusions
Both servers performed really well, and to be honest I was really surprised it was that easy. I’d tried before and previously failed to get past the downloading anything stage. I liked them both for different reasons. Shoutcast was great for verbosity and ease of use, but produces mp3 streams which I know we all love to hate. Icecast2 produced ogg streams, which is great, but was a little more difficult to setup, and a little less intuitive.

Apart from that it all worked fine, within 1.5 hours, I had investigated and setup an Internet radio station. Now if only I had someone to listen to me.

August 25, 2007 07:53 PM

Planet Debian

Wouter Verhelst: Cooking

Mom turned 60 earlier this week, and her brothers and sisters (i.e., my uncles and aunts) are coming over tomorrow. Thomas, my brother who's just graduated as assitant-cook (or some such, I don't know the exact title yet), is doing the food, and I've been volunteered to help.

He got me to wear this:

Wouter the Cook

Fun, isn't it?

August 25, 2007 07:51 PM

Monologue

Olivier Dufour: vala

vala is a new programming language which bring performance of c++ and user-friendly of the C#. In fact, Vala is very closed to C#in syntax. It contains even the most recent thing of C# as : Lambda expressions Type inference for local variables Generics Non-null types And a lot of other features from basic C#: Interfaces Properties Signals [...]

August 25, 2007 07:49 PM

Planet Smalltalk

An update on the book

So... what does the to do list look like these days?

Chapter 6 on AGC is currently half written. Not much is being done on it at this time.

Chapter 7 regarding hash, on the other hand, is progressing nicely. I had originally estimated that Chapter 7 would be around 50 pages. Then I realized I was wrong and estimated 100 pages. It is currently 92 pages, and I would say it is no more than 50% written, probably less. Therefore, I have to increase the estimate for the chapter once more, to 200 pages. In addition, since I've run into problems, such as "there is no written information regarding this topic", I've had to research and write at the same time. Although it is a lot of fun, this slowed the pace of what would have otherwise been a simple file out. Oh well --- better get going!

Finally, the book gained an appendix. I hope the contents will be a very pleasant surprise.

The draft is currently 449 pages, and the pdf file no longer fits in a 3.5 inch floppy. There are about 1.1 computer megabytes' worth of LaTeX source code. There are no illustrations yet.

Time to write some more now.

August 25, 2007 07:47 PM

Planet OpenOffice.org - Developer News

Pierre-André Galmes: FUD - StarOffice in the Google Pack

I suppose that most of you already know about the Google Pack now including StarOffice. Recently, I read an article about it on Eweek. Here is what you could see: Isn't it nice to see how to scare potential users with a few sentences?

August 25, 2007 07:46 PM

Planet Debian

Martín Ferrari: Last GSoC update

It's been a long time without saying any word, my project completely drained any free time!

So it's finished, as long as GSoC goes, but Pancután still is a work in progress. What happened is that it turned out to be a lot more difficult that what I expected, so during the second part of the program —when I would write all the tests— the schedule ran away. Anyway, the tool is in a fully functional state: you can try it now and it —$DEITY forbids— will not crash on you; but it will not be able to spot many errors yet.

So, if you can, please install it and try it out! Bug reports are welcomed, and code will be greatly appreciated. I've set up a debian repository with binaries (i386) and sources where you can grab it from, with all the dependencies, or you can check out the SVN repository. Bear in mind that it depends on a version of libcdio that's still not in the archive, so that can also be found in my private repository.

As expected, my work with this tool doesn't end here; I will continue hacking on it as soon as I end my vacations; which brings me to the other subject of this post...

Tomorrow I'll be leaving Lisbon, heading north to Porto and then the northern region of Spain: Galiza, Asturias, Euskadi and Catalunya; ending later in Madrid. After Spain I'll visit a friend in Paris and money and time will determine what I'll do after that. I am very excited, I love travelling and I really need some rest.

PS: also I moved this blog to blosxom, which I expect to heavy hack on when I get back.

Tags: Planet Lugfi, Planet Debian, Programación, Debian, Viajes

August 25, 2007 07:40 PM

Planet Smalltalk

Vacation is over

It's over now, our three weeks of vacation. *sigh* But it have been very good three weeks, even if we stayed at home this year. Instead we made several day trips to the beach, to the Universum Science Center in Bremen, to the Heide-Park Soltau where I've had the opportunity to take a ride on the world largest and steepest (61°) wooden roller coaster *yeah*, to the Oceanis in Wilhelmshaven, to the Stoppelmarkt in Vechta, to the jet model air show in Alhorn, and playing miniature golf. Beside that we've done some visitings of our relatives. You see, no boredom, but lots of recreation.

I havn't been very busy writing for my blog. But I've finished the work for my next magazine article, this time regarding alternatives to fixed-price contracts. Additionally I continued my port of my Smalltalk frameworks from VisualWorks to Squeak. This work is almost finished but it has been stopped through an unexpected encounter: I've discoverd Erlang and it really fascinates me. I'll write about it in an extra entry.

August 25, 2007 07:33 PM

Planet GNOME

Sayamindu Dasgupta: Dell delays

Dell is beginning to piss me off. I ordered the Dell XPS M1330 on the 31st of July (order number 2231338), and till date, I have not even got a estimated date of delivery, and apparently, the build has not been started yet.
Dell Delays
After placing my order, I emailed them on the 3rd of August, and a CSR called me back, promising to give me a ESD by the 6th. There was no updates on the 6th, and after not getting any response from another follow up mail that I sent, I called up their customer service department. The CSR told me that there would be a delay of around fifteen days for the build process to start. She also told me that it would take around 3/4 days to complete the build and testing processes, and then it would take upto another 10 days for the shipping, primarily because of duty and customs clearance delays at the Indian airports. The next day (or probably on the day after), another lady called up, and told me the same thing, and promised me that I would definitely get my machine by the end of August. After that, there has been complete silence from the Dell side. Right now, assuming that the build hasn’t started yet, I don’t think I’ll be getting my notebook before mid September. Moreover, to make things worse, the price of the configuration that I ordered has gone down by nearly 6000 rupees (around 150 US dollars) in the last (almost) one month.
I was thinking of cancelling my order, since the new semester has started at college and I badly need a notebook to do all my work, but people tell me that getting a refund going to be a major PITA, as I ordered via a pre-paid card. Right now I don’t know what to do. I’ll try calling up Dell India again on Monday, and I guess the only thing that I can do right now is hope that my system will go into build stage next week :-(.

August 25, 2007 07:02 PM

Planet Haskell

Eric Kow (kowey): getting things done with mutt 2 (auto-review)

Last year, I posted some ideas for applying GTD to mutt. As you may have heard, GTD is a simple methodology to help people stay on top of things. The basic idea in my post was to use an on-board X-Label editor to associate each message with a 'next action' or a 'waiting for' tag, and to store them in the respective mailboxes ACTION and WAITING. This was accompanied by a small colour configuration to highlight the X-Label field of each message, thus making it clear at all times what the next action was.

After one year of use, I can report that I am 95% happy with the system. It is simple and effective... however, not entirely eric-proof. In this post, I propose a small addition to tighten up the system and make it more resistant to my foolishness. The problem is that GTD is a heavily review-oriented system. Once you move tasks out of your head and onto some external device (e.g. a pad of paper), you must also consult that device from time to time or risk forgetting to do them. For example, one thing that can easily happen to me is that I will move messages into ACTION and WAITING and simply forget they are there.

This is where the idea of automated review comes in. What I propose a simple method for reminding yourself that you have next actions to perform, or things that you are waiting on. It consists of a shell script and a crontab entry. First the script (I call it gtd-review):


#!/bin/sh

# note: I am using the maildir format; if you are using mbox,
# you should just replace the 'find $1 | xargs $1' with 'cat $1'
function summarise () {
find $1 | xargs cat |\
sed -n -e '/^X-Label/G' -e '/^X-Label/p'\
-e '/^From/p' -e '/^Subject/p' -e '/^Date/p' |\
sed -e 's/From: //' -e 's/Date: //' -e 's/Subject: //'
}

echo '======================================================================'
echo 'ACTIONS'
echo '======================================================================'
echo
summarise ${HOME}/Mail/ACTION

echo '======================================================================'
echo 'WAITING'
echo '======================================================================'
echo
summarise ${HOME}/Mail/WAITING


And now the crontab:
@daily gtd-review 2>&1 /dev/null | mail -s "GTD review `date +%Y-%m-%d`" me@myaddress.com
I'm sure you could improve on this. For example, I would rather the dates were presented in yyyy-mm-dd format and accompanied with a friendlier description like "3 weeks ago"... but working on that would probably count as fidgeting.

Anyway, I hope others find this to be useful.

August 25, 2007 07:01 PM

planet.freedesktop.org

Philip Langdale: S3 is a cruel mistress

Well, I suppose I have no one to blame up myself. You may recall my triumphant declaration that S3 suspend was working on my desktop machine without any quirks. Naturally, that couldn’t last. Yesterday, something happened to the machine such that it will no longer resume from S3 - and it seems to be a very low level problem - I can’t resume successfully in windows anymore, either. I tried using a custom stripped down kernel but to no avail - I get identical symptoms in all cases. When I power it back on, basiclaly nothing happens. The drives power up and the disk activity light comes on solid for a while and then goes out - nothing else happens. Looking at the kernel logs, it seems control is never returned to the OS - and that would explain the failure on windows too.

I tried out S1 and I’ve confirmed that that still works, but something has broken S3 and I can’t for the life of me say what it is. I even wiped the BIOS configuration and recreated it, wondering if something bad had ended up in the nvram - but I’m not seeing any changes.

If anyone out there has any suggestions, I’m eager to hear them - but I’m feeling very pessimistic right now.

August 25, 2007 06:45 PM

Planet Maemo

S3 is a cruel mistress

Well, I suppose I have no one to blame up myself. You may recall my triumphant declaration that S3 suspend was working on my desktop machine without any quirks. Naturally, that couldn’t last. Yesterday, something happened to the machine such that it will no longer resume from S3 - and it seems to be a very low level problem - I can’t resume successfully in windows anymore, either. I tried using a custom stripped down kernel but to no avail - I get identical symptoms in all cases. When I power it back on, basiclaly nothing happens. The drives power up and the disk activity light comes on solid for a while and then goes out - nothing else happens. Looking at the kernel logs, it seems control is never returned to the OS - and that would explain the failure on windows too.

I tried out S1 and I’ve confirmed that that still works, but something has broken S3 and I can’t for the life of me say what it is. I even wiped the BIOS configuration and recreated it, wondering if something bad had ended up in the nvram - but I’m not seeing any changes.

If anyone out there has any suggestions, I’m eager to hear them - but I’m feeling very pessimistic right now.

August 25, 2007 06:45 PM

Planet GNOME

Luis Medinas: Brasero 0.6.1 Released yay

The Brasero team is proud to announce a new bug fix release of Brasero.

Changes since 0.6.0:

- Fixed the filter crasher UI.
- Fix scsi library bug with memset with swapped arguments bug #466290.
- Workaround the main window bug #459939.
- Fixed a small bug where closed rewritable discs with data were flagged as not writable
- Don't run update-desktop-database if we're installing in a not full system.
- Added complete support for cdrkit bug #456860.
- Removed DISABLE_DEPRECATED from the Makefile to avoid problems with Gtk+ API.
- Fix 2 sec between tracks on audiocd bug #459023.
- Added more mimetype to file chooser filter.
- Added support for libisofs 0.2.8 but it requires at minimum 0.2.4 version.

Thanks to everyone who helped us to spot, fix bugs, provided patches, artwork or translations.

August 25, 2007 06:34 PM

Planet Debian

Christian Perrier: Back home

We're just back home after spending two weeks enjoying the wonders (and heat and forest fires...scirocco, mamma mia!) of Sicily.

We had no network at the hotel and Italian (or sicilian, or just Cefalù's) Internet Cafés just suck (only a few computers running Windows while I forgot my special "Putty key" and no way to connect my laptop).

So, 8000 mails to read (plus 6400 spams gently sorted by CRM114). I'll be busy for the next few days and I cross my fingers for no disasters on my packages.

...ah, apparently a KDE transition is in progress if I believe the output of "aptitude dist-upgrade" on my laptop...:-)

August 25, 2007 06:20 PM

Ajaxian

Proto.Menu: Prototype-based Context Menu Solution

To round off the weekend, here’s a very cool Prototype-based solution for creating context menus: Description Proto.Menu is a simple and lightweight prototype-based solution for context menu functionality on your page Features: Lightweight: ~2 KB (~1.5 KB minified) Unobtrusive: Plays nice with JS turned off, uses its own namespace Cross-browser: Full A-Graded browsers support (Opera is supported through Ctrl + Left [...]

August 25, 2007 06:15 PM

Planet Debian

Joachim Breitner: TTF-Glyph in pdflatex output

For a project of mine, I had the dire need of getting the Unicode character ⚰ (U+26B0 COFFIN) in a PDF file created with pdflatex. I could find no latex package that provides this or a similar character, so I had to do it myself.

There are some HOWTOs on how to use a TrueType font in pdflatex, but all of them thought that you are trying to use the font for your regular text, not just for the one strange glyph. So based on these, here is what I did:

All in all you need to keep the files burial.enc, burial.sty, burial.tfm and t1burial.fd in the directory of your TeX file. I did not check how to install the files globally.

If you think this is done horribly wrong, please feel free to tell me how it should be done instead.

August 25, 2007 06:11 PM

Planet Eclipse

Nicolas Richeton: Media Flow :-)

Although I had other things to work on, I couldn’t resist to make an OpenGL library viewer for ShareMedia, my RCP based media management and sharing application. This was really easy : I only had to reuse the OpenGL full screen viewer I made w/ LWJGL some months ago and thanks to RCP extension points, it tooks less than 1h.

Work is still necessary to fix some small remaining issues and enable media selection using the mouse. But, hey, it already looks great :-)


Media Flow :-)

This library view will be available in the next release of Sharemedia (probably next week).

August 25, 2007 05:56 PM

Planet XML

Where No Search Engine Has Gone Before

It was perhaps inevitable - having turned the geospatial Earth into an animated, zoomable extravaganza, Google has turned its gaze skyward. With Google Sky, the tens of thousands of Hubble based images (as well as those of more prosaic Earth-bound...

August 25, 2007 05:46 PM

Wine-doors

Wine-doors status: road to 0.1.1

The 0.1 release went quite well, but as always we never did manage to iron out all of the problems, even introducing new ones close to completion. As a result of this I’m currently wading through the bugs and preparing 0.1.1 this has involved adding some minor features and fixing outstanding issues that we already [...]

August 25, 2007 05:37 PM

unofficial planet python

The Dreamer: Lookup

Most of my writing inside the browser is done with the combination of the It’s All Text extension and Vim. During this writing, I use words whose meaning I know vaguely but don’t know the exact usage, and in such cases, I usually open a new browser window and look up the meaning of the word in an online dictionary. This process of looking up the dictionary meaning was getting rather tedious, so I wrote a small Vim plugin today to do this job with a simple command.

To use the plugin, first install BeautifulSoup. Then, get my lookup.vim script and copy it to ~/.vim/plugin/.

Next time you use Vim, just place your cursor over any word and run :Lookup, and you’ll see something like this:

lookup.vim screenshot

Since, this is the only command starting with L on my Vim installation, I just end up running :L. Of course, you can always create your own keyboard shortcuts to make it easier.


© Swaroop for Swaroop C H, The Dreamer, 2007. | Permalink | Add your comment

Want more on these topics ? Browse the archive of posts filed under Vim, Python, Tech.

August 25, 2007 05:35 PM

Lawrence Oluyede's Blog (Lawrence Oluyede): SGML Python parsers benchmark

SGML is an ISO standard to define markup standards. Two of its derivatives are HTML and XML (XHTML is an application of XML itself).

The standard library provides a lot of modules to parse HTML and XML. In my benchmark today I decided to consider only the ones oriented to HTML (and SGML since it’s a kind of superset) cheating a bit and letting them handle XML also. I know it’s not really fair but I’m a free man so let’s go on.

To do the benchmark I obviously needed some data so I wrote a script to extract the HTML URLs (homepages) and XML URLs (feeds) from the OPML exported by my feed reader.

The script is very simple and straightforward: loads the OPML file in cElementTree, scans the outlines with XPath-like syntax and for each outline downloads the related URLs storing the content in two separated directories.

Let me say that cElementTree is fast, really really fast!

Now I have 454 files full of content: 227 HTML pages, 227 XML feeds. Roughly 22 mega bytes of content to feed to the parses. Let’s presume a lot of that content isn’t even valid according to the specific standards (HTML, XML, Atom, RSS). Anyway, I don’t have to validate the content so I just don’t care.

The modules considered for this benchmark are: HTMLParser, sgmllib, BeautifulSoup and sgmlop. I ignored all the plethora of XML only libraries because there are plenty of benchmarks out there and I ignored htmllib because it sits upon sgmllib so there’s no point in benchmarking it too.

This bench does not do anything with the content, just feeds it to the parser. Any kind of error is collected in a list to let me know how many errors the parsers encounter.

The data is preloaded in memory so no time to open the file descriptor and read the content is measured. Every parser has been fed with HTML and XML content separately.

The machine used is a Core Duo 2GHz MacBook with 2 GB of RAM. Python’s version is 2.5.1.

These are my results:

rhymes@groove ~% python sgmlbench.py                                                                                           
HTMLParser, only HTML - time: 5.1607260704, errors: 37
HTMLParser, only XML - time: 3.56549191475, errors: 98
Total: 8.726218

sgmllib.SGMLParser, only HTML - time: 7.36616611481, errors: 1
sgmllib.SGMLParser, only XML - time: 4.22875499725, errors: 0
Total: 11.594921

BeautifulSoup, only HTML - time: 23.7593009472, errors: 5
BeautifulSoup, only XML - time: 10.1111578941, errors: 0
Total: 33.870459

sgmlop.SGMLParser, only HTML - time: 0.473984956741, errors: 0
sgmlop.SGMLParser, only XML - time: 0.443637132645, errors: 0
Total: 0.917622

Draw any conclusion you might like.

You can find the archive containing the whole data including the scripts online.

August 25, 2007 05:25 PM

Planet GNOME

Ryan Lortie: delayed-apply, again

my thought experiment on delayed-apply dialogs yesterday got quite a strong response. the response was generally to the effect of “please, oh god, no!“. that’s sort of what i expected :)

the reason i was thinking about this at all is because jon mccann had sent me an email saying that he wanted to use dconf for his gdm rewrite. after a talk on jabber with him i realised that dconf currently has no support for delayed-apply — it has been engineered under the assumption of instant-apply.

jon’s problem is that changes to gdm config might involve starting or stopping x servers and the like. what he really wants is to get a single change notification for a bunch of changes that the user has made (instead of one at a time). he’s not the first person to have requested this. lennart mentioned something similar.

this got me thinking. the solution i came up with was to support an idea of a “transaction” on a given path in the dconf database. there were to be 4 apis for dealing with these transactions:

dconf_transaction_start (const char *path);
dconf_transaction_end (const char *path);
dconf_transaction_commit (const char *path);
dconf_transaction_revert (const char *path);

these “transactions” would be implemented in a very trivial (but perhaps confusing way):

if a process had a transaction registered for a given path (say “/apps/gdm/”) then:

all redirection is done on the client — not the server. the set requests that the client sends to the server are actually explicitly for the keys inside of “.working-set”.

if two people open transactions on conflicting paths then, well, you lose. you could easily get into a situation where /apps/gdm/foo is represented by both /apps/.working-set/gdm/foo and /apps/gdm/.working-set/foo. too bad. lock on the same resource if you require sanity.

commit would mean “copy the all of /apps/gdm/.working-set/ down to /apps/gdm/ and destroy the working set”.

revert would mean “unset everything in /apps/gdm/.working-set/” (ie: destroy the working set).

the idea is that a delayed-apply dialog box would open a transaction on startup and close the transaction on exit. it would continue to read and write keys directly to /apps/gdm/* but because of the open transaction its reads and writes would actually be redirected to the working set. the gdm daemon would see no changes on the actual keys until a commit occured.

the question that inspired yesterday’s blog entry: what is the lifecycle of the working set?

consider a problem with delayed-apply dialogs: what happens if two of them are open? in the instant apply case this is easy: the two dialog boxes affect each other in realtime. if you check something off in one of them then the other updates straight away. for delayed-apply this is very much more difficult.

if the first user applies, do the settings of the second user get wiped out? does the second user ignore the first user’s changes and write their own set over top? do we have some complicated merge operation? do we ask the user what they meant? insanity lies this way.

with the working set idea, the two dialogs would simply both be in on a sort of “shared transaction”. they would see each other’s changes in realtime but the changes would not be visible to gdm until one of them called commit(). it would be impossible to get into a position where you’d have to think about merging inconsistent sets of changes. pretty cool stuff.

under this mode of thinking, obviously if user1 opens the dialog, makes some changes, then user2 opens the dialog (and sees the unapplied changes made by user1) and then user1 closes the dialog, user2’s dialog would still contain the changes in progress.

so the lifecycle of the working set is at least as long as one person has a dialog open.

it’s easy (and probably fitting with existing user expectations) to make the lifecycle of the working set exactly as long as one person has a dialog open. to do this requires that the dconf server track processes and keep some sort of a refcount on how many people are interested in the working set. when the last caller disappears then the working set is automatically destroyed.

it’s obviously a very simple change in code, though, to make the dconf server fail to destroy the working set on the exit of the last dialog. this is what gave me the idea of having a working set of changes that stuck around after you dismissed a dialog.

it’s also a very simple change in code to cause the dconf server to deny the second process’s attempt to open a transaction when a current transaction is open. this sidesteps the whole “two dialog boxes open” problem rather effectively, but is far less fun if the code that is already written is perfectly capable of handling it.

the most useful affect of my blog entry is that it immediately started a discussion on #gnome-hackers. a few minutes after posting, owen asked me if i was around for the whole “72 buttons in the gnome 1.x control centre” mess. havoc joined in with the beating me about the head. together they made some very good points:

there’s