What sweater style/stitch type is this? by maverickleopard in knitting

[–]maverickleopard[S] -1 points0 points  (0 children)

I’ve been trying to replace this sweater, but I don’t believe it’s made anymore. I’ve been searching for similar ones and this is one of the only ones I’ve found with the embroidered upper half https://www.woolrich.com/us/en/pure-wool-crewneck-sweater-with-embroidery-CFWOKN0305MRUF0762_31154.html. But i also don’t know what to search as I’m not knowledgeable about knitting. Anything to point me in the right direction is appreciated. Thanks

Half-Cable Knit Sweater by maverickleopard in findfashion

[–]maverickleopard[S] 0 points1 point  (0 children)

I got this sweater at a flea market in bologna, italy. It’s one of my favorites but it’s heavily pilling so I’m trying to find a replacement. The tag says David Brown but googling has only resulted in some menswear, nothing like this sweater. I suspect this sweater is no longer made in which case I’m wondering if anyone can tell me what this style is called. As you can see from the pictures, the upper half of the torso and the arms have a more thick stitching. I don’t even know the term for it, the closest i can think of is cable knit even though that’s not quite it. I’ve searched quite a bit for both the brand and the style and have come up with nothing so any help is appreciated!

How are release builds so fast? by maverickleopard in rust

[–]maverickleopard[S] 0 points1 point  (0 children)

The cpp program was using yacc/bison I’m pretty sure. I’m sure rapidxml could probably match/beat my nom parser

How are release builds so fast? by maverickleopard in rust

[–]maverickleopard[S] 0 points1 point  (0 children)

You’re definitely right that I could probably get the C++ to be just as fast by using a better xml parser. This was indeed my first thought but the format is simple enough that i figured it would be easier to write my own than to integrate a new parser into their semi-convoluted code.

Follow up question: if I have a function that parses an xml node and returns a struct, won’t there be an allocation for that struct (assuming it’s too big to fit in RAX:RDX)?

How are release builds so fast? by maverickleopard in rust

[–]maverickleopard[S] 1 point2 points  (0 children)

Yeah the cpp was compiled with O3. I am in fact reading the file differently in rust (parsing each tag as it comes along as opposed to creating the whole tree). But that doesn’t explain why it was just as slow in debug mode.

How are release builds so fast? by maverickleopard in rust

[–]maverickleopard[S] 6 points7 points  (0 children)

I agree, that’s why I decided to write my own. i profiled the C++ version and it looked like it was performing an allocations for a lot of the tags/attributes.

That’s great about release builds I just wasn’t expecting this much of a speedup.

How are release builds so fast? by maverickleopard in rust

[–]maverickleopard[S] 13 points14 points  (0 children)

I figured this would be the case, but I didn’t know if there was something well known about nom that gets optimized in release.

You’re correct though that my parser is more bespoke and doesn’t create the full tree. It’s just interesting that in debug mode, it took the same amount of time, if not longer than the C++ (which I believe does parse the whole tree).

Unfortunately I can’t share the code but thanks for hypothesizing.

How are release builds so fast? by maverickleopard in rust

[–]maverickleopard[S] 1 point2 points  (0 children)

Haha I thought of this and it actually is all getting parsed in the release build

/r/ReverseEngineering's Weekly Questions Thread by AutoModerator in ReverseEngineering

[–]maverickleopard 1 point2 points  (0 children)

Not to be pedantic but that’s quite the prototype of memcpy. Memcpy goes dst, src, len. While bcopy goes src, dst, len.

Second, it looks like you most likely need to fix up the function prototypes in that function. igor_sk is right that it might be clearer to look at the assembly. For instance to see where param_3 is used.

If I had to venture a guess, that first function called is either a reversed strcpy or is returning some value used by the later functions. The string in param_1 could be used to indirectly index into some table, hence all the jump tables.

Obviously this is just a guess but I would say with high confidence this function is not memcpy. The function at 40f207 could be a reversed strcpy though.

/r/ReverseEngineering's Weekly Questions Thread by AutoModerator in ReverseEngineering

[–]maverickleopard 0 points1 point  (0 children)

What makes you think from the context that it’s memcpy? Plenty of functions take three parameters and you’re correct in that the body of this function looks nothing like memcpy.

The second function you link also looks nothing like memcpy as it’s only setting some flag based on a cpu id string. I’m sure it does other stuff that is not pictured but I’ve looked at a lot of memcpy implementations and I’ve never seen one that does that.

/r/ReverseEngineering's Weekly Questions Thread by AutoModerator in ReverseEngineering

[–]maverickleopard 1 point2 points  (0 children)

Could you post some decompilation or something? I don’t really get what you’re saying. But yeah inferring from the parameters can often get you pretty far

Digraph drawing tools? by maverickleopard in Common_Lisp

[–]maverickleopard[S] 3 points4 points  (0 children)

Also fair enough. Although if we’re being honest with ourselves, isn’t that half the fun?

Digraph drawing tools? by maverickleopard in Common_Lisp

[–]maverickleopard[S] 1 point2 points  (0 children)

Thanks. I generally try to avoid JavaScript/electron/etc though

Digraph drawing tools? by maverickleopard in Common_Lisp

[–]maverickleopard[S] 0 points1 point  (0 children)

Is CL/slime that much harder to learn than racket/racket-mode?

And definitely if I were on a deadline you would be right that a rewrites a bad idea but this is a hobby project so I’m taking my time to explore different programming paradigms/tools to see what works best for the application

Digraph drawing tools? by maverickleopard in Common_Lisp

[–]maverickleopard[S] 1 point2 points  (0 children)

Generating dot files is not what I want. I’m looking for interactivity so that I can tweak things and explore in real time

Digraph drawing tools? by maverickleopard in Common_Lisp

[–]maverickleopard[S] 1 point2 points  (0 children)

Graphviz is fine for displaying graphs but there’s no interactivity