2014-12-05

Trending:

Six weeks with Google’s Inbox

IT Outsourcing

Space Tech

Smartphones

Resources/White Papers

computerworld

<!–


–>



Cloud Computing

All Cloud Computing

Cloud Security

Cloud Storage

Hybrid Cloud

Private Cloud

Public Cloud

Computer Hardware

All Computer Hardware

Apple Mac

Chrome OS PCs

Computer Peripherals

Computer Processors

Linux PCs

Network Servers

Solid State Drives

Windows PCs

Consumerization

All Consumerization

BYOD

Gamification

Location-Based Services

Personal Technology

Data Center

All Data Center

Data Storage

Disaster Recovery

High Performance Computing (HPC)

Infrastructure Management

Mainframe

Sustainable IT

Virtualization

Emerging Technology

All Emerging Technology

3D Printing

Environment

Internet of Things

Nanotechnology

Robotics

Space Technology

Telematics

Wearables

Enterprise Applications

All Enterprise Applications

App Development

Big Data

Business Intelligence (BI)

Business Process Management (BPM)

CRM

Collaboration

Content/Document Management

Data Analytics

Database Administration

Desktop Apps

Enterprise Architecture

Enterprise Resource Planning (ERP)

Open Source

Social Business

Software Integration

Software as a Service (SaaS)

Unified Communications (UC)

IT Management

All IT Management

IT Careers

IT Industry

IT Leadership

IT Outsourcing

IT Personnel

IT Project Management

IT Skills & Training

IT Transformation

Technology Law & Regulation

Internet

All Internet

E-commerce

Search

Social Media

Web Apps

Web Browsers

Mobile & Wireless

All Mobile & Wireless

Android

Apple iOS

BlackBerry

Mobile Apps

Mobile Device Management (MDM)

Mobile Payments

Mobile Security

Smartphones

Tablets

Windows Phone

Wireless Carriers

Networking

All Networking

Broadband

LAN & WAN

Network Hardware

Network Security

Network Software

Wireless Networking

Operating Systems

All Operating Systems

Chrome OS

Linux

Mac OS X

Microsoft Windows

Security

All Security

Application Security

Cybercrime & Hacking

Cyberwarfare

Data Privacy

Data Security

Encryption

Endpoint Security

Malware & Vulnerabilities

Vertical IT

All Vertical IT

Financial IT

Government IT

Healthcare IT

Retail IT

Small Enterprise IT

All Topics

News

Features

Reviews

Blogs

Opinions

Insider

Shark Tank

Slideshows

Video

Newsletters

Events

IT Job Search

Resources/White Papers

Home

IT Management

Technology Law & Regulation



By Richi Jennings

A daily digest of IT blogs. Richi Jennings curates the best bloggy bits, finest forums, and weirdest websites… so you don’t have to. Catch the key commentary from around the Web every morning.

Thank you

Your message has been sent.

Sorry

There was an error emailing this page.

Yes, it’s OK — let’s not confuse the poor widdle users

Computerworld |
Dec 5, 2014 3:29 AM

PT

‘);$(‘#’ + IDG.GPT.getIMUSlotName()).responsiveAd({screenSize:’971 1115′, scriptTags: []});//–>”;

var adDivString = “”;

placementDiff = applyInsert($(this), adDivString);

if (debug) {

console.log(“Just placed an ad and the placementDiff is: ” + placementDiff);

}

placementTarget = cumulativeHeight + placementDiff + interModuleHeight + adHeightBuffer;

}

else {

var moduleDivString = “”;

var elementId = “drr-mod-“+moduleCounter;

moduleDivString = “”;

modules.push(elementId);

placementDiff = applyInsert($(this), moduleDivString);

if (debug) {

console.log(“Just placed a module and the placementDiff is: ” + placementDiff);

}

placementTarget = cumulativeHeight + placementDiff + interModuleHeight + moduleHeightBuffer;

moduleCounter++;

}

loopCounter++;

}

// Avoid placing elements too soon due to non-large figures inflating the cumulative height

if ($(this).is(“figure”) && !$(this).is(“figure.large”)) {

cumulativeHeight += grafHeight;

}

else {

cumulativeHeight += $(this).height() + grafHeight;

}

}

});

// clone Related Stories module m-15 to come in after 2nd para in article body for mobile breakpoint display

var $relatedStories = $(‘.related-promo-wrapper’);

if ($relatedStories.length) {

var $relatedStoriesClone = $relatedStories.clone();

$relatedStoriesClone.insertAfter( “#drr-container > p:eq(1)”);

}

var $insiderPromo = $(‘.insider-promo-wrapper’);

if ($insiderPromo.length) {

var $insiderPromoClone = $insiderPromo.clone();

$insiderPromoClone.insertAfter( “#drr-container > p:eq(1)”);

}

//place left side element

cumulativeHeight = 0;

var leftPlacementTarget = tagHeight = leftPlacementTarget) {

if (debug) {

console.log(“congratulations… we’ve passed the initial start point”);

}

if (leftPlacementIndex == null) {

//it’s not good enough to not be a left avoid – it also shouldn’t be a

with an immediately preceding small or medium image left avoid.

if (!isLeftAvoid($(this)) && noPrevFigures($(this)) ) {

leftPlacementIndex = $(this).index();

$leftPlacementElement = $(this);

leftPlacementLookaheadStart = cumulativeHeight;

if (debug) {

console.log(“is not a left avoid and no prev figures. ########## set placementIndex (“+leftPlacementIndex+”) and lookaheadStart (“+leftPlacementLookaheadStart+”) ##########”);

}

} else {

if (debug) {

console.log(“is a left avoid or has previous figures. continue”);

}

}

} else {

if (debug) {

console.log(“#### leftPlacementIndex already set to “+leftPlacementIndex+”. looking ahead…”);

}

//not null; has been set

if ((cumulativeHeight – leftPlacementLookaheadStart) > leftIntervalHeight) {

if (debug) {

console.log(“###### THRESHOLD REACHED. LOOKAHEAD COMPLETE. END ###### (cumulativeHeight – leftPlacementLookaheadStart) (“+(cumulativeHeight-leftPlacementLookaheadStart)+”) > leftIntervalHeight (“+leftIntervalHeight+”).”);

}

return false;

} else {

if (debug) {

console.log(“threshold not reached: (cumulativeHeight – leftPlacementLookaheadStart) (“+(cumulativeHeight-leftPlacementLookaheadStart)+”) tags

if (!(isLeftAvoid($(this)) && ($(this).hasClass(‘small’) || $(this).hasClass(‘inline-small’) || $(this).hasClass(‘medium’) || $(this).hasClass(‘inline-medium’) || $(this).hasClass(‘apart’) ))) {

cumulativeHeight += $(this).height() + grafHeight;

}

if (debug) {

console.log(“——————– set cumulativeHeight(“+cumulativeHeight+”) —————“);

console.log(“”);

}

}

});

}

if (leftPlacementIndex != null && elementNotNearEnd($leftPlacementElement, leftPixelWindow)) {

if (debug) {

console.log(” insert into index “+leftPlacementIndex);

}

$(“#drr-container”).children().eq(leftPlacementIndex).before(“

“);

}

IDG.GPT.trackOmniture();

// Add Right rail module content

for (var i=0; i= 0) {

var a = document.createElement(‘a’);

a.href = document.referrer;

var uriParts = a.pathname.split(‘/’);

a = ”;

if (typeof uriParts[3] == ‘undefined’) {

epoParams += “&typeId=” + defaultTypeId + “&referrer=home”; // default is ‘home’ behavior

}

else {

var refCatSlug = uriParts[3];

epoParams += “&catSlug=” + refCatSlug + “&referrer=article”;

}

}

// From SEARCH: Show article with catId same as current article

else if (document.referrer.indexOf(“google”) >= 0 || document.referrer.indexOf(“yahoo”) >= 0 || document.referrer.indexOf(“bing”) >= 0) {

var categories = [3663, 3422, 3664, 3496];

if (categories instanceof Array && categories.length > 0) {

var primaryCatId = categories[0];

epoParams += “&catId=” + primaryCatId + “&referrer=search”;

}

else {

epoParams += “&typeId=” + defaultTypeId + “&referrer=home”; // default is ‘home’ behavior

}

}

// Default is to show like coming from homepage

else {

epoParams += “&displayId=11&referrer=home”;

// default is ‘home’ behavior

}

return epoParams;

}

/**

* @param jqo Original jquery object target

* @param divString The div to be inserted.

* @return Difference in height between original placement target and final target.

* Checks first 6 elements for an allowable placement (600 pixel window).

* If none, check nearby for elements that are not right avoids.

* If none, place element before current target.

*/

function applyInsert(jqo, divString) {

if (debug) {

console.log(“applyInsert at top and jqo index is: ” + jqo.index());

}

for (var i=0; i 0) {

children = $(“#drr-container”).children().slice(jqo.index(), allowElement.index() );

}

else {

children = $(“#drr-container”).children().slice(allowElement.index(), jqo.index());

}

if (children != null) {

children.each(function(i) {

if (debug) {

console.log(“About to add this element’s height to heigh diff offset”);

console.log($(this));

}

height += $(this).height() + grafHeight;

});

}

if (offset 300) {

if (debug) {

console.log(“isRightAvoid: found pre. return true”);

}

return true;

}

if (jqo.is(“figure”) && jqo.hasClass(‘large’)) {

if (debug) {

console.log(“isRightAvoid: found figure.large return true”);

}

return true;

}

if (jqo.is(“figure”) && jqo.hasClass(‘medium’) && jqo.hasClass(‘inline’)) {

if (debug) {

console.log(“isRightAvoid: found figure has class medium and inline.”);

}

return true;

}

if (jqo.is(‘div’) && jqo.hasClass(‘table-wrapper’)) {

if (debug) {

console.log(“isRightAvoid: found div with class table-wrapper”);

}

return true;

}

if (jqo.is(‘aside’)) {

if (jqo.hasClass(‘sidebar’) && !jqo.hasClass(‘medium’)) {

if (debug) {

console.log(“isRightAvoid: found aside with class sidebar, without class medium”);

}

return true;

}

if (jqo.hasClass(‘statsTable’)) {

if (debug) {

console.log(“isRightAvoid: found aside with class statsTable”);

}

return true;

}

}

if (jqo.hasClass(‘download-asset’)) {

if (debug) {

console.log(“isRightAvoid: found class download-asset return true”);

}

return true;

}

if (jqo.hasClass(‘tableLarge’)) {

if (debug) {

console.log(“isRightAvoid: found class tableLarge return true”);

}

return true;

}

if (jqo.hasClass(‘reject’)) {

if (debug) {

console.log(“isRightAvoid: found class reject. return true”);

}

return true;

}

if (jqo.is(‘table’) && jqo.hasClass(‘scorecard’)) {

if (debug) {

console.log(“isRightAvoid: found div with class scorecard”);

}

return true;

}

}

return false;

}

// Return true if element has class ‘reject': will not place drr modules/ads next to these elements

function isRightReject(jqo) {

console.log(“in isRightReject”);

if (jqo != null) {

if (jqo.hasClass(“reject”)) {

if (debug) {

console.log(“isRightReject: found ‘reject’ class”);

}

return true;

}

return false;

}

return false;

}

// Returns true if height of all elements after this one is more than 500; false otherwise

function elementNotNearEnd(element, pixelWindow) {

if (pixelWindow == null) {

pixelWindow = 500;

}

if (element == null) {

return false;

}

var remainingHeight = 0;

var children = $(“#drr-container”).children().slice(element.index());

if (children == null) {

return false;

}

children.each(function(i){

remainingHeight += $(this).height();

});

if ( remainingHeight > pixelWindow) {

return true;

}

else {

if (debug) {

console.log(“Element too close to end. Remaining height is: ” + remainingHeight + ” and window is ” + pixelWindow);

}

return false;

}

}

/**

* Return true if need to avoid this element when placing left module.

*/

function isLeftAvoid(jqo) {

if (jqo.is(“figure”)) {

if (debug) {

console.log(“isLeftAvoid: found figure. return true”);

}

return true;

}

if (jqo.is(“aside.pullquote”)) {

if (debug) {

console.log(“isLeftAvoid: found pullquote. return true”);

}

return true;

}

if (jqo.is(“pre”)) {

if (debug) {

console.log(“isLeftAvoid: found pre. return true”);

}

return true;

}

if (jqo.is(“div.gist”)) {

if (debug) {

console.log(“isLeftAvoid: found github code block. return true”);

}

return true;

}

if (jqo.is(“aside”) && jqo.hasClass(“sidebar”) && jqo.hasClass(“medium”)) {

if (debug) {

console.log(“isLeftAvoid: found medium sidebar. return true”);

}

return true;

}

if (jqo.hasClass(“statsTable”)) {

if (debug) {

console.log(“isLeftAvoid: found class statsTable. return true”);

}

return true;

}

return false;

}

/**

* return true if there are no figures before the target placement that might bleed down into placement element

*/

function noPrevFigures($originalTarget) {

var targetIndex = $originalTarget.index();

var numElementsLookBack = 5;

var figureIndex = null;

var figureHeight = null;

var startIndex = targetIndex – numElementsLookBack

Apple appears to have admitted that it did in fact silently delete music bought from Real Networks and others. The class-action lawsuit alleges that your iPod would stop working if you used Real, forcing you to reset the device.

But, when it came back, your non-Apple music would be gone. Apple execs argue that this was perfectly acceptable, because to do anything else would be, err, “confusing.” BTW, it’s most certainly not Saint Steve’s fault. Oh no.

In IT Blogwatch, bloggers reset their default assumptions. <!– Not to mention: XXXXXXXXXXXX… –>

Your humble blogwatcher curated these bloggy bits for your entertainment.

Jeff Elder remembers the good old days: [Get off my lawn -Ed.]

Apple deleted music that some iPod owners had downloaded from competing music services…attorneys for consumers told jurors. … Apple directed the system “not to tell users the problem,”…attorney Patrick Coughlin said in U.S. District Court in Oakland, Calif.

Apple contends the moves were legitimate security measures. Apple security director Augustin Farrugia testified that Apple did not offer a more detailed explanation because, “We don’t need to give users too much information.” … Updates that deleted non-Apple music files were intended to protect consumers…he said.  MORE

Here’s Lynn Schindler’s list: [Ugh -Ed.]

The device that changed the world…was the iPod – which eventually paved the way for the iPhone, iPad, and well – i-Everything. … The claims argue that Apple knowingly erased non-iTunes content [but] are harshly contested by Apple lawyers who argue that ultimately this was all done in an effort to maintain simplicity [and] security.

The class action lawsuit is seeking $350 million. … The allegations are just the most-recent lineup of questions that make Apple seem demonstrative, and unethical [but] it’s unlikely to change the way Apple does anything operationally.  MORE

Right on cue, here’s Eddy Cue, via Nick Statt: [You’re fired -Ed.]

“Steve was mighty upset with me and the team whenever we got hacked. … If a hack happened, we had to remedy that hack within a certain time period or [the record labels] would remove all their music from the store. … All these other guys that tried the approach of trying to be open failed because it broke. There’s no way for us to have done that and have the success that we had.”

[He] joined the company in 1989 and eventually oversaw the launch of Apple’s online store in 1998. … Cue helped launch Apple’s iTunes digital-music store in 2003. … He led negotiations with the five largest record labels around 2002 to build out Apple’s initial 200,000-song library. … He was also responsible for ensuring that Apple’s…DRM tool, called FairPlay, was in compliance with the record labels and that it was updated regularly to protect that relationship. … Cue also says that record labels, when they first hammered out their contracts with Apple, requested DRM.

Complicating Apple’s narrative, however, are allegations that it misled iPod users…when those consumers attempted to put songs sold by other online music stores onto their iPods using software like RealNetworks’ Harmony. That software reportedly reverse-engineered Apple’s FairPlay. … Apple’s response in iTunes 7.0 was to…prevent the iPod from playing any songs. … It would then force users to reset the device, deleting any songs not purchased from iTunes.  MORE

Confused? Josh Lowensohn says it’s “complicated”:

Much of the case hinges on whether updates made to iTunes added new features and improved the software, versus simply attempting to shut out efforts to sync up music…with something else by adjusting [the] software [and] trying to squash competitors.

Augustin Farrugia, a senior director of internet security and DRM at Apple [said] the company viewed anyone trying to inject code as an attacker.

The trial is slated to run another six days.  MORE

Meanwhile, Tim Gillespie Jr. thinks back to the days of yore:

They are talking about Real hacking the DRM. Every time a new iTunes was released, they’d patch holes, as required by the record labels. They had 90 days to fix any holes or the record labels would pull their music.

Real hacked the DRM, reverse engineered it, so they could insert their music directly.  MORE

Update: Still confused? This anonymous author tries again (but can’t resist a fandroid-dig):

Day three of the Real vs. Apple trial over allegations that Apple deliberately blocked rival stores’ DRM music files on the iPod (a potential antitrust violation) continue[s].

Apple’s defense comes down to a view that if a company like Real could reverse-engineer the FairPlay DRM…others could do the same with more malicious purposes, such as the ransomware attacks or Trojan malware files that are a constant threat to Android devices.

Real’s attorneys, however, argue that the sole purpose of [the Apple] updates was to lock out competitors…Apple made no attempt at all to block un-DRM’d music files. … Real is asking for damages of $350 million, while Apple believes the company is owed nothing.  MORE

<!–

And Finally…
XXXXXXXXXXXX
[hat tip: XXXXXXXXXXXX]

–>

You have been reading IT Blogwatch by Richi Jennings, who curates the best bloggy bits, finest forums, and weirdest websites… so you don’t have to. Catch the key commentary from around the Web every morning. Hatemail may be directed to @RiCHi or itbw@richi.uk. Opinions expressed may not represent those of Computerworld. Ask your doctor before reading. Your mileage may vary. E&OE.

Previous Post

Your device is obsolete: Verizon 3G will DIE, in LTE refarming bombshell

Meeting mobility demands of 4500 students, faculty and staff at a university is no small task. Join…

Google’s Android 5.0 release is more than just a pretty makeover. Here are 10 fun features you’ll…

Get our daily newsletter

99 iOS 8 problems, but The Witch ain’t one: Bang on cue, early-adopting iMagicMirror owners are finding…

Scarlett Johansson, Jennifer Lawrence, Kate Upton… the sad list of naked celebs goes on. But what’s…

The data-wiping malware used to attack Sony Pictures Entertainment bears technical similarities to…

A commentary on public cloud as a new “legacy system” and what businesses need to consider.

Even if you feel that we have far too many regulations, there’s something to the idea that compliance…

More than half of employees across the global bring a mobile device to work, but practices vary widely…

See the Infographic: The Critical Path to an Agile Data Center

AWS Activate: Resources and benefits for startups. Sign up is free.

Become a CyberPatriot with EC-Council Endorsed Training – Free Trial!

Computerworld
The Voice of Business Technology

Follow us

Twitter

LinkedIn

Facebook

Google+

RSS

Cloud Computing

Computer Hardware

Consumerization

Data Center

Emerging Technology

Enterprise Applications

IT Management

Internet

Mobile & Wireless

Networking

Operating Systems

Security

Vertical IT

All Topics

News

Features

Reviews

Blogs

Opinions

Insider

Shark Tank

Slideshows

Video

Newsletters

Events

Resources/White Papers

Copyright © 1994 – 2014 Computerworld, Inc. All rights reserved.

+

The post Apple admits to deleting your iPod music (because confusion) – Computerworld appeared first on Ad Hoc Dance Bands & Wedding Music.

Show more