Domain: sourceforge.net
Stories and comments across the archive that link to sourceforge.net.
Stories · 1,414
-
Slashback: Echo, Lunchbox, Questions
TodLiebeck writes "The Echo framework, which is used for creating web applications that approach the functionality of rich clients, has received some significant updates since its last showing on Slashdot. The community-developed EchoPoint component library has hit v1.0 and now provides more than 50 components such as a chart container and a rich text editor. The recently released version 1.1 of Echo is now available under the Mozilla Public License (in addition to the LGPL). More information can be found in these two announcements on TheServerSide, and this recent article in the SDTimes." shimmerkid writes "After seeing almost nothing about audiolunchbox.com in your recent story about the perfect online music store, I felt a little vindicated when I received an email newsletter from them claiming they have become the "largest independent digital music store in the world." They have added Beggars/Matador and Kill Rock Stars among others, promising a total of 500,000 tracks (at 99 cents a track for unrestricted 192 kbps MP3 and Ogg) by December, and over a million tracks in 2005. The best part is that they pay the artists 65 cents a track."Noksagt writes "The 50 questions for Bush and Kerry that were moderated and commented on in a previous /. story have been pared down to 20.
Vote for 10 of them at The New Voters Project Presidential Youth Debate. You don't even need /. mod points--just a valid email address!" -
Slashback: Echo, Lunchbox, Questions
TodLiebeck writes "The Echo framework, which is used for creating web applications that approach the functionality of rich clients, has received some significant updates since its last showing on Slashdot. The community-developed EchoPoint component library has hit v1.0 and now provides more than 50 components such as a chart container and a rich text editor. The recently released version 1.1 of Echo is now available under the Mozilla Public License (in addition to the LGPL). More information can be found in these two announcements on TheServerSide, and this recent article in the SDTimes." shimmerkid writes "After seeing almost nothing about audiolunchbox.com in your recent story about the perfect online music store, I felt a little vindicated when I received an email newsletter from them claiming they have become the "largest independent digital music store in the world." They have added Beggars/Matador and Kill Rock Stars among others, promising a total of 500,000 tracks (at 99 cents a track for unrestricted 192 kbps MP3 and Ogg) by December, and over a million tracks in 2005. The best part is that they pay the artists 65 cents a track."Noksagt writes "The 50 questions for Bush and Kerry that were moderated and commented on in a previous /. story have been pared down to 20.
Vote for 10 of them at The New Voters Project Presidential Youth Debate. You don't even need /. mod points--just a valid email address!" -
Open Source Speech Recognition - With Source
Paul Lamere writes " This story on ZD-Net and this recent story on Slashdot describes the recent open sourcing of IBM's voice recognition software. This release, unfortunately, doesn't include any source for the actual speech recognition engine. Olaf Schmidt, a developer on the KDE Accessibility Project , is quoted as saying 'There is no speech-recognition system available for Linux, which is a big gap.' In an attempt to close this gap, we have just released Sphinx-4, a state-of-the-art, speaker-independent, continuous speech recognition system written entirely in the Java programming language. It was created by researchers and engineers from Sun, CMU, MERL, HP, MIT and UCSC. Despite (or because of) being written in the Java programming language, Sphinx-4 performs as well as similar systems written in C. Here are the release notes and some performance data." -
Open Source Speech Recognition - With Source
Paul Lamere writes " This story on ZD-Net and this recent story on Slashdot describes the recent open sourcing of IBM's voice recognition software. This release, unfortunately, doesn't include any source for the actual speech recognition engine. Olaf Schmidt, a developer on the KDE Accessibility Project , is quoted as saying 'There is no speech-recognition system available for Linux, which is a big gap.' In an attempt to close this gap, we have just released Sphinx-4, a state-of-the-art, speaker-independent, continuous speech recognition system written entirely in the Java programming language. It was created by researchers and engineers from Sun, CMU, MERL, HP, MIT and UCSC. Despite (or because of) being written in the Java programming language, Sphinx-4 performs as well as similar systems written in C. Here are the release notes and some performance data." -
Impress Your Friends With A 3D Desktop Pager
xiando writes "3D-Desktop is a window pager for Linux. It works with any window manager and the screenshots look very impressive. The idea is to allow you to look at all your virtual desktops in different 3D views." -
Gaim Maintainer Rob Flynn Interviewed
gaimster writes "LinuxQuestions.org just interviewed gaim maintainer Rob Flynn. gaim version 1.0.0 was recently released and it has been the most active project on SourceForge for a while. In the interview, Rob explains what it's like to maintain such a popular project, how he got involved with gaim and what he thinks of some of the IM protocols that gaim supports. He also explains the Ebay auctions that gaim had a while back." -
Gaim Maintainer Rob Flynn Interviewed
gaimster writes "LinuxQuestions.org just interviewed gaim maintainer Rob Flynn. gaim version 1.0.0 was recently released and it has been the most active project on SourceForge for a while. In the interview, Rob explains what it's like to maintain such a popular project, how he got involved with gaim and what he thinks of some of the IM protocols that gaim supports. He also explains the Ebay auctions that gaim had a while back." -
DSPAM v3.2 Beta-1 Released
Nuclear Elephant writes "After three months of development, the first public beta of DSPAM v3.2 has been released for testing. New features include SQLite support, A Win32 build supplement, extensions API, and some advanced new processing functionality such as Bill Yerazunis' (CRM114) Sparse Binary Polynomial Hashing and v1.2 of the author's Bayesian Noise Reduction Logic. Accuracy in 3.x has reportedly peaked as high as 99.991% (2 errors in 22,786 messages). Grab the new copy and participate in the request for feedback." -
DSPAM v3.2 Beta-1 Released
Nuclear Elephant writes "After three months of development, the first public beta of DSPAM v3.2 has been released for testing. New features include SQLite support, A Win32 build supplement, extensions API, and some advanced new processing functionality such as Bill Yerazunis' (CRM114) Sparse Binary Polynomial Hashing and v1.2 of the author's Bayesian Noise Reduction Logic. Accuracy in 3.x has reportedly peaked as high as 99.991% (2 errors in 22,786 messages). Grab the new copy and participate in the request for feedback." -
Metaprogramming GPUs with Sh
Martin Ecker writes "With the advent of powerful, programmable GPUs in consumer graphics hardware, an increasing number of shading languages to program these GPUs has become available. One quite interesting language that - in many ways - has a very different approach than other mainstream shading languages (such as Cg or the OpenGL Shading Language) is Sh. The recently released book "Metaprogramming GPUs with Sh" by Michael McCool and Stefanus Du Toit, both major contributors to the Sh project, explains the basics of the Sh high-level shading language and the corresponding API and also goes into some of the details of the implementation. The book is intended for an audience that is already familiar with traditional shader development for programmable GPUs. Also, a firm background in 3D graphics programming and C++ is a must for the interested reader." Read on for the rest. Metaprogramming GPUs with Sh author Michael McCool, Stefanus Du Toit pages 308 publisher A K Peters rating 7/10 reviewer Martin Ecker ISBN 0321197895 summary A book that describes an interesting shading language and accompanying API to program GPUs.
Before discussing the book in more detail, I will try to give a basic overview of Sh, since most readers will not be familiar with it. For a more in-depth look at Sh, I recommend taking a look at a recently posted Gamasutra article by Michael McCool (http://www.gamasutra.com/features/20040716/mccool _01.shtml), the paper on Sh from the authors presented at the recently held SIGGRAPH 2004 conference (http://www.cgl.uwaterloo.ca/Projects/rendering/Pa pers/#algebra), and of course the Sh homepage at http://www.libsh.org.
Sh started out as a research project at the University of Waterloo (http://www.cgl.uwaterloo.ca), and it is both a shading language and a runtime API to use the Sh shaders. As a shading language Sh is embedded into C++ as a domain-specific language, which is made possible by using C++ operator overloading and by defining special tuple and matrix types that are used extensively in shader code. So instead of defining its own language that requires a full compiler, like other shading languages do, Sh uses regular C++ syntax to describe shader code, which is then dynamically (at runtime) compiled to a specific backend, such as a GPU or possibly even the CPU. In addition to compiling to a specific GPU or CPU target, Sh can also be used in a special stream mode where a shader is applied to a stream of input tuples. This is very useful for general purpose GPU programming where the GPU is basically used as an additional processor to the host CPU (see http://www.gpgpu.org for more information on the subject). Finally, Sh code can also be executed in an immediate mode where every Sh statement is directly executed on the host CPU (without being compiled into a shader program), which makes it very easy to debug shaders with any host debugger running on the CPU.
Due to the way Sh is embedded into C++, the full range of abstraction mechanisms offered by C++ can be used to structure and modularize shader code. Abstract base classes, regular functions, templates, and any other features offered by C++ can be used to develop shaders. This is an interesting consequence of the metaprogramming approach of Sh that also allows the use of software engineering principles in shader development, such as object orientation, that other shading languages currently cannot offer.
This kind of metaprogramming in C++ is used by an increasing number of libraries. For example, the Spirit parser framework (see http://spirit.sourceforge.net) uses a similar approach to describe and generate parsers directly in C++ instead of using traditional external tools, such as yacc or bison.
One of the most fascinating features of the Sh toolkit is the possibility to combine and connect shader programs to form new shader programs, which allows one to easily build complex shaders out of simple shader fragments. In a more general sense, Sh provides what can be called a shader algebra (see also the aforementioned SIGGRAPH 2004 paper), where shader programs are the objects on which special operators to combine and connect them are defined. An interesting application of this shader algebra is to specifically bind certain varying shader inputs to uniform variables and the other way around (this is what functional programming languages usually call currying). Also combining a matrix palette skinning shader with any light model shader (or any shaders that perform specific tasks, for that matter) is easily possible.
After this short introduction to the Sh toolkit, we shall now take a closer look at the book "Metaprogramming GPUs with Sh".
The book is split into three parts, an introduction, a reference, and an engineering overview.
The introduction consists of the first five chapters and discusses the basics of the Sh shading language and the API. In particular, the tuple and matrix types and the operators defined on them are presented. The way shader programs are defined and how parameters and attributes are handled is discussed, followed by the way textures are represented. Finally, the stream and channel concept used to feed data into shader programs is discussed. These introductory chapters contain a number of examples that demonstrate the presented concepts. Chapter three contains a quite interesting sample shader that uses constructive solid geometry techniques and metaprogramming in Sh to render text. While not the most useful use case, the shader shows some interesting capabilities of Sh, in particular the shader algebra operators. Chapter four on textures has some more nice sample shaders for doing shiny bump mapping, rendering wood and marble, and using Worley noise.
The second part of the book is a reference on Sh. Unlike references in many other computer books, this is not just a technical listing of the available features of Sh but is written in regular prose (with the occasional reference-like table here and there). The six chapters of the reference section describe how to setup and use the Sh library, and then discuss the available types, operators, and standard library functions more thoroughly than in the introduction. Additionally, the available backends are mentioned in the last chapter of this part of the book. A draft of the reference manual can also be found online at http://www.libsh.org/ref/online.
The final part of the book deals with engineering aspects of Sh. These final five chapters of the book discuss the details of the current implementation. The intermediate representation for shaders that is used by Sh is presented as well as how streams and textures are managed and stored internally. The interface between the Sh frontend and the various specific backends is discussed, as well as the current state of the optimizer including some further improvements that are planned in the future.
The images in the book are all in black and white except for 14 color plates in the middle of the book. The color plates and other images usually show teapots or animals, so they aren't all that exciting, but do demonstrate what the sample shaders presented in the book look like.
The book does not come with a CD-ROM, but with such a young library that is still under heavy development, putting a snapshot of the library's source code base on a CD-ROM would be a waste of resources. Sh itself as well as all sample shaders presented in the book can be downloaded from the Sh homepage at http://www.libsh.org. This website also has additional documentation, including some papers and the API reference documentation generated with Doxygen from the sources. Sh is distributed under a very liberal open source license (based on the zlib/libpng license) that also allows commercial use.
For the reader with enough expertise in 3D and shader programming, this book provides a concise and well-written introduction to Sh. The book will definitely contribute to enlarging the currently relative small user base of Sh and hopefully help the library grow and get more refined in the near future. Everyone familiar with "regular" high-level shading languages, such as Cg or the OpenGL Shading Language, should take a look at this book to see a new and interesting way of programming GPUs that the aforementioned languages do not offer.
About the review author:
The author has been involved in real-time graphics programming for more than 9 years and works as a games developer for arcade games. In his rare spare time he works on a graphics-related open source project called XEngine http://xengine.sourceforge.net.
You can purchase Metaprogramming GPUs with Sh from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Metaprogramming GPUs with Sh
Martin Ecker writes "With the advent of powerful, programmable GPUs in consumer graphics hardware, an increasing number of shading languages to program these GPUs has become available. One quite interesting language that - in many ways - has a very different approach than other mainstream shading languages (such as Cg or the OpenGL Shading Language) is Sh. The recently released book "Metaprogramming GPUs with Sh" by Michael McCool and Stefanus Du Toit, both major contributors to the Sh project, explains the basics of the Sh high-level shading language and the corresponding API and also goes into some of the details of the implementation. The book is intended for an audience that is already familiar with traditional shader development for programmable GPUs. Also, a firm background in 3D graphics programming and C++ is a must for the interested reader." Read on for the rest. Metaprogramming GPUs with Sh author Michael McCool, Stefanus Du Toit pages 308 publisher A K Peters rating 7/10 reviewer Martin Ecker ISBN 0321197895 summary A book that describes an interesting shading language and accompanying API to program GPUs.
Before discussing the book in more detail, I will try to give a basic overview of Sh, since most readers will not be familiar with it. For a more in-depth look at Sh, I recommend taking a look at a recently posted Gamasutra article by Michael McCool (http://www.gamasutra.com/features/20040716/mccool _01.shtml), the paper on Sh from the authors presented at the recently held SIGGRAPH 2004 conference (http://www.cgl.uwaterloo.ca/Projects/rendering/Pa pers/#algebra), and of course the Sh homepage at http://www.libsh.org.
Sh started out as a research project at the University of Waterloo (http://www.cgl.uwaterloo.ca), and it is both a shading language and a runtime API to use the Sh shaders. As a shading language Sh is embedded into C++ as a domain-specific language, which is made possible by using C++ operator overloading and by defining special tuple and matrix types that are used extensively in shader code. So instead of defining its own language that requires a full compiler, like other shading languages do, Sh uses regular C++ syntax to describe shader code, which is then dynamically (at runtime) compiled to a specific backend, such as a GPU or possibly even the CPU. In addition to compiling to a specific GPU or CPU target, Sh can also be used in a special stream mode where a shader is applied to a stream of input tuples. This is very useful for general purpose GPU programming where the GPU is basically used as an additional processor to the host CPU (see http://www.gpgpu.org for more information on the subject). Finally, Sh code can also be executed in an immediate mode where every Sh statement is directly executed on the host CPU (without being compiled into a shader program), which makes it very easy to debug shaders with any host debugger running on the CPU.
Due to the way Sh is embedded into C++, the full range of abstraction mechanisms offered by C++ can be used to structure and modularize shader code. Abstract base classes, regular functions, templates, and any other features offered by C++ can be used to develop shaders. This is an interesting consequence of the metaprogramming approach of Sh that also allows the use of software engineering principles in shader development, such as object orientation, that other shading languages currently cannot offer.
This kind of metaprogramming in C++ is used by an increasing number of libraries. For example, the Spirit parser framework (see http://spirit.sourceforge.net) uses a similar approach to describe and generate parsers directly in C++ instead of using traditional external tools, such as yacc or bison.
One of the most fascinating features of the Sh toolkit is the possibility to combine and connect shader programs to form new shader programs, which allows one to easily build complex shaders out of simple shader fragments. In a more general sense, Sh provides what can be called a shader algebra (see also the aforementioned SIGGRAPH 2004 paper), where shader programs are the objects on which special operators to combine and connect them are defined. An interesting application of this shader algebra is to specifically bind certain varying shader inputs to uniform variables and the other way around (this is what functional programming languages usually call currying). Also combining a matrix palette skinning shader with any light model shader (or any shaders that perform specific tasks, for that matter) is easily possible.
After this short introduction to the Sh toolkit, we shall now take a closer look at the book "Metaprogramming GPUs with Sh".
The book is split into three parts, an introduction, a reference, and an engineering overview.
The introduction consists of the first five chapters and discusses the basics of the Sh shading language and the API. In particular, the tuple and matrix types and the operators defined on them are presented. The way shader programs are defined and how parameters and attributes are handled is discussed, followed by the way textures are represented. Finally, the stream and channel concept used to feed data into shader programs is discussed. These introductory chapters contain a number of examples that demonstrate the presented concepts. Chapter three contains a quite interesting sample shader that uses constructive solid geometry techniques and metaprogramming in Sh to render text. While not the most useful use case, the shader shows some interesting capabilities of Sh, in particular the shader algebra operators. Chapter four on textures has some more nice sample shaders for doing shiny bump mapping, rendering wood and marble, and using Worley noise.
The second part of the book is a reference on Sh. Unlike references in many other computer books, this is not just a technical listing of the available features of Sh but is written in regular prose (with the occasional reference-like table here and there). The six chapters of the reference section describe how to setup and use the Sh library, and then discuss the available types, operators, and standard library functions more thoroughly than in the introduction. Additionally, the available backends are mentioned in the last chapter of this part of the book. A draft of the reference manual can also be found online at http://www.libsh.org/ref/online.
The final part of the book deals with engineering aspects of Sh. These final five chapters of the book discuss the details of the current implementation. The intermediate representation for shaders that is used by Sh is presented as well as how streams and textures are managed and stored internally. The interface between the Sh frontend and the various specific backends is discussed, as well as the current state of the optimizer including some further improvements that are planned in the future.
The images in the book are all in black and white except for 14 color plates in the middle of the book. The color plates and other images usually show teapots or animals, so they aren't all that exciting, but do demonstrate what the sample shaders presented in the book look like.
The book does not come with a CD-ROM, but with such a young library that is still under heavy development, putting a snapshot of the library's source code base on a CD-ROM would be a waste of resources. Sh itself as well as all sample shaders presented in the book can be downloaded from the Sh homepage at http://www.libsh.org. This website also has additional documentation, including some papers and the API reference documentation generated with Doxygen from the sources. Sh is distributed under a very liberal open source license (based on the zlib/libpng license) that also allows commercial use.
For the reader with enough expertise in 3D and shader programming, this book provides a concise and well-written introduction to Sh. The book will definitely contribute to enlarging the currently relative small user base of Sh and hopefully help the library grow and get more refined in the near future. Everyone familiar with "regular" high-level shading languages, such as Cg or the OpenGL Shading Language, should take a look at this book to see a new and interesting way of programming GPUs that the aforementioned languages do not offer.
About the review author:
The author has been involved in real-time graphics programming for more than 9 years and works as a games developer for arcade games. In his rare spare time he works on a graphics-related open source project called XEngine http://xengine.sourceforge.net.
You can purchase Metaprogramming GPUs with Sh from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
iRiver H320 (Almost) Hits The Market
skyshock21 writes "iRiver appears to now be taking pre-orders for their H320 hard drive MP3 player. This is the one with the color screen that was featured on Slashdot a while back. Although it doesn't support .flac files like the Rio Karma, it does support .ogg, in addition to the usual file formats (mp3, .wmv, .asf, .wav) and sports a nifty color screen. There is also a review posted on CNET." -
Irrlicht - Fast Realtime 3D Engine
Surye writes "Though a few days late on the release, Irrlicht has released version 0.7 of its engine. The site describes it as 'an open source high performance realtime 3D engine written in C++. It is completely cross-platform, using D3D, OpenGL and its own software renderer, and has all of the state-of-the-art features which can be found in commercial 3d engines.' Bindings for java, perl, ruby, and python, and it is platform independent (only implemented currently on Windows and Linux, but when it moves to other platforms, the code will be completely portable). The feature list is simply amazing, and since it's still being quite actively developed, I can see this becoming a major player soon." -
Irrlicht - Fast Realtime 3D Engine
Surye writes "Though a few days late on the release, Irrlicht has released version 0.7 of its engine. The site describes it as 'an open source high performance realtime 3D engine written in C++. It is completely cross-platform, using D3D, OpenGL and its own software renderer, and has all of the state-of-the-art features which can be found in commercial 3d engines.' Bindings for java, perl, ruby, and python, and it is platform independent (only implemented currently on Windows and Linux, but when it moves to other platforms, the code will be completely portable). The feature list is simply amazing, and since it's still being quite actively developed, I can see this becoming a major player soon." -
Gaim Releases Version 1.0.0
bfree writes "Congratulations to all in the gaim team as they release for download version 1.0.0 (changelog). For those who don't know what gaim is, you could read the full answer on their site but for the lazy: 'Gaim is a multi-protocol instant messaging (IM) client for Linux, BSD, MacOS X, and Windows. It is compatible with AIM (Oscar and TOC protocols), ICQ, MSN Messenger, Yahoo!, IRC, Jabber, Gadu-Gadu, and Zephyr networks.' Gaim is also the 2nd most active project on Sourceforge and the 4th most popular on Freshmeat and seemingly all round #1 Free IM client!" -
Gaim Releases Version 1.0.0
bfree writes "Congratulations to all in the gaim team as they release for download version 1.0.0 (changelog). For those who don't know what gaim is, you could read the full answer on their site but for the lazy: 'Gaim is a multi-protocol instant messaging (IM) client for Linux, BSD, MacOS X, and Windows. It is compatible with AIM (Oscar and TOC protocols), ICQ, MSN Messenger, Yahoo!, IRC, Jabber, Gadu-Gadu, and Zephyr networks.' Gaim is also the 2nd most active project on Sourceforge and the 4th most popular on Freshmeat and seemingly all round #1 Free IM client!" -
Gaim Releases Version 1.0.0
bfree writes "Congratulations to all in the gaim team as they release for download version 1.0.0 (changelog). For those who don't know what gaim is, you could read the full answer on their site but for the lazy: 'Gaim is a multi-protocol instant messaging (IM) client for Linux, BSD, MacOS X, and Windows. It is compatible with AIM (Oscar and TOC protocols), ICQ, MSN Messenger, Yahoo!, IRC, Jabber, Gadu-Gadu, and Zephyr networks.' Gaim is also the 2nd most active project on Sourceforge and the 4th most popular on Freshmeat and seemingly all round #1 Free IM client!" -
Gaim Releases Version 1.0.0
bfree writes "Congratulations to all in the gaim team as they release for download version 1.0.0 (changelog). For those who don't know what gaim is, you could read the full answer on their site but for the lazy: 'Gaim is a multi-protocol instant messaging (IM) client for Linux, BSD, MacOS X, and Windows. It is compatible with AIM (Oscar and TOC protocols), ICQ, MSN Messenger, Yahoo!, IRC, Jabber, Gadu-Gadu, and Zephyr networks.' Gaim is also the 2nd most active project on Sourceforge and the 4th most popular on Freshmeat and seemingly all round #1 Free IM client!" -
Gaim Releases Version 1.0.0
bfree writes "Congratulations to all in the gaim team as they release for download version 1.0.0 (changelog). For those who don't know what gaim is, you could read the full answer on their site but for the lazy: 'Gaim is a multi-protocol instant messaging (IM) client for Linux, BSD, MacOS X, and Windows. It is compatible with AIM (Oscar and TOC protocols), ICQ, MSN Messenger, Yahoo!, IRC, Jabber, Gadu-Gadu, and Zephyr networks.' Gaim is also the 2nd most active project on Sourceforge and the 4th most popular on Freshmeat and seemingly all round #1 Free IM client!" -
FORTRAN 2003 Accepted as Standard
GraWil writes "Despite the nay sayers citing its death in 1965, the FORTRAN standards committee has now released the final FORTRAN 2003 specification. In an announcement to the comp.lang.fortran group, Michael Metcalf annouced that 'Fortran 2003 has passed its ballot with flying colours: 20 yeses, 0 noes, 8 abstains.' Strictly speaking, the 2003 and past standards are not freely available but drafts can be found online. FORTRAN 2003 is an upwardly-compatible extension of the current standard, FORTRAN 95, adding and extending support for exception handling, object-oriented programming, and improved interoperability with the C language. In other FORTRAN news, the GNU FORTRAN 95 compiler has made amazing progress over the past year. Gfortran will be part of gcc-4.0 when released (probably in 2005)." -
FORTRAN 2003 Accepted as Standard
GraWil writes "Despite the nay sayers citing its death in 1965, the FORTRAN standards committee has now released the final FORTRAN 2003 specification. In an announcement to the comp.lang.fortran group, Michael Metcalf annouced that 'Fortran 2003 has passed its ballot with flying colours: 20 yeses, 0 noes, 8 abstains.' Strictly speaking, the 2003 and past standards are not freely available but drafts can be found online. FORTRAN 2003 is an upwardly-compatible extension of the current standard, FORTRAN 95, adding and extending support for exception handling, object-oriented programming, and improved interoperability with the C language. In other FORTRAN news, the GNU FORTRAN 95 compiler has made amazing progress over the past year. Gfortran will be part of gcc-4.0 when released (probably in 2005)." -
Time-Shifting For The iPod
depechemodem writes "This story at ExtremeiPod talks about a new piece of software from Adam Curry called iPodder (now at Sourceforge) which uses RSS feeds with MP3 enclosures to stream audio to iTunes. The best part is that those streams can be saved as clips automatically on to your iPod or other MP3 player for later listening making this the first portable time-shifted Internet audio application. The code is alse being ported to Windows." -
Debian Hardened Aims For Security
larryg writes "Debian Hardened is a new project that wants be an official Debian sub-project. It aims to provide a complete tree of hardened kernel and software packages for a standard Debian distribution, without changing to another like Adamantix and making easy the hardening of any machine running Debian GNU/Linux. The hardened kernels use the grSecurity patch and some of the Adamantix kernel patches; also, its packages are compiled with the ProPolice/SSP gcc extension and some libraries to prevent and trace buffer overflow attacks. Also, and as a second project, we are working on some enhacements against the Linux Entropy Pool engine, using an external TRNG (True Random Numbers Generator) device which uses thermal noise and also the atomic decay from a Geiger counter, making true unpredictable random numbers." -
AtariST Emulation Finally Lands on Dreamcast
-
Simplifying Linux Driver Installation
prostoalex writes "O'Reilly Network posts an update on Project Utopia that produced Hardware Abstraction Layer for Linux simplifying device changes. They also link to the Driver on Demand project on SourceForge, whose goal is to create a central database to enable Linux desktops download the drivers automatically when the user plugs in her new hardware device." -
When Emulation Isn't Enough
oldskoolar writes "For those of you who find emulation of your favorite Nintendo games disconcerting with a keyboard interface, Joystiq may have just the project you've been looking for. For those of you with more time than most people have ambition; why not couple this hack with an older mod." -
When Emulation Isn't Enough
oldskoolar writes "For those of you who find emulation of your favorite Nintendo games disconcerting with a keyboard interface, Joystiq may have just the project you've been looking for. For those of you with more time than most people have ambition; why not couple this hack with an older mod." -
Open Source Apps for a Law Office?
Pandora's Vox asks: "There seems to be lots of FOSS accounting software out there, including one that is almost exactly what I'm looking for. My father just left a large law firm to set up his own shop, and has been having all sorts of adventures with one of the leading legal billing software packages. It's expensive, inflexible, and monolithic. App by app I'm moving him to open source, which brings me to the question (finally!): is there anything comparable out there in FOSS-land? And if not, a) what's the closest thing, and b) would there be any interest in creating / adapting something for the kinds of time-tracking needs that lawyers have? We're talking minute-by-minute time billing, mostly. With some basic accounting tossed in. I'm hoping to do the lawyer thing in a few years myself, so I figure I should start getting the tools I'll be needing together now. Planning ahead, and all. Thanks a bunch!" -
Open Source Apps for a Law Office?
Pandora's Vox asks: "There seems to be lots of FOSS accounting software out there, including one that is almost exactly what I'm looking for. My father just left a large law firm to set up his own shop, and has been having all sorts of adventures with one of the leading legal billing software packages. It's expensive, inflexible, and monolithic. App by app I'm moving him to open source, which brings me to the question (finally!): is there anything comparable out there in FOSS-land? And if not, a) what's the closest thing, and b) would there be any interest in creating / adapting something for the kinds of time-tracking needs that lawyers have? We're talking minute-by-minute time billing, mostly. With some basic accounting tossed in. I'm hoping to do the lawyer thing in a few years myself, so I figure I should start getting the tools I'll be needing together now. Planning ahead, and all. Thanks a bunch!" -
Fabian Pascal Reacts
Kardamon writes "Fabian Pascal reacts on the recent Slashdot discussion about SQL, XML, and the Relational Database Model, both on DBAzine and on his own web site Database Debunkings. An Open Source implementation of his ideas and those of C.J. Date and Hugh Darwen is REL." -
A GMail-based blog With 1000 MB of entries
Jean-Luc R. writes "Via mediaTIC blog. Gallina is a GMail blog tool created by Jonathan Hernandez that uses GMail messages as "entries" (so 1000 MB of entries!!), replies to conversations are the "entry comments", uses Libgmailer (gmail-lite project) to connect to GMail. It uses XML/XSLT and by the way it's a GPL software. You can download it there. See the Gallina Demo Blog as for an example." -
Firebird At 20 Years
mAriuZ writes "From Jim Starkey: "September 4th is the 20th anniversary of what is now Firebird. I quit my job at DEC in August, took a three day end-of-summer holiday, and began work on September 4, 1984 in my new career as a software entrepreneur. As best as I can reconstruct, the first two files were cpre.c and cpre.h (C preprocessor), later changed to gpre.c and gpre.h. The files were created on a loaner DEC Pro/350, a PDP-11 personal computer that went exactly nowhere, running XENIX. Gpre was my first C program, XENIX was my first experience with Unix, and the Pro/350 was my very last (but not lamented) experience with PDP-11s."" -
Firebird At 20 Years
mAriuZ writes "From Jim Starkey: "September 4th is the 20th anniversary of what is now Firebird. I quit my job at DEC in August, took a three day end-of-summer holiday, and began work on September 4, 1984 in my new career as a software entrepreneur. As best as I can reconstruct, the first two files were cpre.c and cpre.h (C preprocessor), later changed to gpre.c and gpre.h. The files were created on a loaner DEC Pro/350, a PDP-11 personal computer that went exactly nowhere, running XENIX. Gpre was my first C program, XENIX was my first experience with Unix, and the Pro/350 was my very last (but not lamented) experience with PDP-11s."" -
Java Specification Request on Community Currencies
bernfast writes "I've submitted a Java Specification Request on complementary currencies to the Java Community Process. This specification will allow to implement arbitrary units of exchange as Java currencies. Examples are timedollars and other community currencies. This JSR is still in need of an expert group and will probably not receive too much industry suppport, so any help from the open source community is welcome." -
Neither Rain, Nor Snow, Nor Dark of Night...
Digital_Quartz writes "This week's I, Cringely discusses possible plans for ensuring your data survives Hurricane Frances. I've always though remote backups would be the best solution to a problem like this. Maybe even something as simple as hiding a DVD-R under your desk at work, with all your worldly data on it. How do you secure your precious data against earthquakes, hurricanes, and swarms of locusts?" Reader pillageplunder writes "CNN is reporting: 'Scientists say more storms like Frances -- both very intense and very large -- are likely.' They theorize that warming oceans natural cycles are setting the stage. Some interesting facts throughout the article... Forecasting has gotten better, with a 3 day forecast now having a margin of error or 'only' 200 miles." And an anonymous reader writes "For those peer-2-peer geeks stuck in hurricane Frances, you can now listen to Central Florida Indymedia's coverage of the hurricane. In addition to giving updates about the hurricane, they are playing music, interviews, and relaying other radio stations. Possibly more interesting than the content to Slashdot readers will be the fact that it is being done via peer-2-peer. The java program p2p-radio from p2p-radio.sourceforge.net is being used in conjunction with shoutcast to deliver the content. Details on how to connect are available here on Tampa Indymedia's Website." -
openMosix Summit 2005 Announced
axehind writes "The 2nd openMosix Community Summit will be held at FOSDEM 2005 the weekend of February 26 & 27th in Brussels. FOSDEM (Free and Open Source Developers' European Meeting) is a free and non commercial event organized for and by the developer and user community. openMosix is a Linux kernel extension for single-system image clustering." -
openMosix Summit 2005 Announced
axehind writes "The 2nd openMosix Community Summit will be held at FOSDEM 2005 the weekend of February 26 & 27th in Brussels. FOSDEM (Free and Open Source Developers' European Meeting) is a free and non commercial event organized for and by the developer and user community. openMosix is a Linux kernel extension for single-system image clustering." -
openMosix Summit 2005 Announced
axehind writes "The 2nd openMosix Community Summit will be held at FOSDEM 2005 the weekend of February 26 & 27th in Brussels. FOSDEM (Free and Open Source Developers' European Meeting) is a free and non commercial event organized for and by the developer and user community. openMosix is a Linux kernel extension for single-system image clustering." -
openMosix Summit 2005 Announced
axehind writes "The 2nd openMosix Community Summit will be held at FOSDEM 2005 the weekend of February 26 & 27th in Brussels. FOSDEM (Free and Open Source Developers' European Meeting) is a free and non commercial event organized for and by the developer and user community. openMosix is a Linux kernel extension for single-system image clustering." -
Pragmatic Project Automation
twelve71 (Alan Francis) writes "Apologies in advance for overuse of the word 'pragmatic,' but Dave Thomas and Andy Hunt together form a company called The Pragmatic Programmers, and published a book I'm sure many of you have read, titled The Pragmatic Programmer: from Journeyman to Master. The Pragmatic Programmer (or 'PragProg' as it is usually referred to) is a wonderful grab bag of 'good old common sense,' but its main strength (covering a very broad range of subjects) means that the authors have left a few holes around some important details. To plug some of these holes, and provide a good grounding for those just starting out, they have recently published 'The Pragmatic Starter Kit' - a set of books covering in detail some of the basics mentioned in PragProg." Read on for Alan's review of the latest book in the kit. Pragmatic Project Automation author Mike Clark pages http://www.pragmaticprogrammer.com/bookshelf/index.html publisher Pragmatic Bookshelf rating 9 reviewer Alan Francis ISBN 0974514039 summary Learn to use common, freely available tools to automate build, test, and release procedures.The first 2 (or possibly 3) books are Pragmatic Version Control with CVS and Pragmatic Unit Testing (which is available in Java and .NET flavours).
Pragmatic Project Automation is the latest book in the series and, interestingly, this book wasn't actually written by either Dave Thomas or Andy Hunt, but by Mike Clark (contributor to the 'Bitter EJB' book, editor of the JUnit FAQ, and responsible for the JUnitPerf and JDepend tools). Mike does a great job of ensuring this book fits in with the overall style of the other books in the series.
Up front, in case you're a "cut to the chase kind of guy," this book (and the others in the series) are must-haves and as a consultant with ThoughtWorks I'll have a set ready to distribute whenever I start working with a new client team.
Content The book helps the reader build a Java project slowly over the chapters, starting with a manual build-and-deploy process and automating a new aspect of it, chapter by chapter, until by the end of the book the software compiles, archives, deploys and configures itself multiple times a day. In addition, the build tools notify you of success or failure in a variety of interesting ways including email, SMS messages and different colored lava lamps.The first chapter provides a good introduction to the different types of automation available to projects. It also introduces the acronym 'CRISP' to help the reader remember the desirable characteristics of an ideal build process: Complete, Repeatable, Informative, Scheduled and Portable.
Chapter 2 gets you Repeatable by using ANT to bring together all the various steps you currently perform on your project into a single, one-click build. Chapter 3 works to turn the one-click build into a no-click build using tools as simple as cron as well as more complicated tools like the ANT scheduling tool CruiseControl. By the end of these two chapters your software can be compiling and testing itself automatically each time changes are checked into the version control system. But this is only the beginning.
Chapters 4 and 5 address the "Complete" and "Portable" portions of the CRISP model discussing how to include packaging, release management and deployment into your scheduled build. The last chapter addresses "Informative." How to monitor the build for success or failure, how to notify members of the project team using email, SMS, RSS or even the red and green Lava Lamps I mentioned above.
Summary This book, and the others in the series, provide a much needed set of manuals for getting a good set of basic practices up and running at the start of a project. Unlike the Unit Testing book, there's not a lot of programming in this one, but it's a worthwhile read for any programmer, regardless of experience level.Many people are becoming interested in eXtreme Programming and Agile methods for software development. These books help to support some of the key ideas of those methods - extensive unit testing and continuous integration.
The main flaw in the book doesn't affect its usefulness, only its readability. Of all the files used in the sample project, the only one covered in any detail is the build file. The source and manifest files that we're writing the ANT file to build are never discussed or described - we are left to guess at what the sample project might contain (unless we download the code from the website). While this didn't change what I was learning (how to manipulate the project files with ANT), I like to understand all the details and this omission did occasionally leave me a little irritated.
You can purchase Pragmatic Project Automation from bn.com. Slashdot welcomes readers' book reviews. To see your own review here, carefully read the book review guidelines, then visit the submission page. If you are interested in the Pragmatic Programmers, see also this interview linked earlier from Slashdot. -
ORM Goes Open Source
grd000 writes "I have been using Olero Software's Object Relational Mapping and Code Generation Tool (ORM) for Microsoft .NET for the last year or so with great success. I'm delighted to say that yesterday, the Olero folks decided to release their $495 tool as open source. I'm not sure what prompted the decision. Sluggish sales? In any event, this is a boon for .NET developers. ORM speeds up development by generating a C# or VB-targeted object based on a given database schema. Inserts, updates and deletes can be performed using simple or complex criteria in just a few lines of source code, and with transactional support." -
First Unofficial GFS deb Packages
Martin writes "Angelo Ovidi from XFDeb project released the first unofficial deb kernel packages supporting Global File System (GFS recently open source from RedHat) on a 2.6.8.1 vanilla kernel and all the set of utilities for GFS clustering (GULM, CCS, etc). The kernel was patched using the most recent CVS stuff from RedHat and it seems stable. I have tested on some servers. It has GNBD integrated in a monolithic way and it's ok. You can find all the stuff at xfdeb.sourceforge.net." In particular, here are kernel packages and GFS related packages. -
First Unofficial GFS deb Packages
Martin writes "Angelo Ovidi from XFDeb project released the first unofficial deb kernel packages supporting Global File System (GFS recently open source from RedHat) on a 2.6.8.1 vanilla kernel and all the set of utilities for GFS clustering (GULM, CCS, etc). The kernel was patched using the most recent CVS stuff from RedHat and it seems stable. I have tested on some servers. It has GNBD integrated in a monolithic way and it's ok. You can find all the stuff at xfdeb.sourceforge.net." In particular, here are kernel packages and GFS related packages. -
First Unofficial GFS deb Packages
Martin writes "Angelo Ovidi from XFDeb project released the first unofficial deb kernel packages supporting Global File System (GFS recently open source from RedHat) on a 2.6.8.1 vanilla kernel and all the set of utilities for GFS clustering (GULM, CCS, etc). The kernel was patched using the most recent CVS stuff from RedHat and it seems stable. I have tested on some servers. It has GNBD integrated in a monolithic way and it's ok. You can find all the stuff at xfdeb.sourceforge.net." In particular, here are kernel packages and GFS related packages. -
Accurate ANSI Emulation in Mac OS X?
bedouin writes "I occasionally telnet to some BBSs that are very rich in ANSI graphics. While I can usually navigate fine through message areas and file boards, playing classic door games like Food Fight is almost unbearable. For about a year I've been searching for a Mac OS X terminal emulator that can accurately draw ANSI graphics just as they would appear on DOS systems with ansi.sys, but haven't found anything yet. Any suggestions? A native (and free or shareware) Mac OS X app would be prefered, but I'm willing to use an X11 or maybe even classic alternative as well. So far I've experimented with iTerm, GLterm, and aterm with unimpressive results." -
Closest Ever Asteroid Passage Revealed
tricaric writes "Another asteroid passed, last March 31st, close to the Earth. This time it was only about 2 Earth radii from the Earth. The observation have been published only a few days ago, because 'Although the observed arc is only 44 minutes, the orbit is quite determinate and, given the exceptional nature of this close approach, the object is now receiving a designation.' Check out the ORSA animation!" -
Closest Ever Asteroid Passage Revealed
tricaric writes "Another asteroid passed, last March 31st, close to the Earth. This time it was only about 2 Earth radii from the Earth. The observation have been published only a few days ago, because 'Although the observed arc is only 44 minutes, the orbit is quite determinate and, given the exceptional nature of this close approach, the object is now receiving a designation.' Check out the ORSA animation!" -
SIGGraph and Open Source
SeanCier writes "The SIGGraph 2004 conference showed off a lot of trends: high-dynamic-range (HDR) displays and video, suddenly ubiquitous general-purpose GPU programmability (it's not just for polygon shading anymore), 3D and high-colour displays, ever-more-refined fluid dynamics, crowd animation, and point-based graphics, to name just a few. But there was an unspoken undercurrent, a trend that's waiting to happen in the visual effects community, and happen in a big way: Open Source." Read on for more.There are plenty of examples of open source and the graphics community getting along grandly: Gimp and CinePaint (aka FilmGimp), ILM's OpenEXR, and projects like Open Scene Graph. Linux, in particular, has made spectacular inroads: nearly everybody uses it for rendering, and many (most?) use it as their desktop OS of choice. In the RenderMan user's group (I'll get into RenderMan more in a minute), for example, somebody asked how many people used Linux as their main OS. Plenty of hands, and some approving chuckles all around. Mac OS X? A few hands, and woots. Windows? No hands at all -- and moreover, an handful of boos, followed by everybody cracking up as they realized the whole community was abandoning Microsoft wholesale.
But then there's the other side. All the major visual effects and animation studios -- ILM, Pixar, Dreamworks, Digital Domain, Blue Sky, Disney, and so on -- have a team of programmers in-house. Five, ten, two dozen, or more. They're the ones that'll write the software that does special rendering algorithms for Shrek 2, or an animation control system for Mr. Incredible, or produce massive crowd simulators for Lord of the Rings. Things that commercial software doesn't quite do -- or that nobody else has tried to do, or even thought of. Things they need to do just so. Things they need to do now.
Everybody has a ton of custom software written -- often good software, with flexible frameworks and clever hacks. Moreover, they don't want to rely any more than necessary on commercial software, because if ILM finds a bug in Maya that holds them up or slows them down, they best they can do is pay Alias to fix it fast (i.e. weeks) and then have hundreds of animators waste thousands of hours time working around it for weeks. And worse, if Digital Domain buys Alias and decides they'll keep new versions of Maya to themselves, ILM is simply screwed, in a big way. If they want to get a particular feature in Maya, and a plugin won't cut it? Well, that's even harder -- and involves more money and more time.
So ILM writes their own stuff whenever they have to, and whenever they can. And Digital Domain writes their own stuff. And Dreamworks writes their own stuff. And Disney writes their own stuff.
And most of it is all the same stuff. Fluid dynamics? Hair? Subsurface scattering? Muscle-and-skin systems? Crowd control? Dozens of topics -- and every studio pretty much has pretty similar, rather redundant code to do 'em all.
These studios aren't in the business of writing software, they're in the business of making movies. So why are they spending their time and money writing software? Because they have to; it's a Necessary Evil.
So, what if they all worked on Open Source stuff instead? Look at what I just wrote. Every word is a reason to go Open Source. No drawbacks, all upside: no lock-in, you can fix stuff, you can add stuff, you don't have to wait on anybody else, and plus, you can do all this while also using what others have written.
The knee-jerk reaction that may be some executives' first objection: our code is a strategic advantage, giving it away would be throwing away money. If we can do hair and our competitors can't, we'll make better films then they can (and, if it's a visual effects studio, we'll win contracts based on that unique ability).
Bull honkus. If your competitors need hair, they'll write hair software, no problem. Another quote from the Pixar RenderMan user's group, this one by a RenderMan developer (paraphrased): "this is based on the subsurface scattering papers from a couple years ago. Everybody does this, based on those papers." Nope, I don't see strategic advantage there: I see waste.
It is, as they say, a win-win scenario; the studios contribute their code to Open Source projects, and everybody helps make that code better. ILM started it in a small way, with OpenEXR, and it worked: OpenEXR is *the* format for high-dynamic-range images, no questions asked. Did it benefit ILM? You betcha: major packages everywhere (Photoshop, RenderMan, etc) either import/export OpenEXR now, or will soon. Pixar even contributed new compression code.
So, a great scenario, and proof that it works. Why hasn't it happened in a bigger way yet? Fear of the unknown. But listen close, and you'll hear a flood coming that could change the landscape -- and it's hard to divert a flood.
That leaves only one question: how will it start? Well, it could begin with open source projects becoming valuable to studios, as started happening with Gimp (though here I'm talking more about advanced 3D animation, simulation, and rendering; Blender's great for what it does, but medium-to-large studios aren't its intended audience; it's not going to displace Maya any time soon, because it doesn't offer anything that Maya lacks as far as the studios are concerned). Or it could start with a studio making a bunch of their custom in-house software Open Source (like ILM did with OpenEXR). Either way, it's up to us as a community -- either to write the software or to sell the concept.
I'd suggest that a great place for all this to start would be with Pixar's PRMan (PhotoRealistic RenderMan, these days often called just RenderMan). And note I say this as a shareholder. Selling RenderMan and related software accounts for less than 5% of Pixar's revenue; the real reason -- the *only* business reason -- they still develop it is for the other 95% of the company to use. If open-sourcing it would bring in collaboration and improvements that would make them just 5% more efficient in generating movie revenue, doesn't that justify the decision right there? And of course that's not counting those who would still pay for service contracts, or the reduction in development costs that could come from the rest of the community helping with their R&D (the budget for which, BTW, surpasses their software revenue). RenderMan has always been a product ahead of its time, and that's why -- despite Pixar's belligerent and hostile use of patents and close-held IP -- it's still the golden standard in this industry. The RenderMan protocol and API was intended fifteen years ago to be a renderer-independent standard, the PostScript of the 3D world. That dream died because of Pixar's unwillingness to release IP: it became difficult or impossible for others to implement that standard officially, or at all, because Pixar grasped the it so tightly (case in point, ExLuna: their lawyers summarily killed what was the best chance in years of having a RenderMan-compliant renderer with new and different functionality, complementary to PRMan). But the renderer -- PRMan -- doesn't have to die through the same mistake, even in the face of an ever-shrinking market share and competitors with the advanced global illumination algorithms PRMan lacks.
But that's not to say Pixar is the only -- or even the best or most likely -- option here. They most certainly don't hold all the cards. So, don't sit back and wait for Pixar or another studio to start the ball rolling: we need to give it a push.
-
SIGGraph and Open Source
SeanCier writes "The SIGGraph 2004 conference showed off a lot of trends: high-dynamic-range (HDR) displays and video, suddenly ubiquitous general-purpose GPU programmability (it's not just for polygon shading anymore), 3D and high-colour displays, ever-more-refined fluid dynamics, crowd animation, and point-based graphics, to name just a few. But there was an unspoken undercurrent, a trend that's waiting to happen in the visual effects community, and happen in a big way: Open Source." Read on for more.There are plenty of examples of open source and the graphics community getting along grandly: Gimp and CinePaint (aka FilmGimp), ILM's OpenEXR, and projects like Open Scene Graph. Linux, in particular, has made spectacular inroads: nearly everybody uses it for rendering, and many (most?) use it as their desktop OS of choice. In the RenderMan user's group (I'll get into RenderMan more in a minute), for example, somebody asked how many people used Linux as their main OS. Plenty of hands, and some approving chuckles all around. Mac OS X? A few hands, and woots. Windows? No hands at all -- and moreover, an handful of boos, followed by everybody cracking up as they realized the whole community was abandoning Microsoft wholesale.
But then there's the other side. All the major visual effects and animation studios -- ILM, Pixar, Dreamworks, Digital Domain, Blue Sky, Disney, and so on -- have a team of programmers in-house. Five, ten, two dozen, or more. They're the ones that'll write the software that does special rendering algorithms for Shrek 2, or an animation control system for Mr. Incredible, or produce massive crowd simulators for Lord of the Rings. Things that commercial software doesn't quite do -- or that nobody else has tried to do, or even thought of. Things they need to do just so. Things they need to do now.
Everybody has a ton of custom software written -- often good software, with flexible frameworks and clever hacks. Moreover, they don't want to rely any more than necessary on commercial software, because if ILM finds a bug in Maya that holds them up or slows them down, they best they can do is pay Alias to fix it fast (i.e. weeks) and then have hundreds of animators waste thousands of hours time working around it for weeks. And worse, if Digital Domain buys Alias and decides they'll keep new versions of Maya to themselves, ILM is simply screwed, in a big way. If they want to get a particular feature in Maya, and a plugin won't cut it? Well, that's even harder -- and involves more money and more time.
So ILM writes their own stuff whenever they have to, and whenever they can. And Digital Domain writes their own stuff. And Dreamworks writes their own stuff. And Disney writes their own stuff.
And most of it is all the same stuff. Fluid dynamics? Hair? Subsurface scattering? Muscle-and-skin systems? Crowd control? Dozens of topics -- and every studio pretty much has pretty similar, rather redundant code to do 'em all.
These studios aren't in the business of writing software, they're in the business of making movies. So why are they spending their time and money writing software? Because they have to; it's a Necessary Evil.
So, what if they all worked on Open Source stuff instead? Look at what I just wrote. Every word is a reason to go Open Source. No drawbacks, all upside: no lock-in, you can fix stuff, you can add stuff, you don't have to wait on anybody else, and plus, you can do all this while also using what others have written.
The knee-jerk reaction that may be some executives' first objection: our code is a strategic advantage, giving it away would be throwing away money. If we can do hair and our competitors can't, we'll make better films then they can (and, if it's a visual effects studio, we'll win contracts based on that unique ability).
Bull honkus. If your competitors need hair, they'll write hair software, no problem. Another quote from the Pixar RenderMan user's group, this one by a RenderMan developer (paraphrased): "this is based on the subsurface scattering papers from a couple years ago. Everybody does this, based on those papers." Nope, I don't see strategic advantage there: I see waste.
It is, as they say, a win-win scenario; the studios contribute their code to Open Source projects, and everybody helps make that code better. ILM started it in a small way, with OpenEXR, and it worked: OpenEXR is *the* format for high-dynamic-range images, no questions asked. Did it benefit ILM? You betcha: major packages everywhere (Photoshop, RenderMan, etc) either import/export OpenEXR now, or will soon. Pixar even contributed new compression code.
So, a great scenario, and proof that it works. Why hasn't it happened in a bigger way yet? Fear of the unknown. But listen close, and you'll hear a flood coming that could change the landscape -- and it's hard to divert a flood.
That leaves only one question: how will it start? Well, it could begin with open source projects becoming valuable to studios, as started happening with Gimp (though here I'm talking more about advanced 3D animation, simulation, and rendering; Blender's great for what it does, but medium-to-large studios aren't its intended audience; it's not going to displace Maya any time soon, because it doesn't offer anything that Maya lacks as far as the studios are concerned). Or it could start with a studio making a bunch of their custom in-house software Open Source (like ILM did with OpenEXR). Either way, it's up to us as a community -- either to write the software or to sell the concept.
I'd suggest that a great place for all this to start would be with Pixar's PRMan (PhotoRealistic RenderMan, these days often called just RenderMan). And note I say this as a shareholder. Selling RenderMan and related software accounts for less than 5% of Pixar's revenue; the real reason -- the *only* business reason -- they still develop it is for the other 95% of the company to use. If open-sourcing it would bring in collaboration and improvements that would make them just 5% more efficient in generating movie revenue, doesn't that justify the decision right there? And of course that's not counting those who would still pay for service contracts, or the reduction in development costs that could come from the rest of the community helping with their R&D (the budget for which, BTW, surpasses their software revenue). RenderMan has always been a product ahead of its time, and that's why -- despite Pixar's belligerent and hostile use of patents and close-held IP -- it's still the golden standard in this industry. The RenderMan protocol and API was intended fifteen years ago to be a renderer-independent standard, the PostScript of the 3D world. That dream died because of Pixar's unwillingness to release IP: it became difficult or impossible for others to implement that standard officially, or at all, because Pixar grasped the it so tightly (case in point, ExLuna: their lawyers summarily killed what was the best chance in years of having a RenderMan-compliant renderer with new and different functionality, complementary to PRMan). But the renderer -- PRMan -- doesn't have to die through the same mistake, even in the face of an ever-shrinking market share and competitors with the advanced global illumination algorithms PRMan lacks.
But that's not to say Pixar is the only -- or even the best or most likely -- option here. They most certainly don't hold all the cards. So, don't sit back and wait for Pixar or another studio to start the ball rolling: we need to give it a push.
-
A C Compiler For The HP49g+
Cheese Source writes "As previously mentioned on Slashdot, HP's latest and greatest calculator is the HP49g+. While it sports a very powerful (for a calculator) ARM9 cpu, it is only 3 times the speed of the 49g, running at 4MHz. This is because it has to emulate an older processor. Of course, some calculator geeks are now writing adapting a free, open-source C compiler for it. Based on GCC, you can now make programs that run natively on the CPU between 12 and 203MHz. 1000 factorial is calculated and displayed in the blink of an eye (the built in command takes 30 seconds). It will also allow for some great games."