See what’s happening on Safari right now.

Photo by Bay Area Event Photography
Book cover for C# 5.0 in a Nutshell, 5th Edition
Highlight from
Creating Types in C# C# 5.0 in a Nutshell, 5th Edition by Ben Albahari, Joseph Albahari
“Generic classes are not covariant, to ensure static type safety.”
Highlight by jaik360
Book cover for PostgreSQL Cookbook
Recently published
PostgreSQL Cookbook by Chitij Chauhan published on Jan. 31, 2015
Book cover for Programming in Scala, Second Edition
Highlight from
First Steps in Scala Programming in Scala, Second Edition by Lex Spoon, Martin Odersky, Bill Venners
“In the previous example, the Scala interpreter infers the type of arg to be String, since String is the element type of the array on which you're calling foreach. If you'd prefer to be more explicit, you can mention the type name, but when you do you'll need to wrap the argument portion in parentheses (which is the normal form of the syntax anyway):”
Highlight by patrick_sagan
Book cover for Articulate Storyline Essentials
Recently published
Articulate Storyline Essentials by Ashley Chiasson published on March 11, 2015
Book cover for You’re My Favorite Client
Staff pick
You’re My Favorite Client by Mike Monteiro published on Nov. 7, 2014
“Anything Mike Monteiro writes is worth reading.”
Pick by liza
“Simplify: In general, when you’re considering whether to deploy a new feature, or even how to deploy a new feature, remember the 2 a.m./15 minute rule: If it takes more than 15 minutes to explain at 2 a.m., while under the pressure of a network outage, it’s probably too complex.”
Highlight by mccloud
Book cover for Introduction to Amazon Web Services (AWS) - EC2 Deployment Fundamentals
Recently published
Introduction to Amazon Web Services (AWS) - EC2 Deployment Fundamentals by Steve Suehring published on Feb. 12, 2015
Book cover for Intermediate Python
Staff pick
Intermediate Python by Steve Holden published on April 8, 2014
“Steve Holden delivers concise and approachable guidance to the fundamental language features that make Python the powerful and human programming language it is.”
Pick by chrisguidry
“The memory content and peripheral registers can be examined even when the processor is running”
Highlight by bookworm68
Book cover for Creating Awesome iOS Interfaces
Staff pick
Creating Awesome iOS Interfaces by Jonathan Penn, Joshua B. Smith published on May 30, 2014
“After attending a CocoaConf event featuring talks from Jonathan Penn and Josh Smith, I was thrilled to see this added to the Safari library. No iOS developer will want to miss this!”
Pick by beaker
Book cover for Jugaad Innovation: Think Frugal, Be Flexible, Generate Breakthrough Growth
Staff pick
Jugaad Innovation: Think Frugal, Be Flexible, Generate Breakthrough Growth by Jaideep Prabhu, Navi Radjou, Simone Ahuja published on April 1, 2012
“Jugaad Innovation argues that the creative approaches to problem-solving born from the scarcity of resources in markets like India may be the secret to innovation success even in the most resource-abundant economies. A clever twist on the conventional wisdom that the best management practices are found in mature economies.”
Pick by paul
Book cover for Learning Photoshop Elements 13
Recently published
Learning Photoshop Elements 13 by Andy Anderson published on Dec. 18, 2014
Book cover for Being Geek
A Deliberate Career Being Geek by Michael Lopp

Is it time to become a manager? Join that start-up? Resign in disgust? As a software engineer, at some point you realize there's much more to your career than dealing with code. Author Michael Lopp recalls his own make-or-break moments with Apple, Borland, Netscape, and Symantec in Being Geek ...

Book cover for Apache Kafka
Highlight from
Java consumer API Apache Kafka by Nishant Garg
“The consumer group name is unique and global across the Kafka cluster and any new consumers with an in-use consumer group name may cause ambiguous behavior in the system. When a new process is started with the existing consumer group name, Kafka triggers rebalance between the new and existing process threads for the consumer group. Post rebalance, some of the messages that are intended for a new process may go to an old process, causing unexpected results. To avoid this ambiguous behavior, any existing consumers should be shut down before starting new consumers for an existing consumer group name”
Highlight by gvanlandeghem
Book cover for The Art of Computer Programming: MMIX - A RISC Computer for the New Millennium, Volume 1, Fascicle 1
Recently published
The Art of Computer Programming: MMIX - A RISC Computer for the New Millennium, Volume 1, Fascicle 1 by Donald E. Knuth published on Feb. 14, 2005

Be a Better Developer and Deliver Better Code

Despite advanced tools and methodologies, software projects continue to fail. Why? Too many organizations still view software development as just another production line. Too many developers feel that way, too—and they behave accordingly.

In The Software Craftsman: Professionalism, Pragmatism, Pride, Sandro ...

Book cover for AngularJS: Up and Running
Highlight from
Working with Filters AngularJS: Up and Running by Brad Green, Shyam Seshadri
“In the previous few chapters, we have explored two of the four cornerstones of AngularJS applications: controllers and services. With controllers, we looked at how to get the data we want out into the UI, and how to handle simple styling and presentation logic. We used services to create common business logic, and a layer that would be common across all our controllers.”
Highlight by imaclean
Book cover for Telephone Skills that Satisfy Customers: Unleash the Full Potential of the Telephone
Recently published
Telephone Skills that Satisfy Customers: Unleash the Full Potential of the Telephone by Doug Watsabaugh, Rick Conlow published on Dec. 4, 2009
Book cover for Oracle Exadata Expert’s Handbook
Recently published
Oracle Exadata Expert’s Handbook by Charles Kim, Guy Harrison, Nitin Vengurlekar, Sridhar Avantsa, Syed Hussain, Tariq Farooq published on May 15, 2015
Book cover for Design Patterns: Elements of Reusable Object-Oriented Software
Highlight from
Introduction Design Patterns: Elements of Reusable Object-Oriented Software by Ralph Johnson, Erich Gamma, John Vlissides, Richard Helm
“Creational patterns concern the process of object creation. Structural patterns deal with the composition of classes or objects. Behavioral patterns characterize the ways in which classes or objects interact and distribute responsibility.”
Highlight by rsundarms
Book cover for Perl 6 and Parrot Essentials, Second Edition
Staff pick
Perl 6 and Parrot Essentials, Second Edition by Allison Randal, Dan Sugalski, Leopold Tötsch published on June 22, 2004
“A fascinating book on, what was and—for most people—largely remains, a hypothetical language. Both interesting as a text on language design and implementation, and as a cultural artifcact of a large and significant programming community.”
Pick by stb

Ready to try it out?
Sign up for a free
trial today.

By clicking this box, you confirm that you have read and agree to the terms and conditions of our Membership Agreement, and you understand that when your trial period ends, you will be required to provide billing information if you wish to continue using the service.
Skip the Trial & Join Now!

Learn about Safari for Business