For better or for worse, Oracle is now Java's champion and protector. The legal landscape is too dangerous out there for a major platform to be without one.
Asgeir S. Nilsen tenker litt
Ymse tanker om dette og hint. Mye om Open Source, noe politikk og annet jeg er opptatt av.
2010-08-27
Why Java needs Oracle
| Reaksjoner: |
2010-08-20
Bugs in Apple’s App Release Process
As an active iPhone apps user, I’ve quite often experienced an app having two, or even three, releases in rapid succession. More often than not to fix quite simple bugs or usability issues.
I’ve recently come to think that this is because of the App Store’s lack of beta releases – a feature-complete version released to a limited number of people, often an opt-in choice by users more eager to test new features.
These early releases have been paramount to web 2.0 services and Open Source software. Quoting Linus Torvalds, “given enough eyeballs, all bugs are shallow.”
The rigorous release process of Apple’s App Store prohibits this due to the all-in characteristic of a software release: When a new version is released it’s immediately available to everybody, and all previous versions disappear.
The consequence of this is that app vendors have two options:
- Extensive testing of new releases, inhibiting a quick release cycle and being quite expensive, or
- Releasing untested software to the general public and using your entire customer base as testers, regardless of their willingness to use incomplete software.
People opting in to beta releases have a higher threshold for bugs or usability issues, and provide competent feedback on shortcomings.
This is a quality benefit for everybody, including Apple’s app reviewers. The software they assess would in general have higher quality, and the assessment could be tiered based on whether it’s a general release or beta release.
What is your experience? How does the applications you develop or use deal with pre-release testing?
2010-08-01
Digitalradio i Norge: DAB må feile
Som du kanskje har fått med deg, pågår det en liten radiorevolusjon i Norge for tiden. På samme måte som TV-distribusjon ønskes det å digitalisere radiodistribusjon. Dette må få lov til å feile, av flere grunner:
For mange radiomottakere det er umulig å oppgradere
FM-mottakere er bygget inn i alt mulig: biler, telefoner, dusjkabinetter (??), hørselvern, lommeradioer, hjemmestereo, ghettoblastere og annet. For mange av disse er oppgradering umulig, og å erstatte produktet med et som er DAB-kapabelt meningsløst.
Det er totalt mellom 12 og 15 millioner FM-mottakere i Norge, kun 1,7% av disse kan motta DAB-signaler. Det selges fortsatt 700.000 FM-radioer hvert år.
Teknologisk sett er DAB feil svar
DAB bruker en digitaliseringsteknikk som er utdatert, og krever stor plass i eteren. Mottakere er også strømhungrige og lite utbredt på verdensbasis.
DAB påstås også å fjerne støy, men for mange oppleves det ikke sånn. Jeg har en DAB-mottaker hjemme som er langt mer følsom for antenneproblemer enn noen FM-radio jeg kjenner til.
Vi har allerede digitalradio
Sammen med det digitale bakkenettet har vi allerede fått digital distribusjon av radiokanaler. Er det virkelig verdifullt å sette opp parallell distribusjon?
Internett er et fullgodt alternativ
For samme pris som en DAB-radio kan man kjøpe en internett-radio. De fleste har internett hjemme allerede. Denne radioen gir tilgang til langt flere kanaler, og drar nytte av et distribusjonsnett som allerede eksisterer.
For mobil bruk er mobilt bredbånd løsningen. Flere og flere har mobilabonnementer med inkludert datatrafikk, og et stort antall radiokanaler er eksempelvis tilgjengelig som applikasjoner på iPhone, Android og Nokia.
Med MP3 eller MPEG-4 har vi fått svært effektive kodingssystemer for lyd som gjør at man får fullgod radiolyd over en relativt sett lav båndbredde – mye lavere enn DAB ville ha brukt.
Behold FM-nettet, la DAB dø
Skal du kjøpe deg radio? Stem med lommeboken, kjøp Internettradio eller FM!
Dersom regjeringen mot formidning skulle tillate slukking av FM-nettet kobler du bare en FM-sender til iPod-spilleren din.
| Reaksjoner: |
2010-07-29
Can’t Get Things Done
Getting Things Done (GTD) has become quite a popular organizational method recently, and has triggered my curiosity. I decided to read the book.
However, as an impatient soul I didn’t want to wait for a stack of flat dead trees to be sent to me, and wanted an ebook. Kindle version would be nice.
Sorry, no can do. It took a while before I understood why I couldn’t find it at Amazon. The title was there, but not there still. Reason was that the Kindle edition is only available in the US.
Googling for the ebook yielded the following results – two torrent sites, one link farm, one irrelevant link and two legitimate ebook sources, neither of which were available outside the US.
Clearly, in the author’s (or publisher’s) opinion, Europeans are either:
- A bunch of pirates, or
- Unable to get things done anyway
2010-04-13
Reality: Man-in-the-Middle Attacks Against SSL
If you read my post TLS: A Broken Trust Model, you really should read Bruce Schneier’s post Man-in-the-Middle Attacks Against SSL.
Certificates issued to the wrong party is not only a possibility, but a reality and even a commercial service. The target is government organizations, but is probably easily accessible to others as well.
Matt Blaze’s final comment in his blog post sums it up quite nicely:
Whether this kind of surveillance is currently widespread or not, Soghoian and Stamm's paper underscores the deeply flawed mess that the web certificate model has become. It's time to design something better.
2010-03-19
A Lock Free Concurrent Circular Buffer
The high level classes in java.util.concurrent.atomic makes it quite easy to create data structures that are thread safe and low on contention. This is a lock free concurrent circular buffer that I once found the need for:
import java.util.List;
import java.util.Vector;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReferenceArray;
/**
* A lock-free thread safe circular fixed length buffer.
*
* Uses an AtomicInteger as index counter and an AtomicReferenceArray
* to hold the references to the values.
*
* When the buffer is full, the oldest item is overwritten.
*
*/
public class CircularBuffer<T> {
private final AtomicInteger index = new AtomicInteger(-1);
private final AtomicReferenceArray<T> buffer;
private final int size;
public CircularBuffer(int size) {
this.size = size;
buffer = new AtomicReferenceArray<T>(this.size);
}
public void add(T item) {
if (index.compareAndSet(size-1, 0)) {
buffer.set(0, item);
} else {
buffer.set(index.incrementAndGet(), item);
}
}
/**
* Get contents of buffer, as a list.
*
* Note that the list always has the size of the buffer,
* no matter how many elements there actually are.
*
* The ordering is also unpredictable.
*
* @return contents
*/
public List<T> getAll() {
List<T> list = new Vector<T>(size);
for (int i = 0; i < size; i++)
list.add(buffer.get(i));
return list;
}
public T get(int i) {
return buffer.get(i);
}
}| Reaksjoner: |
2010-03-15
Eleven Reasons Your Home Server Should Be a Netbook
1. It's Cheap
It doesn't have to cost more than $250.
2. It Has a Solid-State Disk Drive
Hard Drives are mechanical devices that come in two forms: the ones that have failed, and those that haven't failed yet. Many netbooks come with solid state drives that potentially last as long as the rest of the computer electronics. If it doesn't come with an SSD originally one can be added later on, often in the form of a Compact Flash adapter.
The newly released Intel X25-V is an SSD especially targeted for netbooks, and sells for around $120.
3. It Has Built In UPS and Power Management
Since it's a netbook, it obviously has a battery. This saves you the need for a UPS system to keep the system running in case of power failure.
4. It Has a Built In Console
Servers are typically "headless", i.e. used without a monitor and keyboard. These can however come in handy for installation or troubleshooting. Having a server with a built-in console can be very useful and saves the cost of expensive remote Keyboard, Video, Mouse (KVM) solutions.
5. It Has Built In Thermal Management
Because of their small and compact form factor, portable computers come with built in thermal management features that often are more elaborate than a typical server. They are also built to be used in a "normal" living room environment, and not a server room with ample cooling.
6. It Has Backup Connectivity
Many netbooks come with a bundled mobile internet device in addition to wireless and wired ethernet. This provides a useful backup connectivity solution in case the primary connection fails or is congested. Combined with the built in battery this will keep the server running and accessible even if the building has lost all electricity, a feature that would be very costly for a full fledged server.
7. It's Small And Quiet
Servers are not build to be quiet. A 1U rack-mounted server typically has around ten 1-inch fans, and boy are they noisy! They typically will be kept running at full speed or a minimum speed that is still very noisy. Noise level ratings around 50-60 dB are common, or as noisy as a TV set or an air conditioning unit. Laptops are much quieter.
8. You Don't Need More Performance (At Home)
A home server is typically either a simple web server or a server to make files available. It thus does not need to be very powerful. The $250 price point above gives you a 1 GHz Atom processor.
9. You Don't Need More Space
It's for sharing documents or services that depend on being at your home. With a 16 GB or 32 GB SSD you easily outperform all but the most expensive hosting or sharing sites. Add in an SD card reader and you can easily expand this storage space at almost no cost.
10. Spare Parts Are Cheap(er) And Easier To Obtain
Server-grade replacement parts are typically pricey and not on stock in your everyday computer store. Laptop spares on the other hand are stocked everywhere. For most popular models replacement batteries are manufactured by other vendors long after the original battery has gone out of distribution. I just bought one for my nine-year-old model.
11. It Doesn't Have to Be New
You can get good deals for used laptops on eBay. My home server was actually purchased there for $120 in 2006, then five years old. It's still running fine.