Domain: mozilla.org
Stories and comments across the archive that link to mozilla.org.
Stories · 1,238
-
Worm Exploit Distributed by Advertising Network
Zocalo writes "Given that a lot of Slashdot readers also check The Register, it's important to note that their Internet advertising provider, Falk AG, was compromised by the BOFRA exploit yesterday. The Falk AG service has been suspended by The Register and a statement from Falk AG is due on Monday. The upshot is that if you visited the Register yesterday morning and use IE as your browser, then you probably need to run a full virus scan with up to date data files. Of course, those of us running other browsers and something like AdBlock have nothing to worry about. Again." You're OK for now if you're running SP2. There's also a good security writeup about the problem. -
What's Next For Mozilla?
ezberry writes "After releasing version 1.0 of Firefox, what's ahead for the Mozilla Foundation and the venerable Firefox browser? With 6% of the market, and a notable exclusion from Google's desktop search software, PC World states that Mozilla may be thinking about adding desktop searching to the browser. Using plugins from third party vendors (and more), desktop searching may become a regular part of firefox. The article also talks about Mozilla improving firefox's popup blocker and getting OEMs to include firefox on their machines." -
Firefox 1.0 Released
New Here writes "November 9 has arrived and with it comes Firefox 1.0. According to its home page, Firefox empowers you to browse faster, more safely, and more efficiently than with any other browser. I'm New Here, but this Firefox does sound very promising! Firefox 1.0 is available now for Windows, Linux, and Mac from the mozilla.org ftp server." -
Firefox 1.0 Released
New Here writes "November 9 has arrived and with it comes Firefox 1.0. According to its home page, Firefox empowers you to browse faster, more safely, and more efficiently than with any other browser. I'm New Here, but this Firefox does sound very promising! Firefox 1.0 is available now for Windows, Linux, and Mac from the mozilla.org ftp server." -
Thunderbird 0.9 Released
Simon (S2) writes "Thunderbird 0.9 is now available for download! New features include Saved Search Folders (aka Virtual Folders) which allow you to display messages based on previously set search criteria across multiple folders. Message Grouping allows you to organize e-mail in a folder by grouping them based on various attributes like Date, Sender, Label, etc. Thunderbird 0.9 also includes numerous bug fixes and other improvements. For more information, see the release notes. Builds can be found on the mozilla.org FTP server or in the release notes above." -
Thunderbird 0.9 Released
Simon (S2) writes "Thunderbird 0.9 is now available for download! New features include Saved Search Folders (aka Virtual Folders) which allow you to display messages based on previously set search criteria across multiple folders. Message Grouping allows you to organize e-mail in a folder by grouping them based on various attributes like Date, Sender, Label, etc. Thunderbird 0.9 also includes numerous bug fixes and other improvements. For more information, see the release notes. Builds can be found on the mozilla.org FTP server or in the release notes above." -
Where To Find Ambitious Business Partners?
LostInTranslation asks: "If I were an MBA looking to make a fantastic new dotcom company, I would look around places like /. to try and net some technical wizards to do my bidding. Sites like this collect that kind of tech genius. But the problem is that I already am a technical wizard, and what I need is someone who is driven to sell wizardry. Where does one find that kind of person? Is there some kind of newsgroup they frequent? I've done a few searches, but nothing of value came up. How does a geek find a suit that wants to be exploited?" "I should clarify: I've run at least two quasi-successful companies in the past ten years, bootstrapping and innovating along. I don't want to run my own business anymore. It's tiring, it takes me away from the front lines, and I don't have the right personality for it. I am looking for a business partner who can turn my good ideas into success stories. I've got angel investors waiting for something to spend on, I've got a massive number of satellite resources to make any idea shine, but I'm missing someone with that je ne sais quoi ... that chutzpah, that integrity in the face of adversity. And I'm not gambling anyone's money on my ideas when I'm fully aware I don't want to run the show.
Someone out there in Slash-land must know where these people collect. They all seem too buzzword-aware to not be on the web somewhere. So give it up: where are they hiding?" -
Mozilla Releases Firefox 1.0 RC1
islandroots writes "Mozilla has finally posted the first Firefox 1.0 release candidate on their FTP servers. This could very well be the last official release of Firefox before the big 1.0 launch date on November 9th. Mozilla FTP Servers" -
Mozilla Releases Firefox 1.0 RC1
islandroots writes "Mozilla has finally posted the first Firefox 1.0 release candidate on their FTP servers. This could very well be the last official release of Firefox before the big 1.0 launch date on November 9th. Mozilla FTP Servers" -
Firefox Shooting For 10 Percent
Random BedHead Ed writes "An article on ZDNet Monday features an interview with Bart Decrem, the Mozilla organization spokesman, who says that by the end of next year they expect to have 10% of the browser share. "We have the momentum," he says. He attributes some of the success to faster browsing and a lack of software bloat, and suggests that other open source projects might see similar success if they trim features. The article also quotes some very interesting figures from ZDNet's own web servers. About 9% of ZDnet visitors were using a Mozilla browser in February; now in it's at 19%." The average for OSTG overall is about 30%. -
Firefox Shooting for 10 Percent
Random BedHead Ed writes "An article on ZDNet Monday features an interview with Bart Decrem, the Mozilla organization spokesman, who says that by the end of next year they expect to have 10% of the browser share. 'We have the momentum,' he says. He attributes some of the success to faster browsing (i.e., without spyware) and a lack of software bloat, and suggests that other open source projects might see similar success if they trim features. The article also quotes some very interesting figures from ZDNet's own web servers. About 9% of ZDnet visitors were using a Mozilla browser in February; now in it's at 19%." -
Netatalk 2.0.0 Released
SuperBanana writes "After what seems like an eternity, Netatalk (an Appletalk server suite for unix) has caught up with the latest version of the Apple Filing Protocol (aka Appleshare). This means long filenames, files larger than 2GB, and other goodies that will bring much happiness for Unix sysadmins supporting Macintosh users (check out the human-friendly release notes for the full list). As with any major release, even though this has been through several release candidates- read the gotchas, review the known bugs in their bug tracker, test it out on something non-critical...and help stabilize the release by reporting any bugs you find. Of course, make sure you read a guide to reporting bugs first!" -
Google-branded Firefox?
arpy writes "An article on Mozillanews.org is reporting on Google's registration of the domain GBrowser.com (nothing to look at there yet). The article provides a summary of rumours that Google will release a branded version of Mozilla Firefox (along with some interesting speculation)." -
Slashback: Indymedia, Starfighter, Mozparty
Slashback, below, brings updates and followups to several recent Slashdot stories, including Diebold's (trivial) financial penalty for copyright abuse, reviews of 'The Last Starfighter,' an inquiry into the best response to the recent seizure of Indymedia's servers in the UK, and the upcoming, distributed Mozparty2 to celebrate the 1.0 releases of Firefox and Thunderbird. Read on for the rest.An apology might be a nice start. Chris writes "The UK government has broken its silence on the Indymedia server raid and is claiming that there 'no UK law enforcement agencies were involved'; see Richard Allan's blog for the whole written answer. This means that the potential for taking legal action against Rackspace in the UK needs to be explored -- were any UK laws (eg the Data Protection Act 1984 or the Regulation of Investigatory Powers Act 2000) broken? Are there any UK cyber law experts on Slashdot with any suggestions...?"
Is Google private enough for you? XeRXeS-TCN writes "Following on from the recent concerns reported on Slashdot about the Google Desktop, the CEO of Copernic has warned about user privacy. Google Desktop Search allows users to opt out of sending the company back detailed usage data, but it isn't possible to firewall it completely. Much more ominously, Google's product manager Marissa Mayer said she expected the private queries to generate more hits for google.com. Most people, she believed, would choose to combine personal and web searches resulting in more revenue for Google's ad business. More on this at The Reg."
If this is a dupe, then Murphy was right. Vcullen writes "The Formula that scientists recently proposed to calculate Murphy's Law has recently been turned into an easy to use online Murphy's Law calculator. So now you can work out what the probability of it happening on any given situation!"
Nice shooting, kid. Bravo! Jason Scott writes "Inspired by the Slashdot story about the arrival of 'The Last Starfighter: The Musical' off-Broadway, I drove from Boston to New York City and back in one day to attend a matinee. I have written a review of what I experienced on my weblog. As I say in the review, 'If spoilers do not interest you, if you only want the simplest of directions and want to make the next right move, then heed these words: if you live within driving, walking, bus or train distance of New York City, see this musical. Immediately.'"
And ottffs writes with his own impressions: "I was recently in Manhattan presenting at ACM Multimedia 2004 conference. I was lucky enough to be able to attend the premiere of 'The Last Starfighter: the musical' on Friday night. I have posted a review and some pics to my blog."There goes the next office party budget. JimMarch(equalccw) writes "After losing a major copyright case in which Diebold was punished for exercising their copyright in a wrongful fashion (copyWRONG?), the other shoe has dropped: the court says Diebold owes the ISPs and webmasters who complained a total of $125,000. "
Anyone care to start one for El Paso? loconet writes "Following the success of Mozilla's 1.0 release parties, where Mozilla supporters from all over the world celebrated the release of Mozilla 1.0, comes Mozparty 2 celebrating the upcoming 1.0 release of Mozilla Firefox and Mozilla Thunderbird. According to the Mozparty site, currently there are 1007 ppl partying in 109 parties from which the biggest party is in Mexico."
-
Slashback: Indymedia, Starfighter, Mozparty
Slashback, below, brings updates and followups to several recent Slashdot stories, including Diebold's (trivial) financial penalty for copyright abuse, reviews of 'The Last Starfighter,' an inquiry into the best response to the recent seizure of Indymedia's servers in the UK, and the upcoming, distributed Mozparty2 to celebrate the 1.0 releases of Firefox and Thunderbird. Read on for the rest.An apology might be a nice start. Chris writes "The UK government has broken its silence on the Indymedia server raid and is claiming that there 'no UK law enforcement agencies were involved'; see Richard Allan's blog for the whole written answer. This means that the potential for taking legal action against Rackspace in the UK needs to be explored -- were any UK laws (eg the Data Protection Act 1984 or the Regulation of Investigatory Powers Act 2000) broken? Are there any UK cyber law experts on Slashdot with any suggestions...?"
Is Google private enough for you? XeRXeS-TCN writes "Following on from the recent concerns reported on Slashdot about the Google Desktop, the CEO of Copernic has warned about user privacy. Google Desktop Search allows users to opt out of sending the company back detailed usage data, but it isn't possible to firewall it completely. Much more ominously, Google's product manager Marissa Mayer said she expected the private queries to generate more hits for google.com. Most people, she believed, would choose to combine personal and web searches resulting in more revenue for Google's ad business. More on this at The Reg."
If this is a dupe, then Murphy was right. Vcullen writes "The Formula that scientists recently proposed to calculate Murphy's Law has recently been turned into an easy to use online Murphy's Law calculator. So now you can work out what the probability of it happening on any given situation!"
Nice shooting, kid. Bravo! Jason Scott writes "Inspired by the Slashdot story about the arrival of 'The Last Starfighter: The Musical' off-Broadway, I drove from Boston to New York City and back in one day to attend a matinee. I have written a review of what I experienced on my weblog. As I say in the review, 'If spoilers do not interest you, if you only want the simplest of directions and want to make the next right move, then heed these words: if you live within driving, walking, bus or train distance of New York City, see this musical. Immediately.'"
And ottffs writes with his own impressions: "I was recently in Manhattan presenting at ACM Multimedia 2004 conference. I was lucky enough to be able to attend the premiere of 'The Last Starfighter: the musical' on Friday night. I have posted a review and some pics to my blog."There goes the next office party budget. JimMarch(equalccw) writes "After losing a major copyright case in which Diebold was punished for exercising their copyright in a wrongful fashion (copyWRONG?), the other shoe has dropped: the court says Diebold owes the ISPs and webmasters who complained a total of $125,000. "
Anyone care to start one for El Paso? loconet writes "Following the success of Mozilla's 1.0 release parties, where Mozilla supporters from all over the world celebrated the release of Mozilla 1.0, comes Mozparty 2 celebrating the upcoming 1.0 release of Mozilla Firefox and Mozilla Thunderbird. According to the Mozparty site, currently there are 1007 ppl partying in 109 parties from which the biggest party is in Mexico."
-
Netscape Turns 10
An anonymous reader writes "Today marks ten years since the first public beta of Netscape Navigator was released. Both CNet News.com and MozillaZine have full coverage, with the former revealing that AOL is planning to release a new version Netscape in the New Year (thankfully separate from the IE-based version of AOL's browser). Even the Netscape portal (which never mentions the Netscape browser) is celebrating the anniversary. A lot of water has passed under the bridge in the last decade (especially since AOL bought Netscape) and the baton has now passed onto the Netscape alumni-filled Mozilla Foundation, but it's still worth remembering that Netscape changed the world not once (by making the first really good browser), but twice (by being the first major commercial program to go open source)." -
Breaking Google's DRM
An anonymous reader writes "Google's new Google Print service (that lets you see scanned pages from printed books) has a pile of advanced browser-disabling DRM in it ('Pages displaying your content have print, cut, copy, and save functionality disabled in order to protect your content.'). This works with JavaScript turned off, even in Free Software browsers. Seth Schoen has posted preliminary notes on some breaks to the DRM (beyond just automating a screenshotting process), including a proposal for a circumventing proxy that would fetch Google Print pages and strip out the DRM. A full exploration of the html obfuscation and DRM employed by Google would be very interesting; certainly the ability for a remote attacker to disable critical browser features like save, right-click, copy and cut against the user's wishes is a major security vulnerability in Moz/Firefox and should be fixed ASAP." -
A Security Bug In Mozilla - The Human Perspective
xslf writes "Alex Vincent, the reporter of the data-loss security bug 259708, writes about the behind the scene process of reporting it, casting light on the problems of dealing with security related bugs reported by the community, which isn't always aware of the security implications of the bugs reported. The issues with the FLOSS process shown in this bug might get worse, once more and more people use FLOSS and add to the process, without being full fledged coders, and rely on binary releases of software." (Note, you'll have to copy and paste that link to view the bug report, or click through from the linked story.) -
Firefox 0.10.1 Released, Fixes Security Hole
_xeno_ writes "Firefox 0.10.1 was released today to fix a security flaw that could potentially allow a malicious site to erase files from the user's Download directory. If you already have Firefox 0.10 installed, you can go to Tools, Options, and choose Advanced, go to Software Updates and choose Check Now to grab the patch." -
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!" -
Mono: A Developer's Handbook
vertigo writes "I am reasonably proficient in C and C++ as well as the more common scripting languages, but i always felt the lack of a sweet spot between the hard and fast low-level programming languages and the loosely typed scripting languages. Lately, my interest in the Mono project has been growing. The C# language appears to offer just that sweet spot between power and productivity I've been looking for, and its class libraries like Gtk# seem to provide the programmer with a very clean and intuitive API." Read on for vertigo's review of Mono: A Developer's Handbook from O'Reilly. Mono: A Developer's Handbook author Edd Dumbill and Niel M. Bornstein pages 278 publisher O'Reilly Media, Inc. rating 8 reviewer vertigo ISBN 0596007922 summary An introduction to programming with MonoWhen learning a new language such as C#, or working with a new development environment such as Mono, it usually takes some time before you get up to speed in developing programs. Wading through the reference documentation and reading other people's source code often provides much-needed information on how to do certain things. Both, however, are very time consuming and tedious.
Enter Mono: A Developer's Notebook. This book provides a series of task-driven chapters which are thin on theory, but rich on practical content and example code. The featured code snippets are, in contrast to ones in books that teach theory and concepts, not solely designed to illustrate a specific theoretical aspect of programming. Each one is designed to perform a useful task that is essential in day-to-day application programming. What sets this book apart from the multitude of .NET books already available on the market? In order to answer this question it is neccesary to provide a short introduction on Mono.
Mono is essentially an open source cross-platform implementation of Microsoft's .NET development framework and implements the API's which are standardized by ECMA. It is, however, not an exact clone. Besides providing a (partially implemented) stack that provides compatibility with Microsoft's .NET API's, Mono adds a whole new API-stack of its own, consisting of open source technologies such as the Gtk+ toolkit and the Gecko HTML rendering engine. This makes it possible to develop cross-platform applications based on open source technology while (mostly) compiling from a single code-base. In contrast to most .NET books available on the market, which focus primarily on Microsoft's API's in the context of Visual Studio.NET, this book concentrates on the basic ECMA API's and Mono's own open source stack. A complete coverage of .NET and the Mono architecture is outside of this review's scope, so for more information you are advised to check the Mono Project's website.
Before we dive deeper into the content of the book, a short introduction on the Developer's Notebook series by O'Reilly may be useful. The books in this series are styled to resemble the kind of notebooks college students carry around during their classes in which to take notes or, more commonly, draw caricatures of their teachers. The 'notebook' theme persists throughout the look-and-feel of the book. The 278-page thick paperback has a glossy blue cover, complete with faux post-it note and coffee-stains. Inside, the pages are not clean white but lined like the pages found in math notebooks. In the margin, useful comments are scribbled in a font that resembles handwriting. At first I suspected that the 'busy' look would distract from the content, but in practice this was no problem, thanks to the thick black typewriter font in which the bulk of the text is printed.
The chapters in this book are referred to as labs. Each of them focuses on a specific set of tasks and/or features and is divided into several paragraphs. Most paragraphs consist of a number of standard sections following a rigid formula that help you understand a certain aspect of working with Mono. The most common sections are:
- How do I do that?: Often using a liberal amount of practical code, this section shows how to accomplish the task at hand, for example working with files.
- How it works: In this section, the code and concepts involved in the previous section are explained more in depth, step by step.
- What about...: Offers a short focus on more advanced topics or pitfalls.
- Where to learn more: If you are craving more information after reading the previous sections, you are often offered a helping hand on where to find more information, providing url's to relevant documentation such as MSDN and other websites.
The first chapter, Getting Mono Running, describes how to get Mono up and running on Linux, Windows or Mac OS X, and how to compile from source on other platforms. The installation instructions for Windows only describe how to install Mono and Gtk#. Integration of Gtk# only in an existing Visual Studio.Net installation falls outside of the scope of the book, but a recent blog entry offers some hints on how to accomplish this. Besides installation, the first chapter offers a short description of the individual tools that make up the mono development. After installation, you will want some kind of editor or IDE to work with. Both the MonoDevelop IDE and several other ways of integrating Mono into your existing environment as a Java or Windows developer are covered. Finally, the community is an important aspect of every open source project. Ways of interacting with the community as well as a guide on how to submit bugs and links to some working Mono/C# applications are part of this chapter.
The C# introduction in the second chapter, Getting Started with C#, is tailored towards people who have at least some proficiency in using an object-oriented language such as C++ or Java. Some differences between C#, Java and C++ are discussed, as well as the differences between value- and reference types, the basics of error handling, working with assemblies and more. Concepts such as classes, methods, inheritance and namespaces are assumed to be known territory. If you have no previous programming experience, Mono: A Developer's Notebook is only useful in combination with a book that teaches programming with C# such as The C# Programming Language by Anders Hejlsberg.
An important part of any modern language is its class libraries. The third chapter, Core .NET, provides an introduction to the standard Framework Library Classes, which describes essential everyday tasks that are part of every program, such as working with files, strings, searching for text patterns and handling collections of data. Besides those basic functions, the chapter also dives deeper into the internals of a compiled assembly, the handling of processes and easy multitasking using threads. Finally, the last paragraph explains how to use a .NET version of the JUnit Java Unit testing framework, Nunit, to test your code.
Developing Gtk-applications with Mono and C# is remarkably easy. Chapter 4, Gtk#, describes the basics of writing Gtk# applications. First, it's neccesary to remark that Gtk# might be a bit of a misnomer. Besides the raw Gtk+ toolkit functionality, Gtk# also includes most of the Gnome libraries like gconf, the gnome canvas, libglade and more. Chapter 4 describes functionality available in the Gtk namespace, the basic Gtk+ toolkit. Gtk+ is a constraints-based toolkit, which means that widgets are not positioned using absolute pixel coordinates but rather on basis of their logical relation to each other. This can be a bit confusing for novices, but this chapter provides a good introduction to the basic principles of writing layouts using Gtk#. The authors provide descriptions of essential operations that almost every application needs, such as creating menus and drawing pixmaps (or more advanced things like using the treeview widget and drag-and-drop), assisted by easy-to-read code snippets.
While chapter 4 introduces basic Gtk# functionality, chapter 5, Advanced Gtk#, delves deeper into more advanced features of the Gtk# library which also include functionality outside of the basic Gtk-namespace, such as the Gnome libraries. Working with Gnome button toolbars, the Glade user interface designer, storing your application settings in Gconf, setting up some preferences through the use of a wizard/druid, asynchronous operations and threading to increase responsiveness of your application while performing background tasks, rendering HTML in your application using the Gecko rendering engine and internationalisation and translation of applications are all described in this chapter.
The use of XML is tightly integrated throughout the Mono framework. It is, for example, the underlying format of the messages that web services use to communicate using the SOAP and XML-RPC protocols. The 6th chapter, Processing XML, describes the XML functionality available in Mono. It starts off by simple operations, reading and writing to an XML-file using relevant examples such as RSS and Dashboard clue-packets. It then proceeds to describe how to modify XML in memory, how to navigate and transform XML using Xpath and XSLT, how to constrain XML in several ways and how to serialize and deserialize objects into and from their XML representation. As in previous chapters, the information density is very high so it might take several reads to grok everything explained. The code examples and accompanying text however are very clear and concise.
The 7th chapter called Networking, Remoting, and Web Services describes the networking functionality available in Mono. The chapter starts off with ASP.NET. Mono's stand-alone XSP webserver and Apache integration with mod_mono are discussed, as well as the basics of writing a web application using ASP.NET's code-behind functionality which enables web applications to completely seperate presentation from the underlying code. Communication using plain tcp/ip, remoting using binary serialized objects and invoking remote procedures using XML-RPC as an alternative to SOAP are also described in this chapter. You might want to encrypt the data you send over the network, so a basic description of the Mono cryptographic API is provided. Finally, a short introduction to database handling using ADO.NET concludes chapter 7.
The 8th and last chapter titled Cutting Edge Mono starts off with an introduction on how to use the GNU Automake, Autoconf and the pkg-config tools to create an easy to build source package of your project. It then proceeds to describe various pitfalls and considerations in case you want to write cross-platform applications using Mono, such as filesystem layout, configuration storage and the calling of native code using p/invoke. A particularly cool project is IKVM, which translates Java bytecode into the Common Intermediate Language bytecode Mono uses. This enables Mono to run Java applications and allows Java and Mono code to inter-operate. A short introduction on the use of IKVM is provided, as well as some code examples on how to call Mono assemblies from Java and use the Java class libraries from within Mono applications. The chapter ends with some other cutting-edge functionality, like how to run a development version of Mono, a preview of the Generics (templates in c++) implementation available as featured in C# 2.0 and how to write Mono programs in Basic.
What is missing? The book doesn't contain a reference section on any of the described API's. If you need detailed information on the C# language specification or an API reference you will need to consult external resources such as the documentation provided with Mono, MSDN, or a separate book covering the topic to make optimal use of the information contained in this book. Fortunately, the book kindly provides pointers on where to find those. The information-density is much higher than you would expect from a book this size. This means the information contained in it is terse. Many topics are treated in a only a couple of pages and the book doesn't take time to explain a lot of programming concepts. The information gets you 'on the road' quickly however, which is exactly what this book is supposed to do.
The strength of this book is that it fills the gap between the earlier-mentioned reference documentation and the need to go out and try to read sourcecode to find out how a particular thing is done. The writing style is clear, concise and neutral. Some topics are clarified by the use of screenshots, which is especially useful in the chapters dealing with Gtk# widgets. All in all, if you are a developer with previous experience in object-oriented programming, Mono: A Developer's Notebook will provide you with an excellent introduction into many of the aspects of working with Mono, its associated libraries and programs.
More information and a sample chapter can be found at the book's homepage.
You can purchase Mono: A Developer's Handbook from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
FTP Client For Firefox
cuv writes "As Firefox becomes more and more popular, programmers are becoming savvy to Mozilla's excellent development platform. I happen to be one of those and I would like to share the FTP client that I've designed for Firefox. Give it a try, report any bugs, and if you haven't already: switch over to Firefox! Better yet: start developing!" -
FTP Client For Firefox
cuv writes "As Firefox becomes more and more popular, programmers are becoming savvy to Mozilla's excellent development platform. I happen to be one of those and I would like to share the FTP client that I've designed for Firefox. Give it a try, report any bugs, and if you haven't already: switch over to Firefox! Better yet: start developing!" -
Interview with Camino Developer Mike Pinkerton
An anonymous reader writes "As someone who has used Camino for much of the time since the OS X-centric Gecko browser was released, I've been hoping to see it hit version 1.0 (it's at 0.8 now). ArsTechnica has an interview with Mike Pinkerton, the lead developer for Camino in which he talks about the history and future of Camino along with his thoughts on Safari and Firefox." -
Microsoft To Provide IE Patches for Windows XP Only
Fortunato_NC writes "Microsoft has decided that future IE updates, including those related to security, will only be available to customers using Windows XP. This news.com article has the complete scoop. A choice quote: 'Microsoft may be turning the lemons of its browser's security reputation into the lemonade of a powerful upgrade selling point.' This should provide a huge boost to Mozilla and other alternative browser backers." -
Batch-o-Moz: Firefox, Thunderbird, Suite Released
bluephone writes "Today Mozilla.org has unleashed a triple threat; Firefox 1.0PR, Thunderbird 0.8, and Mozilla Suite 1.7.3. Wow. Lots of news in all three fronts. so, for your release notes, sys-requirements, what's new, and download links, here you go. Firefox, Thunderbird, and Mozilla Suite. Enjoy." -
Batch-o-Moz: Firefox, Thunderbird, Suite Released
bluephone writes "Today Mozilla.org has unleashed a triple threat; Firefox 1.0PR, Thunderbird 0.8, and Mozilla Suite 1.7.3. Wow. Lots of news in all three fronts. so, for your release notes, sys-requirements, what's new, and download links, here you go. Firefox, Thunderbird, and Mozilla Suite. Enjoy." -
Batch-o-Moz: Firefox, Thunderbird, Suite Released
bluephone writes "Today Mozilla.org has unleashed a triple threat; Firefox 1.0PR, Thunderbird 0.8, and Mozilla Suite 1.7.3. Wow. Lots of news in all three fronts. so, for your release notes, sys-requirements, what's new, and download links, here you go. Firefox, Thunderbird, and Mozilla Suite. Enjoy." -
Batch-o-Moz: Firefox, Thunderbird, Suite Released
bluephone writes "Today Mozilla.org has unleashed a triple threat; Firefox 1.0PR, Thunderbird 0.8, and Mozilla Suite 1.7.3. Wow. Lots of news in all three fronts. so, for your release notes, sys-requirements, what's new, and download links, here you go. Firefox, Thunderbird, and Mozilla Suite. Enjoy." -
Exploring Firefox Extensions
Gary writes "If you haven't made the switch to Mozilla Firefox it may be because you aren't aware of the great benefits Firefox has over IE. Flexbeta has posted a nice HOWTO guide on Firefox extensions; my favorite is the Target Alert extension which displays a small graphic next to links that are not web pages. For example a mailto: link will display a small envelope, a link to a PDF file will display a small Adobe icon, etc." -
Mozilla Usage Doubles in 9 Months
TheBadger writes "Thanks to the success of Firefox, Mozilla now appears to have 14.9% of the browser share, double that of 9 months ago. Let this be a lesson in complacency." -
Mozilla Usage Doubles in 9 Months
TheBadger writes "Thanks to the success of Firefox, Mozilla now appears to have 14.9% of the browser share, double that of 9 months ago. Let this be a lesson in complacency." -
Mozilla.org Relaunched
mpeach writes "Mozilla Organization has launched its new Web site and it's looking a fair bit sleeker than it used to. No new product releases to go with the new look unfortunately, but, according to the Firefox 1.0 Roadmap, release candidates of the latest browser are getting closer by the day." -
Mozilla.org Relaunched
mpeach writes "Mozilla Organization has launched its new Web site and it's looking a fair bit sleeker than it used to. No new product releases to go with the new look unfortunately, but, according to the Firefox 1.0 Roadmap, release candidates of the latest browser are getting closer by the day." -
NX - A Revolution In Network Computing?
Anonymous Coward writes "Judging from this interview, it looks like KDE developers have found a new toy to add to their desktop's networking capabilities. They claim to be able to cram a fullscreen KDE session -- KMail for mailing, Konqueror for file management, Mozilla for web browsing and OpenOffice for word processing -- into a 40 KBit/sec modem connection without losing responsiveness for the user experience. At aKademy, the 9 day KDE Community World Summit, a group of core developers started to work on NX/FreeNX integration to help facilitate the "re-invention of the KDE desktop environment" for KDE4. Knoppix-3.6 is the first Linux distribution to ship an integrated FreeNX server (created by Fabian Franz) with the NoMachine NX Client." -
Presenting APNG: Like MNG, Only Better
An anonymous reader writes "It's fair to say that most people love PNG images (or at least hate GIFs). However, the one advantage GIFs have over PNGs is that they can be animated. There is, of course, an animated version of PNG, MNG, but few programs can view these images (mainly because the MNG decoder is so large that the likes of Mozilla refuse to include it). But there may be an answer coming: Vladimir Vukicevic and Stuart 'Pavlov' Parmenter (of Mozilla fame) have put together a specification for APNG (Animated Portable Network Graphics)." (Read more below.)"Unlike MNG, APNG is not a separate file format, but rather an extension to PNG. Thus, APNG images are just normal PNG images (with the .png extension) but can be animated. The system is fully backwards-compatable, so any program that can open a PNG image will be able to open an APNG image (though non-APNG viewers will only show the first frame). Vitally, the decoder just adds an extra few kilobytes onto a standard PNG decoder. APNG support is in the process of being checked into Mozilla. Hopefully, other programs will follow suit."
-
Time to Kill Microsoft Word?
Allnighterking writes "Apparently the frustration with another Windows Product is starting to reach increasingly visible users. John Dvorak over at ABC News is starting to question if it's time to kill Word With Viable options like Open Office.org available for Windows as well as AbiWord and others. Since they are both using XML as a way to create the documents. Or perhaps dropping a separate application altogether and going with something like X Forms to create a browser based office suite." -
Mozilla Releases Mozilla Sunbird 0.2
Gentu writes "Along with the new Mozilla-Japan initiative and the release of Mozilla 1.8a3 today, the Mozilla team released the first 'official' beta release of Mozilla Sunbird, version 0.2, a stand-alone calendaring application (similar to Apple's iCal). There are two flavors of this project, one that works as a ~700 KB plugin to Firefox/Thunderbird/Mozilla (titled Mozilla Calendar) and the ~8 MB stand-alone calendaring application, Mozilla Sunbird (rate the apps over at GnomeFiles.org). These builds are the first to feature a new default theme, a new logo and the customizable toolbar functionality. Note that Sunbird is still an experimental technology preview that contain bugs, but it is pretty stable." -
Mozilla Releases Mozilla Sunbird 0.2
Gentu writes "Along with the new Mozilla-Japan initiative and the release of Mozilla 1.8a3 today, the Mozilla team released the first 'official' beta release of Mozilla Sunbird, version 0.2, a stand-alone calendaring application (similar to Apple's iCal). There are two flavors of this project, one that works as a ~700 KB plugin to Firefox/Thunderbird/Mozilla (titled Mozilla Calendar) and the ~8 MB stand-alone calendaring application, Mozilla Sunbird (rate the apps over at GnomeFiles.org). These builds are the first to feature a new default theme, a new logo and the customizable toolbar functionality. Note that Sunbird is still an experimental technology preview that contain bugs, but it is pretty stable." -
Mozilla Releases Mozilla Sunbird 0.2
Gentu writes "Along with the new Mozilla-Japan initiative and the release of Mozilla 1.8a3 today, the Mozilla team released the first 'official' beta release of Mozilla Sunbird, version 0.2, a stand-alone calendaring application (similar to Apple's iCal). There are two flavors of this project, one that works as a ~700 KB plugin to Firefox/Thunderbird/Mozilla (titled Mozilla Calendar) and the ~8 MB stand-alone calendaring application, Mozilla Sunbird (rate the apps over at GnomeFiles.org). These builds are the first to feature a new default theme, a new logo and the customizable toolbar functionality. Note that Sunbird is still an experimental technology preview that contain bugs, but it is pretty stable." -
Netscape 7.2 Released
scottfi writes "America Online has just released Netscape 7.2. Based on Mozilla 1.7, this latest version features better popup blocking, vCard support, an improved junk mail algorithm, better standards support, performance enhancements and several hundred other bug fixes. It also includes patches for recent security vulnerabilities. It is a little over a year since AOL shut down the Netscape browser division, laid off or reassigned the remaining engineers and withdrew from the day to day running of mozilla.org. At the time, they said that new versions of Netscape were unlikely. Earlier this year, they changed their minds and announced Netscape 7.2. More details about Netscape 7.2 are available at Netscape Browser Central, together with download links." -
Mozilla Starts Work On XForms
AnamanFan writes "The Mozilla Foundation, with Novell and IBM, announced the formation to implement the W3C's XForms 1.0 Recommendation on the Mozilla platform. XForms is the forms module in XHTML 2, developed by the W3C. The project enables developers to deliver the type of next-generation, rich, portable web-based applications desired by corporate IT. Is this one step away from the corporate world's dependence on ActiveX? We can only hope." -
Mozilla Starts Work On XForms
AnamanFan writes "The Mozilla Foundation, with Novell and IBM, announced the formation to implement the W3C's XForms 1.0 Recommendation on the Mozilla platform. XForms is the forms module in XHTML 2, developed by the W3C. The project enables developers to deliver the type of next-generation, rich, portable web-based applications desired by corporate IT. Is this one step away from the corporate world's dependence on ActiveX? We can only hope." -
The PHP Anthology - Volume II, 'Applications'
sympleko (Matthew Leingang) writes "In Volume I of The PHP Anthology, Harry Fuecks showed some of the basic PHP functionality to solve a few simple problems, including how to object-orient your code, how to use PHP's hundreds of built-in functions, and how to use well-developed existing classes, be they from PEAR or other sites. In Volume II, he intends to 'blow your socks off by tackling some traditionally complex problems with the same principles--to great effect.' It's summertime and I'm sandals-only for the time being, so my socks remain safely in the top drawer. But the volume is nonetheless exciting." (Read on for the rest of Leingang's review, and check out last week's review of Volume I.)There are seven chapters in this volume, each dealing with real-world problems. Many problems are those you've seen solved on sites you admire and wondered "How did they do that?" Others are frameworks that allow your site to run smoothly, with nobody getting accidentally logged out or having to wait too long while your script gluttonously pulls the same data out of the database for the Nth time. At the end, Fuecks goes back to the beginning, to show how proper design and development can save you time when you start your next project.
Chapter 1: Access Control
Authentication is the process by which users identify themselves. This is difficult in HTTP, a stateless protocol in which the server handles one request at a time and instantly forgets you. Luckily HTTP allows cookies, which are bits of data the server sends to the client for to reveal upon revisiting. At first cookies were used only to annoy ("Hello, Steve! You have visited this page 3 times"), but a cookie can hold the ID of a session record in a database, which contains any state-information that you like.You can authenticate without sessions via HTTP server configuration, as long as you like the dull dialog box the browser pops up when users enter a restricted area. Oh, and you don't mind the fact that users won't be able to "log out" without quitting their browser, nor can you force a logout after a certain timeout value. Nor can you allow users to register themselves... these are all existing, solved problems and the author shows some of the best solutions. Common tasks like allowing users to change their passwords, recover their passwords if (I mean when) they forget them, and arranging users in groups to which you assign common permissions are also covered.
My favorite example from this chapter is the humans-only registration application. Remember when online voting for the Major League Baseball All-Star Game first started? Anyone who knew how to write a web client could have automated a task to vote as many times as the server could handle, and have his favorite players be the all-star team.* To bring it closer to home, what if somebody decides to bog down your site by automatically registering a huge number of times and filling up your database? You can keep these things from happening by making users look at images which contain text but are hard for computers to "read." PHP is in use at all stages of this game, from writing the registration form's HTML to generating the obscured image on-the-fly.
Chapter 2: XML
XML is a fact of life and, hype aside, is a great way to store and transmit machine-readable data. One of the most visible applications is the thousands of bloggers and news sites providing XML feeds of their headlines. You can write portal sites that grab these headlines, parse them all and present them on your site with links to the full text at the source.There are two ways to parse XML: with events, or by using the Document Object Model (DOM). The methodologies are similar to reading a plain-text file line-by-line or all at once. Using events you can implement a finite-state machine based on which tags and text come down the pike. Or you can slurp the whole document into memory and find any part of it with ease. The built-in library for the former is based on the popular Simple API for XML (or SAX; don't you like those nested acronyms?), while the latter often uses Xpath to find the particular document nodes you want.
The author shows how to parse RSS feeds with both SAX and the DOM, and how to render a feed with DOM. Further, you can use Extensible Stylesheet Language Transformations (known as XSLT) to transform XML -- whether it's to XHTML for regular browser reading, WML (Wireless Markup Language) for viewing on mobile phones, or even SQL to communicate with a database.
Another exciting XML application is in the area of web services, in which agents (often but not necessarily web servers) communicate with each other over an XML-based protocol built on top of PHP. The two most popular protocols are XML-RPC (the RPC stands for "Remote Procedure Calls") and SOAP (which used to stand for "Simple Object Access Protocol" but now is just a name). Often-changing information such as stock prices and weather are often offered through web services, but they can also be used as an object API between agents over the network. What's cool about using SOAP is you can publish to clients exactly what services you offer and how they can call them using the Web Services Description Language (WSDL).
Chapter 3: Alternative Content Types
If you've ever printed out a web page that was designed for browser viewing, you know the less-than-desired effect. The navigational elements, search boxes, and banners, while necessary for the web page, are useless once a static copy is printed. Furthermore, you need to extend your site to include users with less-featured browsers, such as mobile phones.Fortunately, PHP has been taught many languages. PDF is the standard for print-quality documents, and there are several libraries (free and non-free) which allow you to generate them. WML is the HTML of cell phone browsers, in which screen space is at a premium and bandwidth scarce. SVG is an XML application which allows vector-based images like PostScript does. The coolest example, however, uses XUL (the XML User interface Language, not to be confused with Zool) to make full GUI applications that you run through Mozilla. This isn't useful for the outside world where you can't force your users to use Mozilla (sigh), but works well for intranet applications that run on a variety of platforms.
The author also brings up in this chapter an HTML SAX parser he has written. You can process HTML pages chunk-by-chunk and extract the pieces you want. I hadn't known about such a class until I read the book and I'm very excited I know about it now. For sometimes it's necessary to parse a web page meant for humans to read (perhaps to pretend to be a user and automate your all-star voting), and most HTML pages won't validate as HTML, let alone XML.
A good point here is that a well-designed, tiered application will allow you to swap out different presentation classes with little code rewrite. Separating the tasks of extracting the data from the database and presenting to the user in variety of formats is a common task that when done right becomes subsequently easier.
Chapter 4: Stats and Tracking
Once your site is up and running, you'll be interested to know which parts are the most active, and how much traffic you're getting. Into a dynamic page you can obviously insert any logging mechanism, but a great place to put it is inside your site's logo. PHP can send binary data as easily as text. Why would you want to do this?- The logo is usually on every page (or it should be). You don't have to cut-and-paste code.
- You can serve the image, then use the flush command to send the output on and do extra processing. This way logging doesn't get in the way of page rendering.
There are lots of packages available to collect and analyze data. The author goes through phpOpenTracker which is quite rich in features. There are also ways to collect data on what links users follow to leave your site, and to keep requests from search engines from cluttering your log files.
Chapter 5: Caching
Another possible knock against PHP is that, while it's good to have dynamic pages, some pages are unnecessarily so. This is a waste of server resources to keep rendering the same page anew. There are different ways to conserve.On the client side, you can use HTTP 1.1 headers like Cache-control and Expires to tell browsers when it's okay to store cached copies locally
On the server side, as can be expected, you have a greater level of control. You can use output buffering to delay sending of output to the browser, then save a copy of the output locally. On subsequent requests, you can serve the file rather than generate the HTML all over again. This can be implemented on a chunk (or block) level, so that you can keep some parts ultra-time sensitive and others not so much. The package PEAR::Cache_Lite can help with this.
Chapter 6: Development Technique
The last two chapters were my favorites of the two-volume set. They are on a higher level of abstraction than the features of PHP's library of functions, or previous five chapters on real-world solutions. After you've reached a certain level of expertise in PHP coding, you being to wonder about the "right" way to do things. The author shows how to use Xdebug to find bottlenecks in your code, as well as a few quick optimization tips (for instance, design your flow control so that the first choice is the one most often taken).He then discusses the principles of N-tiered design. N is usually 5, but the data layer (usually a database or file system) and presentation layer (usually the browser) are most often handled outside of PHP, so you normally have three levels to worry about:
- Data Access: Getting data from the outside world into your application
- Application Logic: Doing whatever unique thing your application is supposed to do
- Presentation Logic: Forming a response in a format acceptable to your client
Keeping these layers separate and restricting them to communicating through well-defined interfaces allows you maximum flexibility. If you need to change databases (say you just got venture capital money and can afford Oracle now), you can do so only changing one layer. If you want to serve different flavors of HTML, or different markup languages altogether, or binary data, you can do so by only changing one layer. You can even strive for maximum distributability by enabling your layers to "live" on physically independent machines and communicate with XML-RPC or SOAP.
Documenting your code is essential. Anybody who's been programming for over a year has gone back to code he or she's written and thought, "Now what the heck was this supposed to do?" It's even more essential when you write something and wish to distribute it for the benefit of others. You can expect them to grok your code at an even lower rate since they didn't write it the first time.
Luckily, scripted languages like PHP are excellent at parsing text files, including PHP scripts themselves. Using well-defined documentation formats akin to JavaDoc, you can embed documentation in your code inside comments, and use tools like phpDocumentor to extract these documentation blocks and format them as nice, cross-reference HTML. In fact, writing doc blocks before your code is a good way to think ahead about how you want your classes and methods to work.
Unit Testing, one of the most digestible dogmas of Extreme Programming, is an awesome way to test your code for logic errors. You build up tiny test cases (using mock objects to isolate the class you're testing) and build as many as you like. Once you do this (PHPUnit and SimpleTest are two rich frameworks), you keep your tests and each time you add features, you run your test to make sure you haven't added bugs as well.
Chapter 7: Design Patterns
Design Patterns is one of the modern classics in information technology. After having done OOP for a while, you will inevitably get the feeling of deja vu that you've solved a problem before. Not so concretely as "I need a database abstraction layer," or "I need a templating system," but as in "I need a way to create objects without specifying exactly what class they belong to," or "I'm tired of writing so many if statements." Design patterns are common object architectures which can be used to solve common (though unique) problems.Many design patterns are more suited to state-equipped applications with GUIs, but there are plenty to assist the PHP coder. The Factory Method is a pattern through which an object can create other objects of varying classes. So instead of writing mysql_connect everywhere, then having to change every occurrence of that function, you can abstract all database interaction to a class, then instantiate a database connection through a class method of another class: $db = MyApp::getDatabaseConnection(). This is useful when the connection (not just the RDBMS, but the actual database) you want varies depending on whether you are developing, testing, or going live with your application. Factory methods are also a good way to avoid global configuration variables.
The Iterator Pattern and the Observer Pattern are two others mentioned in this chapter. Iterators are used often in paging through database results. Observers are used to let objects notify other objects of changes in their state. This chapter will make you want to go read the whole Gang-of-Four book if you haven't already.
My biggest beef with the book is that this wasn't presented earlier on, perhaps at the beginning of Volume II. As a climax, it leaves me flat, wondering how the rest of the volume could have been derived from this very cool concept. But most PHP books conclude with chapters on how to extended PHP on the C level, or giant case studies involving massive code dumps, and I'm often not satisfied with them. This is a nice philosophical note to go out on. And there's something to be said for the argument that books like these aren't written to be read cover-to-cover.
Appendices
The book closes with the same indices as in Volume I. Since I don't know the URL of my review of that volume, I'll just copy: You can read about which configuration directives you're probably most interested in (the complete list you can get on PHP's web site), some common security breaches, and how to install PEAR, PHP's version of CPAN. My favorite appendix is the "Hosting Provider Checklist," a great reference for evaluating whether kewlhosting.com is going to give you the freedom and support you need to make a great hosted web site.This volume was informative, well-written, and inspirational in that it made me want to go out and add cool and useful features to my web sites. Check it out if you can.
*Not really (not that I tried or anything), but they've always been a little bit smarter about it. You get my point, though. This did happen on an ESPN.com Page 2 mascot popularity contest, but they noticed through request headers that millions of votes were coming from the same place, and invalidated all those votes.
In real life, Matthew Leingang is Preceptor in Mathematics at Harvard University. He promises to review any book sent to him for free, and sometimes actually does it. Both volumes of The PHP Anthology are available from SitePoint. Slashdot welcomes readers' book reviews; to see your own review here, carefully read the book review guidelines, then visit the submission page.
-
Security-Updated Versions Of Mozilla Released
petabyte writes "As mentioned in this Mozillazine article, there are new versions of the Mozilla Suite (1.7.2), Mozilla Firefox (0.9.3) and Mozilla Thunderbird (0.7.3) available. They address 4 security bugs (linked from the Mozillazine article). Unlike Firefox 0.9.2, these can't be fixed with just a XPI upgrade, so you'll have to download a new binary and install." -
Security-Updated Versions Of Mozilla Released
petabyte writes "As mentioned in this Mozillazine article, there are new versions of the Mozilla Suite (1.7.2), Mozilla Firefox (0.9.3) and Mozilla Thunderbird (0.7.3) available. They address 4 security bugs (linked from the Mozillazine article). Unlike Firefox 0.9.2, these can't be fixed with just a XPI upgrade, so you'll have to download a new binary and install." -
Security-Updated Versions Of Mozilla Released
petabyte writes "As mentioned in this Mozillazine article, there are new versions of the Mozilla Suite (1.7.2), Mozilla Firefox (0.9.3) and Mozilla Thunderbird (0.7.3) available. They address 4 security bugs (linked from the Mozillazine article). Unlike Firefox 0.9.2, these can't be fixed with just a XPI upgrade, so you'll have to download a new binary and install." -
Mozilla Starts Bug Bounty Program
AnamanFan writes "The Mozilla Foundation announced the Mozilla Security Bug Bounty Program, an initiative that rewards users who identify and report security vulnerabilities in the open source project's software. Sponsered by Linspire, Inc and Mark Shuttleworth, the program will give $500 to users who report a significant bug in Mozilla software. Users who identify security bugs in Mozilla software are encouraged to go to the Security Projects Page for more information." -
Mozilla Starts Bug Bounty Program
AnamanFan writes "The Mozilla Foundation announced the Mozilla Security Bug Bounty Program, an initiative that rewards users who identify and report security vulnerabilities in the open source project's software. Sponsered by Linspire, Inc and Mark Shuttleworth, the program will give $500 to users who report a significant bug in Mozilla software. Users who identify security bugs in Mozilla software are encouraged to go to the Security Projects Page for more information." -
Mozilla Starts Bug Bounty Program
AnamanFan writes "The Mozilla Foundation announced the Mozilla Security Bug Bounty Program, an initiative that rewards users who identify and report security vulnerabilities in the open source project's software. Sponsered by Linspire, Inc and Mark Shuttleworth, the program will give $500 to users who report a significant bug in Mozilla software. Users who identify security bugs in Mozilla software are encouraged to go to the Security Projects Page for more information."