Here is a simple script I’m using to convert wma music files to mp3:
current_directory=$( pwd )
for i in *.wma; do mv "$i" `echo $i | tr ' ' '_'`; done
for i in *.[Ww][Mm][Aa]; do mv "$i" `echo $i | tr '[A-Z]' '[a-z]'`; done
#Rip with Mplayer / encode with LAME
for i in *.wma ; do mplayer -vo null -vc dummy -af resample=44100 -ao pcm:waveheader $i && lame -m s audiodump.wav -o $i; done
#convert file names
for i in *.wma; do mv "$i" "`basename "$i" .wma`.mp3"; done
Very interesting paper by James Hamilton. The paper gives a set of best practices for designing and developing operations-friendly services.
The system-to-administrator ratio is commonly used as a rough metric to understand adminis-
trative costs in high-scale services. With smaller, less automated services this ratio can be as low as
2:1, whereas on industry leading, highly automated services, we’ve seen ratios as high as 2,500:1.
Within Microsoft services, Autopilot  is often cited as the magic behind the success of the Win-
dows Live Search team in achieving high system-to-administrator ratios. While auto-administration
is important, the most important factor is actually the service itself. Is the service efficient to auto-
mate? Is it what we refer to more generally as operations-friendly? Services that are operations-
friendly require little human intervention, and both detect and recover from all but the most obscure
failures without administrative intervention. This paper summarizes the best practices accumulated
over many years in scaling some of the largest services at MSN and Windows Live.
Very interesting article.
Scalability best practices are described here and here.
Interesting numbers about read/write disk access, cache, …
In this post, several java serialization techniques are compared:
- Protocol Buffer
An interesting post regarding the 10 most important topics an architect should know about. Quickly, here is the top ten:
- Cloud Computing
- Non-relational databases
- Next-generation distributed computing
- Web-Oriented Architecture (WOA)
- Open Supply Chains via APIs
- Dynamic Languages
- Social computing
- Crowdsourcing and peer production architectures
- New Application Models