Skip Navigation

Search

libretranslate.com LibreTranslate - Free and Open Source Machine Translation API

Free and Open Source Machine Translation API. Self-hosted, offline capable and easy to setup. Run your own API server in just a few minutes.

LibreTranslate - Free and Open Source Machine Translation API

A Free and Open Source Translation Service. Can translate text and text files(Including Word documents, epubs, and HTML files). It also includes a simple and well-documented API, Albeit paid. It can also be self-hosted, giving you the option to run your own API server.

Github link: https://github.com/LibreTranslate/LibreTranslate

1

Karma FW | Internet FireWall

Ever wanted to block an app from using the internet? Why does my keyboard need access to the internet? Can i block ads in this game when it has no internet access?

There are many reasons one might want to block an app from using the internet. Recently i came across a FOSS app that acts as a proxy and only allows selected apps from passing through and connecting to the internet. Set it up once and let it run from boot automatically after setup.

Unlike Xiaomi devices, sadly there are few Android skins that supports this feature out of the box. This app brings it to all.

GitHub, Fdroid and Download

0

Finnegan | devRant Clone

Posting this in lieu of @retoor who initiated the whole competition and has given enough information about her app prior this day.

  • Tech stack: Python, aiohttp
  • Some of the rants from devRant were taken
  • It took her 8 hours
  • Finnegan supports:
    • signing up
    • logging in
    • ranting
    • commenting

---

Screenshots

!Finnegan: rant feed

!Finnegan: rant

!Finnegan: user

2

(https://kbin.melroy.org/tag/introduction)

\#introduction

Software Developer from Canada

Played video games and hacked things a bit as a teenager, got a computer science degree and worked in corporate / consulting

Specialised in Java, liked JavaScript much more, now bashing my brains against #rust and moving in

I have a bunch of hobbies and like exploring weird out of the way things. Interest in psychology, #economics, business, and systems as a general.

\#drbboard

0

Hi everyone!

Hi everyone!

I'm nearly ready to release an Alpha version of my Prototype Editor. It allows you to create mock-ups of things like websites. You can find my first proper YT video here: https://www.youtube.com/watch?v=6o2Ho8qhMAI - please like, comment and sub if you can. It will help motivate me more and will help support the project.

\#drbboard

0

How to create a lexer using pure C - part 1

How to write a lexer in C - part 1

A lexer translates text to tokens which you can use in your application. With these tokens your could build your own programming language or a json parser for example. Since i'm fan of OOP you'll see that I applied an OO aproach. The code quality is good according to ChatGPT. According to valgrind there are no memory leaks. We're gonna create in this part:

  • token struct
  • token tests
  • Makefile

Requirements:

  • gcc
  • make

Writing token.h Create a new file called "token.h". Implement header protection:

``` #ifndef TOKEN_H_INCLUDED #define TOKEN_H_INCLUDED

// Where the code goes

#endif

```

This will prevent that the file gets double included. Import the headers we need:

``` #include <string.h> #include <stdlib.h>

```

Define config:

``` #define TOKEN_LEXEME_SIZE 256

```

this means our token size is limited to 256 chars. It's not possible to use a huge string now. Dynamic memory allocation is too much to include in this tutorial. Define the token struct:

``` typedef struct Token { char lexeme[TOKEN_LEXEME_SIZE]; int line; int col; struct Token * next; struct Token * prev; } Token;

```

Implement new function. This will instantiate Token with default values.

``` Token * token_new(){ Token * token = (Token *)malloc(sizeof(Token)); memset(token->lexeme, 0,TOKEN_LEXEME_SIZE); token->line = 0; token->col = 0; token->next = NULL; token->prev = NULL; return token; }

```

Imlement init function. This will instantiate a Token with given parameters as values.

``` Token * token_init(Token * prev, char * lexeme, int line, int col){ Token * token = token_new(); token->line = line; token->col = col; if(prev != NULL){ token->prev = prev; prev->next = token; } strcpy(token->lexeme, lexeme); return token; }

```

Implement free function. This is our destructor. It will:

  • find first token using given token
  • will call itself with related token(s)

``` void token_free(Token * token){ // Find first token while(token->prev != NULL) token = token->prev;

Token * next = token->next; if(next){ token->next->prev = NULL; token_free(next); } free(token); }

```

Testing Now it's time to build some tests using assert. Create a new file called "token\_test.h". Add this:

``` int main() { // Check default values Token *token = token_new(); assert(token->next == NULL); assert(token->prev == NULL); assert(token->line == 0); assert(token->col == 0); assert(strlen(token->lexeme) == 0);

// Test init function Token *token2 = token_init(token, "print", 1, 3); assert(token->next == token2); assert(token2->prev == token); assert(token2->line == 1); assert(token2->col == 3); assert(!strcmp(token2->lexeme, "print")); token_free(token2);

printf("Tests succesful\n"); return 0; }

```

Now we have a working application. Let's make compilation easy using a Makefile. Makefile Create a file named "Makefile".

``` all: tests

tests: gcc token_test.c -o token_test ./token_test

```

Run make That's it!

So, we created Token which is required for the lexer in next part of this tutorial.

If something not working or you need help; send a message.

1

(https://kbin.melroy.org/m/drbboard/t/67355/How-to-create-a-lexer-using-pure-C-part-1)

0

๐Ÿ˜‚ I hope it's not Windows.

๐Ÿ˜‚ I hope it's not Windows. https://mastodon.ml/@mo/111397544741599003

> > > I think I managed to accidentally call up the right-click menu on the subway turnstile. > >

\#drbboard

0

FlorisBoard | FOSS keyboard that respects your privacy

I came across everyday topic on Techlore Discussions about free and open source keyboards for Android and discovered this little gem. It is FlorisBoard, a virtual keyboard for Android which respects privacy of the user. I can sigh with relief and finish my search for that singular keyboard for typing stuff on the go.

It has everything I need and more.

  • Multilanguage support: detailed layout options, popular presets
  • Swift and glide typing experience
  • Customizable gestures: switch language by fast swiping the keyboard itself left and right, change case by swiping up, the infamous cursor swipe on space bar
  • Emojis
  • Clipboard
  • Smartbar: quick actions and clipboard cursor tools
  • One-handed mode
  • Other look-and-feel settings
0

Regex Learn

regexlearn.com Regex Learn - Step by step, from zero to advanced.

Learn Regex interactively, practice at your level, test and share your own Regex.

Regex Learn - Step by step, from zero to advanced.

Learn Regex interactively, practice at your level, test and share your own Regex.

Suggested by @jasonpezzimenti:matrix.org on dRCC.

0

My (https://kbin.melroy.org/tag/Introduction)

My #Introduction ==========

Hey Everyone, I am Sid. I primarily work with NodeJS and Laravel and I have 7 years of experience at the time of writing this. I have a YouTube channel where I post tutorials.

Other ways you can reach me:

\#drbboard

1

So, Vercel has published Geist Font...

vercel.com Geist Font โ€” Vercel

Geist is a typeface made for developers and designers, embodying Vercel's design principles of simplicity, minimalism, and speed, drawing inspiration from the renowned Swiss design movement.

Geist Font โ€” Vercel

> > > Geist is a typeface made for developers and designers, embodying Vercel's design principles of simplicity, minimalism, and speed, drawing inspiration from the renowned Swiss design movement. > >

Ugh, not to shit on the parade, but it looks spasmodic. Here's some visual for you to get the idea:

Problems with jumpy x-heights in Geist font on 40px font size and tight letter spacing

What do you think? Is mono variant better?

0

Malicious Contributions: Abridged

Let this thread act as a table of contents for the software contributions found to be malicious or done in ill intent. With every story that you send in the comments, I will add a respective entry to the list in chronological order. Each entry in the chronology will show the date and the appropriate name, linking to your comment.

Please, give a summary in the words that you understand, point out the date it was effective and provide reliable links. These links may include the detailed report (required), malicious source and the fix (if any).

Chronology ----------

4

Custom CSS updates | dR Bulletin Board

Custom CSS updates | dR Bulletin Board ==========

Whenever you visit #dRBB, you will see slight changes in the #Kbin header. I moved instance's home link to the right to prevent any accidental exits. And there is now a solid icon just in case.

If you have any suggestions, feel free to leave a reply.

\#drbboard

12

How to Add a Thread | dR Bulletin Board

So, you've come to dR Bulletin Board, and what's this? A sudden rush of inspiration:

> "I need to jot this link down and let everyone know!"

That's when you realize it may be something that our subscribers find interesting, and you want to post it as a thread on main page of @[email protected].

What can be a thread?

Imagine a thread as some sort of magazine clipping - you might want it to look proud and timeless. We are trying to be discreet about types of content that go to the main, Threads page. Click on any type below to see a sample entry, what it can look like.

For everything else

Let's suppose you have something more experimental or it's not listed above. You then might want to avoid templates for your posting altogether - this is where Microblog shines! Pick "Add new post" in the plus menu to quickly write anything to your heart's content.

๐Ÿšง Free format doesn't free from marking correctly your post as not-safe-for-work (NSFW - if unsure) or original content (OC - if sure).

Down to business

With this out of the way, this guide assumes you have something pertinent. There is your point of view, worth sharing, clicking and reading in a longer detail? That's where Threads come into play.

First of all, you'll need an Mbin/Kbin or a Lemmy profile. Mbin is a more community-oriented fork that is backwards-compatible with Kbin. For simplicity's sake, I will just refer to Kbin, as they are both the same in regards to posting.

You will be able to further interact with others in the comments and Microblog from it or opt in to Mastodon and alternatives. But to create a thread, you'll most definitely need a Kbin/Lemmy account.

Creation form

From here on out, I'm trying to capture instructions for both Kbin (as ๐Ÿ“ฐ a parent item) and Lemmy (as ๐Ÿญ a sub-item). If anything stands incorrect, let me know in the comments.

  • ๐Ÿ“ฐ Proceed to @[email protected] magazine
    • ๐Ÿญ or, as it's called, a "community", which you can discover by putting our URL in Lemmy search.
  • ๐Ÿ“ฐ In the top right plus menu, press "Add new link"
    • ๐Ÿญ or a button reading "Create a post" (they are all the same for Lemmy, but on Kbin it's still a thread).

Threading on

Now that you're on the entry creation form, let us decide on its type. Depending on the type you pick, there will be certain fields required or not required to fill out.

  • ๐Ÿ“ฐ Add new link - if you've got a link to share
    • ๐Ÿญ or simply put a URL in the respective field.
  • ๐Ÿ“ฐ Add new thread - if you want to bring up a discussion
    • ๐Ÿญ or ignore the URL field on Lemmy.
  • ๐Ÿ“ฐ Add new photo - (not recommended) if you wish to share a picture without any additional text
    • ๐Ÿญ or ignore all fields aside from "Title" and "Image".

Fields

Now to the most crucial part: filling this form out.

  • URL

    Link to the originating Internet resource. Both Kbin and Lemmy offer #OpenGraph autocompletion of other fields once you paste it. Despite this convenience, be mindful of the magazine's audience and give your own spin on the info placed below.

  • Image

    Good visuals help the reader in understanding what to anticipate and building up an interest. Ideal ratio for Kbin is 3:2, but in any case it will look nice.

    Be aware that image you upload and alternative text you attach on Kbin does not bridge over to Lemmy when you include a URL. And vice versa: when you upload an image through Lemmy, it replaces whatever link you've had with an image link.

    If link already has a good OpenGraph preview image, you don't need to worry about uploading your own. Also, if URL is included, auxiliary preview image will be resized to 380 pixels max, so there isn't much point in adding tiny details. In fact, those are so negligible that anyone can draw their own cover image in mere seconds.

    • ๐Ÿ“ฐ Find a media button below on Kbin form and upload your auxiliary preview image with optional #AltText for accessibility
      • ๐Ÿญ or use the "Image" field on Lemmy to upload an image.
  • Title

    Of course, you've got to provide a nice wrap-up of your thread in one little line of text. Don't make a clickbait for the sake of clickbait: instead, specify what parent topic relates to your thread, what distinguishes it from every other content piece posted earlier. Make it unique, pretty and descriptive enough. Take an inspiration from already existing entries.

  • Body

    This is the crux of your entire thread, where you describe your experience with the piece of media (link) or how you start a new discussion, whichever details you want to be seen before people start commenting. Use all your Markdown wizardry to make it shine and be legible.

  • ๐Ÿ“ฐ Tags

    Type any relevant keywords one-by-one to categorize your thread.

  • ๐Ÿ“ฐ OC

    Whether it qualifies as an original content or not.

  • ๐Ÿ“ฐ Magazine / ๐Ÿญ Community

    • ๐Ÿ“ฐ Should be set to "drbboard" automatically
      • ๐Ÿญ or it should say "dR Bulletin Board".

Publishing

  • ๐Ÿ“ฐ Press "Add new link/thread/photo" button
    • ๐Ÿญ or press "Create".

๐Ÿฅณ

Congratulations, here comes your good entry!

You will receive notifications on the top right corner when someone comments on it. Please follow the directions from moderator to amend tags, OC mark, other details.

0

Media Preview | Kbin

Media Preview | Kbin ==========

A fun discovery today: you can expand embed on a thread with a multimedia link, it's one click away and doesn't get you away from #Kbin. See this little photo-film icon right under the author? When you click it, the embed drops right under and you can:

  • watch the #PeerTube or #YouTube video,
  • listen to #Bandcamp music,
  • look at the full #DeviantArt picture,
  • do a lot more without ever leaving Kbin (meaning there are more media websites that we're left to explore!).

Add links to @drbboard with your favorite music, video guides, art, and tell us your experience with this piece of media that you're sharing! Get distraction-free experience for the viewers and the authors.

\#drbboard

6

Threads? Posts? I'm confused... | Kbin

Threads? Posts? I'm confused... | Kbin ==========

Terms "thread" and "post" are often used interchangeably on #Kbin and across the #Fediverse, but, as a reader, you still would like to have some guideline.

Threads are a primary tool of presenting information on Kbin. Think of a thread as a magazine clipping: you cut it out and proudly place on your wall. All you see from afar is a title and some preview image (if any). As you skim over the magazine and click on one such clipping, the entire thread opens before you, now including comments.

Posts are a secondary thing on Kbin. But don't let it fool you: before long, you'll have a microblog of things to share. Yes, posts are usually viewed in the context of Microblog, the section adjacent to Threads. One can call post a micro-thread, of sorts. Unlike your run-of-the-mill thread, a post can present text without any pretence. Reader scrolls through Microblog and they can see contents/replies right away. While lengthy discussions may be collapsed to 1-2 recent replies, it's made so to let other posts shine. As a reader, you don't have to change pages to expand the post.

  • Use Threads to present a pertinent material.
  • Use Microblog to share any updates, tips and little stories.

\#drbboard

6

skyRant | an unofficial client for everything devRant

skyRant has been a long ride. The project initially started with me, joewilliams007, creating a devRant client for watches running wear-os, also known as watchRant, available in the PlayStore and on GitHub.

As the project turned out as a success for myself, i thought of ways of "improving" and "adding on-top" of devRants mobile client. It turns out, the community itself had wanted some features since forever. Thus, skyRant was created. Features were added, like link-previews, user blocking, widgets, random rants, community projects page and the incredible animation of SIMMORSAL.

Due to the now-co-existence of the two clients, watchRant and skyRant, a third-party server had to step in for external synchronisation, and skyAPI was born, syncing blocked items and following users, plus it came with the ability to customize your profile further and react to posts with emojis.

Meanwhile the community was changing. Two new networks were added: Matrix - and this magazine on /kbin/melroy.

Both of which have open API endpoints which, I am proud to announce, can now be accessed to some extend through skyRant.

Please note: any previous versions have to be uninstalled, before updating, as the app signing key has changed - it was lost :0.

skyRant apk can be downloaded here: DOWNLOAD.

Thanks for reading. Have a nice time ranting :).

1

Icon | Leomard

A fusion of leopard and the looks of Lemmy logo. It is the part of new macOS application for browsing Lemmy, @leomard.

> > > Artist: vintprox > > > > This work is licensed under a Creative Commons Attribution 4.0 International License. > >

Reposted from https://lemm.ee/post/1310430

0

What qualifies as OC? | dR Bulletin Board

What qualifies as OC? | dR Bulletin Board ==========

Here on #dRBB we think of #OC as an original content, or an original creation. Think the entire process of production, from start to finish: can you call this your own work? If preview or anything that sits in the thread you're posting contains copyrighted work of someone else, it's most likely just an adaptation/repost and as such you cannot claim it as OC.

OC threads have this small mark prepended to the title to set it apart from other works. Traditionally, OCs get more liberty from the discovery algorythms. I'm not entirely sure how it works on #Kbin, compared to #Reddit, but in any situation think of the reader first and algorythm second.

If the piece you're about to share was made by you and you only, don't hesitate and mark it as the original content! But avoid using OC mark for discussion starters, as they don't prove substantial enough of a work as such...

\#drbboard

2
Karma FW | Internet FireWall
  • @geometry dash world You pretend to be a tux (because, well, why not) which is said to be a race that is naturally adept at using computers, or something similar, and as a result they are very skilled at hacking and programming. Instead of using spells, they employ programs to attack their enemies, which are robots.

  • Hi all,
  • How to post your devRant clone

    It is pretty simple.

    1. Add new thread page is where you can fill all needed fields.

    2. Use a unique name for your application - it must not nonchalantly use the word "devRant", as it is taken and is a trademark. Append | devRant Clone to that, and your title is ready!

    3. Fill out the body with optional, but contextually interesting, information and links:

      My synopsis of what my application does that resembles devRant.
      
      - Used tech stack
      - Used data
      - It took me  hours
      - What is different
      
      ---
      
      - Demo
      - Screencast
      - Source code
      - Screenshots come in the comments below
      
    4. Paste the tags: devrant drcj jam hackathon entry

    5. Mark your work as OC, if all qualities specific to a devRant clone were implemented by you and you only.

    6. Attach an image before submitting. It may be your main page or whatever makes the thread appealing and unique.

    7. Press "Add new thread" button to publish!

    8. Post additional screenshots via comments below, if any.

  • Hi all,
  • @joewilliams007, 4 days ago:

    i will use node, as i want it to be fast (unlike python๐Ÿซฃ ahmm ahm). And i expect to get login going and rant posting.

  • Threads? Posts? I'm confused... | Kbin
  • @joewilliams007 Mbin contributors have caught up and it seems we're not so far away from flairs/badges support!

  • Custom CSS updates | dR Bulletin Board
  • After some work by contributors of #Mbin to introduce an indication of magazine in the top bar, I'm happy to say that it's more clear now WHERE on the site you happen to be. Happily, my little CSS trick has adapted to it quickly, but I made #dRBB icon smaller to prevent it stealing space.

    Again, thanks to the Mbin contributors! There is a lot of work done already, and I feel confident with this fork of #Kbin to improve one of the store fronts of Fediverse.

  • My [#Introduction](https://kbin.melroy.org/tag/Introduction)
  • @SidTheITGuy Welcome: happy viewers and good time for you! ๐Ÿ˜‰

  • Media Preview | Kbin
  • Ps. ps. I just noticed Mbin doesn't allow me to easily insert UTF emoticons.. The emoji above I manually needed to copy/paste..

    @drbboard @vintprox

  • Media Preview | Kbin
  • @vintprox How fast the world can change, right? ๐Ÿ˜‚

    @drbboard

  • Media Preview | Kbin
  • @melroy Yes, of course. My reply is 2 weeks old - it's when Mbin wasn't a thing.

    @drbboard

  • Media Preview | Kbin
  • @vintprox
    You might want to increase the button in Mbin directly. Which might benefit everybody?

  • Custom CSS updates | dR Bulletin Board
  • @vintprox The user might only change the logo via the setting, without tinkering CSS stylesheets.

    I didn't check the code, but we could set width attribute by default if Twig switches between default logo and user logo.