[racket-users] Re: Edmond's Blossom Algorithm

2018-05-23 Thread Sorawee Porncharoenwase
I'm not sure that what you need is Edmond's blossom algorithm. Maximum 
matching is a problem on undirected graphs. Your problem seems to involve a 
directed graph structure (A prefers B doesn't mean B prefers A).

Daniel Prager's solution involves randomization, so I think it's possible 
that the solution will not be optimal. If optimality is of concern, you 
might consider expressing constraints in your problem as an integer 
program. I'm not sure if Racket has any integer programming library. Using 
SMT solvers is also another possibility.

On Monday, May 14, 2018 at 7:51:17 AM UTC-4, Jens Axel Søgaard wrote:
>
> Context:
>
> I have students A, B, C, ..., Z that needs to work in pairs for their exam.
> Each student has made a wish list with 3 other students that they'd like 
> to work with.
> I need to find the maximum possible pairing.
>
> I think - maybe - that the algorithm I need is Edmond's blossom algorithm.
>  
>
> Am I so lucky that someone has this in Racket?
>
> https://en.wikipedia.org/wiki/Blossom_algorithm
>
> http://www.cs.dartmouth.edu/~ac/Teach/CS105-Winter05/Handouts/tarjan-blossom.pdf
>
> /Jens Axel
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] github for third-party racket packages

2018-05-23 Thread Philip McGrath
In regard to "non-commercial stuff that you're not ready to release" (I
have a lot of that), I believe GitHub requires a paid account to host
private repositories. (I'd be delighted to hear otherwise.) I host some of
my non-public code on BitBucket, which provides private repositories for
free. It works particularly well for Digital Ricoeur, as they give some
additional free benefits if you have a ".edu" or equivalent email address.

I've never released a Racket package any way but as a Git repository, but
I've found it completely friction-less for public packages and fairly
low-friction for private ones.

-Philip

On Wed, May 23, 2018 at 2:14 PM, Greg Hendershott  wrote:

> I like using GitHub for this (IIUC Bitbucket or GitLab would work equally
> well).
>
> The Racket package catalog tracks a branch, say `master`.  After you
> push a commit to `master`, the rkt pkg cat will notice automatically.
> It scans at intervals. (If you're impatient, sign in and choose
> "Refresh my packages".  After which there is still some delay, but
> IIRC < 1 hour.)
>
> Having people submit Issues against the repo works well, I think, for
> both authors and users of a package. For example in your recent fixes
> to html-parsing, other people could see the report, any discussion,
> and better appreciate the change.
>
> Also, you can use magic phrases in your commit message, like "Closes
> #123". GitHub will automatically close the issue. Also it creates
> cross-links between issues and commits, which can be handy.
>
>
> I think all of GitHub, Bitbucket, and GitLab let you have unlimited
> public repos on the free plan. Last I checked, each also allows at
> least some number of private repos.
>
>
> I can't speak to migrating version histories. I know that for some
> Racket packages it's considered unnecessary to make official version
> numbers and release notes. The public commit and/or issue history on
> GitHub or whatever, is considered adequate.
>
>
> I'm typing this kind of in a rush so apologies if there are any errors
> or it's unclear. Hopefully others will chime in. The TL;DR is I
> _think_ you'll find GitHub et al to be <= friction than your status
> quo?
>
> --
> You received this message because you are subscribed to the Google Groups
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to racket-users+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] github for third-party racket packages

2018-05-23 Thread Greg Hendershott
I like using GitHub for this (IIUC Bitbucket or GitLab would work equally well).

The Racket package catalog tracks a branch, say `master`.  After you
push a commit to `master`, the rkt pkg cat will notice automatically.
It scans at intervals. (If you're impatient, sign in and choose
"Refresh my packages".  After which there is still some delay, but
IIRC < 1 hour.)

Having people submit Issues against the repo works well, I think, for
both authors and users of a package. For example in your recent fixes
to html-parsing, other people could see the report, any discussion,
and better appreciate the change.

Also, you can use magic phrases in your commit message, like "Closes
#123". GitHub will automatically close the issue. Also it creates
cross-links between issues and commits, which can be handy.


I think all of GitHub, Bitbucket, and GitLab let you have unlimited
public repos on the free plan. Last I checked, each also allows at
least some number of private repos.


I can't speak to migrating version histories. I know that for some
Racket packages it's considered unnecessary to make official version
numbers and release notes. The public commit and/or issue history on
GitHub or whatever, is considered adequate.


I'm typing this kind of in a rush so apologies if there are any errors
or it's unclear. Hopefully others will chime in. The TL;DR is I
_think_ you'll find GitHub et al to be <= friction than your status
quo?

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[racket-users] github for third-party racket packages

2018-05-23 Thread Neil Van Dyke
I'm thinking of moving all my open source third-party Racket packages to 
GitHub, and had some questions, for other third-party developers...


1. How do third-party developers of polished Racket packages like using 
GitHub?  (Example questions... What friction is there still, to rapidly 
making a change and a new release that appears in the Racket package 
catalog?  Do you know whether being on GitHub imposes extra work over 
non-GitHub for some things?  With GitHub, is there more work to go 
through issue reports and pull requests, and process within the Web 
site, because it happens to be convenient or in pursuit of metrics, as 
opposed to receiving issue reports limited to ones people felt were 
important enough to email you about privately?  How do you deal with 
using GitHub for SCM of non-commercial stuff that you're not ready to 
release?  Noticed any signs that GitHub might not always be as 
warm-fuzzy, or have any unease about implicitly encouraging other people 
to use it?)


2. Has anyone automated migrating a history of Racket package releases 
to Git (or to GitHub, specifically)?  (Rather than converting to Git 
from a different SCM system, I'd be converting a history of release 
packages from pre-PLaneT, PLaneT, and the current package system, and 
want to have version tagging/labeling/naming happen.  I'm not sure it's 
a good idea, since files were shuffled around within packages over the 
last 17 years, for various reasons, but I'd like a sense of how much 
work it would be.  An alternative, which I suspect is what I'll end up 
doing if I move at all, is just to put the source from each last release 
in Git, and not try to capture the history before that.)


Background: My Racket open source releases are in minimal maintenance 
mode, while I do a career shift, from gov't independent consulting, to 
academic/non-profit/industry research/engineering/policy.  Also, my 
Racket package release workflow is friction-y for the last few years, so 
every urgent quick release in response to some issue someone is facing 
feels like more work than it should be, and so I haven't tried to 
release various unreleased packages that have been sitting around for 
years, and I ceased the occasional evening/weeking whipping up of a new 
package intended for release.  My top priority for my Racket open source 
code is to continue to provide support for packages that I've already 
released, and my second priority is to be in a position that I could 
easily ramp back up releasing polished new stuff at later date.


--
You received this message because you are subscribed to the Google Groups "Racket 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.