friends [entries|archive|friends|userinfo]
solidus

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

Никогда отребье НАТОвское не возьмёте нас! [Oct. 12th, 2019|08:37 am]

tiphareth
[Tags|, , ]
[Current Mood | sick]
[Current Music |Otto Dix - Live in Saint-Petersburg 19.05.2017]

Кстати, если кто-то не знаком с этим образчиком
скрепного творчества
https://www.youtube.com/watch?v=_RLUntrViCo
Игорь Растеряев "Комбайнеры"

Вдалеке от больших городов,
Там где нет дорогих бутиков,
Там другие люди живут,
О которых совсем не поют.

Не снимают про них сериалов,
Ведь они не в формате каналов,
И не пишет про них интернет,
Их совсем вроде как бы и нет.

Они молоды, но не студенты,
Ни Икеев не знают, ни Ленты,
В суши барах они не бывают,
И в соляриях не загорают.

У них нет дорогой гарнитуры,
Наплевать им на эмо-культуру,
Не сидят вконтактах, в онлайнах,
Они вкалывают на комбайнах.

Выпил С2H5OH,
Сел на Ниву Россельмаш,
На ДТ, Дон-500, Т-150,
Покормил перед этим поросят.
И пошёл зябь пахать, молотить ячмень,
Будет долгим-долгим-долгим твой рабочий день,
Но зато ты знаешь каждый винтик в тракторе внутри,
Получаешь за работу в месяц тысячи три,
Комбайнёры!

Каждый из них был в армии родной,
Не отмазался никто, что у него там геморрой,
Комбайнеры, трактористы, грузчики арбузных фур,
Эти парни не являются мечтой гламурных дур.

И пускай там пидарасы беснуются в Москве,
Но пока такие пацаны есть у нас в стране,
Знают пусть враги все, знает сучка Кондолиза Райс
Никогда отребье НАТОвское не возьмёте нас.

Выпил С2H5OH,
Сел на Ниву Ростсельмаш,
На ДТ, Дон-500, Т-150,
Покормил перед этим поросят.
И пошёл зябь пахать, молотить ячмень,
Будет долгим-долгим-долгим твой рабочий день,
Эта песня посвящается всем сельским пацанам,
Волгоградским комбайнёрам, трактористам, пастухам.

* * *

Автор, что характерно - хипстер, архетипический,
но вдохновляется скрепами (шикарно, как и все на руси).
Изначально (в 2006-м) эта песня воспринималась иронически,
но сейчас "комбайнеры" это государственное обязалово и
национальная идея, излюбленная холмогорием.

Конечно, нормальный человек не будет убиваться
на комбайне за 3000 рублей, учитывая, что
сельхозкультуры в нашем климате банально не растут.
Так что все эти пляски с комбайном - мартышкин
труд, который не окупается, и село не разбежалось
нахуй только из-за государственной поддержки
и государственных субсидий на распил денег
агрокомплексом
сельское хозяйство.

Но зато сельское население не задает вопросов,
не протестует, довольно служит в армии, смотрит
зомбоящик и в любой момент готово поддержать
путлера и едорасов. А производительность труда
похуй, если не хватит жрачки, завезут еще
сто тонн пальмового масла из Малайзии.

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


Привет
Link211 comments|Leave a comment

не знают, кто такой Чебурашка и кот Леопольд [Oct. 12th, 2019|08:05 am]

tiphareth
[Tags|, , ]
[Current Mood | sick]
[Current Music |Игорь Растеряев "Комбайнеры"]

https://www.rosbalt.ru/like/2019/10/10/1807078.html
https://fedpress.ru/news/63/society/2335582

...Комиссия по делам несовершеннолетних собирается лишить отца родительских прав. Мотивом стало знание детьми иностранных языков и вязание крючком.

В с. Новотулка Хворостянского района Самарской области разгорается конфликт в сфере ювенальной юстиции. Отца трех мальчиков, 15, 13 и 11 лет, пытаются лишить родительских прав на основании того, что дети слишком развиты, а это ненормально, по мнению местных жителей.

Иван Сидоров, вместе с семьей, переехал в Самарскую область три года назад. Он посчитал, что с пятью детьми жить лучше в селе и купил дом. Вскоре развелся, мама с двумя младшими уехала в Самару, а с ним осталось трое сыновей.

Конфликт начался еще в прошлом году. Сидоров работает удаленно, в крупной европейской компании. Своих детей он воспитывает в иной системе ценностей, чем принята в селе. Дома нет телевизоров, дети читают книги, занимаются работой по дому и хозяйству. Хобби каждый выбирает по собственному желанию. Средний сын, Степан, любит вязать крючком. Самостоятельно освоил программирование. Ранее семья жила в нескольких европейских странах, так что дети владеют иностранными языками.

И именно все, вышеперечисленное, стало основанием отправить детей на социально-психиатрическую экспертизу и далее - в приют.

К завучу местной школы обратились родители учеников, с просьбой прекратить ``неправильное влияние'' на их детей. Обращение ушло в комиссию по делам несовершеннолетних. 9 октября Ивана Сидорова вызвали на комиссию и вменили ему ``неисполнение родительских обязанностей''.

``Ваши дети не знают, кто такой Чебурашка и кот Леопольд. У вас нет телевизора, вы учите их чему-то непонятному. Ваш сын умеет вязать крючком, значит он нетрадиционной ориентации. Вы сами и ваши дети должны уважать и принимать традиции того места, где вы живете. Вот такие обвинения мне предъявили'', - прокомментировал ситуацию редакции ``ФедералПресс'' отец троих детей.

* * *

Это к вопросу о том, как именно будет работать
"ювенальная юстиция" в говно-стране. Читаешь книжки
вместо алкоголизма, не смотришь зомбоящик, иди в приют.
"Вы и ваши дети должны уважать и принимать традиции
того места, где вы живете", а традиции этого места
это алкоголизм, раболепство, доносы, ментовский
беспредел и ГУЛАГ.

Хотя отец детей действительно ненормальный, хуле,
кому может придти в голову увезти детей в деревню
и отдать их там в школу. В зоопарк он их не пробовал
отдать, к гориллам? придурок.

Привет
Link44 comments|Leave a comment

Замечательные опечатки [Oct. 11th, 2019|02:40 am]

hex_laden
[Tags|]

Квантовый Скачек

Прямо какой-то чех Шредингера, то ли чех, то ли словак.

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2019/10/06/zamechatelnye-opechatki-7/
LinkLeave a comment

Esther The Wonder Pig [Oct. 11th, 2019|02:28 am]

tiphareth
[Tags|]
[Current Mood | tired]
[Current Music |Otto Dix - Live in Saint-Petersburg 19.05.2017]

Красивая фотка Греты Тунберг
https://www.instagram.com/p/B3H3eu5HSAa/
(Грета всередине)

очень трогательно
Link51 comments|Leave a comment

Sorry, But Male Geniuses Are Replaceable [Oct. 10th, 2019|02:04 am]

tiphareth
[Tags|, ]
[Current Mood | sick]
[Current Music | GGFH - THE VERY BEAST OF GGFH]

Потрясающее чтиво
https://medium.com/@ReadMoreScience/sorry-but-male-geniuses-are-replaceable-8cbd53a8c2df
"Незаменимых нет", феминист-версия.

Ну типа, после того, как всех "великих ученых"
расстреляют выгонят нахуй за metoo и для борьбы
с аблеизмом и меритократией, на их место наберут по
квотам от diversity and inclusion теток, которые будут
ничем не хуже, а на самом деле даже лучше, ибо
не похожи на "ученых", которые все насильники,
ибо смотрят порно любой человек, который
держит рычаги власти, неизбежно использует их
для изнасилований, и в первую очередь ученые,
а особенно физик Ричард Фейнман.

My partner, a physics major, still adores his 3-volume set

of Mr. Feynman's Lectures on Physics. Perhaps it's easier
to separate the scientist from his science when you're
not, and never will be, affected personally by misogyny
and sexism.

Unfortunately, many women in STEM are adversely affected
by misogynists and sexists when those men are highly
regarded and respected within the scientific
community. After all, sexual harassment isn't really about
sex - it's about power.

Then I ask you this: what's worth more, the contributions
of a lone male genius who assaults and harasses and
discriminates against women, or the contributions of a
large scientific community unhindered by a misogynistic
and unsafe environment?

As advocates of science, our answer should resoundingly be
the latter. The fact is, we are compromising the truth and
value of science by allowing harassers to perpetuate an
unacceptable working environment for female scientists.
To allow a sexist male "genius" to derail that progress
for the sake of upholding a toxic ideal is absurd.

Geniuses aren't all that special, anyway. Science is the
great equalizer - we are all replaceable. If one scientist
hadn't made a special discovery, surely another eventually
would have made the same one. This is why I believe it's
time to take a zero-tolerance stance on sexual
harassment. Unhindered by sexism and patriarchy and abuses
of power, science will thrive and progress will come that
much sooner.

* * *

Охуительно, я считаю.

Привет
Link324 comments|Leave a comment

auditor for inclusive content [Oct. 10th, 2019|01:24 am]

tiphareth
[Tags|, , , , ]
[Current Mood | sick]
[Current Music |GGFH - THE VERY BEAST OF GGFH]

Узнал сегодня, что есть такая работа
auditor for inclusive content
это человек, который смотрит всю
вашу программную документацию и убирает
оттуда все, что не проходит цензуру гайдлайнов
по diversity and inclusion
.

Ну типа, везде заменить "sanity check" на
"final check for completeness and clarity",
"cripples the service" на "slows down the service",
а "dummy variable" на "placeholder variable",
потому что оно может быть оскорбительно для
ваших сотрудников, которые родились идиотами,
и приняты на работу по квотам на diversity and
inclusion.

Также необходимо во всех коментах заменить
man-hours на person-hours, а mankind на
humanity, потому что оно может быть оскорбительно
для ваших сотрудников, которые родились идиотами
женщинами и приняты на работу по квотам на diversity and
inclusion.

По той же самой причине запрещается использовать слово
abort
, оно оскорбляет идиотов женщин,
которых приняли на работу по квотам на diversity and
inclusion.

За использование абортов в документации изрядно
пострадал RMS: за пару лет до того, как
феминистки уничтожили его окончательно,
ебаные политкорректные активисты пытались
удалить шутку про аборты из документации glibc.
Шутка была пошучена Столлманом в начале 1990-х, когда
шутки еще можно было шутить, а сейчас нельзя, потому
что любая шутка оскорбляет феминисток.

В общем, злосчастную шутку про аборты убирали, добавляли,
убирали, добавляли, убирали, добавляли, убирали,
добавляли, примерно как в песне Новеллы Матвеевой про
незадачливого мужа, вернувшегося из командировки;

и каждый раз ругались на Столлмана за его устарелые
обычаи. Мораль тут не одна, а две: во-первых, ESR был
прав
, а во-вторых, каждая шутка, пошученная сегодня,
через 10 лет может превратиться в увольнение с
волчьим билетом, а то и приглашение к расстрелу.

Для коллекции, ссылки на историю с шуткой про аборты
и обсуждения вокруг нее.

https://www.theregister.co.uk/2018/05/09/gnu_glic_abort_stallman/
https://lwn.net/Articles/753646/
https://lwn.net/Articles/753654/
https://news.slashdot.org/story/18/05/10/2119202/richard-stallman-demands-return-of-abortion-joke-to-libc-documentation
https://stackoverflow.com/questions/48445031/why-would-it-be-illegal-to-inform-about-abort
https://kiwifarms.net/threads/chad-richard-stallman-enforces-funny-abortion-joke-ignoring-crying-about-triggers-gender-identity.42970/
https://www.metafilter.com/183159/Odious-ideas-are-not-entitled-to-hide-from-criticism
https://gbatemp.net/threads/richard-stallman-character-assassination.548033/
http://lj.rossia.org/users/tiphareth/2142338.html

Привет
Link52 comments|Leave a comment

новый регламент взаимодействия с иностранцами [Oct. 9th, 2019|02:31 pm]

tiphareth
[Tags|, , , , ]
[Current Mood | sick]
[Current Music |Shpongle - Codex VI]


По ссылке
от [info]congregatio@lj.

Казанский федеральный университет (КФУ) перешел на новый

регламент взаимодействия сотрудников вуза с
иностранцами. Деловая встреча сотрудника вуза с
приглашенным иностранцем может проходить только в стенах
университета. И предупредить о ней необходимо департамент
внешних связей ? не позднее, чем за 7 дней. При этом,
сотрудник вуза обязан приложить к своему уведомлению
скан-копии паспортов иностранных участников события. А
через 3 дня после завершения события департамент получает
еще и отчет от сотрудника вуза о том, как прошла встреча.

Чтобы провести неформальную встречу с иностранцем вне вуза
или во внерабочее время, сотрудник должен получить личное
разрешение ректора. Все отчеты о встречах с иностранцами
заверяются печатью вуза, а затем отправляются в
Министерство образования России.

* * *

В принципе, очень хорошая мера, ибо
гранаты макакам выдавать не следует, а значит
"наука РФ" это зло большое, и с ней надо бороться.
К счастью, сами макаки делают это лучше некуда.

В 1990-е тогдашняя оппозиция (нацболы) обвиняли
ельцинских чиновников в русофобии и сознательном
саботаже образования и экономики. Сейчас понятно, что без
саботажа, чиновной русофобии и свинства все будет
еще хуже: вместо 88%-й поддержки путлера, гебешную власть
будут поддерживать 89 или 90 процентов, а вместо сгнивших
ракет и протухших отравляющих вешеств появятся работоспособные
ракеты, прослушка и яды. Ничего хорошего в этом нет:
ебанутая от гебешной паранойи страна с невменяемым
населением и ракетами опасна всему миру, и в первую
очередь тем самым 88% процентам запутинцев, тем более
опасна, чем работоспособнее у нее ракеты и яды.

Потому что остальные по крайней мере пытаются свалить
из сраной, а эти патриотические мудозвоны окажутся в эпицентре,
когда у путлера окончательно поедет крыша и его придется
опездюливать всем миром.

Привет
Link67 comments|Leave a comment

a hostile takeover [Oct. 8th, 2019|04:27 am]

tiphareth
[Tags|, , , ]
[Current Mood | sick]
[Current Music |Ragnaröck - Die Mauer muß weg]

Очередной захват SJW-цензорами (около-)FOSS-проекта

https://news.ycombinator.com/item?id=21153224
https://tech.slashdot.org/story/19/10/03/1557215/stack-exchange-removes-moderator-for-preferred-pronouns-policy
https://meta.stackexchange.com/questions/334248/an-update-to-our-community-and-an-apology
https://meta.stackexchange.com/questions/333965/firing-mods-and-forced-relicensing-is-stack-exchange-still-interested-in-cooper
https://cellio.dreamwidth.org/2064709.html
https://meta.stackexchange.com/questions/334551/an-apology-to-our-community-and-next-steps
https://www.reddit.com/r/kotakuinaction2/comments/db7drr/stackexchange_at_it_again_veteran_moderator_fired/
https://meta.stackexchange.com/questions/333965/firing-mods-and-forced-relicensing-is-stack-exchange-still-interested-in-cooper

на сей раз жертвой стал StackExchange,
в котором сменился CEO и SJW-сотрудницы,
окопавшиеся в community management, немедленно
начали разить направо и налево.

Пара комментариев из kotakuinaction2.


-- Your site is dead. It's infected with social justice and
it won't stop until everyone productive has been shamed
and browbeaten into acting in accordance with progressive
ideals. This is a hostile takeover, and you're all too
blind and too conflict-averse to prevent it from
succeeding.

-- How long until Joel Spolsky will be accused of sexual
assault and pushed out?

Все так. Вообще "diversity and inclusion" это такая
новая инквизиция, которая огнем и мечом уничтожает все,
что на сантиметр отклоняется от текущей ультра-ортодоксии.
То есть по сути "diversity and inclusion" это попытка
выставить вон, подвергнуть шеймингу и остракизму и заставить
замолчать навеки 90% потенциальных сотрудников IT.

Привет
Link176 comments|Leave a comment

Просмотр изображений под DOS, видеообзор [Oct. 6th, 2019|08:38 pm]

hex_laden
[Tags|, , ]



https://youtu.be/zSxVOH1rt3k

Просмотровщик
Тестовые файлы

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2019/10/05/prosmotr-izobrazhenij-pod-dos-videoobzor/
Link2 comments|Leave a comment

не место для политических дискуссий [Oct. 6th, 2019|10:29 am]

tiphareth
[Tags|, , ]
[Current Mood | sick]
[Current Music |Кенгуру - БАЛ КЕРОСИНОВЫХ ЛАМП]

Хорошее
https://www.bloomberg.com/opinion/articles/2019-09-09/free-speech-is-no-longer-safe-speech-at-today-s-elite-colleges
https://www.bloomberg.com/opinion/articles/2019-09-10/how-comfort-college-dogma-conquered-reason-and-evidence
про будущее американского высшего образования

ну типа, сейчас "прогрессивные" студенты и
молодые преподаватели убеждены, что свобода
слова это расизм, сексизм, и на кампусе
ей не место, а равно и каким-либо дебатам
о чем угодно, ибо дебаты дегуманизируют.

В 2003-м году тогдашний начальник партии жуликов
и воров Грызлов заявил, что "Государственная Дума это
не место для политических дискуссий". К нему
присоединяются американские гуманитарии, убежденные,
что и университет - тоже не место для дискуссий.

...At Williams College's bicentennial in 1993, Frederick

Rudolph, a beloved and esteemed professor of history at
the school, gave a speech in which he defined the three
eras of his and other elite colleges: the Christian
college, the gentlemen's college and the consumer's
college. Rudolph predicted that the consumer Williams
"will be moving on, making way for the as yet undefined
next era in the college's history."

Elite private education in America is on the cusp of this
new era. The controversies over free speech, safe spaces,
trigger warnings, microaggressions and the like are
symptoms of this shift. They are currently considered
controversies because the colleges are in transition, and
many do not realize that the old standards no longer
hold. Once the transition is complete, the "correct" side
of the controversies will become central to a school's
identity - just as faith was to the Christian college,
self-confidence was to the gentlemen's college, and alumni
devotion and achievement were to the consumer's college.

The Christian college, Rudolph wrote, was "defined by a
transcendent Christian purpose." The gentlemen's college
was characterized "by an almost obsessive cultivation of
gentlemanly values." The consumer's college was shaped "by
a zealous attention to the academic market and the student
as consumer."

What characterizes the comfort college? The slogan of the
comfort college is "diversity and inclusion." And just to
be clear: The presence of previously underrepresented
groups is vital, necessary and welcome. What's more,
insensitivity toward people's identities should be
self-censored, and social pressure to do so is a helpful
tool.

But another agenda, an agenda that runs counter to true
diversity and inclusion, has (often silently) accompanied
these positive changes. At some point along the way, this
laudable attention to the language of inclusion turned
from a psychologically realistic sensitivity into a harsh
and confrontational tribal marker. Much of comfort-college
language - "neurodiverse" versus "mentally ill,"
"minoritized" versus "minority" - simply identifies one as
a member of the woke tribe, and using the wrong term will
bring about social death.

...Williams College's long year of troubles intensified on
the first day of the spring semester. An assistant
professor of English sent an email to her students saying
she would not be teaching; she had gone on medical leave,
citing "a refusal to continue business as usual" in the
face of "the College's violent practices." In response,
students sent a letter to the trustees declaring that "We
hold the truth of discursive and institutional violence to
be self-evident."

Self-evident. Refusing to consider evidence goes against
the tenor of all three previous colleges. (Even the
Christian college studied arguments for the existence of
God.) We might at first dismiss this as (literal)
sophomoric bravado. However, in a meeting for faculty of
color called by the dean of the faculty, one professor
asked for evidence of "violent practices." Another
professor responded that "to ask for evidence of violent
practices is itself a violent practice."

Read more... )
Link96 comments|Leave a comment

EEE PC 2G SURF драйвера и программы [Oct. 5th, 2019|03:18 am]

hex_laden
[Tags|, , ]



Принесли тут в починку (причем уже второй) такой вот недобук. Убил полдня на него, пришлось делать отдельный дистрибутив XP, из которого было выкинуто почти все лишнее, чтоб влез.

А вот архив для него с родными дровами, софтом и всем прочим. На всякий случай, мало ли кому надо будет.

Скачать с mega.nz

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2019/10/04/eee-pc-2g-surf-drajvera-i-programmy/
Link7 comments|Leave a comment

PRESS Неизвестный уральский архиватор. [Oct. 4th, 2019|04:33 am]

hex_laden
[Tags|, , ]

Разгребая старые архивы обнаружил неизвестный архиватор производства СКБ "Контур", г. Екатеринбург. Написано, что 1995 года. Довольно продвинутый для того времени (RAR, насколько понимаю, тогда еще не существовал). Неплохо сжимает, во всяком случае тот же RAR не смог (на максимуме) сжать архивы PRESS (с расширением .PRS) с каким-либо выигрышем.

Умеет в многотомность, сжатие с подкаталогами, можно включить псевдографический интерфейс (правда, управление все равно с командной строки).

Что прикольно - формат архива PRS абсолютно неизвестен никаким антивирусам, и за архив они его не считают. Вот бы разобрать формат, да сделать свой современный упаковщик, на базе сурового уральского изделия. Интересно, что контора до сих пор существует, делает бухгалтерские проги, и даже успешно конкурирует с великим и ужасным 1С.

Единственное что, расковыривание формата задача скорее не для меня, а для [info]ketmar, но может когда-нибудь и расковыряю.

Впрочем, кому интересно, может поковыряться сам:

Примеры архивов PRS
Архиватор
Файлы, добавленные в архивы

Архивы сделаны в двух экземплярах: с обычной и максимальной (имя архива заканчивается на m) степенью сжатия.

Содержимое архивов:

VIM-LNT.PRS, VIM-LNTM.PRS - "Война и мир" в TXT в UTF-8
SMALL-EN.PRS, SMALLENM.PRS - текстовый файл с английским алфавитом строчными буквами (одна строка).
ENX10.PRS, ENX10M.PRS - английский алфавит повторенный 10 раз (10 строк)
ALLFILEM.PRS, ALLFILES.PRS - все из предыдущих архивов + несколько картинок в разных форматах.

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2019/10/03/press-neizvestnyj-uralskij-arhivator/
Link23 comments|Leave a comment

Делаем свое расширение для Firefox. Содержание. [Oct. 3rd, 2019|11:40 pm]

hex_laden
[Tags|, , , , ]

Делаем свое расширение для Firefox. Часть I. В которой мы все подготавливаем.
Делаем свое расширение для Firefox. Часть II. В которой работаем с пользовательскими настройками аддона.
Делаем свое расширение для Firefox. Часть III. Работа с запросами.
Делаем свое расширение для Firefox. Часть IV. Background, сборка, публикация.

Копия на lj.rossia.org:

Делаем свое расширение для Firefox. Часть I. В которой мы все подготавливаем.
Делаем свое расширение для Firefox. Часть II. В которой работаем с пользовательскими настройками аддона.
Делаем свое расширение для Firefox. Часть III. Работа с запросами.
Делаем свое расширение для Firefox. Часть IV. Background, сборка, публикация.

Страничка расширения на tolik-punkoff.com
Страничка расширения на lj.rossia.org

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2019/10/02/delaem-svoe-rasshirenie-dlya-firefox-soderzhanie/
Link2 comments|Leave a comment

External IP Geo IP [Oct. 3rd, 2019|12:02 am]

hex_laden
[Tags|, , , , ]

Это небольшое расширение к браузеру Firefox, который находится в виде кнопки на панели браузера и показывает вам флаг страны, согласно вашему внешнему IP-адресу, т.е. ваше географическое положение, определенное по IP.

Для определения страны, к которой принадлежит IP, расширение по умолчанию обращается к сервису https://api.myip.com, однако предусмотрена возможность обращения и к другим сервисам, главное чтоб формат данных был таким же, как и у https://api.myip.com. В исходниках проекта есть PHP-скрипт, который можно разместить на любом хостинге, поддерживающем PHP, а во всплывающей панели расширения можно поменять адрес, который расширение будет опрашивать.

Скриншоты





Кнопка на панели браузера



Отображение IP и дополнительной информации


Получение IP-адреса


Реакция на ошибку сети


Страница расширения на mozilla.org


https://addons.mozilla.org/ru/firefox/addon/external-ip-geoip/

Исходники и дополнительные материалы


Репозиторий на GitHub
PHP-скрипт для своего сайта
Скачать расширение с GitHub

Статья о том, как расширение было написано


На tolik-punkoff.com
На lj.rossia.org

В PDF с Mega.nz
В PDF с Google.Drive

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/external-ip-geo-ip/
LinkLeave a comment

Делаем свое расширение для Firefox. Часть IV. Background, сборка, публикация. [Oct. 2nd, 2019|10:46 pm]

hex_laden
[Tags|, , , , ]

Делаем background


Теперь делаем специальный модуль ip_background.js, который будет выполнять всю работу нашего аддона, во время работы браузера.

Создаем файл ip_background.js и копируем из файла ip_popup.js все содержимое, кроме строк с addEventListener, т.к. слушатели событий в background будут другие. Функцию doRequest пока оставим в покое, ей займемся чуть позже.

Из функции onGot(item) удаляем строку document.getElementById("script").value = curAddr;, т.к. никаких текстовых полей в бэкграунде нет и не предвидится, менять элементы нам тут не надо.

Еще я переименовал функцию bodyLoad в listinerRun, она у нас будет одна, на все три обрабатываемых события.

В целом, логика работы остается такой же, как и во всплывающей странице, только вместо заполнения элементов нам нужно будет менять картинку на кнопке и ее же всплывающую подсказку.

Так, начало положена, у нас есть "болванка" нашего background-скрипта, сохраняем ее и модифицируем manifest.json

Модификация manifest.json


В manifest.json следует добавить секцию "background", где перечислить в массиве "scripts" скрипты, запускаемые браузером во время работы нашего расширения. Понадобятся два скрипта, собственно ip_background.js и библиотека JQuery jquery-3.4.1.min.js:

"background": {
    "scripts": [
      "jquery-3.4.1.min.js",
      "ip_background.js"
    ]
  }


Новый manifest.json на PasteBin

Далее под катом )

Дополнительно


Внешний скрипт на PHP, который можно использовать, как замену api.myip.com (копия)
На GitHub

Скачать


Страница дополнения на mozilla.org
Исходники на GitHub
Скачать подписанный xpi с GitHub
Этот мануал в PDF + весь код в одном архиве:
С Mega.nz
С Google.Drive

Предыдущая часть
Содержание

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2019/10/02/delaem-svoe-rasshirenie-dlya-firefox-chast-iv-background-sborka-publikatsiya/
LinkLeave a comment

Делаем свое расширение для Firefox. Часть III. Работа с запросами. [Oct. 2nd, 2019|10:41 pm]

hex_laden
[Tags|, , , , ]

Работа с запросами


До того, как мы будем выполнять запросы к внешним ресурсам, надо внести изменения в manifest.json, дав соответствующее разрешение "<all_urls>" в permissions.
Все разрешения для нашего аддона:

"permissions": [
    "activeTab",
    "tabs",
    "storage",
    "<all_urls>"
  ]


Внимание! Если разрешение "<all_urls>" не дать, то при попытке обращения к внешнему ресурсу произойдет ошибка:

Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на https://api.myip.com/. (Причина: отсутствует заголовок CORS «Access-Control-Allow-Origin»).

Почему-то ссылка на пояснение к ошибке на сайте Мозиллы ведет не совсем на то, что нужно, а в поиске, тоже неизвестно почему, информация о том, что нужно просто дать разрешение "<all_urls>" в manifest.json не всплывает. Сам еле догадался, практически методом научного тыка устранил данный глюк.

Небольшое отступление от программирования


После долгого ковыряния в отладке и интернете я решил немного отдохнуть, и дополнить дизайн расширения.

Фактически, у запроса есть три состояния:

- запрос выполняется
- запрос выполнен успешно
- запрос завершен с ошибкой

Обо всем этом можно и нужно сообщать пользователю, и симпатичнее всего это сделать, меняя иконку. Нарисовал и сохранил в каталог flags.

- запрос выполняется (1working.png)



- запрос завершен с ошибкой (2error.png)



- если запрос выполнен успешно, то будем показывать флаг страны, как и планировалось изначально. Но, на всякий случай, можно предусмотреть ситуацию, когда страну определить не удалось (с api.myip.com это вряд ли случится, но с другим скриптом, выдающим данные в том же формате может быть).

- страна неизвестна (3unknow.png)



Подключение JQuery


GET-запрос к сайту оказалось проще всего сделать с помощью библиотеки JQuery.
Скачиваем библиотеку и сохраняем ее в каталог с ip_popup.html. В самом ip_popup.html подключаем ее (перед скриптом ip_popup.js):

<script src="jquery-3.4.1.min.js"></script>

Далее под катом )

Предыдущая часть
Продолжение

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2019/10/02/delaem-svoe-rasshirenie-dlya-firefox-chast-iii-rabota-s-zaprosami/
LinkLeave a comment

Делаем свое расширение для Firefox. Часть II. В которой работаем с пользовательскими настройками адд [Oct. 2nd, 2019|10:34 pm]

hex_laden
[Tags|, , , , ]

Сохранение настроек


function saveSettings()
{
	var scriptAddr = document.getElementById("script").value;
	scriptAddr = scriptAddr.trim();
	
	if (scriptAddr != "")
	{
		if (window.confirm('Save script address ' + 
                    scriptAddr + '? Are you sure?'))
		{
			browser.storage.local.set({
				server_settings: {script_addr: scriptAddr}
			});
			window.alert('Settings saved!');
		}
		else
		{
			document.getElementById("script").value = curAddr;
		}
	}
}


Что тут делается:

1. Сначала в переменную scriptAddr записывается значение текстового поля с id=script, т.е. того поля, куда можно ввести адрес скрипта.
2. Функцией trim() обрезаем начальные и конечные пробелы, вдруг их пользователь навводит.
3. Если scriptAddr не пустая строка, то запрашиваем у пользователя подтверждение сохранения функцией window.confirm() Функция выведет на экран окошко с текстом, заданным в качестве ее аргумента и кнопками "Да" и "Нет". Если нажата "Да", функция вернет true, если "Нет" - false.



Подробности: "Взаимодействие: alert, prompt, confirm"

4. Если отвечено да, то пользуемся API Firefox'а, а именно функцией browser.storage.local.set(object), которой, в данном случае, передается объект, содержащий объект server_settings, содержащий единственный параметр script_addr. Значение script_addr устанавливаем из переменной scriptAddr. Далее сообщаем пользователю, что настройки сохранены (window.alert('Settings saved!');)

Подробности и примеры работы с локальным хранилищем: StorageArea.get()

5. Если было отвечено "Нет", то восстанавливаем значение текстового поля:

document.getElementById("script").value = curAddr;

В конце js-файла, после всех функций, подключаем обработчик события (слушатель) для события "click" кнопки с id == save:

document.getElementById("save").addEventListener("click", saveSettings);

Внимание! Функции addEventListener имя функции-обработчика передается без круглых скобок

document.getElementById("save").addEventListener("click", saveSettings()); //неправильно

Если добавить скобки, то код функции saveSettings просто однократно выполнится, когда дойдет очередь до addEventListener

Да, ошибка детская, но искать потом концы довольно муторно.

Далее под катом )

Начало
Продолжение

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2019/10/02/delaem-svoe-rasshirenie-dlya-firefox-chast-ii-v-kotoroj-rabotaem-s-polzovatelskimi-nastrojkami-addona/
LinkLeave a comment

Делаем свое расширение для Firefox. Часть I. В которой мы все подготавливаем. [Oct. 2nd, 2019|10:27 pm]

hex_laden
[Tags|, , , , ]

Преамбула


Решил я сделать одно небольшое расширение для Firefox, попутно описывая весь процесс разработки. Пишу больше для себя, чтоб легче было разобраться самому.
Что оно будет делать. Расширение будет присутствовать на панели Firefox в виде отдельной кнопки и отображать на этой кнопке флаг страны, в зависимости от того, какой у пользователя внешний IP. По нажатию на кнопку будет вываливаться всплывающее окно с опцией, которых будет одна - адрес скрипта, который выдаст нам нужные данные, и собственно, самим IP-адресом.

IP и страну будем получать с https://api.myip.com/, который выдает нужную информацию в виде JSON:

{"ip":"162.247.73.193","country":"United States","cc":"US"}


Подготовка структуры каталогов.


Создадим где-нибудь в удобном месте каталог, например, deoip, он будет корневым каталогом нашего плагина, а в нем 2 подкаталога icons и flags

Иконки и флаги стран.


Плагину требуется как минимум одна иконка 48x48 для отображения в менеджере дополнений, и желательна еще одна 96x96 пикселей. В Мозиловском примере говорится, что можно сделать иконку в формате SVG, но я не стал экспериментировать и сделал две PNG-шки.



Флаги стран, которые будут отображаться на кнопке панели, должны иметь размер 32x32 пикселя, а имена файлов соответствовать двухбуквенному ISO-коду страны. Я использовал готовые иконки из коллекций плюс еще одну иконку по умолчанию (0none.png).



manifest.json


manifest.json - это главный файл расширения, содержащий основные опции плагина.

Пока он выглядит так:

{
  "manifest_version": 2,
  "name": "External IP GeoIP",
  "description": "Display you external IP and IP country",
  "version": "0.0.1",
  "icons": {
    "48": "icons/48.png",
    "96": "icons/96.png"
  },
  "browser_action": {
    "default_icon": "flags/0none.png",
    "default_title": "External IP GeoIP"
  },
  "permissions": [
    "activeTab",
    "tabs",
    "storage"
  ]
}


Сначала идут обязательные опции manifest_version и name - имя расширения, далее дополнительные, но желательные description и version, соответственно, краткое описание и версия. В секции icons указываются пути к иконкам для менеджера дополнений (все пути должны быть относительными, относительно, собственно manifest.json). В секции browser_action описывается кнопка на панели браузера и привязанные к ней действия, пока действий у нас никаких (потом добавим выплывающее меню), а задача просто отобразить кнопку на панели. Поэтому добавляем опцию default_icon - путь к иконке по умолчанию, и всплывающую подсказку default_title (появится, если к кнопке подвести указатель мыши).
Далее интересная секция permissions. Это разрешения для нашего плагина. Я уже примерно прикинул какие разрешения нам понадобятся: доступ к вкладкам (tabs), к активной вкладке (activeTab) и хранилищу, которое используется для сохранения настроек плагина (storage).

Подготовка Firefox к тестированию плагина


Особая подготовка не требуется, но я рекомендую все-таки сделать отдельный пустой тестовый профиль. Набираем в адресной строке about:profiles, жмем Enter, попадаем на страницу профилей, создаем отдельный профиль test и жмем "Запустить еще один браузер с этим профилем"

Первый запуск


В браузере с новым профилем набираем в адресной строке about:debugging, слева выбираем "Этот Firefox", и жмем кнопку "Загрузить временное дополнение" и выбираем наш manifest.json. Теперь идем в меню "Инструменты --> Дополнения" или набираем в адресной строке about:addons, и если все сделано правильно, то видим наше дополнение в списке дополнений, а если откроем просто пустую вкладку, то увидим и кнопку.




Делаем всплывающую панель )

Продолжение

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2019/10/02/delaem-svoe-rasshirenie-dlya-firefox-chast-i-v-kotoroj-my-vse-podgotavlivaem/
LinkLeave a comment

[Oct. 2nd, 2019|07:03 pm]

tanuki
lookatmisha идёт нахуй
LinkLeave a comment

[Oct. 2nd, 2019|03:18 pm]

tanuki
Бля вконтакте йобаная цензура. Тут йобаный анон.
LinkLeave a comment

navigation
[ viewing | most recent entries ]
[ go | earlier ]