Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror

Comment Re:Predictions? (Score 1) 355

"The annual and decadal land surface temperature from the BerkeleyEarth average, compared to a linear combination of volcanic sulfate emissions and the natural logarithm of CO2."

Why the natural logarithm? Do we have a hypothesis to explain why the overall forcing effect of CO2 follows the natural logarithm of atmospheric concentration? Why a linear combination with volcanic sulfate? Does the forcing of sulfate have a linear relationship to the natural logarithm of CO2? Or is this just the mathematical transformation that makes CO2+sulfate changes fit the plot of change in mean surface temperature?

In the absence of sound theoretical answers to these questions, these are interesting but not compelling plots. The IPCC4 report (for example) goes into far more detail about our theoretical understanding of climate forcing from different components, and how projections are built up from this understanding that apply correctly in retrospect, leading to a more compelling argument for climate change.

Comment Triage (Score 1) 440

I've dealt with a similar problem on a smaller scale (500K files, 120Gb). I started by generating hashes over all my current properly-organised files using hashdeep, and parsed the output into a database (columns filesize, hash, path, filename, mtime) using a custom scripts. Then I wrote another script to walk through the archives finding and deleting files that matched those already in the database; the script also used the database to keep track of its walk so it could be stopped and restarted. This halved the size of the archive material before I had to start trying to understand what was there.

From there I identified pivotal directories in the archive - ones I could reasonable assume to be recent or more complete (for example, based on backup date) - and added them to the hash database, then walked the rest of the archives culling duplicates again. Lather, rinse, repeat and you rapidly reach a point where you have a small number of directories with a lot of de-duplicated data, and a large number of directories with small amounts of possibly-duplicated data that can be handled by a free dedup tool.

Comment Re:Privacy issue in Europe (Score 1) 684

Some smart meters also track time of use, and use on different circuits (e.g. lights, plugs, and a fixed appliance circuit that can be remotely switched off to reduce load on the grid). Some people consider this sort of information to be private. For example if the meter communicated this information regularly and the communication and/or central storage was insecure, it could be used to determine when you are on holiday.

Comment Re:Enough of this attitude (Score 1) 667

What you describe is an aspect of copyright law that needs to be fixed. In many jurisdictions photography is never a work for hire, so you get these ridiculous situations where your wedding photographer can hold you to random. The law needs to be clear that photography may be a work for hire, and the conditions under which it is a work for hire, then the owner is (correctly) the person or organisation that hired the photographer.

Comment Re:Who loses out (Score 1) 515

By "product" are you meaning "outcome of the intrastructure", or "what gets sold to customers"? Assuming the latter, the product is a tuple (total bits transferred, speed of transfer). Both are resources that are limited by contention for access to physical infrastructure.

Comment Re:Who loses out (Score 1) 515

And as we all know the "pipe itself" is free. It costs not a red cent to manufacture fiber-optic cable, nor to lay it on the ocean floor and across a continent, and the relays and switches and routers are all free, as is the electricity to run them. When the pipe reaches saturation and page load times increase and videos cannot be streamed in realtime then you just turn the "bandwidth" dial up a notch and the New Infrastructure Faerie magically creates new pipes and equipment and perpetual energy, and they lived happily ever after.

Comment Re:Their wet dream (Score 1) 515

If all heavy users just left, rates for light users would go up. Total cost remains the same, divided by less users. But its a biased phrasing of the question.

If heavy users never joined (or were capped), rates for all users would be less. There is less contention for bandwidth at infrastructure level so total cost is reduced.

Comment Re:it would work as intended. more resources for f (Score 1) 577

> Writing is just playing slow. Your shortsighted question has no horizon.

Deep meaningful bullshit you speak, hmm?

> If you spend your time just composing, I doubt you intended it heard. If you wanted it heard you would play it for as many as could hear. Honestly musicians should get paid more because they actually work. Composers just kind of wank if they aren't working musicians or write jingles for the needy well-heeled.

So a concert violinist should be paid more than the composer of the symphony ... the composer of course being unable to perform the symphony because it requires 100 instruments.

> On the other hand we don't need an industry for anything , really, From the ground up it can be done at home by a band and some friends with some moxie. From booking gigs by email, to recording,mixing,mastering.

Ah, now I understand. You are unable to tell the difference between a garage band recording done in the garage, and the studio recording of a great song performed by consumate professionals and properly engineered, produced and mastered by other professionals.

Comment Re:Logos and trademarks (Score 1) 577

> But maybe we should also think about how a world would actually look like if there were no trademarks.

Pretty shitty. Trademarks and counterfeit protection are in many cases excellent alternatives to copyright and design marks. The fashion industry for example thrives with no copyright protection and rampant copying, and it does so because cheap knock-offs are not a substitute for brand names in the eyes of consumers. Trademark protection makes untruthful claims about the origin of a product equivalent to the crime of fraud.

In a music industry with no copyright protection, trademarks and counterfeit protection would be essential. It would allow a musician to say "sure, you can download my latest track for free; but you can buy this original merchandise only from me, and that will help to fund more tracks". Anyone else can make equivalent merchandise, but only the musician can claim (legally) to be supplying the original stuff; so you know when you buy non-counterfeit original merchandise you are funding the artist.

If a well-known painter or sculptor has spent 25 years building up a reputation, and can now demand sizable commissions for their work, trademark and counterfeit protection stops some two-bit criminal from (legally) passing off their 3D printed plaster-dipped statuette as an Original Poncynamus.

In short, the value that we ascribe to a work (or art, or music, or prose) becomes synonymous with our respect for and valuation of the artist, and this association is predicated on the right of the artist to claim his/her works, and to deny anyone else from using his/her name.

Comment Re:it would work as intended. more resources for f (Score 1) 577

Only allowing natural persons to own copyright is problematic for any capital-intensive work that requires multiple creative inputs. A movie, for example. The plot/concept developer, the scriptwriter, the director, the producer, the costumer designer, the author of the score, the musicians, would all have a partial claim on the copyright. Photography and cinematography are protected art forms, as is sculpture and (non-functional) painting; so the cameraman and the set decorators may well have claims as well. The production of a stage play is usually protected against audiovisual capture (without consent), so the actors probably have a claim.

IMHO copyright is too monolithic. Differentiating the rights and the term of each right according to the nature of the work would help. For example the duplication or translation of a book may be protected for 50 years, which the exclusive right to a derivative work may last only 5 years. Adaptations and derivative adaptions would require relatively long terms of protection. Art (painting & sculpture) requires minimal copyright protection - the value lies in the original, so the appropriate IP regime is trademarks and protection against counterfeiting.

Non-transferable copyright is a greedy response from people who think copyright should be a permanent meal-ticket for them. Case in point: in most countries in the world if you hire a photographer to take pictures of your wedding (i.e. pay them a pre-negotiated, large fee to appear and take photos), the photographer - NOT YOU - owns the copyright. Ever time you want to send a picture to your grandma, or post a .jpg on your blog, you have to pay a fee to the photography (who you paid in the first place to do a job, and to whom you have given a right of access to a private event in order to perform said job). Now I have yet to find anyone other than a photographer who thinks that this is in any way fair or sane.

The person who takes the monetary risk in undertaking the development of a (protectable) work should be the owner. If I pay you a salary and tell you to write a program that does X and Y, then I own the resulting work. If I pay you to take photographs of a specific event, and pay for or permit your access to the event, then I own the resulting work. If I commission a painting or a statue, then I own the resulting work. If on the other hand you - having received no payment or instructions from me - paint a painting, chisel a statue, write a program or take a photograph, then you own it, and can dispose of it in any manner you please.

 

Comment Re:I miss GOTO...there I said it (Score 1) 353

It is sometimes possible to use that style, but generally you will need nesting if you want to handle errors. I can't think of a decent embedded example that doesn't require reams of context, but here's an illustration using shared memory under Windows. Try to translate the following code snippet to the style you suggest:

errno_t get_shared_status( LPCTSTR fileName ) {
    errno_t result = E_UNKNOWN;
    HANDLE f = INVALID_HANDLE_VALUE;
    HANDLE fMap = NULL;
    LPVOID shm = NULL;
    MEMORY_BASIC_INFORMATION meminfo;
    SIZE_T shmLen = 0;

    f = CreateFile( fileName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING,
        FILE_ATTRIBUTE_NORMAL, NULL );
    if ( f == INVALID_HANDLE_VALUE ) {
        result = E_SHM_ACCESS;
        log( "get_shared_status: CreateFile() failed with error %08x", GetLastError() );
        goto cleanupNone;
    }

    fMap = CreateFileMapping( f, NULL, PAGE_READONLY, 0, 0, NULL );
    if ( fMap == NULL ) {
        result = E_SHM_ACCESS;
        log( "get_shared_status: CreateFileMapping() failed with error %08x", GetLastError() );
        goto cleanupCreateFile;
    }

    shm = MapViewOfFile( fMap, FILE_MAP_READ, 0, 0, 0 );
    if ( shm == NULL ) {
        result = E_SHM_ACCESS;
        log( "get_shared_status: MapViewOfFile() failed with error %08x", GetLastError() );
        goto cleanupCreateFmap;
    }

    shmLen = VirtualQuery( shm, &meminfo, sizeof(meminfo) );
    if ( shmLen == 0 ) {
        result = E_SHM_ACCESS;
        log( "get_shared_status: VirtualQuery() failed with error %08x", GetLastError() );
        goto cleanupMapView;
    }
    if ( shmLen sizeof(meminfo) ) {
        result = E_SHM_ACCESS;
        log( "get_shared_status: VirtualQuery() returned too few bytes" );
        goto cleanupMapView;
    }

    if ( meminfo.RegionSize SHM_V1_SIZE ) {
        result = E_SHM_ACCESS;
        log( "get_shared_status: Shared memory file too small to interpret" );
        goto cleanupMapView;
    } //FIXME do stuff

cleanupMapView:
    if ( 0 == UnmapViewOfFile( shm ) ) {
        log( "get_shared_status: UnmapViewOfFile() failed with error %08x", GetLastError() );
    }
    shm = NULL;

cleanupFmap:
    if ( 0 == CloseHandle( fMap ) ) {
        log( "get_shared_status: CloseHandle(fMap) failed with error %08x", GetLastError() );
    }
    fMap = NULL;

cleanupCreateFile
    if ( 0 == CloseHandle( f ) ) {
        log( "get_shared_status: CloseHandle(f) failed with error %08x", GetLastError() );
    }
    f = INVALID_HANDLE_VALUE;

cleanupNone:
    return result;
}

Here's the start:

    f = CreateFile( fileName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING,
        FILE_ATTRIBUTE_NORMAL, NULL );
    if ( f != INVALID_HANDLE_VALUE ) {
        fMap = CreateFileMapping( f, NULL, PAGE_READONLY, 0, 0, NULL );
    } else {
        result = E_SHM_ACCESS;
        log( "get_shared_status: CreateFile() failed with error %08x", GetLastError() );
    }

    if ( fMap != NULL ) {
        shm = MapViewOfFile( fMap, FILE_MAP_READ, 0, 0, 0 );
    } else { /*
** Oops - if CreateFile() failed we end up here! */
        result = E_SHM_ACCESS;
        log( "get_shared_status: CreateFileMapping() failed with error %08x", GetLastError() );
    }

As soon as you have a code path for exceptions you need nesting to match the error path with the code that led to it, or you will execute multiple error paths unintentionally. The 'goto' style has the same code order as try...finally would, with the 'goto' itself acting like 'throw'.

Slashdot Top Deals

Every nonzero finite dimensional inner product space has an orthonormal basis. It makes sense, when you don't think about it.

Working...