Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror

Comment Re:User scripts FTW (Score 1) 6

My point was just those features make quickie editing even quicker - your Amazon script is

var el = document.querySelector('#summaryStars, .totalReviewCount'), total = parseInt(el && el.textContent)

if (total) {
    Array.from(document.querySelectorAll('#histogramTable td:last-child a')), a => {
            var num = parseInt(a.textContent), pct = 100 * (num / total)
            a.innerHTML = `${num} - <b>${pct.toFixed(0)}%</b>`
        })
}

and about two dozen of my scripts are variations on this :) Put the basic framework in the new script template and you just need to fill in a selector and what to do with each element...

There are a lot of annoying websites out there lol, hope this comes in handy next time one just needs that little fix... ;)

Comment User scripts FTW (Score 1) 6

I write a lot of user scripts and couldn't live without being able to tweak websites to add features, or more often, fix their problems - I just checked Tampermonkey and I've currently got 40 user scripts for various sites :)

There are a lot faster ways to write them now using features from HTML5 and now ES6 which weren't there even a year ago - for instance, your password script can be rewritten in one line

Array.from(document.querySelectorAll('input[type=password][autocomplete=off]')).forEach(elem => { elem.autocomplete = 'on' })

using arrow functions, Array.from and querySelectorAll .

If you use Chrome this currently only works in the development version, so for the next few months until that's released you can write

[].slice.call(document.querySelectorAll('input[type=password][autocomplete=off]')).forEach(function(elem) { elem.autocomplete = 'on' })

instead.

If instead you want to insert HTML, using template strings and insertAdjacentHTML again make life easier, e.g.

Array.from(document.querySelectorAll('a[href$=".jpg"]')).forEach(a => { a.insertAdjacentHTML('afterbegin', `<img src="${a.href}" style="width: 32px; height: 32px; margin-right: 0.5em">`) })

matches links with targets ending in .jpg, then prepends a 32x32 pixel sized copy of the linked image to each!

About 90% of user scripts are just

find things -> loop over them -> adjust properties and/or edit HTML

so it's handy having simpler ways of writing it :) Hope that was helpful, I keep meaning to write an article on advanced techniques for writing user scripts and not doing it...

Comment SYCOS Act (Score 2) 139

These idiots always like coming up with pithy and (in their opinion) appropriate names for their laws, so here's a suggestion for this one: The Send Your Customers Over Seas Act, or SYCOS Act for short. Why? Because this will drive anyone interested in privacy to overseas email providers like Startmail, a company who intentionally set themselves up outside U.S. jurisdiction for reasons exactly like this.

Comment Funniest story heard all day (Score 1) 423

Yeah, because a piece of paper pinched out by the government is going to stop people from sharing information.

3D-printed gun blueprints are on the Pirate Bay (for example). They're hosted on overseas websites. When the first story about the government forcing the author to take down the DefDist package came out, I made copies and posted them to six different domains I own (for example). If this regulation passes, I, and I'm sure plenty of other people, will step up their efforts to spread such files wider and wider.

Comment Re:Write-only code. (Score 1) 757

When first announced here Rust looked very interesting, with some bold ideas for making programs better in the lower-level problem domain. Since then it's been under tons of development and community vigour, version 1 looked very different to 0.0.1, I need to reinvestigate!

The final switch seems like it would be a useful construct. Python doesn't really have good Enums unfortunately, just some approximations such as using namedtuple._make(). Whereas in CoffeeScript you can assign the result of an if-else block to a variable, which allows for silly conditionals always a potential :)

Comment Re:Write-only code. (Score 1) 757

Well yes, but if we were Perl programmers, we'd have just both been telling jokes at each other while trying to work out what was supposed to be funny about the other's joke.

If we were PHP programmers we'd have got the punchline and the setup in the wrong order, and be getting confused over all of the similar sounding jokes that aren't funny, but never seem to go away.

If we were JavaScript programmers we'd be on StackOverflow, asking for the best joke ever and a word-by-word explanation of why it was funny.

I really will stop now.

Slashdot Top Deals

Disc space -- the final frontier!

Working...