Maryland Attorney General Upholds Right to Videotape Traffic Stops--rules that state police were wrong to charge motorist with felony for recording his traffic stop.
submitted by oldtymelemonade to politics[link] [16 comments]
| | submitted by electricnut to pics [link] [111 comments] |
Why?
Kind folks of reddit, My family and I appreciate the outpouring of love and generosity. There has been a large misunderstanding. The poster which I'm told was found at the Gardner Stop & Shop was more a local notice for people that know him. It was in no way to indicate that he is alone. He has 7 children, many grandchildren, and even great grandchildren. In his younger years he was a foster parent to dozens of foster children. He is well liked in the community, and will be fully supported on his 90th birthday. I ask that if you don't know him, to not attend the party, as it is for his friends and family. The venue for the party is a very small hall, and will be full to capacity with people he knows and loves.
By all means, send cards and well wishes, but please refrain from sending gifts/strippers/cakes/candies/etc. and instead please make a donation in his name to a local vetrans charity.
Thank you again for all the love and well wishes, we certainly never expected this. You are awesome reddit, now please help me spread the word to other outlets and make sure this is a smaller, enjoyable party for him.
We haven't been in contact for 5 years. I left town before he went to jail for shooting a police officer. I tried to visit him a few months ago, but the prison denied my request, saying that they had changed their policy. Only his immediate family is allowed to see him now.
This letter is the first contact I've had with him since we used to hang out downtown with our friends and drink coffee, smoke hand-rolled cigarettes, and talk about philosophy and politics.
He is asking for support at a protest against human rights violations this Saturday. If anyone else cares to join, it is outside the Sussex I State Prison in Waverly, VA.
Here is the letter (edited & pics removed, sorry folks).
Dear <me>,
As you probably already assumed, I'm not doing very well. In another letter I will tell you about the ridiculous circumstances that put me here. This letter is about a few things that makes this death camp one of the most vile places on Earth.
Where Death Row prisoners are being housed used to be the Hole. The prisoners who previously occupied these cells threw feces, urine and vomit into the air-vents. These airducts have yet to be cleaned.
To save money on heating and cooling, the air in this building is overly recirculated. This means, of course, more carbon dioxide and less oxygen.
Worst of all, they will turn the air flow down so much that we often cannot feel any air coming out of our vents for months at a time.
Because of all this, we are suffering Hypoxic Hypoxia. All of us prisoners are lethargic and couldn't exercise even if we had the space to do so. We all have short term memory loss and trouble concentrating. It is probable that we are all suffering at least mild brain damage.
Disease is running rampant here. It takes a lot of effort for prisoners to protect themselves even though it is one of the easiest things for the prison to control. Rather, it should be easily controlled but these places are ran but people devoid of empathy and compassion.
This place is never properly cleaned. There is thick black grime lining the bottom edge of every wall.
On several occasions, raw sewerage has overflowed from drainage pipes and flooded into our cells. Every time this happened, the guards took several hours to bring us only spray cleaner and paper towels to clean up the mess.
We have to share the same nail clipper. The same filthy nail clipper has to be passed from one person to the next, even to prisoners that have Hep-C and AIDS.
The toilets in our cells can only be flushed once every five minutes. If you even accidentally touch the flush button more than once in a five minute time period then the toilet will shut off for one hour.
Our drinking water is a fairly thick yellow-brown color. I have no fucking idea what's in it but I'm sure it cannot be good.
For breakfast today we were served grits, pancakes, potatoes and maple flavored corn syrup. We will go for days without getting a single piece of fruit. We never get enough protein.
Malnourishment and oxygen deprivation is causing our bodies to grow old very rapidly. Prisoners not even thirty years old are going gray and losing hair. We have bone joint and muscle problems. We have lines in our faces that young people should not have. My body is so broken down, especially my mind.
You would think that the medical treatment here was something out of a horror film.
The dentists here have performed oral surgeries without using anesthetics. A dentist accidentally stitched one prisoner's cheek to his gum and ripped out half of another prisoner's tooth.
The doctors here seem to have an adversity to treating people's illnesses but love dishing out painkillers and sleeping pills.
I don't think you know this about me, and I'm sorry that I have to explain it to you, but I have severe Irritable Bowel Syndrome. Without proper treatment I get lesions and regular diarrhea. The diarrhea removes my probiotic flora which leaves the lesions susceptible to infection. The doctor refuses to let me take over-the-counter Acidophilus supplements.
At the first jail, I beat up a man who tried to assault me. The police did not like that very much because the man I beat up was one of their snitches, so they chained me up and threw me face first into the cement floor. This dislocated my jaw and now I can only chew with one side of my mouth and my jaw now grinds against my skull which causes me to have a constant headache. The doctor here tried to put me on pain killers but I refused.
For recreation we get to go into separate cages for about an hour, five times a week. I have not been able to run for several years.
Everywhere else in the world allows prisoners to have conjugal visits except here. So it is alright for guards to sexually harass prisoners but not for prisoners to have sex with their wives.
Then they took away contact visits where we could sit with and hug our family and friends. Instead we were locked into booths with our visitors sitting on the other side of a Plexiglas window.
But that was clearly not enough dehumanization because now we can only see our visitors through a television screen.
For passover, the prison refused to serve me kosher food so far that whole week I ate nothing. I'm not exactly religious but my father was a Holocaust survivor so some Hebrew rituals are important for me.
The prison chaplain mocked passover and later told one of the guards that Jews are a bunch of Christ-killers. I should probably explain to the chaplain that I am only half Jewish so I'm really only half a Christ-killer. I really only threatened Jesus and smacked him around a little.
There are countless publications that we are not allowed to read. Many of these books and magazines are about political and social reform. Many religious books are banned. We can't have almost anything with erotic content.
We can't receive nude photos through the mail. I have not had sex for five fucking years (it's punny) and I can't see a photo of a girlfriend.
All jails and prisons in the U.S. conduct in activity that the world court condemns as torture.
Guards will shock people with electricity, strap naked prisoners to a chair and hose them down with ice cold water, spray C-S gas and pepper spray into the faces of chained prisoners, deprive people of sleep, and deny medicine that treats painful illnesses.
According to the U.S. Constitution we are slaves and have no civil rights. That's why our torture is legal.
Me and several prisoners are asking our friends and anyone who cares to rally outside this death camp on Sept. 4, at 3:00pm, to protest the human rights violations that are conducted here.
I know it is very short notice but I really need your help.
Your friend, <name removed to protect privacy>
| | submitted by newborn to pics [link] [456 comments] |
| | submitted by dittokiddo to pics [link] [295 comments] |
| | submitted by raldi to blog [link] [198 comments] |
| submitted by Crocain to gaming [link] [629 comments] |
By Anthony Watts
Up slightly from .489 last month to .511 a change of .022 degrees C August 2010 UAH Global Temperature Update: +0.51 deg. C By Dr. Roy Spencer While the global-average lower tropospheric temperature remained high, +0.51 deg. C in August, … Continue readingBy Anthony Watts
Excerpts: Meltdown of the climate ‘consensus’ By MATT PATTERSON If this keeps up, no one’s going to trust any scientists. The global-warming establishment took a body blow this week, as the UN Intergovernmental Panel on Climate Change received a stunning … Continue readingBy Anthony Watts
Guest Post by Thomas Fuller After the tragic events in Maryland on Wednesday of this week, where a man took three hostages and tried to make The Discovery Channel a vehicle for publishing his manifesto, there have been accusations and … Continue readingBy Anthony Watts
As a service to my readers, here is a collection of related satellite graphics, loops, and other info about Hurricane Earl now skirting the East Coast. Link to loop below: Loop the image above here You can animate the sat … Continue readingBy Anthony Watts
From the Ventura County Star: ROACH DRY LAKE, Nev. — Not a light bulb’s worth of solar electricity has been produced on the millions of acres of public desert set aside for it. Not one project to build glimmering solar … Continue readingBy Anthony Watts
The MWP has been vigorously argued to be a regional northern hemisphere phenomenon only, but this new study finds it in South America. In this new paper they write: “The most striking features in the reconstruction are the warm temperatures … Continue readingBy charles the moderator
With Sea Ice News # 20 closed here is a place for ongoing discussing the 2010 season. That’s it. I may add a picture later.By Anthony Watts
It’s always a bit of a worry when you have development times of years, and the lifetimes of operational satellites are just about as long as the development and launch time for new ones. This is good news for weather … Continue readingBy Steve McIntyre
Although the formatting of the SST datasets needs to be completely freshened up, once again, before commenting, I commend the SST collaters for honoring their data by ensuring the preservation of comprehensive metadata – as opposed to their cousins at CRU and GISS. Unfortunately, there don’t seem to be any statistical analyses of SST measurements [...]By Anthony Watts
Could be another pie in the sky idea, but one could always hope. – Anthony A new catalyst could help speed development of inexpensive home-brewed solar energy systems for powering homes and plug-in cars during the day (left) and for … Continue readingBy Anthony Watts
Note: There’s a response and analysis to this post here NOTE: Predictably, Joe Romm has turned this post into a personal bashing of me over at his Climate Progress blog. For some eye opening viewpoints from his side of the … Continue readingBy Steve McIntyre
For quite a while, I’ve urged people interested in gridded temperatures to really look at the SST data – realdata not adjusted data. SST makes up 2/3 of the record, but temperature critics spend 99.99% of their time on land data. In part, it’s because the data sets are much larger, but increased power of [...]By Steve McIntyre
Over the weekend (before I picked up my “regular” files), I started looking at Steve Mosher’s use of raster and zoo – both of which intrigue me a great deal, but got intrigued by something else and ended up finally figuring out how to extract .Z files within an R script without having to handle [...]By Steve McIntyre
Got back from the annual WFS conference at Erice, Sicily a couple of days ago. It is an interdisciplinary conference on world issues, in which climate is only a part, but an important part. As in previous visits, it was a very enjoyable visit – the conference attracts a lot of spouses, resulting in more [...]By Hu McCulloch
Geoff Sherrington and others on the First Difference Method post have requested a post for discussing Kriging. I am new to Kriging myself, so please correct me if I make any errors here. Steve McIntyre (who may be on the beach at the moment!) is far more knowledgeable, and has posted about the topic frequently [...]By Alex Papadimoulis
The Best (from Chris)
A while back, I helped interview for a programmer position on the web team. After talking to a number of candidates, we finally settled on an older gentlemen, probably in his late 50s. It wasn't an easy decision. Not only were his salary requirements above what we planned to pay, he had a few personality quirks. For example, a large part of his interview entailed him describing how he was a master composer of music, and had published songs in nearly every genre, including country, rap, pop, etc. But no matter, his experience and technical skills were top-notch.
After making an offer that met his salary requirements, the candidate made a counter offer: fifteen-thousand dollars more annually plus a signing bonus. Unfortunately, our budget couldn't accommodate that, and we declined. Negotiations after that failed, so we formally rescinded the offer for employment so we could talk to more candidates.
Later that day, the CEO of company received a rather childish email from the gentleman. He rambled on about age discrimination, made other accusations, and stated that he "knew" that we were hiring the "other" man that he had met when leaving his interview. His closing words were: "you could have had the best, now you'll just have the rest!"
The "other" man he referred to was in his early 30s, and was interviewing for an entirely different position (business analyst) in an entirely different department. Looking back, we were all pretty happy that he didn't accept the position.
The TDWTF Interview (from Christian Riesen)
Two years ago, I was on the job hunt, and one company that looked interesting was a university spinoff. At the interview, I learned that they dealt with some specialization software that had to talk to a few different systems. Most of the code was in PHP, but there also were some .NET and Java components that were used to interface with the hardware's proprietary drivers.
One thing they were particularly proud of was the fact that the system was recently rewritten from Perl into PHP. Their pride came from the fact that none of them had coded PHP before that, but they had a strong theoretical knowledge, being university guys and all.
Next, they told me about the environment that they work in. As it turned out, the five-man crew worked all in the same room we were interviewing in: a factory attic converted loft style, with one wall made of glass in it so the conference "room" we sat in wouldn't disturb the others. Each employee had their own desk that was about twenty feet from another, which meant there was a lot of yelling going on. In addition, everyone used whatever the hell they wanted to code on whatever operating system they wanted: Windows, Linux, Mac OSX and one even swore on FreeBSD.
Then came the general technical part of the interview: how I would setup a class, what I would do with a certain language construct, how I would solve a certain problem or assess a situation, all the fun things. Then they showed me two half pages of code in PHP. They told me to look at the code carefully and, if I wanted to change anything, write on the paper what I would change and why. As that would take some time, they left me to it for about twenty minutes. I was certain that they had set me up with a TDWTF-style interview, where they'd pick out a fun code WTF (actually, it looked like this one) and have me turn a convoluted two-page mess into a two lines of code.
When they came back, I complimented them on the clever examples of bad code and presented them with my rewrite. One of interviewers — the chattier of the two — didn't say another word; he was clearly upset, and I was half-concerned it might get physical. The other guy was a bit better, but he also wore a rather large frown on his face. "This is from our production code", was the reply.
I left the interview shortly after that, with a short bye from the one guy, and just a short nod with some nasty stares from the once-chatty guy.
The Storm-out (from Joshua Armstrong)
I've always dreamed of storming out of an interview, but I've never actually realized that goal. That is, until my interview with a certain "tech recruiting" firm.
First things first, I was lured in under the guise that I'd be actually interviewing for a job, not being primped for another interview. The firm's client was, as the technical recruiter put it, "an ISP like Yahoo! or Google." I thought to myself, neither of those companies are ISPs, but I didn't say anything.
When we moved on to the technical portion of the interview, his first question was "do you had any experience working at a server." And just to be extra clear, those were his actual words: "working at a server."
"Well, yeah of course," I diplomatically responded, "I am a network admin, after all... and I'm physically at servers all the time. That's what you meant, right?"
"No no," he clarified, "were any of the businesses you've worked at servers? That is, would you consider them to be a server?"
I said, "Err, uhh.... I don't know," and things went downhill from there.
"Have you ever connected to the database?" he asked next.
"Huh? Do you mean in code? Admin tools? Which database platform do you mean?"
He paused for a moment and said, "sounds good to me. Do you have experience working at an ISP?"
"I think you're using a different definition of ISP than me," I responded, "what I mean is... I wouldn't have considered Google to be an ISP, but a search engine. Can you clarify?"
"No, no. They're actually both ISPs, as they allow people to access websites. Would you consider any of the companies you worked at to be an ISP?"
"Uhh... I guess not."
He scribbled something down on his paper mumbling something about how a bank is probably an ISP and added, "have you troubleshot IIS?"
"Not, but I have maintained several Apache servers."
"Oh good, then you have since Apache is IIS. Moving on, what's the diff—"
"Err," I cut him off, "they're both web servers, but Apache is not IIS."
"No, no. It is. Apache is actually a kind of IIS, so yes, you have troubleshot IIS. Anyway, what's the difference between layer 7 routing and layer 4 routing?"
Finally, an answer I was prepared for. "Layer 7 is the Application Layer, and routing focuses on requests to resources that will be fulfilled in the shortest time. Layer 4, the Transport Layer, routing focuses on ensuring that all paths to a host are utilized proportionally to their bandwidth and response"
"Actually," he gave a confused look, "I was looking for an answer involving, uh, DNS pools and host headers. Shall we just say that was your answer?"
I was pretty frustrated by that point, as I knew this interview was going nowhere, and the "technical recruiter" was grasping at straws and hoping to get me in front of thier "ISP" client. I said, "actually, I was just looking for the door," and got up and left.
Later that day, I just got an e-mail from him thanking me for his time, and asking me to forward two references from each job. He also said that he'd taken the liberty of rewriting my resume to include a couple of things about my experience troubleshooting IIS, and that he was planning on submitting it to his client as soon as I got the references. I ignored the email.
Have tales from your own interview? Then be pal and share them!
By Alex Papadimoulis
"I was recently assigned to work on a team that maintains a fairly large product," writes Aaron, "at first, I was a bit overwhelmed by the complexity of the architecture. There were countless layers of abstraction, thousands and thousands of classes, and design patterns galore. Since it was such a large project – and my first large project – I figured that the architectural complexity was simply par for the course."
“Then I started looking at the code a little more closely. If I had two words to describe it, they’d be ‘unnecessary complexity.’ And if I had one snippet to describe it, it would be this.”
private void SetAccount(RequisitionData.RequisitionItem requisitionItem,
AccountData.Account account, bool automation)
{
bool allowSetAccount = false;
if(account != null)
{
// if the account entry is being set by automation, ensure that
// the user hasn't already set a value
if (automation)
{
if (!requisitionItem.IsAccountCodeNull())
{
if (requisitionItem.AccountCode == string.Empty)
allowSetAccount = true;
else
allowSetAccount = true;
}
else
allowSetAccount = true;
}
else
allowSetAccount = true;
if (allowSetAccount)
{
requisitionItem.AccountID = account.ID;
requisitionItem.AccountCode = account.Code;
}
}
}
Aaron continued, "the beauty of it is that the method is private within the class, and has an 'automation' boolean parameter. This parameter is always passed as true."
By Remy Porter
"Do you think it's wise to have consultants running our IT department?" Holger asked. It was an honest question, worded as diplomatically as possible. Holger's company had more consultants on hand than actual IT staff.
"Holger, these folks are experts," his manager replied. "It isn't cost effective to hire-on this level of expertise full time. We may pay a little more up front, but when we don't need the consultants anymore, we can hand it off to our internal people."
Holger left that discussion pretty sure he had just been called incompetent. Maybe I should ask the consultants if they're hiring, Holger wondered to himself, thinking of the big money they pulled down relative to his salary. The thought was still percolating in his head when he sat down with the two newest consultants, Zack and Jack for their status meeting.
Holger hooked his laptop up to the projector and ran through a few recent changes in the configuration database, discussed the implications, and then moved onto other topics. He stopped paying attention to the computer, and it eventually dropped to its screensaver. Moments later, there was some snickering from Zack.
"Having some computer trouble?" Jack asked, mockery in his tone.
Holger glanced at the projection screen and saw that his screensaver was was running merrily. It merrily painted a BSOD to the screen, with plausible driver dumps, merrily churned the disk a little, like it was saving the contents of RAM, and merrily ran through a simulated reboot sequence. After which, the process repeated itself, merrily. "Oh," Holger said, "that happens sometimes. I've got it under control. No worries."
"Yeah, whatever," Jack said. The meeting continued.
The product of the meeting, like too many other meetings with consultants, resulted in the need for another meeting. "Let's see what my calendar looks like," Holger said. He grabbed the mouse, killed the screensaver, and called up his email client.
Zack gasped. "How did you do that?" Jack marveled.
"Oh, that?" Holger said. With his best deadpan, he said, "I got tired of waiting for the reboots to complete. I put together a tool that does an automatic fix and restart, letting me just continue right from where I left off."
Holger waited a beat. After a moment, he was certain that these consultants would realize he was pulling their leg.
Zack was up in a flash and quietly closed the door. Jack leaned across the table towards Holger and asked, "Did you make that on company time? And does anyone here know if you did? Because before we go back into that hallway, I want to buy this off of you."
"You don't have that kind of cash," Holger said.
"No, but I can put it on the expense account and then pay it off when I get VC funding," Jack said.
Holger spent the next fifteen minutes declining their offers to buy his tool. In the process, he discovered that the consultants had creative and unethical ideas about how to quickly get funding, and that one of them had a trophy wife that would do anything for the kinds of profits they were talking about. "And I do mean anything," Zack said with a leer.
Finally, Holger "confessed". "Look, you guys are generous and all, but I've already signed a contract with another company. Even if you could beat their offer, I can't break a contract."
"Sure you can!"
Holger left the meeting without any interest in finding out if their company had any openings.
By Alex Papadimoulis
Think of all those old applications you’ve had to maintain. You know the type: the ones written by long-forgotten developers in long-lost languages. The ones that, after spending days searching for that one line of code that needs to be changed, you frustratingly decree “this f%*#@ thing needs to be rewritten.” And, naturally, the ones that never are, nor never will be rewritten.
Call it luck or persistence, but after dozens and dozens of maintenance requests over the years, Israel Brewster finally was given the opportunity to rewrite an application. From scratch. And the right way, this time. No shoddy VB6 front-end; no horribly-designed SQL Server 2000 (only) database; and certainly no Microsoft Access-based administration tool.
Though, after his third straight week of digging through form validation logic requirements – many of which were quadruplicated (or more), inconsistent, and often incorrect –he’s started to question if a rewrite is even possible. Consider, for example, Command 696: a method named that simply because Command1 through Command695 were already taken.
Private Sub Command696_Click()
On Error GoTo Err_Command696_Click
Dim stDocName As String
Dim Response As Integer
If Frame500 = 1 And pax > 37 Then
MsgBox "CHECK PAX DASH 8 LIMIT 37 SEATS", vbOKOnly
Else
End If
If Frame500 = 2 And pax > 29 Then
MsgBox "CHECK PAX DASH 8 LIMIT 29 SEATS", vbOKOnly
Else
End If
If totalload1 > 2000 Then
MsgBox "OVERWEIGHT Fwd Shelf ", vbOKOnly
Else
End If
If ttshelf > 1000 Then
MsgBox "OVERWEIGHT Aft Shelf ", vbOKOnly
Else
End If
If totalload1 + ttshelf > 2000 Then
MsgBox "OVERWEIGHT Aft Compartment max 2000 lbs ", vbOKOnly
Else
End If
If Frame500 = 1 And totalloadsecd > 0 Then
MsgBox "DASH 8 WITHOUT SECTION D ", vbOKOnly
Else
End If
If Frame500 = 2 And totalloadsecd > 2150 Then
MsgBox "OVERWEIGHT SECTION D ", vbOKOnly
Else
End If
If Remaining < 0 Then
MsgBox "DASH 8 OVERWEIGHT REDUCE LOAD !!!!", vbOKOnly
Else
End If
If ttload <= 0 Then
Response = MsgBox("ARE YOU SURE AFT CARGO COMPARTMENT IS EMPTY!!!!", vbYesNo)
Else
Response = 6
End If
If Frame500 = 1 And pax <= 37 And totalload1 <= 2000 And _
ttshelf <= 1000 And totalloadsecd = 0 And _
Remaining >= 0 And totalload1 + ttshelf <= 2000 And Response = 6 Then
stDocName = "csaprintinfo37seats"
DoCmd.OpenReport stDocName, acPreview
Else
End If
If Frame500 = 2 And pax <= 29 And totalload1 <= 2000 And _
ttshelf <= 1000 And totalloadsecd <= 2150 And _
Remaining >= 0 And totalload1 + ttshelf <= 2000 And Response = 6 Then
stDocName = "csaprintinfo29seats"
DoCmd.OpenReport stDocName, acPreview
Else
End If
Kyle Brandt, a system administrator, asks Should Developers have Access to Production?
A question that comes up again and again in web development companies is:"Should the developers have access to the production environment, and if they do, to what extent?"
My view on this is that as a whole they should have limited access to production. A little disclaimer before I attempt to justify this view is that this standpoint is in no way based on the perceived quality or attitude of the developers -- so please don't take it this way.
This is a tricky one for me to answer, because, well, I'm a developer. More specifically, I'm one of the developers Kyle is referring to. How do I know that? Because Kyle works for our company, Stack Overflow Internet Services Incorporated©®™. And Kyle is a great system administrator. How do I know that? Two reasons:
From my perspective, the whole point of the company is to talk about what we're doing. Getting things done is important, of course, but we have to stop occasionally to write up what we're doing, how we're doing it, and why we're even doing it in the first place -- including all our doubts and misgivings and concerns. If we don't, we're cheating ourselves, and you guys, out of something much deeper. Yes, writing about what we're doing and explaining it to the community helps us focus. It lets our peers give us feedback. But most importantly of all, it lets anyone have the opportunity to learn from our many, many mistakes … and who knows, perhaps even the occasional success.
That's basically the entire philosophy behind our Stack Exchange Q&A; network, too. Let's all talk about this stuff in public, so that we can teach each other how to get better at whatever the heck it is we love to do.
(Sometimes I get the feeling this idea makes my co-founder nervous, which I continually struggle to understand. If we don't walk the walk, why are we even doing this? But I digress.)
The saga of System Administrators versus Programmers is not a new one; I don't think I've ever worked at any company where these two factions weren't continually battling with each other in some form. It's truly an epic struggle, but to understand it, you have to appreciate that both System Administrators and Programmers have different, and perhaps complementary, supernatural powers.
Programmers are like vampires. They're frequently up all night, paler than death itself, and generally afraid of being exposed to daylight. Oh yes, and they tend think of themselves (or at least their code) as immortal.
System Administrators are like werewolves. They may look outwardly ordinary, but are incredibly strong, mostly invulnerable to stuff that would kill regular people -- and prone to strange transformations during a moon "outage".
Let me be very clear that just as Kyle respects programmers, I have a deep respect for system administrators:
Although there is certainly some crossover, we believe that the programming community and the IT/sysadmin community are different beasts. Just because you're a hotshot programmer doesn't mean you have mastered networking and server configuration. And I've met a few sysadmins who could script circles around my code. That's why Server Fault gets its own domain, user profiles, and reputation system.
Different "beasts" indeed.
Anyway, if you're looking for a one size fits all answer to the question of how much access programmers should have to production environments, I'm sorry, I can't give you one. Every company is different, every team is different. I know, it's a sucky answer, but it depends.
However, as anyone who has watched the latest season of True Blood (or, God help us all, the Twilight Eclipse movie) can attest, there are ways for vampires and werewolves to work together. In a healthy team, everyone feels their abilities are being used and not squandered.
On our team, we're all fair-to-middling sysadmins. But there are a million things to do, and having a professional sysadmin means we can focus on the programming while the networking, hardware, and operational stuff gets a whole lot more TLC and far better (read: non-hacky) processes put in place. We're happy to refocus our efforts on what we're expert at, and let Kyle put his skills to work in areas that he's expert at. Now, that said, we don't want to cede full access to the production servers -- but there's a happy middle ground where our access becomes infrequent and minor over time, except in the hopefully rare event of an all hands on deck emergency.
The art of managing vampires and werewolves, I think, is to ensure that they spend their time not fighting amongst themselves, but instead, using those supernatural powers together to achieve a common goal they could not otherwise. In my experience, when programmers and system administrators fight, it's because they're bored. You haven't given them a sufficiently daunting task, one that requires the full combined use of their unique skills to achieve.
Remember, it's not vampires versus werewolves. It's vampires and werewolves.
| [advertisement] JIRA Studio - SVN hosting, issue tracking, CI and Google Apps integration. Free trial » |
By Mark Bowytz
Kristján writes, "I agree. No, wait..."
"I got this while doing my online homework for a calculus class I am taking," wrote Chase P., "I mean, it's freaking 42 of all numbers - how could it NOT be correct??."
In order to take over the earth, the Brain hatched a plan where he would sieze control of the world's banking system. The plan was true genius, but like all big plans, he had to start somewhere which, in this case, was to take control of OneWest Bank's QuickPricer.
"I know that folks in Texas have strong feelings about where they live," wrote Reinier, "but I had NO idea that people in South Africa did too!"
"I wasn't exactly sure what to do here so," writes Johann, "I figured it safest to click on the "X" to close the window, manually restart, and pray for the best"
"The text translates roughly "Some tray icons can't be shown. There isn't enough space to show all objects in system tray. Uninstall some programs or try to use larger display resolution.," writes Maar, "I guess that I'll be able to justify that larger monitor purchase after all!"
"I think I'm going to take my chances and say 'no' the extended warranty," writes Stewart.
By Mark Bowytz
When Greg was shopping for jobs at his college’s career fair, there was a whole lot of business as usual.
The larger banks were on-hand looking to swoon the upcoming Financial grads. Several representatives from a few big name manufacturing corporations were there to interview the Chemistry majors and a few IT firms were on the lookout for the soon-to-be CS grads, like Greg, to add to their ranks. However, amid the ocean of pamphlets and suits there was one aerospace corporation with one particular position that caught Greg’s attention. The position that he applied and was ultimately hired for could be summed up in one sentence:
“You’ll be testing laser tag games for the military.”
Actually, Greg’s official title was “QA Analyst for Battlefield Training Simulation Systems” but the idea of the system being a great big laser tag game really wasn’t all that far off the mark.
The way the existing setup worked was that sensors on a soldier’s body vest would detect a “hit” during the simulation, and would then set off an annoying alarm that could only be turned off with a special key. Once deactivated, the solder was ‘dead’ for the rest of the training scenario. It all worked, but one big problem with the whole setup was that, to the displeasure of many, a few enterprising soldiers managed to get their hands on and started selling tester keys (also known as “God Keys”) that allowed soldiers to resurrect themselves and get back into the battle.
After a number of years of trying to prevent soldiers from exploiting the system and a host of other technical headaches, the military was finally able to replace their system with something a little newer.
New features like the addition of GPS tracking units, RF data modules reporting hits and their locations and a slew of backend upgrades meant that military trainers could execute more extensive and complex training scenarios and, over time, recoup the costs because the new system was designed to rely on “off the shelf” 3rd party solutions, but first, these solutions would need to be vetted by QA guys like Greg.
Like any new hire, Greg was completely pumped and ready to contribute and shake things up his first week, but as time went by, Greg’s excitement dwindled when he found that doing QA analysis didn’t really involve shooting co-workers with laser guns, but instead was a lot of tedious, hard work with project managers and piled on bureaucracy for good measure.
In one particular situation they received a firmware update for one of the GPS systems being used in the Player Unit modules.
While trying to figure out why the latest hardware revision was failing immediately after the first test he noticed that the GPS receiver would send out a burst of garbage every few seconds.
Puzzled by this he checked and re-checked the connections and tried one of the spare units only to find the same result. Everything seemed like it should fine and the supplier swore there was nothing wrong with their system. Not able to let something like this go, Greg spent many late-night hours pouring through raw dumps of the results and along the way, he began to notice a pattern of the same Hex data repeating in the noise. As he painstakingly translated the hexadecimal into ASCII, he was genuinely surprised upon being greeted with a curious snippet of text.
Your PC is now Stoned!
After a quick search on the message, it all made sense. Somehow, the firmware upgrade for the GPS system had become infected with a disk boot sector virus, which ran perfectly fine on the embedded processor. Since this virus couldn't write itself to a disk, as there were no floppy drives on the GPS card, it instead sent itself out through the RS-232 port once every 5 seconds in hopes of infecting another computer.
Greg wrote up his analysis and forwarded it off to the vendor, who quickly (and quietly) issued another update to their firmware, identical to the last except without the virus.
Upon loading of the updated firmware, Greg noticed the difference immediately and was pleased to see that the vendor's "fix" resolved the "data issue" that he'd reported, however, there was a small catch to this tiny update. You see, preliminary testing for military equipment is a long and detailed process that makes the most draconian corporate processes look positively streamlined. Also, since the magic keyword "virus" had been uttered, QA testing couldn't just pick up where it left off, and couldn't just be for the GPS module. In fact, Greg had to start over at step 1 with added "anti-virus" steps add in for good measure just to be sure.
By Alex Papadimoulis
"While digging through some inherited code," writes Joe "M2tM" Smith, "I encountered a conditional masquerading as a loop."
"Thankfully, the fellow responsible is 'no longer with us', and I suppose this type of code stands as silent testament to why. This interesting loop is only created so the break keyword can be used as an elaborate GOTO."
bool bCreateModel = false;
for (;;)
{
if (!pModel)
{
bCreateModel = true;
break;
}
if (asModelParts.GetSize() != asModelPartsToLoad.GetSize())
{
bCreateModel = true;
break;
}
for (UINT32 i = 0; i < asModelPartsToLoad.GetSize(); ++i)
{
if (asModelPartsToLoad[i] != asModelParts[i])
{
bCreateModel = true;
break;
}
}
break;
}
By Remy Porter
The words "Enterprise Integration" strike fear into the most stalwart of developers. When coupled with "in-house developed" and "B2B", one is almost guaranteed to find complex code, arcane requirements, and a thicket of poorly understood file formats. Dan was made of sterner stuff. When the contract was explained to him, he didn't flinch. There were between 40 and 80 partners that used a web app to extract data about multimedia assets? Gigantic recordsets of them? In formats ranging from Excel to iTunes-compatible databases? No problem.
Steve, the project manager, explained: "Our original lead developer was one of those rockstar types. Real cutting edge, pushing the envelope type guy. He's since moved on to bigger and better things, so we've just muddled on the best we could. We really need you to step up and take on that rockstar role for us, because there are a few problems we'd like you to fix. And we need a real quick turn-around on this."
"What sort of problems?" Dan asked.
"Well, these exports take hours. That's expected- it's a huge pile of data- but some of our partners are complaining that it crashes on them near the end of the job. So they have to start all over. Hours wasted. That's the big thing, but some of our other developers suggest that you try and do a little 'refactoring'?" Steve used air-quotes and a look of incomprehension to convey the question. "They said it should help make maintenance cheaper. Is that right?"
"It could," Dan said. "Let me see your documentation and the code, and I'll see what I can do."
They only had code. Dan opened the solution up in Visual Studio and started poking around. He looked for any classes that were responsible for exporting. He expected to see a whole family of them tied together through inheritance, probably named something like "XMLExport", "ITunesExport", or something equally transparent.
He didn't find a family of classes. In fact, he didn't find any classes. The entire project was lacking in any code or code behind files- not a single ".cs" in sight. Not even a ".vb". The only likely candidate was "Export.aspx".
"Do I have the right code?" Dan wondered, thinking there must be some class library he was missing. Dan double-clicked on "Export.aspx" and waited for the file to open. And waited. The HDD rattled away; its noise covered up the faint sound of Visual Studio sobbing to itself. By the time Dan finished his cup of coffee, the file appeared on the screen. Dan skipped down to the postback event handler, which was wedged in-line between the opening <body> and the page heading. It took Visual Studio over a minute to repaint the screen.
At four levels of indentation under the event handler, there was a switch statement. This statement simply checked which button was clicked. The first case, for "__exportButton" contained a twenty-five thousand line block of if/else statements.
"Oh, this can't be right," Dan wished. "This must be old code. Or some obscure branch used for… for… for hazing the new guy." He checked SVN. There was only one branch and the most recent check-in was from the day before, with the comment, "changed XML date format for iTunes export."
Dan patted Visual Studio's shoulder and tried to console it by closing every other application running, to free up some RAM. He and Visual Studio, both on the verge or crashing, struggled to read through the document together.
At the start of the event handler was this:
//Server.ScriptTimeout = 3600;
//Server.ScriptTimeout = 10800;
Server.ScriptTimeout = 21600; //six hours should probably be enough. If it keeps crashing, raise this.
The code went downhill from there. The actual export logic in the twenty-five thousand line block contained batches of hard-coded SQL queries- they all varied slightly, but not much, and it was hard to spot the differences. For each SQL query executed, a new database connection was opened. The block responsible for closing them all, was near the end, and looked something like this:
oldCnon.Dispose();
db1a.Dispose();
dbMain.Dispose();
db1.Dispose();
connCore.Dispose();
newConn.Dispose();
Once a connection was opened, it stayed opened until the export job completed. There were copy/pasted blocks that repeated the same code again and again, although over time, they had drifted apart so they weren't exactly the same anymore, but mostly. The web page itself handled all of the file I/O, the communication with Excel Interop libraries. One of the XML formats was generated, not by using the XmlWriter object, but by concatenating a pile of strings together. The entire pile was topped off with a bow- the "bow" meaning "only one exception handler for the entire block". The single catch(Exception ex) responded to any error that could possibly happen in that 25,000 line thicket. Its response was to simply print out the informative, "An error has occured(sic). Please correct your request and try again."
Dan wasn't even sure where to start. For the heck of it, he upped the script timeout from 21600 to 43200. He checked that minor change in with the comment, "This should fix timeouts for the foreseeable future," and then started trying to get a grip on how to pry this pile of spaghetti apart and turn it into supportable code.
The next day, he was elbow deep in "Export.aspx"'s entrails when Steve interrupted. "Hey, Dan!" Steve beamed. "Great work on fixing that bug. I saw your check-in, gave it a spin, and promoted it to production. Fantastic turn-around time on that. Look, since you're done, we've got a lot of other projects that could use some TLC- can I move you onto one of those?"
By Scott Selikoff
Paul was having a good morning. It was a beautiful day outside, he managed to shave 15 minutes off his commute, and even the local coffee shop had his favorite donut in stock. All of that changed when he got his first support call of the day. It was from a client running "the beast" product. "The beast", as Paul and his coworkers nicknamed it, was a legacy version of their application developed somewhere overseas years before Paul was hired, by hundreds of poorly trained, and probably poorly paid, developers. The company's sales team actively encouraged clients to upgrade from the legacy application, but a select few had resisted.
"The beast" had a reputation for containing some of the worst code Paul had ever seen and every time he had to support it, he felt like he needed a shower afterwards. It was during his fourth hour of debugging that Paul came across a previously unvisited function shown below.
public boolean isWidgetReferenced(int widgetId) {
boolean available = false;
try {
String query;
ResultSet rs = null;
int count = 0;
Connection connection = getConnection();
query = "SELECT COUNT(*) FROM WIDGET_REGION WHERE widgetId=" + widgetId;
rs = connection.createStatement().executeQuery(query);
for (; rs.next();) {
count = rs.getInt(1);
break;
}
if (0 < count) return false;
query = "SELECT COUNT(*) FROM WIDGET_OFFERING WHERE widgetId=" + widgetId;
rs = connection.createStatement().executeQuery(query);
for (; rs.next();) {
count = rs.getInt(1);
break;
}
if (0 < count) return false;
query = "SELECT COUNT(*) FROM WIDGET_ORDERS WHERE widgetId=" + widgetId;
rs = connection.createStatement().executeQuery(query);
for (; rs.next();) {
count = rs.getInt(1);
break;
}
if (0 < count) return false;
query = "SELECT COUNT(*) FROM WIDGET_NEW WHERE widgetId=" + widgetId;
rs = connection.createStatement().executeQuery(query);
for (; rs.next();) {
count = rs.getInt(1);
break;
}
if (0 < count) return false;
query = "SELECT COUNT(*) FROM WIDGET_HISTORY WHERE widgetId=" + widgetId;
rs = connection.createStatement().executeQuery(query);
for (; rs.next();) {
count = rs.getInt(1);
break;
}
if (0 < count) return false;
query = "SELECT COUNT(*) FROM WIDGET_STATS_RECORDED WHERE widgetId=" + widgetId;
rs = connection.createStatement().executeQuery(query);
for (; rs.next();) {
count = rs.getInt(1);
break;
}
if (0 < count) return false;
query = "SELECT COUNT(*) FROM WIDGET_VIEWED WHERE widgetId=" + widgetId;
rs = connection.createStatement().executeQuery(query);
for (; rs.next();) {
count = rs.getInt(1);
break;
}
if (0 < count) return false;
query = "SELECT COUNT(*) FROM WIDGET_SETS WHERE widgetId=" + widgetId;
rs = connection.createStatement().executeQuery(query);
for (; rs.next();) {
count = rs.getInt(1);
break;
}
if (0 < count) return false;
query = "SELECT COUNT(*) FROM WIDGET_INSTALLED WHERE widgetId=" + widgetId;
rs = connection.createStatement().executeQuery(query);
for (; rs.next();) {
count = rs.getInt(1);
break;
}
if (0 < count) return false;
query = "SELECT COUNT(*) FROM WIDGET_PENDING WHERE widgetId=" + widgetId;
rs = connection.createStatement().executeQuery(query);
for (; rs.next();) {
count = rs.getInt(1);
break;
}
if (0 < count) return false;
query = "SELECT COUNT(*) FROM WIDGET_JOURNAL WHERE widgetId=" + widgetId;
rs = connection.createStatement().executeQuery(query);
for (; rs.next();) {
count = rs.getInt(1);
break;
}
if (0 < count) return false;
available = true;
} catch (Exception e) {
logger.error("isWidgetAvailable", e);
}
return available;
}
Paul wasn't sure what bothered him the most: that the developer had used a strangely formed for() loop on a structure that always returned exactly one record; that the integer count could have been implemented as a boolean; or that the pattern had been repeated 10 times in this file and dozens of times in other files. As it turns out, the root cause of the issue was unrelated to the sheer amount of repetitive code. Had the developer taken the time to clean up this function, they might have noticed that they never closed any of the JDBC connection resources defined in the method.
By Alex Papadimoulis
Andrew Carpenter writes, "I guess this is like turn-oning off a switch?"
"While trying to signup for a Windows Live account, I found myself without my best friend Neil," wrote Rob, "unfortunately, my second-best friend Ray, third-best friend Jane, and fourth-best friend Tom are also excluded."
"I got this rather odd message when trying to install the Evo Java client," wrote Nick Edwards, "I clicked OK and it worked... even though I wasn't SURE_IT_WORKS!"
"I'm not sure why Google would omit entries and return zero results," Michael noted, "clicking on the link, I received 0 omitted results which were indeed very similar."
"YUM!! Blank Insert bear claws," wrote Matthew Sowders
"This came up while configuring Neverwinter Nights on my PC," Ville Rastas writes, "I was worried the game might not support today's high resolution screens, but I guess it's quite the opposite."
"I knew IKEA has some funny names on it's furniture," writes Patrik, "but who knew they were into the new fashion trend of nerd chic?
"According to Virgin Mobile," writes Glenn Jones, "Unlimited is twice as big as 10G (so maybe around 20G), except for videos where Unlimited is only 1.3 times 10G."
By Mark Bowytz
Bob was in the process of shutting down a software company that he had built over the past seven years. He had found a buyer for all of the software that he'd developed, collected his "eff you money" and was now retiring.
In fact, things were at the point where Bob had already closed the building and redirected the phones to his home phone with a distinctive ring so that he could tie up loose ends while the building was up for sale.
Bob woke one morning at 8:00am to the phone ringing, crawled out of bed and picked up the ‘Bat Phone,' as he called it, in the living room.
"Hello?" Bob said, and gave the name of the company.
Without preamble or introduction, Bob was informed by a woman's voice, "Hi this is Sally Brumbaker, my user id is smb1985. My computer's frozen."
Bob didn't recognize the voice and certainly not the name. Also, it was before coffee. "Your computer's frozen?" Bob affirmed.
"Yes."
"Is the side cold?" Bob asked matter of factly.
"Wait a minute," replied Sally, and then after a pause, "No not at all."
"Ok, then," Bob assured her. "Your computer's not frozen, then, it's probably just running a program. Give it a minute."
"I don't understand, what do…" the woman began, and then, "Oh, ok. There is goes." and that, she hung up the phone and Bob did the same, thinking about how much cream to put into his coffee.
The ‘Bat Phone’ rings. Though the company had long been put to bed, Bob was suddenly reminded of was that he’d forgotten to stop the phone service.
"Hello?" Bob asked, and with a little hesitation, gave the name of his (now non-existent) company.
"Hello,” introduced the caller in a very serious tone, “I need to speak to someone in charge of your technical support."
"Well, that's pretty much me,” replied Bob, “What do you need?"
"Did you or someone working for you tell Sally So-And-So that she could tell if a computer was frozen by feeling the side?"
"What?"
"Sally says she called this number three months ago, and was informed by a support tech that she could tell if a PC was frozen by feeling for the side being cold. Since then, she's been feeling the sides of people's computers, and she's completely humiliated."
"Sally works in your IT department?" Bob asked.
"No, Sally is the Director of our human resources department," Bob was informed.
"And this is...?"
"I sit on the board for Plainston-Princeboro Teaching Hospital."
"I see. So, Sally hires doctors and nurses."
"She does - and now she's been humiliated by you or someone at your company,” huffed the voice on the phone,” What do you have to say for yourself?"
"Well, first," Bob answered, "I'd like to say that, if I get seriously hurt, I'll drag myself right past YOUR hospital."
"WHAT!?"
"Sir," Bob said, with great sincerely, "you have to admit, that's pretty dumb."
Suddenly, the man on the other end of the line was at a sudden loss for words.
"Ok," he said finally, a little deflated, "Sally isn't the most computer savvy person we have, but that doesn't give you the right to prey on her..."
"Sir," Bob said, "I took that call, Sally didn't identify herself, and as soon as she thought she had an answer from me, she hung up the phone before I could explain that I was kidding. I'm sorry if I humiliated her, but I have no idea how she got my number and this isn't a computer technical support company."
"Oh, I see," the person informed Bob. "We’ll, just be more careful, next time,” and with that, hung up the phone.
Since then, Bob disconnected the ‘Bat Phone’ for good, officially severing himself from his old life, but still gets a chuckle thinking of a smartly dressed executive going through the hospital, troubleshooting issues by feeling the sides of PC's and telling their users whether they were frozen of not.
By Alex Papadimoulis
Everyone knows that "Magic Numbers" are bad, Bad, BAD! Take, for example, dividing something into quarters. Because including the literal "4" in your code would be a Magic Number, many developers agree that it's best to define a constant named "FOUR", and then use that constant instead. Makes sense, right?
Wrong! The problem with using "FOUR" is that, like "4", it's a Magic Constant. While not nearly as bad as Magic Numbers, Magic Constants certainly aren't elegant. Fortunately, Allen's colleague has provided us all with a valuable lesson the proper use of Magic and Non-Magic constants. Read it, and learn.
public class Constants {
...
public static final int FOUR = 4;
public static final int THREE = 3;
public static final int INTEGER_FOUR = 4;
public static final int INTEGER_FIVE = 5;
public static final int INTEGER_ONE = 1;
public static final int LENGTH_FOUR = 4;
public static final int LENGTH_FIVE = 5;
public static final int LENGTH_SEVEN = 7;
public static final int LENGTH_EIGHT = 8;
public static final int LENGTH_NINE = 9;
public static final int LENGTH_ELEVEN = 11;
public static final int LENGTH_TWELVE = 12;
public static final int LENGTH_EIGHTEEN = 18;
public static final int LENGTH_FIFTEEN = 15;
public static final int ONE = 1;
public static final int INTEGER_FIVE = 5;
public static final int INTEGER_ONE = 1;
public static final int PLUS_ONE = 1;
public static final int INTEGER_THREE = 3;
public static final Long LONG_VALUE_TEN = Long.valueOf(10);
public static final Long LONG_VALUE_ZEARO = Long.valueOf(0);
public static final BigDecimal BIGDECIMAL_ZERO = new BigDecimal(0);
public static final BigDecimal BIGDECIMAL_ONE = new BigDecimal(1);
public static final BigDecimal NEGATIVE_NUMBER_ONE = new BigDecimal(-1);
public static final int COMPARE_RESULT_ZERO = 0 ;
public static final int COMPARE_RESULT_ONE = 1 ;
public static final int COMPARE_RESULT_NEGATIVE = -1 ;
...
public static final String NINE_STRING = "9";
public static final String ONE_STRING = "9";
}
By Remy Porter
Everything went dark and a chill wind went up Simon's back. A deep rumble rattled his brain in his skull. He glanced behind him to see Noel looming over him. "Simon, can you ping the Exchange server?"
When the trained bear that doubles as your IT manager asks that question, it's a bad thing. Simon tried to ping Exchange and failed. He then tried to ping an app server. And a database. And the outside world. All dead.
About a thousand users were about to discover that the only IT asset they could access were their desktop computers. Shortly thereafter, the phone next to them was going to ring. The person at the other end would likely scream. And then it would ring again. The ringing and screaming would continue until the network was back up.
They hustled to the server room, with Noel's bulk clearing a path through the corridor. It was hectic, and he may have trampled an intern. In one corner of the server room, a jump-suited man with a tool-belt bobbed his head to the music in his earphones. The server room was so quiet that the two could actually hear his music from across the room.
"What have you done?" Noel rumbled. The ominous wave of fury failed to penetrate the shield of Lady Gaga songs the electrician had surrounded himself with. Noel closed on him and repeated the question, with more volume and a heavy hand on the shoulder.
Once he had the electrician's attention, he didn't wait for an answer. "I will tell you what you have done," Noel said, "since you obviously do not understand. You are drilling away into a little metal box that is labeled 'Uninterruptible Power Supply', rendering it quite interruptible and cutting power to the room."
"I… I'll fix it…" the electrician managed to croak out.
He set to work. Noel set to work as well by providing a profanity laden commentary on the level of failure the electrician had just wreaked, how many tens of thousands of dollars of equipment the electrician had probably damaged, how many users were useless at the moment.
The electrician worked through the tirade, which says good things about his saving throw versus intimidation, even if his saving throw against stupidity left something to be desired. With a sigh of relief, he flipped the circuit breaker. Green blinking lights and the sounds of whirring disks filled the room.
Then the breaker clunked back into position. The servers rattled back to silence. An expensive sounding clunk came from a hard drive somewhere in the room.
"I'll fix it!" the electrician squeaked. After a frantic adjustment, he flipped the breaker again. The show repeated itself, although the encore added some sparks in the UPS. The third time the electrician reached for the breaker, Noel nearly broke his hand off.
"I think that's enough of that for the day," Noel warned.
"The… the breaker can't handle the load?"
Noel ignored the electrician and turned to Simon. "Do you think I can heave him up to the ceiling?" Simon looked up, and fifteen feet away, he saw the spare pin-and-sleeve-plugs that had been installed to power future expansion.
Since the electrician didn't have a ladder -- and since Noel's throwing arm wasn't up to the task -- Simon clambered on his back. One egregious violation of the health-and-safety policy later, the server room was on a different circuit. A round of cajoling, screaming and cursing brought the servers back online, although a few HDDs were trashed. Noel's blood-pressure receded to something slightly less than the water pressure in the Challenger Deep, and Simon drafted a thoroughly plausible explanation as to why there were shoe prints above head level.
The root-cause for the debacle was traced back to Building Facilities. The server room, normally accessible only to sever admins and the facilities manager, contained an emergency power-off switch. Despite the fact that all of those people were quite clear about the purpose of the switch, and that it was clearly marked, someone with pointy-hair had deemed it an "unacceptable" risk, and decided to do an end-run past change-control to "fix" it. After all, if left unfixed, someone might cut off power to the server room and damage the equipment.
By Alex Papadimoulis
Role-based security requires, at a minimum, two key elements: users and roles. Roles (such as Administrator, Clerk, and ViewOnlyUser) are defined by the application code and then assigned to users to restrict which functions of the application they may use. It's a pretty simple concept that involves all of two database tables, or one if the user names come from some external source like Active Directory.
In Adam's case, the Role-based security feature served as a coalmine canary in the application he was tasked with reviewing. Although it passed all of the test cases — employees could only do certain things, customers could do other things, etc. — there was one fundamental flaw with the system. See if you can spot it.
public bool IsInRole(string roleName)
{
return UserName.StartsWith(roleName.Substring(0, 3));
}
The roleName parameter is a string ("Employee") that's is passed in from a method to check security, and UserName is just that: it's the user's name. So, users with a name that started with "Emp" would be granted access to Employee functions, while no one else would. And why "Emp"? As it turned out, the user names created for testing were "Employee1", "Employee2", "Employee3", and so on.
As for the rest of the system, it's development was similar: it passed the test cases and little more.
By norths@mnjenfrance.eu (Jon & Mary in Lunel)
By norths@mnjenfrance.eu (Jon & Mary in Lunel)




By norths@mnjenfrance.eu (Jon & Mary in Lunel)
The village nearest to us and Lunel is called Saint Just. It is a pretty place, just on the fringes of the marshes and lakes or étangs which lie between us and the sea, and it is passionate about bulls - the panels on the roundabouts at either end have nice metal cutout heads of black bulls and white horses. You can find out more about the village at http://fr.wikipedia.org/wiki/Saint-Just_(Hérault) but not, as far as I can see, which of the several possible saints of that name was behind the original mediaeval settlement. But the family name Saint Just is famous in France because of the Count of that name who was a key players in the French Revolution, the so called 'Archangel of the Terror'.Aimargues, Arpaillargues-et-Aureillac,
Aubussargues, Aujargues, Baillargues,
Bouillargues, Bragassargues, Buzignargues,
Caissargues, Cambon-et-Salvergues,
Candillargues, Cavillargues, Domessargues,
Estézargues, Galargues, Gallargues-le-Montueux,
Générargues, Goudargues, Guzargues,
Lansargues, Marsillargues, Martignargues,
Massillargues-Attuech, Mauressargues,
Montignargues, Olargues, Parignargues,
Saint-André-d'Olérargues, Sainte-Croix-de-Quintillargues,
Saint-Jean-de-Ceyrargues, Saint-Vincent-de-Barbeyrargues,
Saint-Vincent-d'Olargues, Saturargues,
Sauteyrargues, Savignargues, Souvignargues,
Sussargues, Valergues, Vallérargues,
Vendargues, Vérargues
By norths@mnjenfrance.eu (Jon & Mary in Lunel)
By norths@mnjenfrance.eu (Jon & Mary in Lunel)
I left a long gap - sorry folks, too much to do and I kept feeling uninspired about writing. But this morning we walked into Lunel as usual on Sunday. The town is always buzzing - market day, most shops open, cafés full to bursting and friends meeting each other in the street. Mondays are by contrast almost dead.
This morning we met our neighbours there and 6-year-old Rémi was chattering away about his life and his friends - and rushing off to meet them - while his dad Bruno drank a coffee with us en route to their lunchtime engagement. Mum Christine was there in passing, but had already met up with friends in other cafés, so only said a quick hello in passing. And several of their friends stopped to say hi too, so we were well entertained for over half an hour before we set off back through the flower market towards home.
Then as we walked back down the avenue des Abrivados I remembered to take a photo of the completely blocked footpath - the Mayor here is very keen on keeping footpaths for pedestrians, but each Sunday as you can see the path by the carpark is occupied by cars to you have to walk in the road, and it's about time someone did something! And for autumn colour nothing beats the pyracantha just along the road from our house!By norths@mnjenfrance.eu (Jon & Mary in Lunel)
When we came to France we found ourselves in a house with spare bedrooms and we decided to offer B&B. To begin with it was mainly for our UK friends and acquaintances, but in 2007 France passed a law requiring all publicly advertised accommodation to be formally registered. The Lunel Tourist Office noticed our website, and we decided to register rather than remove the details.By norths@mnjenfrance.eu (Jon & Mary in Lunel)
This week 10,000 bee specialists from all over the world have gathered here in the south of France for the 41st Apimondia conference. I hadn't heard of this until our local newspaper published an article today highlighted the event and the work of Vincent Tardieu. He is a French journalist who writes a blog (and has published a book) called L'étrange silence des abeilles, about the often mysterious disappearance or reduction of bee populations. Of course this is deeply worrying because much fruit and vegetable production depends on bee pollination.By norths@mnjenfrance.eu (Jon & Mary in Lunel)
As I write, the Wirksworth Festival is about to start and the latest issue of Community Fayre has just arrived in the post. Those who thought this blog would be about our life in France need to adjust their sets, but only slightly - it is about our life, and occasionally that will include our life before France, including 27 years in Wirksworth, the little Derbyshire town that still means a lot to us. Among other things we still have family and friends there.
We can and do keep in touch with those, friends and family, who are still alive and well and living in Wirksworth, so there is special poignancy in remembering some of those who have died. Some of them are mentioned above, and other special friends included Mike Pegg who shared my enthusiasm for wine and passed on to me his home-made wine racks; Maggie Riddle whose friendship reinforced our involvement in twinning and our developing interest in living in France; and Peter Hoon, whose lovely black and white prints of Wirksworth were so often Christmas cards or little gifts we still treasure. His widow Jenny is curating an exhibition of them in the Festival this year, and I have used some to illustrate this post.
By norths@mnjenfrance.eu (Jon & Mary in Lunel)
I was brought up a Quaker (member of the Society of Friends), worked for many years in the British Quaker headquarters and, although I'm no longer a member I still have sympathy with Quaker principles and admiration for many Quakers. Long before we came to live in France I also knew that there was a place called Congénies, the original seat of the French Société des Amis but I had no idea that it was just along the road from Lunel and that the old 19th century building had been restored as an active Meeting House. We quickly made contact with local Friends.By norths@mnjenfrance.eu (Jon & Mary in Lunel)
I've just met a British man who has lived in northern France for a few years and is gradually improving his French. Like me he finds this hard work, and nowhere more so than in meetings - also like me he had spent years training people to run meetings well and in the end he has given up the struggle of going, and with it given up some of the friendly contacts you make through belonging to local associations.By norths@mnjenfrance.eu (Jon & Mary in Lunel)
Lunel is not a smart town, and many of our friends have I think consciously chosen prettier surroundings or more attractive local markets and shops. But this is a functional town, much of it quite old if still rather down-at-heel, growing fast and so with life and resources even in a recession, and new resources like the Médiatheque about to open on our doorstep. It's convenient for 2 (you could argue 3 or 4) airports, the Autoroute and the railway. But most of all, in a short time it has become home and we have good friends and neighbours here. No regrets, in other words.By norths@mnjenfrance.eu (Jon & Mary in Lunel)
Each 22 June is the Fête de la Musique in France. All over the country, in halls and theatres and most of all outside there is music of all kinds. I was spoilt for choice of photos of this year's offerings in Lunel and in the end chose the South Highland Pipers, a versatile crew who did not only Scottish but Irish numbers with appropriate changes of instrument. Now, as I write, it's the Lunel Jazz Festival with 4 evenings of late concerts under the trees in the park.By norths@mnjenfrance.eu (Jon & Mary in Lunel)
By norths@mnjenfrance.eu (Jon & Mary in Lunel)

By norths@mnjenfrance.eu (Jon & Mary in Lunel)
This week Mary went to a committee meeting. As in most organisations, whether choirs, churches, sports clubs or whatever, people often rely on them and their meetings for social contact and mutual support. In this case people were feeling upset and perhaps guilty because a member had sadly and unexpectedly died and they wondered if they had done enough, whether they could have helped more and so on. But in the course of conversation it turned out that the person in whose house the meeting took place lived only 3 plots away from another active member, but neither had any idea that the other was a neighbour.By Chris McGreal
Israeli and Palestinian leaders begin framework talks on a peace deal which could encompass borders, Jerusalem, Jewish settlements and security
The Israeli and Palestinian leaders, Binyamin Netanyahu and Mahmoud Abbas, met for the first day of direct talks in Washington today and agreed that a peace deal could be achieved within a year.
George Mitchell, the White House envoy who joined the negotiations, said the two leaders decided to begin putting together a framework agreement on all major issues – such as borders, Jerusalem, Jewish settlements and security – that will "establish the fundamental compromises necessary" to flesh out a comprehensive peace deal.
Mitchell said Netanyahu and Abbas agreed to meet again in a fortnight in the Middle East and every two weeks after that. The US secretary of state, Hillary Clinton, and Mitchell will attend the first of those meetings on 14 September.
The negotiations are likely to face their first real test with the next round of talks coming just days before Israel's partial freeze on construction of Jewish settlements in the West Bank comes to an end.
Netanyahu has so far resisted US calls to renew the freeze, which the Palestinians see as a litmus test of the Israeli prime minister's intent.
Mitchell declined to disclose the detail of the discussions, although he said some of the major issues were touched on. Netanyahu and Abbas met US officials and then met privately. Mitchell described the two men's relationship at the talks as "cordial".
Before the talks opened, Netanyahu said two key demands – recognition of his country as a Jewish state and arrangements to ensure it does not come under attack from within a Palestinian state – were a prerequisite to a wider agreement.
Netanyahu again called Abbas his "partner in peace" and said he was prepared to make "painful concessions" to reach a deal. But the Israeli prime minister said that what he called the "two pillars to peace" must be resolved.
Clinton launched the negotiations by calling for the leaders to show themselves as bold and courageous statesmen and reach a comprehensive peace agreement within the one-year deadline set by Barack Obama. "We understand the suspicion and scepticism that so many feel born out of years of conflict and frustrated hopes," she said. "But by being here today you each have taken an important step toward freeing your peoples from the shackles of a history we cannot change."
Netanyahu said Israel was prepared to make sacrifices to reach an agreement. "Together we can lead our people to a historic future that can put an end to claims and to conflict. This will not be easy. A true peace, a lasting peace, will be achieved only with mutual and painful concessions from both sides … from my side and from your side," he said.
Hamas responded to the talks by announcing that it has joined forces with other armed groups such as Islamic Jihad to launch a wave of attacks against Israel. Earlier this week, Hamas claimed responsibility for the killing of four Jewish settlers in the West Bank, including a pregnant woman.
The Israeli prime minister said there were two issues that he regarded as central to any agreement: legitimacy and security. "Just as you expect us to be ready to recognise a Palestinian state as the nation state of the Palestinian people, we expect you to be prepared to recognise Israel as the nation state of the Jewish people," he said. "I said too, a real peace must take into account the genuine security needs of Israel … new forces have risen in our region, Iran and its proxies and the rise of missile warfare [with Hamas attacks from Gaza]. A peace agreement must take into account security arrangements against these real threats."
Abbas said he believed a deal was possible. "We're not starting from scratch, because we had many rounds of negotiations between the PLO and the Israeli government."
By David Hopps, Owen Gibson
• Captain and two bowlers protest their innocence
• Pakistan trio to be interviewed by police
The three Pakistan cricketers at the centre of an alleged betting scam that has thrown world cricket into crisis were tonight charged under the anti-corruption code of the game's governing body and provisionally suspended.
After a day that began with the Pakistan Cricket Board agreeing to omit the players from the team for the rest of the tour, and the Pakistan high commissioner claiming the newspaper claims were a "set-up", the ICC suspended the three pending a tribunal.
Outside the west London hotel in which Test captain Salman Butt, fast bowler Mohammad Asif and brilliant teenage prospect Mohammad Amir are also staying, ICC chief executive Haroon Lorgat provided the swift action many in the game had demanded.
"We will not tolerate corruption in cricket – simple as that. We must be decisive with such matters and, if proven, these offences carry serious penalties up to a life ban," he said.
"The ICC will do everything possible to keep such conduct out of the game and we will stop at nothing to protect the sport's integrity. While we believe the problem is not widespread, we must always be vigilant. It is important, however, that we do not pre-judge the guilt of these three players. That is for the independent tribunal alone to decide."
Under tougher new rules brought in last year by the ICC, the players can be suspended provisionally ahead of any hearing if it is in the interests of the game.
The row was triggered by allegations in the News of the World that the three had agreed to bowl no-balls in specific overs of last week's fourth Test at Lord's in return for money.
The charges were announced after officials from the ICC's anti-corruption and security unit (ACSU) spent the afternoon at Scotland Yard viewing evidence and seeking police go-ahead. The police are conducting a parallel criminal inquiry.
The three players will tomorrow be interviewed under police caution for the first time. Earlier they had agreed to withdraw from the rest of the tour citing the "mental torture" they had been placed under by the allegations. They protested their innocence and the Pakistani high commissioner suggested they might have been "set up" by the News of the World.
While their team-mates were turning out against Somerset 160 miles away in Taunton, the accused three were being whisked into their country's high commission in London amid a flurry of claims and top level political negotiations.
ICC investigators, who had been examining spot-fixing allegations against Pakistan for some time, have been in London since Monday. Sir Ronnie Flanagan, the former Northern Ireland police chief who was appointed chairman of the ACSU three months ago, arrived from Abu Dhabi to join them, while its chief investigator, Ravi Sawani, met police.
But despite withdrawing the players from the tour, following pressure behind the scenes from the England and Wales Cricket Board and the sport's global governing body, the Pakistan camp remained bullish.
The high commissioner, Wajid Shamsul Hasan, claimed the players had been "set up" by the News of the World. Asked if they had been framed, he answered "yes" and suggested the newspaper's video evidence could have been filmed after the contentious no-balls had been bowled.
The News of the World said it "refuses to respond to such ludicrous allegations". The newspaper is understood to be preparing further revelations for Sunday.
Hasan said of the three players: "They are extremely disturbed about what has happened in the past week, particularly in regards to their alleged involvement in the crime. They mentioned they are entirely innocent and shall defend their innocence as such.
"They further maintain that on account of the mental torture that has affected them they are not in right frame of mind to play the remaining matches."
Pakistani journalists repeatedly asked whether the team was a victim of a conspiracy and Pakistan's sports minister, Ijaz Jakhrani, also suggested there could be another explanation for the apparently damning News of the World evidence.
"Let's wait until the report comes. After that we will be in a position to see if it is spot fixing, if it is match fixing or if it is a conspiracy against these players or against the country," he told the Indian news channel CNN-IBN.
After the three wary-looking players arrived to a media posse and a small knot of 20 or so protesters, officials from the Pakistan high commission handed out copies of an article by the journalist and academic Roy Greenslade.
The piece was highly critical of the methods used in previous stings by Mazher Mahmood – the so-called "Fake Sheikh" behind the sensational News of the World claim that a middleman accepted £150,000 to correctly predict the exact time when no-balls would be bowled.
Although Hasan insisted the three players were "not running away" – they will remain in England and their passports are being held by the team manager – they were whisked out of a side door and departed in a people carrier while the car in which they arrived acted as a decoy.
Mazhar Majeed, the 35-year-old middleman the News of the World alleges was at the heart of the betting sting, was arrested on Sunday and released on bail. Separately, he was also arrested as part of an investigation by HM Revenue and Customs into money laundering through Croydon Athletic, the non-league football club he owns.
Both the ECB and the ICC felt the intense focus on and public clamour for action had made it impossible for the three players to play any further part in the tour. The ICC was under pressure to act before Sunday's Twenty20 match between England and Pakistan in Cardiff.
Sources had indicated all week that a negotiated withdrawal was the most likely solution, but a last minute intervention from PCB chairman, Ijaz Butt, threw a spanner in the works. His insistence that the players might still play was seen as an attempt to reassure the Pakistani public that it was not capitulating.
Giles Clarke, the ECB's chairman, and David Collier, its more quietly diplomatic chief executive, were heavily involved in persuading the Pakistan contingent that the tour could not continue without the withdrawal of the three players.
Clarke is chairman of the ICC's Pakistan task team, charged with helping Test cricket return to the country, which has not hosted any international cricket since the terrorist attack on the Sri Lanka team bus in March last year.
Sport, pages 1-3
By Alexis Petridis
With one band Nick Cave has a carefully built musical legacy. With his other, he can visit his 'lower self' and make chaotic noise. Alexis Petridis meets Grinderman
You would be hard-pushed to call the video for Grinderman's new single Heathen Child anything other than striking. On one level, that's far from surprising. The director is John Hillcoat, best known for his harrowing adaptation of Cormac McCarthy's novel The Road. His most recent collaboration with Nick Cave was the multiple award-winning 2005 film The Proposition, and that was pretty striking, too: the kind of film you watch through your fingers, a feast of blood and brutality set in 19th-century Australia. Then there's the racket Cave makes with Grinderman, which seems to have more in common with the nihilistic violence of his early 80s band the Birthday Party than the stately, beautifully wrought ballads that populate his most recent albums with the Bad Seeds. Like Grinderman's previous singles, Get It On and No Pussy Blues, Heathen Child is a scouring, ferocious din built around Cave's rudimentary explorations of the guitar, an instrument he only took up a couple of months before the band recorded their 2007 debut album ("What do you mean, have I become more adept?" he deadpans. "What, you're saying I wasn't adept before? Would you ask Jimi Hendrix that question on his second album?"). Under the circumstances, it seems fairly easy to predict the kind of visual accompaniment Cave and Hillcoat might have dreamed up.
But, as swiftly becomes apparent when Cave calls up the video on his laptop, striking comes in many forms. It opens with a beautiful girl submerged in a bath of milk, before Cave and his fellow Grindermen – Jim Sclavunos, Martyn Casey and Warren Ellis, Bad Seeds all – appear. They seem to be dressed as Roman centurions, their plumed galeae and thigh-length tunics accessorised, in Cave's case at least, with a pair of leopardskin underpants.
"We're actually sort of Olympian deities, loosely modelled on the God of War," corrects Sclavunos. "He was an aggressively, arbitrarily violent god."
"There was a miscommunication with the costume department," nods Cave, a little ruefully. "And we ended up looking like gay Roman footsoldiers." He brightens a bit. "Still, we've got the legs for it."
"I think if you keep watching the video, and you witness the supernatural powers we exhibit, then it will become clear how godlike we truly are," suggest Sclavunos, as the kind of very low-rent death-ray special effect you used to get on Tom Baker-era Doctor Who episodes shoots from the eyes of his onscreen counterpart. Later he does a slow-motion hip-swinging dance that reveals Cave drew the long straw when it came to underwear in the video: beneath his tunic, Sclavunos appears to be wearing some kind of posing pouch. As his buttocks fill the screen, the pair dissolve into laughter.
The video is, they claim, all part of the concept surrounding the second Grinderman album, the prosaically titled Grinderman 2, which arrives complete with an accompanying book of illustrations by a German artist who contacted Cave after making a video for the Bad Seeds song Moonland as part of her finals: "I got her to illustrate the whole record, so that we could work out a kind of overarching narrative that ran from one song to the next." What exactly that overarching narrative might be remains a moot point, at least today: "You have to buy the fuckin' record and work it out," snaps Cave, when the subject is broached.
Grinderman's debut served up the sound of what Cave described as "a mammoth midlife crisis" in a sleeve that featured a photograph of a monkey apparently masturbating ("Just for the record," Cave clarifies, "it's not wanking, it's holding on to its genital area, terrified"). The songs were fixated on sex and ageing and masculinity in crisis: Cave depicted himself sucking his gut in and offering to do DIY in doomed attempts to attract female attention: this from a man who in his youth was wont to write songs in which he dealt with recalcitrant females by stabbing them in the head. There's some more of the same on Grinderman 2: "My baby calls me the Loch Ness monster," growls Cave, "two humps and then I'm gone." He says Grinderman's method of songwriting – improvising everything, including lyrics – tends to bring out his lower self: "You can't write that stuff down on a piece of paper. I can't sit in my office and write it down, because when you're writing, you're working from the mind and your mind is telling you: 'Don't write that down, don't go there, it's not a good idea, it's not worth the grief.'" But like the sound of the album, the lyrics also seem more dense and strange, less prosaic than its predecessor. "From the get-go, there were images cropping up in the ad-lib lyrics that Nick was coming up with," says Sclavunos. "There were various hairy beasts. Wolfmen. There were threads. There is a consistent atmosphere of oppressive, hallucinatory evil, an anxious undercurrent. It's got its peaks and valleys, but it permeates everything."
Cave chuckles. "This is Jim's third day of interviews," he shrugs.
In person, Cave and Sclavunos make a great double act. Cave speaks with that rising Australian inflection that makes every statement sound like a question, which shouldn't be surprising, but somehow is. Sclavunos's voice is a low, dolorous rumble that emerges from within a beard you would describe as vast if it wasn't next to that of Warren Ellis, a man whose tonsorial arrangements beggar belief. Similarly, Sclavunos's sharp brown suit pales a little when placed next to Cave, who today sports a scarlet shirt open to mid-chest and a spectacular variety of medallions. They are both infectiously enthusiastic about Grinderman, whose existence Cave credits with revitalising the Bad Seeds. "It just had a kind of cataclysmic effect, you know? It just turned things upside down. For me, sonically, there was just too much going on in the Bad Seeds. There's a sound that's really unique to them, this kind of monstrous sound, and there's nothing I like more than going onstage with them and having this monstrous kind of thing about me, but something had happened where it felt really difficult to make a record like The Boatman's Call again, where you could go in and say, all right, this is basically piano and drums and bass, everybody sit back. It felt like every time I took a song into the Bad Seeds, everyone piled in on it. In the Bad Seeds," he smiles, "you play a song, and everyone's grabbing a fuckin' maraca, y'know?"
Both are extremely funny, which comes as a relief. Cave, in particular, trails a reputation for prickly relations with the press that's perhaps a little out of date – yes, he did once write a song called Scum in which he colourfully decried Mat Snow, then of the NME, as "a miserable shitwringing turd who reminded me of some evil gnome" and yes, he did once punch a journalist in the middle of an interview, but that stuff all happened decades ago, at the height of his heroin-sozzled dissolution. Judging by his more recent cuttings, Cave takes umbrage at journalists depicting him as a former hellraiser now living a life of domestic contentment with his family in Hove, but there's no doubt his life is more settled than it once was. You could argue that it's virtually impossible to imagine how Cave's life could be any less settled than it once was, but, nevertheless, his current arrangement seems to suit him. At 52, his productivity is torrential: by contrast, even Sclavunos – who balances the Bad Seeds and Grinderman with his own band, the Vanity Set, and a burgeoning career as a producer for, among others, the Horrors and the Jim Jones Revue – is taking it easy.
When, in the wake of The Proposition's success, Variety magazine named Cave one of 10 screenwriters to watch, he claimed: "The last thing I ever wanted to get involved with is Hollywood … It's a waste of fucking time and I have a lot to do." Indeed, last year alone, as well as working on another film with Hillcoat, the Brighton-set Death of a Ladies' Man, he produced two film scores, a second novel, The Death of Bunny Munro – which garnered both good reviews and a nomination for the Literary Review's Bad Sex in Fiction awards – and narrated an animated film called The Cat Piano. And 26 years after they formed, the Bad Seeds are in the midst of a startling artistic purple patch: their last two albums, the double Abattoir Blues/The Lyre of Orpheus and 2008's astonishing Dig!!! Lazarus Dig!!! are probably the best Cave has ever put his name to. He says he produces records so quickly his label doesn't know what to do with them: "Daniel Miller from Mute had a quiet talk to me to say, 'Pull your fuckin' head in and stop doing so much stuff. You've become a marketing nightmare.' I took some time off." He laughs. "Well, a weekend. It becomes a problem, how to pace all the stuff."
The critical acclaim that seems to come as standard with the latterday Bad Seeds' career is a long way from the polarising effect both Cave and Sclavunos's early bands had on listeners: while Cave seemed to spend as much time with the Birthday Party punching the front row as he did singing, Sclavunos was doggedly thumping a solitary snare drum in Lydia Lunch's screeching no wave band Teenage Jesus and the Jerks. You get the feeling that both of them miss at least some of the chaos they once provoked, hence Grinderman. "There's a comfortability with the Bad Seeds that Grinderman disrupts," says Cave. "That's what's chaotic about Grinderman. I get very different responses to it from my very close friends, from my colleagues, people I work with. Some love it, some are baffled by it. Some are like flat-out, 'What the fuck are you doing?' which is exciting to me. There's a pressure with the Bad Seeds that I don't feel in Grinderman. Within the Bad Seeds there is a sense of duty for me to the band's legacy. I don't want to put out a whole load of shitty records with the Bad Seeds. There's a kind of open rule within Grinderman that it's OK to embarrass yourself, to go to places that could be potentially disastrous."
"We've tried flute solos," interjects Sclavunos. "Drum solos. All sorts of dubious territory."
"No one's going to come down on you for it," Cave says. "It's out there in those regions that interesting things are found, but it's creatively dangerous to go there. We go into the studio with nothing at all. No lyrics, none of that, no chord charts. The only thing I had for the first record was an empty notebook with the words No Pussy Blues written on one page. This time I didn't even have that. We play for five days, then we listen to this morass of … bullshit that we've played, and suddenly these great bits of music emerge."
"There's no disrespect to the Bad Seeds," Sclavunos says. "It's more like we want the disruption. I think sometimes the public starts thinking along the lines of, 'Oh, we've got their number,' and they start compartmentalising you. We do make an effort with every Bad Seeds record to do something new, to challenge ourselves. Grinderman helps that along. We want the public to be as on the edge of their seats as we put ourselves."
"People seem to be more concerned about what the Bad Seeds is and what Grinderman is than we are," Cave sighs. "We understand it's confusing. We don't understand what's going on with it all. Life's too short to worry about it." There's a pause. "There was definitely a feeling on this record that we wanted to get back to something that had a really malign feel to it, and take great pleasure in it."
Why?
"It's just more natural," he says, and returns his attentions to his laptop screen, where Jim Sclavunos's buttocks have been replaced by the diverting sight of Nick Cave, middle-aged man of letters, recent recipient of an honorary doctorate from Dundee University for his "visionary songs, stories, books films and poetry", dressed as a Roman centurion, firing an unconvincing death-ray special effect out of his bum.
Grinderman 2 is released on Mute on 13 September. They play the Garage, London, on 23 September, then touring.
By Pamela Stephenson Connolly
Try to excite him in other ways - erotic massage might do the trick
I enjoy sex with my boyfriend of two years – he has a stunning body that really turns me on. But lately he seems bored and has started pressing me for anal sex, to use sex toys and to have a threesome. None of that appeals to me, but I'm worried that if I don't try these novelties, he'll break up with me. How can I keep him happy without doing things I don't fancy?
Your reason for enjoying sex with him is his appearance, so your main arousal trigger may be visual. To help excite him in a more palatable manner, find out which of the five senses cue him erotically. For example, try erotic talk to see if it is auditory (describing scenarios involving threesomes might do the trick), or erotic massage for touch. For taste, try using food such as chocolate, or bring enticing scents into the bedroom (don't deny him your own natural one).
In the process of investigating you'll demonstrate that you too can be experimental. He may be finding your focus on his body objectifying (men experience that as well as women), so he could be trying to deflect that by suggesting erotic play that puts the focus back on you. The "novelties" may seem more appealing once fully discussed. Safety considerations are often the biggest barrier, so negotiation is vital. Anal sex, threesomes and toys all involve trust; he may be unconsciously asking you to do just that.
Pamela Stephenson Connolly is a clinical psychologist and psychotherapist who specialises in treating sexual disorders.
• Send your problem to private.lives@guardian.co.uk
By Dorian Lynskey
Musicians don't often end up on FBI watch lists, but the Last Poets did, thanks to their links with the Black Panthers. Dorian Lynskey looks back at a time when pop and politics collided as never before
One day last December, Umar Bin Hassan of the Last Poets attended a gathering in Chicago to commemorate local Black Panther Party leader Fred Hampton, who was shot dead by the police 40 years earlier. There were about 30 people, including the widows of Hampton and fellow Panther Eldridge Cleaver, and former members of radical groups such as Weatherman. "We laughed and drank wine and talked about what we all had been through," Hassan says. "I'm glad I made it. It was good to see a lot of those people still living, you know?"
They were survivors of a turbulent period. In 1968, just two years after Oakland residents Huey Newton and Bobby Seale formed the Black Panthers, FBI director J Edgar Hoover called the party "the greatest threat to the internal security of the country" and set about spending millions of dollars to infiltrate, sabotage and divide it. By the mid 70s, it was in terminal decline, and Hampton was far from the only fatality.
The Panthers' legacy has been fiercely debated ever since. Some people claim the leadership, especially Newton, were their own worst enemies: paranoid hotheads prone to violence and cronyism. Others regard them as heroes who gave young African-Americans power and pride in the face of endemic racism, only to be brought down by Hoover's machinations. A new project, Tongues on Fire, aims to accentuate the positive, bringing together the party's official artist and minister of culture, Emory Douglas, with musicians such as the Last Poets, the Roots and jazz saxophonist David Murray.
Valerie Malot, a Frenchwoman who is Murray's wife and producer, conceived Tongues on Fire after attending an activist convention in Oakland and seeing Bobby Seale selling a Panther-themed hot sauce named after the famous 60s war cry Burn Baby Burn. "I was really shocked when you've tried all your life to change people's conditions and you end up selling hot sauce at a convention," she says. Malot's focus on Douglas makes sense. He came to work on the Black Panther newspaper when the party had barely a dozen members, and the vivid, revolutionary designs he produced during the subsequent decade are part of the era's visual vocabulary. But the Panthers' relationship with music was much more complex.
When Newton and Seale were preparing the first edition of the newspaper in 1966, they listened obsessively to "brother Bobby" Dylan's Highway 61 Revisited, especially Ballad of a Thin Man, which Newton read, rather fancifully, as a parable of racist oppression. At this point, black artists were still using code words such as "respect" and "pushing" when dealing with the subject of race. Even after blackness entered pop's lexicon via James Brown's Say It Loud – I'm Black and I'm Proud, Newton and Seale's rhetoric, and Douglas's artwork, only found their musical analogue with the arrival of the Last Poets.
Formed in Harlem in 1968, the Last Poets lost most of their founding members before they even recorded their debut album. The classic lineup on the Poets' eponymous 1970 release consisted of Abiodun Oyewole, Jalal Mansur Nuriddin and Umar Bin Hassan. In his hometown of Akron, Ohio, Hassan had been an angry young man looking for direction when he saw the Panthers' first televised action: their armed entrance into the California legislature in May 1967.
"Woah," he remembers. "I was so excited to see some young black men do that. The Panthers were my first introduction to black militancy. About two months later I saw Huey Newton on the news, standing on the fenders of two cars and throwing down his fists at these white cops. I thought the revolution was going to begin and end in California. I ain't never been in a gang, but if I was going to be in a gang I wanted to be in a gang that stood up and defended the black community from racist cops."
Nobody had ever heard anything like the Last Poets. They combined the militant spirit of avant-garde jazz musicians such as Archie Shepp with the furious poetry of Amiri Baraka, who called for "poems that kill: assassin poems". Their rage was aimed at both white America ("the Statue of Liberty is a prostitute") and apathetic, unrevolutionary black people. Controversially, they called these people "niggers".
"The Last Poets out-niggered everybody," Hassan says with a throaty chuckle. "We had Wake Up Niggers, Niggers Are Scared of Revolution … Our thing was not to use that word as casually as the kids today. You got young kids who think it's OK to be a nigger. Nah, it ain't OK. We were trying to get rid of the nigger in our community and in ourselves. The difference between us and hip-hop is we had direction, we had a movement, we had people who kept our eyes on the prize. We weren't just bullshitting and jiving."
Despite zero airplay, the response to the album from those who heard it was "overwhelming" and the Panthers saw a fantastic recruitment opportunity in the Poets. "Everybody knew how much the people liked us and everybody wanted us to become a part of their thing," says Hassan. "But we kept ourselves independent." They did not need to be card-carrying members in order to be useful. "Music to [the Panthers] was something to get people's attention so they could speak," says David Murray, who was a teenager at the time. "Like a trumpet sounds and then there's a speech."
Very soon the party had a soundtrack, with such radical poets as the Watts Prophets, Nikki Giovanni and Gil Scott-Heron emerging almost simultaneously (although Scott-Heron was sceptical about "would-be revolutionaries" with "afros, handshakes and dashikis" in his song Brother). Sympathetic rock stars such as Santana and the Grateful Dead played fundraisers. The party even attempted to launch its own musical stars. Elaine Brown, a new recruit who later became the party's minister of information and, eventually, chairman, recorded a vocal jazz album called Seize the Time and a follow-up for Motown, Until We're Free. At Emory Douglas's suggestion, four San Francisco Panthers formed a Temptations-style soul group with the Marx-inspired name of the Lumpen, though songs such as Revolution Is the Only Solution and Old Pig Nixon were a long way from the Temptations in terms of chart appeal.
Unlike the Last Poets' output, this was pure propaganda music. As the Lumpen's Michael Torrance explains on the Black Panther history site It's About Time: "The music was simply another facet of service to the Party and the Revolution. Furthermore, since we were an educational cadre, rigorous study was necessary to be able to translate the ideology of the BPP into song." The musicians employed the same strategy as Douglas did with his artwork. "Huey and Bobby always said that the African-American community wasn't a reading community but they learned through observation and participation," Douglas says. "[African revolutionary] Samora Machel said you have to be able to speak in a way that a child could understand." Indeed, the Panthers' most famous song, written after Newton's arrest for murdering a police officer in 1967, was a two-line chant that even children could sing: "Black is beautiful/ Free Huey!"
In 1970, the year the Last Poets began their album with the ominous phrase "time is running out", it seemed to many US radicals, black and white alike, that revolution was imminent. But within a couple of years, the Black Panther Party was in disarray, largely thanks to the dirty tricks of the FBI. "Those who have the power always have the time and resources to get together," Hassan says. "They took their blows for a minute but then they realised, 'We gotta come back at this.'"
The agency fomented civil war between Newton and Cleaver, with bloody consequences. Douglas, who was regularly tailed by FBI agents, remembers seeing his artwork imitated on a forged pamphlet attacking another black organisation. "They tried to destroy and discredit the Black Panther Party by any means necessary," he says. "We knew what was going on but you couldn't put your finger on it." The Watts Writers Workshop, the base of the Watts Prophets, was burned to the ground by a trusted employee who, it transpired, was an FBI plant. The Last Poets were constantly monitored, as Hassan discovered years later when he saw his FBI files. "We were on President Nixon's list, the defence department list, the national security list. It kind of blew my mind."
Not all the blame, however, can be laid at the government's door. The Huey Newton who emerged from jail to retake the party leadership in late 1970 was a troubled, paranoid character who acquired a taste for cocaine and groupies and soon fell out with Cleaver. "Bobby Seale was the brains," says David Murray. "Huey Newton was an action person. He would just go and do it. That might also be why he's not alive [Newton was shot by a crack dealer in 1989]."
Despite positive achievements such as a free breakfast programme for poor children, the mood of mistrust caused Panther members to desert en masse. Elaine Brown resigned the chairmanship in 1977 after Newton approved the beating of a female party administrator. Eight years earlier she had recorded Seize the Time. Now the time was definitely past.
"We all thought we were moving towards bringing about something new, something good, for America – not just for black people, but for all people," Hassan says. "But when you started seeing one brother go one way and another brother snitching, a lot of us went back on to the streets doing what we were doing before, selling drugs or hustling, because we were disappointed." Hassan himself left the Last Poets in 1974 and became a cocaine addict, giving poetry readings in crackhouses. "Yeah man, there was a lot of disappointment."
Asked about the Panthers' balance sheet, Emory Douglas draws a long sigh. "I would say we did the best we could under the circumstances. You have to understand that never in the history of the country had any organisation stood up to the challenges in the way we did and at such a young age." David Murray thinks the party has to be seen in context. "This was a time when California was changing the world. I was a hippie, I was a Black Panther, I was in the Nation of Islam. That was how you grew up during that time – you had to dabble in each one."
Tongues on Fire demonstrates that the era's revolutionary art, visual and musical, outlasted the party that inspired it. Chaka Khan and Chic's Nile Rodgers drew from their experience as members. Bands such as Public Enemy (whose Chuck D remembers singing "Free Huey!" as a child) pitched themselves as the Panthers' heirs: "This party started right in '66/ With a pro-black radical mix." Naturally, they were fans of the Last Poets.
A few years ago, Hassan met former Panther chairman David Hilliard in Oakland. "He said, 'Do you know how important you guys were? People listened to y'all. Y'all made people want to be Panthers and join the Nation of Islam. Y'all were as important as anyone because you made people think.' It took me a long time to understand how much influence we had on that time."
Tongues on Fire: A Tribute to the Black Panthers, featuring David Murray, the Last Poets and the Roots, is at the Barbican, London, on 11 September.
By Denis Campbell
UK research identifying loss of key protein in mice eggs is seen as a breakthrough that may help prevent birth defects
Scientists have made a breakthrough in understanding why older women become less fertile, suffer a miscarriage or have a baby with Down's syndrome.
The discovery could ultimately lead to treatments that would increase the chances of a successful pregnancy for growing numbers of would-be mothers in their late 30s and early 40s.
Researchers led by Dr Mary Herbert, an expert in reproductive biology at Newcastle University's Institute for Ageing and Health, have identified why some older women produce abnormal eggs, according to findings published in the journal Current Biology.
It has been known for a long time that would-be mothers who are nearing the end of their fertility are at higher risk than usual of having eggs that are affected by chromosomal abnormalities, but the underlying cause has been unclear.
The new study has identified problems arising from a woman's declining stock of proteins called Cohesins, which act as binding agents to hold chromosomes together by keeping them inside a ring. They are vital to ensure that chromosomes split evenly when cells divide.
Women's supplies of Cohesins fall as they age, Herbert and her colleagues discovered. Tests on eggs taken from both young and old mice indicated that the amount of Cohesins in women's bodies declines after their mid-30s.
When that happens it means that chromosomes are less tightly held together and they are therefore more likely to result in defective eggs, which can cause problems such as miscarriage and Down's syndrome.
Every cell in the human body, apart from eggs and sperm, contains two copies of each of the body's 23 chromosomes. Sperm and eggs must lose one copy each as they prepare for fertilisation. That process involves a complicated form of cell division.
This problem is compounded with eggs, because the attachments that hold chromosomes together have to be maintained by Cohesins until the egg divides just before ovulation.
When Herbert's team studied chromosomes during division in the egg, they found that the lower levels of Cohesin in eggs in older females led to some chromosomes becoming trapped and unable to divide properly.
"Reproductive fitness in women declines dramatically from the mid-30s onwards. Our findings point to Cohesin being a major culprit in this", said Herbert. More work was needed to understand why Cohesin declines over women's reproductive years, and such knowledge could lead to ways being developed to stop that loss from occurring.
Dr Peter Bowen-Simpkins, the medical director of the London Women's Clinic network of private fertility clinics and spokesman for the Royal College of Obstetricians and Gynaecologists, said the study was "very exciting" and could lead to real improvements in older women's chances of having children.
"This breakthrough could mean the difference between success and failure – them having a baby or not – for the fast-growing number of women who are trying to conceive after their late 30s," he added.
By Martin Kettle
That opening A of the composer's stunning first symphony, to be played at the Proms tomorrow night, still touches more than words
The offer of an exclusive pre-publication interview with Tony Blair about his memoir wasn't something to turn down. Having snapped it up, preparation took me over last week, getting a detailed advance read of A Journey, then interviewing Blair himself for 80 minutes on Sunday and finally writing it all up for Wednesday's Guardian. Long days. Lots of work. Hugely interesting.
Now for my confession. Throughout this time, a large part of my mind was somewhere else. Even when it was least expected, a musical chord – and then the piece of music that grows out of it – kept sounding in my head. If you want the technical details, though they aren't essential, it is a chord of the note A, stretching across seven octaves and played with quietly throbbing pregnancy by the strings of a symphony orchestra. It's the opening chord of Gustav Mahler's first symphony and, absorbing though the former prime minister's words are, I confess that Mahler ousts even Tony Blair every time.
Mahler's chord is in my brain because tomorrow night at the Proms, Simon Rattle will stand on the conductor's rostrum in the Royal Albert Hall and give the downbeat to the Berlin Philharmonic strings to play it, along with the rest of Mahler's symphony, in one of the glamour nights of this year's season. Every ticket sold out on day one of public booking – almost as if it was Glastonbury.
As Lynsey Hanley recounted in these pages last week, Britain's class-forged cultural manacles mean that this massively exciting classical music prospect will leave most of the population cold. This partly explains why, even in an article in this newspaper, I am worming my way towards my subject rather too gradually and even apologetically, laying false trails about Blair and pop festivals. But the plain truth about the Rattle concert is this: it's a great Mahler symphony played by what is often the best orchestra in the world – and I can't wait to get over to Kensington.
The writer Norman Lebrecht has entitled his own recent book – like Blair's, it is by turns fascinating and vain – Why Mahler?. My question would be What Is It About Mahler? What is it about this composer, in his grave for 99 years, that means, as Lebrecht says, that his nine completed symphonies have displaced Beethoven's as classical music's biggest box office draw?
What is it about Mahler's music that has such a particularly powerful effect on so many people in the modern world? There are, be clear, a lot of us around. Lebrecht may claim "Mahler is mine", but plenty of others say it too. Just before he was deposed, no less than the not-particularly-musical Mikhail Gorbachev pronounced – after a performance of Mahler's fifth – that it "somehow touched our situation, about the period of perestroika with all its passions and struggles". Listening to Mahler does not illuminate Soviet history much for me. But it certainly makes me think about mortality. Everybody Mahlers – Lebrecht thinks the composer's name should be turned into a verb – in their own way.
Perhaps the answer is that Mahler was a public intellectual who addressed the world in music, not words. Mahler once told Sibelius that a symphony is "like the world" and should encompass everything. In Lebrecht's view, Mahler's first symphony tackled the issue of child mortality, his second the challenge of the afterlife, his third the destruction of the environment, while his fourth proclaimed racial equality.
These are large and unmusical claims. But music is a language of communication. Mendelssohn said it was a more precise language than words – a potent thought. And, as Lebrecht says, Mahler is not authoritarian. He is a kind of symphonic blogger, a composer seeking unmoderated responses, anxious for feedback and interaction. So why not a symphony about ecology or race? Since Mahler's music also often feels as if it is written on the cusp of a transition from a settled past into an unsettled future, and since that sense of transition is also an ever-present sensibility in our own era, it is hardly surprising that Mahler sometimes seems to have found a hotline to the modern psyche.
Lacking Lebrecht's self-confidence – not difficult – my views about Mahler are more tentative. It seems to me that Mahler was lucky and gifted enough to have begun his first symphony with a chord that somehow implies the birth of everything, a declaration by a stunningly original musical voice for which all things were possible. But Mahler was also lucky enough, if lucky is the right word for a man who died too soon, that he ended his last completed symphony, the ninth, with music that is a profound and, in many respects, highly affirmative meditation on mortality.
Last month, at the Lucerne festival, I heard perhaps the finest of all current orchestras under the baton of the most eminent of all conductors playing Mahler's ninth. Claudio Abbado's Mahler is the yardstick by which to judge all the rest, partly because his Lucerne festival orchestra is simply so astonishingly good, but also because Abbado's encounters with mortality – he has survived major cancer surgery – bring exceptional power to his extremely rare performances. When the symphony finally subsided into silence, no one in the hall moved a muscle for around two minutes. This was as good as it gets.
Later on I came across Mahler's letter of farewell to the Vienna opera orchestra in 1907 after a turbulent and unwilling resignation. "Instead of the whole, the complete creation that I dreamt of, I leave behind something fragmented and imperfect – as man is fated to do," Mahler wrote. "It is not for me to judge the value of my work, but at this moment I am entitled to say of myself: I was honest in my intentions and I set my sights high. In the press of battle, the heat of the moment, there have been wounds and errors on both sides, yours and mine. But when a work succeeded, when a task was accomplished, we forgot all troubles and sorrows and felt richly rewarded."
That's what Mahler's music says too. And what a political memoir ought to say. I wonder if Blair knows his Mahler? Emotional intelligence? Few greater. Bring on that chord of A.
By Nick Davies, Nicholas Watt, Vikram Dodd
• Calls for judicial inquiry after reporter is suspended
• Latest phone hacking allegation dates from earlier this year
• Four targets poised to sue police over failure to warn them
The government tonight came under pressure to set up a judicial inquiry into the phone hacking scandal at the News of the World after the paper confirmed that it has suspended a journalist while it investigates new allegations of the unlawful interception of voicemail.
The prime minister's media adviser, Andy Coulson, has denied a report in the New York Times which claimed he freely discussed the use of unlawful news-gathering techniques when he was editing the paper and "actively encouraged" a named reporter to engage in illegal interception of voicemail messages. Coulson has always denied knowing of any illegal activity by his journalists.
Scotland Yard, too, found itself in the firing line after the New York Times quoted unnamed detectives alleging they had cut short their investigation because of their close relationship with the News of the World. A group of four public figures, including former deputy prime minister John Prescott, is poised to sue police over a failure to warn them they had been targeted by the private investigator at the centre of the scandal, Glenn Mulcaire.
The Guardian has learned that the Metropolitan police commissioner at the time of the original investigation, Sir Ian Blair, was among those whose names were found in material seized from Mulcaire, raising questions about whether officers who were directly involved in the investigation had discovered that they, too, had been targets of the newspaper. It is understood Blair was assured at the time that his phone had not been hacked.
The former Labour minister Tom Watson today called on the government to set up an inquiry into the relationship between Scotland Yard and Rupert Murdoch's News Group, which publishes the News of the World. In a letter which was addressed to the deputy prime minister, Nick Clegg, in the absence of the prime minister, who is on paternity leave, Watson wrote: "The testimony given to the New York Times is that the police did not share all the relevant information with the Crown Prosecution Service, and that, if they had done, the CPS would have reached a different conclusion. These are clear grounds for a judicial inquiry.
"I think that information should be made available to the people concerned."
Amid signs of unease among the Tories' coalition partners at the new allegations about Coulson, a Lib Dem member of the Commons culture select committee has also called for an inquiry.
Adrian Sanders, MP for Torbay, said: "For the sake of justice a judicial inquiry would, along the lines of the Hutton inquiry, put this to bed once and for all."
At the end of the original police inquiry, in January 2007, Mulcaire and the News of the World's royal reporter, Clive Goodman, were jailed for illegally intercepting the voicemail messages of eight people. The Guardian last year revealed that the scandal involved other journalists at the paper and numerous other victims.
The News of the World today confirmed one of its reporters is currently suspended after his phone number was allegedly identified as the source of an unauthorised attempt earlier this year to access the voicemail of a public figure. The Guardian understands the suspended reporter has worked at the News of the World since January 2005, specialising in celebrity scoops. His name has not appeared in the paper since April. The reporter today did not return phone calls.
The paper's managing editor, Bill Akass, said it was still investigating the allegation. The Press Complaints Commission said it had been aware of the allegation since June but had chosen not to investigate because it was the subject of legal action by the alleged victim. In May the PCC's chair, Lady Buscombe, told Radio 4's Today programme: "If there was a whiff of any continuing activity in this regard, we would be on it like a ton of bricks. I can absolutely assure you of that."
Scotland Yard is facing legal action from four people whose names were found in material seized from Mulcaire in 2006 and who were not warned by police that they were potential victims. The former deputy prime minister, John Prescott, has written to them asking for an explanation for the failure. His solicitor, Dominic Crossley, said: "Absent a sufficient response, he will be beginning proceedings."
Prescott said tonight: "It's vital that the Met comes clean and reveals who and how many people were targeted by this rogue newspaper. We need to know the full truth."
The former Europe minister Chris Bryant, whose name and phone number were found in Mulcaire's possession and who was targeted by tabloid journalists, separately is preparing for a similar judicial review of the police conduct of the case.
Bryant is involved in a joint action with an investigative journalist, Brendan Montague, and one of Scotland Yard's former deputy assistant commissioners, Brian Paddick, whose name was found in Mulcaire's records but who was never warned by his own former colleagues.
Their solicitor, Tamsin Allen of Bindman, plans to ask the court to order Scotland Yard to hand over a list of all those who have been identified as potential victims. She said: "According to the rules, the claim and the pre-action letter should be served on anyone with a legitimate interest in the outcome. We say that that includes all of the people who are effected in the same way as our clients."
According to paperwork in the possession of the CPS and seen by the Guardian, Scotland Yard made repeated requests to prosecutors to "ring-fence" the evidence in order to conceal the names of "sensitive" victims. The paperwork also shows that, after studying phone records, the police found that "a vast number of unique voicemail numbers belonging to high profile individuals (politicians, celebrities) have been identified as being accessed without authority" but the officer in charge, Andy Hayman, subsequently claimed that they had found "only a handful" of victims, a claim which has been repeated by senior Yard officials in recent press briefings.
The lead Labour member on the Metropolitan Police Authority, Joanne McCart ney, tonight wrote to the Metropolitan police commissioner, Sir Paul Stephenson, asking for details of senior officers whose voicemail may have been intercepted by Mulcaire. "It is vital that the public can be confident the Met is investigating crime without fear or favour," she wrote.
Today it emerged another senior Scotland Yard officer at the time, Michael Fuller, was also on the list of names found in the private investigator's possession.
Scotland Yard has previously admitted that police officers as well as government, military and royal figures were among those who were warned they were potential victims, but they have refused to identify the individuals or even to say how many they warned.
Scotland Yard today dismissed the claims about them. "The Met does not consider the issues raised by the New York Times accurately reflect how the investigation was conducted," a spokesman said.
Other legal actions are also being launched. Sky TV football commentator Andy Gray, the former MP George Galloway, and Max Clifford's former assistant, Nicola Phillips, have all separately issued proceedings for invasion of privacy. And Mark Lewis, a solicitor who handled an earlier legal action, is suing Scotland Yard and the Press Complaints Commission in relation to remarks made in a speech made by Lady Buscombe last year. The PCC has formally apologised, but the case continues.
Others who are known to have had their voicemail accessed – but who were not identified in the original court case – include Prince William, Prince Harry, the then culturesecretary Tessa Jowell, Boris Johnson, the then-editor of the Sun Rebekah Brooks, Andy Coulson himself as editor of the News of the World, and the former England football manager Steve McClaren.
By Ewen MacAskill
Thirteen workers flee drilling platform but oil company denies spill
Fresh fears about drilling in the Gulf of Mexico were raised today when fire forced workers to abandon an oil and gas platform, just six months after the BP explosion that created an environmental disaster in the region.
The company, Mariner Energy, said none of the 13 workers, who fled the platform and took to the sea in immersion suits, were injured. The coastguard said they were taken by ship to a nearby platform and from there to hospital in Houma, Louisiana, to be checked. Ships, helicopters and a plane were sent by the coastguard from Houston, New Orleans and Mobile.
Photographs of smoke billowing from the rig alarmed politicians, environmentalists, fishermen and others on the Gulf coast, still coping with pollution from the BP oil spill.
Peter Troedsson, a spokesman for the coastguard, said the fire had been put out and, in spite of initial reports of an oil slick, ships and helicopters at the scene could see no pollution round the platform.
He said the initial report had come from a Mariner ship at the scene, but the coastguards could see no oil sheen at the site.
The fire is a setback for the oil industry, which has been arguing that drilling in the Gulf is safe and that the BP explosion was a rare event. It came only 24 hours after companies including Mariner had staged a rally in Houston against a moratorium on deepwater drilling in the Gulf. About 5,000 employees had been bussed in for the rally.
Barbara Dianne Hagood, a spokesman for Mariner Energy, told the Financial Times on Wednesday: "I have been in the oil and gas industry for 40 years, and this [the Obama] administration is trying to break us. The moratorium they imposed is going to be a financial disaster for the Gulf coast, Gulf coast employees and Gulf coast residents."
Another spokesman for Mariner, Patrick Cassidy, said he did not anticipate any pollution, as the platform had not been drilling and there had been no blowout. "There is no hydrocarbon spill," he said.
The fire had broken out on a facility above the water, at some distance from the wells, he added.
Dave Reed, an oil worker on a platform about 14 miles away, told CNN he could see the smoke and that a call had gone out for ships, helicopters and planes in the region to divert to the area. "It took an hour for the helicopters to get here and all 13 were taken from the water," Reed said.
The alarm was raised by a commercial helicopter flying over the platform. A coastguard spokesman, chief petty officer John Edwards, said: "We were able to confirm that all people were accounted for."
The fire broke out on the platform Vermilion Oil Rig 380, about 90 miles south of the Louisiana Coast and west of the earlier BP explosion that had killed 11 workers.
Both the White House and the coastguard said they did not anticipate any pollution, but that ships equipped with facilities to help clean up spills had been sent to the area as a precaution.
The White House press secretary, Robert Gibbs, said: "We obviously have response assets ready for deployment should we receive reports of pollution in the water." The White House stressed that, unlike the BP rig, the platform was not a deepwater facility and was only working to a depth of 340ft.
BP's attempts to cap its well, which saw hundreds of millions of gallons of oil spill into the Gulf, were bedevilled by the depth at which they had been drilling. They finally capped the well in July.
Mariner is a small company in the process of being taken over by the Apache oil company in a deal worth an estimated $3.9bn (£2.5bn). The deal has not yet been completed. Shares in both companies fell after news of the fire.
The Seven Secrets of Successful Data Scientists. Some sensible advice, including pick the right sized tool, compress everything, split up your data, use open source and run the analysis where the data is.
Setting up Munin on Ubuntu. Useful guide to setting up my favourite graphing/monitoring tool for personal projects.
RasterWeb: Lanyrd. Pete Prodoehl calls me out on Lanyrd’s integration with the Twitter auth API at the expense of OpenID. I’ve posted a comment with my justification—essentially, tying to Twitter’s ecosystem means I can actually implement the features I’ve been talking about building on top of OpenID for years, with far less engineering effort.
Lanyrd—the social conference directory. Nat and my new project, launched today and doing pretty well despite some early server hiccups. Sign in with Twitter to see conferences that your friends are speaking at, attending or tracking, then add your own events. We’re particularly keen on helping people build up a detailed profile of their previous talks, so adding older conferences is encouraged.
LWPx::ParanoidAgent. Every programming language needs an equivalent of this library—a robust, secure way to make HTTP requests against URLs from untrusted sources without risk of tarpits, internal network access, socket starvation, weird server errors, or other nastiness.
If you are not paying for it, you’re not the customer; you’re the product being sold.
What is the history of Django?. I’ve been playing with Quora—it’s a really neat twist on the question-and-answer format, which makes great use of friends, followers and topics and has some very neat live update stuff going on (using Comet on top of Tornado). I just posted quite a long answer to a question about the history of Django.
Readme Driven Development (via). Tom Preston-Werner advocates for writing the readme before any other code. “Until you’ve written about your software, you have no idea what you’ll be coding.”
Using Freebase Gridworks to Create Linked Data. A very handy tutorial from data.gov.uk’s Jeni Tennison.
PNGStore—Embedding compressed CSS & JavaScript in PNGs. Cal did some further analysis on the CSS/JS to PNG compression trick (including producing some interesting images of jQuery compressed using different image packing techniques) and found it to be slightly less effective than regular GZipping.
10K Apart Contest: Cheating by Compressing Your JavaScript and CSS to PNG Images. Fascinating hack: transform your JS and CSS in to coloured pixels, save the result as a PNG to benefit from PNG’s built in compression algorithms, then read the data back out of the PNG and convert it back to text using JavaScript and canvas—all to reduce the on-disk filesize when entering the 10K app competition. Alex’s GithubFinder entry is worth checking out too.
A little deeper investigation showed that nothing I had posted on Buzz had gone public since August 6. Nothing. [...] No one noticed. Not even me. It makes me feel like everything I’ve posted over the past four years on Twitter, Jaiku, Friendfeed, Plurk, Pownce, and, yes, Google Buzz, has been an immense waste of time. I was shouting into a vast echo chamber where no one could hear me because they were too busy shouting themselves.
Undelete!. How to undelete a file accidentally removed using rm on Linux, by grepping through the raw bytes on the hard drive searching for a unique string that was contained in the file. “grep -a -B 25 -A 100 ’some string in the file’ /dev/sda1 > results.txt”
Polymaps. Absurdly classy: “a JavaScript library for image- and vector-tiled maps using SVG”. It can pull in image tiles from sources such as OpenStreetMap, then overlay SVG paths specified using GeoJSON. The demos make use of GeoJSON tiles for US states and counties hosted on AppEngine. The library is developed by Stamen and SimpleGeo, and released under a BSD license. SVG support in the browser is required.
A More Royal Royal Opera House. Beautiful piece of work updating the branding for the Royal Opera House, including a strikingly modern take on the original crest.
By Dylan Sharpe
This is certainly not the first time we have written about mosquito devices - the indiscriminate anti-yoof devices, designed to prevent groups of teenagers from gathering outside shops by emitting high-pitched buzzing audible only to those under the age of 25. As we have said in the past there would be enormous outrage if machines were used to keep away pensioners or ethnic groups; yet the Government has resisted any attempts to ban them. However, it seems that some councils are now paying attention to complaints about the device. The Huddersfield Examiner has reported that Kirklees council unanimously voted to...By Alex Deane
A third post about opt ins and opt outs today rounds out our points about this important aspect of online privacy! Apple unveiled its newly redesigned iPods and Apple TV yesterday. Along with this announcement, Steve Jobs also unveiled a new social media service called Ping. Ping resides within the iTunes software and is available now with the new software update. Users will discover that Ping is fully integrated into the updated iTunes software and the first step to using Ping is going through a series of privacy questions to opt-in to the service. This small feature could be a...By Alex Deane
Dominique has just written about the fact that apparently all Twitter users will soon be switch over to use the company's t.co link shortening service (i.e. as a replacement for tinyurl, bit.ly, etcetera.) We should point out that there are good security reasons for doing this, such as being able to protect against malicious links (and your thoughts on this under-explored point are most welcome). But on the other hand, unfortunately, it appears that Twitter plans to keep a record of all links clicked - creating a central repository. This could be an attractive target for various officials. As shortened...By Al Jahom
It’s about time PCSOs were ditched. Police were accused of being ‘heavy handed’ today after four officers were dispatched to deal with a 84-year old World War Two veteran – because he was riding his bicycle on the pavement. Great grandfather James Gresty was chased into a bank by two police community support officers after [...]By Alex Deane
Twitter announced via email yesterday that all users will soon be switched over to Twitter’s new link shortening service "t.co". All links posted on Twitter will use it and the company will store a log of all clicks on links posted to Twitter. In short, Twitter will have a central repository of all links and clicked links on its service and the wealth of consumer information that comes with it. There are obvious privacy concerns. CNET reports that a security breach could lead to the use and abuse of user data from millions of people worldwide. This would come in...By Alex Deane
Great work from our mates over at the Manifesto Club - a well-researched report called 28 ¾: How Constant Age Checks are Infantilising Adults Which does what it says on the tin. You know, think 21, ask 25, demand a bus pass, think 45... but it's an even more robust report than the unbelievable irritation of constant demands for ID would suggest - inter alia, it points out that People are being refused alcohol sales when shopping with younger siblings or children, on the basis of suspicions that the alcohol could be for the child. Case studies cited in this...By Al Jahom
You just can’t buy vindication like this: The UK’s 100 Worst Political Blogs While Iain is currently rattling off the annual Top 100 politics blogs, it’s time to look at the real stinkers polluting political blogland. This list was compiled from those who voted in the 100 Worst UK Politics Blogs poll that ran between [...]By Al Jahom
There’s practically nothing else about at the moment, so I’ll summarise. The Hague thing. A non-story about him sharing a hotel room with his special advisor, who is a bloke. Salacious nonsense obscuring the only legitimate question, which is whether Hague misused public funds in any way. On-going denormalisation of smokers in the rented property [...]By Al Jahom
Regular readers may recall that last year I came in as the 22nd most popular Scottish blogger in the Total Politics blog poll. This was odd because I’m English and I live in England. I think my support for Scottish independence confused them. Apparently, I came in at #13 in the Scottish list this year, [...]By markwallace
For those of you who haven’t had enough of my opinions in print and want some in audio, I was a guest on this week’s House of Comments podcast – which you can listen to here. Along with Mark Reckons, Stuart Sharpe and Anthony Painter the debate covered AV and the TaxPayers’ Alliance, Blair’s memoirs, [...]By Al Jahom
My first reaction was to laugh. I had to think again. WTF? Really? Damn, I’m strong for just driving straight past that McDonalds today, even though I fancied a Big Mac. Yeah. The logic and ‘science’ in the article is comical in itself. But it was completely eclipsed by the comments that followed it: [...]By Travelgall (noreply@blogger.com)
In light of Guido discussing William Hague sharing a hotel room with his Special Advisor I hope this doesn’t mean the end of William Hague’s career. He’s actually competent at his job, seems a nice bloke who you’d have less than 12 pints with, and genuinely contributes to the good of the country. And besides I believe he is telling the truth when he says he doesn’t bat for Lancashire. I shared a room with a mate on his stag do, doesn’t mean I’ve moved in with a manicurist called Maurice.By Dylan Sharpe
We have written about Medway's two CCTV cars on this blog so many times now that we are barely surprised when they appear in the news. After flouting their own parking laws, and then moaning about unlicensed filiming, this latest story is perhaps the best yet - and it has a happy ending. It begins four months ago when former army cadet, 76 year-old Michael Johns, received a £70 fine from Medway Council after being caught by the CCTV car 'parked in a street where restrictions were in force...' ...except Michael was actually reversing to allow a pedestrian to cross...By Alex Deane
I've written before about the surprising culture of control in Australia. A correspondent now provides visual proof. Fun in the sun, eh!? Of course, we're hardly free from such overbearing signage ourselves... By Alex Deane Hat tip: SHBy markwallace
Shocking news about high alcohol consumption today. It turns out that Salford now has the second-highest level of problem drinking in the whole country. How has this happened? Wait, what’s this about a major social change in Salford that occurred recently? “In 2007, it was confirmed that the BBC would be moving five of its [...]By Bishop Hill
I'm still can't take the smile off my face at the ridiculousness of Nick Hewitt's 'review'. It's just so hard to comprehend how one can reach the rank of full professor and still be unable to put together a coherent argument (although who knows, perhaps this is normal at Lancaster, Phil Jones' alma mater). Come to think of it, it's hard to comprehend how one can become a full professor without being able to spell 'practice', but that's probably just me being pedantic again.
And once again, we have a review that could have been written without actually reading the book at all. Not a single quote from the book, not a single fact disputed. I'm wondering if I should christen this kind of thing a "Hewitt", in honour of Professor Nick.
How many more Hewitts do you think there will be before next week?
By Bishop Hill
One of my favourite science writers, Stephen Budiansky, has recently joined the blogosphere and is today discussing the Cuccinelli investigation and its similarity to the attacks on Bjorn Lomborg in the wake of the publication of the Skeptical Environmentalist.
By guidofawkes
The official line is that Gordon will not be commenting on Blair’s confirmation that he was indeed a dreadful PM and appalling team-mate, but then we’ve all heard that before. Instead he has chosen today, randomly, to announce the setting up of The Office of Gordon and Sarah Brown that will be paid for by [...]By Robin Horbury (noreply@blogger.com)
If anyone is tempted to believe Mark Thompson's ludicrous assertion that BBC bias was in the past, take a look at Roger Harrabin's attempt to discuss dispassionately the recent attack by Inter Academy Council (IAC) on the snake oil salesmen techniques of the IPCC. BBC reports about the IAC such as this one have already done their best to minimise the importance of the damning IAC verdict. Our Roger pretends in his opinion piece that he is carefully weighing up the pros and cons of how the IPCC has behaved. And to be fair, he even admits that he himself got it wrong in being so uncritical. But - try as he might to be "fair" - his true colours show at the end. He states:When the right-wing American critics who are likely to welcome much of this report raise a glass in celebration whenever Dr Pachauri does go, they should remember who put the chairman in his current place.
It was George W Bush. This was seen by some as a move to install a compliant developing country economist who wouldn't stand in the way of industrial growth. He arranged the appointment of a former railway engineer who proceeded to drive right over his toes.
By Longrider
Via Anna Raccoon, a misleading story in the Tellytuybbygraph about smokers and renting private property. More than 90 per cent of smokers are barred from renting a property, new figures have suggested. Someone really should speak to their subbies about misleading article headers, because that isn’t what is being said – although what is is [...]By Bishop Hill
I am now in a position to reveal that my report for GWPF on the Climategate inquiries will be released on 14th September.
By guidofawkes
Bad news for Lembit Opik – it seems that Cowley Street doesn’t have faith in his bid to be London Mayor. Much like the Tories were before Boris threw his hat in the ring, the LibDems are desperately seeking a decent candidate for the coalition’s first big election battle. A yellow spinner said “that’s not the way we would [...]By Bishop Hill
Chemistry World is the latest magazine to review the Hockey Stick Illusion. This is another critical one...
Here, one small part of the body of evidence that shows the Earth is warming is examined in tedious detail, with a focus on the actions and words of its protagonists. Undoubtedly there have been shortcomings in working practises, many a result of the sustained pressure these individuals have been under from a small but determined group of sceptics (most recently in the UK through the repeated use of freedom of information requests), but this polemic does absolutely nothing to alter the physics of the Earth system. Andrew Montford declares he studied chemistry - with the benefit of his scientific education one would think he should know better. Readers of Chemistry World will have far better things to do than read this pedantic book.
Another critic who does not dispute anything I say! Looking good...
By Bishop Hill
The House of Commons Science and Technology COmmittee has announced that it is to hear evidence from Lord Oxburgh next week:
The Science and Technology Committee will hold an oral evidence session following-up to the previous committee’s report on the disclosure of climate data from the Climatic Research Unit at the University of East Anglia.
The session will be on:
Wednesday 8 September 2010 at 10.30 am
Thatcher Room, House of Commons
The Committee will take evidence from Lord Oxburgh, who headed the International Panel that was set up by the University to assess the integrity of the research published by the Climatic Research Unit.
An oral evidence session with Sir Muir Russell, who headed the Independent Climate Change E-mails Review, will be announced in October.
The sessions will focus on how the two reviews responded to the former committee’s recommendations about the reviews and how they carried out their work.
By Marius Ostrowski
Well, I’ve moved back into exhausted and stressed terrain, but this time the cost of drinks and transport aren’t to blame. Rather ironically, today was the day on which I did the most workday travelling outside the office so far, and was treated to easily the most expensive meal of my stay so far. Both,By Guido Fawkes
Guido is currently on holiday in France at the maison secondaire, last night we had 10 for supper and Mrs Fawkes was not amused with the constant interruptions from the Blackberry, it was for her de ja vu (Prescott’s mistress in 2006 interrupted her holiday). Guido had to explain himself to our guests. The French [...]By David Vance (noreply@blogger.com)
By Guido Fawkes
If Hague had kept an experienced press handler like William Littlejohn as his SpAd he wouldn’t be in this situation would he? He wouldn’t haven’t released that stupid statement on Monday, which brought him more unwanted press attention. He wouldn’t have released that cynical, Aitkenesque, “sword of fidelity” statement yesterday. All in all, he has [...]Mark Thompson, head honcho at the BBC, has admitted that the BBC has had a left wing bias. Progress.
While refreshing to hear Mr T say what the rest of us have known for years, to fix the problem, it is important to grasp the nature of the BBC’s inbuilt prejudices.
The BBC does not tilt to the left in a partisan sense. It’s coverage of political parties tends to be pretty fair and balanced. Rather, it is the BBC's outlook - the unconscious presumptions of their producers and reporters - that often makes them seem so leftist.
When examining a public policy problem, BBC reporters almost always appear to presume that state action is the solution. Too many folk drinking too much booze? New laws to decree minimum pricing for everyone, rather than existing laws to enforce individual responsibility. And how many items on the Today programme boil down to a vested interest of some kind demanding state intervention or favour?
I’ve often heard BBC news reporters ask government officials questions based on certain assumptions about the nature of equality. I cannot ever recall hearing a BBC reporter challenge government intervention on the basis that it might be morally wrong to violate someone else’s property rights.
Have you heard a BBC journalist challenge officials on the basis that it might be morally wrong to restrict an individual’s freedom to earn a living? No, but I bet you’ve heard lots about government action to protect jobs. Fair and balanced reporting would point out how the later very often has consequences for the former.
When a private company makes a whopping profit by providing willing customers with a product they want, far from greedy, the company is likely to have done something extraordinarily good. Yet how often does BBC coverage reflect the virtues of the free market?
Free markets provide sixty million Britons with food each day – without which we would starve. So why does the subtext of almost every BBC news item about public services imply that we need the state to ration public services the way it once rationed food?
Perhaps the BBC’s bias is innate. Being a big, bureaucratic corporation funded through public money, the BBC’s instincts will always favour big quangos, corporatism and lots of public spending.
| Piled Higher & Deeper by Jorge Cham |
www.phdcomics.com
|
|
![]() |
||
|
title:
"You autumn leave" - originally published
9/1/2010
For the latest news in PHD Comics, CLICK HERE! |
||
| Piled Higher & Deeper by Jorge Cham |
www.phdcomics.com
|
|
![]() |
||
|
title:
"Lab Coat Rack" - originally published
8/30/2010
For the latest news in PHD Comics, CLICK HERE! |
||
Blog Update
I've just updated the home-grown javascript I was using upon this blog to be jQuery powered.
This post is a test.
I'll need to check but I believe I'm almost 100% jQuery-powered now.
AJAX Proxies
It is a well-known fact that AJAX requests are only allowed to be made to the server the javascript was loaded from. The so-called same-origin security restriction.
To pull content from other sites users are often encouraged to write a simple proxy:
- http://example.com/ serves Javascript & HTML.
- http://example.com/proxy/http://example.com allows arbitrary fetching.
Simples? No. Too many people write simple proxies which use PHP's curl function, or something similar, with little restriction on either the protocol or the destination of the requested resource.
Consider the following requests:
- http://example.com/proxy.php?url=/etc/passwd
- http://example.com/proxy.php?url=file:///etc/passwd
If you're using some form of Javascript/AJAX proxy make sure you test for this. (ObRandom: Searching google for inurl:"proxy.php?url=http:" shows this is a real problem. l33t.)
ObQuote: "You're asking me out? That's so cute! What's your name again? " - 10 things I hate about you.
By Charlie Brooker
Rightwingers are brilliant at creating snappy-but-misleading nicknames – like fun-size chocolate bars and the Ground Zero mosque
At this point in human development, I think we can all look back on what we've achieved and agree that language is one of our better inventions – better even than Wi-Fi, the Dustbuster, and Super Mario Galaxy. Picture a world without language. Go on. No gossip. No chit-chat. No road signs. No newspapers. No theatre. No internet. The only forms of mass media entertainment available are slapstick and pornography. Hang on, it's brilliant. I must be describing it wrongly.
But then, that's the beauty of language. It can change the way you see things without actually altering anything in the physical realm. It turns good into bad and bad into good and back again without anyone lifting a finger.
Take "fun-size" chocolate bars. They're tiny. Gone in a single bite. They don't last as long as a regular chocolate bar. Being individually wrapped, they're fiddly and environmentally unfriendly. And pound for pound, they're more expensive than their standard counterparts. But, back in the mists of time, some genius decided to label them "fun-size". And it worked. As a kid, the mere sight of a bag of fun-size Mars bars could work me into a flurry of excitement. These were dinky novelties you could eat! Hooray for fun-size!
But the magic of language didn't end there. As well as instantly transforming each and every shortcoming of these miniscule snacks into a thrilling bonus, the sly association of the word "fun" with the concept of "small helpings" had the side-effect of making regular-size chocolate bars seem less decadent, less naughty by comparison. If little ones were fun, regular ones were pedestrian slabs of edible workload.
Some time later, of course, king-size Mars bars hit the market, thus imbuing an act of calorific gluttony with an unwarranted air of imperial glamour. This was an imposing, statesmanlike snack to be reckoned with; a nougat mothership; the Mars bar of royalty. Language had worked its magic once again.
Anyway, I bring all this up because I've been thinking some more about the "Ground Zero mosque" debate. Specifically, I've been thinking about the horrible brilliance of the opponents' endlessly parroted, emotionally charged phrase "Ground Zero mosque", used to describe something which – at the risk of regurgitating last week's column – isn't at Ground Zero and isn't a mosque.
Conservatives, generally, are far more adept at politically reframing concepts by giving them snappy-but-misleading nicknames than liberals. "Loony left". "Boom-and-bust". "Flip-flop". "Ground Zero mosque". All simplifications or outright lies – but they worked. Like advertisers, the right seems breezily unconcerned about the truth of the slogan, provided it rings up a sale. They slap the words "fun-size" on the packaging and wait for the public to buy it.
The left, meanwhile, tends to respond by flinging back tired old insults. Bastards! Fascists! Racists! This is wrong on several counts. For one thing, it's counter-productive. Nothing riles an anti-mosque demonstrator more than being called a bigot. It's a grotesque, misleading smear on a diverse group of individuals – a bit like claiming all Muslims are terrorists (which, coincidentally, the guy beside them is currently doing through a loudhailer). But worse than being insulting, it's just plain unimaginative. At least the right bothers to invent a new buzzword each time it wants to fart some monstrous new lie into the ecosystem. And they're often infuriatingly well-crafted buzzwords – combining impact with audacious disingenuousness. There must be an evil Don Draper tucked away somewhere coining these things, these catchy fibs, these deceptive jingles.
Have you tried doing it yourself? It's not easy. I was hoping to illustrate this article with some self-created buzzwords for leftwingers to use. The first one I came up with was "molehill mountaineer", a pejorative term to describe the sort of perpetually furious rightwing weevil who spends their life calculatedly conflating issues such as the "Ground Zero mosque" into gigantic media crapgasms. But then I realised that "molehill mountaineer" could equally be applied to many on the left too. So that's no good.
Then I tried to invent a shorthand term to describe the sort of perpetually furious rightwing weevil who claims to be a patriot, not a bigot, then immediately muddies the water by saying lots of bigoted things. It's possible to be a patriot without being a bigot, just as it's possible to be a weather forecaster without being a stripper, but if a weather forecaster took her clothes off halfway through a forecast, its fair to say the striptease element of her performance would greatly overshadow any meteorological merit. Still, a lot of people erroneously believe that saying "I'm a patriot" automatically absolves them from any and all charges of bigotry. And the best word I could come up with to describe these people was "Patrigot". I quite like it, but it won't catch on. Too clumsy.
Which is a pity. Because in today's 2,000mph technological freefall, he who coins the catchiest buzzword generally wins the debate by default. Few people have the time to delve beyond the ticker-tape headline, to discover the reality behind a misleading brandname such as "Ground Zero mosque". There's a famous propaganda technique known as "the big lie": the bigger the lie you tell, the more the public will believe it. But today's audience is too distracted to digest big lies. Now the trick is to cram as much misleading information as possible into a succession of tiny verbal snacks, inaccurate but memorable.
In other words: Lies aren't big any more. They're fun-sized.
I don't like repeating myself, but I'm very tempted to past my mini-review of the Roomba Vacuum Cleaner robot into this blog.
Instead I will practise restraint and summerise:
£250. Worth. Every. Penny.
In more Debian-friendly news I've been fighting HTTP proxies today. I've noticed a lot of visitors to the various websites I host are logged as 127.0.0.1 - which is an irritation. My personal machine looks like this:
Internet -> Apache listening on *:80 -> thttpd on 127.0.0.1:xxxx
(This has been documented previously - primarily it is a security restriction. It means I can run per-UID web-servers.)
I had previous added a patch to thttpd to honour the X-Forwarded-For: header - so that it would receive the correct remote address passed on from Apache. However the fact that so many visitors are logged as coming from 127.0.0.1 meant it wasn't working 100% correctly, and I wanted to understand why.
Today I used ngrep to capture the incoming headers and the source of the problem became apparent:
skx:~# ngrep -d lo X-For ' port 1007' .. T 127.0.0.1:41886 -> 127.0.0.1:1007 [AP] GET /about/ HTTP/1.1..Host: images.steve.org.uk..If-Modified-Since: Mon, 07 Jun 2010 15:24:33 GMT..User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-U S; rv:1.9.1.10) Gecko/20100701 Iceweasel/3.5.10 (like Firefox/3.5.10)..Acce pt: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8..Accept -Language: en-us,en;q=0.5..Accept-Encoding: gzip,deflate..Accept-Charset: I SO-8859-1,utf-8;q=0.7,*;q=0.7..Referer: http://images.steve.org.uk/2009/11/ 20/img_0471.html..X-Forwarded-For: 127.0.0.1, 11.22.33.123..Cache-Control: max-age=0..X-Forwarded-Host: images.steve.org.uk..X-Forwarded-Server: image s.steve.org.uk..Connection: Keep-Alive....
I bolded the important input; just in case that didn't jump out it was:
X-Forwarded-For: 127.0.0.1, 11.22.33.123
My patch to thttpd was making it read the first address, rather than the second - which meant that requests were being logged as coming from 127.0.0.1 and avoiding my efforts to track sources.
Now I understand the problem - The X-Forwarded-Host header is being tweaked by a proxy server, such as Squid, upstream of my server.
For the moment I've updated the thttpd patch to read:
else if ( strncasecmp( buf, "X-Forwarded-For:", 16 ) == 0 )
{ char *tmp = NULL;
/* Jump to the header-value */
cp = &buf[16];
cp += strspn( cp, " \t" );
/*
* If the first change is a 127.0.0.1, then we'll
* jump over it. Cope with Squid, et al.
*/
if ( ( tmp = strstr( cp, "127.0.0.1, " ) ) != NULL )
cp = tmp + strlen( "127.0.0.1, " );
/* Parse the IP */
inet_aton( cp, &(hc->client_addr.sa_in.sin_addr) );
}
That's not perfect, but the alternative would be:
Or something equally hacky and security-by-obscurity-alike.
Really I just want a simple way of always getting the correct remote IP. Shouldn't be so hard, should it? *pout*.
ObQuote: "You don't mess with fate, Peanut. People die when they are meant to die. There's no discussion. There's no negotiation. When life's done, it's done." - Dead Like Me.
| Piled Higher & Deeper by Jorge Cham |
www.phdcomics.com
|
|
![]() |
||
|
title:
"Stylin'" - originally published
8/27/2010
For the latest news in PHD Comics, CLICK HERE! |
||
Early last month, Lassi Syrjälä released Telepathy-Ring, Nokia’s Telepathy connection manager for GSM telephony, under the LGPL. The version used on the N900 talks to a proprietary daemon to drive the cellular hardware, but this new 2.x.y series has been ported to oFono, Intel and Nokia’s Free cellular modem daemon. I was trying out Ring using oFono’s phone simulator backend, until it was pointed out that oFono also supports my laptop's built-in GSM chip. Oh really? Let’s see…
A few minutes of tweaking later, and I was looking at an apparently-unremarkable Empathy conversation window:

Ring needed a few little hacks to get this going, mostly because laptops’ GSM chips don’t generally support making GSM calls, which Ring expects to be able to do. But I didn’t have to touch any other Telepathy components’ source: I installed my Ring branch, opened the Empathy accounts dialog, created a new “tel” account, and here we are. +447771██████ in that screenshot is my real actual phone, and this conversation looks just how you’d expect.
Of course, right now this is a proof-of-concept; it’s not really ready for non-developers. I’m planning to clean up my Ring patches for submission upstream over the next few weeks, and will try to trick someone into writing a custom account configuration UI for Empathy; hopefully we can get this working properly pretty soon! Thanks to Lassi, Pekka Pessi (Ring’s original author), and others at Maemo; the oFono team; and other Telepathy and Empathy hackers for making this so straightforward!
I have a Grandstream GXP2000 SIP phone, courtesy of a special offer and a parent who likes SIP. It's kind of bulky, and is overkill for my uses of it: I don't actually care about it automatically downloading my address book from an arbitrary server, or running quizzes on its OSD. (Seriously, why would anyone do this?) But once I upgraded the firmware (to 1.1.2.27, which apparently you can get from Grandstream if you whine loudly enough, but I just grabbed it from, uh, GrandstreamSucks.com) to stop it crashing whenever I made or received a call (which only happened on one LAN I tried it on), it is pretty good at making and receiving calls, which is what I want it for.
You can stick custom ring tones on it, but they have to be in some bizarro format. Happily, Grandstream ship conversion tools, both for Windows and for Lunix. So I downloaded the latter; it turns out to be a modified SoX. And, oh look: they don't provide the source, or an offer to provide the source. *sigh* So, I requested the source, pointed out that they're violating section 3, and remarked that they could just throw a tarball into the same place they threw the binaries and never deal with any emails like this ever again.
I got a reply pretty quickly!
Attached per your request.
Attached was a zip file, expanding to:
% ls /tmp/sox
handlers.c ring.c sox.c st_i.h
which is clearly not the complete source, and does not include build scripts.
You did not include the scripts used to control compilation. May I have the Makefile, please?
They sent me the Makefile (in a zip file).
% make
make: *** No rule to make target `Makefile.in', needed by `Makefile'. Stop.
It appears that you have omitted the autoconf-related foo.
Please may I have complete working build scripts, please?
They sent me Makefile.in (in a zip file. This makes it much faster!!!). Of course, the rest of the build scripts and source still aren't there, so this still won't work. But let's play along:
% make
make: *** No rule to make target `configure.in', needed by `configure'. Stop.
No double pleases this time:
Is it really too difficult to just zip up the entire directory and send it to me?
And apparently showing some anger did the trick:
We were using sox 12.17.4. You will need to use the patch based on that version.
Lo! A tarball containing the entire modified source tree, which when compiled works identically to the static binary they distribute. They still provide no source offer, but I got bored at this point. Here's a copy of the source in case you don't feel like repeating this process to get it.
(I meant to write this back in September, but never got around to it. I finally got sick of the thread sitting in my Inbox. It turns out that I never actually bothered making a custom ringtone...)
I edited this post earlier today to update the final link (having rearranged my own domain). This bumped the post on some less-than-awesome aggregators... and someone pointed out that some other links are broken. So I poked around a bit, and the .zip file offered by Grandstream does actually include the source code! Hooray. From the mtimes I suspect this took until June last year.
yum check-update -q in your crontab. This command will print a list of packages to be installed, and will return silently otherwise.
For older versions of RHEL, which use up2date, you can use the following Python script (will need adapting not to use subprocess if you still use Python 2.3): http://wiki.maniacmartin.com/up2date
This gets around the lack of a quiet parameter on up2date
Simply change the top like so for Python 2.3:
import os
listing = os.popen("up2date -l", 'r').read()
Hello internet! I am at FOSDEM 2010 in Brussels. I tried the fosdem-maemo schedule application for my Nokia N900, and decided to write an alternative app which is easier to use with my fingers, and looks more like a Maemo application.
The result is foschart. It's just something I knocked together in a few hours yesterday, but it's pretty usable already. It supports showing talks grouped by track, by room, and just in chronological order, and a list of favourites. It's all happily kinetic-scrollable, etc., and is very snappy once it's started.
There's no proper release or package yet; if you want to package it up properly, please do! But for now, apt-get install python-hildon, then copy foschart.py and schedule.xml to /opt/foschart, and foschart.desktop to /usr/share/applications/hildon. Then it should show up in your application list, and away you go. As ever, patches welcome. Enjoy!
The illustrious Jonny Lamb has made a package!
#Bring up additional ipv6 addresses on same if up ip -6 addr add 2001:41c8:10a:200::1/56 dev eth0 up ip -6 ro add default via fe80::1 dev eth0 up ip -6 addr add 2001:41c8:10a:200::2/56 dev eth0I saved myself a reboot by also running the up commands on the command line. Just as I did for v4, I planned to use the first address for everything, except lighttpd, because Apache is already using port 80. I added an extra Listen line to /etc/apache2/ports.conf
Listen [2001:41c8:10a:200::1]:80All of my vhosts listen on *:80, so that's good. Lighttpd's server.bind syntax only supports one bind address and port, but you can bind to multiple addresses like so:
server.use-ipv6 = "enable"
server.bind = "::ffff:212.110.165.233"
$SERVER["socket"] == "[2001:41c8:10a:200::2]:80" { }
Next I turned on ejabberd's IPv6 support by adding the inet6 keyword to thgis stanza in /etc/ejabberd/ejabberd.cfg:
{listen,
[
{5222, ejabberd_c2s, [inet6, {access, c2s}, {shaper, c2s_shaper}]},
...
]}
Next up wasmy IRC bouncer, ZNC. I'd told it to explicitly bind to a certain IP address so I could have a vanity address. That needed disabling so I can connect to IPv6-only IRC servers (which to be honest isn't going to happen anytime soon.)
Postfix has IPv6 support since 2.2, and i have 2.5.5 so that should just work, as it currently binds to all addresses. For good measure, i added inet_protocols=all to /etc/postfix/main.cf
For Dovecot, I added listen = [::] to /etc/dovecot/dovecot.conf. Note that listen = * refers to all IPv4 only.
Bytemark's hosted TinyDNS servers support IPv6 records (prefix 6 for automatic rDNS, prefix 3 otherwise), but I stupidly totally forgot about this and used this generator to cook up some AAAA records to match my A records.
A little testing with the SixXS IPv6-IPv4 and IPv4-IPv6 Website Gateway, which is basically an IPv6 -> IPv4 web proxy that refuses to retrieve anything hosted on IPv4, and I confirmed everything was good to.
Stop Press! Aren't we forgetting something?
In keeping with the tradition set by kame, and followed by Google and many others, I needed a bouncing logo thats only shown to surfers that connect via IPv4. Lucky I had an animated gif that I'd made earlier. In Django, you can do something like
":" in request.META["REMOTE_ADDR"]to work out if your surfer is an IPv6 surfer. IPv4 users can sneak a peak at using the SIXXS gateway See it's that easy. If your host gives you IPv6 space, then you have no excuse not to be leading the way to the move to adopting IPv6.
The camera/photo viewer on the N900 has a pretty nice tag cloud widget, which lets you quickly label your photos before you upload them to Flickr. (The novelty hasn't yet worn off!) But an autocompletion accident left me with a tag in the widget that I'd really prefer not to be there when I'm showing off my nice new phone to people.
I spent a happy¹ few hours trying to figure out where it gets the set of tags
from. The viewer asks Tracker for the most
commonly-used tags, but this tag wasn't used on any of my photos, so wasn't
coming from there. In fact, it didn't appear in any of Tracker's database files! After a bit of investigation, I discovered that the photo
viewer keeps its own independent set of recently-used tags, not in Tracker, but in GConf, at
/apps/osso/image-viewer/recent_tags. Lest you should find yourself in my position, a quick
gconftool --set --type list --list-type=string /apps/osso/image-viewer/recent_tags '[]'
will expunged your undesired utterances from the cloud. Bug report time. Next stop: finding a tool that lets the user remove typos from the autocompletion database …
1. Grr.
The idea was to build an internet-controlled snow machine - you'd hit the button on the website, and watch a member of the Torchbox team get pelted with snow. When we first came up with the idea, we dismissed it as being "too complex", but after a while, we came around.
Cue three days of frantic development and phoning round to get the parts. I'll be posting a full build article, with all our source code, once we're done.
The brief summary is that we have a Django app which handles rate-limiting of snow, and tracking who has clicked the button, which then communicates with our snow machine using Artnet and DMX. Ustream is used to stream the video back to the internet.
Still, I imagine you want to see it in action, so head over to snow.torchbox.com, and have a go. It's only online 10 - 5 UK time, and only until Tuesday (we can't fill our office up with paper snow forever), but it's still very good fun, even if you don't know any of us!