On the other hand, it made webpages way less flexible.
Like yesterday (i have the browser not in fullscreen, for reasons) on my 16" fullhd notebook, webdev couldn’t imagine that someone would use his site in a ~1000px browser window, sidebars left and right, the main content about 20 characters wide squeezed inbetween. So i pressed f12 and deleted the sidebars. But the content was still 20em wide, because of flexbox.
That one is not that complicated if you don’t think about the math. It’s basically just if we interpret the float as int and add a magic number we have a good estimation.
From what I remember at least, it’s been a little while since I implemented it.
So many solver solutions that day, either Z3 or Gauss-Jordan lol. I got a little obsessed about doing it without solvers or (god forbid) manually solving the system and eventually found a relatively simple way to find the intersection with just lines and planes:
Translate all hailstones and their velocities to a reference frame in which one stone is stationary at 0,0,0 (origin).
Take another arbitrary hailstone (A) and cross its (rereferenced) velocity and position vectors. This gives the normal vector of a plane containing the origin and the trajectory of A, both of which the thrown stone must intersect. So, the trajectory of the thrown stone lies in that plane somewhere.
Take two more arbitrary hailstones B and C and find the points and times that they intersect the plane. The thrown stone must strike B and C at those points, so those points are coordinates on the line representing the thrown stone. The velocity of the thrown stone is calculated by dividing the displacement between the two points by the difference of the time points of the intersections.
Use the velocity of the thrown stone and the time and position info the intersection of B or C to determine the position of the thrown stone at t = 0
Translate that position and velocity back to the original reference frame.
It’s a suboptimal solution in that it uses 4 hailstones instead of the theoretical minimum of 3, but was a lot easier to wrap my head around. Incidentally, it is not too hard to adapt the above algorithm to not need C (i.e., to use only 3 hailstones) by using line intersections. Such a solution is not much more complicated than what I gave and still has a simple geometric interpretation, but I’ll leave that as an exercise for the reader :)
Eh, your statement is accurate for PHP4 and still relevant up to PHP5.2… We’re on PHP8.3 now and PHP8.0 is now out of security updates. I know it’s trend to hate on PHP but you’ve got to at least update your materials to var-vars… it’s like knocking node for having substr() and substring().
2 years ago I tried to give a drupal project the ci/cd makeover (i.e. containers, test-deployments, reproducable builds, etc)… that’s when my hate was freshly renewed.
At this point I think it’s ok to let a dead language die and move on to something else (anything else, really)
“I know nothing about this subject, I’m gonna post a meme (a funny graphic usually about a specific topic, this one outlining the differences between languages) but I know nothing about the subject and will ask that nobody correct me or try to apply rationale here because I choose to be ignorant and have no interest in expanding my knowledge of the world and people around me, I just want people to tell me I’m funny and give me internet points”
I believe the idea is to potentially induce a brief nasal snort possibly accompanied by a slight upward curling of the lips in those casually scrolling by. In other words, it’s a joke, being posted on a joke community.
A coding humor community, if you gotta post about it, you should probably expect it.
We’re adults, we can joke about stuff and also talk about stuff… unless you’re not which would still be okay because I wouldn’t be interested in discussion then
To the point that I’m doubting the OP’s non-knowledge.
He must know at least a lot of C++… But I disagree with the PHP one; it always transforms the problem, never leaves it alone. And transforms it very productively.
We had planned to get some memeing done but we had an all-hands right before sprint review, then sprint retro, then there was an “optional” product sync that we kinda had to go to, and then the team social, and that was basically our whole day.
Thought we might meme a bit at lunch, but there was a lunch-and-learn and it’s not like we were going to skip a free lunch.
When did I ever tell people not to respond? Where am I being ignorant? I told people to not take the post seriously, because it is a joke post on a community about jokes. By all means, have discussion in the comments, silly or serious. I’ll gladly listen in and maybe learn something. Just don’t try to dissect silly things with serious arguments.
It was an over simplification for the sake of dramatic effect in our conversation, not that deep.
I also was under the wrong impression given this new info, thanks for clarifying. I really wasn’t mad or upset or anything like everyone keeps trying to gaslight me into thinking. Was just pointing out an observation I had…
Why is everyone wound so tight here in a joke community?
I was mainly thinking about how so many Rust projects advertise very loudly that they’re written in Rust. Like, they would have -rs in the name, or “in Rust” as part of their one-line description. You rarely see this kind of enthusiasms for the the language in other languages. Not a bad thing by the way! And also there’s the “rewrite it in rust” meme, where people seem to take perfectly functional projects and port them to Rust (again, not a bad thing! Strength in diversity!)
For Python I think there’s an actual point though: A lot of Python projects are user friendly wrappers for pre-compiled high-performance code. It makes sense to call something “py<SomeKnownLibrary>” to signal what the library is.
XML is great because while most config formats compromise on either being human-readable or machine-readable, XML solves this problem by being utterly incomprehensible to man and machine alike 😍
Is xml really that unreadable for machines? I enjoy xml as a format, because I can generally just convert it to an s-expression and easily manipulate it as a tree.
Over the top tone: “Pretty sure that won’t compile. $EVAL_ERROR modulo what you get from the filehandle called = isn’t an lvalue that can be put through the Goatse operator that I’m aware of.”
But seriously(?), I’m almost certain that’s not how that would be parsed. = isn’t a valid bareword, so Perl would choke on the spaceship operator not being a term… I think.
After testing… It’s worse. I think it’s parsing <> as the glob operator and = as a filespec.
For those who don’t know Perl:
Because of its appearance, <=> really is called the spaceship operator (at least, when it can be parsed as an operator and not whatever happened above).
=()= by comparison has unofficially been called Goatse. If you don’t know what Goatse is, find out at your own risk. If you do know, you can see why this particular pseudo-operator was given that name.
And if you’re still reading, =()= is a pseudo-operator because it’s not actually parsed as part of the syntax. It’s literally an assignment operator = followed by an empty list () followed by another assignment operator =, providing list context to the outside of the equals signs that wouldn’t otherwise be there.
[Why are you still still reading?] Context is important in Perl. If a function returns a list of values (which is something Perl functions can do) and you try to store the result in a scalar variable, replacing the usual = with =()= will store the number of elements returned rather than the last element of the list.
Perl is write-only code. Larry Wall raised a monkey’s paw and asked for a language that works the way programmers want. So most Perl is the first thing someone tried, unfiltered by rigid syntax putting your thoughts in order, compiler warnings bringing side effects to mind, or even names forcing you to decide what a variable is. An uncommented Perl script is raw brain patterns displayed as ASCII.
Thank god it runs like crap. We’d be in so much trouble if it was fast. Optimized C isn’t exactly gorgeous, but any project that compiles proves someone looked at the code more than once.
I love the term “write-only code”, it’s perfect. I used to love Perl as it felt like it flowed straight from my brain into the keyboard. What a free and magical language.
So it turned out I had ADHD. Took meds, went back to C/++ with renewed appreciation, haven’t touched Perl since as it horrifies me to look at it. What a nightmare of dangling references and questionable typing. Any language that allows you to cast a string to a function and call it really needs to sit down and think about what it’s doing.
No such thing as eval in non-interpreted languages. Unless you’re crazy enough to invoke the compiler and exec() the result.
I used eval too in my Perl days which is why I specifically called it out. IMO any time you see eval used there should be another, more proper way to do it.
I personally never understood how anyone could find Perl appealing or even “good” to program in, probably because I could never understand wtf the code was meant to do
Accurate. LaTeX is great, it makes you feel like you have superpowers compared to “office suite”-style software. But every once in a while you just run into some bullshit that feels like it’s stuck in 1985 and it completely breaks your flow. I remember wanting to make a longtable where text in the “date” column would be rotated by 90 degrees to leave more horizontal room for the other columns. It took me two rotateboxes, a phantom, a vspace, a hspace and 40 minutes of my life to get the alignment right. Would probably have taken a duckduckgo search and three clicks in Libreoffice.
I still have no idea how to exit the build process. It tells I need to type H or \end but it also just lies. I find the easiest way is to invoke Ctrl-Z and then kill the background process, and the younglings children
Yeah, what the hell is up with that? I always just echo | pdflatex to make it shut up and exit on error. Maybe one day I’ll learn how to actually use that interactive compilation thing, but not today lol.
So there are many different commands that compile LaTeX, right? pdflatex, pdftex, latexmk, etc. But they all do that thing where they ask for your input as soon as they encounter an error, right? Well, if you just pipe an empty echo command to them, it notices that stdin has reached end-of-file, and gives up trying to ask the user for input, and just exits on first error. So instead of pdflatex mydocument.tex, you can do echo | pdflatex mydocument.tex and it won’t ask you for input if it sees an error, it’ll just exit. There’s probably a “proper” way to achieve the same behaviour, but I can’t be arsed to read the docs.
Speaking of stupid TeX hacks, at one point I had a script called latex_compile_and_install_packages_until_it_works.sh. It’s essentially a loop that repeatedly tries to compile a document, searches the output of the compiler for anything that looks like a missing package error, and pipes it to sudo tlmgr install. The “fuck it” of package management, arbitrary code execution exploit included!
(Sorry for the screenshot, I lost the original script in text form, probably for the better)
Haha that’s brilliant! I have a similar script for Conda, where it tries to install R packages by first looking in bioconductor and then trying the rejects through conda-forge, and then the rejects from that are compiled from source or just outright rejected.
I would have thought you would have needed a (while :; do echo; done) | pdflatex or a yes "\end" | pdflatex, i.e. something that repeatedly generates output. It’s actually quite elegant that pdflatex checks if stdin is already EOF
tries to install R packages by first looking in bioconductor and then trying the rejects through conda-forge, and then the rejects from that are compiled from source
My two cents, after years of Markdown (and md to PDF solutions) and LaTeX and a full two years of trying to commit to bashing my head against Word for work purposes, I’m really enjoying Typst. It didn’t take long to convert my themes, having docs I can import which are basically just variables to share across documents in a folder has been really helpful. Haven’t gone too deep into it but I’m excited to give it a deeper test run over the next little bit.
Never heard of it before, but might give it a try at some point. From the website, it seems like something halfway in between LaTeX and Markdown? Sounds exactly like what I need at times, tbh.
Funnily enough I had a similar problem but I wanted text instead of a date. In the end I used a solution similar to yours and adjusted each cell entry manually for hours. Feels like there should be a lot simpler solution for this problem in LaTeX. Glad I don’t need to use it anymore…
u/vox@sopuli.xyz suggested Typst as an alternative to TeX. I gave it a try, and I’m loving it so far. It even has built-in support for the rotated text thing https://typst.app/docs/reference/model/table . I’ve only used it for notes/homework so far, but I’m looking forward to seeing how it fares for more serious typesetting tasks.
You are not logged in. However you can subscribe from another Fediverse account, for example Lemmy or Mastodon. To do this, paste the following into the search field of your instance: !programmerhumor@lemmy.ml
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
Posts must be relevant to programming, programmers, or computer science.
No NSFW content.
Jokes must be in good taste. No hate speech, bigotry, etc.
missing the stage of C where it’s all incomprehensible bitfucking with comments like “this works, i do not know why it works, do not touch this”
C should show some overflow corruption of the problem graphic.
I had this in CSS.
CSS isn’t as bad these days if you use Flexbox. Debugging floats and absolute/relative positioning was a nightmare in comparison.
On the other hand, it made webpages way less flexible.
Like yesterday (i have the browser not in fullscreen, for reasons) on my 16" fullhd notebook, webdev couldn’t imagine that someone would use his site in a ~1000px browser window, sidebars left and right, the main content about 20 characters wide squeezed inbetween. So i pressed f12 and deleted the sidebars. But the content was still 20em wide, because of flexbox.
Real fast inverse square root algorithm hours
That one is not that complicated if you don’t think about the math. It’s basically just if we interpret the float as int and add a magic number we have a good estimation.
From what I remember at least, it’s been a little while since I implemented it.
I was more thinking of the comments which are pretty much exactly what you said (“incomprehensible bit hacks” followed by “what the FUCK?”)
IIRC also relying on how floating-point is basically scientific notation and the most-significant bits are the exponent.
And most importantly, relying on how a sloppy answer works just fine. The most important skill in game development is cheating.
Makes me feel better about my own game dev attempts lmao.
Python one is accurate. Most of our problems are solved by importing a library and writing the line, librarySolver.importedFunction.SolveMyProblem()
def main(): Print(‘thanks librarySolver’)
deleted by creator
Advent of code 2023 day 24 part 2. Z3 solver saved the day on that one.
Now I have PTSD every time I see an hailstorm.
So many solver solutions that day, either Z3 or Gauss-Jordan lol. I got a little obsessed about doing it without solvers or (god forbid) manually solving the system and eventually found a relatively simple way to find the intersection with just lines and planes:
It’s a suboptimal solution in that it uses 4 hailstones instead of the theoretical minimum of 3, but was a lot easier to wrap my head around. Incidentally, it is not too hard to adapt the above algorithm to not need C (i.e., to use only 3 hailstones) by using line intersections. Such a solution is not much more complicated than what I gave and still has a simple geometric interpretation, but I’ll leave that as an exercise for the reader :)
That is a great explanation of how you solved it, thanks! I should go back to it and conquer that puzzle properly without a solver. Or at least try.
PHP: Problem ->
real_solution_for_real_this_time()
(real_solution_i_swear()
is unsafe and deprecated)PHP: Problem -> Laravel -> Solution
Ahem: Problem -> Laminas -> Solution
Eh, your statement is accurate for PHP4 and still relevant up to PHP5.2… We’re on PHP8.3 now and PHP8.0 is now out of security updates. I know it’s trend to hate on PHP but you’ve got to at least update your materials to var-vars… it’s like knocking node for having
substr()
andsubstring()
.2 years ago I tried to give a drupal project the ci/cd makeover (i.e. containers, test-deployments, reproducable builds, etc)… that’s when my hate was freshly renewed.
At this point I think it’s ok to let a dead language die and move on to something else (anything else, really)
mysql_real_escape_string
i feel like javascript could also be
Problem -> solution -> 3 days pass -> all dependencies had breaking changes made -> problem
I never understood this logic:
“I know nothing about this subject, I’m gonna post a meme (a funny graphic usually about a specific topic, this one outlining the differences between languages) but I know nothing about the subject and will ask that nobody correct me or try to apply rationale here because I choose to be ignorant and have no interest in expanding my knowledge of the world and people around me, I just want people to tell me I’m funny and give me internet points”
To each their own ig
if you don’t understand memes, you’re in the wrong place
CC BY-NC-SA 4.0
Says the person posting the lemmy equivalent of the facebook copypasta after their comments.
This is not Reddit tho.
Geez relax lol. Just downvote it and move on.
Why does everyone always assume you have to be fuming to bring up something goofy you saw lmao
Y’all are the ones who need to chill apparently
Because they themselves are fuming
I believe the idea is to potentially induce a brief nasal snort possibly accompanied by a slight upward curling of the lips in those casually scrolling by. In other words, it’s a joke, being posted on a joke community.
A coding humor community, if you gotta post about it, you should probably expect it.
We’re adults, we can joke about stuff and also talk about stuff… unless you’re not which would still be okay because I wouldn’t be interested in discussion then
…but it’s funny (although it would’ve been funnier if C was “Problem -> Buffer Overflow”)
Yeah it’s a funny meme, was specifically pointing out the post text though not the meme specifically/directly
If you have never had a segmentation fault, then you have never programmed in C
DATA ABORT
@stevedidwhat_infosec @renzev I agree in principle but this meme is unironically accurate?
Again, I’m referring to OPs message. Not the meme itself, which was funny.
To the point that I’m doubting the OP’s non-knowledge.
He must know at least a lot of C++… But I disagree with the PHP one; it always transforms the problem, never leaves it alone. And transforms it very productively.
deleted by creator
We need a SeniorProgrammerHumor community. Less jokes about quitting vim and programming languages and more about every day funny issues.
We no longer have humor, it’s been beaten out of us by code reviews and merge conflicts.
People tried that on Reddit. We got a handful of jokes, but nobody had time to laugh of them or post new ones.
We had planned to get some memeing done but we had an all-hands right before sprint review, then sprint retro, then there was an “optional” product sync that we kinda had to go to, and then the team social, and that was basically our whole day.
Thought we might meme a bit at lunch, but there was a lunch-and-learn and it’s not like we were going to skip a free lunch.
to get an invide you must have at least 5 years of verifyable lemmy-experience
Hello JavaScript user 🙃
Ew.
Also, terrible attempt at a strawman, you didn’t even try lol. Unsurprising response tho from king shallow over here
Hello angry underpaid programmer
You’re looking for logic in a joke.
Do you question why Donald Trump, the pope and a kid are the only passengers on a plane that’s about to crash?
I bet it was an orgy.
You’re misunderstanding my text.
The joke is funny, telling people not to respond because “it’s just a joke” is cringe.
We can talk about reality and also joke about stuff.
When did I ever tell people not to respond? Where am I being ignorant? I told people to not take the post seriously, because it is a joke post on a community about jokes. By all means, have discussion in the comments, silly or serious. I’ll gladly listen in and maybe learn something. Just don’t try to dissect silly things with serious arguments.
It was an over simplification for the sake of dramatic effect in our conversation, not that deep.
I also was under the wrong impression given this new info, thanks for clarifying. I really wasn’t mad or upset or anything like everyone keeps trying to gaslight me into thinking. Was just pointing out an observation I had…
Why is everyone wound so tight here in a joke community?
OK rust made me laugh
Yeah that one got me too. Rust has tons of c libs wrapped in safe rust.
I was mainly thinking about how so many Rust projects advertise very loudly that they’re written in Rust. Like, they would have
-rs
in the name, or “in Rust” as part of their one-line description. You rarely see this kind of enthusiasms for the the language in other languages. Not a bad thing by the way! And also there’s the “rewrite it in rust” meme, where people seem to take perfectly functional projects and port them to Rust (again, not a bad thing! Strength in diversity!)Yeah, no python package has “py”, JavaScript “.js” or java “java”. None at all.
For Python I think there’s an actual point though: A lot of Python projects are user friendly wrappers for pre-compiled high-performance code. It makes sense to call something “py<SomeKnownLibrary>” to signal what the library is.
Well, it’s the same in rust, that’s why I agree more with the first interpretation.
There is an existing solution in C/C++, just make some binding and call it *.rs
Both python and rust use py and rs in the same way, to signal that it’s the python/rust version of that library.
Of course, there are exceptions, but that’s what usually happens.
Check Julia then, .jl everywhere
I’d even say Rust is python but gone through
format!("{}-rs", problem)
C could just be a blank and you have to bit blit the arrow on yourself.
deleted by creator
Java:
Problem -> NullPointerException.
Great! The problem is lost in the memory. That means it doesn’t exist anymore right? Right?
More like
And then it throws a NullPointerException.
Needs more
Beans
andAbstractFactoryFactory
Exactly. And configured by 5000 lines of brittle XML.
XML is great because while most config formats compromise on either being human-readable or machine-readable, XML solves this problem by being utterly incomprehensible to man and machine alike 😍
Is xml really that unreadable for machines? I enjoy xml as a format, because I can generally just convert it to an s-expression and easily manipulate it as a tree.
But you repeat yourself.
No internal logging framework/facade used!
C --> segfault --> new problem
Sry, the best I can do on mobile
It’s good
🙉 it’s perfect!
Perl:
Problem -> $ @ % <=> <> =()= => ; qw() ])} select(undef, undef, undef, 0.25) =~ tr/.?\w\sREg3xfr0mhe|l/foo/g; $|++ &homebrewedFunction(%$ref, $_ , @_ ) -> solution
Source: I mainly code in perl. I like it, but I’ll be the first to admit that it’s not a beautiful language.
I was about to make an entry for lisp here, but I don’t have enough parentheses to draw the path to the solution.
Over the top tone: “Pretty sure that won’t compile.
$EVAL_ERROR
modulo what you get from the filehandle called=
isn’t an lvalue that can be put through the Goatse operator that I’m aware of.”But seriously(?), I’m almost certain that’s not how that would be parsed.
=
isn’t a valid bareword, so Perl would choke on the spaceship operator not being a term… I think.After testing… It’s worse. I think it’s parsing
<>
as theglob
operator and=
as a filespec.For those who don’t know Perl:
Because of its appearance,
<=>
really is called the spaceship operator (at least, when it can be parsed as an operator and not whatever happened above).=()=
by comparison has unofficially been called Goatse. If you don’t know what Goatse is, find out at your own risk. If you do know, you can see why this particular pseudo-operator was given that name.And if you’re still reading,
=()=
is a pseudo-operator because it’s not actually parsed as part of the syntax. It’s literally an assignment operator=
followed by an empty list()
followed by another assignment operator=
, providing list context to the outside of the equals signs that wouldn’t otherwise be there.[Why are you still still reading?] Context is important in Perl. If a function returns a list of values (which is something Perl functions can do) and you try to store the result in a scalar variable, replacing the usual
=
with=()=
will store the number of elements returned rather than the last element of the list.It’s not supposed to be compilable. It’s more intended as a list of weird looking (but valid and useful) perl stuff.
As for the goatse operator, I’ve mostly used it for counting amount of regex matches.
Oh, and I forgot the diamond operator. Added.
Perl is write-only code. Larry Wall raised a monkey’s paw and asked for a language that works the way programmers want. So most Perl is the first thing someone tried, unfiltered by rigid syntax putting your thoughts in order, compiler warnings bringing side effects to mind, or even names forcing you to decide what a variable is. An uncommented Perl script is raw brain patterns displayed as ASCII.
Thank god it runs like crap. We’d be in so much trouble if it was fast. Optimized C isn’t exactly gorgeous, but any project that compiles proves someone looked at the code more than once.
I love the term “write-only code”, it’s perfect. I used to love Perl as it felt like it flowed straight from my brain into the keyboard. What a free and magical language.
So it turned out I had ADHD. Took meds, went back to C/++ with renewed appreciation, haven’t touched Perl since as it horrifies me to look at it. What a nightmare of dangling references and questionable typing. Any language that allows you to cast a string to a function and call it really needs to sit down and think about what it’s doing.
I believe
eval
would like a word with you…As I said,
No such thing as eval in non-interpreted languages. Unless you’re crazy enough to invoke the compiler and exec() the result.
I used eval too in my Perl days which is why I specifically called it out. IMO any time you see eval used there should be another, more proper way to do it.
I was joking, and definitely agree with you. I don’t think I’ve used
eval
since my first programming course in uni.Edit: Except for monkey hacks for laughs of course.
Genuine LOL. Yeah… yeah, that’s Perl in a nutshell. Creating Perl: ‘why aren’t all languages like this?!’ Editing Perl: ‘oh.’
I personally never understood how anyone could find Perl appealing or even “good” to program in, probably because I could never understand wtf the code was meant to do
I was hired twice to write Perl, both times switched my department to something else after a few years.
Perl is good for command line processing, and absolutely god awful read-only magic hacks. Nothing else.
Perl is fine, provided that you never have to touch someone elses code.
Or yours
No. My code is perfect. It’s all of the others who write bullshit.
Be honest: you just mashed your fist on the keyboard, didn’t you?
https://www.foo.be/docs/tpj/issues/vol4_4/tpj0404-0015.html
The Perl Poetry Contest - The Perl Journal, Winter 1999
#!/usr/bin/perl
#
# asylum.pl
# by Harl
close (youreyes);
bind (yourself, fast);
while ($narcosis) {
exists $to($calm);
not calm;
}
accept the, anesthesia;
seek the, $granted, $asylum’
and wait;
stat ically;
unlink and listen (in, $complicity);
for (a, little) {
system (“sync hronicity”);
}
for the ones missing the marvelous HTML, I gotchu bro:
<problem />
self closing tags is not the HTML way
Add css, and the problem looks really pretty now
Problem
Obligatory “Hyper Text Markup Language is a markup language, not a programming language”
HTML+CSS Has been turing complete for some time now.
See, you added the CSS part, that was not part of the original comment.
that’s fair but, they are quite intertwined
Which is why it was just an obligatory comment from pedantic me. Just a light correction.
Latex: Problem -->
\def\please@#1#2#3#4{\e@kill#2#3{\me#1}#4@now}
-->You also need that usepackage just like python.
Accurate. LaTeX is great, it makes you feel like you have superpowers compared to “office suite”-style software. But every once in a while you just run into some bullshit that feels like it’s stuck in 1985 and it completely breaks your flow. I remember wanting to make a
longtable
where text in the “date” column would be rotated by 90 degrees to leave more horizontal room for the other columns. It took me tworotatebox
es, aphantom
, avspace
, ahspace
and 40 minutes of my life to get the alignment right. Would probably have taken a duckduckgo search and three clicks in Libreoffice.I still have no idea how to exit the build process. It tells I need to type
H
or\end
but it also just lies. I find the easiest way is to invokeCtrl-Z
and then kill the background process, and theyounglingschildrenYeah, what the hell is up with that? I always just
echo | pdflatex
to make it shut up and exit on error. Maybe one day I’ll learn how to actually use that interactive compilation thing, but not today lol.wait how does your hack work?
So there are many different commands that compile LaTeX, right?
pdflatex
,pdftex
,latexmk
, etc. But they all do that thing where they ask for your input as soon as they encounter an error, right? Well, if you just pipe an emptyecho
command to them, it notices thatstdin
has reached end-of-file, and gives up trying to ask the user for input, and just exits on first error. So instead ofpdflatex mydocument.tex
, you can doecho | pdflatex mydocument.tex
and it won’t ask you for input if it sees an error, it’ll just exit. There’s probably a “proper” way to achieve the same behaviour, but I can’t be arsed to read the docs.Speaking of stupid TeX hacks, at one point I had a script called
latex_compile_and_install_packages_until_it_works.sh
. It’s essentially a loop that repeatedly tries to compile a document, searches the output of the compiler for anything that looks like a missing package error, and pipes it tosudo tlmgr install
. The “fuck it” of package management, arbitrary code execution exploit included!(Sorry for the screenshot, I lost the original script in text form, probably for the better)
Haha that’s brilliant! I have a similar script for Conda, where it tries to install R packages by first looking in bioconductor and then trying the rejects through conda-forge, and then the rejects from that are compiled from source or just outright rejected.
I would have thought you would have needed a
(while :; do echo; done) | pdflatex
or ayes "\end" | pdflatex
, i.e. something that repeatedly generates output. It’s actually quite elegant that pdflatex checks if stdin is already EOFJust do all of these in parallel to maximise the change of installing the correct version
btw what do you think about typst?
i only used it for simple stuff so far but it seems pretty fun and easy to use
My two cents, after years of Markdown (and md to PDF solutions) and LaTeX and a full two years of trying to commit to bashing my head against Word for work purposes, I’m really enjoying Typst. It didn’t take long to convert my themes, having docs I can import which are basically just variables to share across documents in a folder has been really helpful. Haven’t gone too deep into it but I’m excited to give it a deeper test run over the next little bit.
Never heard of it before, but might give it a try at some point. From the website, it seems like something halfway in between LaTeX and Markdown? Sounds exactly like what I need at times, tbh.
yeah it’s perfect for taking notes and stuff
Especially the installation process
Funnily enough I had a similar problem but I wanted text instead of a date. In the end I used a solution similar to yours and adjusted each cell entry manually for hours. Feels like there should be a lot simpler solution for this problem in LaTeX. Glad I don’t need to use it anymore…
u/vox@sopuli.xyz suggested Typst as an alternative to TeX. I gave it a try, and I’m loving it so far. It even has built-in support for the rotated text thing https://typst.app/docs/reference/model/table . I’ve only used it for notes/homework so far, but I’m looking forward to seeing how it fares for more serious typesetting tasks.
That looks interesting, thanks for the ping. I will give it a try.
I got way too excited Lemmy parsed LaTeX for a second
Testing 123
$$ \sigma $$
aww…
C# Solution -> .sln
(brought to you by .net gang)
Someone do java hahaha
Problem -> AbstractProxyFactory<SolutionProvider<BaseProblem>>