Domain: ddj.com
Stories and comments across the archive that link to ddj.com.
Stories · 89
-
Parallel Algorithm Leads To Crypto Breakthrough
Hugh Pickens writes "Dr. Dobbs reports that a cracking algorithm using brute force methods can analyze the entire DES 56-bit keyspace with a throughput of over 280 billion keys per second, the highest-known benchmark speeds for 56-bit DES decryption and can accomplish a key recovery that would take years to perform on a PC, even with GPU acceleration, in less than three days using a single, hardware-accelerated server with a cluster of 176 FPGAs. The massively parallel algorithm iteratively decrypts fixed-size blocks of data to find keys that decrypt into ASCII numbers. Candidate keys that are found in this way can then be more thoroughly tested to determine which candidate key is correct." Update by timothy, 2010-01-29 19:05 GMT: Reader Stefan Baumgart writes to point out prior brute-force methods using reprogrammable chips, including Copacobana (PDF), have achieved even shorter cracking times for DES-56. See also this 2005 book review of Brute Force, about the EFF's distributed DES-breaking effort that succeeded in 1997 in cracking a DES-encrypted message. "'This DES cracking algorithm demonstrates a practical, scalable approach to accelerated cryptography,' says David Hulton, an expert in code cracking and cryptography. 'Previous methods of acceleration using clustered CPUs show increasingly poor results due to non-linear power consumption and escalating system costs as more CPUs are added. Using FPGAs allows us to devote exactly the amount of silicon resources needed to meet performance and cost goals, without incurring significant parallel processing overhead.' Although 56-bit DES is now considered obsolete, having been replaced by newer and more secure Advanced Encryption Standard (AES) encryption methods, DES continues to serve an important role in cryptographic research, and in the development and auditing of current and future block-based encryption algorithms." -
Building a 32-Bit, One-Instruction Computer
Hugh Pickens writes "The advantages of RISC are well known — simplifying the CPU core by reducing the complexity of the instruction set allows faster speeds, more registers, and pipelining to provide the appearance of single-cycle execution. Al Williams writes in Dr Dobbs about taking RISC to its logical conclusion by designing a functional computer called One-Der with only a single simple instruction — a 32-bit Transfer Triggered Architecture (TTA) CPU that operates at roughly 10 MIPS. 'When I tell this story in person, people are usually squirming with the inevitable question: What's the one instruction?' writes Williams. 'It turns out there's several ways to construct a single instruction CPU, but the method I had stumbled on does everything via a move instruction (hence the name, "Transfer Triggered Architecture").' The CPU is implemented on a Field Programmable Gate Array (FPGA) device and the prototype works on a 'Spartan 3 Starter Board' with an XS3C1000 device available from Digilent that has the equivalent of about 1,000,000 logic gates, costing between $100 and $200. 'Applications that can benefit from custom instruction in hardware — things like digital signal processing, for example — are ideal for One-Der since you can implement parts of your algorithm in hardware and then easily integrate those parts with the CPU.'" -
Speech-to-Speech Translator Developed For iPhone
Ponca City, We love you writes "Dr. Dobbs reports that Alex Waibel, professor of computer science and language technologies at Carnegie Mellon University, has developed an iPhone application that turns the iPhone into a translator that converts English speech into Spanish, or vice versa. Users simply speak a sentence or two at a time into the iPhone and the iPhone will respond with an audible translation. 'Jibbigo's software runs on the iPhone itself, so it doesn't need to be connected to the Web to access a distant server,' says Waibel. Waibel is a leader in speech-to-speech translation and multimodal speech interfaces, creating the first real-time, speech-to-speech translator for English, German and Japanese. 'Automated speech translation is an expensive proposition that has been supported primarily by large government grants,' says Waibel. 'But our sponsors are impatient to see this technology become more widely available and we, as researchers, are eager to find new revenues that will help us extend this technology to more of the 6,000 languages now spoken worldwide.'" -
Neuros LINK Mixes Quiet, Aesthetics, and Ubuntu
jonniee writes with a link to Dr. Dobb's Journal's look at a rather cool living-room-suitable media-centric computer from Neuros (presented as being suitable mostly for developers and serious hobbyists for now), excerpting: "The Neuros LINK is essentially a quiet x86 PC running Ubuntu Linux with an ATI graphics card delivering video via VGA, DVI, and HDMI output. ... What makes the LINK such a compelling platform for these folks and Linux/open source developers in general is the recognition that a real business entity is stepping forward to spend the money necessary to market and commercialize what tech enthusiasts have been doing for years." -
Stroustrup Says New C++ Standard Delayed Until 2010 Or Later
wandazulu writes "At the end of an article written by the creator of C++, where he talks about removing a feature from the new C++ standard, he drops a bombshell: The new C++ standard (typically referred to as C++0x) has been delayed until 2010 or later. What does this mean? No new C++ features like threads, proper enum classes, or hash tables. C++0x is dead, long live C++1x!" -
How Software Engineering Differs From Computer Science
cconnell sends in a piece he wrote for Dr. Dobb's which "argues that software development will never be a fully formal, rigorous discipline, and the reason is that software engineering involves humans as central to the process." Quoting: "Software maintainability, for example, is the ability of people to understand, find, and repair defects in a software system. The maintainability of software may be influenced by some formal notions of computer science — perhaps the cyclomatic complexity of the software's control graph. But maintainability crucially involves humans, and their ability to grasp the meaning and intention of source code. The question of whether a particular software system is highly maintainable cannot be answered just by mechanically examining the software. The same is true for safety. Researchers have used some formal methods to learn about a software system's impact on people's health and property. But no discussion of software safety is complete without appeal to the human component of the system under examination." -
Larrabee ISA Revealed
David Greene writes "Intel has released information on Larrabee's ISA. Far more than an instruction set for graphics, Larrabee's ISA provides x86 users with a vector architecture reminiscent of the top supercomputers of the late 1990s and early 2000s. '... Intel has also been applying additional transistors in a different way — by adding more cores. This approach has the great advantage that, given software that can parallelize across many such cores, performance can scale nearly linearly as more and more cores get packed onto chips in the future. Larrabee takes this approach to its logical conclusion, with lots of power-efficient in-order cores clocked at the power/performance sweet spot. Furthermore, these cores are optimized for running not single-threaded scalar code, but rather multiple threads of streaming vector code, with both the threads and the vector units further extending the benefits of parallelization.' Things are going to get interesting." -
Barbara Liskov Wins Turing Award
jonniee writes "MIT Professor Barbara Liskov has been granted the ACM's Turing Award. Liskov, the first US woman to earn a PhD in computer science, was recognized for helping make software more reliable, consistent and resistant to errors and hacking. She is only the second woman to receive the honor, which carries a $250,000 purse and is often described as the 'Nobel Prize in computing.'" -
Sony Makes It Hard To Develop For the PS3 On Purpose
adeelarshad82 writes "CNet reports on a bizarre comment from Sony's Computer Entertainment CEO in response to complaints from developers on how hard it is to develop games for the Playstation 3. 'We don't provide the "easy to program for" console that (developers) want, because "easy to program for" means that anybody will be able to take advantage of pretty much what the hardware can do, so then the question is, what do you do for the rest of the nine-and-a-half years?' Given that games heavily drive console sales, and the fact that the PS3 is already 8 million units behind the Xbox 360, I think making a developer's job harder is the last thing Sony needs." -
Walter Bright Ports D To the Mac
jonniee writes "D is a programming language created by Walter Bright of C++ fame. D's focus is on combining the power and high performance of C/C++ with the programmer productivity of modern languages like Ruby and Python. And now he's ported it to the Macintosh. Quoting: '[Building a runtime library] exposed a lot of conditional compilation issues that had no case for OS X. I found that Linux has a bunch of API functions that are missing in OS X, like getline and getdelim, so some of the library functionality had to revert to more generic code for OS X. I had to be careful, because although many system macros had the same functionality and spelling, they had different expansions. Getting these wrong would cause some mysterious behavior, indeed.'" -
Dr. Dobb's Journal Going Web-Only
paleshadows writes "The first issue of Dr. Dobb's Journal (DDJ) was published in January 1976. A few days ago, Herb Sutter (the chair of the ISO C++ committee and a long-time DDJ columnist) announced through his latest blog post that, 'as of January 2009, Dr. Dobb's Journal is permanently suspending print publication and going web-only.' This follows an earlier announcement that PC Magazine is to become digital-only, too, as of February 2009. To those of us who enjoy reading such stuff away from the computer these are bad news, as there seems to be no other major technical programmers' magazines left standing." -
Time to Get Good At Functional Programming?
prone2tech writes "From an article at Dr. Dobb's: Chipmakers have essentially said that the job of enforcing Moore's Law is now a software problem. They will concentrate on putting more and more cores on a die, and it's up to the software industry to recraft software to take advantage of the parallel-processing capabilities of the new chips. As is argued in this article, this means becoming proficient in parallel functional programming. The bad news? Getting good at functional programming is hard, harder than moving from iterative Pascal or Basic or C coding to object-oriented development. It's an exaggeration but a useful one: When you move to FP, all your algorithms break.'" -
Don't Count Cobol Out
Hugh Pickens writes "Although Turing Award-winning computer scientist Edsger Dijkstra once said, 'the use of Cobol cripples the mind; its teaching should, therefore, be regarded as a criminal offense,' Michael Swaine has an interesting entry to Dr. Dobb's Journal asserting that Cobol is the most widely used language in the 21st century, critical to some of the hottest areas of software development today, and may be the next language you'll be learning. In 1997, the Gartner Group estimated that there were 240 billion lines of Cobol code in active apps, and billions of lines of new Cobol code are being written every year. Cobol is a key element in the realization of modern distributed business software architecture concepts — XML/metadata, Web Services, Service Oriented Architecture — and e-business." -
A Hardware Mashup Device Running Linux
jonniee writes "Mike Riley over at Dr. Dobb's takes a look at 'The BUG,' from Bug labs. It's a Linux-based, Java-programmable electronic base with I/O ports for connecting BUGmodules — individual modules that supply additional functionality to the BUGbase. Four BUGmodules currently exist: a color LCD screen, a combined motion detector/accelerometer, GPS, and a 2-megapixel color camera. You can think of it as 'electronic LEGOs' that let you build different devices depending on how you plug the modules together." -
Browser Extension Defeats Internet Eavesdropping
Pickens writes to tell us that researchers at Carnegie Mellon University have created a simple system to help prevent man-in-the-middle attacks. Using a preset list of friendly sites called 'notaries,' the new 'Perspectives' system helps users to authenticate sites that require secure communications. Additionally this should help with the recently debated solution implemented by Firefox that has so many users frustrated and confused. "By independently querying the desired target site, the notaries can check whether each is receiving the same authentication information (a digital certificate), in response. If one or more notaries report authentication information that is different than that received by the browser or other notaries, a computer user would have reason to suspect that an attacker has compromised the connection." -
Colossus Cipher Challenge Winner On Ada
An anonymous reader writes "Colossus Cipher Challenge winner Joachim Schueth talks about why he settled on Ada as his language of choice to unravel a code transmitted from the Heinz Nixdorf Museum in Germany, from a Lorenz SZ42 Cipher machine (used by the German High Command to relay secret messages during the World War II). 'Ada allowed me to concisely express the algorithms I wanted to implement.'" -
Are C and C++ Losing Ground?
Pickens writes "Dr. Dobbs has an interesting interview with Paul Jansen, the managing director of TIOBE Software, about the Programming Community Index, which measures the popularity of programming languages by monitoring their web presence. Since the TIOBE index has been published now for more than 6 years, it gives an interesting picture about trends in the usage of programming languages. Jansen says not much has affected the top ten programming languages in the last five years, with only Python entering the top 10 (replacing COBOL), but C and C++ are definitely losing ground. 'Languages without automated garbage collection are getting out of fashion,' says Jansen. 'The chance of running into all kinds of memory problems is gradually outweighing the performance penalty you have to pay for garbage collection.'" -
Stroustrup Says C++ Education Needs To Improve
simoniker writes "Over at Dr. Dobb's, C++ creator Bjarne Stroustrup has given an in-depth interview dealing with, among other things, the upcoming C++0x programming standard, as well as his views on the past and future of C++. He comments in particular on some of the difficulties in educating people on C++: 'In the early days of C++, I worried a lot about "not being able to teach teachers fast enough." I had reason to worry because much of the obvious poor use of C++ can be traced to fundamental misunderstandings among educators. I obviously failed to articulate my ideals and principles sufficiently.' Stroustrup also notes, 'Given that the problems are not restricted to C++, I'm not alone in that. As far as I can see, every large programming community suffers, so the problem is one of scale.' We've discussed Stroustrup's views on C++ in the past." -
2008 Turing Award Winners Announced
The Association for Computing Machinery has announced the 2008 Turing Award Winners. Edmund M. Clarke, Allen Emerson, and Joseph Sifakis received the award for their work on an automated method for finding design errors in computer hardware and software. "Model Checking is a type of "formal verification" that analyzes the logic underlying a design, much as a mathematician uses a proof to determine that a theorem is correct. Far from hit or miss, Model Checking considers every possible state of a hardware or software design and determines if it is consistent with the designer's specifications. Clarke and Emerson originated the idea of Model Checking at Harvard in 1981. They developed a theoretical technique for determining whether an abstract model of a hardware or software design satisfies a formal specification, given as a formula in Temporal Logic, a notation for describing possible sequences of events. Moreover, when the system fails the specification, it could identify a counterexample to show the source of the problem. Numerous model checking systems have been implemented, such as Spin at Bell Labs." -
Inside Visual Studio 2008
mlimber writes "Dr Dobb's Journal has a peek at what is new in Microsoft's Visual Studio 2008. Most of the features discussed in the article are related to .NET, web development, and the IDE itself. However, Herb Sutter, Microsoft software architect and chair of the ISO C++ Standards committee, blogged about some developments on the C++ front. This includes a significantly enhanced MFC for GUI building, and the inclusion of TR1 (library extensions published by the C++ standards committee, most of which have also been incorporated into the next C++ standard)." -
Fuzzing Toolkit For Web Server Testing
prostoalex writes "Dr. Dobb's Journal runs an article discussing the tools necessary for fuzzing (testing a system by generating random input in order to cause program failure or crash). Quoting: 'You are fuzzing a Web server's capability to handle malformed POST data and discover a potentially exploitable memory corruption condition when the 50th test case you sent that crashes the service. You restart the Web daemon and retransmit your last malicious payload, but nothing happens... The issue must rely on some combination of inputs. Perhaps an earlier packet put the Web server in a state that later allowed the 50th test to trigger the memory corruption. We can't tell without further analysis and we can't narrow the possibilities down without the capability of replaying the entire test set in a methodical fashion.'" -
Five AJAX Frameworks Reviewed
prostoalex writes "Dr. Dobb's Journal reviews 5 AJAX frameworks: Dojo 0.3.1, Prototype and Scriptaculous 1.4, Direct Web Reporting 1.0, Yahoo! User Interface Library 0.11.1 and Google Web Toolkit 1.0. Each framework was tested in two basic scenarios — writing a 'hub' (titled collapsible link list frequently seen on sidebars of many Web sites) and a 'tab panel' (horizontal tabbed navigation bar). During the process, Dr. Dobb's Journal reviewers noted that 'Dojo provides more features and HTML widgets than YUI and Prototype' but eventually 'settled on the Yahoo! User Interface Library.'" -
Introduction to Linden Scripting Language
prostoalex writes "Dr. Dobb's Journal runs a lengthy introduction to Linden Scripting Language, the language behind avatars and their interaction in Second Life: "LSL is a scripting language that runs server-side, on a piece of software called the simulator. The simulator does just what it's name implies — it simulates the virtual world of Second Life. Each simulator runs everything for 16 acres of virtual land — buildings, physics, and of course, scripts. While you manipulate the script text in a form that is somewhat easy to read, the actual code that runs on the simulator is compiled. A compiler is a piece of software that takes the text version of the script and converts it into something that can actually run. In the case of LSL, the compiler exists within the Second Life viewer itself. In the future, it is likely that the compiler will move from the viewer into the Second Life simulators, but where the code is compiled isn't very important. What matters is that the text is converted into a form that can run on the simulators."" -
Open Source Phone on the Way
prostoalex writes "Dr. Dobb's Journal reports on GPE Palmtop Environment's aim to create a full stack of open source software for mobile phones. Mobile operator Orange and France Telecom are contributing to the project. The goal is to have a fully featured mobile handset with applications like instant messaging and email, with only a portion of the price." -
Wi-Fi Phones Reviewed
prostoalex writes "With municipal Wi-Fi taking off and startups distributing free wireless routers for those willing to share their Internet connections, Wi-Fi phones or hybrid phones with both cellular and Wi-Fi access, are attracting interest. Dr. Dobb's Journal runs a review of 6 wireless phone devices available on the market today. The cheapest ones start around $80, but lock you into T-Mobile branded hotspots. The more expensive ones, Sony Mylo in particular, offer support for 3rd party clients, such as Skype, GTalk and Yahoo! Messenger." -
Debugging CSS, AJAX and DOM with Firebug
prostoalex writes "Joe Hewitt of Parakey in the latest Dr. Dobb's Journal provides a detailed overview of the Firebug extension for Firefox: 'Firebug breaks the page down into a set of tabs that depict its most important aspects — HTML, CSS, JavaScript, the DOM, network activity, and a console for errors and log messages. No tab is an island; Firebug lets you browse code just as you browse the Web by presenting objects as hyperlinks that can take you from one view to another.'" -
Java EE 5 Development Waiting on Vendors
twofish writes "Java EE 5 was a major update and most of the major application server vendors do not yet have compliant versions released. Dr. Dobb's reports that this is delaying most solution providers from developing products based on it, as their customers are not ready for them. However there is some significant movement among the big players. Among the major vendors, Sun has released support, WebLogic is close with JBoss following soon after. Oracle has not announced a road map and IBM is lagging significantly behind, with full support not due until 2008." -
A New Stab at Interactive Fiction
pamar writes "Dr Dobbs Journal interviews Chris Crawford, the noted game designer, about a new direction for interactive fiction. In the interview, he talks of his new stab at Interactive Fiction, and mentions Storytron, his new company which he hopes will make interactive fiction easier to write, not only for games, but for complex social interactions in general." -
A New Stab at Interactive Fiction
pamar writes "Dr Dobbs Journal interviews Chris Crawford, the noted game designer, about a new direction for interactive fiction. In the interview, he talks of his new stab at Interactive Fiction, and mentions Storytron, his new company which he hopes will make interactive fiction easier to write, not only for games, but for complex social interactions in general." -
The Diebold Voting-Machine Hack
Warm John writes to mention a short article on Doctor Dobbs Journal about the Hack that couldn't be done. "Hacking a Diebold voting machine was the focus of Cigital's Gary McGraw's keynote at SD Best Practices. He discussed 'Security Analysis of the Diebold AccuVote-TS Voting Machine,' a paper released by Edward Felten, Ari Feldman, and Alex Halderman of the Princeton Center for Information Technology Policy. 'The paper details a simple method whereby the Princeton team was able to compromise the physical security of a Diebold voting machine, infecting it with a virus that could change voting results and spread by memory-card to other machines of the same type.'" -
The Future of Computing
An anonymous reader writes "Penn State computer science professor Max Fomitchev explains that computing has evolved in a spiral pattern from a centralized model to a distributed model that retains some aspects of centralized computing. Single-task PC operating systems (OSes) evolved into multitasking OSes to make the most of increasing CPU power, and the introduction of the graphical user interface at the same time reduced CPU performance and fueled demands for even more efficiencies. "The role of CPU performance is definitely waning, and if a radical new technology fails to materialize quickly we will be compelled to write more efficient code for power consumption costs and reasons," Fomitchev writes. Slow, bloated software entails higher costs in terms of both direct and indirect power consumption, and the author reasons that code optimization will likely involve the replacement of blade server racks with microblade server racks where every microblade executes a dedicated task and thus eats up less power. The collective number of microblades should also far outnumber initial "macro" blades. Fully isolating software components should enhance the system's robustness thanks to the potential of real-time component hot-swap or upgrade and the total removal of software installation, implementation, and patch conflicts. The likelihood of this happening is reliant on the factor of energy costs, which directly feeds into the factor of code optimization efficiency." -
Smart Software Development on Impossible Schedules
Andrew Stellman writes "Jennifer Greene and I have an article in the new issue of Dr. Dobb's Journal called "Quick-Kill Project Management: How to do smart software development even when facing impossible schedules." We got a lot of great feedback from our last article on open source development, but there were a bunch of people who wanted to know whether it was really feasible to do planning and reviews on a tight schedule. That's a fair question, and this article is meant to be an answer to it. We pulled out bare-bones project management practices that will help you protect your project from the most common and serious problems, and gave instructions and advice for implementing them that should work in a real-life, high-pressure programming situation." -
The Best of Verity Stob
Alex Moskalyuk writes "For 17 years, a British programmer who calls herself Verity Stob has been entertaining the readers of Dr. Dobbs Journal, EXE and The Register with her witty humor and variety of writing styles, which has now been collected into book form. In the foreword to the book, Danny O'Brien from NTK says that before the days of Dilbert, Futurama, User Friendly and Slashdot, the market for geek humor was dangerously under-served. So Verity attempted to add a little humor." Read on for the rest of Moskalyuk's review. The Best of Verity Stob author Verity Stob pages 316 publisher APress rating 6 reviewer Alex Moskalyuk ISBN 1590594428 summary Highlights Of Verity Stob's Famous Columns From EXE, Dr Dobb's Journal, And The RegisterStob's writing is hard to categorize. It's both humor and satire, sometimes just overwhelmingly funny and sometimes barely causing a chuckle. It's British, so some things passed way over my head. Since she started her writing back in 1998, there are references to mainframes, Unisys systems and the days when you would call tech support and instantly get a human being on the other end. Nevertheless, the book is entertaining, although it's more of a coffee table book, where you can pick it up and start on any page, than book where you'd go chapter-by-chapter.
Her humor is original and versatile. Poems, stories, scripts, hacked diaries, parodies -- the book has them all: after all, it's a collection of the best of her writing. She's an experienced C++ programmer who had been in the Windows world for a while, so frequently the jokes relate to C++ peculiarities. Such as Thirteen ways to loathe VB (written in 2000):
Calling functions and accessing arrays. In most languages you can distinguish between a call to function F with parameter 3 an a reference to an array F with index 3, because one is written F(3) and the other F[3]. In Visual Basic they're both written F(3). Yes.
Her 2001 article for DDJ is actually nothing but a screenshot of a page called Dotdotdot with the subtitle Where nerds go on and on and on and... followed by a paragraph-long article titled Microsoft does something and a bunch of upset comments from the readers including a poster spelling out Look at me! in large letters in the first post.
Or her parody of George Orwell's 1984 which talks about Way After 1984 and describes Winston Smith's typical day:
As he entered the lobby, a breeze stirred the 60-foot banner suspended high above from the roof. The three oh-so-familiar slogans of the Ministry were printed across the banner in large letters: REGISTRATION NOT LEGISLATION MONOPOLISATION IS INNOVATION WHERE DO YOU WANT TO GO TODAY?
See another sample of her writing, which those who've had to go through code reviews will especially appreciate.
The book is organized chronologically, with Verity's early writings listed first, and some of the unpublished material included at the end of the book. Overall, it's a pretty good and entertaining read, although in many cases the chapters made me scratch my head trying to get to the point of the joke. It's especially difficult with parodies, since if you don't quite know what is being parodied, it's hard to get the joke. The Register has another review and those British journalists called it painfully funny.
You can purchase The Best of Verity Stob from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Microsoft Developers Respond To .NET Criticism
bonch writes "Richard Grimes of Dr. Dobbs Journal wrote an article entitled Mr. Grimes' Farewell, in which he discusses what he feels are inherent flaws in .NET, and how he is abandoning his .NET column. Grimes argues that .NET is merely thin wrappers to Win32 calls (Avalon uses message functions that date back to 16-bit Windows), that Microsoft has abandoned confidence in both .NET and sales of Longhorn, and that the framework itself is too large and poorly implemented, most of it ported from past APIs like WFC and VB. Dan Fernandez, Microsoft's Visual C# Project Manager, has responded in his blog. Richard Grimes appears in the comments to defend his criticism, referencing first-hand disassembly of .NET APIs using ildasm. Scott Swigart has also responded to the criticism of Visual Basic .NET. Apparently, Mr. Grimes struck some nerves." -
Build Your Own Apollo Guidance Computer
PingXao writes "Well, if you can't exactly give the Moon you can give the gift of a computer to get you there. Almost a year ago this Slashdot story about the Apollo 11 Guidance Computer referenced a pretty cool Dr. Dobbs Journal article from their History of Computing series. Now there's this guy who built one in his basement! It took him 4 years, $2,980 in cash, 2,500 hours of labor and 15,000 hand-wrapped wire connections with 3,500 feet of wire to build. It might be next Christmas before you could build one of your own to give as a gift, but he promises you can build your own for less and it will be better than his. The perfect gift for the space geek who has everything. This guy is my hero." -
Web 'Rules' Changing?
sempf writes "Lots of things have changed since we started this HTML. The IMAGE tag was a nice change, and multimedia with plugins like Flash provide a new look. What interests me the most, however, is the change in two of the hallowed GUI 'Rules' - the three click rule and the 7 +/- 2 rule. The Three click rule (which states that any page in a site or function in an application should be accessible in three clicks) was just debunked by Josh Porter in an article called Debunking the Three Click Rule. The 7 +/- 2 rule states that a user should never be presented with more than 5-9 choices at any given point in the site or application. James Kalbach has an excellent article debunking that rule at Dr. Dobb's Journal. Worried that there will be no more 'rules'? Never you mind - the Government has come up with New Rules for us to follow." -
Accelerating Change Conference
gui noir writes "The first annual Accelerating Change Conference will go from September 12-14 at Stanford University. It will be 'the first conference in the world to focus on the multidisciplinary implications of accelerating change and the consequences of a technological singularity'. The all-star cast of speakers includes Ray Kurzweil, Tim O'Reilly, John Koza, Eric Drexler, and more than fifteen others (full list here). Attendance starts at $100. The closest the academic world has come to these subjects in recent memory was Douglas Hofstadter's standing-room-only Spiritual Robots Symposium back in 2001." -
Slashback: Centrinissimo, Damages, Software
Slashback with more on open code in government, Intel's new low-power mobile chips, the nature of the engineers, craftsmen or whatchamacallims who spend their days forging software, the CD price-fixing settlement, and more -- read on for the details.Formalization schmormalization. kaisyain's review today of Software Craftsmanship raised a spirited conversation about the nature of software, software engineering, and related disciplines. cconnell conveniently submits a great companion piece: "I wrote this article a couple years ago but it has continued to get good readership within the software engineering community. Should provoke some interesting discussion..."
The bleeding edge costs money. JeffyVernon writes with an followup to CNET's early review of Centrino laptops: "AnandTech published two articles on Centrino today, an overview of the CPU architecture (including some interesting history behind the chip) and a roundup of four notebooks including the new Dell that wasn't in CNet's roundup. It looks like the 4.9lbs IBM T40p ended up winning the roundup, it lasted over 6 hours on battery!"
What scarcity was this exactly? RadBlock writes "Lawrence Lessig is addressing the issue of radio spectrum on CIO Insight... something that was talked about on Slashdot the other day. Lessig states that the spectrum has been defined too generally as if there can only be one message per frequency, when better equipment will vastly increase the amount of 'spectrum' that is usable."
I like that phrase "general welfare." We've mentioned eGovOS several times before -- now, here's a last-minute announcement that may be of interest: free registration is still open for next week's (March 17-19) eGovOS conference in Washington D.C., "Open Standards/Open Source for National and Local eGovernment Programs in the U.S. and EU." Perhaps some folks there ought to consider the question eugene ts wong raised the other day, namely, Which North American government offices won't move to Linux? Someone needs to set up a big map with different colored countries and states!
Who's laughing and where is his bank? deelowe writes "From ars. Back in September we reported on a class action suit leveled at a number of Music industry players that accused them of anti-competitive price-fixing. Back in January, we reported that victims of said price fixing could hit this website and sign up (too late now), and eventually receive up to $20 in the settlement, provided of course that you had actually purchased a CD between January 1 1995 and December 22, 2000. 3.5 million Americans made their way to the on-line form, and it appears that victims will receive $12.60 apiece, should a judge approve it."
They still have a while to go ... sp1nl0ck writes CNet News.com.com.com are reporting that The Neo Project guys have restarted the attempt to crack the 2048-bit XBox key following advice from their lawyers. CNet are citing a link to Operation Project X, but it was a bit temperamental in loading earlier. Maybe it's been CNetted..."
I'll still think of it as the GIMP for a few years ;) Agermain writes "CinePaint has just released its first Windows build. From their website: "CinePaint is an open source painting program used by motion picture studios to retouch images in 35mm films. It was formerly called Film Gimp. It has been used in a dozen feature films including Harry Potter, Scooby-Doo, and the Fast & the Furious... This first Windows beta release is mainly intended for developers and testers.""
-
Aspect-Oriented Programming with AspectJ
Verity Stob writes "There is a turning point in the emergence of a programming methodology. It doesn't matter how big and popular the website is, nor how many papers have been published in the ACM journals or development magazines, nor even whether the first conferences have been a sell-out. A methodology hasn't made really made it until somebody has published a Proper Book. With Aspect-Oriented Programming with AspectJ author Ivan Kiselev is bidding to drag AOP into the mainstream. He is motivated, he says in his introduction, by the recollection of the 25 odd years it took for the object-oriented concept to spread from its Simula origins in frosty Norway to being the everyday tool of Joe Coder. He aims to prevent this delay happening to AOP." Read on for Verity Stob's review of Kiselev's book. Aspect-Oriented Programming with AspectJ author Ivan Kiselev pages 274 publisher SAMS rating Excellent reviewer Verity Stob ISBN 0672324105 summary Introduction to a new programming technique using an extension to JavaHe has divided the book into four parts. Part I provides a brief sketch of AOP and introduces its concepts. AOP builds on OOP, asserting that we need a new programming entity called, wait for it, an aspect. Mr Kiselev's explanation of aspects reminded me of that bit in The Hitchhiker's Guide to the Galaxy when the planet Golgafrincham divided its population into A types (who were the leaders, the scientists and the great artists), the C types (who were the people who did all the actual making of things and doing of things), and the B types, who comprised everybody left over: telephone sanitizers, advertising account executives and hairdressers. As I understand Mr Kiselev, the AOP view of things is that objects and classes (A type thinkers) and low-level procedures and APIs (C type doers) can be nicely encapsulated using traditional components. But aspects, software's little hairdressers, get their fingers into everything, and until now there has been no way to encapsulate them. This of course is what AOP in general and specifically the AspectJ superset of the Java language set out to do.
AspectJ's eponymous aspects are constructs not unlike ordinary classes. Mr Kiselev has not resisted the temptation to make an aspect Hello World example, and it looks reassuringly so-whatish:
package intro;
import java.io.*;
public aspect HelloWorldA
{
public static void main(String args[])
{
System.out.println(Hello, world!);
}
}Mr Kiselev then lays out his stall of New Things. A join point is any point in execution flow that AspectJ can identify and -- to get slightly ahead of ourselves -- execute some extra code. The most frequently used kind of join point being the call to a method. Pointcuts specify collections of join points; as a regular expression is to an instance of matched text, so a pointcut is to a matching join point. An advice (with horrid plural 'advices') is the code to be executed when a given pointcut is matched. If you are familiar with Eiffel's pre- and post-conditions, then you'll understand if I say that it is common for advices to run in the same way, topping and/or tailing the execution of a method. The differences are that aspects are specified from outside the method without touching the method or its class's code, and that aspects can be applied to multiple methods in one go. Mr Kiselev concludes this section of the book with a few simplistic examples of 'here is class A, here is class B' kind.
In Part II Mr Kiselev rolls up his sleeves and takes us through an extended, realistic example. I did wonder if perhaps it weren't a wee bit too realistic, as it is a miniature website application for news story submission and reading -- sort of Slashdot Ultralite -- all done using JSP and a MySQL database. Just explaining this setup, without even using any AspectJ, consumes a 15-page chapter. Since I am a C++ programmer who has not had any contact with JSP, I was initially anxious that I might not be able to follow this. However, recalling that www.[name withheld].com, the clumsiest, ugliest corporate website on the Internet, is programmed in JSP, I reasoned that if the dolts that programmed that site could understand JSP then it couldn't be very hard. So it proved.
The first example comprises adding password protection to the application. This is achieved by adding an advice that intercepts calls to doStartTag() methods. The advice can test if the user is logged in and, if he isn't, throw an exception that will dump him back at the login page. (Who says exceptions aren't 21st century gotos?) At this point Mr Kiselev admits that the cute 10-line implementation that he initially shows is in reality a non-starter; for one thing not all pages that must be secured define doStartTag() methods, for another the aspect can't reach an instance variable it needs to read because it is declared in protected scope. The second problem is easily overcome. AOP offers a mechanism by which extra classes can be bodged ('introduced' is the preferred verb in the AOP community) into the hierarchy as parents of existing classes. He uses this to add an accessor method for the field in question. The other problem is not so neatly smothered, and it is somewhat ruefully that Mr Kiselev produces his final, two-page solution. But I think that it is greatly to Mr K's credit that he does this - it tastes like programming in the real world as I have experienced it.
For the rest of Part II, Mr K demonstrates other applications of AOP using the AspectNews code. This includes Eiffelish design-by-contract stuff, improved exception handling, various debugging and tuning techniques (specifically logging, tracing and profiling) and a chapter on runtime improvements - stream buffering, database connection pooling and result caching - which show the AOP way to do things, usually where I would expect to be putting in proxy classes.
In part III we get down and dirty with the AspectJ language. This is the part where the book explains the obscure stuff: how to make a pointcut that picks up object preinitialization, or make an advice that goes off only when you are exiting a method on the back of an exception. I skimmed this bit - I guess it will become vital when I start using AspectJ in earnest. It looked good and clear on a flick through. A brief part IV contains some patterns, to give one a start when engaging AspectJ in earnest. Apparently it is horribly easy to create infinitely recursive situations, so if you here a faint popping sound from your machine it will be the stack colliding with the heap. There are seven appendices, supplying such things as a summary of the API in AspectJ's packages and hints on obtaining and using the Open Source supplementary tools mentioned in the book (Tomcat JSP container, MySQL database and Ant make replacement). AspectJ itself, now escaped from Xerox PARC, can be downloaded from the Eclipse website.
Complaints? None really. Oh all right, here's a nitpicklette because it's you: at page 75 Mr Kiselev adopts the irritating Internet habit of writing 'loosing' when he means 'losing'. Note to publisher SAMS proofreaders: do I win 25 cents?
For the rest, this is a lucid and readable book that describes the Next Big Methodology. I'm a bit alarmed at the prospect of squeezing new actions into the cracks of existing code, but I dare say I'll grow to love it.
A word of warning to the eager: since this technology is currently implemented as a species of preprocessor that relies on having all the source code available at once, so it is rather slow and probably isn't going into production shops for a while. There again, I seem to remember the comparable Cfront C++ compiler doing rather well, before we had platform-native C++ compilers.
And to the sceptics: if you think you can ignore AOP, don't forget the fate of the A and C type inhabitants of Golgafrincham, who having sent their B type telephone sanitizers into exile were all wiped out by a germ caught from a particularly dirty telephone.
You can purchase Aspect-Oriented Programming with AspectJ from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
New Way To Grade Decay of Computer Installations
skojt writes: "I saw this link in Dr Dobb's Journal (the paper edition) about the behaviour of a slowly decaying computer installation. It refers to a Windows installation, but as the author writes, 'But there will shortly be ports to Linux, Mac OS X, and other Unices; we are confident these OSes are just as prone.'" -
Hacking Web Services
siduri writes "Udi Manber, chief scientist at Yahoo!, gave a great talk on the kinds of hacks that Yahoo sees at the IEEE's Symposium on Security and Privacy. I wrote an overview of his talk for Dr. Dobb's Journal. While some of the message is well-known stuff (like that people will spend a lot of time hacking the most trivial things), the details of what Yahoo has to deal with are really pretty interesting." -
Hacking Web Services
siduri writes "Udi Manber, chief scientist at Yahoo!, gave a great talk on the kinds of hacks that Yahoo sees at the IEEE's Symposium on Security and Privacy. I wrote an overview of his talk for Dr. Dobb's Journal. While some of the message is well-known stuff (like that people will spend a lot of time hacking the most trivial things), the details of what Yahoo has to deal with are really pretty interesting." -
Slashback: Grammy, Sirius, Levies
Slashback this evening with another round of clarifications and additional links regarding recent Slashdot stories. Steve Job's Grammy acceptance speech, details on the proposed higher levy on CD-Rs in Canada, more on the claimed clash between satellite radio and 802.11 devices, and more.After the bowling ball, the mouse. jonny writes: "Most people here know the story of the Mac and the growth of the GUI. Most of you probably don't know the whole story though, namely you probably don't know the story of the mouse, important as it is... Interesting too."
Additional reading material for the math-inclined. Bruce Schneier dropped a note with some good reading material for anyone interested in the recent Slashdot posts on factoring and SNMP. "I've written essays on the Bernstein factoring paper and SNMP SNMP vulnerability."
Americans shouldn't be too smug about this stuff. An Anonymous Coward writes, in response to the proposed increase in levies on various recordable media in Canada: "An excellent FAQ including information on how manufacturers, importers, and consumers can avoid the levies on CDRs and CDRWs"
It's not all sweetness and light. Lord Omlette writes: "Ok, I know ya'll ran the story on Apple winning a grammy. But! The acceptance speech got cut for time reasons & stuff, so Dr. Dobb's Journal put a transcript of the speech online for posterity & stuff. I didn't see it in the previous Slashdot story or the Apple press release, so I thought you might be interested."
Uncle, uncle, make him give me his toy! Sabalon writes "NetStumbler is running an article about Intersil and Motorola's response to Sirius and XM's appeal to the FCC to restrict the 2.4Ghz band. Intersil points out some interesting points, such as why the frequencies directly surrounding those that Sirius uses is not an issue, and Motorola believes the source of the interference is not 2.4Ghz, but probably engine and ignition noise."
How to save some very expensive seconds. In case a 23-second kernel compile is too long to bear, perhaps you just need to upgrade a bit. An Anonymous Coward writes: "Linux Weekly News reports that a kernel was compiled in 7.5 seconds on a Power4 with 6 GB of RAM."
Finally, it has come to this. Another reader points out: "Be, Inc., the company that developed and marketed the loved Be operating system, has announced sale of the be.com domain.
This would be a great time for someone to sweep it up. ;) *cough*OpenBeOS*cough*"
-
Slashback: Grammy, Sirius, Levies
Slashback this evening with another round of clarifications and additional links regarding recent Slashdot stories. Steve Job's Grammy acceptance speech, details on the proposed higher levy on CD-Rs in Canada, more on the claimed clash between satellite radio and 802.11 devices, and more.After the bowling ball, the mouse. jonny writes: "Most people here know the story of the Mac and the growth of the GUI. Most of you probably don't know the whole story though, namely you probably don't know the story of the mouse, important as it is... Interesting too."
Additional reading material for the math-inclined. Bruce Schneier dropped a note with some good reading material for anyone interested in the recent Slashdot posts on factoring and SNMP. "I've written essays on the Bernstein factoring paper and SNMP SNMP vulnerability."
Americans shouldn't be too smug about this stuff. An Anonymous Coward writes, in response to the proposed increase in levies on various recordable media in Canada: "An excellent FAQ including information on how manufacturers, importers, and consumers can avoid the levies on CDRs and CDRWs"
It's not all sweetness and light. Lord Omlette writes: "Ok, I know ya'll ran the story on Apple winning a grammy. But! The acceptance speech got cut for time reasons & stuff, so Dr. Dobb's Journal put a transcript of the speech online for posterity & stuff. I didn't see it in the previous Slashdot story or the Apple press release, so I thought you might be interested."
Uncle, uncle, make him give me his toy! Sabalon writes "NetStumbler is running an article about Intersil and Motorola's response to Sirius and XM's appeal to the FCC to restrict the 2.4Ghz band. Intersil points out some interesting points, such as why the frequencies directly surrounding those that Sirius uses is not an issue, and Motorola believes the source of the interference is not 2.4Ghz, but probably engine and ignition noise."
How to save some very expensive seconds. In case a 23-second kernel compile is too long to bear, perhaps you just need to upgrade a bit. An Anonymous Coward writes: "Linux Weekly News reports that a kernel was compiled in 7.5 seconds on a Power4 with 6 GB of RAM."
Finally, it has come to this. Another reader points out: "Be, Inc., the company that developed and marketed the loved Be operating system, has announced sale of the be.com domain.
This would be a great time for someone to sweep it up. ;) *cough*OpenBeOS*cough*"
-
The MIT Lightweight Languages Workshop
fxn points to this "article from Dr. Dobbs's Jounal on the recent Lightweight Languages Workshop, held at MIT's AI Lab." This is a nice followup to Simon Cozen's report on the conference, posted here in November. -
Private Namespaces for Linux
webword writes: "Dr. Dobbs is running a story by Ron Minnich on implementing private namespaces for Linux to solve problems in both distributed and cluster computing. This topic hasn't received as much attention as it should. I'm glad that someone published something intelligent and worth reading." -
Private Namespaces for Linux
webword writes: "Dr. Dobbs is running a story by Ron Minnich on implementing private namespaces for Linux to solve problems in both distributed and cluster computing. This topic hasn't received as much attention as it should. I'm glad that someone published something intelligent and worth reading." -
Open Source Convention 2001 Wrap-up
So, we've gotten a lot of submissions about various things related to the O'Reilly Open Source Convention. Michael Tiemann had a few words before the convention; Dan Gillmor wrote a column about it; Fred Baker made a few flameworthy remarks. For whatever reason the whole conference seemed to be dominated by the Mundie-Tiemann debate. See our earlier story for some good links, or watch the debate video, or just read some post-debate coverage here or here. And if you haven't heard enough from Mundie, you can even read his post-debate letter. -
IBM's First Computer
wiredog writes "From Dr. Dobbs History of Computing comes the story of the IBM 604. IBMs first programmable "computer". With 16 instructions in the instruction set, 40 program steps storable in memory, a blazingly fast 1000 instructions/sec at 50 kHz and power consumption of 7.59kW (230VAC @ 33A)." -
IBM's First Computer
wiredog writes "From Dr. Dobbs History of Computing comes the story of the IBM 604. IBMs first programmable "computer". With 16 instructions in the instruction set, 40 program steps storable in memory, a blazingly fast 1000 instructions/sec at 50 kHz and power consumption of 7.59kW (230VAC @ 33A)."