Why Microsoft .Net failed – Microsoft tried, but it couldn't win the hearts and minds of developers who weren't already indoctrinated — and it alienated others along the way
CSS Sprites vs. Data URIs: Which is Faster on Mobile? | Mobify – Based on this research, I recommend limiting the use of data URIs to very small resources and to not use too many of them in your CSS or inline HTML. 15-20kB for max data URI size, and no more than 3 – 5 instances seems like a good rule of thumb for mobile!
Celluloid: Actor-based Concurrent Objects for Ruby – Celluloid is a concurrent object oriented programming framework for Ruby which lets you build multithreaded programs out of concurrent objects just as easily as you build sequential programs out of regular objects
Java 7 Sockets Direct Protocol – Write Once, Run Everywhere …. and Run (Some Places) Blazingly – This article will survey the new Java Sockets Direct Protocol (SDP) technology, a very exciting breakthrough that was recently introduced in the Java 7 SDK. SDP empowers the Ultra High Performance Computing (UHPC) community to use Java’s ubiquitously common features and merits for a very uncommon use case: native access to the InfiniBand Remote Direct Memory Access (RDMA) capability
InfoQ: Running Heroku on Heroku – Noah Zoschke discusses self-hosting, bootstrapping, cross-compiling, avoiding circular dependencies, distributed process management, all in the context of running Heroku support apps on Heroku.
HTTPie: cURL for humans – HTTPie is a CLI HTTP utility built out of frustration with existing tools. The goal is to make CLI interaction with HTTP-based services as human-friendly as possible. HTTPie does so by providing an http command that allows for issuing arbitrary HTTP requests using a simple and natural syntax and displaying colorized responses:
Field Guide to Web Applications from Google – This field guide is designed to help you create great user experiences in your web apps. Whether you’re building your first web app, or are just looking for ways to improve existing experiences, there’s something here for you!
Introducing Spring Hadoop | SpringSource Team Blog – VMware have announced the availability of Spring Hadoop, which integrates the Spring Framework and the Apache Hadoop platform. The project provides a convenient mechanism for the configuration, creation, and execution of the various services and utilities such as MapReduce, Hive, Pig, and Cascading jobs via the Spring container
Spring Thread Pool Services – Java Code Geeks – Thread Pools are very important to execute synchronous & asynchronous processes. This article shows how to develop and monitor Thread Pool Services by using Spring. Creating Thread Pool has been explained via two alternative methods.
Working With Data in Sencha Designer | Learn | Sencha – This screencast provides an overview of the data layer in Sencha frameworks and demonstrates how you can use Designer to use the data capabilities. We explore the basics of creating stores, defining record structure using models, using proxies and readers to load data, sorting and grouping data, previewing loaded data, and attaching stores to views.
Significant Software Development Developments of 2011 | Javalobby – 2011 was yet another year that saw significant developments and advances in the software development industry. The lists compiled in this post indicate how broadly spread these advances were, affecting different programming languages, different deployment environments, and different stakeholders.
Groovy, the Python of Java – Groovy is respectful of and cooperative with Java itself. One of its primary design goals is to live alongside existing Java code, even while Groovy’s syntax far surpasses that of Java. In this respect, Groovy plays a very similar role in the Java ecosystem that Python plays in the C ecosystem
InfoQ: Apache Tika 1.0 Allows Easy Text Extraction for Java – The Apache Tika project aims to provide a single API for extracting data and detecting language from arbitrary input formats, such as text documents, spreadsheets, PDFs or images. Even audio or video input formats are supported to a certain degree.
InfoQ: Concurrent Caching at Google – Charles Fry presents MapMaker, an in-memory caching solution on the JVM, discussing its API and implementation evolution along with internal details.
Jodd | Jerry – The Unbearable Lightness of Java – Jerry is a jQuery in Java. Jerry is a fast and concise Java Library that simplifies HTML document parsing, traversing and manipulating. Jerry is designed to change the way that you parse HTML content
Facebook Poised to Lead Biggest U.S. Internet IPO Year Since 1999 Bubble – Bloomberg – With Facebook considering the largest Internet IPO on record and regulatory filings showing that at least 14 other Web-related companies are planning sales, the industry may raise $11 billion next year, according to data compiled by Bloomberg. That would be the most since $18.5 billion of IPOs in 1999, just before the dot-com bubble burst.
Coming to Terms with the Consumerization of IT – R “Ray” Wang – Harvard Business Review – IT and business leaders need to work together and operate in parallel. If IT slows down the business capability to innovate, the company will suffer as new business models emerge and infrastructure will fail to keep up. If business moves ahead of IT in technology, then the company fails because IT will spend years cleaning up technology messes
Google is using GWT – and you? – People sometimes ask me why Google itself doesn't use GWT, but many people don't realize that many of Google's newer services are written using it. Some Google products that use Google Web Toolkit that you may not know about:
Anyone can build a Messenger client—with open standards access via XMPP – Today we’re taking another step, with the public availability of access to the Messenger network via XMPP, an open standard. This means that anyone can build innovative messaging clients—either stand-alone or built into their devices—that include access to Messenger’s 300 million active users.
Spring Framework 3.1 goes GA – It is my pleasure to announce that Spring Framework 3.1 becomes generally available today! This release delivers several key features that make Spring ready for the challenges of 2012 and beyond:
Google Guava – Synchronization with Monitor – The Google Guava project is a collection of libraries that every Java developer should become familiar with. The Guava libraries cover I/O, collections, string manipulation, and concurrency just to name a few
Martin Fowler on Polyglot Persistence | Architects Zone – What all of this means is that if you're working in the enterprise application world, now is the time to start familiarizing yourself with alternative data storage options. This won't be a fast revolution, but I do believe the next decade will see the database thaw progress rapidly.
InfoQ: The Kotlin Programming Language – Andrey Breslav introduces the upcoming Kotlin language created by JetBrains, a general purpose JVM-based language, statically typed, object-oriented, and meant to be more concise than Java.
Raible Designs | Play 2.0, A web framework for a new era – This was a great talk on what's new in Play 2.0. I especially like the native support for LESS and CoffeeScript and the emphasis on trying to keep developers using two tools: their editor and the browser. The sample apps look great, but the documentation look sparse. I doubt I'll get a chance to migrate my Play 1.2.3 app to 2.0 this month, but I hope to try migrating sometime before the end of the year.
Google Web Toolkit Blog: GWT and Dart – We view Dart as an ambitious evolution of GWT’s mission to make web apps better for end users … we anticipate working closely with the GWT developer community to explore Dart.
Redux: Inspecting HotSpot JVM Options – There is enormous scope for coarse and fine grained control of JVM behaviour. The option -XX:+PrintFlagsFinal allows comprehensive reporting of the options and their values. The available options vary by build and JVM type (server or client). Recording and auditing this output is an important step in any Java benchmarking or continuous monitoring exercise
DB Sanity – database consistency and reporting application – DB Sanity performs checks on a database for verifying data consistency and correctness of application deployments or production data. It is invoked by the command line and creates an HTML report with a summary and listings of faulty database entries.
javasimon – Java Simon – Simple Monitoring API – Java Simon is a simple monitoring API that allows you to follow and better understand your application. Monitors (familiarly called Simons) are placed directly into your code and you can choose whether you want to count something or measure time/duration.
Obituary: printf("goodbye, Dennis"); | The Economist – All of his technological miracles, along with a billion others sold by Apple's competitors, would be merely pretty receptacles were it not for Dennis Ritchie. It is to him that they owe their digital souls, the operating systems and programs which make them tick.
Android and IDEA for the Eclipse Refugee » Canoo RIA Blog – Now that IntelliJ IDEA 11 EAP (Early Access) has a visual layout window, there is almost no reason for me to write my Android apps in anything else. I wrote this post to help other users along their way when converting between the IDEs.
InfoQ: Simple Made Easy – Rich Hickey emphasizes simplicity’s virtues over easiness’, showing that while many choose easiness they may end up with complexity, and the better way is to choose easiness along the simplicity path.
InfoQ: The Joy of Testing – John Hughes shows how to explore the possible bugs of a code by creating a series of tests in Erlang and using multiple test frameworks, discovering the faults through successive tests and evaluating the frameworks while doing it.
Collaboration, IT-style: How to do it right – If companies set up the right ingredients — bringing talented people together and challenging them in an environment in which "spontaneous innovation can happen" — then IT employees will excel
Oracle spins own Linux for mega hardware • The Register – Oracle's cloud-in-a-box runs a version of Oracle's WebLogic Server – bought with BEA Systems and engineered to work with all the multiple servers, cores, storage and gallons of networking – in conjunction with the former BEA's JRockit virtual machine.
Roadmap Open Graph API – Facebook Developer Wiki – The Open Graph API will allow any page on the Web to have all the features of a Facebook Page – users will be able to become a Fan of the page, it will show up on that user’s profile and in search results, and that page will be able to publish stories to the stream of its fans
szczepiq / Sweetest / wiki / Home — bitbucket.org – …is an acceptance testing anti-framework. The name should remind you how important is to write sweet tests (e.g. readable & maintainable). Anti-framework because there is no API you have to learn.
The Hibernate Profiler – Hibernate Profiler is a real-time visual debugger allowing a development team to gain valuable insight and perspective into their usage of Hibernate
smartgwt – Smart GWT – GWT API’s for SmartClient – Smart GWT is a GWT based framework that allows you to not only utilize its comprehensive widget library for your application UI, but also tie these widgets in with your server-side for data management
Seth’s Blog: "Notice me" – Attention is fine, as long as you have a goal that is reached in exchange for all this effort. Far better than being noticed………..
thread-weaver – Project Hosting on Google Code – Thread Weaver is a framework for writing multi-threaded unit tests in Java. It provides mechanisms for creating breakpoints within your code, and for halting execution of a thread when a breakpoint is reached. Other threads can then run while the first thread is blocked. This allows you to write repeatable tests for that can check for race conditions and thread safety
UNetbootin – Homepage and Downloads – UNetbootin allows you to create bootable Live USB drives for a variety of Linux distributions from Windows or Linux, without requiring you to burn a CD. You can either let it download one of the many distributions supported out-of-the-box for you, or supply your own Linux .iso file if you've already downloaded one or your preferred distribution isn't on the list.
Hibernate Validator 4 unleashed – Hibernate Validator let's you declare constraints on your domain model using annotations like @NotNull or @Size and returns the list of constraint failures found in an object graph. Instead of duplicating constraint declarations in various application layers, constraints are centralized on your domain model and shared by all layers and frameworks: declared once, validate anywhere if you will.
Second Level Caching for Hibernate with Terracotta « My Adventures in Coding – Overall we have found Terracotta to be a useful tool. It requires very little effort to update an existing project using Spring/Hibernate to use it. Terracotta offers more than just Second Level Caching, but also handles queuing of writes and ensuring data is written to the SOR (System or Record) in the event the database is not available for a brief period.
Who Has the Most Web Servers? « Data Center Knowledge – Rackspace reports that as of March 30 the company’s data centers house 50,038 servers, up from 47,518 at the end of 2008. Of the companies that publicly report their server counts, only European hosts 1&1 Internet and OVH have more than Rackspace.
soa-manifesto.org – A formal declaration of the principles, intentions and ambitions of service-orientation and the service-oriented architectural mode
ADO.NET Data Services extension – This document illustrates what can be done with the Restlet extension for the ADO.NET Data Services. We hope that you found it simple and useful to follow to read. It is a good demonstration of how adopting of REST and related standards such as HTTP and Atom facilitates the interoperability across programming languages and executions environments.
noop – Project Hosting on Google Code – Noop (pronounced noh-awp, like the machine instruction) is a new language experiment that attempts to blend the best lessons of languages old and new, while syntactically encouraging what we believe to be good coding practices and discouraging the worst offenses. Noop is initially targeted to run on the Java Virtual Machine.
Siena: the scalable persistence tier for Java – Siena is a persistence API for Java inspired on the Google App Engine Python Datastore API. Siena is a single API with many implementations. You can use siena with relational databases (using JDBC as underlying persistence mechanism), but you can also use it with the Google App Engine's datastore or with Amazon's SimpleDB.
Some Java Concurrency Tips | Java.net – If you still rely on Java 'the language' to implement concurrency in an application, then Carol McDonald's post walks you through various Java concurrency tips specific to Java 'the language'. A helpful reminder that its not necessary to migrate to a JVM-compatible languages like Scala to achieve concurrency results
Dynamic, typesafe queries in JPA 2.0 – Version 2.0 of the Java Persistence API (JPA) introduces the Criteria API, which brings the power of typesafe queries to Java applications for the first time and provides a mechanism for constructing queries dynamically at run time. This article describes how to write dynamic, typesafe queries using the Criteria API and the closely associated Metamodel API.
Dive Into HTML5 – Dive Into HTML5 seeks to elaborate on a hand-picked Selection of features from the HTML5 specification and other fine Standards