
Remake – GNU Make with comprehensible tracing and a debugger - pmoriarty
http://bashdb.sourceforge.net/remake/
======
kaushalmodi
Mirror on GitHub by the remake author:
[https://github.com/rocky/remake/blob/remake-4-2/README.md](https://github.com/rocky/remake/blob/remake-4-2/README.md)

------
linsomniac
My mind is trying to reconcile such a seemingly awesome thing being hosted on
sourceforge...

~~~
badsectoracula
SourceForge still provides a few things that other services do not, like full
hosting (not just static pages), mailing lists, public file hosting,
forums/discussions and a bunch of other more minor stuff like screenshots,
news, etc which can be helpful if one doesn't want to setup a full site (so on
the same place you have both the option to go with a full site or to ignore it
and have the service provide most of the functionality you'd need to provide
yourself anyway).

In addition, as a user it has reviews, categorization with subcategories
(which allow the service to suggest other relevant projects), update
notifications, etc.

So, strictly speaking, SF provides more to projects and some projects do want
that so it makes sense to see new stuff popping up in SF.

The main reason SF isn't used much these days is that the site had its
reputation badly damaged some years ago while it was owned by some shady
company that tried to squeeze everything they could out of it. But last year
(i think) it got bought by people who seem to care about the service and doing
the right things so far. Of course healing the reputation is a hard thing to
do.

Personally i self host most of my stuff, but i do know of some projects that
take advantage of those extra features (e.g. FreeGLUT uses the mailing lists
extensively).

~~~
vog
Note that you can get most of this from Sanannah, too:

[https://savannah.nongnu.org/](https://savannah.nongnu.org/)

I personally prefer a combination of Savannah (mailing lists) and GitHub
(repository, issues, website).

~~~
rockybernstein
Of course I am partial to savannah gnu and nongnu for its philosophy. However
over the years there have been too many outages that made me switch one my
projects from savannah to github.

Since beggars shouldn't be too picky, I don't fault savannah: it is seriously
understaffed by volunteers. But still I switched to github (for some things)
mostly from a pragmatic point of view. And to reduce my frustration level
during the outages.

------
SwellJoe
I noticed the same person has made seemingly very powerful gdb-inspired
debuggers for a whole bunch of languages, which is really impressive. I'm not
super comfortable with gdb (it's been years since I used it with any
regularity), in general, but I'd be willing to invest more time in it knowing
the knowledge transfers to other languages.

~~~
rurban
bashdb being the most popular one by Rocky. The others unfortunately never
really took off.

~~~
rockybernstein
Yeah, you win a few and lose a lot. I guess it all evens out.

Judging by github ratings, the debugger for zsh (zshdb) is more popular than I
would have expected. And that means I have had to know more about zsh than I
would have otherwise. Like bashdb, zshdb is packaged in Debian/Ubuntu;
recently the debian maintainer asked me to update this for more recent zsh
releases, which I've done.

By the way, I use github ratings to decide which of several projects to work
on when there is a choice. remake ratings have shot up quite a bit by this
post, so I guess I'll have to beef it up: add a screenshot of profiling and
update the older versions of GNU make for more recent changes.

My recent focus has been on using decompilation as a means of getting more
accurate position information. See [https://github.com/rocky/python-
uncompyle6/wiki/Deparsing-Pa...](https://github.com/rocky/python-
uncompyle6/wiki/Deparsing-Paper) Sure, I use this in my debuggers, but it
would be probably as or more valuable in tracebacks.

For example there is a decent decompiler in Perl for example:
[https://metacpan.org/pod/B::DeparseTree](https://metacpan.org/pod/B::DeparseTree)
. I would love to figure out how to hook into Perl's traceback (not Carp, but
the one for Perl) to augment that to give this more accurate position
information.

~~~
rurban
You are speaking with the Perl expert :) glad to help. Positions are stored in
COP's only, you need to get them dynamically via the API. Some blocks do have
wrong or bad line ranges, yes.

~~~
rockybernstein
I know. I am a long-time fan of your Perl work. And I know how to get them
dynamically via an API which is done for example in
[https://metacpan.org/pod/Devel::Trepan::Deparse](https://metacpan.org/pod/Devel::Trepan::Deparse)

What I don't know how to do, if you could help is register in Perl that I want
_my_ routine called when Perl hits an error, so that I can do the deparse and
spit out a more detailed location message. Thanks!

------
db48x
I've dreamt of both a make debugger and a bash debugger, and here we have
someone casually demoing both in the same video.

------
luckydude
Anyone have a mirror for the first video introducing? Seems like we've hugged
that one to death.

~~~
rockybernstein
Sigh. Showmedo seems to have shut down.

I looked on my disk and I don't see a copy of the video. Or the notes I used
to make the video. A shame because this was probably the more practical (day-
to-day use) of the two. The closest I can find that is like an outline is what
I covered in the 2007 talk I gave at UbuntuCon:
[https://wiki.ubuntu.com/DebuggerTalk](https://wiki.ubuntu.com/DebuggerTalk)

I will contact the showmedo person who asked for the video to see if he can
pull off a copy.

~~~
luckydude
Would the wayback machine have a copy?

~~~
rockybernstein
Yes it does! It took a while however to find. I've now updated the remake wiki
to include it. Direct link though is:
[https://github.com/rocky/remake/wiki/linuxBernsteinMakeDebug...](https://github.com/rocky/remake/wiki/linuxBernsteinMakeDebug1.flv)

~~~
luckydude
Awesome, gotta pick up my kid from school but I'll check it out when I get
back. It sure sounds like interesting work.

------
Gonzih
sourceforge is a scary place to get your software from

~~~
badsectoracula
That was at the past, they got bought by new people last year that removed all
the shady stuff and instead replaced them with automatic malware checks [0]
from Bitdefender and ESET. IIRC from a Reddit AMA they also have someone
looking and flagging for misleading ads (although you get no ads at all if you
are logged in).

[0] [https://sourceforge.net/blog/sourceforge-now-scans-all-
proje...](https://sourceforge.net/blog/sourceforge-now-scans-all-projects-for-
malware-and-displays-warnings-on-downloads/)

~~~
Gonzih
thanks, had no idea about that.

