jonm.dev

The Art of Writing Software



RSA public key cryptography in Java

Tags [ Java, JCE, OpenSSL, public key cryptography, RSA ]

Public key cryptography is a well-known concept, but for some reason the JCE (Java Cryptography Extensions documentation doesn’t at all make it clear how to interoperate with common public key formats such as those produced by openssl. If you try to do a search on the web for RSA public key cryptography work in Java, you quickly find a lot of people asking questions and not a lot of people answering them.

Downloading your Blogger archives

Tags [ archives, Atom, backup, Blogger, CSV, download, Python ]

A friend was looking for a way to grab an archive of his Blogger posts into a CSV file he could do text mining on (and presumably, for a low-fi backup mechanism). I wrote this Python script for him, enjoy. #!/usr/bin/env python # # Copyright (C) 2009 by Jon Moore # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version.

Operational Cost Transparency

Categories [ Cloud Computing Economics ] Tags [ Amazon Web Services, cost, Google App Engine, pricing, ROI ]

Cloud computing providers have gained a lot of attention based on their ability to provide massive economies of scale in server deployment; however, their pay-as-you-go billing methods (e.g. Amazon EC2 and S3, Google App Engine) actually provide something of far more strategic value to a business: operational cost transparency. This actually works best for web sites and web services built according to RESTful design principles: namely, "everything is a resource"

Cloud Computing Appliances

Categories [ Cloud Computing Economics ] Tags [ 3tera, Amazon Web Services, AppLogic, Cisco, commodity software, EC2, virtualization, VMWare, Xen ]

A couple of weeks ago, the New York Times reported on a Cisco announcement that it would start manufacturing what could best be described as "cloud computing appliances": commodity servers with virtualization software pre-installed. I believe the notion here is that you just rack up enough identical boxes to meet your total computational needs, then virtualize all your applications onto that substrate. This is entirely achievable, too, by the way, as this (mind-blowing, at least for me) demo of 3Tera's AppLogic virtual data center product shows--literal drag and drop, plug and play, connect-the-dots configuration magic.

Cloud Computing Cost Profiler

Categories [ Cloud Computing Economics ] Tags [ Agile software development, Amazon Web Services, cost, Google App Engine, incremental funding method, profiling, ROI ]

On Tuesday, William Louth posted an article describing what he calls Activity-Based Costing (ABC)--essentially a profiler for testing a cloud computing implementation. He describes hooks that can be applied around API calls to services like a Google App Engine platform or an Amazon Web Services S3-style service. In turn, when you run a test implementation, you can gather a recording of the API calls you make and get an understanding of how much your implementation will cost in terms of cloud computing charges.

Zimory Public Cloud

Categories [ Cloud Computing Economics ] Tags [ Amazon Web Services, EC2, high availability, virtualization, VMWare, Xen, Zimory ]

On Monday, Deutsche Telekom announced a spinoff startup company called Zimory which aims to create an online marketplace--the Zimory Public Cloud--for elastic cloud computing resources. Companies with spare computing resources can install an agent, offer a certain level of SLA, and then begin selling their excess capacity. Buyers of resources can follow an online provisioning process similar to that found on Amazon Web Services EC2: select a virtual machine image, select a level of service, provide your credit card, and off you go.

Experience Curves for Data Center Hosting

Categories [ Cloud Computing Economics ] Tags [ Amazon Web Services, cloud computing, data centers, EC2, economics, experience curve, learning curve ]

Are you familiar with the economic theory of "experience curves" (also known as "learning curves")? In the case of cloud computing, it explains why it makes sense not only to outsource new data center costs to cloud providers like Amazon Web Services (AWS), but in fact why it may make sense for you to stop operating a data center at all. Experience curves were formalized by the Boston Consulting Group (BCG) and describe how production costs tended to fall in a predictable fashion as the number of units produced increased.

Welcome to Cloud Computing Economics

Categories [ Cloud Computing Economics ] Tags [ Amazon Web Services, cloud computing, economics, Google App Engine ]

New "cloud computing" vendors like Amazon Web Services, Google App Engine, and others are changing the game for businesses needing to host Internet applications and services. This site will keep readers up-to-date on new developments in the field, while providing the economic and technical background and analysis needed to make critical business decisions. Welcome, and enjoy.

Business Cases and Cloud Computing

Tags [ app engine, AWS, business case, cloud computing, PaaS, TCO ]

I just read a very interesting article by Gregory Ness on seekingalpha.com that talks about some of the technology trends behind cloud computing. One key quote: Automation and control has been both a key driver and a barrier for the adoption of new technology as well as an enterprise’s ability to monetize past investments. Increasingly complex networks are requiring escalating rates of manual intervention. This dynamic will have more impact on IT spending over the next five years than the global recession, because automation is often the best answer to the productivity and expense challenge.

Websites are also RESTful Web Services

Tags [ REST, REST API, RESTful web services, web applications ]

I have been reading the Richardson and Ruby book RESTful Web Services and recently had an epiphany: if you design a RESTful web site it is also a RESTful web API. In this post I’ll show exactly how that works and how you can use this to rapidly build a prototype of a modern web application. First of all, let’s start with a very simple application concept and build it from the ground up.