![]()
EDITOR'S EYEThe World of Software Development.by Jon Erickson |
|||||||||||||||||||||||||||||||||||||||||||
|
Communitites and the Networks that Define ThemThat place where people, places, and things intersect is usually referred to as a "community." It doesn't matter what kind of people, places, and things we're talking about, it's still a community, and social networks are simply the most recent incarnation. One thing disparate communities share, at least according to Weixiong Zhang, a Washington University associate professor of computer science and engineering and of genetics, and Jianhua Ruan, a faculty member in Department of Computer Science at the University of Texas at San Antonio, are networks within communities that define the community's structure. And to examine networks such as these, Zhang and Ruan have published in a paper entitled An Efficient Spectral Algorithm for Network Community Discovery and Its Applications to Biological and Social Networks an algorithm that automatically identify communities and their structures in various networks. Many complex systems can be represented as networks, says Zhang, including the genetic networks, social networks, and the Internet itself. The community structure of networks features a natural division in which the vertices in each subnetwork are highly involved with each other, though connected less strongly with the rest of the network. Communities are relatively independent of one another structurally, but researchers think that each community may correspond to a fundamental functional unit. A community in a genetic network usually contains genes with similar functions, just as a community on the World Wide Web often corresponds to Web pages on similar topics. Zhang and Ruan's algorithm is more scalable than existing similar algorithms and can detect communities at a finer scale and with a higher accuracy. One impact of having such a computational biology tool is found in the genomics field. Using this tool, researchers may be better able to identify and understand communities of genes and their networks as well as how they cooperate in causing diseases, such as sepsis, virus infections, cancer and Alzheimer's disease. Zhang and Ruan's algorithm is versatile enough that it has been applied to identify the community structure of a network of co-expressed genes involved in bacterial sepsis, whatever that is. Like I said, a community is community, a network is a network, and an algorithm is the product of careful study. -- Jonathan Erickson Posted by Jon Erickson at 09:11 AM Permalink
|
March 17, 2008 Communities and the Networks That Define ThemThat place where people, places, and things intersect is usually referred to as a "community." It doesn't matter what kind people, places, and things we're talking about, it's still a community, and social networks are simply the most recent incarnation. One thing disparate communities share, at least according to , Weixiong Zhang, a Washington University associate professor of computer science and engineering and of genetics, and Jianhua Ruan, a faculty member in Department of Computer Science at the University of Texas at San Antonio, are networks within communities that define the community's structure. And to examine networks such as these, Zhang and Ruan have published in a paper entitled An Efficient Spectral Algorithm for Network Community Discovery and Its Applications to Biological and Social Networks an algorithm that automatically identify communities and their structures in various networks. Many complex systems can be represented as networks, says Zhang, including the genetic networks, social networks, and the Internet itself. The community structure of networks features a natural division in which the vertices in each subnetwork are highly involved with each other, though connected less strongly with the rest of the network. Communities are relatively independent of one another structurally, but researchers think that each community may correspond to a fundamental functional unit. A community in a genetic network usually contains genes with similar functions, just as a community on the World Wide Web often corresponds to Web pages on similar topics. Zhang and Ruan's algorithm is more scalable than existing similar algorithms and can detect communities at a finer scale and with a higher accuracy. One impact of having such a computational biology tool is found in the genomics field. Using this tool, researchers may be better able to identify and understand communities of genes and their networks as well as how they cooperate in causing diseases, such as sepsis, virus infections, cancer and Alzheimer's disease. Zhang and Ruan's algorithm is versatile enough that it has been applied to identify the community structure of a network of co-expressed genes involved in bacterial sepsis, whatever that is. Like I said, a community is community, a network is a network, and an algorithm is the product of careful study. -- Jonathan Erickson Posted by Jon Erickson at 04:07 PM Permalink
|
March 11, 2008 BEE3: Microsoft, FPGAs, and the Future of Computer ArchitecturesMicrosoft is supposed to be all about software, right?. After all, Gates and Allen didn't start off by calling the company "Microhard". But from time to time, hardware still pops up. The Microsoft Mouse, Microsoft Keyboard, and other devices come to mind. But this time around, Microsoft is going big-time hardware with a hardware platform called BEE3. The BEE3 project, led by Microsoft Research's Chuck Thacker and John Davis, focuses on field-programmable gate arrays (FPGAs) packaged in a chassis that looks like a computer but is actually a platform that emulates architectures and changes to standard architectures. "If you want to try out a new architecture or a new feature," Thacker says, "it's very difficult to do these days, because you have to actually build chips to build anything of substantial size. Using FPGAs, you don't have to build chips. You can design the thing and load the FPGA with some bytes that tell it what it’s supposed to do logically." According to Thacker, the time is right for projects such as BEE3 because of the sophistication and availability of FPGAs -- and the software tools to develop for them. "They are now large enough and design tools are good enough that you can build very complex things," says Thacker. "You can use them both for architectural experimentation and for accelerating a CPU for algorithms that don't fit very well into [sequential] architecture." BEE3, short for the "Berkeley Emulation Engine, version 3," was actually designed at University of California's Berkeley Wireless Research Center. Working along with Thacker and Davis on BEE3 are researchers from the University of California, Berkeley, MIT, Stanford University, Carnegie Mellon, the University of Texas at Austin, and the University of Washington. Other partners are contributing to BEE3, as well. Function Engineering designed the heat sinks for the FPGAs and did computational fluid-dynamic modeling. Xilinx manufactures the FPGAs and the tools to design them. And Celestica (a company which also manufactures Xbox 360 game consoles) helped reduce the complexity in terms of the board design and the prototypes. "The coolest part of this project," Davis says, "is the board design actually is better than the devices that are on it. We're actually able to look at signals at a higher frequency than the FPGAs are supposed to operate at, and that's pretty exciting." Posted by Jon Erickson at 10:03 AM Permalink
|
March 06, 2008 Jolt Award Winners AnnouncedDr. Dobb's has announced the winners of the 18th annual Jolt Product Excellence and Productivity Awards at the SD West 2008 conference. The Jolt Awards recognize those products, books, and websites that have "jolted" the industry in the past year. Winners are selected by a panel of judges consisting of industry insiders, columnists, and technology leaders. This year's winners include: General Books
Technical Books
Change and Configuration Management
Collaboration Tools
Database Engines and Data Tools
Design and Modeling Tools
Development Environments
Enterprise Tools
Libraries, Frameworks and Components
Mobile Development Tools
Project Management Tools
Security Tools
Testing Tools
Utilities
Web Development
Websites and Developer Networks
Jolt Hall of Fame Winner: VMware Workstation Posted by Jon Erickson at 12:25 AM Permalink
|
March 04, 2008 SD West 2008 Underway; Beautiful Code First UpSD West 2008 is underway for me this evening. Actually, if I had gotten up earlier this morning, it might have been underway for me a lot sooner. However, sleeping-in made it possible for me to save up all my energy for this evening's panel discussion on "Beautiful Code." Not that I needed a lot of energy -- the panel participants did all the heavy lifting for me, which means that I didn't have to do a whole lot once I had them introduce themselves. Based on the book of the same name, Beautiful Code the panel was made up of six of the 33 contributors to the book. More specifically, the stars of the panel were Michael Feathers, Jim Kent, Christopher Seiwald, Elliotte Harold, Ron Mak, and Alberto Savoia. I hung around to keep the conversations going (which wasn't hard) and make sure the panel had plenty of bottled water. Alberto Savoia made an important point early on when he said that it is easier to define ugly code -- "everyone knows what that is" -- than it is to define beautiful code. Proving him correct, the six panel members came up with six different definitions of beautiful code, ranging from "code that works" to "code without comments but that you can read." As for ugly code, that's easy to define -- it's "someone else's code." In response to an audience question wondering if code has to work to be considered "beautiful", Elliotte Harold pointed to the title of his chapter -- "Correct, Beautiful, Fast (in That Order)" -- which summed up his definition of beautiful code. So yes, it should work. Ron Mak concurred, using as an example his chapter entitled "A Highly Reliable Enterprise System for NASA's Mars Rover Mission" in which the software absolutely had to work correctly. One thing panelists did agree on was that beautiful code has nothing to do with the programming language at hand, something that was reflected in Beautiful Code the book which included examples based on Fortran, Lisp, C, Java, and Python, among other languages. So what's the bottom line? What is beautiful code? According to Dr. Dobb's contributing editor Greg Wilson (who unfortuantely wasn't in attendance) and, who along with O'Reilly's Andy Orem edited the book, "we know what's beautiful code. Everyone had a different view on it which was a more interesting result than anything definitive." Posted by Jon Erickson at 12:51 AM Permalink
|
|
RECENT ENTRIES
MONTHLY ARCHIVES
BLOGROLL
|
||||||||||||||||||||||||||||||||||||||||||