Catalog(/tech/)

Technology


Name
X
Subject
Email
Message
Files
Password
[New Post]


Questions that don't deserve their own thread
If you have a /tech/ related question that doesn't need much discussion, post it in here.
Deepfakes/Synthspeech/Deeplearning Thread
I just spent 8 hours getting a voice cloning program working. It's slow and clunky and missing some real basic features, but it's still super interesting.
Is Fakeapp still circulating? Is it any good?
https://paintschainer.preferred.tech/index_en.html
https://thispersondoesnotexist.com
https://www.thiswaifudoesnotexist.net
Hey, so I wanted a tool to help with migrating my imageboard around. I used the approach of making copies of threads by hand, but I wanted something more powerful and much simpler to use. With the upcoming opening of 8kun, I figured it might be of interest to other anons to also use a tool like this. Sadly, my progress to date only includes my hand-written C++ code, not a fully pre-packaged piece of software for general users. So, atm this will only be of any practical interest to anons who can compile C++ and install needed dependencies. If that's you, then read on.

While I plan to create a GUI for this tool at a later point, for now it's a command-only tool. You run it simply by supplying the site name followed by the board name. For example:
./archbot julay.world robowaifu
would download the catalog's json & html, every thread's json & html, and every thread's media files (images, audio, video, pdfs, etc) to a local copy in whatever directory you ran the command from, for the /robowaifu/ board on julay.

Make any requests for features if you think of something. Also, feel free to ask any questions about the code itself or suggestions for improvements. Right now this works for any board on any Lynxchan -based site, since that's where I started all this. I plan to get it working for 8kun next, and here at fatchan, smug & animu bunker. That should cover most IB software types at that point.
I aim to install a distro with following specifications:
- modern drivers for Radeon display adapters e.g. AMDGPU
- no systemd/GNOME3/pulseaudio with horrible defaults
- better documentation than devuan
Any suggestions? Considering gentoo, funtoo, guix, slackware for starters. I avoided Arch since it defaults to systemd - leading to unnecessary dependencies that can be potentially incompatible with a minimalist init. I wonder if that can be mitigated, since Arch seems very fun to tinker with.
Another imageboard software enters the fray https://gitgud.io/rb/FinalSolution written in python.
Julay's admin Robi just posted this. What do you think, how far will it go and will it take off? He has good coding knowledge based on his efforts at Julay.
Who here uses Hydrus?
Because SHA3 is complete and utter garbage.
If I have to recommend a hash algorithm, I would choose BLAKE2, or if people want to have something fresh, BMW, SHABAL and skein (in decreasing order of speed).
Even though ECHO and Shavite3 is fast (faster than BLAKE2, as fast as BMW) they rely on AES instruction sets which makes them useless in ceratin cases.
I would never recommend CubeHash (not even CubeHash832) as the person making it was a fucking troll.
WHERE THE FUCK IS EVERYONE????

WHY IS THIS SO DEAD???

WHERE IS MY /tech/???

Is there another bunker I should know of? I know /tech/ was never the most popular board on 8ch, but it was a lot more populated than this.
I made a net socket server that runs on named IPC pipes, to expose a server only on a local server.
Server:
'use strict';
const net = require("net");
const path = require("path");

class IPCSocket {
    constructor(socket) {
        this.socket = socket;

        this.socket.on("end", ()=>this.endHandler());
        this.socket.on("error", (err)=>this.errorHandler(err));
        this.socket.on("data", (data)=>this.dataHandler(data));
        this.rooms = {};

        this.join("sys", this.systemHandler);
    }

    join(room, cb) { this.rooms[room] = cb; }

    leave(room) { delete this.rooms[room]; }

    send(room, data) { this.socket.write(JSON.stringify({room: room, data: data})); }

    systemHandler(data) {
        console.log("Received system message");
        console.log(data);
    }

    errorHandler(err) {
        console.log(err);
    }

    endHandler() {
        console.log("connection closed");
    }

    dataHandler(data) {
        try {
            data = JSON.parse(data);
            if(this.rooms[data.room]) this.rooms[data.room](data.data);
        } catch (err) {
            this.errorHandler(err);
        }
    }
}

module.exports = class IPCServer {
    constructor(pipeName) {
        this.server = net.createServer(this.socketHandler);

        this.server.on("error", (err)=>this.errorHandler(err));

        this.server.listen(path.join(
            "\\\\?\\pipe", process.cwd(), pipeName
        ), ()=>{
            console.log("[] IPC server is listening");
        });
    }

    errorHandler(err) {
        console.log(err);
    }

    socketHandler(socket) {
        new IPCSocket(socket);
    }
};
language: javascript, relevance: 68
Client:
'use strict';
const net = require("net");
const path = require("path");

module.exports = class IPCClient {
    constructor(pipeName) {
        this.client = net.createConnection(path.join(
            "\\\\?\\pipe", process.cwd(), pipeName
        ), ()=>{
            console.log("[] IPC socket is connected");
        });

        this.client.on("end", ()=>this.endHandler());
        this.client.on("error", (err)=>this.errorHandler(err));
        this.client.on("data", (data)=>this.dataHandler(data));

        this.rooms = {};

        this.join("sys", this.systemHandler);
    }

    systemHandler(data) {
        console.log("Received system message");
        console.log(data);
    }

    join(room, cb) { this.rooms[room] = cb; }

    leave(room) { delete this.rooms[room]; }

    send(room, data) { this.client.write(JSON.stringify({room: room, data: data})); }

    errorHandler(err) {
        console.log(err);
    }

    endHandler() {
        console.log("connection closed");
    }

    dataHandler(data) {
        try {
            data = JSON.parse(data);
            if(this.rooms[data.room]) this.rooms[data.room](data.data);
        } catch (err) {
            this.errorHandler(err);
        }
    }
};
language: javascript, relevance: 56
Sorry yall, just disabled captcha and upped the trigger threshhold. Currently its based on the raw number of PPH. I will soon change it to be less strict on replies and more strict on new threads (to prevent sliding). 
Its not a problem at the moment anyway, I think just a few people from 8/tech have come here and made a few posts (I see somebody posted this in the project thread) and i had it set to only 10 since the site is dead.
retard discord bot

- rules - faq - source code -