[-] MinekPo1@lemmy.ml 22 points 4 months ago

fun fact : the angle is now around 3" 26' which is just slightly over ¹/₂₀ of a degree !

[-] MinekPo1@lemmy.ml 4 points 4 months ago

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

[-] MinekPo1@lemmy.ml 28 points 5 months ago* (last edited 5 months ago)

No its microsofts database GUI program that's part of Microsoft Office . imagine software made for users who have a vague understanding of SQL and visual basic but then an exec. forced the designers and devs to make it accessible to everyone while giving them barely any teamembers causing a fuckton of technical debt and unintuitive quirks , making anyone who opens the software feel like they have just been placed in a highly equipped tank , in front of a wall of unlabeled levers and told to drive the tank , or at least that's how I view it.

(reposting from another account sorry if you see both comments)

[-] MinekPo1@lemmy.ml 2 points 6 months ago

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

[-] MinekPo1@lemmy.ml 2 points 6 months ago

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 :)

[-] MinekPo1@lemmy.ml 1 points 6 months ago

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.

[-] MinekPo1@lemmy.ml 4 points 6 months ago

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.

[-] MinekPo1@lemmy.ml 2 points 7 months ago

I mean yeah it is very overblown , sorry I did not make it clear

[-] MinekPo1@lemmy.ml 15 points 7 months ago

honestly , while I believe this is random=funny, I think it is interesting to interpret:

I believe that the person is a transmasc individual , who had a supportive grandma , but she died and he has been sent to conversion therapy by his unsupportive parents

[-] MinekPo1@lemmy.ml 12 points 7 months ago
106
submitted 7 months ago by MinekPo1@lemmy.ml to c/programmerhumor@lemmy.ml

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() {}

[-] MinekPo1@lemmy.ml 3 points 7 months ago

note that it continues onto the next line

[-] MinekPo1@lemmy.ml 44 points 7 months ago

TL;DR: Grid<A,B,C,D,E,F,G,H> simplifies to true, if and only if it is a 3x3 magic square.

full explanation

  • Fifteen is an array of length 15
  • T<A,B,C> checks if an array of length A+B+C is equivalent to an array of length 15, thus checking if A+B+C is equal to 15
  • And<A,X> is simplifies to X if A is true, else it simplifies to false
  • Df<A,B,X> checks if A and B are Diffrent , simplifying to X if they are
  • Grid<A,B,C,D,E,F,G,H> first checks if every row, column and diagonal is equal to 15, then checks if every item is unique.
-1
submitted 1 year ago by MinekPo1@lemmy.ml to c/memes@lemmy.ml

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 ›

MinekPo1

joined 2 years ago