<?xml version='1.0' encoding='utf-8' ?>

<rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/'>
<channel>
  <title>mudaks</title>
  <link>http://klab.lv/users/mudaks/</link>
  <description>mudaks - Sviesta Ciba</description>
  <lastBuildDate>Sat, 05 Apr 2025 08:26:51 GMT</lastBuildDate>
  <generator>LiveJournal / Sviesta Ciba</generator>
<item>
  <guid isPermaLink='true'>http://klab.lv/users/mudaks/4020.html</guid>
  <pubDate>Sat, 05 Apr 2025 08:26:51 GMT</pubDate>
  <link>http://klab.lv/users/mudaks/4020.html</link>
  <description>austrumeiropā nekad nebija nekāda maršala plāna, bet to jau visi piemirsuši, uzskata austrumeiropiešus par nabadzīgiem lohiem. tik nestilīgi būt austrumeiropietim, ka no biksēm izlīdīsim ārā, lai tikai sevi sauktu par ziemeļeiropiešiem</description>
  <comments>http://klab.lv/users/mudaks/4020.html</comments>
</item>
<item>
  <guid isPermaLink='true'>http://klab.lv/users/mudaks/3817.html</guid>
  <pubDate>Fri, 03 May 2024 08:51:56 GMT</pubDate>
  <link>http://klab.lv/users/mudaks/3817.html</link>
  <description></description>
  <comments>http://klab.lv/users/mudaks/3817.html</comments>
</item>
<item>
  <guid isPermaLink='true'>http://klab.lv/users/mudaks/3559.html</guid>
  <pubDate>Wed, 03 Apr 2024 12:12:59 GMT</pubDate>
  <link>http://klab.lv/users/mudaks/3559.html</link>
  <description>&lt;a href=&quot;http://klab.lv/allpics.bml?user=siddharta&quot;&gt;http://klab.lv/allpics.bml?user=siddhar&lt;wbr /&gt;ta&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ko nozīmē &quot;geho&quot;? Ko šis lietotājs gribēja ar to teikt?</description>
  <comments>http://klab.lv/users/mudaks/3559.html</comments>
</item>
<item>
  <guid isPermaLink='true'>http://klab.lv/users/mudaks/3280.html</guid>
  <pubDate>Tue, 12 Sep 2023 09:56:40 GMT</pubDate>
  <title>LCF.user.js</title>
  <link>http://klab.lv/users/mudaks/3280.html</link>
  <description>// ==UserScript==&lt;br /&gt;// @name         LCF&lt;br /&gt;// @namespace    &lt;a href=&quot;https://gist.github.com/mindbound&quot;&gt;https://gist.github.com/mindbound&lt;/a&gt;&lt;br /&gt;// @version      0.5.3&lt;br /&gt;// @description  Applies user-defined filters to the latest posts page&lt;br /&gt;// @author       mindbound&lt;br /&gt;// @license      WTFPL; &lt;a href=&quot;http://www.wtfpl.net/&quot;&gt;http://www.wtfpl.net/&lt;/a&gt;&lt;br /&gt;// @match        &lt;a href=&quot;http://klab.lv/stats/latest.bml&quot;&gt;http://klab.lv/stats/latest.bml&lt;/a&gt;&lt;br /&gt;// @icon         data:image/png;base64,iVBORw0KGgoAAAANSU&lt;wbr /&gt;hEUgAAABAAAAAQCAYAAAAf8/9hAAAB7ElEQVQ4jW&lt;wbr /&gt;NgGF7AwEBA4M/zwPj/rwKX/3sesPb9Te/GqlSZ8h&lt;wbr /&gt;Q/oeJEb8HMSFe+SAdjXhsGBgY2DM0lUcI5O6ep/b&lt;wbr /&gt;x3yOb/g2MO/x+edP7/6LTL/wenXP4fWW36/8Q6s/8&lt;wbr /&gt;n15r8Pzhf+/+sMskdGAb05Mjlv9pm8P/tdq3/r7e&lt;wbr /&gt;q/3+1Re3/y00qGPj5OpX/m1plNqDrZ55Zpbvx3xn&lt;wbr /&gt;P/5/2Gv//tMfo/6e9Rv/f7dT9/2qz6v+Xm1T+P12&lt;wbr /&gt;j8v/hYtX/Dxaq/d9dp7yDgYGBCa47P0Kh8NdJz//f&lt;wbr /&gt;D1tjtRUd35un9r8xXCIRpp9l73STF//Pev1/s02L&lt;wbr /&gt;KAMeLVP9v6JA4RYDAwMjAysrg+GHA87//5xyJUrz&lt;wbr /&gt;y00q/x8uUf1/ql31PwMDgzEDJyeD9c/jbv9/HLUn&lt;wbr /&gt;2oC7c9T+X+vX+C/KzxzCwMDAwHdkjvH3j3uMidL8&lt;wbr /&gt;fL3K/+sTNf7vq1f+z8DAYAQJxBCBvmcblIky4M4s&lt;wbr /&gt;iO25HiK7kaORrT5JZPvzDbg1vtgA0Xy+S/1/qa/Y&lt;wbr /&gt;SQYGBlH0tMAR6cK3an2b1O8n6xCuebEREmgHmpX/1&lt;wbr /&gt;4WIv9WS4VjMwMAggi0rcLIwMLgwMzAk8HMzddjqc&lt;wbr /&gt;8z3teZZ6W7Is1RXln0KExNDPgsDgzsDA4M+AwMDO&lt;wbr /&gt;0wTAOkmi+x6U2zHAAAAAElFTkSuQmCC&lt;br /&gt;// @connect      &lt;a href=&quot;https://raw.githubusercontent.com&quot;&gt;https://raw.githubusercontent.com&lt;/a&gt;&lt;br /&gt;// @connect      &lt;a href=&quot;https://cdn.jsdelivr.net&quot;&gt;https://cdn.jsdelivr.net&lt;/a&gt;&lt;br /&gt;// @require      &lt;a href=&quot;https://raw.githubusercontent.com/mindbound/GM_config/master/gm_config.js&quot;&gt;https://raw.githubusercontent.com/mindb&lt;wbr /&gt;ound/GM_config/master/gm_config.js&lt;/a&gt;&lt;br /&gt;// @require      &lt;a href=&quot;https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@latest/dist/tf.min.js&quot;&gt;https://cdn.jsdelivr.net/npm/@tensorflo&lt;wbr /&gt;w/tfjs@latest/dist/tf.min.js&lt;/a&gt;&lt;br /&gt;// @grant        GM_xmlhttpRequest&lt;br /&gt;// @grant        GM_getValue&lt;br /&gt;// @grant        GM_setValue&lt;br /&gt;// @grant        GM_registerMenuCommand&lt;br /&gt;// @run-at       document-end&lt;br /&gt;// ==/UserScript==&lt;br /&gt;&lt;br /&gt;&quot;use strict&quot;;&lt;br /&gt;&lt;br /&gt;let model;&lt;br /&gt;let isTFBackendInitialized = false;&lt;br /&gt;&lt;br /&gt;const MODEL_NAME = &quot;LCF&quot;;&lt;br /&gt;const MODEL_URL = &quot;&lt;a href=&quot;https://raw.githubusercontent.com/mindbound/LCF/master/model/model.json&quot;&gt;https://raw.githubusercontent.com/mind&lt;wbr /&gt;bound/LCF/master/model/model.json&lt;/a&gt;&quot;;&lt;br /&gt;const MODEL_VERSION_URL = &quot;&lt;a href=&quot;https://raw.githubusercontent.com/mindbound/LCF/master/model/model_version.txt&quot;&gt;https://raw.githubusercontent.com/mind&lt;wbr /&gt;bound/LCF/master/model/model_version.txt&lt;/a&gt;&lt;wbr /&gt;&quot;&lt;br /&gt;const MODEL_PROD = true;&lt;br /&gt;&lt;br /&gt;const chars = &quot;abcdefghijklmnopqrstuvwxyz0123456789_&quot;;&lt;wbr /&gt;&lt;br /&gt;const charToInt = {};&lt;br /&gt;&lt;br /&gt;for (let i = 0; i &amp;lt; chars.length; i++) {&lt;br /&gt;    charToInt[chars[i]] = i + 1;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;const cfg = new GM_configStruct({&lt;br /&gt;    id: &quot;LCFConfig&quot;,&lt;br /&gt;    title: `&lt;br /&gt;        &lt;p class=&quot;lcftitle&quot;&gt;&lt;br /&gt;            &lt;a href=&quot;https://bit.ly/3Dhqkwl&quot;&gt;LCF ${GM_info.script.version}&lt;/a&gt;&lt;br /&gt;        &lt;/p&gt;&lt;br /&gt;    `,&lt;br /&gt;    events: {&lt;br /&gt;        open: function () {&lt;br /&gt;            makeDraggable(LCFConfig, LCFConfig_header);&lt;br /&gt;            LCFConfig_header.style.cursor = &quot;move&quot;;&lt;br /&gt;        },&lt;br /&gt;        save: function () {&lt;br /&gt;            applyFilters();&lt;br /&gt;        }&lt;br /&gt;    },&lt;br /&gt;    fields: {&lt;br /&gt;        filterList: {&lt;br /&gt;            section: [&quot;Filter List&quot;, &quot;A list of user accounts to filter&quot;],&lt;br /&gt;            type: &quot;textarea&quot;,&lt;br /&gt;            default: &quot;&quot;,&lt;br /&gt;            save: true&lt;br /&gt;        },&lt;br /&gt;        filterNew: {&lt;br /&gt;            label: &quot;Filter all new users&quot;,&lt;br /&gt;            section: [&quot;Options&quot;, &quot;Additional filters and settings&quot;],&lt;br /&gt;            type: &quot;checkbox&quot;,&lt;br /&gt;            default: false,&lt;br /&gt;            save: true&lt;br /&gt;        },&lt;br /&gt;        filterImages: {&lt;br /&gt;            label: &quot;Filter all images&quot;,&lt;br /&gt;            type: &quot;checkbox&quot;,&lt;br /&gt;            default: false,&lt;br /&gt;            save: true&lt;br /&gt;        },&lt;br /&gt;        filterWithML: {&lt;br /&gt;            label: &quot;ML-assisted filter&quot;,&lt;br /&gt;            type: &quot;checkbox&quot;,&lt;br /&gt;            default: false,&lt;br /&gt;            save: true&lt;br /&gt;        }&lt;br /&gt;    },&lt;br /&gt;    frame: document.body.appendChild(document.creat&lt;wbr /&gt;eElement(&quot;div&quot;)),&lt;br /&gt;    css: `&lt;br /&gt;        #LCFConfig {&lt;br /&gt;            font-size: 13px;&lt;br /&gt;			background-color: #f3f6f4;&lt;br /&gt;			position: relative;&lt;br /&gt;            width: 350px;&lt;br /&gt;            margin: 0 auto;&lt;br /&gt;		}&lt;br /&gt;		#LCFConfig textarea {&lt;br /&gt;			font-family: monospace;&lt;br /&gt;			margin-left: auto;&lt;br /&gt;			margin-right: auto;&lt;br /&gt;			-webkit-box-sizing: border-box;&lt;br /&gt;			-moz-box-sizing: border-box;&lt;br /&gt;			box-sizing: border-box;&lt;br /&gt;			width: 100%;&lt;br /&gt;			height: 325px;&lt;br /&gt;			resize: none;&lt;br /&gt;			font-size: 12px;&lt;br /&gt;		}&lt;br /&gt;		#LCFConfig_header p.lcftitle {&lt;br /&gt;			font-size: 20px;&lt;br /&gt;			font-weight: bold;&lt;br /&gt;			margin-bottom: 20px;&lt;br /&gt;            user-select: none;&lt;br /&gt;            padding: 0px;&lt;br /&gt;		}&lt;br /&gt;		#LCFConfig .config_var {&lt;br /&gt;			position: relative;&lt;br /&gt;		}&lt;br /&gt;		#LCFConfig .field_label {&lt;br /&gt;			width: 100%;&lt;br /&gt;			padding-right: 30px;&lt;br /&gt;			box-sizing: border-box;&lt;br /&gt;            user-select: none;&lt;br /&gt;		}&lt;br /&gt;        #LCFConfig .field_label label {&lt;br /&gt;            font-size: 14px;&lt;br /&gt;        }&lt;br /&gt;        #LCFConfig .section_header {&lt;br /&gt;            font-size: 18px;&lt;br /&gt;            font-weight: bold;&lt;br /&gt;            user-select: none;&lt;br /&gt;        }&lt;br /&gt;        #LCFConfig .section_desc {&lt;br /&gt;            font-size: 14px;&lt;br /&gt;            font-style: italic;&lt;br /&gt;            user-select: none;&lt;br /&gt;        }&lt;br /&gt;		#LCFConfig input[type=&quot;checkbox&quot;] {&lt;br /&gt;			position: absolute;&lt;br /&gt;			right: 250px;&lt;br /&gt;			top: 50%;&lt;br /&gt;			transform: translateY(-70%);&lt;br /&gt;		}&lt;br /&gt;        #LCFConfig .saveclose_buttons {&lt;br /&gt;            font-size: 14px;&lt;br /&gt;            padding: 5px 10px;&lt;br /&gt;        }&lt;br /&gt;        #LCFConfig .reset {&lt;br /&gt;            user-select: none;&lt;br /&gt;        }&lt;br /&gt;    `&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;function makeDraggable(element, handle) {&lt;br /&gt;    if (!element) {&lt;br /&gt;        return;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    let mdX = 0, mdY = 0, mdeX = 0, mdeY = 0;&lt;br /&gt;&lt;br /&gt;    const onMouseMove = (evt) =&amp;gt; {&lt;br /&gt;        element.style.left = `${mdeX + evt.clientX - mdX}px`;&lt;br /&gt;        element.style.top = `${mdeY + evt.clientY - mdY}px`;&lt;br /&gt;    };&lt;br /&gt;&lt;br /&gt;    const onMouseUp = () =&amp;gt; {&lt;br /&gt;        document.removeEventListener(&quot;mousemove&quot;&lt;wbr /&gt;, onMouseMove);&lt;br /&gt;        document.removeEventListener(&quot;mouseup&quot;, onMouseUp);&lt;br /&gt;    };&lt;br /&gt;&lt;br /&gt;    (handle ?? element).addEventListener(&quot;mousedown&quot;, function (evt) {&lt;br /&gt;        evt.preventDefault();&lt;br /&gt;        this.style.userSelect = &quot;none&quot;;&lt;br /&gt;        mdX = evt.clientX;&lt;br /&gt;        mdY = evt.clientY;&lt;br /&gt;        mdeX = element.offsetLeft;&lt;br /&gt;        mdeY = element.offsetTop;&lt;br /&gt;&lt;br /&gt;        document.addEventListener(&quot;mousemove&quot;, onMouseMove);&lt;br /&gt;        document.addEventListener(&quot;mouseup&quot;, onMouseUp);&lt;br /&gt;    });&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function usernameToSequence(username, maxLength) {&lt;br /&gt;    let sequence = [];&lt;br /&gt;&lt;br /&gt;    for (let char of username) {&lt;br /&gt;        if (charToInt[char]) {&lt;br /&gt;            sequence.push(charToInt[char]);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    return sequence.concat(Array(maxLength - sequence.length).fill(0));&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;async function fetchRemoteModelVersion() {&lt;br /&gt;    try {&lt;br /&gt;        const response = await fetch(MODEL_VERSION_URL);&lt;br /&gt;&lt;br /&gt;        if (!response.ok) {&lt;br /&gt;            throw new Error(`Failed to fetch model version: ${response.statusText}`);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        const version = await response.text();&lt;br /&gt;&lt;br /&gt;        return version.trim();&lt;br /&gt;    } catch (error) {&lt;br /&gt;        console.error(`Error fetching remote model version: ${error}`);&lt;br /&gt;&lt;br /&gt;        return null;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;async function initializeTFBackend() {&lt;br /&gt;    if (typeof tf === &quot;undefined&quot;) {&lt;br /&gt;        console.error(&quot;TensorFlow.js is not loaded&quot;);&lt;br /&gt;&lt;br /&gt;        return;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    if (MODEL_PROD) {&lt;br /&gt;        await tf.enableProdMode();&lt;br /&gt;    } else {&lt;br /&gt;        await tf.enableDebugMode();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    const isWebGLAvailable = await tf.setBackend(&quot;webgl&quot;);&lt;br /&gt;&lt;br /&gt;    if (isWebGLAvailable) {&lt;br /&gt;        await tf.ready();&lt;br /&gt;&lt;br /&gt;        return;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    console.warn(&quot;Failed to set the WebGL backend for TensorFlow.js&quot;);&lt;br /&gt;&lt;br /&gt;    const isWASMAvailable = await tf.setBackend(&quot;wasm&quot;);&lt;br /&gt;&lt;br /&gt;    if (isWASMAvailable) {&lt;br /&gt;        await tf.ready();&lt;br /&gt;&lt;br /&gt;        return;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    console.warn(&quot;Failed to set the WASM backend for TensorFlow.js&quot;);&lt;br /&gt;&lt;br /&gt;    const isCPUAvailable = await tf.setBackend(&quot;cpu&quot;);&lt;br /&gt;&lt;br /&gt;    if (isCPUAvailable) {&lt;br /&gt;        await tf.ready();&lt;br /&gt;&lt;br /&gt;        return;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    console.warn(&quot;Failed to set the CPU backend for TensorFlow.js&quot;);&lt;br /&gt;    console.error(&quot;No suitable backend available&quot;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function applyFilterList(fl) {&lt;br /&gt;    if (fl.length === 0) {&lt;br /&gt;        return;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    const regexPatterns = fl.map(s =&amp;gt; new RegExp(`\\b${s.replace(&quot;*&quot;, &quot;.*&quot;)}\\b`));&lt;br /&gt;    const rows = Array.from(document.querySelectorAll(&quot;tr[v&lt;wbr /&gt;align=&apos;top&apos;]&quot;));&lt;br /&gt;    const rowsToRemove = [];&lt;br /&gt;&lt;br /&gt;    for (let tr of rows) {&lt;br /&gt;        const href = tr?.querySelector(&quot;td:nth-child(2) span.ljuser a&quot;)?.getAttribute(&quot;href&quot;) ?? &quot;&quot;;&lt;br /&gt;&lt;br /&gt;        for (let pattern of regexPatterns) {&lt;br /&gt;            if (pattern.test(href)) {&lt;br /&gt;                rowsToRemove.push(tr);&lt;br /&gt;                break;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    for (let row of rowsToRemove) {&lt;br /&gt;        row.parentNode?.removeChild(row);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function applySpamFilter() {&lt;br /&gt;    let filterList = cfg.get(&quot;filterList&quot;);&lt;br /&gt;&lt;br /&gt;    if (typeof filterList !== &quot;string&quot;) {&lt;br /&gt;        console.error(&quot;Unexpected filter list format&quot;);&lt;br /&gt;&lt;br /&gt;        return;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    filterList = filterList.split(&quot;\n&quot;).map(e =&amp;gt; e.trim()).filter(e =&amp;gt; e.length &amp;gt; 0);&lt;br /&gt;    applyFilterList(filterList);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function applyNewUsersFilter() {&lt;br /&gt;    fetch(&quot;&lt;a href=&quot;http://klab.lv/stats.bml&quot;&gt;http://klab.lv/stats.bml&lt;/a&gt;&quot;)&lt;br /&gt;    .then((res) =&amp;gt; {&lt;br /&gt;        if (!res.ok) {&lt;br /&gt;            throw new Error(`Bad network response: ${res.statusText}`);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        return res.text();&lt;br /&gt;    })&lt;br /&gt;    .then((data) =&amp;gt; {&lt;br /&gt;        try {&lt;br /&gt;            const dom = new DOMParser().parseFromString(data, &quot;text/html&quot;);&lt;br /&gt;            const filterList = Array.from(&lt;br /&gt;                dom.querySelectorAll(&quot;ul:nth-of-type(5) a&quot;)&lt;br /&gt;            ).map((a) =&amp;gt; {&lt;br /&gt;                const match = /([^\/]+)\/$/.exec(a.getAttribute(&quot;href&quot;&lt;wbr /&gt;));&lt;br /&gt;&lt;br /&gt;                if (!match) {&lt;br /&gt;                    throw new Error(&quot;Unexpected URL format&quot;);&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;                return match[1];&lt;br /&gt;            });&lt;br /&gt;&lt;br /&gt;            applyFilterList(filterList);&lt;br /&gt;        } catch (parseError) {&lt;br /&gt;            console.error(`Error while parsing or processing the data: ${parseError}`);&lt;br /&gt;        }&lt;br /&gt;    })&lt;br /&gt;    .catch((fetchError) =&amp;gt; {&lt;br /&gt;        console.error(`Error in fetch operation: ${fetchError}`);&lt;br /&gt;    });&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function applyImagesFilter() {&lt;br /&gt;    const images = document.querySelectorAll(&quot;img&quot;);&lt;br /&gt;&lt;br /&gt;    if (images.length === 0) {&lt;br /&gt;        return;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    const imagesToHide = [];&lt;br /&gt;&lt;br /&gt;    images.forEach((img) =&amp;gt; {&lt;br /&gt;        imagesToHide.push(img);&lt;br /&gt;    });&lt;br /&gt;&lt;br /&gt;    imagesToHide.forEach((img) =&amp;gt; {&lt;br /&gt;        img.style.display = &quot;none&quot;;&lt;br /&gt;    });&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;async function applyMLFilter() {&lt;br /&gt;    try {&lt;br /&gt;        if (!isTFBackendInitialized) {&lt;br /&gt;            await initializeTFBackend();&lt;br /&gt;            isTFBackendInitialized = true;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        const localVersion = localStorage.getItem(&quot;modelVersion&quot;);&lt;br /&gt;        const remoteVersion = await fetchRemoteModelVersion();&lt;br /&gt;&lt;br /&gt;        if (!localStorage[`tensorflowjs_models/${MO&lt;wbr /&gt;DEL_NAME}/model_topology`] || (remoteVersion &amp;&amp; (!localVersion || remoteVersion &amp;gt; localVersion))) {&lt;br /&gt;            model = await tf.loadLayersModel(MODEL_URL);&lt;br /&gt;            await model.save(`localstorage://${MODEL_NAME}&lt;wbr /&gt;`);&lt;br /&gt;            localStorage.setItem(&quot;modelVersion&quot;, remoteVersion);&lt;br /&gt;        } else if (!model) {&lt;br /&gt;            model = await tf.loadLayersModel(`localstorage://${MOD&lt;wbr /&gt;EL_NAME}`);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        const response = await fetch(&quot;&lt;a href=&quot;http://klab.lv/stats/latest.bml&quot;&gt;http://klab.lv/stats/latest.bml&lt;/a&gt;&lt;wbr /&gt;&quot;);&lt;br /&gt;&lt;br /&gt;        if (!response.ok) {&lt;br /&gt;            throw new Error(`Bad network response: ${response.statusText}`);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        const data = await response.text();&lt;br /&gt;        const maxLength = 16;&lt;br /&gt;        const regex = /&lt;span class=&quot;ljuser&quot; style=&quot;white-space: nowrap;&quot;&gt;.*?&lt;b&gt;(.*?)&amp;lt;\/b&amp;gt;&amp;lt;\/a&amp;gt;&amp;lt;\/span&amp;gt;/g;&lt;br /&gt;        const usernames = [];&lt;br /&gt;        let match;&lt;br /&gt;&lt;br /&gt;        while ((match = regex.exec(data)) !== null) {&lt;br /&gt;            usernames.push(match[1]);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        const usernameSequences = usernames.map(username =&amp;gt; usernameToSequence(username, maxLength));&lt;br /&gt;&lt;br /&gt;        tf.tidy(() =&amp;gt; {&lt;br /&gt;            const inputTensor = tf.tensor(usernameSequences);&lt;br /&gt;            const outputTensor = model.predict(inputTensor);&lt;br /&gt;            outputTensor.data().then(predictions =&amp;gt; {&lt;br /&gt;                const filterList = usernames.filter((username, idx) =&amp;gt; predictions[idx] &amp;gt; 0.5);&lt;br /&gt;                applyFilterList(filterList);&lt;br /&gt;            });&lt;br /&gt;        });&lt;br /&gt;    } catch (error) {&lt;br /&gt;        console.error(`Error in ML filter: ${error}`);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function applyFilters() {&lt;br /&gt;    applySpamFilter();&lt;br /&gt;    cfg.get(&quot;filterNew&quot;) &amp;&amp; applyNewUsersFilter();&lt;br /&gt;    cfg.get(&quot;filterImages&quot;) &amp;&amp; applyImagesFilter();&lt;br /&gt;    cfg.get(&quot;filterWithML&quot;) &amp;&amp; applyMLFilter();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function openConfig() {&lt;br /&gt;    cfg.open();&lt;br /&gt;    LCFConfig.style = `&lt;br /&gt;        height: 75%;&lt;br /&gt;        max-height: 620px;&lt;br /&gt;        top: calc(50% - 350px);&lt;br /&gt;        width: 400px;&lt;br /&gt;        left: calc(50% - 150px);&lt;br /&gt;        border: 1px solid #000000;&lt;br /&gt;        border-radius: 5px;&lt;br /&gt;        margin: 0px;&lt;br /&gt;        opacity: 1.0;&lt;br /&gt;        overflow: auto;&lt;br /&gt;        padding: 10px;&lt;br /&gt;        position: fixed;&lt;br /&gt;        z-index: 65536;&lt;br /&gt;        display: block;&lt;br /&gt;        right: auto;&lt;br /&gt;        bottom: auto;&lt;br /&gt;    `;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;(function () {&lt;br /&gt;    GM_registerMenuCommand(&quot;Settings&quot;, openConfig);&lt;br /&gt;    applyFilters();&lt;br /&gt;})();&lt;/span&gt;&lt;/b&gt;</description>
  <comments>http://klab.lv/users/mudaks/3280.html</comments>
</item>
<item>
  <guid isPermaLink='true'>http://klab.lv/users/mudaks/2973.html</guid>
  <pubDate>Tue, 12 Sep 2023 09:55:09 GMT</pubDate>
  <link>http://klab.lv/users/mudaks/2973.html</link>
  <description>eu, kas notiek ar cibu? :(</description>
  <comments>http://klab.lv/users/mudaks/2973.html</comments>
</item>
<item>
  <guid isPermaLink='true'>http://klab.lv/users/mudaks/2572.html</guid>
  <pubDate>Fri, 18 Nov 2022 18:25:36 GMT</pubDate>
  <link>http://klab.lv/users/mudaks/2572.html</link>
  <description>OK es izlasīju visu par to Mastodon, bet neko nesapratu. kā man viņu lietot</description>
  <comments>http://klab.lv/users/mudaks/2572.html</comments>
</item>
<item>
  <guid isPermaLink='true'>http://klab.lv/users/mudaks/2449.html</guid>
  <pubDate>Sat, 20 Aug 2022 22:51:41 GMT</pubDate>
  <link>http://klab.lv/users/mudaks/2449.html</link>
  <description>eu, bet tas grieztais siers nav nemaz tik slikts!</description>
  <comments>http://klab.lv/users/mudaks/2449.html</comments>
</item>
<item>
  <guid isPermaLink='true'>http://klab.lv/users/mudaks/2068.html</guid>
  <pubDate>Mon, 15 Aug 2022 20:00:39 GMT</pubDate>
  <link>http://klab.lv/users/mudaks/2068.html</link>
  <description>to jau vairāk nevar izturēt! nu viss, man arī vajag lielo cibas filtru. pastāstiet kāds man, stulbenim, kā to uzlikt. :) es lejuplādēju to failu, mēģināju atvērt ar firefox. tad skatījos latests, bet viss pa vecam. nu kā?</description>
  <comments>http://klab.lv/users/mudaks/2068.html</comments>
</item>
<item>
  <guid isPermaLink='true'>http://klab.lv/users/mudaks/1903.html</guid>
  <pubDate>Mon, 06 Dec 2021 23:12:25 GMT</pubDate>
  <link>http://klab.lv/users/mudaks/1903.html</link>
  <description>// ==UserScript==&lt;br /&gt;// @name         LCF&lt;br /&gt;// @namespace    &lt;a href=&quot;https://gist.github.com/mindbound&quot;&gt;https://gist.github.com/mindbound&lt;/a&gt;&lt;br /&gt;// @version      0.3.5&lt;br /&gt;// @description  Filters out idiots and spammers in the latest posts page&lt;br /&gt;// @author       mindbound&lt;br /&gt;// @license      WTFPL; &lt;a href=&quot;http://www.wtfpl.net/&quot;&gt;http://www.wtfpl.net/&lt;/a&gt;&lt;br /&gt;// @match        &lt;a href=&quot;http://klab.lv/stats/latest.bml&quot;&gt;http://klab.lv/stats/latest.bml&lt;/a&gt;&lt;br /&gt;// @icon         data:image/png;base64,iVBORw0KGgoAAAANSU&lt;wbr /&gt;hEUgAAABAAAAAQCAYAAAAf8/9hAAAB7ElEQVQ4jW&lt;wbr /&gt;NgGF7AwEBA4M/zwPj/rwKX/3sesPb9Te/GqlSZ8h&lt;wbr /&gt;Q/oeJEb8HMSFe+SAdjXhsGBgY2DM0lUcI5O6ep/b&lt;wbr /&gt;x3yOb/g2MO/x+edP7/6LTL/wenXP4fWW36/8Q6s/8&lt;wbr /&gt;n15r8Pzhf+/+sMskdGAb05Mjlv9pm8P/tdq3/r7e&lt;wbr /&gt;q/3+1Re3/y00qGPj5OpX/m1plNqDrZ55Zpbvx3xn&lt;wbr /&gt;P/5/2Gv//tMfo/6e9Rv/f7dT9/2qz6v+Xm1T+P12&lt;wbr /&gt;j8v/hYtX/Dxaq/d9dp7yDgYGBCa47P0Kh8NdJz//f&lt;wbr /&gt;D1tjtRUd35un9r8xXCIRpp9l73STF//Pev1/s02L&lt;wbr /&gt;KAMeLVP9v6JA4RYDAwMjAysrg+GHA87//5xyJUrz&lt;wbr /&gt;y00q/x8uUf1/ql31PwMDgzEDJyeD9c/jbv9/HLUn&lt;wbr /&gt;2oC7c9T+X+vX+C/KzxzCwMDAwHdkjvH3j3uMidL8&lt;wbr /&gt;fL3K/+sTNf7vq1f+z8DAYAQJxBCBvmcblIky4M4s&lt;wbr /&gt;iO25HiK7kaORrT5JZPvzDbg1vtgA0Xy+S/1/qa/Y&lt;wbr /&gt;SQYGBlH0tMAR6cK3an2b1O8n6xCuebEREmgHmpX/1&lt;wbr /&gt;4WIv9WS4VjMwMAggi0rcLIwMLgwMzAk8HMzddjqc&lt;wbr /&gt;8z3teZZ6W7Is1RXln0KExNDPgsDgzsDA4M+AwMDO&lt;wbr /&gt;0wTAOkmi+x6U2zHAAAAAElFTkSuQmCC&lt;br /&gt;// @require      &lt;a href=&quot;https://raw.githubusercontent.com/sizzlemctwizzle/GM_config/master/gm_config.js&quot;&gt;https://raw.githubusercontent.com/sizzl&lt;wbr /&gt;emctwizzle/GM_config/master/gm_config.js&lt;/a&gt;&lt;wbr /&gt;&lt;br /&gt;// @grant        GM_getValue&lt;br /&gt;// @grant        GM_setValue&lt;br /&gt;// @grant        GM_registerMenuCommand&lt;br /&gt;// @run-at       document-end&lt;br /&gt;// ==/UserScript==&lt;br /&gt;&lt;br /&gt;&quot;use strict&quot;;&lt;br /&gt;&lt;br /&gt;const cfg = new GM_configStruct({&lt;br /&gt;    id: &quot;LCFConfig&quot;,&lt;br /&gt;    title: `&lt;br /&gt;        &lt;p class=&quot;lcftitle&quot;&gt;&lt;br /&gt;            &lt;a href=&quot;https://bit.ly/3Dhqkwl&quot;&gt;LCF&lt;/a&gt;&lt;br /&gt;        &lt;/p&gt;&lt;br /&gt;    `,&lt;br /&gt;    events: {&lt;br /&gt;        open: function () {&lt;br /&gt;            makeDraggable(LCFConfig, LCFConfig_header);&lt;br /&gt;            LCFConfig_header.style.cursor = &quot;move&quot;;&lt;br /&gt;        },&lt;br /&gt;        save: function () {&lt;br /&gt;            apply();&lt;br /&gt;        }&lt;br /&gt;    },&lt;br /&gt;    fields: {&lt;br /&gt;        filterList: {&lt;br /&gt;            section: [&quot;Filter List&quot;, &quot;Create a list of user accounts to filter&quot;],&lt;br /&gt;            type: &quot;textarea&quot;,&lt;br /&gt;            default: &quot;&quot;,&lt;br /&gt;            save: true&lt;br /&gt;        }&lt;br /&gt;    },&lt;br /&gt;    frame: document.body.appendChild(document.creat&lt;wbr /&gt;eElement(&quot;div&quot;)),&lt;br /&gt;    css: `&lt;br /&gt;        #LCFConfig {&lt;br /&gt;            background-color: #f3f6f4;&lt;br /&gt;        }&lt;br /&gt;        #LCFConfig textarea {&lt;br /&gt;            margin-left: auto;&lt;br /&gt;            margin-right: auto;&lt;br /&gt;            -webkit-box-sizing: border-box;&lt;br /&gt;            -moz-box-sizing: border-box;&lt;br /&gt;            box-sizing: border-box;&lt;br /&gt;            width: 100%;&lt;br /&gt;            height: 325px;&lt;br /&gt;            resize: none;&lt;br /&gt;            font-size: 12px;&lt;br /&gt;        }&lt;br /&gt;        #LCFConfig_header p.lcftitle {&lt;br /&gt;            font-size: 20px;&lt;br /&gt;            font-weight: bold;&lt;br /&gt;            margin-bottom: 20px;&lt;br /&gt;        }&lt;br /&gt;    `&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;function makeDraggable(element, handle) {&lt;br /&gt;    if (!element) {&lt;br /&gt;        return;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    let mdX = 0, mdY = 0, mdeX = 0, mdeY = 0;&lt;br /&gt;&lt;br /&gt;    (handle ?? element).onmousedown = function (event) {&lt;br /&gt;        this.style.userSelect = &quot;none&quot;;&lt;br /&gt;        mdX = event.clientX;&lt;br /&gt;        mdY = event.clientY;&lt;br /&gt;        mdeX = element.offsetLeft;&lt;br /&gt;        mdeY = element.offsetTop;&lt;br /&gt;        onmouseup = () =&amp;gt; {&lt;br /&gt;            onmousemove = null;&lt;br /&gt;            this.style.userSelect = &quot;&quot;;&lt;br /&gt;        };&lt;br /&gt;        onmousemove = (evt) =&amp;gt; {&lt;br /&gt;            element.style.left = `${mdeX + evt.clientX - mdX}px`;&lt;br /&gt;            element.style.top = `${mdeY + evt.clientY - mdY}px`;&lt;br /&gt;        };&lt;br /&gt;    };&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function apply() {&lt;br /&gt;    const filterList = cfg.get(&quot;filterList&quot;).split(&quot;\n&quot;).filter(&lt;wbr /&gt;(e) =&amp;gt; e.length &amp;gt; 0);&lt;br /&gt;&lt;br /&gt;    if (filterList.length !== 0) {&lt;br /&gt;        for (let tr of document.querySelectorAll(&quot;tr[valign=&apos;to&lt;wbr /&gt;p&apos;]&quot;)) {&lt;br /&gt;            if (filterList.some(&lt;br /&gt;                (s) =&amp;gt; tr&lt;br /&gt;                .querySelectorAll(&quot;td&quot;)[1]&lt;br /&gt;                .querySelector(&quot;span.ljuser&quot;)&lt;br /&gt;                .getElementsByTagName(&quot;a&quot;)[0]&lt;br /&gt;                .getAttribute(&quot;href&quot;)&lt;br /&gt;                .includes(s)&lt;br /&gt;            )) {&lt;br /&gt;                tr.parentNode.removeChild(tr);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function openConfig() {&lt;br /&gt;    cfg.open();&lt;br /&gt;    LCFConfig.style = `&lt;br /&gt;        height: 75%;&lt;br /&gt;        max-height: 500px;&lt;br /&gt;        top: calc(50% - 200px);&lt;br /&gt;        width: 300px;&lt;br /&gt;        left: calc(50% - 150px);&lt;br /&gt;        border: 1px solid #000000;&lt;br /&gt;        border-radius: 5px;&lt;br /&gt;        margin: 0px;&lt;br /&gt;        opacity: 1.0;&lt;br /&gt;        overflow: auto;&lt;br /&gt;        padding: 10px;&lt;br /&gt;        position: fixed;&lt;br /&gt;        z-index: 65536;&lt;br /&gt;        display: block;&lt;br /&gt;        right: auto;&lt;br /&gt;        bottom: auto;&lt;br /&gt;    `;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;(function () {&lt;br /&gt;    GM_registerMenuCommand(&quot;Settings&quot;, openConfig);&lt;br /&gt;    apply();&lt;br /&gt;})();</description>
  <comments>http://klab.lv/users/mudaks/1903.html</comments>
</item>
<item>
  <guid isPermaLink='true'>http://klab.lv/users/mudaks/1751.html</guid>
  <pubDate>Mon, 06 Dec 2021 23:07:02 GMT</pubDate>
  <link>http://klab.lv/users/mudaks/1751.html</link>
  <description>Nu labi, tagad tas tomēr būs jādara. Kā man uzlikt to Lielo Cibas Filtru. Es skatijos to mindbond pamācību, nokopēju to kodu, bet kur man viņš jāliek? Cibā lietotāja informācijā?</description>
  <comments>http://klab.lv/users/mudaks/1751.html</comments>
</item>
<item>
  <guid isPermaLink='true'>http://klab.lv/users/mudaks/1427.html</guid>
  <pubDate>Fri, 11 Dec 2020 14:45:29 GMT</pubDate>
  <link>http://klab.lv/users/mudaks/1427.html</link>
  <description>Pirmo reizi par tādu Kimu Kiduku dzirdu. Ar ko gan viņš tik slavens?</description>
  <comments>http://klab.lv/users/mudaks/1427.html</comments>
</item>
<item>
  <guid isPermaLink='true'>http://klab.lv/users/mudaks/864.html</guid>
  <pubDate>Thu, 14 Jun 2007 11:40:22 GMT</pubDate>
  <link>http://klab.lv/users/mudaks/864.html</link>
  <description>Es aizgāju uz to torrentspy.com. Bet kā tur tās filmas var skatīties?</description>
  <comments>http://klab.lv/users/mudaks/864.html</comments>
</item>
<item>
  <guid isPermaLink='true'>http://klab.lv/users/mudaks/663.html</guid>
  <pubDate>Thu, 14 Jun 2007 11:39:18 GMT</pubDate>
  <link>http://klab.lv/users/mudaks/663.html</link>
  <description>Eu, a kā ielikt Cibā bildi?</description>
  <comments>http://klab.lv/users/mudaks/663.html</comments>
</item>
<item>
  <guid isPermaLink='true'>http://klab.lv/users/mudaks/452.html</guid>
  <pubDate>Sat, 02 Jun 2007 11:54:25 GMT</pubDate>
  <title>D</title>
  <link>http://klab.lv/users/mudaks/452.html</link>
  <description>Es esmu mudaks.</description>
  <comments>http://klab.lv/users/mudaks/452.html</comments>
</item>
</channel>
</rss>
