#else — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #else, aggregated by home.social.
-
Is it really bad to cook with extra virgin olive oil?
Unlike refined oils, extra virgin olive oi…
#dining #cooking #diet #food #MediterraneanOliveOil #OliveOil #bad #belongs #Better #conventional #cook #dips #Dishes #drizzled #else #extra #finished #frying #generously #is #it #kitchen #Long #Mediterranean #Oil #Olive #over #Pan #reaching #really #said #salads #Something #to #virgin #wisdom #with #youd
https://www.diningandcooking.com/2769883/is-it-really-bad-to-cook-with-extra-virgin-olive-oil/ -
Is it really bad to cook with extra virgin olive oil?
Unlike refined oils, extra virgin olive oi…
#dining #cooking #diet #food #MediterraneanOliveOil #OliveOil #bad #belongs #Better #conventional #cook #dips #Dishes #drizzled #else #extra #finished #frying #generously #is #it #kitchen #Long #Mediterranean #Oil #Olive #over #Pan #reaching #really #said #salads #Something #to #virgin #wisdom #with #youd
https://www.diningandcooking.com/2769883/is-it-really-bad-to-cook-with-extra-virgin-olive-oil/ -
Is it really bad to cook with extra virgin olive oil? https://www.diningandcooking.com/2769883/is-it-really-bad-to-cook-with-extra-virgin-olive-oil/ #bad #belongs #Better #conventional #cook #dips #Dishes #drizzled #else #extra #finished #frying #generously #is #it #kitchen #Long #Mediterranean #MediterraneanOliveOil #Oil #Olive #OliveOil #over #Pan #reaching #really #said #salads #Something #to #virgin #wisdom #with #youd
-
Is it really bad to cook with extra virgin olive oil? https://www.diningandcooking.com/2769883/is-it-really-bad-to-cook-with-extra-virgin-olive-oil/ #bad #belongs #Better #conventional #cook #dips #Dishes #drizzled #else #extra #finished #frying #generously #is #it #kitchen #Long #Mediterranean #MediterraneanOliveOil #Oil #Olive #OliveOil #over #Pan #reaching #really #said #salads #Something #to #virgin #wisdom #with #youd
-
CW: Not screen reader friendly: raw git patch inside
@hyc Hey, not sure where to ask about this, I have problems where LMDB doesn't build on MingW64-w64 due to what I suspect is a dumb NT type mismatch, a cast to (size_t*) fixed it in a pinch but I am not confident it is the ideal solution (I am no NT user)
Here is a small patch that just points where the problem occurs, I will leave it entirely to your judgement
--------------------------
diff --git a/libraries/liblmdb/mdb.c b/libraries/liblmdb/mdb.c
index 0cc1bbb..8159a2f 100644
--- a/libraries/liblmdb/mdb.c
+++ b/libraries/liblmdb/mdb.c
@@ -6949,7 +6949,7 @@ mdb_rpage_get(MDB_txn *txn, pgno_t pg0, int numpgs, MDB_page **ret, MDB_page **e
#define MAP(rc,env,addr,len,off) \
addr = NULL; \
rc = NtMapViewOfSection(env->me_fmh, GetCurrentProcess(), (void **)&addr, 0, \
- len, &off, &len, ViewUnmap, (env->me_flags & MDB_RDONLY) ? 0 : MEM_RESERVE, PAGE_READONLY); \
+ len, &off, /* Some cast required */&len, ViewUnmap, (env->me_flags & MDB_RDONLY) ? 0 : MEM_RESERVE, PAGE_READONLY); \
if (rc) rc = mdb_nt2win32(rc)
#else
off_t off; -
CW: Not screen reader friendly: raw git patch inside
@hyc Hey, not sure where to ask about this, I have problems where LMDB doesn't build on MingW64-w64 due to what I suspect is a dumb NT type mismatch, a cast to (size_t*) fixed it in a pinch but I am not confident it is the ideal solution (I am no NT user)
Here is a small patch that just points where the problem occurs, I will leave it entirely to your judgement
--------------------------
diff --git a/libraries/liblmdb/mdb.c b/libraries/liblmdb/mdb.c
index 0cc1bbb..8159a2f 100644
--- a/libraries/liblmdb/mdb.c
+++ b/libraries/liblmdb/mdb.c
@@ -6949,7 +6949,7 @@ mdb_rpage_get(MDB_txn *txn, pgno_t pg0, int numpgs, MDB_page **ret, MDB_page **e
#define MAP(rc,env,addr,len,off) \
addr = NULL; \
rc = NtMapViewOfSection(env->me_fmh, GetCurrentProcess(), (void **)&addr, 0, \
- len, &off, &len, ViewUnmap, (env->me_flags & MDB_RDONLY) ? 0 : MEM_RESERVE, PAGE_READONLY); \
+ len, &off, /* Some cast required */&len, ViewUnmap, (env->me_flags & MDB_RDONLY) ? 0 : MEM_RESERVE, PAGE_READONLY); \
if (rc) rc = mdb_nt2win32(rc)
#else
off_t off; -
@gvwilson somewhere in the programming code...
enum sexbotmodes = {
SEXBOT_MODE_REAL_TEACHER,
SEXBOT_MODE_SEXY_TEACHER,
SEXBOT_MODE_CREEPY_TEACHER,
SEXBOT_MODE_HOT_FOR_AIBROS,
SEXBOT_MODE_HOT_FOR_SEXBOTS
};#if defined(TEACHER) && defined(REAL_TEACHER)
#define SEXBOT_MODE_DEFAULT SEXBOT_MODE_REAL_TEACHER
#else
#define SEXBOT_MODE_DEFAULT SEXBOT_MODE_HOT_FOR_AIBROS
#endifbool sexbot_mode = SEXBOT_MODE_DEFAULT;
-
@gvwilson somewhere in the programming code...
enum sexbotmodes = {
SEXBOT_MODE_REAL_TEACHER,
SEXBOT_MODE_SEXY_TEACHER,
SEXBOT_MODE_CREEPY_TEACHER,
SEXBOT_MODE_HOT_FOR_AIBROS,
SEXBOT_MODE_HOT_FOR_SEXBOTS
};#if defined(TEACHER) && defined(REAL_TEACHER)
#define SEXBOT_MODE_DEFAULT SEXBOT_MODE_REAL_TEACHER
#else
#define SEXBOT_MODE_DEFAULT SEXBOT_MODE_HOT_FOR_AIBROS
#endifbool sexbot_mode = SEXBOT_MODE_DEFAULT;
-
Noticed it was fixed in beta 3 so the template now works on iOS because they added:
#if os(macOS)
...
#else
NavigationStack {
content()
}
#endifMy report didnt even have any similar reports so probably wasn't even looked at.
I submitted new feedback FB23618678 about the @.Query animation mistake #SwiftData
-
#music #Metallica #Nothing #Else #Matters
Ми зараз слухаємо це: https://youtu.be/J9KJW-pbWE0Не забувайте стежити за нашим музичним каналом [Музика на хвилях піратського Радіо 390]. Зі швидкістю ноти. Музичні треки: https://tinyurl.com/signal-music-wave
-
#music #Metallica #Nothing #Else #Matters
Ми зараз слухаємо це: https://youtu.be/J9KJW-pbWE0Не забувайте стежити за нашим музичним каналом [Музика на хвилях піратського Радіо 390]. Зі швидкістю ноти. Музичні треки: https://tinyurl.com/signal-music-wave
-
Check this dumb code in the new app template:
fileprivate struct NavigationViewWrapper<Content: View>: View {
let content: () -> Contentvar body: some View {
#if os(macOS)
NavigationSplitView {
content()
} detail: {
Text("Select an item")
}
#else
content()
#endif
}
}Means it's unusable on iOS because the toolbar doesn't appear since there is no navigation container so you just get blank white screen.
-
君の声を聞かせて Почуй свій голос
沈黙は優しさじゃない
Ті мовчазні очіhttps://www.deviantart.com/poison-raika/art/Kimi-no-Koe-wo-Kikasete-1320093244
<>
#AI生成 #leave #someone #else #future #whose #those #silent #eyes #your #they #see #wish #word #push #heart #away #even #though #already #notice #change #thing #hear #voice #right #here #now #chosen #throw #love
-
君の声を聞かせて Почуй свій голос
沈黙は優しさじゃない
Ті мовчазні очіhttps://www.pixiv.net/novel/show.php?id=27783112
<>
#AI生成 #leave #someone #else #future #whose #those #silent #eyes #your #they #see #wish #word #push #heart #away #even #though #already #notice #change #thing #hear #voice #right #here #now #chosen #throw #love
-
君の声を聞かせて Почуй свій голос
沈黙は優しさじゃない
Ті мовчазні очіhttps://note.com/poison_raika/n/n7de3371432f7
<>
#AI生成 #leave #someone #else #future #whose #those #silent #eyes #your #they #see #wish #word #push #heart #away #even #though #already #notice #change #thing #hear #voice #right #here #now #chosen #throw #love
-
creates semantic nodes and clusters #NOTHING #ELSE #MATTERS aepiot.com/advanced-sea... AÉPIOT: INDEPENDENT SEMANTIC WEB 4.0 INFRASTRUCTURE (EST. 2009): aepiot.com
MultiSearch Tag Explorer -
creates semantic nodes and clusters #ELSE #NIZIGAMA #NTAMAGIRO advanced-search.allgraph.ro/advanced-sea... #STAR #FOX #ASSAULT advanced-search.allgraph.ro/advanced-sea... Do you like aéPiot semantics? Donate to the aéPiot semantic platform: www.paypal.com/donate?busin...
MultiSearch Tag Explorer -
GHOST PROPERTY ПРИМАРНА ВЛАСНІСТЬ
汝、ゴミ制度を焼却せよ!
Спали систему сміття!https://www.deviantart.com/poison-raika/art/GHOST-PROPERTY-1285182870
<>
#AI生成 #roof #whose #hell #like #give #damn #city #hypocrite #just #blind #eye #graveyard #memories #left #rot #die #scrap #paper #sneers #owner #unknown #someone #else #land #but #cheap #excuse #your #called #justice
-
GHOST PROPERTY ПРИМАРНА ВЛАСНІСТЬ
汝、ゴミ制度を焼却せよ!
Спали систему сміття!https://www.pixiv.net/novel/show.php?id=26960192
<>
#AI生成 #roof #whose #hell #like #give #damn #city #hypocrite #just #blind #eye #graveyard #memories #left #rot #die #scrap #paper #sneers #owner #unknown #someone #else #land #but #cheap #excuse #your #called #justice
-
GHOST PROPERTY ПРИМАРНА ВЛАСНІСТЬ
汝、ゴミ制度を焼却せよ!
Спали систему сміття!https://note.com/poison_raika/n/n03418b09596f
<>
#AI生成 #roof #whose #hell #like #give #damn #city #hypocrite #just #blind #eye #graveyard #memories #left #rot #die #scrap #paper #sneers #owner #unknown #someone #else #land #but #cheap #excuse #your #called #justice
-
君の声を聞かせて Почуй свій голос
沈黙は優しさじゃない
Ті мовчазні очіhttps://www.pixiv.net/novel/show.php?id=27783112
<>
#AI生成 #leave #someone #else #future #whose #those #silent #eyes #your #they #see #wish #word #push #heart #away #even #though #already #notice #change #thing #hear #voice #right #here #now #chosen #throw #love
-
君の声を聞かせて Почуй свій голос
沈黙は優しさじゃない
Ті мовчазні очіhttps://note.com/poison_raika/n/n7de3371432f7
<>
#AI生成 #leave #someone #else #future #whose #those #silent #eyes #your #they #see #wish #word #push #heart #away #even #though #already #notice #change #thing #hear #voice #right #here #now #chosen #throw #love
-
GHOST PROPERTY ПРИМАРНА ВЛАСНІСТЬ
汝、ゴミ制度を焼却せよ!
Спали систему сміття!https://www.deviantart.com/poison-raika/art/GHOST-PROPERTY-1285182870
<>
#AI生成 #roof #whose #hell #like #give #damn #city #hypocrite #just #blind #eye #graveyard #memories #left #rot #die #scrap #paper #sneers #owner #unknown #someone #else #land #but #cheap #excuse #your #called #justice
-
GHOST PROPERTY ПРИМАРНА ВЛАСНІСТЬ
汝、ゴミ制度を焼却せよ!
Спали систему сміття!https://www.pixiv.net/novel/show.php?id=26960192
<>
#AI生成 #roof #whose #hell #like #give #damn #city #hypocrite #just #blind #eye #graveyard #memories #left #rot #die #scrap #paper #sneers #owner #unknown #someone #else #land #but #cheap #excuse #your #called #justice
-
GHOST PROPERTY ПРИМАРНА ВЛАСНІСТЬ
汝、ゴミ制度を焼却せよ!
Спали систему сміття!https://note.com/poison_raika/n/n03418b09596f
<>
#AI生成 #roof #whose #hell #like #give #damn #city #hypocrite #just #blind #eye #graveyard #memories #left #rot #die #scrap #paper #sneers #owner #unknown #someone #else #land #but #cheap #excuse #your #called #justice
-
int
openat2p(int dirfd, const char *path,
int flags, mode_t mode)
{
#ifdef __linux__
struct open_how how = {
.flags = flags,
.mode = mode,
.resolve =
RESOLVE_BENEATH |
RESOLVE_NO_SYMLINKS |
RESOLVE_NO_MAGICLINKS
};
#endifif (dirfd < 0) {
errno = EBADF;
return -1;
}if (path == NULL) {
errno = EFAULT;
return -1;
}#ifdef __linux__
return syscall(SYS_openat2, dirfd, path, &how, sizeof(how));
#else
return openat(dirfd, path, flags, mode);
#endif
} -
int
openat2p(int dirfd, const char *path,
int flags, mode_t mode)
{
#ifdef __linux__
struct open_how how = {
.flags = flags,
.mode = mode,
.resolve =
RESOLVE_BENEATH |
RESOLVE_NO_SYMLINKS |
RESOLVE_NO_MAGICLINKS
};
#endifif (dirfd < 0) {
errno = EBADF;
return -1;
}if (path == NULL) {
errno = EFAULT;
return -1;
}#ifdef __linux__
return syscall(SYS_openat2, dirfd, path, &how, sizeof(how));
#else
return openat(dirfd, path, flags, mode);
#endif
} -
@funkylab it’s really to do with it not being standardised more than anything else. Like what is the expectation of preprocessing the following file lol.h
#ifndef foo
#define foo
#else
#pragma once
#endif
#include "lol.h"
YoIs it a single “Yo” or two lines of “Yo”?
If it was defined that it needed to be the first thing in a file following whitespace, I think i’f be fine with it.
-
@funkylab it’s really to do with it not being standardised more than anything else. Like what is the expectation of preprocessing the following file lol.h
#ifndef foo
#define foo
#else
#pragma once
#endif
#include "lol.h"
YoIs it a single “Yo” or two lines of “Yo”?
If it was defined that it needed to be the first thing in a file following whitespace, I think i’f be fine with it.
-
@draeand I don't even think it used the docs lol. For the record, if you're curious: // Prism state
#ifdef USE_PRISM
static PrismContext* g_prismCtx = nullptr;
static PrismBackend* g_prismBackend = nullptr;
#endifThen, // Screen reader output - uses async message to avoid blocking UI
#ifdef USE_PRISM
static std::string g_pendingSpeech;
static bool g_speechInterrupt = true;void DoSpeak() {
if (g_prismBackend && !g_pendingSpeech.empty()) {
prism_backend_output(g_prismBackend, g_pendingSpeech.c_str(), g_speechInterrupt);
g_pendingSpeech.clear();
}
}void Speak(const char* text, bool interrupt = true) {
if (g_prismBackend && g_hwnd) {
g_pendingSpeech = text;
g_speechInterrupt = interrupt;
PostMessage(g_hwnd, WM_SPEAK, 0, 0);
}
}void Speak(const std::string& text, bool interrupt = true) {
Speak(text.c_str(), interrupt);
}
#else
void DoSpeak() {}
void Speak(const char*, bool = true) {}
void Speak(const std::string&, bool = true) {}
#endifand in the init funcs: // Initialize Prism for screen reader support
#ifdef USE_PRISM
bool InitPrism(HWND hwnd) {
PrismConfig cfg = prism_config_init();
cfg.hwnd = hwnd;g_prismCtx = prism_init(&cfg);
if (!g_prismCtx) {
return false;
}g_prismBackend = prism_registry_acquire_best(g_prismCtx);
if (!g_prismBackend) {
return false;
}PrismError err = prism_backend_initialize(g_prismBackend);
if (err != PRISM_OK) {
return false;
}return true;
}// Shutdown Prism
void FreePrism() {
if (g_prismBackend) {
prism_backend_free(g_prismBackend);
g_prismBackend = nullptr;
}
if (g_prismCtx) {
prism_shutdown(g_prismCtx);
g_prismCtx = nullptr;
}
}
#else
bool InitPrism(HWND) { return false; }
void FreePrism() {}
#endif -
#Who #else is #done #compromising? 🙋♀️
-
#if DECLARE_CONSTEXPR
template<typename T>
constexpr int f1(); // works
#else
template<typename T>
inline int f1(); // also works
#endiftemplate<>
constexpr int f1<int>(){ return 1;}static int global = 2;
template<>
inline int f1<double>(){ return global;}constexpr int f2(); // here declaration must match definition
constexpr int f2() { return 3; }int main() {
constexpr auto v1 = f1<int>();
auto const v2 = f1<double>();
auto const v3 = f2();
return v1 + v2 + v3;
} -
thank you! You see it too, right?
The desktop-revolution is ON. Hooray! 🥳
What's gained by still using "the european mainstream non-open america-OS"?
What powers "mobile-anything" devices?
What powers all the "free-or-premium" online services?And modern gamers know if it runs on: #nix #kodi #arkos #foss #else? 💾 💠
I mean:
> I don't understand the question.
> Who is Agi, and is FSD a new radical party?All the best! 🍀
-
Täältä haarasta löytyi ne kaikki joiden korvaushakemukset vakuutusyhtiö hylkäsi!
(Yllättävää oli kuitenkin se, että lohdutuspalkinto oli mattokauppa)
-
@christianselig man, i have an app with a single target, but with separate configs (Alpha, Debug, Release) and I’m adding ALPHA to the compiler flags and the highlighting has never worked: the `#if ALPHA` code DOES get executed, but the #else block is highlighted 🫠
-
#Swift folks (especially @mattiem ):
With Swift 6.2’s new concurrency checking/rejecting on Actor’s `static var …`, is it safe-enough to do something like this for dependency injection?
```swift
struct Config {
nonisolated(unsafe) private static var _shared: Self = .init()
#if TESTING
static var shared: Self {
get { Self._shared }
set { Self._shared = newValue }
}
#else
static var shared: Self { Self._shared }
#endif…
}
``` -
As it happens, we still use CVS in our operating system project (there are reasons for doing this, but migration to git would indeed make sense).
While working on our project, we occasionally have to do a full checkout of the whole codebase, which is several gigabytes. Over time, this operation has gotten very, very, very slow - I mean "2+ hours to perform a checkout" slow.
This was getting quite ridiculous. Even though it's CVS, it shouldn't crawl like this. A quick build of CVS with debug symbols and sampling the "cvs server" process with Linux perf showed something peculiar: The code was spending the majority of the time inside one function.
So what is this get_memnode() function? Turns out this is a support function from Gnulib that enables page-aligned memory allocations. (NOTE: I have no clue why CVS thinks doing page-aligned allocations is beneficial here - but here we are.)
The code in question has support for three different backend allocators:
1. mmap
2. posix_memalign
3. mallocSounds nice, except that both 1 and 3 use a linked list to track the allocations. The get_memnode() function is called when deallocating memory to find out the original pointer to pass to the backend deallocation function: The node search code appears as:
for (c = *p_next; c != NULL; p_next = &c->next, c = c->next)
if (c->aligned_ptr == aligned_ptr)
break;The get_memnode() function is called from pagealign_free():
#if HAVE_MMAP
if (munmap (aligned_ptr, get_memnode (aligned_ptr)) < 0)
error (EXIT_FAILURE, errno, "Failed to unmap memory");
#elif HAVE_POSIX_MEMALIGN
free (aligned_ptr);
#else
free (get_memnode (aligned_ptr));
#endifThis is an O(n) operation. CVS must be allocating a huge number of small allocations, which will result in it spending most of the CPU time in get_memnode() trying to find the node to remove from the list.
Why should we care? This is "just CVS" after all. Well, Gnulib is used in a lot of projects, not just CVS. While pagealign_alloc() is likely not the most used functionality, it can still end up hurting performance in many places.
The obvious easy fix is to prefer the posix_memalign method over the other options (I quickly made this happen for my personal CVS build by adding tactical #undef HAVE_MMAP). Even better, the list code should be replaced with something more sensible. In fact, there is no need to store the original pointer in a list; a better solution is to allocate enough memory and store the pointer before the calculated aligned pointer. This way, the original pointer can be fetched from the negative offset of the pointer passed to pagealign_free(). This way, it will be O(1).
I tried to report this to the Gnulib project, but I have trouble reaching gnu.org services currently. I'll be sure to do that once things recover.