// download avatars from juick
var fs = require('fs');
var http = require('http');

function getfile(name) {
	var file = fs.createWriteStream(name+".png");
	var request = http.get("http://i.juick.com/a/"+name+".png", function(response) {
	  response.pipe(file);
	});
};

var i;
for (i=1; i <1000; i++) {
	console.log(i.toString());
	getfile(i.toString());
}

JS

вдруг кому пригодится, ибо Г+ такой лох, что разом зачистить группу от новостей не в состоянии. сама группа мне ещё нужна, пересоздавать не вариант

// ==UserScript==
// @author Rainbow-Spike
// @version 1.0
// @name G+ Deleter
// @description Массовая зачистка группы в plus.google.com
// @icon google.com
// @include plus.google.com
// @grant none
// ==/UserScript==

var link = document.getElementsByClassName('s5VjGb')[0].getElementsByClassName('xjKiLb');
for (var i = 0; i < link.length; i++) {
link[i].getElementsByTagName('span')[0].click();
}

function deleter() {
link = document.getElementsByClassName('HvOprf');
for (i = 0; i < link.length; i++) {
link[i].click();
}
}

function reloader() {
document.location.reload(true);
}

setInterval(deleter,2000);
setInterval(reloader,25000);

Смотрю я на свой код шестилетней давности и не узнаю себя
if (nameDivSpanNext.nodeType == 3) {
Почему ==, а не ===, ещё как-то можно понять. Не убедил меня тогда ещё JS-Lint, что всё же двойное грешновато. Но почему не if (3 === nameDivSpanNext.nodeType) ?

Как сейчас помню, учил меня Каменский Никита Викторович в НГУ в птичьих языках программирования на всякий случай при сравнении ставить константу всегда влево. Я так и делаю, на птичьих языках — константа влево, а на нормальных языках — гордо ставлю вправо. НГУ был раньше, чем я писал скрипт. Я как будто забыл, а потом вспомнил. Странно это.

по ходу, в Годвилле антикликер какой-то есть

function plusr () { // помогайка
var health = document.querySelector('#hk_health .p_val').style.width.slice(0,-1), // здоровье
control = document.querySelector('#cntrl'), // блок контроля
prana = control.querySelector('.p_val').style.width.slice(0,-1), // прана
good = control.querySelector('.enc_link'), // сделать хорошо
energy = control.querySelector('#acc_links_wrap a'); // распаковка заряда
if (health < 25) { // если здоровья мало
if (prana < 25) { // попутно если не хватает праны
var f = document.createEvent("HTMLEvents");
f.initMouseEvent("click", true, true);
energy.dispatchEvent(f); // распаковать заряд
}
var g = document.createEvent("HTMLEvents");
g.initEvent("click", true, true);
good.dispatchEvent(g); // сделать хорошо
}
авотхрен. опробован как самый простой
var g = new Event("click");
good.dispatchEvent(g);
так и навороченный
var g = document.createEvent("MouseEvents");
g.initMouseEvent("click", true, true, window,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
good.dispatchEvent(g);
вспомнил даже про внедрение баттона, которое уже однажды помогло. но не здесь
var butt2 = document.createElement('button');
good.appendChild(butt2);
butt2.click();

капитулировал

youtube.com

Нужно запретить использовать слово приложение (application) из–за того что это заимствование создаёт ещё больше неразберихи в среде малообразованного населения. И у нас уже есть слово «программа» которое в контексте программирования и ЭВМ обозначает комьютерную программу. А ещё «приложение» звучит отвратительно. В англицкой Wikipedia ( en.wikipedia.org ) напечатано что application это программа для ЭВМ созданная для решения пользователем неких своих задач а если почитать эту же статью в переводе, то выясняется что application это прикладная программа. Теперь о якобы взаимозаменяемости application и web site. Нет, блять, это разные понятия. Есть такое замечательное слово как web–узел, web site то есть, узел всемирной, блять, сети. И если вы открываете web–узел www.mazafucka.com, то открываете вы web–узел а не application. И уже через этот узел вы используете, если они есть, ваши прикладные, блять, программы (например, прости господи, текстовый редактор на JavaScript) с помощью которых вы решаете какую–то свою задачу. К сожалению многие senior upper-intermidiate-english javascript-ninja software engineer`ы этого не понимают и говорят «когда я говорю приложение, я не совсем знаю точно что занчит вообще приложение… я долго над этим думал и попытался сформулировать в чём собственно разница между приложением и сайтом…» и выдают размытое определение: вэб–аппс хэв комплэкс интэрэкшнс энд мэйнт э стэйт он зэ клайэнт вайл, вэб сайтс мостли рэндэр стэйтик информэйшн.». Стэйтик информэйшн выдаётся потому ты, web–программист, написал программу которая и выдаёт мостли стэйтик информэйшн (или же ты ничего не писал и её выдает какой–нибудь apache).

JS

хех. научился останавливать интервальные функции
function aab() { ... } // антибаннерорезка для joyreactor
var funk = setInterval(aab,10); // долбить как дятел
setTimeout (function() { clearInterval(funk); },2500); // первые 2,5 секунды

В стане ущербных обосрались. opennet.ru

В репозитории NPM произошёл инцидент, напоминающий произошедшую в 2016 году историю с модулем left-pad, удаление которого привело к неработоспособности многих проектов из-за потери зависимости. На этот раз причиной проблем стала система автоматизированной борьбы со спамом, из-за которой по ошибке были удалены пользователь floatdrop и 102 разработанных им модуля.
Многие из заблокированных модулей пользовались популярностью и использовались в качестве зависимостей в других модулях и приложениях. Недоступность данных модулей привела к каскадному обрушению зависимостей и невозможности установить или обновить тысячи пакетов в NPM. Например, модуль require-from-string, содержащий всего 25 строк кода, насчитывает более 4.5 млн загрузок в месяц, а модуль timed-out (46 строк кода) более 7 млн загрузок в месяц.

И еще вопрос про робота на javascript.
Задача — осуществление определенных действий по нажатию определенной последовательности кнопок на пульте (сын пароль хочет).
Понятно, что нужную последовательность кодов кнопок необходимо записать в массив и потом сравнить его с фактической последовательностью. Проблема в том, что ИК приемник считал код кнопки и забыл. И я вот читаю массивы, читаю примеры создания форм для идентификации, но никак не соображу, как заставить устройство запоминать последовательность нажатий для ее последующего сравнения. В какую сторону хоть копать?

А можно вопрос про javascript от человека, далекого от темы?
Вот кусок кода
encoder.on('black', function() {
revolutions = revolutions + STEP;
var distance = revolutions * WHEEL_LENGTH;{
if (distance >= 1000){
marsohod.stop();
}
}
});
Это для игрушки — робота, который программируется на js. С сыном ковыряем, разбираемся.
Суть в том, что по команде робот едет прямо, сенсор линий считывает расстояние и останавливает робота через 1 метр. Проблема — с таким кодом при повторной команде робот не поедет, потому как distance насчитало уже больше 1000.
Вопрос. Как обнулять переменную каждый раз, при завершении программы?

[03:47:16] <РобоСпaйк> забавные задачки попадаются
[03:47:23] <РобоСпaйк> юзерскрипт в каталоге
[03:47:50] <РобоСпaйк> есть блок записей с классом oEditor и ниже него блок навигации с классом oPager
[03:48:04] <РобоСпaйк> надо нави ещё и сверху поставить
[03:48:19] <РобоСпaйк> var editor = document.getElementsByClassName("oEditor")[0]; // найти блок редактора
var pager = document.getElementsByClassName("oPager")[0]; // найти блок навигатора
editor.parentNode.insertBefore(pager, editor);
логично, да?
[03:48:32] <РобоСпaйк> авотхрен. нижний нави исчезает
[03:48:56] <РобоСпaйк> +
editor.parentNode.appendChild(pager);
авотхрен, верхний нави исчезает
[03:49:46] <РобоСпaйк> var editor = document.getElementsByClassName("oEditor")[0]; // найти блок редактора
var pager = document.getElementsByClassName("oPager")[0]; // найти блок навигатора
var pager1 = pager.cloneNode(true);
editor.parentNode.insertBefore(pager, editor);
editor.parentNode.appendChild(pager1);

что называется, не молотком — так паяльником

CheerpJ как я заметил, уже вышел из закрытых альфа-тестов и находится в бете.

Те же разработчики, что делают Cheerp, транслятор C++ в JavaScript/Asm.js/WASM, делают CheerpJ для Java. Позиционируется он как нормально портированная Java. Никаких ограничений, как в GWT. Поддерживается байт-код. Поддерживаются Swing и Java-апплеты как с оффлайн конвертацией, так и в виде шима. Есть плагин для Хрома.

web JS ?

я походу нихрена не смыслю в js и web-разработке.
всегда думал, что браузер выполняет сайт в "сэндбоксе" и из js нет возможности узнать "железо"
intel.com
а вот intel как то узнает же и работает в любом браузере.
кул-хацкер из меня хреновый. может ли кто-нибудь объяснить, как из js получить инфу о железе?

Michael, your ideas are a bit dated: web development isn't about scripting today. E.g., we're writing web apps that run on Google App Engine (JPA/POJO/Servlet) and accessed by Flex and Android (Java). We avoid JavaScript like the plague. :) Tools like Google Web Toolkit (GWT) let you program in Java and automatically generate optimized JavaScript that readily runs on multiple browsers — you never mess with JavaScript.

це тому що в js числа можуть бути цілими і поламаними, int — integer, а var — various, типу "різні" числа, а потім ця ідея сподобалась автору js і він почав використовувати var для всіх інших типів даних. В той день в нього ще кішка народжувала, і народила котенятка з членом на мордочці. Саме це наштовхнуло автора js на використання var для всіх інших типів даних.