Domain: sourceforge.net
Stories and comments across the archive that link to sourceforge.net.
Stories · 1,414
-
OpenGL Distilled
Martin Ecker writes "Until now, if you were looking for an introduction to the OpenGL graphics API, the "OpenGL Programming Guide" (also known as the Red Book) was your best bet. Now Addison Wesley Publishing provides a new alternative that is easier to digest than the all-encompassing Red Book with its more than 800 pages. Paul Martz's "OpenGL Distilled" concentrates on discussing only the important fundamentals you need to program 3D graphics using OpenGL 2.0 and provides a concise introduction to the most important cross-platform graphics API currently available." Read the rest of Martin's review. OpenGL Distilled author Paul Martz pages 266 publisher Addison-Wesley Publishing rating 8/10 reviewer Martin Ecker ISBN 0-321-33679-8 summary A concise introduction to the OpenGL graphics API
Before going into more detail and reviewing the chapters of the book I have to disclose that I was a technical reviewer of the book before it was published.
"OpenGL Distilled" is aimed at people interested in learning the basics of OpenGL. The reader should already be familiar with programming in C++ and have a basic grasp of linear algebra, in particular vector and matrix algebra. Familiarity with other 3D graphics APIs, such as Direct3D, is an advantage, but not a necessity. The book does a good job of presenting only the fundamental aspects of OpenGL and 3D graphics programming in general and never overwhelms the reader with too much unnecessary detail. The author draws a good line between what to discuss and what is beyond the scope of the book. More advanced features of the API are only mentioned shortly with appropriate references to more in-depth literature. Some deprecated features, such as the feedback buffer, that are no longer commonly used are left out as well. In my opinion an unfortunate omission, is shader programming with the OpenGL Shading Language, which is only briefly mentioned in an appendix. A full chapter introducing the basics would be a nice addition to the book. Until then the reader is referred to the Orange Book, which discusses shader programming in OpenGL in detail.
One thing I highly appreciate about "OpenGL Distilled" is the introductory section of each chapter, which contains a "What You'll Learn" and a "What You Won't Learn" bullet list. This makes it clear what the chapter is about and - more importantly - what it is not about. Especially the latter is mostly missing in other books.
The book has a total of 8 chapters and 4 appendices. The first chapter explains what OpenGL is, talks a bit about setting up a development environment on the most common operating systems to actually develop OpenGL programs, and immediately gets your feet wet with a first simple example program. The chapter is concluded by a whirlwind tour through the almost 15-year history of OpenGL and its predecessors.
Chapter two focuses on drawing primitives, such as lines and triangles, and the various ways supported by OpenGL to specify vertex data. In particular, vertex arrays and vertex buffer objects (VBOs), a fairly recent addition to OpenGL to allow high-performance rendering, are the focus of this chapter. Additionally, a first overview of the OpenGL pipeline that a primitive passes through until it finally ends up in the framebuffer is presented. A more detailed discussion of this pipeline, in particular with regard to coordinate transformations, follows in chapter three. The various coordinate systems used in OpenGL programming, such as object, world, eye, and clip coordinates, are presented and discussed in detail in this chapter.
Now that we can render primitives we need to light them to make them look more interesting. Chapter four sheds some light on this by discussing the lighting and material model used in OpenGL's fixed-function pipeline. The best part of this chapter is the section titled "Debugging Lights", which gives some insights and helpful advice on how to debug OpenGL programs that use lighting. Many other books only describe the features of OpenGL lighting but do not explain common debugging techniques that can be applied when all you get is a black window instead of a nicely lit scene.
Chapter five is about pixel rectangles, in particular how to read from and write to the framebuffer. Some performance considerations are also discussed, which is a good thing since reading from the framebuffer is a costly operation. Again, this chapter concludes with a nice section on debugging techniques. The explanation of the raster position in this section is probably the easiest to understand that I have read to date.
Chapter six is a comprehensive chapter on 2-dimensional texture mapping that also discusses some more advanced applications of the technique, such as light maps and depth maps. Also using cube maps as environment maps is introduced. 1-dimensional and 3-dimensional texture mapping was omitted from the discussion.
Chapter seven deals with detecting the feature set of the OpenGL implementation, in particular, determining the version of the OpenGL specification the implementation adheres to and the available extensions. This chapter also discusses how to retrieve and use entry points for available extensions.
Finally, chapter eight deals with the platform-specific interfaces required to hook up an OpenGL program with the underlying operation system. These platform-specific interfaces are called GLX for Unix, WGL for Windows, and AGL for Mac.
The book has four appendices, which deal with a quick overview of advanced features, best practices, performance-related issues and debugging tips and tricks. Especially the latter two appendices on performance and debugging contain a lot of insights invaluable to programmers just starting out with OpenGL.
The book is printed in black and white throughout. Having some color plates in the book itself would have been a welcome addition considering that the topic is computer graphics. However, you can download some color plates from the books website at where you will also find the source code to the example programs in the book.
In conclusion, "OpenGL Distilled" is an excellent introduction to OpenGL, not only for someone new to 3D graphics programming but also for those that have worked with other 3D graphics APIs in the past that wish to get up to speed with OpenGL quickly. The book omits advanced and deprecated features that would unnecessarily overwhelm a beginner with OpenGL and is a good companion on the way to becoming an experienced OpenGL programmer.
The review author has been involved in real-time graphics programming for more than 10 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 OpenGL Distilled from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
OpenGL Distilled
Martin Ecker writes "Until now, if you were looking for an introduction to the OpenGL graphics API, the "OpenGL Programming Guide" (also known as the Red Book) was your best bet. Now Addison Wesley Publishing provides a new alternative that is easier to digest than the all-encompassing Red Book with its more than 800 pages. Paul Martz's "OpenGL Distilled" concentrates on discussing only the important fundamentals you need to program 3D graphics using OpenGL 2.0 and provides a concise introduction to the most important cross-platform graphics API currently available." Read the rest of Martin's review. OpenGL Distilled author Paul Martz pages 266 publisher Addison-Wesley Publishing rating 8/10 reviewer Martin Ecker ISBN 0-321-33679-8 summary A concise introduction to the OpenGL graphics API
Before going into more detail and reviewing the chapters of the book I have to disclose that I was a technical reviewer of the book before it was published.
"OpenGL Distilled" is aimed at people interested in learning the basics of OpenGL. The reader should already be familiar with programming in C++ and have a basic grasp of linear algebra, in particular vector and matrix algebra. Familiarity with other 3D graphics APIs, such as Direct3D, is an advantage, but not a necessity. The book does a good job of presenting only the fundamental aspects of OpenGL and 3D graphics programming in general and never overwhelms the reader with too much unnecessary detail. The author draws a good line between what to discuss and what is beyond the scope of the book. More advanced features of the API are only mentioned shortly with appropriate references to more in-depth literature. Some deprecated features, such as the feedback buffer, that are no longer commonly used are left out as well. In my opinion an unfortunate omission, is shader programming with the OpenGL Shading Language, which is only briefly mentioned in an appendix. A full chapter introducing the basics would be a nice addition to the book. Until then the reader is referred to the Orange Book, which discusses shader programming in OpenGL in detail.
One thing I highly appreciate about "OpenGL Distilled" is the introductory section of each chapter, which contains a "What You'll Learn" and a "What You Won't Learn" bullet list. This makes it clear what the chapter is about and - more importantly - what it is not about. Especially the latter is mostly missing in other books.
The book has a total of 8 chapters and 4 appendices. The first chapter explains what OpenGL is, talks a bit about setting up a development environment on the most common operating systems to actually develop OpenGL programs, and immediately gets your feet wet with a first simple example program. The chapter is concluded by a whirlwind tour through the almost 15-year history of OpenGL and its predecessors.
Chapter two focuses on drawing primitives, such as lines and triangles, and the various ways supported by OpenGL to specify vertex data. In particular, vertex arrays and vertex buffer objects (VBOs), a fairly recent addition to OpenGL to allow high-performance rendering, are the focus of this chapter. Additionally, a first overview of the OpenGL pipeline that a primitive passes through until it finally ends up in the framebuffer is presented. A more detailed discussion of this pipeline, in particular with regard to coordinate transformations, follows in chapter three. The various coordinate systems used in OpenGL programming, such as object, world, eye, and clip coordinates, are presented and discussed in detail in this chapter.
Now that we can render primitives we need to light them to make them look more interesting. Chapter four sheds some light on this by discussing the lighting and material model used in OpenGL's fixed-function pipeline. The best part of this chapter is the section titled "Debugging Lights", which gives some insights and helpful advice on how to debug OpenGL programs that use lighting. Many other books only describe the features of OpenGL lighting but do not explain common debugging techniques that can be applied when all you get is a black window instead of a nicely lit scene.
Chapter five is about pixel rectangles, in particular how to read from and write to the framebuffer. Some performance considerations are also discussed, which is a good thing since reading from the framebuffer is a costly operation. Again, this chapter concludes with a nice section on debugging techniques. The explanation of the raster position in this section is probably the easiest to understand that I have read to date.
Chapter six is a comprehensive chapter on 2-dimensional texture mapping that also discusses some more advanced applications of the technique, such as light maps and depth maps. Also using cube maps as environment maps is introduced. 1-dimensional and 3-dimensional texture mapping was omitted from the discussion.
Chapter seven deals with detecting the feature set of the OpenGL implementation, in particular, determining the version of the OpenGL specification the implementation adheres to and the available extensions. This chapter also discusses how to retrieve and use entry points for available extensions.
Finally, chapter eight deals with the platform-specific interfaces required to hook up an OpenGL program with the underlying operation system. These platform-specific interfaces are called GLX for Unix, WGL for Windows, and AGL for Mac.
The book has four appendices, which deal with a quick overview of advanced features, best practices, performance-related issues and debugging tips and tricks. Especially the latter two appendices on performance and debugging contain a lot of insights invaluable to programmers just starting out with OpenGL.
The book is printed in black and white throughout. Having some color plates in the book itself would have been a welcome addition considering that the topic is computer graphics. However, you can download some color plates from the books website at where you will also find the source code to the example programs in the book.
In conclusion, "OpenGL Distilled" is an excellent introduction to OpenGL, not only for someone new to 3D graphics programming but also for those that have worked with other 3D graphics APIs in the past that wish to get up to speed with OpenGL quickly. The book omits advanced and deprecated features that would unnecessarily overwhelm a beginner with OpenGL and is a good companion on the way to becoming an experienced OpenGL programmer.
The review author has been involved in real-time graphics programming for more than 10 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 OpenGL Distilled from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
OpenCyc 1.0 Stutters Out of the Gates
moterizer writes "After some 20 years of work and five years behind schedule, OpenCyc 1.0 was finally released last month. Once touted on these pages as "Prepared to take Over World", the upstart arrived without the fanfare that many watchers had anticipated — its release wasn't even heralded with so much as an announcement on the OpenCyc news page. For those who don't recall: "OpenCyc is the open source version of the Cyc technology, the world's largest and most complete general knowledge base and commonsense reasoning engine." The Cyc ontology "contains hundreds of thousands of terms, along with millions of assertions relating the terms to each other, forming an upper ontology whose domain is all of human consensus reality." So are these the fledgling footsteps of an emerging AI, or just the babbling beginnings of a bloated database?" -
Building Your First Cluster?
An anonymous reader asks: "I'm interested in building a DIY cluster using Linux and will be using conventional Linux software. However, the number of possible ways to do this is huge. Aside from Beowulf, there's Mosix, OpenMosix, Kerrighed, Score, OpenSSI and countless others. Therein lies the problem. There are so many ways of clustering, development seems to be in fits and starts, most won't work on recent Linux kernels and there's no obvious way to mix-and-match. What have other people used? How good are the solutions out there?" -
Web Services and Open Source at OSCON
I spend a lot of time with my head buried in code, and every time I pick my head up it feels like the future is closer than I thought. So I like coming to OSCON. A week of looking ahead leaves me more confident I won't get future shock anytime soon. OSCON, like all conferences, is aimed at corporations, the intangible entities that send humans as their proxies. But open source has its roots in individuals working outside the corporation for their community of programmers. Are the two cultures coming together, or colliding? And how will the "open source ideal" evolve, as the chief social act of programming changes from trading disks of source code to processing each others' data and mashing up web APIs?
I'm an open-source programmer who's lucky enough to be paid by a corporation. Between sessions this week I'm working on turning Slash's metamoderation into a plugin, making Slash more useful for other site admins. I'm a human first and employee second. And I'm concerned about how the community based around this software ideal of not welding shut the car's hood is going to hold together.
Markets aren't designed for goods with zero cost of reproduction, but because property is such a powerful tool for efficiency and prosperity, societies have been artificially constructing markets for creative works since even before the founders wrote up their support for "science and the useful arts." Often, markets in ideas work pretty well.
There have been three societal "bow shocks" in the collision between programming and capitalism. The first hit in 1976 when Bill Gates insisted that charging for software made sense. The second was in the late 90s when open source proved better than corporate hierarchy at certain types of development. And then there's the one that's about to hit now, when web services and interoperability concerns obviate open source licenses.
There's a growing understanding here that web services are big: that the laptops and desktops of the future will rely not on software goods that have been bought for those machines, but software services that run on a server a thousand miles away. Google calls its Ajax web services "the world's largest platform."
Yesterday, Tim O'Reilly hosted a stimulating all-day series of panels and talks on web services and "Web 2.0" generally. The most interesting part of the discussion was about tying web services together. Web mashups are hot. It's hard to look at a list of websites offering an API -- Google Maps, Yahoo Geocoding, eBay, craigslist, Flickr, YouTube -- and not start thinking about great ways to combine them. Interoperability plus programming creativity equals... well, something pretty neat, we're hoping.
But a web services API doesn't necessarily offer the freedom that might seem analogous to open source, which is why Tim is also putting out the call for an "open services" definition. Flickr offers its corporate API to some sites, and refuses to permit it to others. Zooomr was judged to be too much of a potential competitor, so Zooomr users don't get to copy the photos they've uploaded to Flickr. [Update: Sorta. Read that comment thread to see important context for Flickr's decision. To be clear, given that context, Tim thinks Flickr found a good answer, and I tend to agree.]
As Flickr says, and they have a very good point, "why should we burn bandwidth and CPU cycles sending stuff directly to [a potential competitor's] server?" That makes sense from a corporate point of view, but a user who's uploaded a thousand of their photos might be puzzled why it's no longer exactly "their" data. Is that a right that user should have, or not? I ran into Julian Cash, who vehemently argues that it is; he's started MoveMyData.org to try to build a client-side way for users to route around APIs, to suck down "their" data and maybe reupload it to other sites. No code yet, but he's looking for volunteers.
AttentionTrust goes even further, starting off its manifesto with "you own your attention and can store it wherever you wish." That's something I hadn't considered before but it has an interesting ring to it. They have a Firefox extension I haven't tried yet (does it work? post comments).
Interoperability is a concern even without the web. Yesterday morning, Danese Cooper got a half-hour to grill Bill Hilf, Microsoft's General Manager of Platform Strategy, on Microsoft's relationship with open-source. Some think that's the same relationship as the butcher to the hog, and Bill's job is to persuade them Microsoft has no such intentions.
Asked directly, in the context of embrace-extend-extinguish and web APIs that can be crushed at any time, "why should we trust Microsoft?", Bill's answer was to look at the company's actions: "consistent action, over time, in the right direction."
I sat down with him afterwords to probe into this a little more (with someone from Waggener Edstrom standing nearby). He has some examples of Microsoft working with open-source projects like JBoss and SugarCRM, but I asked for specifics of how we know Microsoft isn't going to try to kill more-directly competing projects like Mono or OpenOffice by eliminating interoperability, possibly with patents, at any random time in the future. The only real sign I got was the Covenant Not to Sue (over patents) that came with the OpenXML format earlier this year. That's a step in the right direction. I don't think it's a terribly big one.
I asked if we'd see more steps from Microsoft disavowing patents as weapons against open-source projects. Obviously that's a big risk for a company to take, but one that's probably necessary to convince skeptics Microsoft is friendlier than the butcher. While Bill couldn't make any promises, he affirmed the CNS was "not a one-off... and not just to placate people." I'll keep an eye out for more action in the right direction.
Exciting as the opportunities are for different projects' software working together, one thing's for sure: the remote sites that run their algorithms and store your data leapfrog open source licensing. The server a thousand miles away can run software with its hood welded shut, with no obligations to the open-source community that come along with the benefits. Today, while some companies are trying to build goodwill with that community, there is nothing like a GPL for web services. No one's discovered a legal foundation that would establish open services, openly shared web services, with the same kinds of rights that we insist on in open-source code. No one's even sure what "open services" might mean, indeed, there's no consensus that we even need such a thing.
Even the FSF is unable to decide how v3 of the GPL should read. And I'm not smart enough to know if the GPL is even the right tool for this. Maybe tacking clever licensing terms on top of copyright's restriction is a temporary hack whose time has passed (you know, like the RIAA). Maybe the next hack to build a community of software sharing and tinkering will have to be totally different.
I don't think I know the answers but maybe one of you does. If you have thoughts about the open-source community in the age of capitalism, please post them to this story. If you're at OSCON and want to chat about it, email me (or AIM 'jamiekzoo' if you catch me online). At the end of the week, I'll have more updates on what's happening here -- it's not all philosophy and futurism.
-
Writing Code for Surface Plots?
MySchizoBuddy asks: "In what ways can you code plots of surface charts using a z(x,y) function or a cloud of points? I'm looking for a tutorial that explains this that doesn't use DirectX or OpenGL libraries (the language I'm using cannot use either framework anyway). How is the 3D mess generated and how can the 2D contour plots be generated as well? I'm assuming once I know that I can also use it to make torus plots as well. Remember, I'm asking for the explanation of the underlying math and an example code that does that. The GNUPlot gallery has some examples that I find helpful, but are there similar examples out there? (Remember, I am writing the plotting code as well)? Can anyone help or point me in the right direction?" -
Fully Open Source NTFS Support Under Linux
lord_rob the only on writes "The Linux NTFS project has released a beta version of its fully open source userspace (using FUSE) 3G-Linux NTFS support driver. According to the developer, this driver beats hands down other NTFS support solutions performance-wise (including commercial Paragon NTFS driver and also Captive NTFS, which is using windows ntfs.sys driver under WINE)." That's right, writing to NTFS even works. Soon it'll mean one less recovery disk to keep around, I hope. -
Fully Open Source NTFS Support Under Linux
lord_rob the only on writes "The Linux NTFS project has released a beta version of its fully open source userspace (using FUSE) 3G-Linux NTFS support driver. According to the developer, this driver beats hands down other NTFS support solutions performance-wise (including commercial Paragon NTFS driver and also Captive NTFS, which is using windows ntfs.sys driver under WINE)." That's right, writing to NTFS even works. Soon it'll mean one less recovery disk to keep around, I hope. -
Microsoft to Support ODF via Plug-In
Apache4857 writes "It appears that Microsoft has finally caved. BetaNews is reporting that Microsoft is sponsoring an open source project to enable conversion between Open XML in Office 2007 and OpenDocument formats. The project, hosted on Sourceforge.net, made its initial release today. The Word 2007 conversion utility is expected to ship ship by the end of 2006, and similarly conversion utilities for Excel and PowerPoint are expected early next year." See the announcement in Brian Jones' blog (Jones is the Microsoft program manager responsible for Office file formats). -
Things To Download
I've taken the liberty of combining together a number of different submissions we've received. First off, Network Magic recently came out with a new version of their software (tour on link). It's Windows-based primarily, but having tested it out on Mac/Linux/Windows-mixed network, it's worth checking out. Another individual pointed out that SourceForge Enterprise is now a 15 seat free download; you can also grab the ISO in Torrent form. (SourceForge is made by the other arm of the company that owns Slashdot, VA Software). Lastly, a couple of folks seem to have rediscovered the joy of Audioscrobbler and sharing the stuff via last.fm. Fun stuff. -
Generating Reports from Access and Excel Files?
casals asks: "I'm a computer engineer working at a non-IT company, and there's this thing bothering me: by the end of each job, we have to generate a huge report that's actually a composite of lots of minor reports, each one of them made using a different software. Since the softwares used don't interact at all, we have to input the same information five or six times - not too smart, I guess. The outputs are either Access databases or Excel spreadsheets (some of these reports are just Excel spreadsheets that must be filled with data); so, I was thinking about making an application that could aggregate all the input models and generate all the outputs I need, at once. Any suggestions?" "Here's the thing: it cannot be a web-based application (connectivity is a luxury at the rig), it has to run in a laptop (each employee should have it installed, stand-alone) and it must be able to import images from Excel worksheets. Crystal Reports uses spreadsheets as data sources, but it's not Open Source; I was thinking about using BIRT or JasperReports + POI, but that looks to me like inventing the wheel itself, so I decided to ask before digging into it." -
Inkscape 0.44 - Faster, Bigger, Better
bbyakk writes "After 6 months of development, Inkscape 0.44 is out. This version of the SVG-based vector graphics editor brings improved performance and tons of new features: Layers dialog, docked color palette, clipping and masking, native PDF export with transparency, configurable keyboard (including Xara emulation), Outline mode for complex drawings, innovative 'node sculpting' and lots more. Check out the full release notes, enjoy the screenshots, or download your package for Windows, Linux or Mac OS X." -
Manual Writing Tools?
Saulo Achkar writes "I've been recently assigned the task to rewrite the user's manual to a piece of relative complex software. Today, the existent manual used was developed with reStructuredText, a very nice piece of software; unfortunately, we're not able to create classes or templates for things like similar interfaces (that share the same functions), which means we need to write more code and that means more editing. XML formats aren't very friendly to code or edit in, either. What kind of techniques or tools are there to make writing manuals a bit friendlier and faster?" -
Evolution installer for Win32 Released
markybob points out that an unofficial Win32 installer for Evolution has been released, writing "Of course it's GPL, so have fun and spread it around!" From the site: "Evolution is an incredibly versatile email/calendar/PIM that took the Linux world by storm a few years ago. It has been called an 'Outlook replacement' by every tech site from ZDNet to InfoWorld. Evolution played a major role in allowing the Linux desktop to move into the enterprise by giving being able to connect to Microsoft Exchange Server and schedule/accept Microsoft Outlook Meetings. Here's a screenshot of how it handles meeting invitations sent by Outlook." -
Evolution installer for Win32 Released
markybob points out that an unofficial Win32 installer for Evolution has been released, writing "Of course it's GPL, so have fun and spread it around!" From the site: "Evolution is an incredibly versatile email/calendar/PIM that took the Linux world by storm a few years ago. It has been called an 'Outlook replacement' by every tech site from ZDNet to InfoWorld. Evolution played a major role in allowing the Linux desktop to move into the enterprise by giving being able to connect to Microsoft Exchange Server and schedule/accept Microsoft Outlook Meetings. Here's a screenshot of how it handles meeting invitations sent by Outlook." -
Source Code Browsing Tools?
Marco Sanvido asks: "I often look at source code (especially C, but this question is valid for other languages as well) and I have a really hard time in understanding how it works. Documentation is often missing or quite outdated, and the only way to see how the program works is to try to understand the source code. Which tools do you prefer to use for browsing and studying source code? So far I have used LXR for Linux, Eclipse for java, and CScope, but I'm not sure that these tools are the best solution." It's tempting to flood this question with answers for your IDE, but the key thing here is _browsing_, not _development_. What decent, lightweight programs would work well as source code viewers? -
Making Science Machine Readable
holy_calamity writes "New Scientist is reporting on a new open source tool for writing up scientific experiments for computers, not humans. Called EXPO, it avoids the many problems computers have with natural language, and can be applied to any experiment, from physics to biology. It could at last let computers do real science - looking at published results and theories for new links and directions." -
HowTo Build a Quality DDR Deck
Compu486 writes "In an effort to show that quality dance gaming systems can be done affordably, Inventgeek.com has put together an article showing how to make DDR systems better than arcade quality for not a lot of cash. Using this type of system and the free stepmania, hopefully schools in West Virginia can save some scratch and buy some modern text books." -
NetBSD Announces Accepted Summer of Code Projects
jschauma writes "The NetBSD Project is proud to announce the list of projects accepted for this year's Summer of Code. While the list of proposals was impressive and of particularly high quality, a choice of eight applications had to be made, yielding the following projects: "Support for journaling for FFS", "Support for MIPS64 ISA", "PowerPC G5 support", "Improved Writing to FileSystem Using Congestion Control", "TCP ECN support", "Fast_ipsec and ipv6", "pkg_install rewrite for pkgsrc" and "Improving the mbuf API and implementation". Details about each project will be posted to the NetBSD SoC SourceForge website." -
Multi-threaded Programming Makes You Crazy?
gduranceau writes "Help! My program deadlocks! I got several concurrent threads that write the same variable! Everything goes well on my mono processor but becomes an incredible mess on that 16 CPU monster! And of course, as soon as I add traces, problems disappear... Don't panic! Calm down and take a deep breath. " -
IP Addressing Space Management Applications?
_RiZ_ asks: "I work for a medium sized company and we are looking for a solution to aid in managing the ever complex IP space in use throughout the growing enterprise. We currently use a full class B of public addresses as well as all RFC 1918 ranges. The idea came up to develop this application internally, however this has proven in the past to be more of a headache, especially if the original developer changes roles or moves on from our company. We have looked at IPplan, but have found this program is more intended for an ISP documenting customer ranges rather than an enterprise IT shop. We would like something which is database driven, intuitive to use, and preferably open source, although a good commercial solution is always a viable option. Does anyone have any suggestions?" -
Slashdot Bookmarks
Recently we've added a new bookmark function that logged in users can use to maintain public lists of URLs for tagging and sharing with the world. You can read the bookmark faq to answer a few specific questions, check out the global bookmark lists that can be tagged, journaled over, or submitted as stories. Read on for notes on what we're planning for this.The idea is that URLs are bookmarked, either using the javascript bookmarklett thingee or by directly visiting the bookmarks page. But when you are DONE bookmarking and tagging your URL, you can then write a journal or story submission about them. On a related note, journals are now directly submittable to Slashdot editors as well.
We plan to add RSS exporting as well as a few other features, but mostly what we're going to try to do is figure out ways to mine bookmarks for stories. You can best help by tagging bookmarks on the global bookmarks pages. This is all very experimental, so your help is appreciated.
Now as always on Slashdot we appreciate your feedback and bug reports. You can do this the slashdot SF project page. Or even better you could visit the site and consider submitting patches. Ideas are never in short supply here- time to code them all ALWAYS is. Join the mailing list! Or just start bookmarking and tagging stuff. Lastly, thanks to Tim Vroom who put all of this together.
update to clarify a point for the readers- this system is primarily an extension of our submission bin. You are welcome to bookmark & tag for your own pleasure, but our intent is that this system eventually be used to help us find content for the mainpage. So of course the functionality has overlap with other sites. No huge shock there. But our intentions is to use user bookmarks & tags as another input channel for editors picking stories for the audience.
-
Obtaining Grants for Open Source Projects?
Michael Chisari asks: "Does anybody have any leads or information about where and how to apply for grants for open source projects? I've been working on an open source social networking software called Appleseed for around two years now. The goal is to be a free, distributed alternative to MySpace or Friendster where users on separate Appleseed websites can fully interact with each other. The project is huge, and while relatively far along, I've had a hard time keeping up while maintaining the full time job necessary to pay the bills. Ideally, I'd like to get funding so that I could focus exclusively on development. I'd prefer a grant from a foundation as opposed to corporate funding. Individual donations are nice but can't always be counted on. I'm not sure where to find organizations which provide grants for free software or social networking." -
New "Dark" Freenet Available for Testing
Sanity writes "The Freenet Project has just released the first alpha version of the much anticipated Freenet 0.7 branch. This is a major departure from past approaches to peer-to-peer network design, embracing a 'scalable darknet' architecture, where security is increased by allowing users to limit which other peers their peer will communicate with directly, rather than the typical 'promiscuous' approach of classic P2P networks. This means that not only does Freenet aim to prevent others from finding out what you are doing with Freenet, it makes it extremely difficult for them to even know that you are running a Freenet node at all. This is not the first P2P application to use this approach, other examples include Waste, however those networks are limited to just a few users, while Freenet can scale up almost indefinitely. The new version also includes support for NAT hole-punching, and has an API for third-party tool development. As always, the Freenet team are asking that people support the development of the software by donating." -
Algorithmic Political-Media-Mashup Vodcast
flexatone writes "Composer Christopher Ariza, author of the first algorithmic, computer-generated podcast, announces the next phase of his experimental political-media-mashup project: the babelcast-zoetrope. The babelcast-zoetrope employs the subscription model of the vodcast (RSS feed, iTMS subscription) to deliver timely multi-media artifacts of the contemporary media landscape. Generated with free, open-source software tools (such as athenaCL, Python, Csound, and ffmpeg), babelcast-zoetrope is an experimental, algorithmic, computer-generated video podcast. Sounds and images of U.S. and World leaders and commentators are algorithmically fragmented, distorted, and recombined into a media tapestry. New episodes are defined by a time period: audio and video sequences are constructed only with materials collected during this period, lasting from days to weeks." -
Algorithmic Political-Media-Mashup Vodcast
flexatone writes "Composer Christopher Ariza, author of the first algorithmic, computer-generated podcast, announces the next phase of his experimental political-media-mashup project: the babelcast-zoetrope. The babelcast-zoetrope employs the subscription model of the vodcast (RSS feed, iTMS subscription) to deliver timely multi-media artifacts of the contemporary media landscape. Generated with free, open-source software tools (such as athenaCL, Python, Csound, and ffmpeg), babelcast-zoetrope is an experimental, algorithmic, computer-generated video podcast. Sounds and images of U.S. and World leaders and commentators are algorithmically fragmented, distorted, and recombined into a media tapestry. New episodes are defined by a time period: audio and video sequences are constructed only with materials collected during this period, lasting from days to weeks." -
Linux 2.6.16 released
diegocgteleline.es writes "Linux 2.6.16 has been released after two months and two weeks of development. You can check the comprehensible changelog (text mirror of the site). The new features include OCFS2, a clustering filesystem contributed by Oracle, new unshare(), pselect()/ppoll() and *at() system calls, support the moving of the physical location of pages between nodes in NUMA systems, support for the Cell processor, cpufreq support for G5s plus thermal control for dualcore G5s, improved power management support for many devices and subsystems (libata, alsa...), a new mutex locking primitive, high-resolution timers, per-mountpoint noatime/nodiratime, 64-to-32-bit ioctl compatibility for the v4l2 subsystem, IPv6 support for DCCP, the TIPC protocol (Transparent Inter Process Communication, ACL support for CIFS filesystem, HFSX filesystem support, new configfs filesystem (which complements sysfs, not replaces it), support for running executables from v9fs (plan9 9P distributed filesystem), support for many new devices, improved support for others and lots of other changes. Check it out from kernel.org" -
Coding is a Text Adventure
Wired News is running a story about a new approach to crossover working and gaming turning your coding into a MUD-style adventure. Playsh is a "narrative-driven 'object navigation' client, operating primarily on the semantic level, casting your hacking environment as a high-level, shell-based, social prototyping laboratory, a playground for recombinant network toys." Great, now they are combining two of the most horrible addictions in my life. -
Are Open Source Reporting Tools Ready for Primetime?
Z0mb1eman asks: "My company is considering replacing our aging CrystalReports with an open source solution. We are currently doing our research, and the choices seem promising -- JasperReports, Actuate-backed BIRT, and Pentaho, which seems to combine other open-source reporting tools. All have some level of commercial support, but are they ready to replace established solutions like Crystal Reports or even Actuate? Is your company using an Open Source reporting tool, and what have been your experiences with such tools? Are there any other choices we should consider? What should we expect if we make the decision to switch?" -
OpenGL Shading Language 2nd Edition
Martin Ecker writes "The Orange Book is back in its second edition. Randi J. Rost's "OpenGL Shading Language" (also called the Orange Book because of its orange cover) published by Addison-Wesley returns with 4 new chapters, roughly 140 new pages and quite a few new sample shaders. Like the first edition, the second edition of the book is one of the best introductions to GLSL - the OpenGL Shading Language - that also explains in-depth how to develop shaders in GLSL for lighting, shadows, animation, and other topics. The book targets an audience that is already familiar with computer graphics and with OpenGL. Knowledge of the C programming language is also advantageous for the reader. Since I've reviewed the first edition previously, I will focus on the new chapters of the book in this review." Read the rest of Martin's review. OpenGL Shading Language (Second Edition) author Randi J. Rost pages 740 publisher Addison-Wesley Publishing rating 9/10 reviewer Martin Ecker ISBN 0-321-33489-2 summary A solid introduction to developing shaders in the OpenGL Shading Language GLSL.
GLSL is now officially a part of OpenGL 2.0, whereas it was only an extension to core OpenGL at the time of release of the book's first edition. Naturally, the Orange Book has been updated to reflect all the changes. Not much has changed in the shading language itself, though. However, there were some minor modifications to the C shader API used to create and upload shaders to the graphics hardware from the program running on the CPU. In order to make the transition easier for old-timers like me who have worked with the old API, the book contains an appendix that details all the changes that the shader API has undergone with the promotion to core OpenGL.
The most notable additions to the book in its second edition are the new chapters on lighting, shadows, surface characteristics, and RealWorldz, a demo that uses shaders exclusively for all rendering and that generates even the rendered models purely procedurally via shaders.
The new chapter on lighting goes into the details of developing lighting shaders that differ from traditional fixed-function lighting offered by the OpenGL fixed-function pipeline. In particular, shaders for hemi-sphere lighting, image-based lighting using environment maps as light probes, and spherical harmonics lighting are developed in this chapter. Note that the theory behind spherical harmonics lighting is not presented in the book. So if you want to fully understand the presented shaders, you will have to read up on the theory in the references given in the book. The chapter on lighting is concluded by a discussion of the ÜberLight shader, a shader for a very versatile lighting model initially presented as RenderMan shader by Pixar Animation Studios.
An important topic in computer graphics now has its own chapter in the Orange Book: Shadows. The new chapter on shadows presents ambient occlusion, shadow maps, and an interesting technique for rendering shadow volumes using deferred shading. The latter technique can be used to render soft shadows convincingly.
Another new chapter in the second edition of the book is on surface characteristics. This chapter discusses and develops shaders to render surface materials that exhibit complex light interaction. The chapter starts out with a discussion of refraction and presents shaders to archive the classic Fresnel reflection/refraction and chromatic aberration effects. Then diffraction, i.e. light bending around sharp edges, is discussed and a shader is developed that renders a vinyl record realistically. Finally, the chapter focuses on BRDF-based lighting and develops various material shaders using the BRDF model.
The final new chapter in the second edition is on RealWorldz. RealWorldz is a demo that renders planets with fractal terrain, oceans, sky, and other effects. Everything in the demo is generated procedurally through GLSL shaders and the chapter describes the techniques used in implementing the demo. At the end of the chapter it says that the demo is available upon request from 3Dlabs, which I find ab it disappointing. Let's hope that the authors put up a downloadable version of the demo, or at least a video of the demo, on the book's webpage.
As in the previous edition, all images and diagrams in the book are in black and white, except for a few pages that contain 38 color plates in the middle of the book. In addition to the images from the first edition, the book now has some very impressive images from the RealWorldz demo. A nice addition to the book is the detachable cheat sheet at the end of the book, which contains a quick reference of GLSL and the shader API entry points - very handy to have on your desk in the heat of a late-night coding session.
The book's accompanying website at http://www.3dshaders.com/ offers the source code to all the shaders presented in the book for download. Also available are other shaders not mentioned in the book and a demo application including source code, which nicely demonstrates the shaders in action. The demo application and most of the shaders are available under a very liberal BSD-style open source license.
The book "OpenGL Shading Language (Second Edition)" remains an excellent introduction to shader programming with GLSL. It provides a profound discussion of the shading language itself as well as the C shader API used to create and manage shaders in the host program. The book also has numerous chapters on developing shaders for various applications, such as lighting, shadows, animation, and other areas of real-time computer graphics. The newly added chapters in the second edition nicely complement an already good book. If you're interested in learning GLSL and shader programming in OpenGL, this is the book to get.
About the review author:
The author has been involved in real-time graphics programming for more than 10 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 OpenGL Shading Language from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
OpenGL Shading Language 2nd Edition
Martin Ecker writes "The Orange Book is back in its second edition. Randi J. Rost's "OpenGL Shading Language" (also called the Orange Book because of its orange cover) published by Addison-Wesley returns with 4 new chapters, roughly 140 new pages and quite a few new sample shaders. Like the first edition, the second edition of the book is one of the best introductions to GLSL - the OpenGL Shading Language - that also explains in-depth how to develop shaders in GLSL for lighting, shadows, animation, and other topics. The book targets an audience that is already familiar with computer graphics and with OpenGL. Knowledge of the C programming language is also advantageous for the reader. Since I've reviewed the first edition previously, I will focus on the new chapters of the book in this review." Read the rest of Martin's review. OpenGL Shading Language (Second Edition) author Randi J. Rost pages 740 publisher Addison-Wesley Publishing rating 9/10 reviewer Martin Ecker ISBN 0-321-33489-2 summary A solid introduction to developing shaders in the OpenGL Shading Language GLSL.
GLSL is now officially a part of OpenGL 2.0, whereas it was only an extension to core OpenGL at the time of release of the book's first edition. Naturally, the Orange Book has been updated to reflect all the changes. Not much has changed in the shading language itself, though. However, there were some minor modifications to the C shader API used to create and upload shaders to the graphics hardware from the program running on the CPU. In order to make the transition easier for old-timers like me who have worked with the old API, the book contains an appendix that details all the changes that the shader API has undergone with the promotion to core OpenGL.
The most notable additions to the book in its second edition are the new chapters on lighting, shadows, surface characteristics, and RealWorldz, a demo that uses shaders exclusively for all rendering and that generates even the rendered models purely procedurally via shaders.
The new chapter on lighting goes into the details of developing lighting shaders that differ from traditional fixed-function lighting offered by the OpenGL fixed-function pipeline. In particular, shaders for hemi-sphere lighting, image-based lighting using environment maps as light probes, and spherical harmonics lighting are developed in this chapter. Note that the theory behind spherical harmonics lighting is not presented in the book. So if you want to fully understand the presented shaders, you will have to read up on the theory in the references given in the book. The chapter on lighting is concluded by a discussion of the ÜberLight shader, a shader for a very versatile lighting model initially presented as RenderMan shader by Pixar Animation Studios.
An important topic in computer graphics now has its own chapter in the Orange Book: Shadows. The new chapter on shadows presents ambient occlusion, shadow maps, and an interesting technique for rendering shadow volumes using deferred shading. The latter technique can be used to render soft shadows convincingly.
Another new chapter in the second edition of the book is on surface characteristics. This chapter discusses and develops shaders to render surface materials that exhibit complex light interaction. The chapter starts out with a discussion of refraction and presents shaders to archive the classic Fresnel reflection/refraction and chromatic aberration effects. Then diffraction, i.e. light bending around sharp edges, is discussed and a shader is developed that renders a vinyl record realistically. Finally, the chapter focuses on BRDF-based lighting and develops various material shaders using the BRDF model.
The final new chapter in the second edition is on RealWorldz. RealWorldz is a demo that renders planets with fractal terrain, oceans, sky, and other effects. Everything in the demo is generated procedurally through GLSL shaders and the chapter describes the techniques used in implementing the demo. At the end of the chapter it says that the demo is available upon request from 3Dlabs, which I find ab it disappointing. Let's hope that the authors put up a downloadable version of the demo, or at least a video of the demo, on the book's webpage.
As in the previous edition, all images and diagrams in the book are in black and white, except for a few pages that contain 38 color plates in the middle of the book. In addition to the images from the first edition, the book now has some very impressive images from the RealWorldz demo. A nice addition to the book is the detachable cheat sheet at the end of the book, which contains a quick reference of GLSL and the shader API entry points - very handy to have on your desk in the heat of a late-night coding session.
The book's accompanying website at http://www.3dshaders.com/ offers the source code to all the shaders presented in the book for download. Also available are other shaders not mentioned in the book and a demo application including source code, which nicely demonstrates the shaders in action. The demo application and most of the shaders are available under a very liberal BSD-style open source license.
The book "OpenGL Shading Language (Second Edition)" remains an excellent introduction to shader programming with GLSL. It provides a profound discussion of the shading language itself as well as the C shader API used to create and manage shaders in the host program. The book also has numerous chapters on developing shaders for various applications, such as lighting, shadows, animation, and other areas of real-time computer graphics. The newly added chapters in the second edition nicely complement an already good book. If you're interested in learning GLSL and shader programming in OpenGL, this is the book to get.
About the review author:
The author has been involved in real-time graphics programming for more than 10 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 OpenGL Shading Language from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Longer Laptop Battery Life under Linux
ThinkingInBinary writes "Want easier power management and better battery life on your Linux laptop? Try powermgr, a daemon that automatically (or manually, if you choose) switches your system between power "profiles". It has support for ACPI (of course) as well as Asus, Dell, IBM, Omnibook, and Toshiba extensions. It can control CPU governor, screen brightness, wireless card, laptop mode (via services), runlevel, services, and more, and can switch based on AC adapter and battery state, load average, temperature, running processes, and more. Tests indicate that it can prolong battery life by 20 minutes to almost two hours, depending on what the system is doing. Try it out!" -
Longer Laptop Battery Life under Linux
ThinkingInBinary writes "Want easier power management and better battery life on your Linux laptop? Try powermgr, a daemon that automatically (or manually, if you choose) switches your system between power "profiles". It has support for ACPI (of course) as well as Asus, Dell, IBM, Omnibook, and Toshiba extensions. It can control CPU governor, screen brightness, wireless card, laptop mode (via services), runlevel, services, and more, and can switch based on AC adapter and battery state, load average, temperature, running processes, and more. Tests indicate that it can prolong battery life by 20 minutes to almost two hours, depending on what the system is doing. Try it out!" -
IBM Open Sources UIMA
psykocrime writes "Line56 is reporting that IBM has open-sourced core components of their UIMA project. UIMA is (or was) an IBM Research Project for managing "unstructured information" such as free-text. IBM describes UIMA as: 'an open, industrial-strength, scalable and extensible platform for creating, integrating and deploying unstructured information management solutions from combinations of semantic analysis and search components. [...] and makes the core Java framework available as open source software to provide a common foundation for industry and academia to collaborate and accelerate the world-wide development of technologies critical for discovering the vital knowledge present in the fastest growing sources of information today.' The newly opened source is available at SourceForge." -
Slashdot Index Code Update
For years now Slashdot has posted what we call "Sectional Content". That is to say, stories that we think are good, but since we try to keep the Slashdot Main Page to around 15 stories per day, some stuff just gets put into the sections. This content is mostly lost to readers who simply don't know it exists. Today we're deploying new code to help you find that content (and alternatively, to disable it).One of the most common questions I get is simply "What does the '2 More' mean in the left side menu?" To me it's obvious: it means there are 2 more stories on say, apple.slashdot.org than you have seen on slashdot.org. This is because Slashdot probably already had 15 stories today, and this particular story is only of interest to users who explicitly chose to view Apple stories.
Those little 'N More' snippets clutter up the left hand menu, and confuse people. Our power users know that they can suck all the sectional content into the main page, but very few users actually bother with that kind of customization. And just as important, we have a lot of content that is simply lost because most of you never knew it was there in the first place.
What you'll see now is the interleaving of sectional content with main page content. These articles are displayed in a very abbreviated format, amidst the other stories. This is content we've been posting on Slashdot for years, but most users never knew. I'm pleased with the design of the whole thing. I think it looks really nice and doesn't clutter up the page.
Of course some users will always disagree with me, and for them there are now a plethora of user configurable options. Essentially, each section has a range of options ranging from "All" (Meaning, every story is displayed in full text) to "None" (Meaning I really really really never want to see anything about Apple really no seriously I'm not kidding!)
These options are available on the left hand menu by simply clicking the 'Sections' menu entry. A fancy little window will open with various tools for you do play with allowing you to choose what content on Slashdot you want to read... and perhaps more importantly, to disable the content you don't. The default view of Slashdot has slightly changed today, but you can set your preferences back to make the site look like it did before too.
We are keen on making sure that this works for as many browser platforms as we can. We've tested it on the platforms used by around 96% of you. (that is to say, Internet Explorer, Safari, Firefox, under Windows, Mac, and Linux) and it works on those platforms. However if your platform doesn't work, you can still change the settings from the user preference page (click the word 'Preferences' on the left hand menu if you are logged in. If your browser doesn't support javascript, clicking the 'Sections' menu item on the left hand menu should take you there.).
We fully expect there to be some bugs with this, so please feel free to contact us... preferably by submitting a bug report to our sourceforge project tracker. We hope to have any major kinks worked out of the system in the next few days, so just hang in there.
All in all I am very pleased with this. This solves a number of long standing problems on Slashdot: That is to say sectional content getting "Lost" in the shuffle, the left hand menu being confusing, and the user preferences to twiddle these settings being buried so deep in the UI that nobody would bother changing them.
Best of all, if any of this bugs you, it takes just seconds to disable this stuff. In fact, it would probably take less time to fix it then to post a comment complaining... not that that will stop some of you ;)
update many people have commented on the design of the abbreviated story. Many make great points about how they visually could be interpreted as being "Footnotes" or "Related" somehow to the content above them. Just a reminder, the site is all nicely CSSified now... modifiy the CSS send it our way. If someone creates a design that works better, we'll use it! We're not married to what we have. Personally I wanted the grey curve on the bottom right side, but we thought we'd need an extra DIV to get it right, so this was the compromise.
updated again the reason we don't update the index 'on the fly' is because it is possible for you to get content that we don't actually have yet. We don't have a full ajax engine yet- so if you made an abbreviated article be a full text article, we'd have missing fields. When we have a real dynamic engine for loading the content, doing it on the fly will be trivial. Today I think it would just look crappy.
-
A Free Software X11R6.9 X Server for Windows
Anonymous Coward writes "Xming has been released with latest Xorg X11R6.9. Xming is a Free Software port of the X Window Server to Microsoft Windows. It shares the same source code base as Cygwin/X but does not depend on the Cygwin environment or cygwin1.dll. Xming is a fully featured X Window Server that is very simple to install and use interactively. Xming X Server for Windows, is made from Xorg (X11R6.9), and a patch bundle, cross-compiled with MinGW and Pthreads-Win32 For MS Windows users who have never tried Linux this could prove to be the easiest way when used with Microsoft Services for Unix (SFU) or coLinux." -
Taking the Sting Out of PHP 5 Programming
bfioca writes "Where are the all-in-one PHP frameworks that make building well-factored and maintainable applications as easy as building simple sites? O'Reilly ONLamp's recent article Simplify PHP Development with WASP shows how to make a simple database-backed site with WASP in just a few lines of code. Other PHP 5 frameworks such as symfony and PRADO have been getting a lot of recent attention as well." -
aMSN 0.95 Released
An anonymous reader writes "After more than a year since their last update aMSN has published version 0.95. New features include 'webcam support, tabbed chat windows, improved skin plugin support, new file transfer protocol, many new plugins (like Ink and Nudge support), an improved bug report system, as well as LOTS of bug fixes.' In addition to many new features and fixes the aMSN site has been given a face lift to (hopefully) facilitate ease of use." -
Is Microsoft Still a Monopoly?
Microsoft Windows still dominates the desktop. But in many other areas, including Web servers and supercomputing, Microsoft is just one player among many, and often a weak player at that. On the gaming side, despite the latest xBox getting all kinds of media buzz as "the" console to buy, Sony's Playstation outsells the xBox at least two to one, and many analysts expect Sony to widen that gap even more when Playstation 3 comes out in the Spring of 2006. On the Internet, MSN and MSN Search are so far behind AOL and Google that it isn't funny. And even on the desktop, Linux keeps getting stronger, while Mac OS X is commonly accepted as more reliable, secure, and user-oriented than Windows. So why do we keep saying Microsoft is a monopoly? Microsoft (Slowly) Moves Away from Monopolistic Behavior
If a major IT user tells a Microsoft salesperson that he or she is thinking about switching to Linux, Microsoft will usually come back with a cut-price offer, something the company never used to do. Microsoft also now sells something called Windows Starter Edition in some parts of the world -- supposedly for as low as $37 or $38 (US) in Thailand, including a basic version of Microsoft Office. In other words, Microsoft is starting to compete on price, which is not monopoly-style behavior.
This does not mean Microsoft has suddenly adopted a "let's all love one another" attitude.I believe Microsoft is getting more concerned about interoperability not out of goodness, but because of market pressure. But in the long run, as long as Microsoft stops treating every other operating system and file format as some sort of devilspawn, life is a little easier for those of us who would rather not use their products, and that's what really matters.
Microsoft Explorer No Longer Rules the Online World
A majority of desktop computer users may still run Microsoft's Internet Explorer browser, but it no longer has 95% market share. In a 2002 book, and again last year in an online article, I warned Web designers not to make IE-only sites, just as in the (distant) past I'd warned them not to make Netscape-only sites. Some listened. Some didn't.
Firefox adoption may have slowed in 2005, but it certainly hasn't stopped. Opera has become enough of a force that we hear rumors about first Google, then Microsoft, buying it. In any case, whether MSIE is currently running on 90% of all desktops or on only 70% (as a few surveys indicate), it is becoming less popular every month. Now Microsoft has decided that Explorer is no longer fit for Mac users, so its market share will drop even more. Sure, there's a new version of Explorer coming out, but it isn't going to help the millions of "legacy" Windows users who don't want to buy XP. If they want modern browser functionality, they must switch to Firefox, Opera or another non-Microsoft browser.
'The Network is the Computer'
I don't think this is quite true today, if by "the network" we're talking about applications delivered over the Internet instead of over well-maintained LANs. Back in October I explained why I don't think Internet-delivered applications are quite "there" yet. More recently, Salesforce.com had an outage that angered many of its (claimed) 350,000 subscribers. Worse, ZDNet blogger Phil Wainewright pointed out that Salesforce.com compounded the problem, and possibly made users leery of all Internet-delivered applications' claims of "99.9% reliability," by poor communication with its users.
Most of the Web 2.0 (and even Web 3.0) stuff that's getting so much hype these days is not OS-dependent. You can run things like Google Maps on Linux, Mac OS, Unix, and even Windows, using any standards-compliant browser you choose.
Even Microsoft is trying to get into the Web 2.0 game. I got a press release from their PR people that included this sentence:"And if you enjoy taking a drive to check out your neighborhood’s Christmas lights visit this great Windows Live Local developer application at http://msnsearch101.com/searchmap."
I found this online utility's behavior strange and primitive, not nearly up to the standards of Google Maps and some of the mashups based on it. "Ah," I thought, "that's probably because I'm trying to use it with Linux and Mozilla." So I turned to my one Windows (XP) computer and checked the site with both Firefox and Explorer. For some reason the map background didn't load at all in Firefox, on Windows, and its behavior in Explorer, on Windows, was just as clunky as it was in Mozilla, on Linux.
If this is supposed to be a sample of what Windows Live Local can do, I don't think Microsoft is headed for any kind of monopoly -- or even much market share -- in the online map business. Not only that, it makes me wonder how good their promised Microsoft® Office Live is going to be. If even a quarter of the rumors we've heard about Google and Sun joining up to produce a Webified version of OpenOffice.org are true, I suspect Microsoft is going to be a distant also-ran in the (inevitable) Internet-delivered office software business, too.
Hundreds of Thousands of Competitors
It's fun to play the "Google is cooler than Microsoft" game and talk about how Google, not Microsoft, has become the hot place for top-end programmers to work if they want to make their mark on the world, but even Google can only hire a tiny fraction of the world's software development talent. There are over 100,000 Open Source projects on SourceForge.net (which is owned by the same company that owns Slashdot), and SourceForge.net is but one of many Open Source and Free Software hosting services out there. There are literally millions of programmers working on Free and Open Source Software, plus countless others working on personal proprietary projects.
We've all heard -- probably too many times -- the old saw, "If you have enough monkeys banging randomly on typewriters, they will eventually type the works of William Shakespeare." This may or may not be true. But it is certain that if you put millions of programmers in front of millions of computers and let them do whatever they want, some of them will turn out brilliant, world-changing work. Even if 999 out of 1000 of our putative programmers work on established projects or never finish what they start, that still gives us thousands of potential world-changing software projects, most of which won't be developed by Google (or Microsoft) employees.
I've been to India, and the smartest programmers I met there weren't working for outsourcing mills but worked for themselves. I'm sure there are plenty of self-employed programmers in China, Brazil, Kenya, and almost everywhere else on this planet, too, and there are certainly plenty of them here in the United States. And, all over the world, millions of programmers have day jobs doing routine work for corporate employers to put food on the table, and do their "real work" at home, at night.
Neither you nor I nor Google's management nor Microsoft's management know what might be going on right now in the mind of a brilliant Saudi woman with a computer science degree who can't work outside her home because her country's laws keep her from mixing with men who aren't related to her. There may be a poorly-dressed young man coding furiously in a Beijing Internet cafe, while you read this article, whose new operating system will make all current ones obsolete -- and you may not learn about his work until it shows up in a Chinese-made $100 laptop computer.
When Bill Gates and his friends started Microsoft, it was one of very few companies that sold nothing but personal computer software, and the others were so small that Microsoft managed to buy most of its competitors -- or at least license their best work or hire away their best programmers. Back then, programmers were scarce and expensive, as were the computers they programmed on. Now there are both programmers and computers all over the world, linked together by the Internet. The Internet not only helps programmers collaborate with each other across geographic boundaries, but allows them to distribute their work without shipping physical products.
The only reason to have a software company's employees work in an office these days is control, both of employees' schedules and of what they work on. Self-motivated geniuses have no need of offices and may even resent being asked to show up at one on a regular schedule, which means that many of the world's best programmers will never work for Google, Microsoft or any other company. Instead, they'll start their own software companies or, in many cases, Open Source-based consultancies.
So Microsoft doesn't face a few dozen competitors, as it did in the 1980s, but hundreds of thousands. And these competitors are spread all over the world. This kind of competition is a lot harder to co-opt, buy out or fend off than competition from a single company, a la Netscape, or even from a group of companies as substantial as IBM, Sun, Oracle, and their computing industry peers.
Competition has Forced Microsoft to Improve its Products
Microsoft may no longer be able to hire all the top programmers it wants, but there is already plenty of talent among its 60,000-plus employees, and they have done some excellent work in recent years. Windows XP is immeasurably better and more stable than Windows ME or Windows 98. The next generation of Explorer will have many of the modern browser features that those of us who use Firefox or Opera have gotten accustomed to. Microsoft Office may not have some of the features OpenOffice.org users take for granted, like a built-in graphics utility, the ability to act as a front end for industrial-strength free databases like MySQL, and the ability to save your work in 30+ different Open and proprietary formats, including PDF. But Microsoft Office today is a lot better than it was 10 years ago, and the next version may even use a sort-of free XML file format that may not be as open and standardized as the OASIS Open Document Format used by OpenOffice.org, but is less closed and less proprietary than previous Microsoft file formats.
A true monopoly would not need to make these improvements in its products. It would give you whatever it wanted, at whatever price it wanted to charge. It would not be selling cut-down versions of its products at cut-rate prices in developing countries -- many of which, you may note, are rapidly turning into "software developing" countries.
Without Linux, combined with Apple's move to BSD-based Mac OS X, I doubt that Microsoft would have put much development effort into Windows. They sure didn't do much with Explorer between the time they crushed Netscape and the time when Firefox started making a big splash, did they?
The U.S. antitrust case against Microsoft wasn't about the company being a monopoly (which courts agreed that it was at the time), but about illegal misuse of that monopoly. That case was settled in a way that left Microsoft essentially unharmed, but with a judge overseeing its actions for five years, a time period that is going to end before long.
The Age of the Software Monopoly is Over
IBM tried to create a monopoly in the business desktop computer business, but failed to hold onto its market-leading position as dozens, then hundreds, and later thousands of competitors made better/faster/cheaper PCs. Even today, while Dell is the world's largest personal computer vendor, if you add up all the market share reports from major computer vendors in this C|Net article, you'll see that they account for around 60% -- not 100% -- of total sales, with smaller companies getting the rest. (And some of those companies are *really* small, like the one-man Bradenton, Florida, shop where my sailing buddy Gene just bought his latest home computer.)
The personal computer hardware business has become totally demonopolized, decentralized, democratized, and internationalized. If you have enough mechanical ability to assemble components neatly (and enough sales ability to get people to buy what you make), you can get into it yourself with a very small investment, just as Michael Dell started out reselling computer components and assembling systems in his college dorm room.
Starting a software business takes even less investment. If you're a competent programmer -- or you have a friend who is a competent programmer and you are a whiz-bang marketing person -- you have everything you need to get going. You can either produce and sell proprietary software or customize (and probably install and maintain) Free or Open Source Software for corporate clients. If the Internet is your primary sales and distribution channel, you don't need to live and work in expensive IT business hotbeds like Silicon Valley or Boston, either: JBoss, for example, is based in Atlanta, Georgia; and Digium, the company behind Asterisk, is in Huntsville, Alabama.
There are software businesses springing up all over the place. Most of them are tiny, and few of them will ever get big enough that analyst firms like Gartner or IDC will track their market share (or even notice them). But there are so many of them being started that, in aggregate, they are becoming a more significant market force than any single big software company, even Microsoft.
This doesn't mean Microsoft will be replaced next year by 100,000 startups. The company will still be around, it will still get lots of press, and -- assuming it embraces (but does not keep trying to extend and extinguish) Open Standards -- it will still be a powerful force in the software world.
But no matter what Microsoft does, it will never have a software monopoly again. Nor will any other company. The barriers to entry in the software business have become too low for that to happen, and too many skilled software developers are learning that they can earn at least as much working for themselves as they would by working for big software companies.
Small is Beautiful was a fine book title in 1973. Today, it's a fine description of the software industry's future.
-----
Have something important to say to the Slashdot community? Email roblimo at slashdot period org the complete article (or an article proposal). -
Gaim 2.0.0beta1 Released
BerkeleyDude writes "Gaim 2.0.0beta1 has been released! Here is the changelog. New features include account status, away messages, etc, UPnP and NAT traversal support, new UI for buddylist, chat windows and preferences." -
Gaim 2.0.0beta1 Released
BerkeleyDude writes "Gaim 2.0.0beta1 has been released! Here is the changelog. New features include account status, away messages, etc, UPnP and NAT traversal support, new UI for buddylist, chat windows and preferences." -
Google, Jabber, and Jingle
An anonymous reader writes "Jabber has published the experimental draft Jingle specs, which extend XMPP for use in voice over IP (VoIP), video, and other peer-to-peer multimedia sessions. Google released an open-source library called 'Libjingle' on SourceForge. Libjingle is a set of components provided by Google that let your programs interoperate with Google Talk's peer-to-peer and voice calling capabilities. The package includes source code for Google's implementation of Jingle and Jingle-Audio." -
Free60 Project Aims for Linux on Xbox 360
BlueMoon writes "The Free60 Project wiki and developers mailinglist has been launched. The project aims to port open source operating systems like GNU/Linux and Darwin to the Microsoft Xbox 360 gaming console. The site already contains some interesting details about the Xbox 360 security: per-box key stored on CPU, boot ROM will be on CPU too and a hypervisor verifies the running state of the kernel." -
YouTube Receives $3.5M Funding from Sequoia
An anonymous reader writes "YouTube, the self-described "Flickr of video" has now received $3.5M in funding from Sequoia Capital, the same VC firm that funded Yahoo!, Google, and PayPal. Competitors of YouTube include Revver, launched just last month and founded by Ian Clarke of The Freenet Project fame. As of now, both services are free. With the online video space heating up in recent months, the question is who will discover the best business model." YouTube was first mentioned on Slashdot shortly after its launch three months ago. -
How to Go About Team Building?
B1-66ER asks: "I'm trying build a team of elite overclockers for HWLogic, and a group of developers for our mulit-platform benchmark CPU-XMark. Now, before you tell me to use SF's Project Help Wanted, just remember: Linus Torvalds didn't have the online community development tools that we use now. I'd like to go beyond the help of SourceForge [which is part of the same company as Slashdot] to ultimately create my own organization in the way that Linus has now. It is my goal to one day get CPU-XMark to be a multi-platform Open Source clone of Futuremark's 3DMark05. Any suggestions?" -
MS Office 12 To Utilize ODF?
J. Random Luser writes "Groklaw is carrying a story about Microsoft quietly engaging a French company to develop Open Document filters for Office 12, due out mid-2006. The SourceForge project claims to be an import filter for MS Office, and that is how the developer describes it. But ZDNet quotes Ray Ozzie as talking about an export filter from MS Office, and this french blog takes Ozzie at his word. Ostensibly the tarball unpacks as OpenOfficePlugin, and SourceForge has the WindowsInstaller.msi listed as 'platform independent'." From the ZDNet article: "Ozzie told me that supporting ODF in Office isn't a matter of principle. Microsoft isn't opposed to supporting other formats. The company just announced support for PDF, and he added that the Open Office XML format has an 'extremely liberal' license." -
Why Won't Macromedia Release 64-bit Flash?
Flashless Dancer asks: "Despite numerous online campaigns, blogs and forum postings, Macromedia has failed to release a 64 bit version of it's popular Flash Player for 64 bit architectures. Growing outcry in the Linux community recently spawned the online petition at PetitionOnline, but this seems to have fallen on deaf ears. A recent posting to Macromedia's technotes, back in September, offers this explanation and advice to users and developers who are growing increasingly concerned that users with 64 bit architectures are unable to view online content created with Flash. It explains that users must downgrade to 32 bit browsers and use the 32 bit plugin. This simply isn't a good option for most users, in fact many Linux distributions, including FC2/3/4 install 64-bit browsers with their 64-bit distributions. This seems to breathe new life into the old GplFlash Project which is now back, after some time on the back burner. Future development of GplFlash2 promises support for Flash 6/7 but remains in development for now. Open speculation in chatrooms and web forums alleges all sorts of conspiracy theories but, what I'd like to know is: What's the real difficulty here for Macromedia?" -
New Hopes From Sun's Idea Factory
UltimaGuy writes "While it's way too soon to say Sun is back on track, the return of Bechtolsheim, aggressive improvements in products and a healthy dose of humility among Sun's executives mean the troubled company and its investors have more cause for optimism than they've had in years." Of course, Sun's problems are still out there - dealing with projects like Geronimo for some of their base infrastructure, and of course other companies promoting Linux as the solution. -
NetBSD Summer of Code Summary
UltimaGuy writes "The NetBSD Project is pleased to announce the results of its participation in Google's "Summer of Code". After Google announced this program to introduce students to the world of open source software development at the beginning of June, the NetBSD Project was happy to join the approximately 40 other open source groups as a mentoring organization and compiled a list of suggested projects. I personally think the Project tmpfs: Efficient memory file-system as the most successful one." -
DSPAM v3.6 Released
Nuclear Elephant writes "After six months of development, DSPAM v3.6 has been released. The most notable change is the series of new features added to make an anti-spam gateway appliance possible (Knoppix anyone?). Version 3.6 also includes a highly accurate alternative to Bayesian filtering known as Markovian discrimination, based on Bill Yerazunis' research. Other significant enhancements include trusted sender whitelisting, integrated Clam Antivirus and LDAP support, a centralized spam training alias, and a new dependency-free storage driver. Much of the documentation has also been rewritten to make installation easier. A change log and release notes are also available. Slashdot has recently featured a review of the author's book, Ending Spam and an interview as well."