MinekPo1

joined 2 years ago
[–] [email protected] 4 points 5 months ago (2 children)

not exactly a DAW/VST but VCV Rack is a open source (though with a pro version , the pro version can work as a VST though I never used it in that way) eurorack modular synthesizer symulator if you want to experiment a bit

[–] [email protected] 5 points 6 months ago (2 children)

to my knowledge disabled apps do not run so you must have misunderstood something

[–] [email protected] 1 points 6 months ago (1 children)

if I understand correctly the rethink app does also work as a firewall , so no . I've also found netguard to be less intuitive and to have a less readable UI .

if you are just using rethink as a DNS provider however then netguard (or the rethink app) can allow you to have more granular control over specific apps .

[–] [email protected] 2 points 6 months ago

just gonna say , rethink combines both a firewall and a DNS blocker .

[–] [email protected] 2 points 6 months ago

And give “the verge” some ad revenue?

Wait you don't have an ad blocker ? (to be fair I use an adblocker which does pretend to watch and click ads thus giving the verge ad revenue)

[–] [email protected] 6 points 6 months ago

I doubt it would affect Newpipe either honesty

[–] [email protected] 16 points 7 months ago

sorry but I believe you are mistaken , there is both control and moderation on both the main fdroid repo and other repos .

  • the official fdroid repo only requires apps to be fully FLOSS , see their inclusion policy
  • izzydroid requires the app to be both free and gratis , not promote "violence, hate, harassment, racism and similar topics" and to have limited tracking see their inclusion policy

other repos only include apps from a single project/dev

[–] [email protected] 2 points 8 months ago (1 children)

reading through your comments I feel like the issue is of interpretation : what I , and possibly others , assumed you were trying to say is that non native English speakers have an advantage when trying to interpret the meaning of words , so sorry about that .

Thinking about it however , I believe I have been taught more about linguistics in my Polish lessons than in my English lessons . Unfortunately , as you have suspected many students will , I forgot a large portion of it , which I am especially unhappy about now that I am getting interested in recreational linguistics , I still remember some of it , with parts of speech (not to be confused with constituents (that joke would be quite a bit better in Polish as constituents literally means parts of (a) sentence in Polish)) being one of the most basic building blocks of language

[–] [email protected] 2 points 8 months ago (1 children)

ah I must have misunderstood your comment , I think you may have replied to a different comment than you have intended to ?

also just as a side note , one counter example is many autistic people , myself included prefer the term autistic person rather than person with autism , though to be fair that is moreso an adjective but the way you worded that sentence suggests its also incorrect in some cases yeah um

also I have never met a single copper , really must open myself to new experiences /j :)

[–] [email protected] 1 points 8 months ago

not OP but in Polish there is no word for boyfriend or girlfriend, you just say boy or girl which is kinda funny. however because Polish has grammatical gender, you can say boy friend/girl friend and even enby friend, thanks to neoforms! (przyjaciel, przyjaciółka, przyjacioło)

though note that partner is also gendered (partner, partnerka, partnerze)

[–] [email protected] 1 points 8 months ago (3 children)

something I'd like to add is that while you were not told the rules, you likely learned quite a few of them subconsciously.

personally to this day I struggle with what present perfect and others are, but I can use them easily. similarly I can't say which grammatical case is which in my native language but I have no issue using them.

[–] [email protected] 4 points 8 months ago (3 children)

sorry but I think you are misjudging just how much you learn both grammar and vocabulary from speaking a language natively and possibly misjudging how well education can teach someone a language

languages are these surprisingly complex and irregular things, which are way easier to learn by doing than by trying. often entering school you can already use tenses or grammatical structures that students learning English as a second language will struggle with a few years later in their educational journey, while you can spend that time unknowingly building up an even better subconscious understanding of the language.

Besides, from my experience, having basic Polish and extended English mind you, the tasks you are expected to do in the lessons of ones native language require a way higher degree of mastery than those in the second language of a pupil.

Also, it should be noted that non native speakers, or fluent speakers of multiple languages, can often borrow things from another language into English, either translating fraises literary (ex. once in a Russian year instead of once per blue moon) or using a unrelated word which happens to have a connection in the other language for other reasons (ex. castle and zipper both translate to "zamek" in Polish)

also mind that for a not insignificant number of people, though due to how more connected our world is today this has slightly decreased in the recent years, the level of English they ended up with from school is quite poor.

 

alt

#include <type_traits>

// from https://stackoverflow.com/a/8625010/12469275
// cmath's sqrt is constexpr from c++26
constexpr std::size_t isqrt_impl
	(std::size_t sq, std::size_t dlt, std::size_t value){
	return sq <= value ?
		isqrt_impl(sq+dlt, dlt+2, value) : (dlt >> 1) - 1;
}

constexpr std::size_t isqrt(std::size_t value){
	return isqrt_impl(1, 3, value);
}

// because pack indexing is only in c++26
template <std::size_t I, typename T = void, std::size_t... V>
struct At;

template <std::size_t I>
struct At<I, void> {};

template <std::size_t V0, std::size_t... V>
struct At<0, void, V0, V...> {
	static const std::size_t value = V0;
};

template <std::size_t I, std::size_t V0, std::size_t... V>
struct At<I, std::enable_if_t<I != 0 && I <= sizeof...(V),void>, V0, V...> {
	static const std::size_t value = At<I-1, void, V...>::value;
};

template <std::size_t A, std::size_t B>
struct Add {
	static const std::size_t value = A + B;
};

template <std::size_t begin, std::size_t end, std::size_t step, template<std::size_t A, std::size_t B> typename R, std::size_t I, typename _, std::size_t... V>
struct _ReduceFor;

template <std::size_t begin, std::size_t end, std::size_t step, template<std::size_t A, std::size_t B> typename R, std::size_t I, std::size_t... V>
struct _ReduceFor<begin, end, step, R, I, std::enable_if_t<(begin < end),void>, V...> {
	typedef R<At<begin,void, V...>::value,_ReduceFor<begin+step, end, step, R, I, void, V...>::type::value> type;
};

template <std::size_t begin, std::size_t end, std::size_t step, template<std::size_t A, std::size_t B> typename R, std::size_t I, std::size_t... V>
struct _ReduceFor<begin, end, step, R, I, std::enable_if_t<(begin >= end), void>, V...> {
	typedef std::integral_constant<std::size_t,I> type;
};

template <std::size_t begin, std::size_t end, std::size_t step, template<std::size_t A, std::size_t B> typename R, std::size_t I, std::size_t... V>
using ReduceFor = _ReduceFor<begin,end,step,R,I,void,V...>;

template <std::size_t begin, std::size_t end, std::size_t step, template<std::size_t I, typename T> typename V, typename T, typename _>
struct AllFor;

template <std::size_t begin, std::size_t end, std::size_t step, template<std::size_t I, typename T> typename V, typename T>
struct AllFor<begin, end, step, V, T, std::enable_if_t<(begin < end), void>> {
	typedef std::enable_if_t<std::is_same<typename V<begin, bool>::type, bool>::value, typename AllFor<begin+step, end, step, V, T, void>::type> type;
};
template <std::size_t begin, std::size_t end, std::size_t step, template<std::size_t I, typename T> typename V, typename T>
struct AllFor<begin, end, step, V, T, std::enable_if_t<(begin >= end), void>> {
	typedef T type;
};

template <std::size_t begin, std::size_t end, std::size_t step, template<std::size_t I, typename T> typename V, typename T>
using AllFor_t = typename AllFor<begin, end, step, V, T, void>::type;

template <std::size_t S, typename T, std::size_t... V>
struct ValidRows {
	template <std::size_t I, typename T2>
	struct Inner {
		typedef std::enable_if_t<ReduceFor<I, I+S, 1, Add, 0, V...>::type::value == S * (S*S + 1)/2, T2> type;
	};
	typedef AllFor_t<0, S*S, S, Inner, T> type;
};
template <std::size_t S, typename T, std::size_t... V>
struct ValidColumns {
	template <std::size_t I, typename T2>
	struct Inner {
		typedef std::enable_if_t<ReduceFor<I, I+S*S, S, Add, 0, V...>::type::value == S * (S*S + 1)/2, T2> type;
	};
	typedef AllFor_t<0, S, 1, Inner, T> type;
};
template <std::size_t S, typename T, std::size_t... V>
struct ValidDiags {
	typedef std::enable_if_t<ReduceFor<0,S*S,S+1,Add, 0, V...>::type::value == S * (S*S + 1)/2 && ReduceFor<S-1,S*S-1,S-1,Add, 0, V...>::type::value == S * (S*S + 1)/2, T> type;
};

template <typename T, std::size_t... V>
struct Unique;

template <typename T, std::size_t N, std::size_t... V>
struct Unique<T,N,V...> {
	template <std::size_t I, typename T2>
	struct Inner {
		typedef std::enable_if_t<N != At<I,void,V...>::value,T2> type;
	};
	typedef AllFor_t<0,sizeof...(V),1,Inner,T> type;
};

template <typename T, std::size_t V>
struct Unique<T, V> {
	typedef T type;
};

template <typename T, std::size_t... V>
struct InRange {
	template <std::size_t I, typename T2>
	struct Inner {
		typedef typename std::enable_if<1 <= At<I,void, V...>::value && At<I,void,V...>::value <= sizeof...(V), T2>::type type;
	};
	typedef AllFor_t<0,sizeof...(V),1,Inner,T> type;
};

template <typename T, std::size_t... V>
struct Grid {
	static const std::size_t S = isqrt(sizeof...(V));
	typedef std::enable_if_t<S*S == sizeof...(V), typename ValidRows<S, typename ValidColumns<S, typename ValidDiags<S, typename Unique<typename InRange<T,V...>::type, V...>::type, V...>::type, V...>::type, V...>::type> type;
};

using ok = Grid<void,
	2, 7, 6,
	9, 5, 1,
	4, 3, 8>::type;

int main() {}

 

I mean I know its likely gonna change once the big waves wash over but still.

Alt: Drake meme template but with a anime girl. Top row with the girl gesturing approvingly says: if reddit is gonna kill 3rd party clients then I'm just gonna switch to Lemmy. Bottom row, with the girl showing distress, says: there arent as many funny trans people on Lemmy rn

view more: next ›