« first day (1128 days earlier)      last day (3806 days later) » 

12:06 AM
@TorbjørnT. Thanks :)
 
 
3 hours later…
3:45 AM
first time that I see real spam here: tex.stackexchange.com/questions/147950/…
 
 
1 hour later…
5:03 AM
user42022 must be banned. he is just posting his spam again and again...
 
5:48 AM
I've now posted my question on hash performance, with test results:
0
Q: How to implement (low-level) arrays in TeX

Stephan LehmkeAs some may know, I'm implementing a huge TeX macro package which has to do a lot of internal computations, and hence will give a lot less overall performance "per page" than, for instance, your usual LaTeX document. Looking for quick wins in enhancing performance, I'm currently investigating wh...

 
 
3 hours later…
8:33 AM
Is there a "replacement" package for calc which uses \numexpr/\dimexpr internally?
 
@StephanLehmke I don't think that \ratio is expandable, so you can't support calc syntax with \dimexpr
 
@egreg But especially \ratio (implemented by an approximation algorithm) would be a good candidate to replace by something like \dimexpr\p@*#1/#2\relax followed by \strip@pt.
 
@StephanLehmke We used to have some expl3 code that was a straight reimplementation, but the rounding/truncating business caught us out, and to be honest it was a bit of a waste of time (as calc works perfectly well)
 
@JosephWright I'm thinking about performance, of course ;-)
 
@StephanLehmke Then you wouldn't want what we had: it was more a 'thought experiment', at least as I understood it.
@StephanLehmke The benefits of expandable approaches don't necessarily extend to performance, depending on the use case.
@StephanLehmke On the arrays business, I'm mainly going on the analysis of TeX's hashing algorithm by one of the other people on the team (I forget who: might be David Kastrup). The argument runs that TeX's algorithm isn't that good, so hash collisions are likely to happen with arrays of any significant size and number: it got raised in the context of tables of data rather than simple lists.
However, I've not tested this out carefully: I'm no CS expert so I tend to rely on others for that sort of thing.
 
8:52 AM
@StephanLehmke What Joseph says: the result is rounded and not truncated.
 
@JosephWright Looking at the implementation of \ratio, I think there can be no doubt that the expression I gave would be much faster.
 
@StephanLehmke That's clear; but it wouldn't be backwards compatible.
 
@egreg What exactly is the significance of that on a decimal representation? I sincerely doubt the precision of the current \ratio calculation is enough to make a comparison even possible.
 
@StephanLehmke We had a bug report about expl3 messing up some calculations that came down to altering calc and changing from truncating to rounding. It was an 'edge case' situation, and we could have worked around it I guess, but that's not a priority for us.
@StephanLehmke Probably
 
@egreg That's clear. Probably \ratio is much too imprecise for that (but I also might misread the code).
 
9:01 AM
@StephanLehmke I'm not sure if the rounding business came up in \ratio: the code we have that reimplemented it is rather more involved than your approach :-)
 
@egreg: nice answer in the monus operator question. :)
 
I have to take back the snide remark concerning precision of \ratio. I'm getting exactly the same results for calc and \dimexpr. OTOH, this means it might be backwards compatible after all ;-)
 
@StephanLehmke :-)
 
@JosephWright Do you have a test file for calc to do regression tests with?
 
9:18 AM
@DavidCarlisle: eagerly expecting egreg to add an answer to the chords question, just because he has to use a Pink Floyd song. :P
 
@PauloCereda Shine on you crazy diamond?
 
@egreg Yes. :)
 
@DavidCarlisle Of course that was the right thing to do.
 
@DavidCarlisle LOL
 
@egreg why? Just because yours was a better more complete and explained example?
 
10:23 AM
@DavidCarlisle It would have been the right thing anyway. :P
 
11:08 AM
@egreg, I see the rightful order has been restored for this week's scores
 
 
1 hour later…
12:12 PM
HELP! I externalized a TikZ image with transparency and I need to get rid of it! Anyone knows how to do it if I have only the PDF?
 
@tohecz Try opening the PDF in Inkscape and see if you can unlock the parts and edit what you need.
 
do you think this stupid server-terminal system has inkscape installed? :D
if I had my computer here, I would probably find the source-code of the picture, or a source-code of a similar one...
(at that all caused by laziness: I wrote {black!30!white} instead of definining a new shade of gray or just searching which one is it)
 
@tohecz Oh sorry, I didn't know. :(
 
@PauloCereda it's such a stupid situtation, but I think I can live with that
the most stupid is that I have the source-code of all the pictures ... but this one
 
12:28 PM
@tohecz Tom, does this work? convert image.pdf -background White -alpha Remove newimage.pdf
 
@PauloCereda it does, but it rasterizes a couple-line picture ...
 
@tohecz Oh.
 
@tohecz Remove transparency?
 
@PauloCereda well, yes, or simply make the two gray colours real gray, not mixed gray
 
12:35 PM
@tohecz Let me try.
 
@PauloCereda thanks, pal :)
 
@tohecz check it doesn't come back as an image of a duck
 
I just found that some more images have the same problem, but I don't see any obvious reason for that with those :-/
@PauloCereda So it damn seems that I won't submit the article today, and I'll have to leave it for tomorrow :(
 
12:55 PM
@tohecz Tom, I can't edit it. Apparently the transparency got flattened when I imported, but my Inkscape crashed. :(
 
@PauloCereda well, I'll deal with it tomorrow, it's not big
I can submit it to the journal with transparency, and arXiv will have to wait for 1 day
 
The power to summon :-)
David Kastrup has joined us again!
 
@StephanLehmke the power of email over web forums perhaps:-)
 
@DavidCarlisle Certainly :-)
 
@StephanLehmke and do you want to swap machines?
 
1:05 PM
@DavidCarlisle heh heh :-P
 
@StephanLehmke OMG David K?
We have epic Davids.
:)
 
 
1 hour later…
2:13 PM
I seem to have a serious English problem in scientific writing. In the introduction of my article, I use "study" in the present tense, but "used", "was interested", "started to" etc. in the past tense, and I mix these. That's probably not quite correct, right?
 
2:59 PM
@tohecz a bit short of context, but I guess keeping the same tense is usually better than changing it:-) (studied?)
@egreg is tick hunting again (unsuccessful so far) tex.stackexchange.com/a/148019/1090
 
@DavidCarlisle It's another season, another reason for hunting ticks! :) youtube.com/watch?v=1qGdXc2tH3s
 
@DavidCarlisle yeah, but "studied" sounds so "terminated" to me. Yes, it is terminated since the articles I cite are "finished", but it gives me the impression that we do something that is not "modern". But that's probably only me. I'll change these "study" to "studied" and just be happy :)
 
3:23 PM
@DavidCarlisle Just showing a better implementation. ;-)
 
3:35 PM
@egreg: do you mind if I take some inspiration in your kantlipsum package for another lipsum? It's just for fun, I don't plan to upload it to CTAN. :)
 
@PauloCereda Of course!
 
@egreg Thank you! The code is very clean.
Should I start with the .dtx or jump to the .sty? I don't have much experience.
 
@PauloCereda Depends on what do you want. If just the package, go for the .sty file, it'll let you start quacker quicker :)
 
@tohecz ooh! :)
 
3:59 PM
@PauloCereda but if you want the package to have documentation, start from the dtx
 
@DavidCarlisle oh.
 
@PauloCereda Handling dtx is really easy, you just need a few elisp helper functions to add the boilerplate markup required. Oh no!, you don't use emacs. shame.
 
@DavidCarlisle :(
 
4:53 PM
@StephanLehmke I tried one of your tests translating into a property list; it's really slow, compared to using the hash table (for 1000 objects a factor 10); basically a property list is a macro expanding to a sequence of items of the form \__prop_pair:wn <name>\s__prop {<value>}.
 
@egreg Conclusion?
 
The expandable version, with \prop_get:Nn instead of \prop_get:NnN is 40 times slower.
@JosephWright That plists are not as efficient as using the hash table.
 
@egreg Also my take
@egreg We are of course free to change things :-)
@egreg David K is very down on building arrays in TeX generally, but realism means you can't ignore the requirement to do this at least on a small-ish scale
 
@JosephWright I don't see why; if one uses property lists for “reasonable” things, the overhead is not too much. For big projects, one has better to define a specific data structure.
 
@egreg I see that argument too
@egreg My point was that the interface is fixed but implementation is not, so we are free to optimise
@egreg Worth noting that we already have at least one compromise: token lists are slightly slower than 'raw' macros to allow for the storing of #
 
5:00 PM
@JosephWright My opinion is that if one has to manage a large amount of data, TeX is simply not the best tool.
 
@egreg Also David K's point
@egreg On the other hand, things like pgfplots are quite useful :-)
 
@JosephWright Of course; but using the interface to gnuplot is more efficient.
 
@egreg I'd like as much optimisation as possible for siunitx :-) (I have at least one thing to change internally for that)
@egreg Really?
@egreg I've always found that gnuplot produces poor-looking output
 
@JosephWright You hand the computations to gnuplot; but I'm not an expert in plots
 
@egreg That's a different issue: I was thinking of plotting real data
 
5:02 PM
@JosephWright well, IMHO gnuplot by default produces a reasonable output, surely compared to E#c@|. It's not beatiful, but I think you can make it beautiful if you have some experience
 
@tohecz That's not really a sensible comparison: the competitors to pgfplots are Origin, IgorPro, SigmaPlot, QtiPlot, GLE, etc.
 
@JosephWright yeah, that's true
 
@tohecz I've never really pursued gnuplot but the gallery I've seen doesn't suggest it's as easy to get good results as with pgfplots (for the plotting itself: calculations a different thing)
 
well, the good point about gnuplot/pgfplots is that now, they come on many computers: gnuplot with linux and pgfplots with a reasonably new TeXlive.
 
@JosephWright yes although when the first version of property lists was devised, the idea wasn't to improve speed but to store it at all when you only had a few hundred csnames left after loading the format....
 
5:06 PM
@DavidCarlisle I know there is history: all those odd c-type variants we used to have
@DavidCarlisle Point being here that we might want to rethink how to do stuff if the decisions come out differently: having an interface for storing in a keyval-like structure is a 'good idea' I think
 
@JosephWright yes agreed, which was why I pinged the internal team mail with Stephan's test :-)
 
@DavidCarlisle :-)
 
btw, it is standard that the AMS submission page takes ages to load? ams.org/editflow/wft/submit_new.php?jpath=mcom
 
@egreg I don't think the situation is that bad. To give an example, DocScape creates a 733546 element "hash array" to "unfold" the XML data tree of a 70MB xml data file for processing. There are a lot of things that make DocScape slow, but this is not one of it (that is, DocScape can process huge amounts of data this way (much huger than that) without getting noticably slower than it already is).
 
@StephanLehmke Using LuaTeX, right?
 
5:08 PM
@JosephWright XMLTeX
Of course.
 
@JosephWright You see Stephan has taste and courage
 
I guess I might be writing a new implementation of l3prop this week :-)
4
 
@JosephWright can you do a new impl of xmltex while you are there?
2
 
@DavidCarlisle Bruno will probably do an expandable one
 
@JosephWright In fact, if you think that in my tests, 100000 array elements are created and 1000000 accesses to them performed in a total of, say, 4 seconds, you can imagine that if you add actual processing of that data into the equation, the actual array accesses will be quite insignificant :-)
 
5:19 PM
This performance thingy is getting me curious. Where can I fit in? :)
 
@StephanLehmke I can see that. One (minor) issue is that you're testing limits on LuaTeX, but pdfTeX is rather more 'tricky' in that regard as we don't have dynamic memory allocation.
@StephanLehmke I'll see how quickly I can write an alternative l3prop and do some tests
 
@JosephWright What gives you the impression I'm using LuaTeX? You must confuse me with someone else ;-)
DocScape is pdftex only. For the performance tests, I mostly used the original TeX engine, but pdftex gives comparable results.
21
Q: How to implement (low-level) arrays in TeX

Stephan LehmkeAs some may know, I'm implementing a huge TeX macro package which has to do a lot of internal computations, and hence will give a lot less overall performance "per page" than, for instance, your usual LaTeX document. Looking for quick wins in enhancing performance, I'm currently investigating wh...

 
@StephanLehmke Ah, right
 
To give another example: In DocScape, it happens very often that a "variable" containing a token list is "extended", for instance when building a text or tabular structure from data (note there is no expandable code in DocScape at this point ;-)
That is, something like var := var + x. The usual way is to implement this like \edef\var{\unexpanded\expandafter{\var}\unexpanded\expandafter{\x}}.
But if a lot of these extension happen, the quadratic performance becomes quite noticeable (this is where you normally cue in an ultracomplicated expandable implementation :-)
My simpler solution is to use something like \def\var{\varii}\edef\varii{\noexpand\vari\unexpanded\expandafter{\x}}, of course with proper counting of the "subvariable chain", garbage collection etc. The performance gain for large structures is dramatic.
 
5:44 PM
@StephanLehmke Works as you know you can have such expansion possibilities
@StephanLehmke Bruno was suggesting something similar for tracking keys: avoid quadratic addition to a csname by using a chain with pointers
 
@JosephWright Yes I wasn't suggesting this as a solution to anything; just pointing out that creating a huge amount of macros wasn't noticable at all performance-wise.
 
@StephanLehmke David K's concern is that large numbers of hash names impact on all operations, whether they involve the stored data or not
 
@JosephWright Well, maybe there should be a "chain mode", and after a "linearization": You would create many macros locally for the performance when you add them, but proccess them again (in O(n)) to avoid having them in the end
 
@tohecz I think that depends on how you then want to use the data
@tohecz Bruno will probably beat me to it with an alternative approach: he usually does
 
@tohecz That's exactly how "garbage collection" works in the setting I described: One \edef to get rid of all the intermediary names.
 
5:49 PM
@StephanLehmke Ah right
@StephanLehmke Requires that you 'know' when to do it
 
btw, English policy question (amongst scientist): If someone never signed a mail to you just by his first name and uses "Regards, John Doe", but he says "Dear Tom". Can you just say "Dear John" in a mail, or better stuck with "Dear Prof Doe" or "Dear John Doe" ?
 
@JosephWright In my case: After every 4000 generated intermediary values (configurable limit).
 
@tohecz Use the surname
 
@JosephWright so "Dear Prof Doe" ?
 
@tohecz I would usually go this way
 
5:54 PM
@JosephWright ok. Well, he's French, so a bit more formalism cannot hurt, anyways.
 
@JosephWright Looking at this from a complexity-theoretic pov, it would basically come down to storing huge amounts of data and then doing most of the computation without involving them, which sounds improbable.
Still, I'd be interested in some concrete test results on this...
 
6:18 PM
@StephanLehmke NP. :P
@JosephWright: What holds the Definition string in beamer? :)
Wait, it's amsmath, isn't it? Then why babel doesn't translate the definition block name? :(
 
7:00 PM
@PauloCereda translator package
 
@egreg Grazie!
 
7:19 PM
I think I'm being victim of serial upvoting.
 
@PauloCereda well, it doesn't cost you anything ;) But if you insist, I can fight with that serial upvoter /seeking the down arrow ...
 
@tohecz :)
 
7:42 PM
@tohecz I agree with Joseph too. It seems to me that only if you sign an email with just your first name do you expect to be addressed by your first name.
 
Dear llama prof.
Oh wait.
:)
 
Salutations
Dear people who said no font would ever use a barred 7
Hah
Though, admittedly I don't like this font very much, and this the 7 in particular is ugly as sin....
 
8:12 PM
@JosephWright: expect an email from me in the end of week. Cool things going on. :)
 
 
1 hour later…
9:28 PM
@Canageek and you call that a font? :p (just kidding of course. Some fonts do it, but it's very uncommon, and as you concluded, ugly)
 
9:40 PM
 
9:53 PM
@tohecz It doesn't HAVE to be ugly, I don't think, this one is just badly done
 
@AlanMunn I'm sure recent enrollments in PhD programs made USP climb up the ranking.
 
hhh
Does subfigure require some pkg in LaTex?
 
@hhh Yes: the subfigure environment is provided by subcaption.
 
10:09 PM
@PauloCereda So the problem with transparency was in \fill[fill=transparent] (0,1.2) circle (2pt) which was enforcing all my little figures have the same height :)
 
hhh
10:29 PM
@egreg Sure, forgot that I asked it. Yes it was, thank you for the input :) Got it working :)
(there was some depreciated pkg subfigure that created confusion...)
 
Ahm
Could someone please help me with the question I posted here tex.stackexchange.com/q/148085/23594
 
@Ahm classicthesis uses titlesec that disrupts the method used by scrbook for the headings=... option.
 
Ahm
@egreg: can I suppress that?
 
@Ahm No. You have to manually issue a \chaptermark or \sectionmark command, if you only want to change the heading. But the real answer is: use short titles with classicthesis.
 
Ahm
@egreg: Thank you. I will do so.
 
10:42 PM
So the preparation of the article took approx. 7 months. Finally, it's sumbitted :)
 
@egreg Do you know what this person is referring to? tex.stackexchange.com/questions/11542/left-and-right-subscript/…
 
@Ahm You find the same problem here: guitex.org/home/forum/5-tex-e-latex/… I guess you can understand the code, if not the post.
 
@AlanMunn I know you asked @egreg, but IMHO his comment doesn't make sense
 
@tohecz Me neither, but since I don't know much about the fine detail of math typesetting, I thought I'd ask.
 
@AlanMunn No. They could end up not aligned in some cases, when the “real” subscript has to be moved down.
 
10:48 PM
@AlanMunn The fine detail of math typesetting is that IMHO left indices are ridiculous, but that's another story :D
 
@Ahm I provided an answer with the translation into English.
@tohecz We use bimodules all the time: ${}_{A}M_{B}$
 
Ahm
@egreg: Thank you.
 
@egreg yeah, I know, it was partly a joke :D You as well have the left and right congruence etc.
 
@tohecz In my notes I also have \sim_{H} and \mathrel{{}_{H}\sim} for the equivalence relations in a group defined by a subgroup H: $a\sim_{H}b$ when $ab^{-1}\in H$, $a\mathrel{{}_{H}\sim}b$ when $a^{-1}b\in H$.
 
@egreg yeah, similarly to the congruences :)
 
10:57 PM
The position of the H reflects the position of the inverse.
 
@egreg yep. Anyways, it's bedtime for me, I get up in 8 hours
 
@tohecz Good night!
 
@egreg Night!
 
11:12 PM
@egreg Ok. So I'll just ignore the comment. Thanks.
 
@AlanMunn Nope. Interesting data. :)
@tohecz ooh! :)
 
@egreg oh my! <3
/blushes
 
@PauloCereda These kinds of rankings are always somewhat problematic. It was interesting to see that UNICAMP was 7th.
 
@AlanMunn Quite shocking, to be honest. UNICAMP is IMHO in the top 3. And not to mention the campus is a beauty.
 
11:17 PM
@PauloCereda But maybe it says that it's actually slipping.
 
@egreg: speaking of campus, tomorrow I'll try to record some video footage of the departments. :) I'll show you on Wednesday.
@AlanMunn Probably.
 
@PauloCereda My friends who teach at UFRGS are happy, though.
 
@AlanMunn :) People in my former department might be grumpy. :) 12th position. :)
 
@PauloCereda I was looking at that, but I wonder if more specialized universities lose out if the measures cover all areas.
 
@AlanMunn Indeed.
@Alan: I forgot to tell you, I met some protesters 3 weeks ago in one of the entrances. It was quite funny. :)
 
11:22 PM
@PauloCereda Protesting what?
 
@PauloCereda I've never really understood the point of student 'strikes'. It always seems self-defeating.
 
@AlanMunn Neither did I. Things got really out of control at USP, specially when the special forces (choque) had to interfere.
 
@PauloCereda That's pretty crazy.
 
@AlanMunn It is. And UNICAMP had something similar as well.
 
11:52 PM
@Tobi: Your effort is really appreciable. Refer: tex.stackexchange.com/q/147991/11232 But in cases like this, the OP may say I don't know where to start. In such scenario, shall we try to add some code just as an illustration? I will do it for this question. Pour in your opinions. :-) And we are doing it only for some time if we are doing it.
@egreg Thanks for the hint. :-) (Adding one more beer to the count). I just woke up but still sleeping a bit ;-)
 
@HarishKumar I noticed \lipsum[1] and tried changing it to \lipsum*[1] so as to avoid the final \par, but the output was the same, so I tried doubling the OP's input. Then I decided to look at the manual. @DavidCarlisle will surely say something about this insane practice.
 

« first day (1128 days earlier)      last day (3806 days later) »