Archive for November 28th, 2007

More Xbox 360 backwards compatibility If you happen to have a handful of old school Xbox games lying around that cannot run on the Xbox 360, hold on to your seats. Microsoft has just updated the latter’s software emulation, opening the floodgates to over 80 original Xbox games to be played on their new console. Some of these titles include Armed and Dangerous, Freedom Fighters and Godzilla: Destroy All Monsters Melee. I know the Xbox had some great titles in the past, but when compared to the PS and PS2, the number pales in comparison. How many of you Xbox 360 owners still bust out your old Xbox games and have a go at it?

Permalink | Comment | Uberbargain | Uberphones

Courtesy E.l.f

While some people might say the best gifts come in small packages, you have to admit it’s pretty exciting to see a monster gift kit sitting under the tree. e.l.f. makes it fun — and easy — to spoil the women in your life this season with customized make-up boxes stuffed with 25, 50, or 100 full-size products specially chosen to match their skin tone, favorite colors, or sense of style. And there’s no need to worry about going broke with e.l.f. — all of their luscious glosses, blushers, and bronzers come in at under $1 each! So for $25, you are giving 25 great products, and $100 gets you the entire e.l.f. line! Click here to customize your own kits for $25, $50 or $100.

Filed under: ,

Ok everybody, here goes round fourteen. This time we’ve got a Microsoft Sidewinder Mouse. Ready? Here’s the deal.

Some big ticket gadgets we’ll leave open through the weekend, but the rest you can only enter until the next gadget lands (usually within a couple of hours). If you miss your shot, sorry, we’re moving on to the next gadget. Good luck!

Oh, and don’t forget the rules. (Yeah, there are always rules.)

  • Leave a comment below. That’s it! Who loves you, baby.
  • You may only enter this specific giveaway once. If you enter this giveaway more than once you’ll be automatically disqualified, etc. (Yes, we have robots that thoroughly check to ensure fairness.) You can enter different giveaways in today’s Black Friday giveaways, but you can only enter this one once.
  • If you enter more than once, only activate one comment. This is pretty self explanatory. Just be careful and you’ll be fine.
  • Contest is open to anyone in the 50 States, 18 or older! Sorry, we don’t make this rule (we hate excluding anyone), so be mad at our lawyers or US contest laws if you have to be mad.
  • Winners will be chosen randomly.
  • Entries can be submitted until the next contest goes up. After that we’re all done. Good luck!
  • Full rules can be found here.

 

Permalink | Email this | Comments

Office Depot Featured Gadget: Xbox 360 Platinum System Packs the power to bring games to life!

Recently I stumbled upon this blog post. Unfortunately, Jonathan Holland has things completely wrong. First and foremost, the article is only speaking of presentation in all senses. And, in modern complex applications, presentation can easily include a little bit of logic to give it that "stickyness" the marketing types like. Your core, application logic should most definitely not live on ASP.NET web pages. Or preferably not even in the web project at all. But your template logic can very easily live in the template, and, if at all possible, should live more in the ASPX template than in the CodeBehind.

As some of Mr. Holland’s commenters point out, his method is fundamentally flawed to begin with because it still relies upon the rather loosey-goosey FindControl() to work it’s magic. Which is kind of self-defeating as reliance upon that method destroys some of the advantages he touts. But there are some other, deeper, more fatal flaws than reliance on that method:

  1. If you rely upon CodeBehind to do everything, you cannot change anything in the repeater without recompiling and redeploying the entire application, or at least just the main DLL. This means that making a minor text change will result in a complete recycle, dumping any existing sessions and forcing users to wait through ASP.NET’s spin-up cycle. This also means emergency fixes require a developer with Visual Studio and access to the whole project’s source. Whereas I have been known to push in an emergency template-level fix using notepad on the production server in a pinch.

    Even at design time, making a small change to output requires a recompilation of the application, completely slowing the most fungible part of the development process down considerably.

  2. All the server controls generate some nasty overhead from several angles. First, they have ViewState. Second, they are server controls so they will be parsed and loaded into the control tree. [EDIT: As Mr. Holland points out below, this is a bit unclear and partially wrong. HtmlControls also do appear in the control tree, but they are alot “lighter” than true WebControls–no event model, no ViewState.]

  3. In my opinion, it is much easier to make sense of the HTML when it lives in an HTML-style template rather than completely disconnected on the server side.

  4. If you are working with a separate design team, they will likely give you HTML for such things anyhow. Why go through the trouble of translating it into compiled server-side code? Moreover, most good designers these days can at least somewhat handle ASPX template-style code—they know not to go into the <%# %> land and generally can "read around" that stuff if need be. The smarter ones can even pick up enough DataBinding syntax to be almost useful.

Now, you might ask—what do I do when I need some conditional logic in the template. I surely must use Codebehind to power this? And, at least for the light sorts of logic one should need in the template, the answer is no, it all can be done inline. Even for heavier sorts of logic, one can make calls directly from the template to deeper application services if the requirements call for it. Let’s use a slightly more complex version of Mr. Holland’s rptrComment tied into a comments class with the following fields:

  • Guid Id
  • string AuthorName
  • Uri AuthorWeb
  • string AuthorEmail
  • string AuthorIpAddress
  • string CommentText
  • DateTime CommentTimeStamp
  • bool IsSuppressed

Now, insofar as the templating logic goes, your requirements state the following:

  • All users shall be able to see the AuthorName, AuthorWeb and CommentText and CommentTimeStamp fields for non-suppressed comments.
  • Article owners and administrators shall see the above fields, as well as AuthorEmail and AuthorIpAddress. Furthermore, they shall see all comments, even the suppressed ones.
  • Administrators shall have the ability to suppress comments.

Now, one could do this with a lot of server controls and codebehind. Or one could just push all the display-layer stuff into the template and call the back-end classes, like your SecurityHelper, from there:


<asp:Repeater runat="server" DataSource='<%# GetComments %>'>
    <HeaderTemplate>
        <ul visible='<%# ((SitePoint.Core.Entities.Content.ArticleComment)Container.DataItem).IsSuppressed && !SitePoint.Core.Security.SecurityHelper.CanSeeCommentInfo(User) ? false : true %>'>
           <p><%# string.IsNullOrEmpty(((SitePoint.Core.Entities.Content.ArticleComment)Container.DataItem).CommentText) ? "No comment . . ." : ((SitePoint.Core.Entities.Content)Container.DataItem).CommentText %></p>
           <p>
               By : <a href='http://rss.sitepoint.com/f/<%# ((SitePoint.Core.Entities.Content.ArticleComment)Container.DataItem).AuthorWeb.ToString() %>'><%# ((SitePoint.Core.Entities.Content.ArticleComment)Container.DataItem).AuthorName %></a> on <%# ((SitePoint.Core.Entities.Content.ArticleComment)Container.DataItem).CommentTimeStamp.ToShortDateString() %> at <%# ((SitePoint.Core.Entities.Content.ArticleComment)Container.DataItem).CommentTimeStamp.ToShortTimeString() %></p>
           <p runat="server" visible='<%# SitePoint.Core.Security.SecurityHelper.CanSeeCommentInfo(User) %>'>
                <a href='mailto:<%#((SitePoint.Core.Entities.Content.ArticleComment)Container.DataItem).AuthorEmail %>'><%# ((SitePoint.Core.Entities.Content.ArticleComment)Container.DataItem).AuthorEmail %></a>
                •
                IP: <%# ((SitePoint.Core.Entities.Content.ArticleComment)Container.DataItem).AuthorIpAddress %>
                <asp:LinkButton runat="server" CommandArgument='<%# ((SitePoint.Core.Entities.Content.ArticleComment)Container.DataItem).Id %>' Text='[Suppress Comment]' Visible='<%# !((SitePoint.Core.Entities.Content.ArticleComment)Container.DataItem).IsSuppressed && SitePoint.Core.Security.CanSuppressComment(User) %>' />
           </p>
        </li>
    </ItemTemplate>
</asp:Repeater>

Now, at first glance, that looks hideously complex. But it really is not—90% of the DataBinding code is casting your Container’s [the RepeaterItem] DataItem to it’s natural class: ((SitePoint.Core.Entities.Content.ArticleComment)Container.DataItem). Once one looks past this (or just adds a <% @ Reference %> which I am loath to do), it becomes much more digestible—in all reality a simple ASPX template, nothing more nothing less. Furthermore, it is far more malleable than pushing all this template logic in your codebehind as you can tweak, reload, tweak and reload without rebuilding things.

One question you might be asking is "Why do all that casting instead of calling DataBinder.Eval? Well, because, when one knows what class your DataItem exposes, there are more than a few advantages:

  1. Intellisense generally works with this tactic. I should note here that using this much DataBinding can, in some cases, drive the designer batty and it need not always be listened to.
  2. DataBinder.Eval is much slower as it uses reflection (see the note on this page).
  3. We can call methods on our now stongly-typed reference. DataBinder.Eval() only lets us output strings.

A second question you might ask is "why are you using runat=’server’ on some of those HTML tags?" The reason here is that these have become your containers for parts of the post you wish to suppress. First, on the <li> element, we hide the entire thing if the ArticleComment.IsSuppressed and if the user is does not have the right privileges. Later on we added a <p> to contain the administrative functions on a given post.

In the interest of full disclosure, I should point out the one significant issue with this approach: refactoring. Modern tools, such as Resharper and to a lesser extent Visual Studio 2005+, feature some pretty good tools for automating naming and locational changes in code. Because the code in your ASPX templates is not compiled until runtime, these tools often miss this angle. So, if you have a big refactoring job, you will have to touch each of the template files to ensure they are compatible with the back-end still. Of course, if you have a big refactoring job, you will probably be touching much of the front-end code anyhow, so this is likely not that horrible a downside.

Remember kids, template logic in the template is a good thing. And don’t let the evil man tell you otherwise.

kick it on DotNetKicks.com

This article provided by sitepoint.com.

Filed under: , , ,

She might have a degree from Yale, a grandfather who used to be president of the university, and bilingual talents, but Jordana Brewster is known for her looks, her mid-range spots on Maxim Hot 100 lists, and flicks like The Faculty, The Fast and the Furious, and The Texas Chainsaw Massacre: The Beginning. If you were expecting her to take on something a little more meaty, perhaps something along the route of Ellen Page, keep waiting. Moviehole has posted that the current rumor mill has her in talks for Fast and the Furious 4, which Erik brought word of here. Warning: what follows below is information about the plot, if Moviehole sources are right. If you’d like to just think of a fast and furious future with cars and intrigue, without plot points, jump to the next story. If you want more info, keep reading.

So, since Brian let Dominic go at the beginning of the first film, he’s been repenting in a monastery and hiding from his bosses. Now that this cushion of fib is out of the way, here’s what Moviehole says about the plot: Mia (Brewster) is back for less-than-happy reasons. Michelle Rodriguez’s character is gone, having crashed and burned (an eerie link to the possibilities of her driving in real life), and Mia has to deliver Letty’s car to her brother, Dominic. Meanwhile, Brian has served time for letting D go, but is getting an out — if he stops Braga, a crime boss and drug importer, he’s free. If you want even more particulars, check out the source. So yeah, the flick should do well — it’s got all the basics for crime, action, sexiness, and a whole new collection of MTV awards.

Read | Permalink | Email this | Comments

Filed under:

We’re tempted to believe that the latest news in the ongoing quarrel between Broadcom and Qualcomm is foreshadowing some form of closure, but considering just how long this thing has been going on, we suppose we shouldn’t be so hopeful. Nevertheless, Broadcom has just announced that it will not seek a new trial and will accept the $19.6 million in damages originally awarded in a patent infringement case. The proclamation came after a federal judge affirmed the jury verdict that Qualcomm infringed on Broadcom patents but “removed an award of double damages.” Of course, you knew these two bitter enemies couldn’t just shake hands and call it even, as Broadcom did note that it would gladly pocket the near-$20 million award and “pursue an injunction against Qualcomm’s infringing products.” Surprised? Nah, we didn’t think so.

 

Read | Permalink | Email this | Comments

Office Depot Featured Gadget: Xbox 360 Platinum System Packs the power to bring games to life!

Filed under:

GM Prepping Petrol-Powered Electric Car for 2010We’ve reported on a number of eco-friendly car concepts in the past, like Nissan’s electric Mixim and that supposed Ford Escort plug-in hybrid that, unfortunately, turned out to be a bogus rumor. Neither of those two is a reality, but GM’s latest concept is different. Company vice-chairman Bob Lutz says GM is ready to stop playing around and fully intends to release its electric car, called Volt, for sale in late 2010.

However, that electric car moniker requires a bit of a caveat here, as the Volt will actually have a small gas-powered engine nestled inside. But, unlike hybrids which use complicated transmissions to enable both the gas and electric motors to drive the wheels, the Volt will act more like a WWII diesel submarine. The gas engine will simply be run as a generator, re-charging the batteries after they’re depleted, something that’s expected to happen roughly every 40 miles. The process is similar to how Honda’s FCX Clarity will operate, but that car requires hydrogen which is available at only a handful of pumps across the nation. That said, Honda’s car, set to debut in 2008 on a very limited release, will emit zero emissions thanks to its fuel cell technology. The Volt will still produce some carbon emissions thanks to its (albeit limited) use of gasoline.

It’s unknown at this point just how many miles the car will be able to travel with both full batteries and a full gas tank, and the critical question of cost is also still in the air. The styling is certainly better than most electric concepts if a bit fender-heavy and slab-sided. Regardless, we’re happy to see an American auto maker challenge itself like this instead of blowing its budget on commercials to convince shoppers how “fuel efficient” their 20-something MPG cars are.

From DailyTech

Related Links:

 

Permalink | Email this | Linking Blogs | Comments

Filed under: , , , ,

Imagine wanting to be the No.10 search engine in China, or at least something along those lines. Over the next couple of years, IAC/InterActiveCorp (NASDAQ: IACI) will spend $100 million [subscription required] to get more of the market in the world’s most populated country.

The Wall Street Journal reports that though plans for the new venture aren’t yet decided, Barry Diller said that “We’ve certainly got enough capital to do damage.” IAC’s new investment will be somewhat of a gamble.

The gamble part may be putting it lightly. Mr. Diller, the IACI CEO, will be up against established companies in the online travel, ticketing, and search business. Some of these companies are Chinese, but in the critical search market, Google (NASDAQ: GOOG) and Yahoo! (NASDAQ: YHOO) are throwing dollars and troops into battle against market leader Baidu.com (NASDAQ: BIDU).

For a large US online company to say it is moving into China is probably necessary to make shareholders think the firm is not overlooking one of the great expansion opportunities. For IACI, however, it is a little late and the dollar investment is a little light.

Douglas A. McIntyre is an editor at 247wallst.com.

 

Read | Permalink | Email this | Linking Blogs | Comments

The Hottest Dude and Superhero of Bollywood, Hrithik Roshan signed as the main lead for Eros International and Carving Dreams Motion Pictures, a division of Carving Dreams Entertainment Pvt. Ltd.
A press statement issued by Kishore Lulla, Chairman & CEO, Eros International, states, “I am delighted Hrithik will be playing the lead role. That has elevated […]

Filed under:


Not only does the PS3 not get Bioshock, yes that’s right, we won’t get it so let’s … let’s stop those rumors already. We’re sure the 360 fans roll their eyes at that just as much as we roll our eyes at MGS4 or FFXIII defection rumors. Anyway, depending how much you want to rely on an internet job listing, 2K Boston is working on their game and guess what? They don’t list the PS3 as a platform for consideration — just 360 and Windows.

Perhaps they already have all the help they need for the PS3 version of whatever it is, or they aren’t planning to get involved with Sony yet. We don’t know and since it is just a random job listing, we won’t rule the possibility out yet, but we won’t say anything to mislead you, either. Chances are, PS3 owners won’t get any 2K Boston games anytime soon.

Read | Permalink | Email this | Linking Blogs | Comments

Close
E-mail It