Today, there are several different communication interfaces available and we plug/unplug them at will. However, our network programming interfaces remain similar to those used when there was at most one network interface. As a result, applications must struggle with the problem of adapting to changes in network facilities: they must select the appropriate network, switch to another when the current one fails, re-establish failed connections, and so on. Although there are systems and middleware that solve part of these problems, there is no integrated approach that addresses the underlying problem: a new network programming interface is needed for applications that must run in mobile and ubiquitous computing environments. This paper presents the design, implementation, and experience with a novel network programming interface introduced in the Plan B's Operating System, called/net. It also shows how this interface addresses the problems mentioned and simplifies network programming, including some example applications.