Efficiently parsing SQL query result sets into the hierarchical data structures with which applications normally operate has been a problem for quite a long time. Numerous attempts have been made over what feels like the ages to solve the problem, the essence of which is that the strictly two-dimensional grid nature of what’s returned by a SQL SELECT query – those rows and columns – map very poorly to the tree. More generally speaking, they don’t suit the graph-like data structures utilized by modern applications to model the world. Continue reading
Object Relational Mapping, or ORM, has enjoyed a long run of being accepted as a standard paradigm for middle-tier, server-side software work with a back-end database. It’s wide spread and “no-brainer” status originated, probably, with the popularity of a single, exceptionally successful Java framework called Hibernate. The idea behind ORM is blending the line that separates the middle-tier and the persistence layer and making them practically one piece. So-called persistent objects become something that simultaneously belongs to the persistence layer and the rest of the application that works with them – often even in the presentation layer.
Serving a website from Amazon S3 is great: it’s fast, it’s inexpensive, and it doesn’t require maintaining a web server. But this simplicity can be limiting, coming at a price: you can only serve absolutely static files; there is no server-side logic whatsoever.
On the other hand, we are now seeing the rise of so called “API-first content management systems.” These systems, in true cloud spirit, are usually provided as a hosted service, give you a standardized user interface for structuring and managing your content, but do not deal with any aspects of your content presentation. They don’t deal with themes, templates, pages, etc. Instead, you have a fast and simple RESTful API that gives you access to your content and you are free to render it with whatever presentation you want outside of the CMS.
Here is a typical situation encountered when developing server-side applications that expose a RESTful API: We have a resource that represents a collection of records of the same type and the API allows querying this resource. The result of this query is a list of matching records, normally represented as an array of JSON objects.
Normally, an AngularJS application uses the
$http service to make calls to back-end services. Sometimes, however, we would like to have access to the underlying
XMLHttpRequest object. I can come up with a few use-cases, but the most prominent one is probably being able to track progress of a long request, such as a file upload. To do that, we need to register an event listener on the
XMLHttpRequest object for the event that is “in progress.” Surprisingly enough, Angular’s
$http service does not in any way expose the underlying
XMLHttpRequest object. So, we have to get creative. Here is one way to do it…
The European Commission – the executive body of the European Union – does not seem to have any intention to let Google go. After several years of antitrust investigations, charges and settlements it recently formally charged Google again (http://europa.eu/rapid/press-release_IP-15-4780_en.htm). The part that made me remember Google’s motto in the title of this post is the accusation that Google “systematically favors its own comparison shopping product (so called Google Shopping, L.G.) in its general search results pages”. The EC considers it an abuse of Google’s dominant position (in Europe Google serves 90% of search traffic, which is significantly higher than in the US), which stifles the competition and harms the consumer.
There are two developing stories that attracted my attention recently, specifically in connection with one another. These stories present a certain puzzle with several fitting explanations. It is probably impossible at the moment to tell which explanation is true, so it remains to be just an interesting topic to think about…
Story number one is the discovery of very advanced spyware, the development and use of which can be quite reliably linked to our government, most likely the NSA. (There is no need to get into details in this post — a good summary by Joseph Menn was published recently on Reuters and an excellent in-detail analysis is available at Ars Technica.) The second story is the recent presidential executive order on promoting cybersecurity information sharing between the private sector and the government.
Boyle Software was honored to work with budding architect Carol Gretter, helping her launch a clean, stylized, professional website honestly representing her architecture, interior design, planning and environmental design services.
“This was a win-win project for both Carol and Boyle Software”, says Dan Boyle, President of Boyle Software. “Carol has a sophisticated, high-end, tasteful sense of design. Our VP of Front-end Development and Design, Mr. Uwe Kristen, really hit it off with Carol. Watching them work together was like watching Rodgers and Hammerstein.”