In the summer of 2005, systems administrators and security researchers from all over the world gathered in Las Vegas, Nevada for Black Hat, one of the largest computer security conferences in the world. On the morning of the first day, Michael Lynn, one of the authors of this book, was scheduled to speak about vulnerabilities in Cisco routers. These vulnerabilities were serious: an attacker cou…
Node.js and MongoDB are quickly becoming very popular tech stacks for the Web. Powered by Google's V8 engine, Node.js caters to easily building fast, scalable network applications while MongoDB is the perfect fit as a scalable, high-performance, open source NoSQL database solution. Using these two technologies together, web applications can be built quickly and easily and deployed to the clou…
The evolution of the secure proxy is a reflection of the evolution of the web. The proxy began as a gateway that bridged content that was processed and managed by various information systems, and served that content to the open web dur- ing the early days of Internet web construction. The term web proxy server was given to this general intermediary to reflect its main duty at the time, namely, …
Welcome to Joomla! If you’re new to content management systems or even new to building websites, this book will help you get up and running in no time. All you need is a basic understanding of HTML and CSS to create high-quality websites and powerful web applications. Whether you’re a web designer or an experienced devel- oper, this tome will help you get to know one of the most popular con…
The Yii framework, hosted at http://www.yiiframework.com/, is a PHP-based application framework built around the Model-View-Controller composite pattern. It is suitable for building both web and console applications, but its feature set makes it most useful for web applications. It has several code generation facilities, including the full create-read-update-delete (CRUD) interface maker. It re…
If the APL community debated this topic, it would certainly be making the case for APL as a development tool. The decisive question is: Use APL exclusively or in conjunction with other tools? Whatever the merits, this would be a misplaced debate: the objective is to vindicate APL as a contemporary development tool, with or without other tools. The graphical user interface and a grid object are …
Up until a few years ago, storage, computing, and network resources were intentionally kept physically and operationally separate from one another. Even the systems used to manage those resources were separated—often physically. Applications that interacted with any of these resources, such as an operational monitoring system, were also kept at arm’s length significantly involved access pol…
Shopify has grown by leaps and bounds over the last few years and their ever expanding client list means that now is the perfect time to build a killer app to meet the needs of storeowners across the globe. With the release of the App Store, customers can read reviews, see screenshots, and install apps with a few clicks. There has been a lot of effort from Shopify to make the developer experien…
When people speak of Ruby web development, it has historically been in reference to the opinionated juggernaut that is Rails. This is certainly not an unfounded association; Hulu, Yellow Pages, Twitter, and countless others have relied on Rails to power their (often massive) web presences, and Rails facilitates that process with zeal. Why, then, are people so interested in Sinatra, the tiny lit…
This chapter introduces Python's core networking library through some simple recipes. Python's socket module has both class-based and instances-based utilities. The difference between a class-based and instance-based method is that the former doesn't need an instance of a socket object. This is a very intuitive approach. For example, in order to print your machine's IP address, you don't need a…
The successful adoption of a technology into the community of those who rely on it to conduct business is a complicated journey—one that starts with the unyielding work of designers who see something that others don’t. But without the efforts of those who believe in its value and are willing to promote (evangelize), to educate, and to adapt the tool to the needs of the community, the techno…
To make best use of web services and SOAP, you must have a firm understanding of the principles and technologies upon which they stand. This chapter is an introduction to a variety of new technologies, approaches, and ideas for writing web-based applications to take advantage of the web services architecture. SOAP is one part of the bigger picture described in this chapter, and you'll learn how…
Professional ASP.NET 3.5 helps the experienced programmer put the latest ASP.NET technologies into action. Greatly expanded from the original best-selling Professional ASP.NET 2.0, Professional ASP.NET 3.5 covers all the key technologies retained from 2.0 in new depth alongside the hundreds of pages of coverage of the important new 3.5 features. Written by 3 of the most well- known and influent…
Rails 3 is a full stack, open source web framework powered by Ruby and this book is an introduction to it. Whether you’re just starting or you have a few cycles under your belt, you’ll appreciate the book’s guru’s-eye-view of idiomatic Rails programming. You’ll master Rails 3.1 by developing a ticket tracking application that includes RESTful routing, authentication and authorization,…
This book covers a vast array of information related to packetC. It is a complete language reference and contains background information on many unique parts of packetC. As packetC shares much of its grammar with C, the book focuses on being an instructional language reference and not a general C programming introduction, since extensive texts exist on that topic. Focusing the unique aspects of…
An economist must be “mathematician, historian, statesman, philosopher, in some degree . . . as aloof and incorruptible as an artist, yet sometimes as near the earth as a politician.” So remarked John Maynard Keynes, the great British economist who, as much as anyone, could be called the father of macroeconomics. No single statement summarizes better what it means to be an economist. As Key…
Social applications are, by default, applications with the potential to be used by many users at the same time. I know, the first word that comes to your mind is scalability, but that is just one of the challenges you must tackle, and possibly not the hardest. Your application needs to work for almost every user who decides to give it a try, from the perspectives of usability and user experienc…