196 196 *Permanently Deleted*
Jump
  • purringfox purringfox 1 year ago 100%

    I heard that the right amount of sleep actually extends your lifespan, because of health and so ;).

    1
  • chat Furry Chat *Permanently Deleted*
    Jump
  • purringfox purringfox 1 year ago 100%

    Good to hear that it is getting better. I wish you a speed recovery!

    4
  • chat Furry Chat Personal introduction
    Jump
  • purringfox purringfox 1 year ago 100%

    Hello and welcome fellow fox :)!

    Oh, you want to get into full-stack PHP? Then I can recommend you the laravel framework. It is amazing to quickly build a backend. I would recommend to directly start with a tutorial for laravel, you'll learn PHP automatically.

    Don't believe the negative reputation of PHP. Modern PHP is a great language to use and they have a good documentation.

    Btw, I've set up together with @Wander@yiffit.net a Matrix room for sysadmin and developer furries. DM me if you are interested to join.

    2
  • chat Furry Chat Weekly Discussion: How should the furry fandom react to "puritan" reformists? Are these reformists too aggressive and hateful? Do they have a point?
    Jump
  • purringfox purringfox 1 year ago 100%

    Never heard of them.

    Firstly, let's say I'm not fan of religions at all. In my opinion they cause more harm then good. Here again, a religious group tries to force their beliefs onto other people.

    We are talking about fictional works here. No real living entity gets hurt. It is just a product of the mind. Following this, it is only paternalism. Please, we don't need a thought police.

    It reminds me of the "killer games" discussion we had some years ago everywhere in media. People forget that there is a huge gap between what we do virtually and what do do in real life.

    Finally I have to add, people that actually do unnecessary harm to real animals in any way deserve the worst punishment and I do not count them as a part of this fandom.

    So to answer the questions:

    How should the furry fandom react?

    Ignore them. Ignoring is always the best option (in a online setting).

    Is their point valid but are they simply to loud and aggressive?

    Loud and aggressive.

    Or are their methods correct and it’s time that the fandom received a wake-up call?

    Nope.

    11
  • chat Furry Chat Just a small about me to introduce myself.
    Jump
  • purringfox purringfox 1 year ago 100%

    Hello and welcome! :)

    I still wouldn't recommend Debian as a desktop distro ;). I know that Debian 12 is pretty up-to-date right now, but it will fall back, after some time. This dude on YouTube summarizes it better.

    Do you know Xenia? I'm sure she'll resonate with you :).

    Also, since not all here are techies, do you mind introducing your sona?

    6
  • chat Furry Chat Weekly Discussion: **How does AI "art" impact the furry fandom?**
    Jump
  • purringfox purringfox 1 year ago 100%

    Indeed, it is about the time someone invests in his work/art that makes it special.

    Like in photography, everybody can create photos, but there is a huge difference between a "tourist photo", which is shot in seconds, and and artful/professional photo, that took several days to setup.

    2
  • chat Furry Chat Weekly Discussion: **How does AI "art" impact the furry fandom?**
    Jump
  • purringfox purringfox 1 year ago 100%

    Hey, just trying to calm your anxiety. There will always be people like us fighting big corporation with open source. Here a list of all open language models as an example.

    Join the fight, always recommend people oss alternatives, use these alternatives yourself, contribute to them. Use Firefox instead everything else that is Google based an so on.

    Instead of turning away I would recommend you to play around with self-hosted variants, like this for text and this for images. Know your enemy ;). This is what helped me, since I had a similar reaction as you in the beginning.

    7
  • chat Furry Chat Weekly Discussion: **How does AI "art" impact the furry fandom?**
    Jump
  • purringfox purringfox 1 year ago 100%

    Disclaimer: I'm not an artist.

    AI art and text should be allowed if they are marked as such and/or on designated communities and/or as profile pictures. I'm rather radical and would advocate for an "open source" approach. Meaning people posting AI stuff have to post every input that is required to generate that image or text (model, prompt, seed and so on), like an "attribution".

    6
  • chat Furry Chat What furry or furry adjacent topics do you see yourselves discussing or wanting to discuss?
    Jump
  • purringfox purringfox 1 year ago 100%

    Hmm. In Mastodon you follow people like in Twitter. And on lemmy you follow topics like on reddit. I prefer to follow topics instead of some "influencers", that's why I'm here.

    But the incentive to switch platforms is higher for someone, when his favorite tweeter switches to Mastodon, it is just about consuming the content of that person.

    For here it is more important that many people are creating content, to be able to consume much. Also an empty community "looks scary" to post something, so we need brave people to post there first. That is probably why the start is slower. It is just about a critical mass.

    3
  • chat Furry Chat What furry or furry adjacent topics do you see yourselves discussing or wanting to discuss?
    Jump
  • purringfox purringfox 1 year ago 100%

    Interesting topic indeed. But aren't there many furs on mastodon instances? Also it could be that it just feels like that, since it is harder to count that now, since we are fragmented over different instances.

    4
  • chat Furry Chat What furry or furry adjacent topics do you see yourselves discussing or wanting to discuss?
    Jump
  • purringfox purringfox 1 year ago 100%

    AI art will be an controverse one, I think.

    Less controverse, I'm somewhat interested in the psychology of being a furry. Like is your sona a version of yourself or not. Does the species you chose say something about yourself.

    Discussing such topics would be fun, but you would have to provide a very safe environment for that somehow. Which sounds like a very difficult task to me...

    6
  • chat Furry Chat Bookmarklet to automatically create attribution from e621
    Jump
  • purringfox purringfox 1 year ago 100%

    I'm researching right now. Regarding the blurring there is already a pull request, that implements the exact feature you would like to do (if I understand you correctly) https://github.com/LemmyNet/lemmy-ui/pull/1640.

    I agree, maintaining a fork of lemmy-ui and rebuilding it every change is not feasible. Sadly it looks like there are not much more possibilities of extending the ui than the custom header and custom theme css.

    So I think the header scripts it is... But one thing I think would be nice is, that these scripts can be enabled/disabled by the users individually and should be off by default. So that people not interested in that are not impacted by possible performance issues or bugs. Nice would be if it would be possible to create an additional settings tab, where all these extra scripts are toggleable.

    Let's see, if I have time I'll setup a dev-environment to experiment with stuff.

    2
  • chat Furry Chat Bookmarklet to automatically create attribution from e621
    Jump
  • purringfox purringfox 1 year ago 100%

    At first I actually wanted to create an additional button for the editor in create post, to paste the link to, but then I decided against it, since I wanted a more universal approach.

    But now I'm actually interested in writing lemmy UI plugins, maybe I'll rewrite my code :).

    First I was confused but now I think I get it. You already did something on here, that nsfw stuff is unblurred by default (since it is at least like that for me now), but you would like to make that toggleable. What talks against the "disableblur" and "shownsfw" themes that are selectable. Are these also experiments from you?

    I'll do some research regarding lemmy ui now.
    It would actually be better, when there already would be a way to extend behavior server side, like modifying the HTML that gets served, instead of doing it ad-hoc on client side (performance). Also if at point there are to many scripts "patched in" they'll probably start to be incompatible. Example, I append a child node to a element called "x" and another script removes the element "x" for some reason, which would break mine. Let's see if extensions are planned in lemmy. Else forking the entire UI and expanding on that would also be a (but more time intensive) possibility.

    I'll come back to it, after I did some more research.

    1
  • chat
    Furry Chat purringfox 1 year ago 100%
    Bookmarklet to automatically create attribution from e621 https://my.filedepot.ch/files/rtx/230719/share.mp4

    Hey all. I've created for me a bookmarklet to automate the attribution from e621 posts and I figured I'm gonna share it. The bookmarklet creates the Markdown syntax for including an image from e621 with the correct artist name and all his pages. It won't generate an output for all artists that are also tagged with "conditional dnp", there you have to manually look if you can post the image or not. **Disclaimer**: I'm a random dude from the internet, providing you some code to run on your device. Please be aware that this is an dangerous action, if you don't know what you are doing. Just as an example, discord tokens where stolen with such bookmarklets. But I append also the source code, so you can have a look for yourself. Also, I don't take any responsibility for potential damage my code could do (even though I cannot imagine how this code should harm anything). **Bookmarklet** ```JavaScript javascript:(function()%7Basync%20function%20run()%20%7B%0D%0A%20%20let%20location%20%3D%20window.location%3B%0D%0A%20%20try%20%7B%0D%0A%20%20%20%20url%20%3D%20new%20URL(location)%3B%0D%0A%20%20%20%20if%20(url.hostname%20%3D%3D%3D%20%22e621.net%22%20%7C%7C%20url.hostname%20%3D%3D%3D%20%22www.e621.net%22)%20%7B%0D%0A%20%20%20%20%20%20prepareOutput()%3B%0D%0A%20%20%20%20%20%20const%20text%20%3D%20await%20parsePost(url)%3B%0D%0A%20%20%20%20%20%20insertMD(text)%3B%0D%0A%20%20%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%20%20alert(%22This%20script%20only%20works%20with%20e621.%22)%3B%0D%0A%20%20%20%20%7D%0D%0A%20%20%7D%20catch%20(error)%20%7B%0D%0A%20%20%20%20alert(%22Error%20while%20parsing%20URL%2C%20see%20console.%22)%3B%0D%0A%20%20%7D%0D%0A%7D%0D%0A%0D%0A%2F**%0D%0A%20*%0D%0A%20*%20%40param%20%7BURL%7D%20url%0D%0A%20*%2F%0D%0Aasync%20function%20parsePost(url)%20%7B%0D%0A%20%20%2F%2F%20remove%20search%20query%0D%0A%20%20url.search%20%3D%20%22%22%3B%0D%0A%0D%0A%20%20let%20path%20%3D%20url.pathname.split(%22%2F%22)%3B%0D%0A%0D%0A%20%20if%20(path%5B1%5D%20!%3D%3D%20%22posts%22)%20%7B%0D%0A%20%20%20%20alert(%22This%20script%20can%20only%20handle%20posts.%22)%3B%0D%0A%20%20%20%20return%3B%20%2F%2F%20ends%20script%0D%0A%20%20%7D%0D%0A%0D%0A%20%20const%20image%20%3D%20%7B%0D%0A%20%20%20%20url%3A%20%22%22%2C%0D%0A%20%20%20%20artists%3A%20%5B%5D%2C%0D%0A%20%20%7D%3B%0D%0A%0D%0A%20%20image.url%20%3D%20document.querySelector(%22%23image%22).src%3B%0D%0A%0D%0A%20%20const%20artistTagList%20%3D%20document.querySelectorAll(%22.artist-tag-list%20%3E%20li%22)%3B%0D%0A%0D%0A%20%20for%20(const%20li%20of%20artistTagList)%20%7B%0D%0A%20%20%20%20const%20name%20%3D%20li.querySelector(%22.search-tag%22).text%3B%0D%0A%0D%0A%20%20%20%20%2F%2F%20Aborts%20on%20conditional%20dnp%2C%20comment%20to%20disable%0D%0A%20%20%20%20if%20(name%20%3D%3D%3D%20%22conditional%20dnp%22)%20%7B%0D%0A%20%20%20%20%20%20return%20%22Conditional%20do%20not%20post%20detected.%20Please%20check%20if%20you%20are%20allowed%20to%20share%20this%20post.%20Manual%20work%20required.%22%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20const%20sources%20%3D%20await%20parseArtist(%0D%0A%20%20%20%20%20%20new%20URL(li.querySelector(%22.wiki-link%22).href)%0D%0A%20%20%20%20)%3B%0D%0A%20%20%20%20image.artists.push(%7B%0D%0A%20%20%20%20%20%20name%3A%20name%2C%0D%0A%20%20%20%20%20%20sources%3A%20sources%2C%0D%0A%20%20%20%20%7D)%3B%0D%0A%20%20%7D%0D%0A%0D%0A%20%20let%20text%20%3D%20%60!%5B%5D(%24%7Bimage.url%7D)%20%20%5Cnby%60%3B%0D%0A%0D%0A%20%20for%20(const%20i%20in%20image.artists)%20%7B%0D%0A%20%20%20%20if%20(i%20%3E%200)%20%7B%0D%0A%20%20%20%20%20%20text%20%2B%3D%20%22%20and%22%3B%0D%0A%20%20%20%20%7D%0D%0A%20%20%20%20text%20%2B%3D%20%60%20%24%7Bimage.artists%5Bi%5D.name%7D%60%3B%0D%0A%20%20%20%20for%20(const%20y%20in%20image.artists%5Bi%5D.sources)%20%7B%0D%0A%20%20%20%20%20%20if%20(y%20%3C%201)%20%7B%0D%0A%20%20%20%20%20%20%20%20text%20%2B%3D%20%22%20%22%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20text%20%2B%3D%20%60%5B%5B%24%7BNumber(y)%20%2B%201%7D%5D(%24%7Bimage.artists%5Bi%5D.sources%5By%5D%7D)%5D%60%3B%0D%0A%20%20%20%20%7D%0D%0A%20%20%7D%0D%0A%20%20text%20%2B%3D%20%22.%22%3B%0D%0A%0D%0A%20%20return%20text%3B%0D%0A%7D%0D%0A%0D%0A%2F**%0D%0A%20*%0D%0A%20*%20%40param%20%7BURL%7D%20url%0D%0A%20*%2F%0D%0Aasync%20function%20parseArtist(url)%20%7B%0D%0A%20%20%2F%2F%20relative%20url%20has%20to%20be%20fixed%0D%0A%20%20const%20correctURL%20%3D%20new%20URL(url.pathname%2C%20%22https%3A%2F%2Fe621.net%22)%3B%0D%0A%20%20correctURL.search%20%3D%20url.search%3B%0D%0A%20%20const%20response%20%3D%20await%20fetch(correctURL)%3B%0D%0A%20%20const%20html%20%3D%20await%20response.text()%3B%0D%0A%0D%0A%20%20const%20parser%20%3D%20new%20DOMParser()%3B%0D%0A%20%20const%20eDoc%20%3D%20parser.parseFromString(html%2C%20%22text%2Fhtml%22)%3B%0D%0A%0D%0A%20%20const%20res%20%3D%20eDoc.evaluate(%0D%0A%20%20%20%20%22%2F%2F*%5B%40id%3D'c-artists'%5D%2Fdiv%2Fdiv%2Ful%2Fli%5Bstrong%2Ftext()%3D'URLs'%5D%2Ffollowing-sibling%3A%3Aul%2Fli%2Fa%22%2C%0D%0A%20%20%20%20eDoc%0D%0A%20%20)%3B%0D%0A%0D%0A%20%20const%20sources%20%3D%20%5B%5D%3B%0D%0A%0D%0A%20%20let%20n%3B%0D%0A%20%20while%20((n%20%3D%20res.iterateNext()))%20%7B%0D%0A%20%20%20%20sources.push(n.href)%3B%0D%0A%20%20%7D%0D%0A%0D%0A%20%20return%20sources%3B%0D%0A%7D%0D%0A%0D%0Afunction%20prepareOutput()%20%7B%0D%0A%20%20const%20imageContainer%20%3D%20document.querySelector(%22%23image-container%22)%3B%0D%0A%20%20const%20copyDiv%20%3D%20document.createElement(%22div%22)%3B%0D%0A%20%20copyDiv.id%20%3D%20%22to-md%22%3B%0D%0A%20%20copyDiv.classList.add(%22comment%22%2C%20%22comment-post-grid%22)%3B%0D%0A%20%20copyDiv.style.marginBottom%20%3D%20%221em%22%3B%0D%0A%0D%0A%20%20copyDiv.innerHTML%20%3D%20%60%0D%0A%20%20%20%20%3Cdiv%20class%3D%22author-info%22%3E%0D%0A%20%20%20%20%20%20%3Cdiv%20class%3D%22name-rank%22%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%3Ch4%20class%3D%22author-name%22%3E%3Ca%20href%3D%22https%3A%2F%2Fyiffit.net%2Fu%2Fpurringfox%22%20target%3D%22_blank%22%20class%3D%22user-member%20with-style%22%3EPurringFox%3C%2Fa%3E%3C%2Fh4%3E%0D%0A%20%20%20%20%20%20%20%20%20%20Hackerman%0D%0A%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0D%0A%20%20%20%20%20%20%20%20%3Cdiv%20class%3D%22avatar%22%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class%3D%22post-thumbnail%22%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%20href%3D%22https%3A%2F%2Fe621.net%2Fposts%2F2294957%22%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cimg%20class%3D%22post-thumbnail-img%22%20src%3D%22https%3A%2F%2Fstatic1.e621.net%2Fdata%2Fpreview%2F64%2Fa2%2F64a24eba91e5c666cf1ed34833fa86ab.jpg%22%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fa%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0D%0A%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0D%0A%20%20%20%20%3C%2Fdiv%3E%0D%0A%20%20%20%20%3Cdiv%20class%3D%22content%22%3E%0D%0A%20%20%20%20%20%20%3Cdiv%20class%3D%22body%20dtext-container%22%3E%0D%0A%20%20%20%20%20%20%20%20%3Cdiv%20class%3D%22styled-dtext%22%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%3Cpre%20id%3D%22md-text%22%3Eloading...%3C%2Fpre%3E%0D%0A%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0D%0A%20%20%20%20%20%20%3C%2Fdiv%3E%0D%0A%20%20%20%20%20%20%20%20%3Cdiv%20class%3D%22content-menu%22%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%3Cmenu%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cli%3E%3Ca%20id%3D%22copy-md-link%22%20href%3D%22%23copy-md%22%20class%3D%22reply-link%20comment-reply-link%22%20style%3D%22visibility%3A%20hidden%3B%22%3ECopy%3C%2Fa%3E%3C%2Fli%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%3C%2Fmenu%3E%0D%0A%20%20%20%20%20%20%3C%2Fdiv%3E%0D%0A%20%20%20%20%3C%2Fdiv%3E%0D%0A%20%20%20%20%60%3B%0D%0A%0D%0A%20%20imageContainer.parentElement.insertBefore(copyDiv%2C%20imageContainer)%3B%0D%0A%7D%0D%0A%0D%0Afunction%20insertMD(text)%20%7B%0D%0A%20%20document.querySelector(%22%23md-text%22).innerHTML%20%3D%20text%3B%0D%0A%0D%0A%20%20const%20link%20%3D%20document.querySelector(%22%23copy-md-link%22)%3B%0D%0A%20%20link.style.visibility%20%3D%20%22visible%22%3B%0D%0A%20%20link.addEventListener(%22click%22%2C%20(e)%20%3D%3E%20toClipboard(e%2C%20text))%3B%0D%0A%7D%0D%0A%0D%0A%2F**%0D%0A%20*%0D%0A%20*%20%40param%20%7BEvent%7D%20e%0D%0A%20*%2F%0D%0Afunction%20toClipboard(e%2C%20text)%20%7B%0D%0A%20%20e.preventDefault()%3B%0D%0A%20%20navigator.clipboard.writeText(text)%3B%0D%0A%20%20e.target.style.color%20%3D%20%22var(--color-score-positive)%22%3B%0D%0A%20%20setTimeout(()%20%3D%3E%20%7B%0D%0A%20%20%20%20e.target.style.color%20%3D%20%22%22%3B%0D%0A%20%20%7D%2C%203000)%3B%0D%0A%7D%3Brun()%3B%7D)()%3B ``` To install just create a new bookmark, name as you want it, and past the above as url. Be sure to copy the whole content. Starts with "javascript" and ends with "%3B". To use it, just open the e621 post and press the bookmark. The bookmarklet has to be encode with `encodeURIComponent` that's why it looks like gibberisch, you can view below the code before it is encoded. ::: spoiler Source code --- ```JavaScript async function run() { let location = window.location; try { url = new URL(location); if (url.hostname === "e621.net" || url.hostname === "www.e621.net") { prepareOutput(); const text = await parsePost(url); insertMD(text); } else { alert("This script only works with e621."); } } catch (error) { alert("Error while parsing URL, see console."); } } /** * * @param {URL} url */ async function parsePost(url) { // remove search query url.search = ""; let path = url.pathname.split("/"); if (path[1] !== "posts") { alert("This script can only handle posts."); return; // ends script } const image = { url: "", artists: [], }; image.url = document.querySelector("#image").src; const artistTagList = document.querySelectorAll(".artist-tag-list > li"); for (const li of artistTagList) { const name = li.querySelector(".search-tag").text; // Aborts on conditional dnp, comment to disable if (name === "conditional dnp") { return "Conditional do not post detected. Please check if you are allowed to share this post. Manual work required."; } const sources = await parseArtist( new URL(li.querySelector(".wiki-link").href) ); image.artists.push({ name: name, sources: sources, }); } let text = `![](${image.url}) \nby`; for (const i in image.artists) { if (i > 0) { text += " and"; } text += ` ${image.artists[i].name}`; for (const y in image.artists[i].sources) { if (y < 1) { text += " "; } text += `[[${Number(y) + 1}](${image.artists[i].sources[y]})]`; } } text += "."; return text; } /** * * @param {URL} url */ async function parseArtist(url) { // relative url has to be fixed const correctURL = new URL(url.pathname, "https://e621.net"); correctURL.search = url.search; const response = await fetch(correctURL); const html = await response.text(); const parser = new DOMParser(); const eDoc = parser.parseFromString(html, "text/html"); const res = eDoc.evaluate( "//*[@id='c-artists']/div/div/ul/li[strong/text()='URLs']/following-sibling::ul/li/a", eDoc ); const sources = []; let n; while ((n = res.iterateNext())) { sources.push(n.href); } return sources; } function prepareOutput() { const imageContainer = document.querySelector("#image-container"); const copyDiv = document.createElement("div"); copyDiv.id = "to-md"; copyDiv.classList.add("comment", "comment-post-grid"); copyDiv.style.marginBottom = "1em"; copyDiv.innerHTML = ` <div class="author-info"> <div class="name-rank"> <h4 class="author-name"><a href="https://yiffit.net/u/purringfox" target="_blank" class="user-member with-style">PurringFox</a></h4> Hackerman </div> <div class="avatar"> <div class="post-thumbnail"> <a href="https://e621.net/posts/2294957"> <img class="post-thumbnail-img" src="https://static1.e621.net/data/preview/64/a2/64a24eba91e5c666cf1ed34833fa86ab.jpg"> </a> </div> </div> </div> <div class="content"> <div class="body dtext-container"> <div class="styled-dtext"> <pre id="md-text">loading...</pre> </div> </div> <div class="content-menu"> <menu> <li><a id="copy-md-link" href="#copy-md" class="reply-link comment-reply-link" style="visibility: hidden;">Copy</a></li> </menu> </div> </div> `; imageContainer.parentElement.insertBefore(copyDiv, imageContainer); } function insertMD(text) { document.querySelector("#md-text").innerHTML = text; const link = document.querySelector("#copy-md-link"); link.style.visibility = "visible"; link.addEventListener("click", (e) => toClipboard(e, text)); } /** * * @param {Event} e */ function toClipboard(e, text) { e.preventDefault(); navigator.clipboard.writeText(text); e.target.style.color = "var(--color-score-positive)"; setTimeout(() => { e.target.style.color = ""; }, 3000); } ``` --- ::: If you find bugs, you can post them here. I might have a look at them. *might*. Post in example video by hecatta [[1](https://www.furaffinity.net/user/hecatta-art/)][[2](https://hecatta-n-stuff.tumblr.com/)]. Profile picture in example video by redcrystal.

    18
    7
    chat Furry Chat The Felkin Lore of my DnD
    Jump
  • purringfox purringfox 1 year ago 100%

    Oh, wow, playing DnD with you must be fun.

    So the TLDR of your felkin lore would be:

    • They are good farmers and travelers

    • They are sometimes traders themself

    • You can hire them as support for transporting things

    • They live in packs


    May I ask how long did it take you to come up with all that, including research? I'm impressed.

    2
  • chat
    Furry Chat purringfox 1 year ago 83%
    Are there aliens out there that look like furries?

    Sometimes I ask myself that question. Since we have to assume that there are aliens (because of the huge size of the universe). Would maybe some look like furries? Some SciFi media do sometimes include them. For example the [Caitians](https://memory-alpha.fandom.com/wiki/Caitian) from Star Trek. Or the [Ventrexians](https://final-space.fandom.com/wiki/Ventrexian) from Final Space. There seems to be a bias for cats :D. It sounds nice to me to maybe have somewhere in the universe a planet that is inhabited by anthros. Even thought it is unlikely that we'll ever meet aliens at all...

    4
    7
    chat Furry Chat I really think that Felkins need Lore
    Jump
  • purringfox purringfox 1 year ago 100%

    I suggest following lore for them:


    They are a species built for traveling.

    They are like the protectors of traveling people, like merchants. They roam around in the fields and help travelers in danger.

    They are strong, so they can help to move a caravan from A to B and protect it from possible aggressors.

    Some of them are messengers and bring news and important letters from faraway lands.

    Judging from the looks, they have a common ascendant to dragons. Following from that they are mythical creatures thus they are very strong, they could have even magical powers, but they are rather rare. They have a calmer nature compared to dragons, mainly because they are herbivorous.

    There are highly specialized to different terrain. This explains why they can look very different to each other.


    I hope this is a good starting point.

    2
  • hornychat Horny Furry Chat Which furry species has the best dick?
    Jump
  • purringfox purringfox 1 year ago 100%

    I'll start. Canine, nothing beats a knot. Totally unbiased here ;).

    1
  • meta Meta and Announcements Yiffit went down for several hours this afternoon. I am sorry for the disruption and have identified the cause.
    Jump
  • purringfox purringfox 1 year ago 100%

    Yes, had "400 Bad Request" in the browser console.

    1
  • purringfox purringfox 1 year ago 100%

    Xenia <3

    7
  • chat Furry Chat Where can I find people to roleplay or to be friends with?
    Jump
  • purringfox purringfox 1 year ago 100%

    Hello from my yiffit account. Read my new post here.

    1
  • chat
    Furry Chat purringfox 1 year ago 84%
    Hello yiffit. I moved here.

    Hi again. I’m still a 27-year-old male fox-cat hybrid from Switzerland :). Read more about me [here](https://yiffit.net/post/396523). I moved here because I think yiffit suits better my interests and thus makes more sense as "home instance". And I would like to create a community I talked about in the [previous post](https://yiffit.net/post/396523). I’ll update you guys on it in this post and in !newcommunities. Edit: Good news, community created [!fur4fur](https://yiffit.net/c/fur4fur).

    13
    3