TL;DR: Software development is rarely a solo coding effort, but more often, it is a collaborative process, with teams of developers working together to design solutions and produce quality code.
Abstract: Software development is rarely a solo coding effort. More often, it is a collaborative process, with teams of developers working together to design solutions and produce quality code. The members of these close-knit teams often look at one another’s code, collectively make plans about how to proceed, and even fix each other’s bugs when necessary. Teamwork does not stop there, however. An extended team may include project managers, testers, architects, designers, writers, and other specialists, as well as other programming teams. Programmers also interact with the community of developers outside their organization to obtain advice, code snippets, and a general understanding of what works and what doesn’t.
Abstract: You know what I hate about spam filtering? Most of what we do today hurts the people who are already being hurt the most Think about it: Who pays in the spam game? The recipients That’s what’s wrong in the first place - the wrong folks pay for this scourge
TL;DR: This article discusses Sun Microsystems’ take on web services, specifically Sun ONE: an open, standards-based web services framework, and shares Sun’s decision-making rationales regarding web services.
Abstract: The name of the game is web services-sophisticated network software designed to bring us what we need, when we need it, through any device we choose. We are getting closer to this ideal, as in recent years the client/server model has evolved into web-based computing, which is now evolving into the web services model. In this article, I will discuss Sun Microsystems’ take on web services, specifically Sun ONE: an open, standards-based web services framework. I’ll share with you Sun’s decision-making rationales regarding web services, and discuss directions we are moving in.
TL;DR: The use of open source software has become increasingly popular in production environments, as well as in research and software development, and a number of business models designed by users and vendors combine open source and commercial software.
Abstract: The use of open source software has become increasingly popular in production environments, as well as in research and software development. One obvious attraction is the low cost of acquisition. Commercial software has a higher initial cost, though it usually has advantages such as support and training. A number of business models designed by users and vendors combine open source and commercial software; they use open source as much as possible, adding commercial software as needed. They may use open source software as a central component of a product or service, but use other components to add value, which can then induce customers to pay for the offering (obviously, it is hard to compete with free software on price).
TL;DR: It has been more than ten years since such "information appliances" as ATMs and grocery store UPC checkout counters were introduced and as a result of wireless computing, miniaturization, and new economies of scale, such technologies as PDAs, IM, and mobile access to the Internet are almost taken for granted.
Abstract: It has been more than ten years since such "information appliances" as ATMs and grocery store UPC checkout counters were introduced For the office environment, Mark Weiser began to articulate the notion of UbiComp and identified some of the salient features of the trends in 1991 Embedded computation is also becoming widespread Microprocessors, for example, are finding themselves embedded into seemingly conventional pens that remember what they have written Anti-lock brake systems in cars are controlled by fuzzy logic And as a result of wireless computing, miniaturization, and new economies of scale, such technologies as PDAs, IM, and mobile access to the Internet are almost taken for granted
TL;DR: A different type of solution is needed to combat current trends in the software industry that are steadily diminishing the effectiveness of conventional software testing and quality assurance.
Abstract: Although the concept of detecting programming errors at compile time is not new, the technology to build effective tools that can process millions of lines of code and report substantive defects with only a small amount of noise has long eluded the market. At the same time, a different type of solution is needed to combat current trends in the software industry that are steadily diminishing the effectiveness of conventional software testing and quality assurance.
TL;DR: The main reasons are that e-mail has become an overloaded channel for readers and that you can’t be sure to get a timely response from the recipients of e-mails.
Abstract: Respected technology commentators say that they now prefer instant messaging (IM) over e-mail as their medium of choice for computer-mediated communication. The main reasons are that e-mail has become an overloaded channel for readers and that you can’t be sure to get a timely response from the recipients of your e-mail.
TL;DR: The Federal Trade Commission held a forum on spam in Washington, D.C., April 30 to May 2 that was a really good, content-full event that ran the gamut from ardent anti-spammers all the way to hard-core spammers and everyone in between.
Abstract: The Federal Trade Commission held a forum on spam in Washington, DC, April 30 to May 2 Rather to my surprise, it was a really good, content-full event The FTC folks had done their homework and had assembled panelists that ran the gamut from ardent anti-spammers all the way to hard-core spammers and everyone in between: lawyers, legitimate marketers, and representatives from vendor groups
TL;DR: The industry needs to fine-tune the interface design for IM so the benefits of quick, lightweight communication can be gained without creating a distracting burden for users.
Abstract: The recent rise in popularity of IM (instant messaging) has driven the development of platforms and the emergence of standards to support IM. Especially as the use of IM has migrated from online socializing at home to business settings, there is a need to provide robust platforms with the interfaces that business customers use to integrate with other work applications. Yet, in the rush to develop a mature IM infrastructure, it is also important to recognize that IM features and uses are still evolving. For example, popular press stories1 have raised the concern that IM interactions may be too distracting in the workplace. This concern suggests that we still need to fine-tune the interface design for IM so the benefits of quick, lightweight communication can be gained without creating a distracting burden for users. How can the industry meet the demand for robust platforms and standards for IM without locking out innovation and development?
TL;DR: Three trends are driving the rapid growth of wireless LAN: The increased use of laptops and personal digital assistants (PDAs); rapid advances in WLAN data rates; and precipitous drops in W LAN prices.
Abstract: Three trends are driving the rapid growth of wireless LAN (WLAN): The increased use of laptops and personal digital assistants (PDAs); rapid advances in WLAN data rates (from 2 megabits per second to 108 Mbps in the past four years); and precipitous drops in WLAN prices (currently under $50 for a client and under $100 for an access point).
TL;DR: The challenge of wireless communication is that, unlike the mostly error-free transmission environments provided by cables, the environment that wireless communications travel through is unpredictable.
Abstract: The obvious advantage to wireless communication over wired is, as they say in the real estate business, location, location, location. Individuals and industries choose wireless because it allows flexibility of location--whether that means mobility, portability, or just ease of installation at a fixed point. The challenge of wireless communication is that, unlike the mostly error-free transmission environments provided by cables, the environment that wireless communications travel through is unpredictable. Environmental radio-frequency (RF) "noise" produced by powerful motors, other wireless devices, microwaves--and even the moisture content in the air--can make wireless communication unreliable.
TL;DR: This paper presents a meta-modelling architecture that automates the very labor-intensive and therefore time-heavy and expensive process of manually cataloging and decrypting individual sectors of a disk drive.
Abstract: Traditionally, the programmer’s working model of disk storage has consisted of a set of uniform cylinders, each with a set of uniform tracks, which in turn hold a fixed number of 512-byte sectors, each with a unique address. The cylinder is made up of concentric circles (or tracks) on each disk platter in a multiplatter drive. Each track is divided up like pie slices into sectors. Because any location in this three-dimensional storage space could be uniquely identified by the cylinder number, head (surface) number, and sector number, this formed the basis for the original programming model for disk drives: cylinder-head-sector access.
TL;DR: While detractors snub XML web services as CORBA with a weight problem, industry cheerleaders say these services are ushering in a new age of seamless integrated computing.
Abstract: While detractors snub XML web services as CORBA with a weight problem, industry cheerleaders say these services are ushering in a new age of seamless integrated computing. But for those of us whose jobs don’t involve building industry excitement, what do web services offer?
TL;DR: At first, IDEs simply connected the big three (editor, compiler, and debugger), but nowadays most go well beyond those minimum requirements, and in recent years, the authors have witnessed an explosion in the constituent functionality of IDEs.
Abstract: Remember the halcyon days when development required only a text editor, a compiler, and some sort of debugger (in cases where the odd printf() or two alone didn’t serve)? During the early days of computing, these were independent tools used iteratively in development’s golden circle. Somewhere along the way we realized that a closer integration of these tools could expedite the development process. Thus was born the integrated development environment (IDE), a framework and user environment for software development that’s actually a toolkit of instruments essential to software creation. At first, IDEs simply connected the big three (editor, compiler, and debugger), but nowadays most go well beyond those minimum requirements. In fact, in recent years, we have witnessed an explosion in the constituent functionality of IDEs.
TL;DR: Creating and developing readable code is not as easy as it sounds, but writing code that others can easily decipher has become a necessity.
Abstract: Forty years ago, when computer programming was an individual experience, the need for easily readable code wasn’t on any priority list. Today, however, programming usually is a team-based activity, and writing code that others can easily decipher has become a necessity. Creating and developing readable code is not as easy as it sounds.
TL;DR: The increasing ubiquity of the Internet is making far-flung talent ever-more accessible, and the effort to keep costs down is to use it where you find it, rather than spending the money to relocate it to some ostensibly more "central" location.
Abstract: More and more software development is being distributed across greater and greater distances. The motives are varied, but one of the most predominant is the effort to keep costs down. As talent is where you find it, why not use it where you find it, rather than spending the money to relocate it to some ostensibly more "central" location? The increasing ubiquity of the Internet is making far-flung talent ever-more accessible.
TL;DR: The transition to reconfigurable systems will be wrenching, but this is inevitable as the design emphasis shifts from cost performance to cost performance per watt.
Abstract: The introduction of the microprocessor in 1971 marked the beginning of a 30-year stall in design methods for electronic systems. The industry is coming out of the stall by shifting from programmed to reconfigurable systems. In programmed systems, a linear sequence of configuration bits, organized into blocks called instructions, configures fixed hardware to mimic custom hardware. In reconfigurable systems, the physical connections among logic elements change with time to mimic custom hardware. The transition to reconfigurable systems will be wrenching, but this is inevitable as the design emphasis shifts from cost performance to cost performance per watt. Here’s the story.
TL;DR: The Advanced Configuration and Power Interface is the most widely used power and configuration interface for laptops, desktops, and server systems and is also very complex, and its current specification weighs in at more than 500 pages.
Abstract: The Advanced Configuration and Power Interface (ACPI) is the most widely used power and configuration interface for laptops, desktops, and server systems. It is also very complex, and its current specification weighs in at more than 500 pages. Needless to say, operating systems that choose to support ACPI require significant additional software support, up to and including fundamental OS architecture changes. The effort that ACPI’s definition and implementation has entailed is worth the trouble because of how much flexibility it gives to the OS (and ultimately the user) to control power management policy and implementation.
TL;DR: This chapter introduces the layers of protocols and translations that occur as bits make their way from the magnetic domains on the disk drives and interfaces to the desktop.
Abstract: The concept of a storage device has changed dramatically from the first magnetic disk drive introduced by the IBM RAMAC in 1956 to today’s server rooms with detached and fully networked storage servers. Storage has expanded in both large and small directions. All use the same underlying technology but they quickly diverge from there. Here we will focus on the larger storage systems that are typically detached from the server hosts. We will introduce the layers of protocols and translations that occur as bits make their way from the magnetic domains on the disk drives and interfaces to your desktop.
TL;DR: Eclipse, the language-agnostic code base that’s billed as a “universal platform,” is more precisely a metaplatform, a building tool out of which developers can create IDEs, or anything else they might desire.
Abstract: All those descriptions currently surround Eclipse, the language-agnostic code base that’s billed as a “universal platform.” According to its creators it’s more precisely a metaplatform. That is, it’s a building tool out of which developers can create IDEs, or indeed anything else they might desire.
TL;DR: Adam Bosworth’s contributions to the development and evolution of Web Services began before the phrase "Web Services" had even been coined, and as Chief Architect and Senior Vice President of Advanced Development at BEA Systems, he is much more directly involved in shaping the future of Web services.
Abstract: Adam Bosworth’s contributions to the development and evolution of Web Services began before the phrase "Web Services" had even been coined. That’s because while working as a senior manager at Microsoft in the late ’90s, he became one of the people most central to the effort to define an industry XML specification. While at Microsoft, he also served as General Manager of the company’s WebData organization (with responsibility for defining Microsoft’s long-term XML strategy) in addition to heading up the effort to develop the HTML engine used in Internet Explorer 4 & 5. Now, as Chief Architect and Senior Vice President of Advanced Development at BEA Systems, Bosworth is much more directly involved in shaping the future of Web Services.
TL;DR: Peer-to-peer technology and wireless networking offer great potential for working together away from the desk - but they also introduce unique software and infrastructure challenges.
Abstract: Peer-to-peer technology and wireless networking offer great potential for working together away from the desk - but they also introduce unique software and infrastructure challenges. The traditional idea of the work environment is anchored to a central location - the desk and office - where the resources needed for the job are located. Even in the many professions where the practitioners move among different field locations, such as professional consulting, health care, or resource exploration, the full set of information and technology resources has been available only in fixed locations where the workers "check in" periodically to integrate their field results back into the larger picture.
TL;DR: Enterprise network practitioners can attest that the "must-buy-firewall" mentality has pervaded the field, and the need for firewalls to secure their networks is well known.
Abstract: Common wisdom has it that enterprises need firewalls to secure their networks. In fact, as enterprise network practitioners can attest, the "must-buy-firewall" mentality has pervaded the field.
TL;DR: System-on-a-chip (SoC) design methodology allows a designer to create complex silicon systems from smaller working blocks, or systems, by providing a method for easily supporting proprietary functionality in a larger context that includes many existing design pieces.
Abstract: System-on-a-chip (SoC) design methodology allows a designer to create complex silicon systems from smaller working blocks, or systems. By providing a method for easily supporting proprietary functionality in a larger context that includes many existing design pieces, SoC design opens the craft of silicon design to a much broader audience.
TL;DR: Delivery of a technology-based project is challenging, even under well-contained, familiar circumstances, so it is no mystery why most small, new technology teams opt to work in a garage.
Abstract: Delivery of a technology-based project is challenging, even under well-contained, familiar circumstances. And a tight-knit team can be a major factor in success. It is no mystery, therefore, why most small, new technology teams opt to work in a garage (at times literally). Keeping the focus of everyone’s energy on the development task at hand means a minimum of non-engineering overhead.
TL;DR: Preaching emanating from the ranks and gurus of the human interface world is slowly convincing management, software designers, and even programmers that better human-machine interfaces can increase productivity by speeding the work, decreasing learning time, lowering the burden on human memory, and easing users’ physical and mental stress.
Abstract: Preaching emanating from the ranks and gurus of the human interface world is slowly convincing management, software designers--and even programmers--that better human-machine interfaces can increase productivity by speeding the work, decreasing learning time, lowering the burden on human memory, and easing users’ physical and mental stress.
TL;DR: Modern software development practices build applications as a collection of collaborating components, which means that as an application component needs resources from another component, calls are made to transfer control or data from one component to another.
Abstract: Modern software development practices build applications as a collection of collaborating components. Unlike older practices that linked compiled components into a single monolithic application, modern executables are made up of any number of executable components that exist as separate binary files. This design means that as an application component needs resources from another component, calls are made to transfer control or data from one component to another. Thus, we can observe externally visible application behaviors by watching the activity that occurs across the boundaries of the application’s constituent components.
TL;DR: The open source movement, exemplified by the growing acceptance of Linux, is finding its way not only into corporate environments but also into a home near you.
Abstract: The open source movement, exemplified by the growing acceptance of Linux, is finding its way not only into corporate environments but also into a home near you. For some time now, high-end applications such as software development, computer-aided design and manufacturing, and heavy computational applications have been implemented using Linux and generic PC hardware.