nmtake

@nmtake@lemm.ee

Japanese Speaker. I can read/write some English but not well, so corrections are always appreciated.

プログラミングや音楽に興味があります。いまはkbinのソースやActivityPubの仕様を読んだりしています。

This profile is from a federated server and may be incomplete. Browse more on the original instance.

nmtake,

Fixed wrong link - now the post title correctly link to the repository ;)

nmtake,

Thank you for trying the package! I completely forgot to mention require in README, and didn’t know package-vc-install. I’ll add it to README later.

I’m using emacs’ built-in completion–it works fine.

I hope it works on other packages like helm or ivy too.

nmtake,

One of the reasons is it makes moderation (including soft moderation by users like downvotes or reports) harder. Users not familiar with Japanese can’t decide whether the post follows the rule and is on topic.

nmtake,

Thanks for the hard work. It’s already quite usable for me. Here are the issues I noticed on Firefox/Linux:

  • Each comment area seems to have overflow (caused by the text buttons?), so hovering a mouse cursor on the comment reveals hidden scroll bar on the right.
  • Titles are too bold and look somewhat intimidating.
  • Rendered inline code () leaves the backquotes like this.
nmtake,

How about incremental search (C-s) or some external packages like avy?

nmtake,

I stick with C-s (similar to vim’s /) because of the exact reason you said, and I’m happy with C-s.

Please note that C-s <some characters> RET moves the cursor at the end of the target (/ moves it at the beginning). If you don’t like the behavior, see this post (I use C-s … C-r RET in that case).

Rectangle for Linux?

To preface this, I’ve used Linux from the CLI for the better part of 15 years. I’m a software engineer and my personal projects are almost always something that runs in a Linux VM or a Docker container somewhere, but I’ve always used a Mac to work on personal and professional projects. I have a Windows desktop that I use...

nmtake,

IIRC Xfce4 supports quad manual tiling like that.

nmtake,

Thanks for the clarification. I switched from Xfce4 to GNOME many years ago because the former doesn’t support Wayland at that time, but I still miss the manual quarter tiling with the shortcut keys.

nmtake, (edited )

Strong focus on privacy and security (all authentication with the Lemmy API is done through secure httpOnly cookies, user IP addresses are not leaked to external image hosts, etc)

Awesome. The current lemmy-ui sends a lot of traffic to other Lemmy instances to get pictrs-cached images, so this is huge improvement. On the other hand, on next.lemm.ee those requests seems to be gone. As feedback, I noticed this page still seems to send a request to imgur, and the text is difficult to read because of the low-contrast theme. (edit: fixed and now completely readable. thank you @sunaurus )

nmtake,

If I understood correctly, the first match expression doesn’t take the ownership of the prev_data.kind because the prev_data.kind is a place expression:

doc.rust-lang.org/stable/…/expressions.html#place…

A place expression is an expression that represents a memory location.

doc.rust-lang.org/stable/…/match-expr.html#match-…

When the scrutinee expression is a place expression, the match does not allocate a temporary location; however, a by-value binding may copy or move from the memory location.

I’m not sure what “a by-value binding may copy or move from the memory location” does mean, but I beleive no allocation means no move.

For the second match, move happens. The tuple (prev_data.kind, new_data.kind) tries to take an ownership of the prev_data.kind, but the prev_data is &Data(borrowed from the vec data), so the tuple can’t take the ownership.

nmtake,

I prefer high-contrast themes these days and modus-themes work great. Note that Emacs 29 doesn’t contain newer themes like modus-vivendi-tinted.

nmtake,

Oh I didn’t know the book is freely available under the CC license; I bought the Japanese translated version just a week ago. The book is quite difficult for me but the first chapter was very good read.

nmtake,

Can you run another distro on VirtualBox? (vanilla Fedora, Debian, Arch, etc.)

nmtake, (edited )

As you said, GET /resolove_object (join-lemmy.org/api/interfaces/ResolveObject.html) may work:


<span style="color:#323232;">$ post_id=9589178
</span><span style="color:#323232;">$ curl 'https://lemm.ee/api/v3/resolve_object?q=https%3A%2F%2Fprogramming.dev%2Fpost%2F${post_id}' | jq .post.post.id
</span><span style="color:#323232;">22873872
</span><span style="color:#323232;">$ curl 'https://lemm.ee/api/v3/post?id=22873872' | jq '.post_view.post | [.id, .name]'
</span><span style="color:#323232;">[
</span><span style="color:#323232;">  22873872,
</span><span style="color:#323232;">  "How do you get the url or id of the same post on a different instance?"
</span><span style="color:#323232;">]
</span>
nmtake,

Glad it worked. I didn’t know the endpoint before reading your post.

Seppo: Personal Social Web (seppo.social)

#Seppo empowers you to publish short texts (and images yet to come) and to network in the Social Web. By renting commodity web space and dropping a single file. Without being subject to terms and conditions. Without having to fret about small print or tech lore. And without the need for an IT-consultant. But rather having a...

nmtake,

I think you’re right. In CGI, web server spawns a process for each incoming request to the CGI app, so the author provide static files for visitors to reduce the overhead.

Edit: here is the repository: codeberg.org/seppo/seppo and written in OCaml, so the single file CGI app is a compiled binary.

nmtake,

Hi, thanks for setting up this community. I’m not a Lemmy source contributer but I like to read open sources. Here is a very simplified web application (including Lemmy) architecture overview and I hope this text helps for some newbies:

  1. A user agent (web browser, mobile app, etc.) sends an HTTP request to a Lemmy instance.
  2. The lemmy instance examines the HTTP request and dispatches the request to a relevant function called controller. The mapping from a path in the URL to a function is called a router - see github.com/LemmyNet/lemmy/…/api_routes_http.rs for example.
  3. The controller makes an HTTP response for the request and returns it to the user agent.
  4. The user agent displays the returned response to the user.

To find an controller from a path in the router, just grep (or a similar search function you use) the Lemmy source. For example, if I want to know how GET /user/export_settings works, I’ll run these commands:


<span style="color:#323232;">$ git clone https://github.com/LemmyNet/lemmy/  # if you haven't download the source yet
</span><span style="color:#323232;">$ cd lemmy
</span><span style="color:#323232;">$ rg export_settings
</span><span style="color:#323232;">src/api_routes_http.rs
</span><span style="color:#323232;">131:  user_settings_backup::{export_settings, import_settings},
</span><span style="color:#323232;">274:        web::resource("/user/export_settings")
</span><span style="color:#323232;">276:          .route(web::get().to(export_settings)),
</span><span style="color:#323232;">
</span><span style="color:#323232;">crates/apub/src/api/user_settings_backup.rs
</span><span style="color:#323232;">68:pub async fn export_settings(
</span><span style="color:#323232;">301:  use crate::api::user_settings_backup::{export_settings, import_settings};
</span><span style="color:#323232;">366:    let backup = export_settings(export_user.clone(), context.reset_request_count()).await?;
</span><span style="color:#323232;">402:    let mut backup = export_settings(export_user.clone(), context.reset_request_count()).await?;
</span>

So we got the relevant route and the controller definitions very quickly. Settings to be exported are defined as a struct UserSettingsBackup. The controller is defined as pub async fn export_settings and it converts the struct to a JSON.

Rust might not be a easy programming language but the official text (calld The Book is very friendly for newbies, so don’t hesitate to read and to write a simple program like guessing game.

Non-executable binary with invalid name

I found a binary file with a gibberish name in my home directory. Its content seems to be just hex zeroes when I open it in an online binary viewer. It doesn’t have execute permissions. It seems I accidentally ran spotify --uri= around the time the file was created (I could not replicate)....

nmtake,

Have you checked the shell command history? (e.g, history | grep spotify)

nmtake,

Most cases will be solved with these settings (but some applications may need additional tweeks):

  1. Use ja_JP.UTF-8locale, or
  2. Use https://wiki.archlinux.org/title/Font_configuration/Examples#Japanese
  • All
  • Subscribed
  • Moderated
  • Favorites
  • provamag3
  • rosin
  • mdbf
  • osvaldo12
  • ethstaker
  • tacticalgear
  • DreamBathrooms
  • thenastyranch
  • magazineikmin
  • modclub
  • Youngstown
  • everett
  • slotface
  • kavyap
  • JUstTest
  • GTA5RPClips
  • khanakhh
  • cisconetworking
  • tester
  • ngwrru68w68
  • normalnudes
  • Durango
  • InstantRegret
  • cubers
  • megavids
  • Leos
  • anitta
  • lostlight
  • All magazines