Please subscribe to RSS Feed! :)

I’ve written about the Microsoft Tax many times before and have even had a minor success with regards to getting it refunded.
Now a fellow Open Source blogger and businessman, Dr Adrian Steel of Mercian Labels, is trying, so far without luck, to get the cost of an unwanted Windows License refunded from a company called Fonestop Ltd. He’s kindly providing an ongoing record of the correspondence between himself and the supplier whilst he seeks a fair refund for the software that he does not want nor require.
This example goes a long way to indicate why the bundling of software and hardware in the way is so wrong. It is incredibly hard to buy a computer in the UK that is not already infected with an inefficient, outdated, expensive, bloated and, still alarmingly, insecure operating system called Microsoft® Windows™. It is also becoming increasingly difficult to get even a partial refund due to the updated terms in the EULA that comes with version 7 of the OS (you can read most of the license agreements here):
By using the software, you accept these terms. If you do not accept them, do not use the software. Instead, contact the manufacturer or installer to determine its return policy. You must comply with that policy, which might limit your rights or require you to return the entire system on which the software is installed.
In earlier versions the statement about returning the entire system was not there. Here’s what the Vista EULA said:
By using the software, you accept these terms. If you do not accept them, do not use the software. Instead, contact the manufacturer or installer to determine their return policy for a refund or credit.
Reading Adrian’s struggle to get back the money that is rightfully his makes me quite angry. There are plenty of computer users that do not want or need Windows software when they buy a new computer. Even if they are not aware of the great Free Software operating systems such as Ubuntu or Fedora or many others, they probably already have a perfectly legal and valid CD of Windows in a drawer or cupboard anyway. Even I have a legal and valid Windows XP CD in my office; not that it ever gets used nowadays…
So what’s to be done? I really feel like starting some kind of campaign to get the lawmakers here and across the EU to make this kind of practice illegal. I as a consumer should be able to select and buy any computer I like and decide for myself if I wish to pay for a pre-installed operating system or not. That should be a choice I am free to make. Currently, apart from a few very brave and admirable vendors, I do not have this choice. And now it’s even harder to obtain a refund due to the change in the wording of Microsoft’s EULA.
These Brave and Admirable vendors deserve a mention:
As many of you know we started a website some time ago called Naked Computers to track these Brave and Admirable suppliers around the world. It’s been useful to many but it has been quite quiet recently and it could definitely do with a revamp to make it look more appealing (any WordPress Theme designers fancy knocking up a new look and feel for the site?).
In the UK there is one computer supplier that, in my humble opinion, should be applauded for their attitude: Novatech. I think that every machine they sell from their website or retail outlets are offered with or without an Operating System; it’s your choice. It’s quite interesting to look on their site and see just how expensive Windows really is: ~£70 to ~£800 or more!
Recently I noticed Novatech making a few noises on Twitter and I commented positively on their approach to selling naked computers. This was their reply to me:
@opensourcerer Thanks for recommending us, we sell all systems without operating systems as we like to give our customers a choice.
So come on you lot! Let’s try and come up with a plan, ideas and suggestions as to how to go about fixing this problem once and for all… Our company, The Open Learning Centre can host a wiki or something if needed but please use the comments here to start the ball rolling.
Are there any lawyers out there who fancy a challenge? Want to fight for Freedom and allow consumers to make their own choice rather than be forced to pay for something they frequently neither need nor want?
Finally, for those naive souls who believe that an EULA gives you some protection or guarantees, think again… http://www.linuxquestions.org/questions/blog/william-dthdealer-450341/in...
<!-- Social Bookmarking Reloaded BEGIN -->
<!-- Social Bookmarking Reloaded END -->


Hello, just want you to know that I'm still alive. I just want to talk about random stuff that popped over this week. Enjoy!
Anyway, interestingly, this week there is a lawsuit encounter between Oracle and Google. The holy father of Java, James Gosling, whom leaved Sun after the acquisition, already predicted that Oracle will sue Google. SUN, whom play fair and square, never used their patent offensively. Even when Google makes Darvik, the Java JIT JVM for Android, SUN just let it slipped away. SUN had to put their relationship with developers in good terms. Well, Oracle surely not need to. They sue Google for Darvik.
This, according to Google spokesmen, is an attack not just to Google, but also to all of open source Java implementor. That's may be true, we can imagine all the enterprise Java goodies from IBM and other implementor becomes a good attacking target. Well, so far I only reading on one side of the story. So, Oracle, what's your reason for that?
Another great story is KDE SC 4.5.0 finally launched. Sadly, I've read that it would not be in Gentoo before 4.5.1. Sad indeed, I'm using Gentoo. FYI, I'm interested in two DE right now: Enlightenment (E17) and KDE 4.5. Both have strong connection with embedded devices. Since its early days of development, E17 had been known compiled to Zaurus (Yes, THE archaic smart phone). Meanwhile, Trolltech, the company behind Qt, the base of KDE SC, had been bought by Nokia.
I wish I can buy Beagleboard. Can someone from Indonesia without credit card buy that stuff? Dear lazy webm help.
How about GNOME?
Well, we'll wait for 3.0. From my personal opinion, I have two things about GNOME that should be changed: 1) The dumbed down version; 2) trying to be conservative. I like being conservative, but, I don't think less feature is "less is more". The most reason I would stuck to GTK+ is because of existing application rocks. Applications like Pidgin can't be replaced with Kopete, yet. I wish KDE SC could make a better solution for proxy environment. Firefox still uses GTK+ and many sites are doing well on that. Webkit just a new player being adopted worldwide Firefox still de facto.
Btw, happy feasting for you that do that.

The "Roadshow" column
in yesterday's Merc had some pretty ... odd ...
statistics involving marijuana and driving.
It quotes "an NHTSA report" as saying:
contrary to popular belief, marijuana has been found to play a
significant role in car accidents across the United States, with as
much as 33 percent of drivers arrested at the scene of the accident
being positive for marijuana and another 12 percent testing positive
for marijuana and cocaine. Every year, 28 percent of drivers in the
U.S. will attempt to drive within two hours after ingesting alcohol or
illicit drugs. Marijuana is the drug used most often — 70 percent — by
drivers who drove after drug use and is a major factor why crashes are
the leading cause of death for American young people.
Whoa. Let's play that back again:
45 percent of all drivers arrested at accident scenes (33 plus
another 12) test positive for marijuana? Nearly half?
Mr. Roadshow, you don't really believe that number, do you?
I didn't. So I did some searching, looking for the NTHSA source.
When I searched for large portions of the quoted phrase, I didn't
find anything from the NHTSA. The Roadshow quote appears to come
from an article on friendsdrivesober.org (I'm sure that's an unbiased
source). Here's their
MS Word file
or Google's
cached HTML version).
The same article is also available as a PDF at
prevnet.org
and there are lots of other pages making reference to it.
The friendsdrivesober.org article cites
"Brookoff, Cook & Mann, 1994; Sonderstrom, Dischinger, Kerns & Trillis, 1995."
for the 33% number.
There's no citation offered for the "28% will attempt to drive...".
They credit "NHTSA, 2000" for "Marijuana is the drug used most often
... by drivers who drove after drug use", but that one's not important
because it says nothing about prevalence in accidents, merely that
it's used more often than other drugs (no surprise there).
Googling on a more general set of terms,
I found my way to a October 2000 NHTSA report,
Field Test of On-Site
Drug Detection Devices.
It's a roundup of many different studies, with drug use numbers all
over the map, though none larger than the 33% figure and certainly
nothing near 45%.
That 33% figure is near the bottom:
Brookoff et al. (1994) used on-site testing devices in a study that
found a 58% prevalence rate for drugs in subjects arrested for
reckless driving (who were not found to be impaired by alcohol). The
Brookoff team found that 33% of their sample tested positive for
marijuana, 13% for cocaine, or 12% for both. (Because of sampling
flaws in the study, these drug test rates should not be interpreted as
drug prevalence rates for reckless drivers.) Interestingly, the
on-site device (Microline) used by Brookoff and his colleagues
generated a significant false positive rate for marijuana when
compared to GC/MS results.
So what about the original study?
I wasn't able to find Dischinger, Kerns & Trillis, but
here's Brookoff et al. at the New England Journal of Medicine:
Testing
Reckless Drivers for Cocaine and Marijuana (cookies required).
A couple of important notes on the study: the figures represent
percentage of drivers arrested for "reckless driving that would
constitute probable cause to suspect intoxication by drugs", who
were not considered to be under the influence of alcohol, and
who were suspected of being under the influence of marijuana or
cocaine ("all patrol officers were told that they could summon [the
testing van] if they stopped a person suspected of driving recklessly
under the influence of cocaine or marijuana").
Morover, not all drivers consented to be tested, and the percentages
are only for those who were tested.
Seems like a perfectly valid study, as far as it goes (though there's been some
mild
criticism of the test they used).
It's mostly interesting as a study of how marijuana and cocaine use
correlate with visible intoxication and sobriety test results.
It's not a study of the prevalence of drugs on the road:
the NHTSA report is right about that. The numbers it reports are
useless in that context.
So the jump from that study to what friendsdrivesober.org
and Roadshow implied -- that 45% of people involved in car accidents
test positive for marijuana -- is quite a leap, and attributing
that leap to the NHTSA seems especially odd since they explicitly say
the study shouldn't be used for those purposes.
So what happened here? Brookoff, Cook, Williams and Mann publish a
study on behavior of reckless drivers under the influence of drugs.
NHTSA makes a brief and dismissive reference to it in a
long survey paper.
Then friendsdrivesober.org writes an article that references the study
but entirely misinterprets the numbers. This study gets picked up and
referenced by other sites, out of context.
Then somehow the paragraph from friendsdrivesober.org shows up in
Roadshow, attributed to the NHTSA. How did that happen?
If you look at the friendsdrivesober.org article, the paragraph
cites Brookoff in its first sentence, then goes on to other unrelated
claims, citing an NHTSA study at the end of the paragraph. I suppose
it's possible (though hard to understand) that one could miss the
first reference, and take the NHTSA reference at the end of the
paragraph as the reference for the whole paragraph.
That's the best guess I can come up with.
Just another example of
the
game of telephone.
Nobody with any sense thinks it's a good idea to drive under the
influence of marijuana or other intoxicants. But bogus statistics
don't help make your point. They just cast doubt on everything else
you say.

To provide a robust search facility for content you have stored on a MySQL database, you may be thinking of using MySQLs builting full text indexing facility. This comes with the MyISAM storage engine and can be slightly limiting especially if you would like to use foreign keys and such. So queries such has the following:
"SELECT *, MATCH (page_content, page_title) AGAINST (:keywords IN BOOLEAN MODE) AS relevance FROM pages WHERE MATCH (page_content, page_title) AGAINST (:keywords2 IN BOOLEAN MODE) ORDER BY relevance DESC";
may not work for you although this may be how you want to go.
The best way I have found is to leave the indexing to another service in general. Enter Zend_Search_Lucene, i believe this is a PHP port of the Apache Lucene project written in Java….
So basically we start by creating our index and document, personally i like to remove my personal classes and all that from the Zend Application as often as I can that way it’s mostly untainted and I can then use the same Zend Application with multiple custom code bases, enough on that already. However you chose to go you need a version of the following:
class My_SearchService {
protected
$indexPath,
$pageService,
$pageIndexPath,
$newsIndexPath,
$document,
$pageIndex;
public function setIndexPath($indexPath) {
$this->indexPath = $indexPath;
}
public function __construct($indexPath = NULL) {
if (is_null($indexPath)) {
$indexPath = APPLICATION_PATH . '/indexes/';
}
$this->setIndexPath($indexPath);
$this->pageIndexPath = $this->indexPath . 'pageindex';
$this->newsindexPath = $this->indexPath . 'newsindex';
$this->pageService = new My_PageService();
}
public function createPageIndex() {
$this->pageIndex = Zend_Search_Lucene::create($this->pageIndexPath);
// this is a simple Zend_Db_Table object returning data from my database
$pages = $this->pageService->getAllPages()->toArray();
foreach ($pages as $page) {
$this->pageIndex
->addDocument(new My_Controller_Plugin_PageIndexer($page));
}
// commit index
$this->pageIndex->commit();
}
}This is assuming you have a folder structure that looks a bit like
/applications
–/everything else here
/library
–/My
–/PageService.php
—–/Controller
———-/Plugin
————–/PageIndexer.php
Our PageIndexer is just out extension of Zend_Search_Lucene_Document this is what we will be querying for all our page search needs.
/**
* Description of PageIndexer
*
* @author kaning
*/
class STEMNET_Controller_Plugin_PageIndexer extends Zend_Search_Lucene_Document {
/**
* Constructor. Creates our indexable document and adds all
* necessary fields to it using the passed in document
*/
public function __construct($document) {
$this->addField(Zend_Search_Lucene_Field::Keyword('page_id', $document['page_id']));
$this->addField(Zend_Search_Lucene_Field::UnIndexed('name', $document['page_name']));
$this->addField(Zend_Search_Lucene_Field::UnIndexed('created', $document['publishdate']));
$this->addField(Zend_Search_Lucene_Field::UnIndexed('caption', $document['page_caption']));
$this->addField(Zend_Search_Lucene_Field::Text('title', $document['page_title']));
$this->addField(Zend_Search_Lucene_Field::UnStored('content', $document['page_content']));
}
}Not much introduction here besides the fact that I am adding the fields I want in my index bear in mind that the field data I am adding simply corresponds to what the Zend_Db_table select query returned for me.
Bear in mind that you really need to create the index only once. You will be updating it in subsequent times.
I formed the basis of this post from this tutorial. Look it up for more information
protected
$indexPath,
$pageService,
$pageIndexPath,
$newsIndexPath,
$document,
$pageIndex;
public function setIndexPath($indexPath) {
$this->indexPath = $indexPath;
}
public function __construct($indexPath = NULL) {
if (is_null($indexPath)) {
$indexPath = APPLICATION_PATH . ‘/indexes/’;
}
$this->setIndexPath($indexPath);
$this->pageIndexPath = $this->indexPath . ‘pageindex’;
$this->newsindexPath = $this->indexPath . ‘newsindex’;
$this->pageService = new STEMNET_PageService();
}
public function createPageIndex() {
$this->pageIndex = Zend_Search_Lucene::create($this->pageIndexPath);
$pages = $this->pageService->getAllPages();
foreach ($pages as $page) {
$this->pageIndex->addDocument(new STEMNET_Controller_Plugin_PageIndexer($page));
}
// commit index
$this->pageIndex->commit();
}
}


Do you want to be part of the Ubuntu News Team? Do you want to be part of a long standing and growing part of the Ubuntu Community? Looking for a place to contribute. Then the Ubuntu News Team is for you!
The Ubuntu News Team via the Ubuntu Weekly Newsletter boasts of bringing more than 200 Issues full of what’s happening in and with Ubuntu and the community that surrounds it. This happens as we gather and summarize those happenings a week at a time to record as well as report how Ubuntu matures through all it’s growing pains and we want you to be part of the team!
First let me say we have some wonderful people who continue to donate many weekend hours to producing the Ubuntu Weekly Newsletter but we could always use more help.
In a perfect world we would have all the summaries written by Friday afternoon and all that would need to happen on Sunday would be adding the Stats, Updates and Security portions along with the editing. As it is right now myself and a few others spend upwards of 10-15 hours each Sunday to get UWN out the door. In the case of weekends when I’m traveling on Sundays then there are times when the newsletter often goes out a day or two later than our announced published dates. (Sorry about that by the way)
Take a look at Issue 200, 201, 202, and 203 to get an idea of what we are writing about and in the meantime let me tell you a little about each section and how you can help.
We often get asked about people writing original content for the newsletter. The newsletter right now reports and summarizes posts that have been added other places. However in the near future you will be able to submit original content to the Fridge. - More about the Fridge in another post though.
LoCo News – Do you like to find out what is happening with all the LoCo Teams. Would you like to report and summarize what the various teams are writing about? This section is just as it sounds – we report on what the LoCo Teams are doing.
Launchpad News – This comes from the Launchpad (LP) Team blog. Most of the time these posts are short enough to include in there entirety sometimes we have to summarize them, but Matthew Revell and the other LP team members usually write very clear and concise items to share with the world about what’s going on with LP. So if you want to check for Launchpad news and be responsible for adding it to the news letter lets talk.
The Planet - This section is a little tricky but we’re all smart so it’s easy to figure out. Depending on what people are writing about this could be added to The Planet, General Community News, Blogosphere, or even In Other News sections of the newsletter. However If you feel like you want to search Planet Ubuntu each week and add the summaries to the planet section we can work it all out.
In The Press – This section is where we post those articles that have been written about Ubuntu in the Press. This usually means those print publications that also have a web presence. However there are some exceptions and again - if it’s a good story then we can figure out where it needs to go
In the Blogosphere – these are blogs that are main stream but may not have a print publication, or commercial backing behind it. However, blogs from the planet often get included here as well.
In Other News – this is about those items that are related to Ubuntu - such as great Linux Stories, Canonical press releases, Canonical Partners who write about Ubuntu or other Corporations that discuss Ubuntu. However, those really quirky and fun stories that are related to Ubuntu in some for or fashion that doesn’t really fit in any other area can go here as well.
Featured Podcasts – this is summaries of podcasts/videocasts such as the Ubuntu UK Podcast, Full Circle Magazine Podcasts, Ubuntu Podcasts, At Home with Jono Bacon Community Q&A UStream TV casts. If there are other Ubuntu related casts that should be on the list we need to know that as well. So if you are interested making sure these casts get included in the newsletter that would be great!
Weekly Ubuntu Development Team Meetings – We try to offer the meeting minutes for the Development teams that are list on the Fridge Calendar. While some teams don’t really have formal meeting minutes some teams do. If you would like to verify the links each week and make sure we aren’t missing any teams then this the section for you!
Xubuntu, Kubuntu, Edubuntu - If you are on one of these teams we could always use your help to make sure we include the current news about these derivatives as well.
Currently we have people working on summarizing links or posting to some of the areas but it is the same people giving up part of their precious weekends and while all of us enjoy and like being part of bringing this to the community – the quote – “many hands make light work” really rings true here and if we could get a couple dedicated people per section then people could trade off what weeks they can cover and make the whole process an even more enjoyable one for everyone.
We are also looking at adding an HTML version of the newsletter to be sent to folks via a mail service like mail chimp. Right now we don’t have true matrix for what people are reading or clicking on 1st for the newsletter. It would be nice to have those figures. So if you are interested in being part of this test HTML newsletter please email me and let me know – akgraner * ubuntu * com. This will also allow us to include photo’s, videos and some formating that the current plain text version does not. The plain text, and the wiki versions will still be available. If you want to help with this process please let me know that as well.
I have to thank all those folks who currently give of their time to make the newsletter what it is – Lizar Siri, J. Scott Gwin, Penelope Stowe, Mike Holstein, Nigel Babu, Daniel Caleb, Jonathan Carter, Nathan Handler, and all the folks who continue to write about Ubuntu so we can bring you UWN each week!
Here are some links to help you learn even more about the Ubuntu Weekly Newsletter. Thanks in advance for your continued support and help in making this an even better source of information for the busy Ubuntu user/contributor/developer.
Ubuntu Weekly Newsletter Wiki – https://wiki.ubuntu.com/UbuntuWeeklyNewsletter/
Checklist and Editing Policy Wiki – https://wiki.ubuntu.com/UbuntuWeeklyNewsletter/EditingPolicies
HowTo Guide for the Newsletter – https://wiki.ubuntu.com/UbuntuWeeklyNewsletter/EditingPolicies/HowToEdit
Newsletter Publication Schedule – https://wiki.ubuntu.com/UbuntuWeeklyNewsletter/Schedule
Section Guidelines and Suggestions – https://wiki.ubuntu.com/UbuntuWeeklyNewsletter/SectionGuidelines
We also have a googledoc, wiki page and ietherpad areas for you to work on the newsletter at as I am aware that some people prefer to work on UWN in places other than the wiki. This also keeps editing conflicts down to a minimum on Sundays when everyone is working together on UWN.
So stop by #ubuntu-news on freenode or email me and lets get you started on your way to contributing to UWN. Looking forward to hearing from you! Many Thanks!

openSUSE 11.3 - the latest version of Linux distribution from Novell has been released. One of the highlights of openSUSE 11.3 is its enhanced support for netbooks.
openSUSE 11.3 provides improved hardware support for netbook users. It also bundles with it two netbook desktop environments namely - KDE's "Plasma netbook workspace", and MeeGO - A visually rich netbook user interface developed by Intel and Nokia.
MeeGo on openSUSE 11.3 is code named Smeegol, and it brings many additional features like support for popular social networking sites Facebook, Digg, MySpace, and Flickr.
Improved smartphone support is another unique feature of openSUSE 11.3 release. If you own a Blackberry, iPhone or any cell phone running Android or Symbian OS, then you are in good hands as openSUSE will let you interact with all these devices.
Under the hood, openSUSE 11.3 runs Linux 2.6.34 kernel. Upstart and Grub 2 are also included but are optional.
Support for the experimental btrfs file system is another feature of this release.
On the desktop front again, openSUSE doesn't disappoint its users. It bundles all the latest and greatest desktops namely - GNOME 2.30.1, KDE SRC 4.4.4, LXDE 0.5.5 (A light weight desktop environment ideal for old computers), and XFCE 4.6.1.
openSUSE team has opted for an 8 month release cycle instead of the more common 6 month release cycle. The belief is that the extra 2 months they save will help them to close many more bugs and fine tune the system prior to each release.
openSUSE 11.3 is available as an all inclusive 4.7GB DVD image which contains a large collection of software for use on desktops and servers. Apart from that, you can also download desktop centric LiveCD images of GNOME and KDE respectively. Visit the openSUSE 11.3 download page to choose your download.
Novell also provides a service called SUSE Studio which allows you to build and download a customized version of Linux. Here you can mix and match all the packages you require and then download an image suitable for a USB stick, Live CD/DVD, Hard disk, Vmware, VirtualBox, or Xen. In other words, a custom distribution, with your own software and branding.
openSUSE education team has put together what they call the openSUSE-Edu Li-f-e. It is a customized Linux distribution geared towards education. It contains carefully selected softwares for students, educators as well as parents. The software selection encompasses everything required to make computers productive for either home or educational use.
Such as -
In other words, openSUSE team has put together a bonanza for Linux users in releasing openSUSE 11.3.

Translation From Apple’s Unique Dialect of PR-Speak to English of the ‘Letter From Apple Regarding iPhone 4’
Friday, 2 July 2010
Source: “Letter From Apple Regarding iPhone 4”.
The iPhone 4 has been the most successful product launch in Apple’s history. It has been judged by reviewers around the world to be the best smartphone ever, and users have told us that they love it. So we were surprised when we read reports of reception problems, and we immediately began investigating them. Here is what we have learned.
We cannot believe we had to write this fucking letter.
To start with, gripping almost any mobile phone in certain ways will reduce its reception by 1 or more bars. This is true of iPhone 4, iPhone 3GS, as well as many Droid, Nokia and RIM phones.
We cannot believe we’re getting shit for this.
But some users have reported that iPhone 4 can drop 4 or 5 bars when tightly held in a way which covers the black strip in the lower left corner of the metal band. This is a far bigger drop than normal, and as a result some have accused the iPhone 4 of having a faulty antenna design.
(No translation necessary.)
At the same time, we continue to read articles and receive hundreds of emails from users saying that iPhone 4 reception is better than the iPhone 3GS. They are delighted. This matches our own experience and testing. What can explain all of this?
It really is a better antenna and gets better reception, overall, than any previous iPhone. That’s really the hell of this whole goddamn situation. It’s like a two steps forward, one step back design, except maybe more like three steps forward, because this thing is faster at downloading, 10 times faster at uploading, and most importantly is better at not dropping calls with a weak signal. But, yes, there’s that one step back, wherein it can suffer from unintended attenuation when you bridge the lower-left antenna gap with your skin, and frankly, we’re a little pissed that this one step back is getting all the attention.
We have discovered the cause of this dramatic drop in bars, and it is both simple and surprising.
We are going to blame AT&T.
Upon investigation, we were stunned to find that the formula we use to calculate how many bars of signal strength to display is totally wrong. Our formula, in many instances, mistakenly displays 2 more bars than it should for a given signal strength. For example, we sometimes display 4 bars when we should be displaying as few as 2 bars.
We decided from the outset to set the formula for our bars-of-signal strength indicator to make the iPhone look good — to make it look as if it “gets more bars”. That decision has now bitten us on our ass.
Users observing a drop of several bars when they grip their iPhone in a certain way are most likely in an area with very weak signal strength, but they don’t know it because we are erroneously displaying 4 or 5 bars. Their big drop in bars is because their high bars were never real in the first place.
Yes, with no case on the phone, your signal strength can drop by about 20 or even 30 percent depending how you hold the phone. We’re going to change the bar algorithm so that you’ll only lose one bar (maybe two, if you’re holding the phone obnoxiously tight or have gross sweaty palms) if you’re holding it that way.
To fix this, we are adopting AT&T’s recently recommended formula for calculating how many bars to display for a given signal strength. The real signal strength remains the same, but the iPhone’s bars will report it far more accurately, providing users a much better indication of the reception they will get in a given area. We are also making bars 1, 2 and 3 a bit taller so they will be easier to see.
We are braced for the backlash when, after installing this update, people who weren’t experiencing any problems at all with their iPhones start complaining, loudly, that their phones which used to get five bars now only get three or two or whatever from the same locations, and we all know — us and everyone reading this — that Gizmodo will immediately declare that the update has made iPhone 4 reception worse, even though we’ve just explained that we’re not changing anything related to actual reception, but rather only to how we indicate signal strength.
We will issue a free software update within a few weeks that incorporates the corrected formula. Since this mistake has been present since the original iPhone, this software update will also be available for the iPhone 3GS and iPhone 3G.
(No translation necessary.)
We have gone back to our labs and retested everything, and the results are the same — the iPhone 4’s wireless performance is the best we have ever shipped. For the vast majority of users who have not been troubled by this issue, this software update will only make your bars more accurate. For those who have had concerns, we apologize for any anxiety we may have caused.
Don’t fuck this thing up for us. We mean, have you seen the Retina Display?
As a reminder, if you are not fully satisfied, you can return your undamaged iPhone to any Apple Retail Store or the online Apple Store within 30 days of purchase for a full refund.
We dare you.
And take your class action suits filed four days after we released the goddamn thing and stick them up your fucking asses.
We hope you love the iPhone 4 as much as we do.
Seriously, have you seen it?
Thank you for your patience and support.
Don’t hold it that way, or buy a case.
Previous: iPhone 4 3G Data Performance
Brilliantly funny – nsfw language, but oh so cleverly used:)
The Daring Fireball site is ALWAYS clever, witty, and laugh out loud genius.
Scary insightful, too…
Posted via email from timelady’s posterous

Searching for information on setting up an L2TP VPN takes me here, where I get to choose between OpenSWAN, KAME and some OpenBSD port. Searching for information on setting up a PPTP VPN takes me here, where I'm told exactly what I need to do.
Given choices, I chose the one that reduced my choices. THERE IS A LESSON HERE.
(Sadly, I'm now going to have to deal with L2TP anyway because something in the intermediate network is dropping GRE)

Apache Solr is an excellent full text index search engine based on Lucene. Solr is increasingly being used in the Drupal community for search. I use it for search for a lot of my projects. Recently Steve Edwards at Drupal Connect blogged about setting up a mutli core Solr server on Ubuntu 9.10 (aka Karmic). Ubuntu 10.04LTS was released a couple of months ago and it makes the process a bit easier, as Apache Solr 1.4 has been packaged. An additional advantage of using 10.04LTS is that it is supported until April 2015, whereas suppport for 9.10 ends in 10 months - April 2011.
As an added bonus in this howto you will be able to auto provision solr cores just by calling the right URL.
In this tutorial I will be using Jetty rather than tomcat which some tutorials recommend, as Jetty performs well and generally uses less resources.
Installing jetty and Solr just requires a simple command
$ sudo apt-get install solr-jetty openjdk-6-jdk
This will pull down Solr and all of the dependencies, which can be alot if you have a very stripped down base server.
Configuring Jetty is very straight forward. First we backup the existing /etc/default/jetty file like so:
sudo mv /etc/default/jetty /etc/default/jetty.bak
Then simply change your /etc/default/jetty to be like this (the changes are highlighted):
# Defaults for jetty see /etc/init.d/jetty for more # change to 0 to allow Jetty to start NO_START=0 #NO_START=1 # change to 'no' or uncomment to use the default setting in /etc/default/rcS VERBOSE=yes # Run Jetty as this user ID (default: jetty) # Set this to an empty string to prevent Jetty from starting automatically #JETTY_USER=jetty # Listen to connections from this network host (leave empty to accept all connections) #Uncomment to restrict access to localhost #JETTY_HOST=$(uname -n) JETTY_HOST=solr.example.com # The network port used by Jetty #JETTY_PORT=8080 # Timeout in seconds for the shutdown of all webapps #JETTY_SHUTDOWN=30 # Additional arguments to pass to Jetty #JETTY_ARGS= # Extra options to pass to the JVM #JAVA_OPTIONS="-Xmx256m -Djava.awt.headless=true" # Home of Java installation. #JAVA_HOME= # The first existing directory is used for JAVA_HOME (if JAVA_HOME is not # defined in /etc/default/jetty). Should contain a list of space separated directories. #JDK_DIRS="/usr/lib/jvm/default-java /usr/lib/jvm/java-6-sun" # Java compiler to use for translating JavaServer Pages (JSPs). You can use all # compilers that are accepted by Ant's build.compiler property. #JSP_COMPILER=jikes # Jetty uses a directory to store temporary files like unpacked webapps #JETTY_TMP=/var/cache/jetty # Jetty uses a config file to setup its boot classpath #JETTY_START_CONFIG=/etc/jetty/start.config # Default for number of days to keep old log files in /var/log/jetty/ #LOGFILE_DAYS=14
If you don't include the JETTY_HOST entry Jetty will only bind to the local loopback interface, which is all you need if your drupal webserver is running on the same machine. If you set the JETTY_HOST make sure you configure your firewall to restrict access to the Solr server.
I am assuming you have already installed the Apache Solr module for Drupal somewhere. If you haven't, do that now, as you will need some config files which ship with it.
First we enable the multicore support in Solr by creating a file called /usr/share/solr/solr.xml with the following contents:
<solr persistent="true" sharedLib="lib"> <cores adminPath="/admin/cores" shareSchema="true" adminHandler="au.com.davehall.solr.plugins.DHCSolrCoreAdminHandler"> </cores> </solr>
You need to make sure the file is owned by the jetty user if you want it to be dymanically updated, otherwise change persistent="true" to persistent="false", don't include the adminHandler attribute and don't run the commands below. Also if you want to auto provision cores you will need to download the jar file attached to this post and drop it into /usr/share/solr/lib.
sudo chown jetty:jetty /usr/share/solr sudo chown jetty:jetty /usr/share/solr/solr.xml sudo chmod 640 /usr/share/solr/solr.xml sudo mkdir /usr/share/solr/cores sudo chown jetty:jetty /usr/share/solr/cores
To keep your configuration centralised, symlink the file from /usr/share/solr to /etc/solr. Don't do it the other way, Solr will ignore the symlink.
sudo ln -s /usr/share/solr/solr.xml /etc/solr/
Solr needs to be configured for Drupal. First we backup the existing config file, just in case, like so:
sudo mv /etc/solr/conf/schema.xml /etc/solr/conf/schema.orig.xml sudo mv /etc/solr/conf/solrconfig.xml /etc/solr/conf/solrconfig.orig.xml
Now we copy the Drupal Solr config files from where you installed the module
sudo cp /path/to/drupal-install/sites/all/modules/contrib/apachesolr/{schema,solrconfig}.xml /etc/solr/conf/
Solr needs the path to exist for each core's data files, so we create them with the following commands:
sudo mkdir -p /var/lib/solr/cores/{,subdomain_}example_com/{data,conf}
sudo chown -R jetty:jetty /var/lib/solr/cores/{,subdomain_}example_com
Each of the cores need their own configuration files. We could implement some hacks to use a common set of configuration files, but that will make life more difficult if we ever have to migrate some of cores. Just copy the common configuration for all the cores:
sudo bash -c 'for core in /var/lib/solr/cores/*; do cp -a /etc/solr/conf/ $core/; done'
If everything is configured correctly, we should just be able to start Jetty like so:
sudo /etc/init.d/jetty start
If you visit http://solr.example.com:8080/solr/admin/cores?action=STATUS you should get some xml that looks something like this:
<?xml version="1.0" encoding="UTF-8"?> <response> <lst name="responseHeader"> <int name="status">0</int> <int name="QTime">0</int> </lst> <lst name="status"/> </response>
If you get the above output everything is working properly
If you enabled auto provisioning of Solr cores, you should now be able to create your first core. Point your browser at http://solr.example.com:8080/solr/admin/cores?action=CREATE&name=test1&i... If it works you should get output similar to the following:
<?xml version="1.0" encoding="UTF-8"?> <response> <lst name="responseHeader"> <int name="status">0</int> <int name="QTime">1561</int> </lst> <str name="core">test1</str> <str name="saved">/usr/share/solr/solr.xml</str> </response>
I would recommend using identifiable names for your cores, so for davehall.com.au I would call the core, "davehall_com_au" so I can easily find it later on.
Security Note: As anyone who can access your server can now provision solr cores, make sure you restrict access to port 8080 to only allow access from trusted IP addresses.
For more information on the commands available, refer to the Solr Core Admin API documenation on the Solr wik.
Next in this series will be how to use this auto provisioning setup to allow aegir to provision solr cores as sites are created.
| Attachment | Size |
|---|---|
| dhc-solr-plugins.jar | 3.31 KB |
| dhc-solr-plugins-src.tar.gz | 2.41 KB |