InfoQ: Using DRY: Between Code Duplication and High-Coupling – DRY is an important principle, but abusing it can generate problems such as increased coupling and reduced readability. The lesson here is that no matter how great a principle is, it should not be used disregarding other good programming practices.
Three Laws of Good Software Architecture | Javalobby – The issue with architectural decisions is that they effect the whole system and/or you often need to make them early in the development process. It means a lot effort if you change that decision a couple of months later. From an economic standpoint architectural decisions are often irrevocable. Good architecture is one that allows an architect to make late decisions without superior effect on efforts and costs. Let's put that on record.
Simple Offline Data Synchronization for Mobile Web and PhoneGap Applications – In this article, I describe a simple data synchronization strategy that uses the device’s (or browser’s) SQLite database. The implementation currently leverages the Web SQL API (even though the W3C is no longer actively maintaining the spec) because both iOS and Android support it, but they don’t support IndexedDB, the official alternative
InfoQ: Cloud Foundry: Design and Architecture – Derek Collison discusses the goals, the design premises and patterns employed in creating the architecture of Cloud Foundry, VMware’s open source PaaS, unveiling internal architectural details.
5 Weeks of Go – In my opinion the Go designers have done an excellent job of blending the flexibility and convenience of a scripting language with the performance and safety of a strongly typed compiled language
Google Beats Oracle Patent Claim – Google on Wednesday was cleared of charges that it had infringed Oracle's Java patents, ending the second major phase of the trial.
"Today's jury verdict that Android does not infringe Oracle’s patents was a victory not just for Google but the entire Android ecosystem," a Google spokesperson said in an emailed statement.
I took Hanselman’s advice and now look at me… – About a month ago, I watched Scott Hanselman's awesome productivity talk, It's not what you read, it's what you ignore, and it spurred me to take a hard look at my daily Internet usage. As a result I've finished several projects that were previously languishing on my todo list, and I've improved my focus.
Tech Talk: the Hedgehog Programming Language – The Palantir Finance programming language — Hedgehog as we know it — is an interpreted, statically typed, object-oriented language. With a syntax that’s based loosely on Java, it mixes roughly Java-style semantics and a few idiosyncrasies that make it a really interesting case study in language design. It’s built to be extremely efficient for batch operations on time series, which is the heavy lifting in financial analysis.
Palantir Sysmon – lightweight platform monitoring for Java VMs – Sysmon is a lightweight platform monitoring tool. It's designed to gather performance data (CPU, disks, network, etc.) from the host running the Java VM. This data is gathered, packaged, and published via Java Management Extensions (JMX) for access using the JMX APIs and standard tools (such as jconsole or jmxtrans).
Goodbye MongoDB – Over the last two or three years we have been using MongoDB in some mid-size projects. Now it is time to say goodbye to MongoDB for a variety of technical reasons:
VMware’s Vision For Next-Generation Applications – The moves are aimed at Java developers, particularly those who already use VMware's Spring Framework for lightweight Java development. Enterprise Java applications frequently end up in the virtualized part of the data center. By making it easier to produce them, VMware is also making it more likely they'll be deployed on its virtual machines
The Big Three – Scala, Clojure and Groovy | The Code General – The most encouraging outcome of the last few years has been the flourishing ecosystem around new JVM languages. A decade ago the CLR was being proclaimed as *the* runtime to support multiples languages. Thanks to the community the JVM is looking more and more like the preferred target for new languages, innovation and research.
MongoDB Overview | Channel 9 – Jared Rosoff covers the basics of Mongo and then explains the purpose and architecture of MongoDB replica sets (for scalable read operations) as well as MongoDB's approach to sharding (for scalable write operations).
This Is What Developing For Android Looks Like | TechCrunch – Animoca, a Hong Kong mobile app developer that has seen more than 70 million downloads, says it does quality assurance testing with about 400 Android devices. Again, that’s testing with four hundred different phones and tablets for every app they ship!
F5 Announces SPDY Support for BigIP – Blogging Techstacks – Today, F5 announced that support for SPDY was going to be available in version 11.2 of the BigIP OS, when it ships later this year although I don't know if this will be built into the base system or if it will ship as an add-on module.
Evernote acquires iPad app Penultimate @tonywkim – Evernote has acquired Penultimate, and I’ll be joining Evernote to help bring their significant resources to bear on making Penultimate better, faster. You’ll also start seeing Penultimate (finally!) on other devices, and we’ll be bringing great handwriting into other parts of Evernote.
Sencha GXT 2.x to 3.0 Migration Guide – Sencha GXT 3.0 is the next generation of the components and tools that, in conjunction with the GWT compiler and runtime, make it possible to build large scale maintainable browser-based web applications. As part of this new release, we've made a number of changes from GXT 2.x, with several main goals in mind:
REST API Tutorial and Best Practices – Presently, there aren't a lot of REST API guides to help the lonely developer. RestApiTutorial.com is dedicated to tracking REST API best practices and making resources available to enable quick reference and self education for the development crafts-person. We'll discuss both the art and science of creating REST Web services.
Magic Quadrant for Mobile Application Development Platforms – Mobile application development is a very important and strategic IT topic. In 2012, Gartner is making major updates to this research to reflect market convergence. We analyze platforms that allow enterprises to build, support and manage mobile applications for both customers and employees.
Full Samsung Galaxy S III launch event now online | The Verge – If you weren't around for our live coverage of yesterday's Galaxy S III event, it's fair to say that you missed quite a lot. Luckily, Samsung has uploaded the entire event, along with some close-ups, additional hands-on videos, and interviews that you wouldn't have seen yesterday
RubyMotion – Ruby for iOS – RubyMotion is a revolutionary toolchain for iOS that lets you quickly develop and test native iOS applications for iPhone or iPad, all using the awesome Ruby language you know and love.
InfoQ: Architecting in the Gaps – Eoin Woods suggests creating the architecture of a system by discovering the interactions between the components and focusing on the boundaries, helping with defining the interfaces and interactions.
Real world feedback from a Java dev using Scala | Cape Coder – Since I fall squarely within the target audience for Scala I’ve decided to share my experiences and impressions using Scala from a Java programmer’s perspective. Overall I’m very impressed by Scala and plan to use it more, but do have plenty of constructive criticism which I provide at the end of this blog pos
GitHub Enterprise 11.10.260 Release · GitHub – We're excited to announce the latest release of GitHub Enterprise. The response to the product since its launch last November has blown us away and we'd like to tell you about a few of the great things we've been working on to make it even better.
The Vision for "QlikView.next" – Donald Farmer presented the themes for “QlikView.next,” the code name for the next generation of the QlikView Business Discovery platform.
Why Postgres – Very often recently I find myself explaining why Postgres is so great. In an effort to save myself a bit of time in repeating this, I though it best to consolidate why Postgres is so great and dispel some of the historical arguments against it.