Hacker News new | comments | show | ask | jobs | submit login
PySolFC – A collection of Solitaire games for Python (github.com)
55 points by jan-kleks 104 days ago | hide | past | web | 26 comments | favorite

PySolFC (previously known as PySol) is a multi-platform collection of over 1000 solitaire card (and not only) games with a rich feature set that can rival commercial solitaire packages.

Unfortunately, PySolFC is getting old. To bring it up to date and make PySolFC compatible with modern operating systems, it has to be ported to Python 3 first — so we desperately need Python programmers.

JOIN PORTING EFFORTS AT: https://github.com/shlomif/PySolFC

You can also help by spreading the word. After we finish porting PySolFC to Python 3, new features will be added, we also aim to refresh the app’s look.

Sweet! I'd love to contribute. There doesn't seem to be a contribution guide or timeline in the repo. I'd suggest adding a list of modules which require refactoring.

+1 If there were a list of tasks that needed to be done, it would be much easier to pick up something in my spare time. The closest I can find to a task list is here: https://github.com/shlomif/PySolFC/issues/11#issuecomment-28...

What modern operating system doesn't quite happily run Python 2.7?

I meant this in the general sense of keeping the app up to date (and not that PySolFC does not work at all on modern operating systems).

For instance, I had graphical issues on macOS with the last official build.

Are you actually planning to lose Python 2 compatibility is porting to 3? It might make more sense to keep both if you can, if only because if you give up Python 2, there'll be an intermediate period where the code won't run anywhere.

Python six is a library that might help with targeting both

Code that supports both py2 and py3 is often ugly and a pain to work with.

I think your advice might be well intended, but if followed will end up with an overloaded dev. and no new progress being made (and all that for the five guys who still don't have py3 installed)

Sorry to sound harsh, but I wish someone had told me that advice when I accepted to backport a py3 package to py2

> when I accepted to backport a py3 package to py2

I'd expect backporting from 3 to 2 to be more of a pain than porting from 2 to 3.

You might have experience with both, but if not, this seems worth bearing in mind.

Wow! The community has turned a corner! :-)

I don't believe 2-3 compatibility must be ugly (though it certainly can be), but I'm glad you believe what you said. If that makes sense.

It's not only the compatibility that is ugly. It's also that python 2 code has a couple of ugly warts, such as the forced arguments for super(). The only way I'm supporting python 2 with my libraries is by running 3to2 and pasteurize (future package) over the python 3 source code.

I really don't want to actually have source code that works on both, it's a pain to maintain. Although the future library should make it a lot nicer, but you still need a lot of ugly from __future__ imports as well.

I've been using 3.6 for some personal work and man are f-strings and ordered dicts wonderful. I don't want to go back.

1_000_000 times this.

OrderedDict is just a stdlib import away in Py2.7.

Yeah, but... those are ugly. ``m = {}`` is beautiful.

dict == OrderedDict is a cpython implementation detail. Not doing the import is just leaving a footgun for yourself if you ever decide to try PyPy or VOC or similar.

I don't think it's much of a footgun, and I don't think it's limited to CPython.

In Python 3.6, kwargs are ordered. In all versions of Python, kwargs are a dict. Therefore, in any implementation of Python 3.6, dicts are ordered.

The dev team has stopped short of promising that dicts are ordered, but I can't see how one would realistically be harmed by assuming it to be true.

The 3.6 CPython dict item storage algorithm was implemented in PyPy first.

If you are porting from 2.7 and don't require compatibility with earlier Python versions, then "future" [1] is a better, cleaner alternative to six.

[1] https://pypi.python.org/pypi/future

Jan has been incredibly helpful, improving my open source Scala solitaire game (https://solitaire.gg) with Github bug reports and feedback, and even suggested using it as a new frontend for PySolFC (which I'd love to do).

Important message from the project maintainer, shlomif:

"Hi all! To facilitate coordination about contributing to PySol, please join me for a real time Internet chat on ##pysol on Freenode (note the double octothorpe) . I am usually "rindolf" there with a fallback "shlomif" nickname. We may set up chat rooms on different services in the future."

PySolFC! I haven't installed that in 8 years or so. My wife would be so happy if we could get that ported to Android. I'll have to take a look at this.

Why did you point us to unofficial clone of the Subversion repository?

Because there is really not much going on in the official repo? See for yourself: https://sourceforge.net/p/pysolfc/code/commit_browser

And due to the fact that shlomif is doing his best to improve PysolFC in that "unofficial clone of the Subversion repository".

Just to be clear, this is a fork (takeover?) of http://pysolfc.sourceforge.net , which is an approved fork of http://www.pysol.org/ .

I think you can call it a fork. There will probably even be a name change some time in the future.

There was not much activity regarding PySol and PySolFC in recent years. Shlomif is trying to change this.

The title seems to have been modified, probably by the mods? I think the old title was more appropriate because it is clearly posted for the purpose of recruiting help. I would suggest the old title, possibly prefixed with Show or Ask HN?

edit: Current title seems good.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact