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.