Wednesday, May 14, 2008
Laser Removal Equipment Website (B2B) - I need content - Web Content Writing Freelance Job
Have Punch Lines, Need Your Drawings - Cartoon Illustration Freelance Job
Vtiger Signup script - Vtiger / PHP / MySQL / LAMP / DNS / BIND / APACHE - Website Programming Freelance Job
Thursday, May 8, 2008
Updated VSTS VPC Available
Brian Randell has just given the official word that there is a new VSTS/TFS 2008 VPC available:
It's no April's Fool day joke.
A new all-up image has been posted. It's been updated with Office SP1, the December 2007 TFS Power Tools, and all Windows Updates.
Also available with it are some labs to help you look at the various aspects of Team System. And, for that final bit of good news, it won't expire until December 31st, 2008.
Don't forget, you can use Free Download Manager to help you queue up and download all the different ZIP files.
DirectX MVP 2008
This would not have been possible if it wasn't for the people in the community.
Thank you to everyone, SADeveloper.NET, Gamedev.net and the XNA community over at http://creators.xna.com/. These are the communities that have made this possible! Thank you!
If you would like me to come and present a session on XNA or Game Development concepts, please don't hesitate to contact me!
Thank you once again to everyone!
Share this post: email it! | bookmark it! | digg it! | reddit! | kick it! | live it!Visual Studio Team Suite vNext "Rosario Express" will be FREE
Auf der MIX-Konferenz in Las Vegas hatte ich die Gelegenheit für eine exklusive Vorstellung im Akquaknox-Restaurant [1] im The Venetian Hotel. Zusammen mit anderen Microsoft Regional Directors und dem neuen Vice President Scott Guthrie durfte ich einen ersten Blick auf die letzten Bits des Visual Studio 2008 Codename "Rosario" werfen. Es handelte es sich hierbei aber nicht um die öffentlich verfügbare CTP-Version [2], sondern um die neue Visual Studio Team System "Rosario Express" Version, die vollständig kostenfrei sein wird.
Die VSTS Express Edition ist auf ein Team von 5 Personen beschränkt und kann nur mit dem TFS Workgroup Edition an einem Standort betrieben werden. Einzige Beschränkung sind maximal 10.000 Work Items pro Solution, mehr werden aber die meisten Projekte onehin nicht brauchen. Die Entscheidung finde ich sehr spannend, insbesondere da die meisten kleinen Teams die Team System Funktionalität sehr wohl benötigen und gut gebrauchen können. Diese Entscheidung wird definitiv zur Verbreitung von Team System beitragen.
Eine öffentliche CTP wird voraussichtlich Ende April verfügbar sein. Vielleicht klappt es noch rechtzeiig zur TeamConf. Aber, wie immer mit den Releases, erstmal abwarten.
[1] http://www.venetian.com/AQUAKNOX.aspx
[2] http://www.microsoft.com/downloads/details.aspx?familyid=8450eff5-24ad-44c3-ab91-1ed88ef2f4f0&displaylang=en
Setting up authentication in asp.net MVC
I wanted to setup user authentication in asp.net MVC, and I wanted it to tie in with the built-in IIdentity and IPrincipal support that is already in asp.net, but I did not want to have to setup asp.net membership services. I wanted to have my own user objects, and I wanted to save/retrieve them through my user repository just like my other domain objects. All of this was done for a demo, so it is certainly not production quality code, but I hope it helps you.
First off I setup my User table in my database, it looks like this:
This is obviously just a start, but it is enough to get the job going. I have dragged this database table onto the Linq To Sql designer and it created my User object like so:
Next in my UserRepository class I have a method that looks like this:
public User GetUserByUsername(string username)
{RecipeZoneDataContext context = ContextFactory.GetRecipeZoneContext();
return (from u in context.Users where u.UserName == username select u).SingleOrDefault();
}
This way when someone tries to login, I can pass their username into this method and it tries to look that user up. You will notice that we use a "SingleOrDefault" method in order to return a single user or "null" in case there is no user by that name. Next I have created a method on my UserController named "Login" that looks like this:
public void Login()
{_viewData.Redirect = Request.QueryString["redirect"];
RenderView("Login", _viewData);}
Here we are looking for a query string parameter named "redirect" that is going to contain a url that we will redirect to upon successful login. We assign this to our UserControllerViewData class and then pass that to RenderView. The UserControllerViewData is just a class that I use to hold view data for most of the actions on my UserController class.
My Login view is then rendered:
<asp:Content ID="Content1" ContentPlaceHolderID="MainContentPlaceHolder" runat="server">
<%= Html.RenderUserControl("~/Views/Shared/ErrorMessages.ascx") %><%using (Html.Form<UserController>(c => c.LoginValidate(RedirectUrl)))
{ %><table>
<tr>
<td>
Username:
</td>
<td>
<%=Html.TextBox("User.UserName")%></td>
</tr>
<tr>
<td>
Password:
</td>
<td>
<%=Html.Password("User.Password")%></td>
</tr>
<tr>
<td>
</td>
<td>
<%=Html.SubmitButton("login", "Login")%></td>
</tr>
</table>
<% } %>
</asp:Content>
Here we are using a few of our Html helper methods. We use the Html.Form helper method in order to create our html form as well as to render our url that the form will post back to. I am using the overload that takes an Expression and then renders the url based on the controller type and method that you call on it in the expression. You can see that we are posting back to a different action called "LoginValidate" and we are passing the "RedirectUrl" as a parameter to it.
The LoginValidate controller action looks like this:
public void LoginValidate(string redirect)
{if (Models.User.ValidateUser(Request.Form["User.UserName"], Request.Form["User.Password"]))
{if (!String.IsNullOrEmpty(redirect) || String.Compare(redirect, "none", true) == 0)
{Response.Redirect(redirect, true);
}
else
{ RedirectToAction("", "");}
}
_viewData.ErrorMessages.Add("Invalid username or password."); RenderView("Login", _viewData);}
First we pass our UserName and Password to our User.ValidateUser method. If the user is validated then we check for a redirect and if one exists then we redirect. Otherwise we redirect to a default controller and action. Here we have entered no defaults, you would want to fill them in. If we don't succeed then we add an error message to the view data and redirect back to our Login action. There is a bit of data we have to put into the web.config first though:
<authentication mode="Forms">
<forms name=".APPNAME" protection="All" cookieless="UseCookies" />
</authentication >
This just sets up our application to use forms authentication, and then sets a few parameters on it. After we have this setup we can now call the ValidateUser method. The ValidateUser method looks like this:
public static bool ValidateUser(string username, string password)
{var userRepository = new UserRepository();
User user = userRepository.GetUserByUsername(username);
if (user == null)
{return false;
}
if (String.Compare(user.Password, password, false) == 0)
{var authTicket = new FormsAuthenticationTicket(1, username, DateTime.Now,
DateTime.Now.AddMinutes(30), true, "");
string cookieContents = FormsAuthentication.Encrypt(authTicket);
var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, cookieContents)
{Expires = authTicket.Expiration,
Path = FormsAuthentication.FormsCookiePath
};
if (HttpContext.Current != null)
{HttpContext.Current.Response.Cookies.Add(cookie);
}
return true;
}
return false;
}
We pull the user and if it doesn't exist then we immediately return. Then we compare passwords (yes, there is no encryption at this point, like I said, demo) and if they match then we create our authentication ticket. This is part of the forms authentication system and it lets us specify which user is currently logged in. We create a cookie with our data and write it out, then return true. Pretty simple! This saves our username that is logged in, but what about our roles? We need to be able to tell if someone is a normal user or an administrator. In order to do this we have to implement the Application_AuthenticateRequest method in the global.asax file.
protected void Application_AuthenticateRequest(Object sender, EventArgs e)
{ HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];
if (authCookie != null)
{ FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value);
var identity = new GenericIdentity(authTicket.Name, "Forms");
var principal = new CustomPrincipal(identity);
Context.User = principal;
}
}
Here you see how we are pulling the authentication ticket out of the cookie (if it exists) and we are creating a GenericIdentity object (this is because we don't need any additional functionality for our IIdentity class) and then we create an instance of our CustomPrincipal class which is just a class we have created which implements IPrincipal. This interface has the methods for checking roles. In this application I have just put in some simple code to test for roles since I wanted to keep it simple. This class looks like this:
public class CustomPrincipal : IPrincipal
{ public CustomPrincipal(IIdentity identity)
{Identity = identity;
}
public bool IsInRole(string role)
{if (String.Compare(role, "admin", true) == 0)
{return (Identity.Name == "JustinEtheredge");
}
else
{return false;
}
}
public IIdentity Identity
{get; private set;
}
}
As you can see we just check for one role, "admin", and I hardcoded it against my username. I could obviously create a table to manage this, but I have not done so. So, now that we all of this setup, how are we going to use these roles? Well, we are going to create custom ActionFilterAttributes! Of course! I want to be able to protect my controller actions like this:
[UserInRole("Admin")]public void List(int? page)
{_viewData.Users = _userRepository.GetUsers();
RenderView("List", _viewData);}
This UserInRoleAttribute will now make sure that you are authenticated and that you are in the "admin" role before it will let you access this controller action. If you aren't authenticated then it will forward you to the login page with a redirect to send you back to where you came from. This attribute looks like this:
public class UserInRoleAttribute : ActionFilterAttribute
{private readonly string roleName;
public UserInRoleAttribute(string roleName)
{this.roleName = roleName;
}
public override void OnActionExecuting(FilterExecutingContext filterContext)
{if (filterContext.HttpContext.User.IsInRole(roleName)) return;
//use reflection until they expose this method
MethodInfo methodInfo = filterContext.Controller.GetType()
.GetMethod("RedirectToAction",BindingFlags.ExactBinding |
BindingFlags.NonPublic |
BindingFlags.Instance, null,
new[]
{typeof (RouteValueDictionary)
}, null);
methodInfo.Invoke(filterContext.Controller,
new object[]
{new RouteValueDictionary(
new
{controller = "User",
action = "Login",
redirect = filterContext.HttpContext.Request.Url.AbsolutePath
})
});
}
}
This class is actually very simple. The constructor simply takes a roleName and saves it. When the action is called the OnActionExecuting method is called and we simply test the current user to see if they are in the saved role. Otherwise we use some reflection in order to call "RedirectToAction" on the controller class since it is private. Hopefully they will implement this method in the ActionFilterAttribute base class, or they will make it public on the Controller class. But for right now this is the easiest way I could find to call it.
So, what else do we need? Well, we need some way for a user to logout. For this I simply added a Logout action that looks like this:
public void Logout()
{FormsAuthentication.SignOut();
RedirectToAction("List");}
That is all. You just call SignOut and then redirect to whatever action you want. You could also add a redirect parameter here if you wanted, so you could return to whatever page you clicked "logout" on.
So, there you have it. I'm sure that there is something that I am forgetting, but this post is pretty long and I am tired. :) Please let me know if you see anything that I did wrong or could have done differently! I hope you enjoyed it!
How To: Use the XmlDataSource object load XML data to a GridView
Last week I showed you how to read an XML file, load it to a DataSet and assign those values into a GridView. Today I'll show you how you can read an XML file using the XmlDataSource object.
Let's assume that we have an XML file called Symbols.xml in our App_Data folder
that contains the following data
<?xml version="1.0" encoding="utf-8" ?> <Symbols> <Symbol ExecutionSymbol="ATT" Name="AT&T"></Symbol> <Symbol ExecutionSymbol="MSFT" Name="Microsoft"></Symbol> <Symbol ExecutionSymbol="GOOG" Name="Google"></Symbol> <Symbol ExecutionSymbol="CSCO" Name="Cisco"></Symbol> <Symbol ExecutionSymbol="IP" Name="International Paper Co."></Symbol> <Symbol ExecutionSymbol="MF" Name="MF Global"></Symbol> <Symbol ExecutionSymbol="Q" Name="Qwest Communications International Inc."></Symbol> <Symbol ExecutionSymbol="BMC" Name="BMC Software Inc."></Symbol> <Symbol ExecutionSymbol="WCI" Name="WCI Communities Inc."></Symbol> <Symbol ExecutionSymbol="SPY" Name="SDRs"></Symbol> <Symbol ExecutionSymbol="LEH" Name="Lehman Brothers Holdings Inc."></Symbol> <Symbol ExecutionSymbol="XLF" Name="Financial Select Sector SPDR"></Symbol> <Symbol ExecutionSymbol="QQQQ" Name="PowerShares QQQ TR 1"></Symbol> <Symbol ExecutionSymbol="IWM" Name="IShare Rus 2000 INDX"></Symbol> <Symbol ExecutionSymbol="GE" Name="General Electric Co."></Symbol> <Symbol ExecutionSymbol="MER" Name="Merrill Lynch Co., Inc."></Symbol> <Symbol ExecutionSymbol="BAC" Name="Bank of America Corporation"></Symbol> <Symbol ExecutionSymbol="INTC" Name="Intel Corp"></Symbol> <Symbol ExecutionSymbol="F" Name="Ford Motor Co."></Symbol> <Symbol ExecutionSymbol="QID" Name="UltraShort QQQ ProShares"></Symbol> </Symbols>
and we want to load it to a GridView with no server-side code and a quick and easy way. The answer is to use the XmlDataSource object. The XmlDataSource control is an ASP.NET control that allows you to automatically read XML Data and make that data readily available to any ASP.NET control.
To start using this control, go to your Toolbox and drag the XmlDataSource control to your page.
Once the control is on the page it would popup a dialog that has configuration options for our XmlDataSource control. Click the "Configure Data Source" button to configure our XmlDataSource
A popup like below will come up that allows you to select the Xml file you want to your XmlDataSource object to read. It also gives you the option to select the XSL file. You can also specify an XPath expression to use to filter the data in our Xml.
Click the "Browse" button for the "Data File" option to select an XML file.
A new dialog will appear that will let you navigate the folder tree to select your desired XML file
Click "Ok" and you'll be taken back to the "Configure Data Source" screen. Click "Ok" again to finalize the XML data assignment.
Now that we have the file set in to our XmlDataSource control we need assign it to a control. We can do that by dragging a GridView control to our form.
Next, we need to assign the XmlDataSource control as the data source for our GridView. We can do this by selecting our XmlDataSource from the "Choose Data Source" dropdownlist.
Click "XmlDataSource1" and you will notice that our GridView was automatically updated and now shows the contents of our XML file.
Easy huh? Next up, Consuming Web Services in ASP.NET
Wednesday, May 7, 2008
FxCop Now Targeting Speeding
Almost two months ago, at the February Adelaide Geek Dinner, I was expressing my frustration at one of my Visual Studio solutions taking too long to build and how I would like Visual Studio to build using multiple processors just like the new MSBuild /m parameter.
Paul Stovell made the comment that even with the improvement that multi-core builds was giving me, my solution really shouldn't be taking that long to build. Given that Paul wasn't familiar with my particular project layout and I naturally didn't have a copy with me, the conversation quickly went onto other topics.
However, Paul's comment stayed with me for days after, bugging me every time I waited for the latest build to complete. Then, while staring at the VS Output window during a build, I noticed that most of the time seemed to be spent running FxCop on each project.
I decided to rebuild the solution but this time disabling code analysis via the appropriate build switch. I watched the build time drop from 40 seconds to just 10 seconds by skipping the FxCop process.
Excellent! But given that our entire team runs with Option Strict On, Treat Warnings As Errors, and the Code Analysis Check-in Policy, how could I possibly revert to such a lax build process for the sake of decreased build time?
The answer is to disable Code Analysis in each project's settings (and unfortunately the check-in policy too) but leave it enabled in the Team Build script so it runs and gets reported via the continuous integration build that runs after each check-in. Luckily we've also been running with FxCop for so long that we tend to avoid writing code that would cause violations in the first place.
I met with Paul over the weekend and mentioned my success with better build times. When I told him I had been running FxCop with every build, he just laughed, amazed.
Juggle.com
Well, I can finally start releasing the name of our product / company / web site since 1 - we are officially expanding the team and hiring more people, 2 - the placeholder page is up at juggle.com, and 3 - the CEO accidentally updated her LinkedIn profile two weeks ago. Oops. But I can't tell you what we are building yet.
Hey, here is a good way to find out. Join the company!
Hiring in St. Louis
We are a small web development group looking to expand our team. Plain and simple, we are looking for great developers. We are focused on finding people who have a passion for development and are excited to be part of a team that is developing a leading semantic web application. There's no Ruby, Java or PHP here… Microsoft only.
You will be working in a fast paced environment that deals with a lot of Web 2.0 (I really hate that term) technology. We value team members who make the internet a part of their lives, not just a place they send their hard work for other people to use. Here's a quick test. Which search engine just threw in the towel? What do Alex and Kevin sit on? What's the point of Twitter? What should manager Rob write himself?
What to expect from our environment?
We have one core rule: Create great software. There is no team of red tape police who have locked down your workstation and blocked 50% of the sites on the internet. No crazy rules about reading blogs or blocking IM.
Each Monday we start a new development iteration where you will commit to the amount of work you can get done for the week. Thursday's are code reviews, so no sneaking in a DataSet to get the job done quick. Friday's are iteration review meeting day where you will demo what you finished during the week. And every morning is a quick standup meeting.
Qualifications:
- You should know C# or VB.NET (but you will be using C#), ASP.NET 2.0 or higher and SQL Server 2005.
- It would be helpful if you also knew AJAX and how to write unit tests.
- It would be really great if you already knew CSLA or ComponentArt.
The Joel Test results: 11 out of 12.
- Do you use source control? (YES)
- Can you make a build in one step? (YES)
- Do you make daily builds? (YES+) We believe in continuous integration. No breaking the build.
- Do you have a bug database? (YES)
- Do you fix bugs before writing new code? (YES)
- Do you have an up-to-date schedule? (YES)
- Do you have a spec? (YES)
- Do programmers have quiet working conditions? (NO) You will be working in an open area with 4 other developers.
- Do you use the best tools money can buy? (YES)
- Do you have testers? (YES)
- Do new candidates write code during their interview? (YES)
- Do you do hallway usability testing? (YES)
Still interested even after #11? Then send me an e-mail using the contact form or scott.kuhl@juggle.com.
Technorati Tags: hiring,st. louis,asp.net,juggle.comDynamic lookup
A while back Charlie Calvert and Mads Torgersen wrote about dynamic lookup being part of the plans for C# 4.0. A code block specified with the "dynamic" key word will allow dynamic lookup with syntax like follows:
static void Main(string[] args) { dynamic { object myDynamicObject = GetDynamicObject(); myDynamicObject.SomeMethod(); // call a method myDynamicObject.someString = "value"; // Set a field myDynamicObject[0] = 25; // Access an indexer } } While this is a welcome feature I want it now! Of course I could resort to reflection but it gets tiresome writing all the code needed just to get a simple field or property so I made a little library that lets me write the previous example as follows:
static void Main(string[] args) { dynamic { object myDynamicObject = GetDynamicObject(); myDynamicObject.Member("SomeMethod").Call(); // call a method myDynamicObject.Member("someString").Set("value").Call(); // Set a field myDynamicObject.Member("Item")[0].Set(25).Call(); // Access an indexer } }
This also allows me to access private, protected or internal members of objects and on top of that it can compile functions for invoking the member on several instances of the same type.
I provide the code here but I'm sure there are several bugs in it so please don't use it in your applications as is. Actually please don't use it for anything like that without asking permission first...
#region Using Directives using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Globalization; using System.Reflection.Emit;
Interactive MAD Fold-ins - coolness
This is awesome, and has nothing to do with tech(found via twitter):
Interactive MAD magazine fold-ins from the sixties to today.
ProfileCommon in WebApps fixed quite easily with no addins required
In my previous post, I was sort of happy to see an update for WebProfile for use in VS08. The thing is, I really dislike the error you get in the build with this approach, I just can't use that in a production environment. So... I did some more digging and came across this solution by Jon Galloway. You should read his article for a full explanation of what is going on.
His samples are in C# which is great, but there are some caveats to doing it in VB.
Here is the same code in VB:
Public Class UserProfile Inherits ProfileBase Public Shared Function GetUserProfile(ByVal username As String) As UserProfile Return CType(Create(username), ProfileBase) End Function Public Shared Function GetUserProfile() As UserProfile Return CType(Create(Membership.GetUser().UserName), ProfileBase) End Function <SettingsAllowAnonymous(False)> _ Public Property Description() As String Get Return TryCast(MyBase.GetPropertyValue("Description"), String) End Get Set(ByVal value As String) MyBase.SetPropertyValue("Description", value) End Set End Property <SettingsAllowAnonymous(False)> _ Public Property Location() As String Get Return TryCast(MyBase.GetPropertyValue("Location"), String) End Get Set(ByVal value As String) MyBase.SetPropertyValue("Location", value) End Set End Property <SettingsAllowAnonymous(False)> _ Public Property FavoriteMovie() As Integer Get Return CInt(MyBase.GetPropertyValue("FavoriteMovie")) End Get Set(ByVal value As Integer) MyBase.SetPropertyValue("FavoriteMovie", value) End Set End Property End Class When using this approach in VB, I still get some occasional errors in the designer when using SplitView, a recompile makes these go away and the code does indeed run fine. It seems to be something in the background compiler... I wish Microsoft would fix this silly 4 year old bug.
Anyway, I really like this approach MUCH better than placing the profile data in web.config. If you are relying on the code and some genius decides to add a field or change the name it will cause any dependent code to go haywire anyway when the CodeSpit is regenerated.
When I am controlling the Fields in Code (where it should be anyway...) That is not a major concern since we know what we are doing when the code changes and its not in an editable file by someone not actually Testing the code.
Therefore, all the other methods have many problems that just aren't worth dealing with when this is simple, elegant, effective and safe.
I also find it much easier to just use an instance rather than some other suggestions of using a Property in a BasePage.
i.e
Dim prof = UserProfile.GetUserProfile()
or
Dim prof = UserProfile.GetUserProfile(username)
I also found that turning off Automatic updates seems to help with the errors for some reason, with it turned off, I don't seem to get them any more and thus you need to do your saves with an instance or you will have to perform a save after changing any item since getuserprofile will overwrite any unwritten changes to the object because it is creating a new instance every time.
So my resulting web.config looks like this:
<profile automaticSaveEnabled="false"
enabled="true"
inherits="ProfileUtility.UserProfile">
This is for the Default Provider, if you use Custom Provider as well, use the following:
<profile defaultProvider="<YourProviderName>"
automaticSaveEnabled="false"
enabled="true"
inherits="MonetaModel.UserProfile">
IE8 will be the only browser not to support opacity
I recently blogged about that IE8 beta1 currently doesn't have any support for the CSS3 opacity property or the alpha filters that is used in IE5.5/IE6/IE7. Microsoft had noted in one of their whitepapers that they would plan on adding some CSS3 support based on customer feedback. The lack of opacity is one of the most requested features in their bug tracking system, so natually I figured that they were going to add opacity to a future beta.
However, this week the IE team wrote that they are NOT going to include this in IE8 but will consider it for a future version.
This would make IE8 the only browser to not support any form of opacity, and "break" A LOT of exisiting websites, tools etc. that rely on this (including several of Microsoft's own websites and API's). I'm flabbergasted.
If you as me think this is wrong, go and sign up for the IE8 beta program and vote and comment on this issue.
Click here to sign up for the IE8 beta program. Afterwards you should be able to see, vote and comment on the opacity bug entry:
https://connect.microsoft.com/IE/feedback/ViewFeedback.aspx?FeedbackID=331735
Semantic Web in the news
In scanning new Semantic Web news, I'll be looking out for re-use of data. The momentum around Linked Open Data is great and exciting -- let us also make sure we make good use of the data.
Saved By: James Kim | View Details | Give Thanks
Tags: Semantic Web, Tim Berners-Lee, mashup, re-use of data, Web of data
Book: Fructose ‘missing link’ in obesity epidemic
GAINESVILLE, Fla. — Could the simple sugar responsible for putting the sweet in everything from bananas to root beer be the missing link in understanding what puts the fat on a person’s thighs? Yes, according to a book penned by a University of Florida researcher that was published today.
In his book, “The Sugar Fix: The High-Fructose Fallout That Is Making You Fat And Sick,” Dr. Richard Johnson reviews the increasing evidence that fructose may play a role in the obesity epidemic and proposes a low-fructose diet he believes could help people lose weight and potentially prevent diabetes and cardiovascular disease.
“We recognize that obesity has multiple causes, including eating too much and exercising too little, but we think a missing piece of the obesity puzzle is fructose intake,” said Johnson, the J. Robert Cade professor of medicine and chief of the division of nephrology, hypertension and transplantation in the UF College of Medicine. “It’s not fructose itself that is the problem, but eating too much of it.”
Americans consume nearly three times as much fructose as a century ago, Johnson said. Although the major source of fructose is soft drinks, it’s found in a variety of foods such as fruit, juice, sweetened cereals and pastries.
“We think fructose makes you obese not simply by the calories it provides but because it also tricks hormonal systems that control appetite,” Johnson said. “You don’t get a sense of being full so you keep eating. It (fructose) may also be important in the development of diabetes, kidney disease and heart disease.
“An additional problem is that the more fructose you eat, the more sensitive you become to it,” Johnson said. “If you want to have success losing weight, you have to cut out fructose for two weeks. At that point you are no longer as sensitive and you can resume a low-fructose diet with ease.”
Johnson’s book, which was published by Rodale, contains a diet he developed with nutritionist and dietitian Elizabeth Gollub, as well as tables listing the fructose contents of common foods. Fructose content is not found on most labels.
Unlike other low-carbohydrate diets, which require dieters to reduce all carbs, Johnson’s plan targets fructose. Starchy foods like potatoes and rice aren’t a no-no as in low-carb diets. And after the first two weeks, dieters can resume eating fruit and having treats such as cake in moderation.
“Most people are used to eating about 50 percent of their diet as carbohydrates,” Johnson said “When you cut it way back and have a very high-protein, high-fat diet, it’s very hard to sustain. It’s also not necessarily healthy. What’s great about our diet is we can maintain a normal carbohydrate-protein-fat balance, and when you do that, the diet is much easier to sustain.”
Johnson became interested in fructose while studying hypertension. He and his colleagues discovered that uric acid increased blood pressure in animals and that ingesting fructose seemed to spur production of uric acid. Reducing uric acid in these animals helped control blood pressure and other problems such as pre-diabetes.
“The effect of fructose to cause pre-diabetes and raise blood pressure may be more important than its effects to increase weight,” Johnson said. “Our studies suggest that, even if one can control one’s weight, that excessive intake of fructose may increase the risk for high blood pressure and diabetes. Going on a low-fructose diet will have benefits above and beyond losing weight.”
The research in Johnson’s book came from studies in his own lab as well as from other scientists studying fructose in cells, animals and humans at other institutions, he said.
He also reviews the history of fructose consumption, comparing it with the rise of obesity. The two histories mirror each other, he writes.
Although fructose consumption was already on the rise when high-fructose corn syrup was invented, the introduction of this sweetener in the late 1960s accelerated the increase. High-fructose corn syrup contains about as much fructose as table sugar but is cheaper to produce, leading companies to produce bigger portions of sweets and soft drinks for the same price, Johnson said.
Today, Americans eat 30 percent more fructose than they did in the 1970s and three times as much as in 1900, when the obesity rate was 5 percent, Johnson said. About 33 percent of adults are now overweight or obese, according to the Centers for Disease Control and Prevention.
“After reading this book I found myself looking more carefully at labels, looking specifically for high-fructose corn syrup,” said Dr. Andrew Whelton, an adjunct professor of medicine and the former director of clinical nephrology at Johns Hopkins University. “I was amazed to see it so often.
“Although this book was put together for a lay audience, I thought it would be useful for health-care providers, particularly for anyone who deals with issues of obesity and diabetes.”
Scientists: New technique identifies molecular ‘biomarkers’ for disease
GAINESVILLE, Fla. — University of Florida chemists are the first to use a new tool to identify the molecular signatures of serious diseases — without any previous knowledge of what these microscopic signatures or “biomarkers” should look like.
Reported this month in the online edition of the Journal of Proteome Research, the advance could one day lead to earlier detection and improved treatment of some types of cancer as well as other diseases.
“With many diseases, the problem has been that we really don’t know what to look for,” said Weihong Tan, a professor of chemistry and the lead author of the paper. “What we’ve done is create a technique to identify the biomarkers despite that limitation.”
Doctors often diagnose cancer and other diseases based on the appearance of a tumor or a patient’s symptoms. While such traditional methods can be effective, they sometimes identify a disease only after it is established. For example, clinicians may get tipped off to the presence of lung cancer — which kills more people than any other type of cancer — based on visible images of a tumor that appear on radiological exams of a patient’s lungs.
Because earlier detection typically improves outcomes, doctors would like to spot disease at the molecular level, before it grows or spreads and manifests itself in more obvious and harmful ways. Given that diseased cells’ molecular structures differ from those of healthy ones, that approach should be possible, and researchers have had some success finding such “biomarkers” using antibodies, Tan said. But despite years of research, biomarkers for most diseases remain elusive or unreliable, he said.
His group turned to “aptamers,” single-strand chains of DNA or RNA that recognize and bind to target protein molecules, as a new tool. His paper reports the first-ever successful use of the aptamers to discover a molecular biomarker — in this case, one for leukemia.
Tan said his group used cell-SELEX, a process his group developed and patented.
Researchers create trillions of different varieties of aptamers in a solution. They then immerse cells known to carry the sought-after disease in the solution. After an incubation period, they rinse the cells.
The vast majority of the aptamers wash away, but those with stronger molecular affinity for the diseased cells remain. The researchers repeat the process several times, eventually shrinking the pool of aptamers to as few as 10 to 25 very strongly attached aptamers — those most closely associated with the diseased cells. Analysis then reveals these aptamers’ molecular structure, as well as the molecular structure of the cells’ biomarkers they bind to.
“As long as the molecules in question are expressed in a substantially different way on diseased and normal cells, they can be identified,” Tan said.
Rebecca Sutphen, associate professor and director of the Genetic Counseling & Testing Service at the H. Lee Moffitt Cancer Center & Research Institute in Tampa, said improved diagnosis may not be the only application of the research.
“The opportunity to identify cancer cell-specific biomarkers and potentially detect small numbers of cancer cells has many potential clinical applications, including disease detection, better imaging of tumors and even potential application for stem cells,” she said.
Other biomarkers have been found for leukemia, but none is particularly reliable, Tan said. Tan and his colleagues reported using aptamers to recognize cancer cells in a 2006 paper in the Proceedings of the National Academy of Sciences. Tan said the latest paper advances that work by revealing the target biomarkers the selected aptamers recognize, Tan said. These targets will form a molecular foundation in understanding diseases, he said.
“In 2006, we did not know what the aptamer recognized on the cancer cell surface,” he said. “In this current work, we report discovering these biomarkers, which then form the molecular foundation for us to understand the cancer and to prepare different molecular tools for molecular medicine.”
Tan said the research is particularly promising because aptamers are relatively easy and inexpensive to manufacture compared with antibodies. “This offers the potential for wider application,” he said, adding that aptamers could one day be used not only to detect disease, but also to ferry therapeutic agents to diseased cells.
The research was funded in part with two grants from the National Institutes of Health. It was also funded with two grants from Florida’s Bankhead-Coley Cancer Research Program and one grant from the State of Florida Center of Excellence in Bio/nano sensors.
The paper’s co-authors are Dihua Shangguan, Zehui Cao, Ling Meng, Prabodhika Mallikaratchy, Kwame Sefah, Hui Wang and Ying Li.
UF family finance expert gives top 10 ‘What Not to Do’ list for taxpayers
GAINESVILLE, Fla. — Tax season is one of the most stressful times of the year. And a University of Florida expert cautions against making common mistakes that can complicate matters as we go about accounting for our income with the federal government.
So Michael Gutter, an assistant professor in family financial management with UF’s Institute of Food and Agricultural Sciences, has compiled a list of Americans’ top 10 tax-season gaffes.
1. Not making use of VITA (Volunteer Income Tax Assistance) sites. If your taxes aren’t terribly complicated–you don’t own a business or have a lot of investment income to report–then VITA is an underused resource worth checking out.
“That’s the first thing I would tell people, is to make use of those sites. They have a lot of oversight by state regulatory agencies and the IRS and they’re audited internally before tax forms are sent up and approved and they’re e-filed for free,” he said. “It’s a free service, done by people who literally work with tax code day in and day out.”
Check with your local county extension office or the Florida Prosperity Campaign, www.prosperitycampaign.com, to find your closest VITA site.
2. Not keeping organized records and missing deductions or credits you deserve.
Gutter said taxpayers should keep in mind that the tax code is designed to promote and encourage good-citizen type behavior: Getting an education, taking care of your children, buying a home, giving to charity, etc.
“There are so many opportunities for people to try and save legitimately between deductions and credits,” he said. “A tax credit is a dollar for dollar reduction in your tax liability, so by not taking advantage of it, you’re really giving away your own money.”
3. Not using your kids to your best (tax-saving) advantage.
If you have children, Gutter said, a number of tax credits might be relevant for you. If you have college-age offspring, there are even more.
Go to www.irs.gov and search “education tax credit.”
4. Not realizing that if you’re struggling financially, you might be eligible for the Earned Income Tax Credit, a credit for low-income workers. Even if your income isn’t high enough to require a tax return, you can still get the credit.
Go to www.irs.gov and type “Earned Income Tax Credit” in the search box.
5. Spending your tax-refund windfall instead of filling out IRS Form 8888. The 2-year-old form can be used to automatically funnel your tax refund into one or more accounts, such as a savings account or an IRA or other safe place where you won’t be tempted to spend it on an impulse item.
Go to www.form8888.org
“It helps people with the self-control issue that we all have with money,” Gutter said. “It burns a hole in everyone’s pocket, it just depends on what temperature it burns in your pocket and how fast.”
He advises taxpayers to use tax refunds sensibly: Reduce debt first, put money toward retirement or pay bills.
6. Not realizing you can go back and amend previous years’ returns.
If you find this year that you haven’t been taking a tax deduction you’re legitimately eligible for, Gutter says, it’s perfectly acceptable to go back and file amended returns for those years.
7. Buying into the hype over speedy refund anticipation loans.
Unless you are in a true financial emergency, tax refund anticipation loans are “not typically in people’s best interest,” Gutter said.
The loans are similar to paycheck advance loans, he said. The “refund” you get is generally the refund you would have gotten if you’d waited–minus a fee or interest.
8. Not realizing you can make IRA contributions for the previous year up until tax filing day.
So until April 15, 2008, you can contribute to your IRA for tax year 2007.
9. Delaying filing a return without a good reason.
This just leaves your refund in the government’s hands when it could be accruing interest for you, Gutter said. There are some instances where it might make sense to sit on one’s tax return until the last minute–such as waiting to pay Uncle Sam if you still owe taxes, as a way to keep the money working for you until the last moment.
10. Breaking the law by lying on your taxes or not filing a return at all.
“We always tell people, even if you owe the IRS money, work on it–you’re not going to get away with this for very long,” he said. “And if you don’t know how to file your taxes, get some help. But not filing is not in your best interest.”
Economy slows Florida population growth to lowest level in 30 years
GAINESVILLE, Fla. — The bursting of Florida’s housing bubble and overall economy has also let the air out of the state’s famed population growth, which has shrunk to its lowest levels in three decades, according to the latest projections from the University of Florida.
“A tremendous slowdown is forecast over the next few years compared to what we’ve experienced during the last five years,” said Stan Smith, director of UF’s Bureau of Economic and Business Research. “The state has not experienced a decline of this magnitude since the mid-’70s, when we were in a national recession.”
The Sunshine State is expected to add an average of only about 209,000 residents a year between 2007 and 2010, compared with annual increases of about 418,000 people between 2002 and 2006, he said.
Although Florida remains a major destination for retirees, far more young and middle-aged people move into the state to find work than their older counterparts arrive to retire, Smith said. But declining job opportunities have stanched the influx of younger people, he said.
“The vast majority of Florida’s population growth is due to migration, and during a recession the rate of job creation slows down in Florida,” he said.
The biggest group moving to the state during the last four or five decades has typically been those in their 20s and 30s, with those 65 and older accounting for only about 15 percent of in-migration, Smith said. But younger people in their 20s and 30s also make up the biggest share of those leaving the state, which is why Florida became the nation’s oldest state after World War II, he said.
Robust real estate markets and burgeoning construction fueled Florida’s growth from 2002 to 2006, just as it did during the boom years of 1971 to 1974, Smith said. In turn, the housing market’s decline dramatically curbed population growth after 2006, just as a national recession in the ’70s sharply limited expansion between 1974 and 1977, he said.
Another reason growth typically slows during a recession in addition to the availability of fewer jobs is that people have difficulty selling their houses, which delays their move, he said.
“We’ve certainly seen a slowdown in economic growth nationally, and it’s even possible we may be in a recession right now, although we won’t know for sure until later this year,” he said.
Projections call for Florida’s population to return to more normal growth levels of about 317,000 a year between 2010 and 2020, similar to the 1980s and 1990s, Smith said. Although there also was a slowdown in growth during recessions in the 1980s and 1990s, it was nowhere near the steep decline of the 1970s or that which is taking place now, he said.
“It’s really sort of a boom-and-bust pattern that we have seen in Florida,” Smith said. “The years between 2002 and 2006 were the biggest in terms of absolute increases since the early ’70s, and then just as we experienced in the ’70s we are going from a period of high- to low-growth numbers.”
The county projected to grow the fastest in percentage terms between 2007 and 2010, Lafayette in Florida’s Big Bend, is something of an anomaly because it owes its top spot to prison construction, Smith said. It is predicted to grow from 8,215 in 2007 to 9,200 in 2010, he said.
Otherwise, many of the high-growth counties are the same as in past years, he said.
Flagler, which was the fastest-growing county between 2000 and 2007, jumping from 49,832 to an estimated 93,568, is expected to continue to expand at a rapid rate, to 103,500 by 2010, Smith said. Its coastal location, proximity to Jacksonville and relatively low cost of living, as well as the presence of the large Palm Coast development, contribute to its high ranking, he said.
Other rapidly growing counties are Sumter, which owes its surge in part to prison expansion and the increasing number of residents at The Villages retirement community, and Osceola County, which receives spillover from nearby Orlando.
In terms of absolute numbers, the counties expected to make the biggest gains between 2007 and 2010 are Miami-Dade, from 2,462,292 to 2,512,300; followed by Orange, from 1,105,603 to 1,154,200; and Hillsborough, from 1,192,861 to 1,234,900.
Off-What? The New Breed Of Regulator...
We have Ofcom that regulates the communications industry.
Ofgem regulates gas and energy markets - not to be confused with a regulator of jewellery.
And if Ofwat is water, should the travel industry be regulated by Ofwhere?
Apart from the ski-ing holiday industry, which should be regulated by Ofski.
Then we have the regulator of public schools and the upper classes - Oftoff - not to be confused with the health regulator - Ofcough.
And of course the regulator for deference - Ofdoff - but I like to leave that to them.
Can anyone else think of some good possible regulators?
-
(Image Source: Stannered, http://commons.wikimedia.org/wiki/Image:Inverted_question_mark_alternate.svg)
Tuesday, May 6, 2008
Livingstone To Run In 2012
What do you think he'll do, the relay, the marathon or something else?
Of course not, this seems to be a reference to whether he will stand for re-election or not in 2012.
Now I don't want to come over all negative, but don't you think Ken would be better advised getting the current election out of the way first?
As someone who backs Ken (and even if I didn't, someone has told me that I do, so I must), the thought of having Boris as Mayor for 4 years scares the living daylights out of me.
I can't believe London would be stupid enough to vote for Boris, but we'll see, won't we?
-
Having Healthier Meetings
And let's face it, my physique wasn't that great to begin with!
Being a local representative (or being chosen for any elected position) is a great honour, a great responsibility and in most cases a great experience.
I do try and stay as fit as possible. When I was 16 I used to play or train for football 6 times a week - and on my day off, I used to play table-tennis. Now I am lucky to play once every couple of weeks.
And when I try to cram 2 games into a day, or 3 in 2 days, it's a disaster for my poor little body.
And obviously, I use the word "little" wrongly in that instance.
So it's about trying to do regular exercise in my spare time. I have an exercise bike and a rowing machine - no, not that sort of rowing machine - in my room. I like to use them when I can, but take tonight, I go to work first thing in the morning, then get back and have a meeting at 6pm at the Council. I then have another meeting at the Council at 7.30pm that runs to 9.30pm. By the time I get home, I guess my neighbours wouldn't be too happy about hearing my rowing machine clanking backwards and forwards.
So what is the solution?
Well, I jokingly said it at my meeting tonight but it's not a bad idea. Exercise bikes for Councillors to use at meetings. Why not? We can still listen to debates and make interjections, make notes and so forth but do a bit for our health too.
I tell you what, why don't we wire the bikes up to the electricity system so the Councillors can power the lighting and the air conditioning? That would help the environment, and is a green solution!
The only thing you would have to worry about is if some bright spark (pardon the pun) rigged up the bikes so the current flowed the other way. That would be quite a shock, wouldn't it?
I'm sure we'd see a lot more Councillors jumping up and down at meetings one way or the other. :-)
-
(Photo Source: Kirk, http://en.wikipedia.org/wiki/Image:Stationary_bicycle.jpg)
The Mad Attacks Of Racists
Apart from their racist attack on anyone they perceive to be foreign or an immigrant, let's look at their three most recent attack lines against me:
1) Council Tax rises locally are down to Labour and that the services provided are not good enough considering those rises.
A standard attack line, but fatally flawed due to the fact that there is a 0% Council Tax rise in Three Rivers this year!
So even ZERO PERCENT was too high?
I'm sorry but the BNP have nothing interesting or constructive to say about the problems facing South Oxhey. They don't know what is going on locally, have been doing nothing to help local people, and don't have any solutions - except suggesting stopping immigrants coming into the country, which the Council has no control over anyway.
2) We should support the position held by Ashely Mote the Independent MEP for the South East, including his views on the Labour Party.
This is the same Ashley Mote who was sent to prison for being a benefits cheat?
The man who was too right wing even for UKIP? You are having a laugh now, aren't you?
3) The Minimum Wage is not high enough, so we should vote for a party that would abolish the Minimum Wage. What we need is a living wage. Kerron is a "bearded tree hugging liberal, a typical labour candidate" who does nothing on these issues.
Except of course regular readers will know that I (along with other Labour activists) have campaigned not only for the introduction of the Minimum Wage, but the introduction of a living wage and better workers' rights for the lowest paid. Time and time again - and that is why we not only got better workers rights, sick pay, pension entitlement and Minimum Wage protection for those being exploited, but also increases to the level of the Minimum Wage.
And do you know what, I didn't see one BNP activist out on those protests and campaigns. I wonder why.
The BNP are just a sick joke, the only people they serve are themselves and those who share the same warped view of the world. They can't even make a decent argument for what they believe in.
It's sad really.
-
Labour's Mini-Revival
The latest ICM/Telegraph Poll makes interesting reading today.
Yes, the Tories still have a massive lead in the poll - not surprising for the major opposition party, mid-term against a party in it's third term in Government - but there seems to be a mini-recovery for Labour, which I am sure will cheer up a few in the red camp.
The topline figures, with changes from the last ICM poll a fortnight ago, are CON 43%(+1), LAB 32%(+3), LDEM 18%(-3).
However I am particularly intrigued by the Scottish polling. In the Scottish YouGov poll, it showed Westminster voting intentions in Scotland were as follows:
CON 17%, LAB 35%, LDEM 12%, SNP 31% - so a 4 point lead for Labour over the SNP.
However in the Scottish Parliament voting intentions stand at:
CON 12%, LAB 32%, LDEM 13%, SNP 40% in the constituency vote and CON 13%, LAB 30%, LDEM 12%, SNP 33% in the list vote - that's an 8 point lead and 3 point lead for the SNP respectively in the Holyrood elections.
Can anyone think why that might be? Not me. ;-)
-
Cameron Diaz's Dad Dies Suddenly
TMZ has learned that Cameron Diaz's father died suddenly early this morning.
We're told the 58-year-old Emilio Diaz, a popular resident of Seal Beach, Calif., recently developed the flu which then turned into pneumonia. We hear his death was "shocking" as Emilio was in "terrific health." Diaz is currently filming her upcoming flick "My Sister's Keeper." A source on the set tells us production on the film was shut down today.
Emilio was a second generation Cuban-American who worked as a foreman for an oil company. He had a bit part in his daughter's film "There's Something About Mary" as "Jailbird."
Problems With Admin At Anglia?
Problems with admin at Anglia Ruskin University? Surely not.
As you may know, I graduated from Anglia Ruskin University about 10 years ago. It was called Anglia Polytechnic University then - the only Polytechnic in the the country at the time, and I used to joke that it was there on merit - at least now they've managed to change the name, if not some of the problems people experience.
The university itself has been immortalised on TV twice as far as I am aware. Once when Griff Rhys Jones played a lecturer in Wilt (the writer was a lectuerer at the Poly) and once in The Young Ones as "Scumbag Poly" in the University Challenge edition against "Footlights College, Oxbridge".
Don't get me wrong, I loved my university years. The lecturers were great, the courses were brilliant and the staff were always friendly and accommodating. There were no pretentions and the uni years were undoubtedly some of the best of my life.
But the one thing that let it down was admin. Well admin and organisation - two things.
The two week wait for a timetable was not unusual in my day. I can remember in 1995, my first year at university, that one student did not get his timetable till week 6. Now that may sound quite bad, but it is worth remembering that at that we had 12 week terms at that time!
I had presumed that these were passing problems, or that it was a problem experienced by an individual student - indeed I have nothing to suggest the problems were widespread. However what a good university should do is talk to the student and resolve the matter amicably.
The fact that this current student seems to have been threatened with legal action and banned from the campus seems a massive over-reaction. Anglia, please sort this situation out - you currently have a reputation as a good university that puts it's students needs (academic and personal) first - and this row will do nothing for any of the people concerned.
-
(BTW did you know that Tory donor Michael Ashcroft not only went to Anglia back in the day, he has been Chancellor of Anglia Ruskin University since November 2001, and has donated £5 million for the university's business school at Chelmsford, now called Ashcroft International Business School. I did, but most people I talk to didn't. I am sure that has absolutely nothing to do with the outrage being expressed on the Tory blogs today.)
Joseph A. Palermo: "That Boy's Finger Does Not Need to Be on the Button"
While the putatively "liberal" media hyperventilate about a few words Barack Obama uttered in San Francisco last Sunday, lost in the din were the remarks at a fundraising dinner for Republican Senate Minority Leader Mitch McConnell of Kentucky and his compatriot Representative Geoff Davis who represents the good people of Northern Kentucky. Senator McConnell called Obama "incredibly naive" and Representative Davis called him a "snake oil salesman." But the truly offensive and, yes, "elitist," statement came from Davis when he said: "I'm going to tell you something. That boy's finger does not need to be on the button."
The good news is that Davis's campaign manager, immediately recognizing the racist nature of his boss's words, delivered an unambiguous apology to Obama's Senate office. The bad news is that the reconstituted Solid South under one-party Republican rule has not shaken its old Jim Crow roots.
This incident demonstrates why Obama is a powerful candidate for the general election. I mean, when was the last time you heard a Republican "apologize" for anything that comes out of his or her mouth? The GOP's Southern wing must be careful to silence its instinctive racism. Karl Rove's voter suppression tactics targeting African Americans are well documented. Remember John McCain's "black baby?" How about the "hands" political ad for Jesse Helms or the Willie Horton ad for Bush the Elder? Allen Raymond, the turncoat Republican operative, spilled the beans on the racist tactics the GOP is now expert at deploying.
And what about the high-flying Republican governor of Mississippi Haley Barbour? He's a former chair of the Republican National Committee, and he is always yucking it up with the Council of Conservative Citizens. The CC of C is the reconstituted "White Citizens Councils" of yesteryear during the era of racial segregation, and guess what, they're all Republicans. George W. Bush campaigned for Barbour in 2003 even though the CC of C had splashed photos of Barbour attending one of their barbeques all over its web site.
I guarantee you that if Obama is the Democratic Party's nominee the CC of C types inside the Republican Party are going to be difficult to muzzle because the thought of a black man with his "finger on the button" is just too much for them to bear. Congressman Geoff Davis just exposed the tip of the iceberg.
I'm So Worried About The Baggage Retrieval System They've Got At Heathrow
As a youngster listening to this song, I probably shared many of the fears being sung about in the song. However I never really got the reference to "the baggage retrieval system they've got at Heathrow". This was mainly due to the fact that we could never have afforded to fly anywhere when I was that age - the most exotic holiday I can remember was the annual trip (by train and boat) to the Isle of Man - so the observation rather went over my head.
It's funny how 30-40 years on the song is probably at its aptest this week. You take your luggage to Heathrow and it ends up in Milan!
How post-modern, we are now getting to the stage where your luggage gets a better holiday than you do as a passenger.
Yes, I'm so worried about the baggage retrieval system they've got at Heathrow. :-/
Let's just hope it's not a "terminal" problem. ;-)
-
Alicia Keys Backtracks On Gangsta Rap Conspiracy Claims
NEW YORK — Alicia Keys says she's not a conspiracy theorist. In a statement issued Tuesday, Keys said she was clarifying "comments that were made during my recent Blender magazine interview since they have been misrepresented."
According to an interview in the magazine's May issue, the 27-year-old singer says: "`Gangsta rap' was a ploy to convince black people to kill each other. `Gangsta rap' didn't exist." She also is quoted as saying that she wears a gold AK-47 pendant around her neck "to symbolize strength, power and killing 'em dead."
"We stand by our story," Blender spokeswoman Kate Cafaro told The Associated Press on Tuesday.
"My comments about `gangsta rap' were in no way trying to suggest that the government is responsible for creating this genre of rap music," Keys said in a statement issued by J Records. "The point that I was trying to make was that the term was oversloganized by some of the media causing reactions that were not always positive. Many of the `gangsta rap' lyrics articulate the problems of the artists' experiences and I think all of us, including our leaders, could be doing more to address these problems including drugs, gang violence, crime, and other related social issues."
As for the AK-47 remark, Keys said Tuesday that AK-47 is a nickname given to her by friends "as an acronym for Alicia Keys and a metaphor for wowing people with my music and performances, `killing 'em dead' on stage. The reference was in no way meant to have a literal, political or negative connotation."
When AP attempted to reach Keys last week about the Blender interview, her publicist, Theola Borden, said the singer was on vacation and unavailable for comment.
The multiplatinum star behind the hits "Fallin'" and "No One" most recently had success with her latest CD, "As I Am," which has sold 3.4 million copies, according to Nielsen Soundscan.
___
On the Net:
Blender:
http://www.blender.com/
Alicia Keys:
http://www.aliciakeys.com/
Are Watford Flagging?
I am sure you are as interested as I am in what went on, so here is a quick summary.
Watford versus Coventry City at Vicarage Road stadium...
You may think with the long win-less run Watford are on at the moment that Aidy Boothroyd, and the powers that be at the club, may be panicking a bit - but not a bit of it.
It was therefore completely coincidental that with public support on the terraces beginning to ebb away as quickly as confidence on the pitch that the club invested in thousands of yellow Watford flags to be draped over the fans seats when they came in.
It was also a risky gesture. Yes, a victory and the fans would wave them joyously in the air singing the team's praises, but a defeat would surely have seen fans telling the club exactly where they could stick their flags!
The flags themselves gave a rather interesting message - aside from the one about the board panicking about the fans losing the faith with project Boothroyd - emblazoned with the phrase "Who are we? Watford". Given the poor run of late, and the awful nature of the fare being served up "Why are we Watford?" may have been more apt.
Self belief is something that Aidy has in abundance. He probably just thought that the fans needed a little shoring up ahead of the game against such a strong opposition, languishing as they are just above the Championship relegation zone. And therefore we didn't just have the flags, we had Harry the 8ft Hornet mascot striking a penalty into the (empty) net at the Rookery end before performing a carefully executed slide in the mud towards the advertising hoardings before running in amongst the fans on the terraces.
At that point I thought Harry may have ripped his oversized furry head off to reveal he was Aidy, but no such luck.
Still the "entertainment" continued. A man with an air powered bazooka started firing Watford t-shirts into the crowd. The words "health" and "safety" flashed large in my mind. Could you imagine someone being struck with one of these and then suing the club for a few thousand pound in the courts for the strain, injury and stress caused by such an incident.
If Danny Webber had still been at the club, the injury prone striker probably would have got injured and missed the rest of the season just by looking at the man firing a bazooka!
The crowd looked on rather bemused. The problem hasn't been with the affable nature of the manager and his players, rather the poor performances on the pitch and a lack of decent results (meaning a lack of points). In fact Aidy may well have been better served by sticking Jordan Stewart, Nathan Ellington or Steve Kabba into a bazooka and firing them into the hands of the waiting fans - that would have pleased far more people, and would have been cheaper to do as a simple good will gesture.
With the flags, the performing mascot and the t-shirt firing bazooka, I did wonder at this point whether we were going to go the whole hog and have unicycling jugglers at half time - but fortunately this was not necessary as by this point Watford had taken the lead through Ellington's mis-hit 25 yard effort that pee-rolled into the net in slow motion.
However even Watford players seemed unable to believe that they might actually win a game, and in the second half a rather toothless Coventry were allowed to draw level. In fact they had numerous chances to win the game - one particularly gilt-edged chance 10 mins from time, that proved costly as Watford retrieved the ball and went up the other end, waited for a defender to completely miss the ball and Tommy Smith ran in a flukey winner.
Boothroyd must have sighed in relief. Otherwise you feel the bill for pre-match entertainment at the Barnsley game in midweek could be astronomical! However the important thing is the long win-less run is over and tomorrow is a new day.
Oh yes, in other less important news a bunch of world leaders - including the Prime Minister - were speaking at a conference at The Grove in Watford. However I don't think any of them managed to make it to the game.
I bet they are kicking themselves for missing out on a free flag/t-shirt!
-
Jamal Dajani: Obama Bin Laden?
Here we go again! Dean Singleton, a publisher, founder of the NewsMedia newspaper group and chairman of the board of the Associated Press news agency, had a question for presidential candidate Barack Obama about his policy on Afghanistan.
"Can you imagine shifting a substantial number (of US troops from Iraq) to Afghanistan where the Taliban has been gaining strength and Obama Bin Laden is still at large?"
I thought Obama handled it well as he calmly replied, "I think that was Osama bin Laden."
Mr. Singleton clutching his head, answers: "If I did that, I'm so sorry."
Now Obama could have said, "It's Obama you moron." But he did not. Or he could have fired back and screamed, "Now you know why people are bitter...because of idiots like you." But he didn't.
Anyways, Arab media was entertained...
Jamal Dajani produces the Mosaic Intelligence Report at Link TV
Watch: Obama a Winner in the Middle East
Local Elections - Temporary Alterations
a) This website is not a campaign website and should not be treated as such. The views contained in it remain my own personal views and are not necessarily the views of the Labour and Co-operative Parties, or other individuals, bodies or organisations I have connections to.
and
b) The imprint will come back down after the election, no matter the result.
Interesting that I have a BNP candidate standing against me - clearly they didn't have the intelligence/ability to stand in the wards they claimed they were going to.
Racism will never win the day and, as I have said previously, I hope that people in South Oxhey unite to defeat the vile BNP - as they always have done in the past.
-
(Image Source: The Labour Party)
Vote Match - They Are Thinking What You Are Thinking
Now, if you need someone to tell you how you might vote, you can take the test here.
Apparently if I did have a vote (which I don't), then I would vote for Ken Livingstone (which I can't), but if I did (which I won't), that is something I knew already.
As I say, brilliant invention.
-
(Photo Source: Ruddyell and G-Man, http://commons.wikimedia.org/wiki/Image:Kenlivingstone.JPG)
Bravo: We're More Than Just "Runway"
Ms. Zalaznick played it cool and earnest during her network's upfront presentation to press this morning in New York. Of the lawsuit NBC Universal filed last week against the Weinstein Co. over the rights to "Project Runway," Ms. Zalaznick could only officially offer a "no comment." She pointed to reports from yesterday's Lifetime upfront, during which Harvey Weinstein offered three years of servitude to Jeff Zucker as a peace offering for moving Bravo's top-rated show to Lifetime.
"Harvey [Weinstein] was supposed to be here, but as you reported yesterday, Jeff [Zucker] has four kids to take to school, cars to drive and all those windows to clean, so he may not make it," Ms. Zalaznick said.
"Project Runway" will be back for one more season on Bravo in July. Also coming this summer are new seasons of "Kathy Griffin: My Life on the D-List," "Flipping Out" and "Shear Genius," with second seasons also on deck for "Top Design," "The Real Housewives of New York City" and "Tim Gunn's Guide to Style," slated for later in the year.
What's Your Favourite Eurovision Song?
Yes, it's kitsch and a bit rubbish but isn't that one of the reasons we love it? (Well, that and Terry Wogan ripping it to shreds every year!) But I thought it might be fun to ask readers what their all time favourite Eurovision song is.
For British entries I find it hard to see beyond the brilliant dance routines and Spanish holiday entertainer costumes of Brotherhood of Man with Save Your Kisses For Me, or the sheer 80s-ness and skirt ripping of Bucks Fizz's Making Your Mind Up.
But outside of UK entries, my favourite from all my years of watching is undoubtedly Denmark's high-tempo folky foot-tapper from 2001, so I thought I'd share that with you.
Rollo & King - Never Ever Let You Go.
A Barenaked Ladies style track that somehow failed to win, despite having great harmonies, great lyrics, a harmonica interlude by a guy in a leather jacket, a beautiful woman doing a theatrical stage entrance halfway through and (most importantly) someone jauntily strumming a ukuelele!
Great atmosphere too, as the contest was in Copenhagen that year - although Estonia ended up winning with a much inferior song. Another example of rigged voting no doubt, that still pains me to this day...and they say it's all trivial? ;-)
Now, where did I put my ukuelele...
-
Campbell Brown Shows Off Baby Eli At Kiran Chetry's Baby Shower
I didn't even know you got a shower for your second baby!" said American Morning anchor Kiran Chetry, surveying the scene at a baby bash thrown in honor of her impending arrival. Chetry's CNN coworkers joined her for party at New York City's Sparty, where they enjoyed an eco-friendly afternoon of manicures, massages and plenty of baby talk.
MPs Videoed Swinging
But watch the evidence here.
It's a relief, isn't it?
I bet all those journos were just hoping beyond hope that one of them fell off - although I like Andy Burnham's heckle as Ed Balls jumps off:
"Can you hear the wood creaking there?"
With friends like that, eh...
Anyway, how smooth is Ed Balls' dismount? Two related questions:
1) Has he done this before.
2) Can we make it an Olympic Sport before 2012.
-
(Photo Source: Jon Pallbo, http://commons.wikimedia.org/wiki/Image:A_playground_swing.jpg)
Arlen Specter Cancer Returns: Hodgkin's Disease Discovered By Doctors
"Senator Arlen Specter today announced that he has been diagnosed with an early recurrence of Hodgkin's disease," the senator's office announced in a statement today. "Hodgkin's disease is a cancer of the lymph system."
Senator Specter's recurrence was diagnosed based on a routine follow-up PET scan (Positron Emission Tomography) which showed small lymph nodes in his chest and abdomen. A follow-up biopsy of one of the chest lymph nodes was positive for recurrence. A bone marrow biopsy was negative.
Senator Specter has had no symptoms of Hodgkin's disease aside from the PET scan findings. Based on the location of the recurrence and the absence of symptoms, his lymphoma is considered stage IIIA. This is significantly less advanced than his Hodgkin's disease when it was originally diagnosed in 2005, when it was stage IVB. At that time, he was treated with 6 months of ABVD chemotherapy, and obtained a complete remission which lasted 3 years. Senator Specter will now receive the Stanford V protocol of chemotherapy weekly over the next 12 weeks.It is expected that Senator Specter will continue to perform all the duties of his office as well as his activities associated with his candidacy for re-election.
Senator Specter's oncologist, John H. Glick, M.D. of the Abramson Cancer Center of the University of Pennsylvania, said: "Senator Specter has an excellent chance of again achieving a complete remission of his Hodgkin's disease. Senator Specter's early diagnosis of his recurrent Hodgkin's disease has a five- year survival rate of 60 percent. He is in superb physical condition, with a normal physical examination and blood work, no symptoms of disease, plays squash regularly and follows a careful diet." Dr. Glick is Professor of Medicine at Penn and a nationally renowned expert in Hodgkin's disease.
Senator Specter said: "I was surprised by the PET scan findings because I have been feeling so good. I consider this just another bump on the road to a successful recovery from Hodgkin's, from which I've been symptom free for 3 years." Senator Specter had successful surgery for a brain tumor in 1993, which recurred in 1996 and was successfully treated. In 1998, in the middle of a re-election campaign, he underwent bypass surgery and post-operatively suffered cardiac arrest, from which he fully recovered. "I've beaten some tough medical problems and tough political opponents and I expect to beat this too. I look forward to getting through this treatment and continuing to serve the people of Pennsylvania," Specter said.
Specter recently published a book, "Never Give In: Battling Cancer in the Senate," chronicling his long-time struggle with Hodgkin's disease. During an appearance on "Hardball" with Chris Matthews earlier this month, Specter brought along a photo of himself shaking President Bush's hand to illustrate one of the lessons of his book.
In the photo a bald and visibly ill Specter can be seen shaking hands with a clearly reluctant Bush, who noticeably keeps his distance with his arm fully extended. "He's keeping you at arms length," Matthews laughed. Why was he doing so? Specter offered several theories of what might have been going through Bush's mind at that moment, for example: "He's the chairman, I guess I got to shake his hand."
Watch the clip.
MSNBC