Hacker News new | past | comments | ask | show | jobs | submit login
Remake – GNU Make with comprehensible tracing and a debugger (sourceforge.net)
112 points by pmoriarty on Sept 5, 2017 | hide | past | favorite | 29 comments



Mirror on GitHub by the remake author: https://github.com/rocky/remake/blob/remake-4-2/README.md


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


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


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

https://savannah.nongnu.org/

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


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.


Nowadays sf is an opensource project: https://sourceforge.net/projects/allura/


what is exactly wrong with sourceforge?

apart from the obvious superiority of github and social git services, i think sf is a decent project hosting service


This project has been around for many years it seems (eyeballing the commit graph on github, it looks like 2004 or so). It doesn't surprise me if you'd pick Sourceforge in 2004, but they've done enough dodgy stuff that I'd choose something else today.

At first, they had a confusing download UI with "DOWNLOAD NOW" advertisements that went to unrelated software.

Then, they were wrapping adware into OSS project installers.

http://www.theregister.co.uk/2013/11/08/gimp_dumps_sourcefor...

https://arstechnica.com/information-technology/2015/05/sourc...


Since then, sourceforge has been sold to another company, and they've been trying to fix some of their past mistakes[0][1].

[0]: https://arstechnica.com/information-technology/2016/06/under...

[1]: https://sourceforge.net/blog/sourceforge-acquisition-and-fut...


You are correct. At the time this was started there was no github; or git for that matter. I think I joined github around 2006 or so, and sometime after that converted either the CVS or svn repo to git.

And I was a bit lazy in setting up the project since I didn't know at the time how long it would last. So it is under the mostly unrelated bashdb project that I started earlier. (The tenuous relationship was that I wanted to debug autoconf configure scripts, and having done that I then realized I often also needed to debug the Makefiles that automake produced. Okay I tried to motivate that, but really it was laziness.)

As for sourceforge or github, there are a couple of things. As others have mentioned, sourceforge has a file release section. That is very useful for those who want to work off of release tarballs, rather than git tags. And the download stats can be ordered by both OS of downloading browser and Geography.

https://sourceforge.net/projects/bashdb/files/remake/stats/t... says mostly downloaded in US with MS Windows. Looks like the SF mapping function is broken, but I used to find it fun to see country distribution. Continent-wise, Africa has always been the lowest in activity.

Over the years sourceforge has proved very reliable and has done lots of people a great service.

In the early days I admired how good it was. Yes, it is unfortunate that they couldn't figure out how to monetize the good work they had done. Well, I have the same problem too. I'm not one to forget the good work they have accrued in the past. However, as you saw, I did switch to github for day-to-day use and use sourceforge for released tarballs, and mailing lists.

I don't see anything wrong with using multiple providers. I also use Travis, CircleCI and Appveyor for continuous integration testing.


One guy on twitter told me the new SF parent company has "big plans" so maybe it will evolve in good ways.


That was interesting to read through.

One thing from the arstechnica link:

> Apparently, SourceForge's mysterious "sf-editor1" has also claimed ownership of a number of other accounts for open source and other software projects. The following are just a sampling of downloads now "brought to you by sf-editor1":

> (List follows)

I'm not quoting the list because the article is two years out of date and I'll honestly say I don't want to fact-check the status of the listed projects. But I will say this. I followed https://sourceforge.net/u/sf-editor1/profile/ out of curiosity, and was met with

> Atom (https://sourceforge.net/mirror/atom/)

> A hackable text editor for the 21st Century

-

> Bootstrap (https://sourceforge.net/mirror/bootstrap/)

> HTML, CSS and JS framework for developing responsive websites and apps

-

> Brackets (https://sourceforge.net/mirror/brackets/)

> A modern, lightweight yet powerful text editor

-

> Brave Browser (https://sourceforge.net/mirror/brave-browser/)

> The faster, safer desktop browser for macOS, Windows, and Linux

-

> D3.js (https://sourceforge.net/mirror/d3js/)

> A JavaScript library for visualizing data using web standards

-

> Electron (https://sourceforge.net/mirror/electron/)

> Build cross-platform desktop apps with JavaScript, HTML, and CSS

-

> Git for Windows (https://sourceforge.net/mirror/git-for-windows/)

> Bringing the awesome Git SCM to Windows

-

> MAME (https://sourceforge.net/mirror/mame/)

> An emulator for multiple types of arcade game hardware.

-

> Tor Browser (https://sourceforge.net/mirror/tor-browser/)

> Browser for using Tor on Windows, Mac OS X or Linux

-

> VLC media player (https://sourceforge.net/p/vlc/)

> The best free media player for video and DVDs

-

In full disclosure I have not opened all of the above.

To be fair, most say "/mirror/" instead of "/p/" so it's clear these are namespaced and considered differently.

I saw the comment in this subthread about SF being sold to a group that's trying to clean up their reputation, so I won't pass judgement. It was very interesting to see all these headline projects owned by sf-editor1 though.


This had me baffled as well. I wonder what the reason behind it was.


Probably it being older than Github (or at least older than Github popularity).


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.


There are tons of front-ends that interface with gdb, which is part of why so many things use a gdb-like UI. One of the demos on the page is using "ddd" (the Data Display Debugger), which I was pretty impressed with 20 years ago when I last used it.


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


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... 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 . 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.


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.


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

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!


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


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


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

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


Would the wayback machine have a copy?


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...


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


sourceforge is a scary place to get your software from


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...


thanks, had no idea about that.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: