Pull to refresh
8
0
Send message

Самый прикол в том, что большинство адблокеров экстремистов, кто имел дело с разработкой под Android не для дяди, как правило лояльно относятся к схеме: бесплатное приложение с рекламой или платное без рекламы.

Согласен, тотальное вырезание рекламы ни к чему хорошему не приведёт (независимо от того как к этому относится). В любом случае талантливые люди, которые не имеют денег на счёте в банке без дохода с рекламы просто не смогут "поднятся". Тем самым лишая конкуренции менее качественные сайты при деньгах. Само собой, блокировщики должны идти на определённый компромисс.


Тут поднимались критерии "плохой" рекламы но всё по сути просто:


  • анимированная реклама, отвлекает при чтении
  • реклама сдвигающая контент при загрузке (это не проблема рекламы, а проблема размещения)
  • тяжёлая реклама при медленном соединений (было бы здорово это учитывать)
  • реклама вводит в заблуждение, эксплуатируя интерфейс страницы (делаешь клик на одном — открывается вкладка с рекламой вместо ожидаемого действия)
  • перекрывает контент сайта без возможности закрыть (я как-то делал заказчику фишку, чтоб реклама закрывалась по крестику… но каждый N-ый клик срабатывал как клик по рекламе, это тоже зло при маленьких N)
  • реклама всплывающая по ходу дела (кстати и не только она, среди кретинов сейчас модно всплывающее окно с подпиской)
  • мерзота всякая, как правило фото с болезнями и уродами

Я только против вышеперечисленной рекламы. До этого сидел на 50kbps — тогда я был против всей рекламы вообще. Быстрое соединение и мощный комп при большом количестве рекламы не вызывает сильный дискомфорт. В то время как на медленных, слабых устройствах она может сделать сайт непригодным к использованию — но ведь всегда можно отключить изображения и скрипты, хоть это и не удобно отключать/включать (но это уже проблема браузеров/расширений)

Как правило сайты, которые жалуются на адблок и клянчат, никуда не годятся и контент который имеют — лишь громкое название, а под крышкой ничего. Всего один сайт, на котором я отключил блокировщик ненавязчиво, тоненькой полосочкой просил отключить, обещая, что реклама не будет навязчивой. Я просто не мог отказать такому тактичному ходу. Особенно на фоне хамства а'ля сокетлуп, хабр и прочее дерьмо. В поисковике находишь решение своей проблемы — переходишь на сайт, там просьба отключить и ничего более, отключаешь, обновляешь страницу (50кбпс) — видишь, что это полная чушь. Включаешь блокировщик, сайт летит в чёрный список. Всё. Нищие. Нищие у перехода. Обнаглевшие нищие. Ты руку протягиваешь — хоть помой перед этим. Да и сам помойся.

А теперь давайте-ка кое-что проясним. Откуда берутся бабки. От рекламы. Кто генерирует контент — сами посетители, которые с этого ничего не имеют. Кто оплачивает хостинг — автор? Нет — посетители, просмотром рекламы. Мораль — не сри в руку, которая тебя кормит. Что ты сделаешь с нищим который требует с тебя денег? Ничего — такие не выживают
Очень интересно. Не думал, что всё так грамотно.

Но как быть если

package main

type Some struct {
    A []byte // LargeSlice
    B []byte // VeryLargeSlice
}

// go:noinline
func (s *Some) Reset() {
    *s = Some{}
}

func main() {
    s := &Some{
        A: make([]byte, 0, 100),
        B: make([]byte, 0, 1000),
    }
    s.Reset()
}


"".(*Some).Reset t=1 size=34 args=0x8 locals=0x0
        0x0000 00000 (some.go:9)        TEXT    "".(*Some).Reset(SB), $0-8
        0x0000 00000 (some.go:9)        NOP
        0x0000 00000 (some.go:9)        NOP
        0x0000 00000 (some.go:9)        FUNCDATA        $0, gclocals·87d20ce1b58390b294df80b886db78bf(SB)
        0x0000 00000 (some.go:9)        FUNCDATA        $1, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
        0x0000 00000 (some.go:10)       MOVQ    "".s+8(FP), DI
        0x0005 00005 (some.go:10)       TESTB   AL, (DI)
        0x0007 00007 (some.go:10)       XORPS   X0, X0
        0x000a 00010 (some.go:10)       ADDQ    $-16, DI
        0x000e 00014 (some.go:10)       DUFFZERO        $288
        0x0021 00033 (some.go:11)       RET


Попробуй пойми. DUFFZERO обнуляет память. Я так понимаю, что оба слайса сгорают в печке GC, что по логике приведённого кода правильно. Вопрос в том, как подменить (в идеале) Reset на свой, или (не так уж и идеально) если делать s.A = s.A[:0], то куда денется слайс после Reset? Сгорит. Думаю, что сгорит.

Впрочем затрагиваемые вопросы очень специфичны и в среднем случае не имеют значения.
Нет не нужны. Для ANSI C они необходимы. Просто это хорошая практика и код так выглядит более устрашающим. По большому счёту и волатильность не нужна. У меня оптимизатор (-O3) всё портит не смотря на то — есть она или нет, фигня какая-то.
То верно, с модема CloudFlare всегда капчу выкидывает — мол "Вы в чёрном списке". Бесит. Сколько проклятий лично я обрушил на них. Не один массовый сайт не выживет с такой стратегией. И на IPv6 смотреть не надо — это никудышная стратегия, вот и всё.
Чёт не получилось у меня красивых графиков (c и без). Хотя бенчмарки радуют:
Benchmark_withoutPool-2   3000000  4209 ns/op  2390 B/op  3 allocs/op
Benchmark_withPool-2     10000000  1736 ns/op   692 B/op  1 allocs/op

Код и бенч на pastebin.com
Вам бы только штрафовать да наказывать. Начните мыслить другими категориями. Это не просто — но это единственный выход.

Некая условная группа пользователей (а существует ли она вообще) не хочет видеть порнуху в интернете. Но при этом они не хотят видеть её в принципе. Например, увидеть и отправить «донос» администратору (администратору ресурса, блин нажать на грёбанный крестик, или как там у них) они не могут. Это ущербные, деревянные люди. Им нет прощения.

Малая лет 4-5 может увидеть порно просто вбив это слово в гугл. Ей могут посоветовать сделать это люди с mail.ru, а могут из другого ресурса, а может она сама это сделает.

Вопрос как защищает вся эта ересь от того, якобы от чего она должна защищать? Никак. Никак. Никак. Не защищает никак. И не будет защищать. Инструмент однажды созданный совершенно для других целей — не будет работать на то, под каким предлогом он выставлен.

Я вспоминаю блокировку GitHub. Из-за suicide.txt. Если включить прокси — то его очень просто найти. Но речь о том, что все те, кто прочитает этот файл и покончат собой (например выпив 8 литров тяжёлой воды) не стоят и секунды блокировки такого великого храма как GitHub.

Да, кстати, тот же блютуб питчит рекламу только в путь. Часть этих денег идёт на фильтрацию. Под лозунгом: не хочешь смотреть порно — смотри рекламу. Есть даже подвижки в сторону запрета AdBlock и подобных. А реклама калечит психику. Она убивает. Морально уничтожает. Она опасна. Но за неё нет наказания — она приносит неплохой доход.
Я просто хочу заменить принуждение на заинтересованность. Если сайт теряет сертификат — то и посетителей у него станет меньше — ибо хомяки кто не в состоянии смотреть порнуху на такие заходить не будут — «ведь предупреждение же выскочило».

В этом случае сам владелец сайта будет заинтересован или не заинтересован в фильтрации контента — и проблема превратиться в поиск специалистов и решений, а с этим и рабочие места, а затем Утопия.

Тема с заголовками прикольна.
status:200 OK
version:HTTP/1.1
x-porno:bdsm,lesbian,rape
x-terror:cutting heads,house explosion
x-politic:acab

Как минимум фильтрацию порно по категориям можно будет на forwar-прокси сделать. Для домашнего wifi — прямо на роутере. Детям — только детское.
Есть ещё один вариант — оставить интернет в покое. Ибо он создавался как база знаний и никакой дядька в галстуке или без не должен решать — какие знания правильные, а какие нет.

Что же делать?

Существуют сертификаты, которые подтверждают, что я захожу на paypal.com, а не к злоумышленнику. Так почему бы не выпустить нечто подобное — типа «охранной грамоты». Мол сайт этот соответствует требованиям таким-то (желательно международным). И в браузере он отмечен зелёным, и при переходе их «безопасного» в «небезопасный» вылетает красная плашка как с https. И всём хорошо. Утопия. Мир и покой. А всё остальное — всё что сейчас вынуждено ютиться в дипвебе и по углам — не подлежит никаким законам и цензурам. Более того — за цензурирование и препятствие — наказывать, ибо «каждый человек имеет право на образование». Вот и всё.

Ваши аргументы против.
По большому счёту ещё и волатильность нужна, всякие там __подчёркивания__.
void _start(void) {
	// puts
	char hw[] = "Hello, World!\n";
	__asm__ __volatile__ ("movq $1, %%rax\n\t"
		"movq $1, %%rdi\n\t"
		"syscall"
		:
		: "S" (hw), "d" (sizeof(hw)-1) // S - %rsi, d - %rdx
		: "%rax", "%rdi"
		);
	// exit
	__asm__ __volatile__ ("xorq %%rdi, %%rdi\n\t"
		"movq $60, %%rax\n\t"
		"syscall"
		:
		:
		: "%rdi", "%rax");
};
Да, но там 10% — это самый маленький возможный прирост. Если Вы взглянете на бенчмарки, то увидите и 5x и 10x ускорение. В среднем примерно 2x — но всё, конечно же, зависит от конкретного случая. Да и зависимость одна меняется на другую (не спорю — потенциально, менее стабильную).
comodo даёт на месяц халявный
Да я имею ввиду, что нет возможности прокинуть HTTP/2 трафик, через Nginx. Т.е. на проксируемый сервер он будет приходить всегда HTTP/1.x. И это печально. По сути ngx_http_v2_module — это некая адаптация SPDY-модуля. Да, я согласен, что на текущий момент — это именно, то что нужно. Но Вы только взгляните как устроен HTTP/2. А сейчас получается, что всё что из него можно выжать — это пакованный заголовок(?), и экономию на хэндшайках. Может это не совсем так, но факт остаётся фактом. Как управлять приоритетами, как вытолкнуть в кэш, что использовать: 1000-картинок или огромный спрайт? Вот о чём я. В общем, я читаю документацию к H2O в данный момент.
То же самое, если выкинуть пакетный менеджер из той же Ubuntu-server.

Объясню на пальцах.
1) Тот пакетный менеджер, о котором речь, называется «всё в моей голове» (в большинстве случаев, кончено: «я не знаю как, но вроде работает», шутка). Даже если речь идёт о частичном использовании системного пакетного менеджера, часть информации остаётся в голове устанавливающего (в хорошем случае).
2) Передача сервера другому человеку не подразумевает передачи ему своей головы.

Сюда же
админить не по документации к ОС
Это не проблема make install. С таким же успехом, можно поставить два пакетных менеджера и всё запороть. При этом, человек, передающий сервер — обязан предупредить о всех наворотах, если нет — то проще переустановить систему. Вот и всё. Тот же checkinstall может запросто конфликтовать с текущим пакетным менеджером.

P.S: Я бы не стал злоупотреблять этим на сервере. Всё таки-сервер требует совсем иной подход. Да и сервер этот маленький, не для сборки. Но у меня на сервере стоит nginx в /opt/nginx и я не вижу в этом никаких проблем. Абсолютно никаких. Потому что их нет. Их и не может быть.
За make install надо наказывать.

А вот и нет. Это личное дело каждого. А может у меня вообще нет пакетного менеджера и вся система установлена через make install — и Вы предлагаете собирать пакет?
Не хватает про параллелизм.
Насколько я понимаю, то http2-траффик будет проксироваться на http1 сервер. А как быть, если я хочу шифрованное соединение, но для клиентов, что не поддерживают http2 проксировать на http1 сервер. А для других — на http2. Это реально? И ещё, как быть с websockets? У nginx есть насчёт этого страничка. Но будет ли она работать по такой схеме? Будет ли она работать просто по http2?
Кстати в Go реально написать свой аллокатор, с помощью syscall.Mmap и unsafe.Pointer например.
Да и кстати append всегда создаёт новый слайс. Но важно помнить, что часть одного слайса может быть так же частью другого. Если что есть copy. Да эта тема довольно проста и хорошо освещена, по крайней мере в англоязычном мире и не нужно хорошо знать язык, чтобы до неё дойти. Чувак просто не разобрался. Вот и всё.

Собственно я том, что не стоит винить язык за свои ожидания в его поведении, если документацию изучить не досуг.

Information

Rating
Does not participate
Registered
Activity