The Red Spider Project

A place to discuss the implementation and style of computer programs.

Moderators: phlip, Moderators General, Prelates

User avatar
BRNMan
Posts: 32
Joined: Tue May 22, 2012 10:29 am UTC

Re: The Red Spider Project

Postby BRNMan » Wed Jul 18, 2012 5:06 pm UTC

Jplus wrote:@
BRNMan: today I noticed you already cloned the project more than a week ago. My apologies for my previous post! How's the hacking coming along?

Yeah, I cloned it, but I haven't quite learned how to use github yet so I don't know exactly what I did! But I'll work on it. I'm trying to add some features to my code and I'm working on cleaning it up. (A few weeks ago it was a mass of spaghetti code!)

User avatar
Dason
Posts: 1309
Joined: Wed Dec 02, 2009 7:06 am UTC
Location: ~/

Re: The Red Spider Project

Postby Dason » Wed Jul 18, 2012 9:38 pm UTC

BRNMan wrote:
Jplus wrote:@
BRNMan: today I noticed you already cloned the project more than a week ago. My apologies for my previous post! How's the hacking coming along?

Yeah, I cloned it, but I haven't quite learned how to use github yet so I don't know exactly what I did! But I'll work on it. I'm trying to add some features to my code and I'm working on cleaning it up. (A few weeks ago it was a mass of spaghetti code!)

I would suggest learning how to use git first. It really isn't that hard to learn and you'll benefit a lot from learning it. Plus if during the process of cleaning up your code you end up breaking something - git can help you get back to a reasonable state where it worked.
double epsilon = -.0000001;

User avatar
BRNMan
Posts: 32
Joined: Tue May 22, 2012 10:29 am UTC

Re: The Red Spider Project

Postby BRNMan » Thu Jul 19, 2012 5:32 pm UTC

Git windows app installed. I think I cloned it to my computer. O.K., this is confusing for me so I need a little explanation. My whole project file is 36Mb, 5 or 6 of that is resources(icon, sound) and the rest is the .exe files. I'm not sure how to make my program smaller and make it interact with the other parts like xkcd-fetch.py. I don't want to drastically change the program and delete something I need. Please help.

User avatar
Jplus
Posts: 1692
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: Netherlands

Re: The Red Spider Project

Postby Jplus » Fri Jul 20, 2012 8:49 pm UTC

BRNMan wrote:Git windows app installed. I think I cloned it to my computer. O.K., this is confusing for me so I need a little explanation. My whole project file is 36Mb, 5 or 6 of that is resources(icon, sound) and the rest is the .exe files. I'm not sure how to make my program smaller and make it interact with the other parts like xkcd-fetch.py. I don't want to drastically change the program and delete something I need. Please help.

Interesting! Do I understand correctly that there are no C# files (= source files) in your project? :P

More serious now: I presume the .exe files are compiled from your source files (and perhaps the other resources), so you can safely omit those when you commit to the RSP repository. Media files files like sound and large (non-vector) images could (and peferably should, in this case) be hosted somewhere else, e.g. in a public Box or Dropbox folder. Essentially, what you should be adding to the RSP project folder is just the source files, plus some textual explanation on how to obtain the other resources and rebuild the project. For easier talking, perhaps you could post a hierarchical listing of your project folder, either here or in a new issue on GitHub?

As for how to integrate with xkcd-fetch and so on: I'd suggest that we solve that problem only after we've found a way to put your program into the RSP at all. Incidentally, did you manage to run setup.py, rsshell and xkcd-fetch (without involving your own program) yet?

As an aside: 36 MB is quite a lot for a program that just downloads an xkcd comic to display it on the desktop!
"There are only two hard problems in computer science: cache coherence, naming things, and off-by-one errors." (Phil Karlton and Leon Bambrick)

coding and xkcd combined

(Julian/Julian's)

User avatar
BRNMan
Posts: 32
Joined: Tue May 22, 2012 10:29 am UTC

Re: The Red Spider Project

Postby BRNMan » Sat Jul 21, 2012 7:54 pm UTC

Ok then. It took me an hour to figure out how to run those python scripts(because python apparently hates me), but I've installed it. Now i put my source files into their own subdirectory of src? I'll be on vacation for a week starting today. I'll get it done then. Thanks Julian!

User avatar
Jplus
Posts: 1692
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: Netherlands

Re: The Red Spider Project

Postby Jplus » Sun Jul 22, 2012 4:06 pm UTC

BRNMan wrote:Ok then. It took me an hour to figure out how to run those python scripts(because python apparently hates me), but I've installed it.
Glad to hear it worked out eventually!
BRNMan wrote:Now i put my source files into their own subdirectory of src?
Yeah, probably. If there are few source files, you could also just put them directly into the src directory.
BRNMan wrote:I'll be on vacation for a week starting today. I'll get it done then. Thanks Julian!
I didn't do much (yet), but you're welcome anyway. Have a nice holiday! :)
"There are only two hard problems in computer science: cache coherence, naming things, and off-by-one errors." (Phil Karlton and Leon Bambrick)

coding and xkcd combined

(Julian/Julian's)

User avatar
Jplus
Posts: 1692
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: Netherlands

Re: The Red Spider Project

Postby Jplus » Sat Jul 28, 2012 8:58 pm UTC

ahammel wrote:@FireRogue: great! I'm just finishing up the unit tests. I'll push to my github later today (just now realizing that it's not already there. Silly me).

I've written the unit tests for the py.test framework, [...]

Edit: testing version pushed to test/level_up on my github.

So thursday I discovered by chance that the test is actually supposed to be run by other people already. :P I tested it and it works on the mac. Suggestion: next time you want to have something tested submit an issue, like I've done now. :)

In other news: we now have a simple homepage, which we can use as our "business card". Those with admin access can edit it through the GitHub page generator, but anyone is welcome to make modifications by checking out the gh-pages branch and pushing their modifications to their public repository.

On a related note: it seems that qubital :D fired up the wiki functionality. I guess we can use that to elaborate on some of the howto/best practices topics, like how to do branching and how to request testing. Wouldn't the wiki be a better place for that than the Readme?
"There are only two hard problems in computer science: cache coherence, naming things, and off-by-one errors." (Phil Karlton and Leon Bambrick)

coding and xkcd combined

(Julian/Julian's)

User avatar
BRNMan
Posts: 32
Joined: Tue May 22, 2012 10:29 am UTC

Re: The Red Spider Project

Postby BRNMan » Thu Aug 16, 2012 5:41 pm UTC

I uploaded my source on my fork of the project. It does not work with the rest of the project, nor is it bug free yet, nor is it portable, but I will have to work on that. Feel free to try it out or help me with the problems. EDIT: I've pushed it. You should be able to find it now.
Last edited by BRNMan on Sun Aug 19, 2012 12:53 pm UTC, edited 1 time in total.

User avatar
Jplus
Posts: 1692
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: Netherlands

Re: The Red Spider Project

Postby Jplus » Fri Aug 17, 2012 10:02 am UTC

Cool! I'll definitely have a look sometime soon.

It seems like something didn't work as expected, though. :P

I visited your fork on github, but I could only see the master branch and the advbrowser branch, neither of which seemed to have new commits by you. Did I look in the wrong place? Did you push your new branch? ;)
"There are only two hard problems in computer science: cache coherence, naming things, and off-by-one errors." (Phil Karlton and Leon Bambrick)

coding and xkcd combined

(Julian/Julian's)

User avatar
mrhmouse
Posts: 4
Joined: Fri Aug 24, 2012 4:14 am UTC

Re: The Red Spider Project

Postby mrhmouse » Fri Aug 24, 2012 5:23 am UTC

Hi all! I'm a long time XKCD reader, but I have never joined the forums.
However, the Red Spider Project seems very interesting, so I thought I would join.

I have forked and committed a few changes to my branch. I'm not as familiar with Git, so I'm not sure if the original branch masters are notified of forks.

I modified the sources for other projects, simply to change the call to env to use python2 instead of python.
python doesn't always default to Python 2.x (on my system, it defaults to Python 3.x).

I am hoping to add some actual code to the project soon. I absolutely love this idea!

User avatar
Jplus
Posts: 1692
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: Netherlands

Re: The Red Spider Project

Postby Jplus » Wed Dec 19, 2012 1:59 pm UTC

@mrhmouse: I noticed that you made a contribution but I think I've missed your post before. Welcome to the club!

@all: I've bumped the topic where I asked for advice on our license terms. I suspect the difference between our plain license and the xkcd-ified version is not a big deal, so if nobody can tell us about associated risks I propose to just switch to the emacs-butterfly+velociraptor version. I'll probably find some time to do that around New Year.

Also: because everyone is short on time our project tends to go dormant after a few weeks. How about we set up an IRC channel, so we have a semi-permanent place to lurk together?
(In fact I seem to recall somebody else suggested the same thing some time ago. I apologise for not jumping onto it back then and for not remembering who did the suggestion now.)
"There are only two hard problems in computer science: cache coherence, naming things, and off-by-one errors." (Phil Karlton and Leon Bambrick)

coding and xkcd combined

(Julian/Julian's)

User avatar
boXd
Posts: 196
Joined: Thu Aug 09, 2012 7:05 pm UTC
Location: The Netherlands

Re: The Red Spider Project

Postby boXd » Thu Dec 20, 2012 2:46 pm UTC

I just found this thread, but the project doesn't appear to be extremely active. Is this still a thing? If so, I'd happily contribute. :)

User avatar
mrhmouse
Posts: 4
Joined: Fri Aug 24, 2012 4:14 am UTC

Re: The Red Spider Project

Postby mrhmouse » Fri Dec 21, 2012 1:28 am UTC

An IRC channel would be fabulous. I couldn't come up with anything interesting to add to the project, and things got busy, so I neglected it.. An IRC channel would certainly keep interest alive.

User avatar
Jplus
Posts: 1692
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: Netherlands

Re: The Red Spider Project

Postby Jplus » Fri Dec 21, 2012 10:05 pm UTC

boXd wrote:I just found this thread, but the project doesn't appear to be extremely active. Is this still a thing? If so, I'd happily contribute. :)

It's still a thing. I certainly want to get back to it when I find the time (asap), and I'm sure that at least a few other people who have contributed before would like to step back in some time. Your very much welcome to join in, and you don't need to wait until the others get active!

mrhmouse wrote:An IRC channel would be fabulous. I couldn't come up with anything interesting to add to the project, and things got busy, so I neglected it.. An IRC channel would certainly keep interest alive.

OK, I just created #redspider at irc.foonetic.net. I won't be there all the time, but I'll try my best to be there as often as I can.
"There are only two hard problems in computer science: cache coherence, naming things, and off-by-one errors." (Phil Karlton and Leon Bambrick)

coding and xkcd combined

(Julian/Julian's)

User avatar
Jplus
Posts: 1692
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: Netherlands

Re: The Red Spider Project

Postby Jplus » Wed Jan 02, 2013 10:59 am UTC

Update to the above: I'm still trying my best to visit #redspider as often as I can. Unfortunately that's not very often at the moment because my flat is temporarily without internet. Other people, please don't refrain from populating the place while I'm away!
"There are only two hard problems in computer science: cache coherence, naming things, and off-by-one errors." (Phil Karlton and Leon Bambrick)

coding and xkcd combined

(Julian/Julian's)

FireRogue
Posts: 15
Joined: Fri Apr 27, 2012 2:52 am UTC

Re: The Red Spider Project

Postby FireRogue » Wed Feb 27, 2013 3:22 pm UTC

given that its easier to start a discussion with lots of people, even if they're not all paying attention, i suggest you join me in adding it to your auto-join list. it might also attract others if we've got a large number of people in the channel, and even if not, at least plenty of people will have logs of any ideas you put down and might be able to help you capitalize on it.

Rafael
Posts: 1
Joined: Fri Mar 01, 2013 8:54 am UTC

Re: The Red Spider Project

Postby Rafael » Fri Mar 01, 2013 9:06 am UTC

I suggest a logo that can be displayed on a terminal, something like this:

Code: Select all

#X/´
X/       ___
|    ,--/   +--,
    ,+-/   +--,|
   ,+-/   +--,|
  ,+-/   +--,|
  | (oOo)   |
     VV
Red Spider Project

FireRogue
Posts: 15
Joined: Fri Apr 27, 2012 2:52 am UTC

Re: The Red Spider Project

Postby FireRogue » Fri Mar 01, 2013 3:12 pm UTC

maybe in addition? like having a legit one would be cool, and yet having something that can idle or even walk across your terminal would be cool

User avatar
Xenomortis
Not actually a special flower.
Posts: 1397
Joined: Thu Oct 11, 2012 8:47 am UTC

Re: The Red Spider Project

Postby Xenomortis » Sat Mar 02, 2013 4:50 pm UTC

I'd like to try to help out with something; I'm a .NET neophyte for my day-job (VB) and feel the need to expand my programming knowledge and experience.
Although I don't know how this git thing works, I'm currently trying to get something setup.

A couple of organisation things:
1. What's actually been achieved; what exists and how does it integrate together?
2. What's being worked on?

I feel as those the above should be referenced somewhere.

With that in mind; any ideas for what I could try? I'm willing (and actually want) to move away from my familiar .NET platform (which is perhaps necessary for platform independence). Python seems popular so I could try something with that I guess.
Image

User avatar
Xenomortis
Not actually a special flower.
Posts: 1397
Joined: Thu Oct 11, 2012 8:47 am UTC

Re: The Red Spider Project

Postby Xenomortis » Tue Mar 05, 2013 8:22 pm UTC

So in my spare time over the past few days, I've been working on an implementation of Conway's Game of Life. It's run through the command console and is written in C++ (because that was such a sensible choice given my C# and VB.NET experience).

A few twists and features:
  • There are actually two species; blue Os and red Xs. The blue species follows the standard rules (B3/S23), the red species follows the rules for High Life (B36/S23) - a cell is also born if it has six live neighbours. In the case of both species contributing to the birth of a cell, the colour is determined by the most common species (in the case for 6 neighbours, a red cell is only born if red neighbours outnumber blue, otherwise it remains dead).
  • The universe array can be set to be either toroidal or klein-bottle like. Pass through -t or -k for a torus or klein-bottle universe respectively, default is the intuitive torus.
  • A file called start.txt can be included into the same directory as the compiled executable; this can be used to determine the initial states; ',' seperate cells on a given row, an empty cell is dead, if it contains x,r or 2 it's red and if it contains o,b or 1 it's blue. If a row has too few specified entries, the remaining cells are dead.

Major caveat: it's currently Windows only due to the manipulation I do with the command console. It's likely you'll have to widen the command console too, unless you narrow the array in the source code before compiling.
I don't have anything POSIX compatible right now to test potential ports. If anyone can suggest work-arounds or alternative to the Windows specific parts that'd be fantastic.

Need to add in a few more passable arguments (for array dimensions, delay between iterations, seed probabilities, etc). The format of start.txt I'll probably change to make more intuitive.

I'd like to add another option to the universe space-type; namely spherical. It's slightly pathological; either I glue the top and right sides together and the bottom and left sides (resulting in the top-right and bottom-left cells being their own neighbours) or I glue the whole outer-edge together (any cell on the edge will neighbour every other cell on the edge, plus its regular neighbours) - how should I extend the rules in these cases?
(I don't suppose a universe based on the projective plane would be out of the question either)


Written using Visual C++, but the source uploaded to github compiles with MinGW's g++.

https://github.com/xen-0/the-red-spider-project - game-of-spiders branch

Oh, and I have no idea how to integrate this into the setup.py script.
Image

User avatar
Jplus
Posts: 1692
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: Netherlands

Re: The Red Spider Project

Postby Jplus » Fri Mar 08, 2013 9:35 am UTC

Hey folks, I'm back from the underworld! I'm glad to see that some people posted here while I was away.

FireRogue wrote:given that its easier to start a discussion with lots of people, even if they're not all paying attention, i suggest you join me in adding it to your auto-join list. it might also attract others if we've got a large number of people in the channel, and even if not, at least plenty of people will have logs of any ideas you put down and might be able to help you capitalize on it.

I second this suggestion. For your interest, from now on I'll be on the channel more often again.

Rafael wrote:I suggest a logo that can be displayed on a terminal, something like this:

Code: Select all

#X/´
X/       ___
|    ,--/   +--,
    ,+-/   +--,|
   ,+-/   +--,|
  ,+-/   +--,|
  | (oOo)   |
     VV
Red Spider Project

Nice!

(Yes, of course we can have more than one logo.)

Xenomortis wrote:I'd like to try to help out with something; I'm a .NET neophyte for my day-job (VB) and feel the need to expand my programming knowledge and experience.
Welcome!
Xenomortis wrote:Although I don't know how this git thing works, I'm currently trying to get something setup.
Judging from the GitHub network graph you've figured it out. Well done!

Xenomortis wrote:A couple of organisation things:
1. What's actually been achieved; what exists and how does it integrate together?
Oh boy. I think the biggest achievements so far are that 1) we started this project enthousiastically and got several people to work on it; 2) we more or less managed to make it work like an cross-platform installable package with some fun commands that are more or less ready to use (xkcd-fetch et al); 3) we got a website and an (at this point not very well populated) IRC channel. What exists, well it's not much but we have a rudimentary infrastructure, some working commands, several fun subprojects and some artwork. How it integrates: the install script puts things in the right place and informs your shell about the path to the commands (not sure whether this describes the state on master or on rsroot-env, but this is the way it's going to be anyway). The rsshell script then uses that to create a cozy self-contained environment in which the commands can run and cooperate in any way they like. You are encouraged (but not required!) to write your commands such that they can easily be combined with other commands.
Xenomortis wrote:2. What's being worked on?
Pretty much everything in the project (some things are more or less done but those are the exceptions). Most of it didn't get much attention for a while, but I'd say it's dormant rather than dead. In addition I strongly suspect there are some contributions that didn't make it to GitHub yet. BRNMan pushed some C# code to his master branch, perhaps you could have a look at that?

Xenomortis wrote:I feel as those the above should be referenced somewhere.
Yes, definitely. That goes on the pile of things we should write a wiki page for.

Xenomortis wrote:With that in mind; any ideas for what I could try? I'm willing (and actually want) to move away from my familiar .NET platform (which is perhaps necessary for platform independence). Python seems popular so I could try something with that I guess.
You evidently already found something to work on, but here are my two cents on your platform choice. First off, you're not strictly required to drop .NET entirely if you want to do cross-platform work, but you do need to adopt a different style of programming (i.e. avoid the Windows APIs as much as possible) and avoid some of the surface languages (e.g. PowerShell). You definitely can write something cross-platform in C#. Secondly, Python is very good choice indeed. We've more or less adopted it as our "cross-platform shell language". That said, it doesn't necessarily hurt if somebody contributes a platform-specific program once in a while. Also, most languages allow you to write cross-platform stuff.

Xenomortis wrote:So in my spare time over the past few days, I've been working on an implementation of Conway's Game of Life. It's run through the command console and is written in C++ (because that was such a sensible choice given my C# and VB.NET experience).

A few twists and features:
  • There are actually two species; blue Os and red Xs. The blue species follows the standard rules (B3/S23), the red species follows the rules for High Life (B36/S23) - a cell is also born if it has six live neighbours. In the case of both species contributing to the birth of a cell, the colour is determined by the most common species (in the case for 6 neighbours, a red cell is only born if red neighbours outnumber blue, otherwise it remains dead).
  • The universe array can be set to be either toroidal or klein-bottle like. Pass through -t or -k for a torus or klein-bottle universe respectively, default is the intuitive torus.
  • A file called start.txt can be included into the same directory as the compiled executable; this can be used to determine the initial states; ',' seperate cells on a given row, an empty cell is dead, if it contains x,r or 2 it's red and if it contains o,b or 1 it's blue. If a row has too few specified entries, the remaining cells are dead.
That's a fun idea!

Xenomortis wrote:Major caveat: it's currently Windows only due to the manipulation I do with the command console. It's likely you'll have to widen the command console too, unless you narrow the array in the source code before compiling.
I don't have anything POSIX compatible right now to test potential ports. If anyone can suggest work-arounds or alternative to the Windows specific parts that'd be fantastic.
The only work-around I can think of is to create a virtual machine with Linux and test your stuff over there. Well, that or have a POSIX user join in. The alternative to the Windows-specific parts you're looking for is probably ncurses. That one is POSIX-specific but works on Windows with an emulation layer (like MSYS which is bundled with Git for Windows). You could also use both implementations and have a build script (CMake) decide which one to use, depending on the platform.

Xenomortis wrote:Need to add in a few more passable arguments (for array dimensions, delay between iterations, seed probabilities, etc). The format of start.txt I'll probably change to make more intuitive.

I'd like to add another option to the universe space-type; namely spherical. It's slightly pathological; either I glue the top and right sides together and the bottom and left sides (resulting in the top-right and bottom-left cells being their own neighbours) or I glue the whole outer-edge together (any cell on the edge will neighbour every other cell on the edge, plus its regular neighbours) - how should I extend the rules in these cases?
I'd go for the first option, this is usually also the way it's defined in topology. It makes intuitive sense if you think of the backwards-slanting diagonals as circles of latitude.
Xenomortis wrote:(I don't suppose a universe based on the projective plane would be out of the question either)
You should definitely implement that!

Xenomortis wrote:Oh, and I have no idea how to integrate this into the setup.py script.
No wonder, there's no way to do that yet as the current script only accomodates for interpreted languages. Your best bet for now is to just write your own CMake script that puts the compiled end product in /bin and any intermediate build products in /build. setup.py will than invoke the CMake script. Alternatively you can just leave it for now, because I'm planning on writing a general CMake script that deals with everything build-related anyway.
"There are only two hard problems in computer science: cache coherence, naming things, and off-by-one errors." (Phil Karlton and Leon Bambrick)

coding and xkcd combined

(Julian/Julian's)

User avatar
Xenomortis
Not actually a special flower.
Posts: 1397
Joined: Thu Oct 11, 2012 8:47 am UTC

Re: The Red Spider Project

Postby Xenomortis » Fri Mar 08, 2013 12:53 pm UTC

I originally held off on the spherical and projective plane universes due to the severe distortion the array grid would undergo - the straight lines of the grid are no longer geodesics. The same is true after glueing into a klein bottle, but somehow it doesn't seem so difficult to think about.
The main effect is that the path of things like gliders are no longer particularly intuitive and as a result, don't really encapsulate the 'strangeness' of such universes. But I don't think there's a lot I can do about that, so I think I'll just go ahead and do the neighbourhood calculations based on the fundamental polygons.
Another option for the spherical universe is identifying the two side edges (forming a cylinder by gluing those edges together) and then contracting each of the top and bottom edges into single points (pinching the cylinder ends); a little more tricky to write, but now the grid lines correspond to longitude and latitude; although it's pathological at the top and bottom since every cell on the top row neighbours every other cell on the top row (and similarly for the bottom row).

Although now I think about it even more, the standard 'glue top-left together and bottom-right together' is just as, if not more intuitive; the corners are poles and a glider on a top-right path follows a circle centered on a pole. It doesn't require much more code, but has the drawback that the grid must be square and anything at the poles will probably die or reach a static state. That said, lot is lost no matter what I do when it comes to gluing edges into a point.

Jplus wrote:You evidently already found something to work on, but here are my two cents on your platform choice. First off, you're not strictly required to drop .NET entirely if you want to do cross-platform work, but you do need to adopt a different style of programming (i.e. avoid the Windows APIs as much as possible) and avoid some of the surface languages (e.g. PowerShell). You definitely can write something cross-platform in C#. Secondly, Python is very good choice indeed. We've more or less adopted it as our "cross-platform shell language". That said, it doesn't necessarily hurt if somebody contributes a platform-specific program once in a while. Also, most languages allow you to write cross-platform stuff.


For anything larger than this, I might move back over the C# and see what I can do about platform-independence, or try something like Python.
I might get around to buying another external HDD to boot Debian on the family laptop again, but I've held off on that ever since I dropped the last one.
Image

User avatar
Jplus
Posts: 1692
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: Netherlands

Re: The Red Spider Project

Postby Jplus » Mon Mar 18, 2013 1:17 am UTC

Today -- or technically, yesterday -- I (finally) merged some major changes to the setup script and rsshell into master. This is quite an important update which can potentially add a lot of comfort to your workflow. Therefore I encourage everyone with unfinished branches to pull in the latest changes from master, like this:

Code: Select all

git checkout master
git pull
git checkout <your branch>
git merge master

This applies to zed0/advbrowser, ahammel/master, ovvy/rascii, BRNMan/master, and xen-0/game-of-spiders.


From this adventure I learned that we've made the workflow too complicated. Sofar we've treated "test request", "merge into master" and "pull request" as separate stages, but most of the time they can be merged into one. Just branch from master, get it to a point that it's somewhat useable, push it to your github fork, and do a pull request. The pull request will signal that your stuff needs to be tested, and when the pull is granted your branch will automatically be merged back into master.

This is relevant to the abovementioned branches, as well as to all branches that will be created in the future. Of course all of this will be documented in more detail in the wiki (currently useless).


More announcements to follow soon!
"There are only two hard problems in computer science: cache coherence, naming things, and off-by-one errors." (Phil Karlton and Leon Bambrick)

coding and xkcd combined

(Julian/Julian's)

User avatar
Jplus
Posts: 1692
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: Netherlands

Re: The Red Spider Project

Postby Jplus » Tue Mar 19, 2013 12:06 am UTC

A few posts up, Rafael proposed to use an ASCII art spider image for display on the terminal. They suggested this:

Code: Select all

#X/´
X/       ___
|    ,--/   +--,
    ,+-/   +--,|
   ,+-/   +--,|
  ,+-/   +--,|
  | (oOo)   |
     VV
Red Spider Project

I think this is an excellent idea and I invited Rafael to push it to the repository. They accepted the invitation, but the actual pushing has yet to be done.

I also re-discovered the ASCII drawing of a spider that BRNMan included in their wallpaper changing app, which they pushed to the repository about 7 months ago:

Code: Select all

                $$$$     $$$#$$$$$                                       
             $$$$$$     $$$$$     $$                                     
           ®$$$$®$$®$$$$$$$$$$®$   $$                                     
          ®$$$$$#$$$#$$$$$$$$$$$$$  $$$$®    ,                           
         ®®$$$$$$®®$$$$$$$$$$$$$$$$  ,$$                                 
         ®®®$$$$$$$$®#$$#$$$$$$$$$$$,    $$$$®o $$                       
        ,®®®®®$$$$$$$$$$®®$$$$$$$$$$$      $$     ,                       
        ,,®®®®®®®®®$$$$$$$$®$$$$$$$$$$$     $$$$ ,,$,$$                   
  $$$$$$$$$$$$$®®®®®®®®$$$$$®$$$$$$$$$$$,  $$$$$$$     $                 
  $      ,,,®®®®®®®®®$$$$$$$$$$$$®$$$$$$$$$$$$$$$$$    $ o               
 ,$        ,,,o$,,$$$®®®$$$$$$$$$$$®$$$$$$$$$$$$$$$$,,$,,$$$$ ,           
 ,      $$$®o ,,,,,®®®®®®$$$$$$$$$$$$$$$$$$$$$$$$$$$$       $  $,         
 $      $        ,,,,®®® $®®$$$$$$$$$$$$$$$$$$$$$$$$$$           $       
 $      $   ,,,,, $,$$$®®®®®®$$$$$$$$$$$$$$$$$$$##$$$$             $     
     ,,,,,    $$$    ,,,,®®®®®®$$$$$$®# #$$$$$$$$$$$$                ,   
,,,    ,      $       ,,,,,®®,$$®®$$$$###$$$$$$$$$$$,                     
       $      $   ,,,    ,$$®®®®®®®®®$$$$$$$$$$$$$$                       
       $   ,,,,        ,$ ,,,,,,$®®®®®®®®®®®®®®®                         
       ,,             ,,,      ,,,,,,,,,,,,                               
             $      ,,         ,,                                         
             $  ,,   ,       ,                                           
             $,      o      ,                                             
                     $    ,                                               
                     $  , 

It appears to be a rendering of tidbit's first vector logo.

These two designs represent two distinct classes of ASCII art. Rafael's image is small and authentic while BRNMan's image is big and looks like a grayscale image if you look through your eyelashes. A small image is more practical for printing in the terminal while a big grayscale image might look more impressive.

What do you folks prefer, in which situation? I challenge everyone to submit alternative designs!
"There are only two hard problems in computer science: cache coherence, naming things, and off-by-one errors." (Phil Karlton and Leon Bambrick)

coding and xkcd combined

(Julian/Julian's)

User avatar
gordo
Posts: 43
Joined: Wed Oct 10, 2012 2:17 pm UTC

Re: The Red Spider Project

Postby gordo » Wed Mar 20, 2013 12:53 pm UTC

(I'm sort following this topic in the background, although I still haven't gotten to completely reading it...)

I think a top-view of a spider might be more recognizable... e.g. something like this

I suck at ASCII art, but I'll give it a try:

Code: Select all

|             |
| |   _v_   | |
\ \__/o o\__/ /
 \___:   :___/
  ___|   |___
 /  _\   /_  \
|  /  \_/  \  |
| |         | |
|             |


Just an idea that popped in mind: if one can use the ASCII image to specify a set of operators and operands, we can include a parser that parses the image. The result could be 0xFF0000 ;-)

User avatar
scarecrovv
It's pronounced 'double u'
Posts: 674
Joined: Wed Jul 30, 2008 4:09 pm UTC
Location: California

Re: The Red Spider Project

Postby scarecrovv » Wed Mar 20, 2013 2:05 pm UTC

Hello folks. It's been a while. And it will probably be a while too, since I'm a bit busy trying to graduate at the moment. Regarding xkcd-fetch, and various bugs, misleading documentation, etc: issues almost certainly exist. If you think something is wrong, feel free to go fix it. I'll try to take a glance at things this weekend, but honestly I'm pretty busy with other things that are more important to my personal life right now. Sorry.

Good luck folks!

User avatar
Jplus
Posts: 1692
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: Netherlands

Re: The Red Spider Project

Postby Jplus » Wed Mar 20, 2013 2:21 pm UTC

@gordo:
Good idea. Your try is certainly recognizable as a spider!

gordo wrote:Just an idea that popped in mind: if one can use the ASCII image to specify a set of operators and operands, we can include a parser that parses the image. The result could be 0xFF0000 ;-)

Do you mean something like a visual programming language?

@scarecrovv:
No problem! Thanks for the update, I wish you much success with your graduation!
"There are only two hard problems in computer science: cache coherence, naming things, and off-by-one errors." (Phil Karlton and Leon Bambrick)

coding and xkcd combined

(Julian/Julian's)

User avatar
gordo
Posts: 43
Joined: Wed Oct 10, 2012 2:17 pm UTC

Re: The Red Spider Project

Postby gordo » Wed Mar 20, 2013 3:06 pm UTC

Jplus wrote:@gordo:
Good idea. Your try is certainly recognizable as a spider!

gordo wrote:Just an idea that popped in mind: if one can use the ASCII image to specify a set of operators and operands, we can include a parser that parses the image. The result could be 0xFF0000 ;-)

Do you mean something like a visual programming language?

Actually, I was more thinking along the lines of Brainf*ck...

User avatar
ahammel
My Little Cabbage
Posts: 2135
Joined: Mon Jan 30, 2012 12:46 am UTC
Location: Vancouver BC
Contact:

Re: The Red Spider Project

Postby ahammel » Thu Mar 21, 2013 2:39 pm UTC

Hey guys. Remember me, the guy who had the silly idea about this, only with programming? No? Oh well...

Julian tells me that the unit-testing framework I used for level_up doesn't cooperate with py3k in a Windows environment. Unless anybody has experience with py.test on windows, I think the easiest fix would be to rewrite the tests with unittest (which is in the Python standard library and is therefore available everywhere). I'm pretty sure that would just involve adding some boilerplate and twerking some `assert' statements, assuming I don't get sidetracked fixing the eye-burning parts of my code. (Dammit, past-me! Who taught you about coding standards?)

Once we've got things tested, level_up.py will be in a usable state. (For those of you that don't remember, it throws up a little dialog informing you that you have levelled-up in a programming language every time you write however many lines of code.) Actually using it would involve manually running a script every time you want to check whether you've levelled-up, though, and I don't know of any cross-platform way to dæmon-ize it. If anybody has any thoughts on that front, that would be great :D

I'm hacking away at a thesis rather desperately at the moment, but I'd like to take some time to work on stuff this weekend. Glad to see this seems to be off and running again!
He/Him/His/Alex
God damn these electric sex pants!

User avatar
Jplus
Posts: 1692
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: Netherlands

Re: The Red Spider Project

Postby Jplus » Sat Mar 23, 2013 7:50 pm UTC

Issue for Alex' post above: #14.

Today it's one year ago that qubital launched the GitHub repository. Congratulations everyone! :D

I'm currently working on the wiki. Come check it out! I especially recommend having a peek at Communication channels, because not everyone seems aware that we have a homepage and an IRC channel. :)

I'm planning to work next on "Getting involved", "Questions and Answers" and some page on what our project is about. Probably in that order.

Help is welcome.
"There are only two hard problems in computer science: cache coherence, naming things, and off-by-one errors." (Phil Karlton and Leon Bambrick)

coding and xkcd combined

(Julian/Julian's)

User avatar
ahammel
My Little Cabbage
Posts: 2135
Joined: Mon Jan 30, 2012 12:46 am UTC
Location: Vancouver BC
Contact:

Re: The Red Spider Project

Postby ahammel » Mon Apr 01, 2013 6:04 pm UTC

As mentioned on the github issue thread: I've replaced py.test with unittest in the test suite for level_up. It should run anywhere python3 is available.
He/Him/His/Alex
God damn these electric sex pants!

User avatar
Jplus
Posts: 1692
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: Netherlands

Re: The Red Spider Project

Postby Jplus » Tue Apr 02, 2013 8:02 am UTC

Cool! I'll see whether I can test it somewhere in the next few days.
"There are only two hard problems in computer science: cache coherence, naming things, and off-by-one errors." (Phil Karlton and Leon Bambrick)

coding and xkcd combined

(Julian/Julian's)

scared
Posts: 4
Joined: Fri Mar 22, 2013 5:44 pm UTC

Re: The Red Spider Project

Postby scared » Sat Apr 06, 2013 4:43 pm UTC

Hey, I'm new. I'd like to join you guys. What time is best to be on the irc?

User avatar
Jplus
Posts: 1692
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: Netherlands

Re: The Red Spider Project

Postby Jplus » Sat Apr 06, 2013 5:14 pm UTC

Welcome! :-)

The best time to be on IRC is always. Seriously.
"There are only two hard problems in computer science: cache coherence, naming things, and off-by-one errors." (Phil Karlton and Leon Bambrick)

coding and xkcd combined

(Julian/Julian's)

User avatar
Jplus
Posts: 1692
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: Netherlands

Re: The Red Spider Project

Postby Jplus » Tue Apr 09, 2013 11:26 am UTC

Edit: slight update because of discussion and new insights. See post below.

As some may have noticed I *flooded* the tracker with new issues yesterday. :) That's because I realised the tracker is really cool: it's basically our own forum for any communication related to concrete work, with direct ties to the repository.

The list of issues provides a quick overview for anyone who wants to know what needs to be done and where one could jump in to help. The labels give a quick hint of the kind of work (addition, bug, documentation, enhancement) and what kind of help might be required (testing test-<platform>, question, poll, needbuddy needinput). The presence of a little avatar icon next to the issue number indicates whether the job has been assigned to anyone. Issues can be grouped under a milestone, which represents a goal that is being worked towards. Pull requests are a special case of issues, currently we have two of those.

Anyone with a GitHub account can add issues and react to issues. Only operators can create milestones, attach issues to milestones, label or assign issues and close or reopen somebody else's issues. As a non-operator you can expect operators to do the right thing, but if they don't you can always request operator actions, either in a reply to the relevant issue, in this thread, in a pm or on IRC. Currently the operators are nforrester, zed0, ahammel and me, in increasing order of available time.

Issues compared to milestones:
  • An issues stands for something that (somebody thinks) should be done, a milestone stands for a goal that one or more people are working towards.
  • A milestone usually corresponds to multiple issues. If you feel a desire to replace several existing issues with a new one that covers them all, chances are that you actually want a milestone.
  • In discussion board analogies, an issue is a thread while a milestone is a forum with a description (but not all issues need to be attached to a milestone).
  • Milestones are cool because they have a sexy progress bar, issues are cool because closing them forwards that progress bar (as well as for various other reasons).
  • An issue is closed or reopened when an admin decides to do so, a milestone is automatically closed when the progress bar fills and reopened when a fresh issue is added to it.

If you chose to "watch" the repository you'll receive automatic updates about the issue tracker by email. Happy tracking everyone!
Last edited by Jplus on Tue Apr 09, 2013 9:10 pm UTC, edited 1 time in total.
"There are only two hard problems in computer science: cache coherence, naming things, and off-by-one errors." (Phil Karlton and Leon Bambrick)

coding and xkcd combined

(Julian/Julian's)

User avatar
Jplus
Posts: 1692
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: Netherlands

Re: The Red Spider Project

Postby Jplus » Tue Apr 09, 2013 8:57 pm UTC

Update to the above: FireRogue pointed out that the labeling scheme could be improved upon, and I followed some of his suggestions. "needbuddy", "poll" and "question" were merged into "needinput". "testing" was split into "test-windows", "test-linux" and "test-osx", so that people can get a list of things that need to be tested on their platform with a single click.

FireRogue's comments also caused me to reconsider the "enhancement" label, because it was applied to the majority of issues which made it useless for filtering. I classified those issues into three groups:

  1. issues about improving or expanding something that already exists (#13, #20, #31, #36, #37);
  2. issues about adding something new to the project (#24*, #28, #29, #32, #33, #34, #35);
  3. issues about integrating a topic branch, i.e. pull requests (#21, #30).
I decided to keep the enhancement label for class 1, move class 2 to a new label called "addition", and remove the enhancement label altogether from class 3. Pull requests can already be filtered out through other means.

FireRogue and I didn't agree about everything. Also, all of this is very easy to change, so if you think there's a better way to do things please feel free to speak up.

Final note: it seems that hoksbergen closed issue #16, even though he's not an operator. He did create the issue so perhaps non-operators can close their own issues only. If that's true they can probably also re-open them.
"There are only two hard problems in computer science: cache coherence, naming things, and off-by-one errors." (Phil Karlton and Leon Bambrick)

coding and xkcd combined

(Julian/Julian's)

User avatar
cjdrum
Posts: 113
Joined: Sun Dec 12, 2010 4:51 am UTC
Location: BACK

Re: The Red Spider Project

Postby cjdrum » Thu Apr 11, 2013 1:02 pm UTC

I don't know if I'll actually ever make anything for this, but I wanted to jump in here and say

a) This is a really really cool idea, and
b) They are six-legged spiders (alt-text)

I know that two of the artworks on the project main page are right, but the ASCII versions all seem to have eight legs!

Anyway. CJ out and all. I'll keep checking in and seeing if there's anything I can do, of course!


Also, I can already tell that this is going to have one heckuva Gource video. *nudge*, *nudge* *nudge*
:shock:

User avatar
Jplus
Posts: 1692
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: Netherlands

Re: The Red Spider Project

Postby Jplus » Thu Apr 11, 2013 2:05 pm UTC

Welcome CJ! Good to hear that we're cool!

Yes, we know that the spiders ought to be six-legged. Care to make a six-legged ascii spider?

Definitely do keep checking in and also lurk our channel, #redspider at irc.foonetic.net!
You know that there's currently a lot you can do already, right? Just check the issue list or the list of free ideas...

I never heard about Gource before. Crazy stuff! Perhaps you could make a video?
"There are only two hard problems in computer science: cache coherence, naming things, and off-by-one errors." (Phil Karlton and Leon Bambrick)

coding and xkcd combined

(Julian/Julian's)

User avatar
Zarq
Posts: 1993
Joined: Mon Jul 26, 2010 7:29 pm UTC
Location: Third Rock from Earth's Yellow Sun

Re: The Red Spider Project

Postby Zarq » Sun Apr 14, 2013 12:41 pm UTC

Hi. I just noticed this and I rather like the idea. Forked the repo, and might look into some stuff once I have time.

I also came up with an idea that I'm sure would fit in the repo since it's not all really xkcd related. The idea is basically a mix of the normal text-adventure idea and the text-adventure shell. The best way to describe it would be a support text-adventure for modular, dynamically added, other text-adventures. You start the program, and you end up in a text-adventure in which you can choose to go in other text adventures. Those other text-adventures are modules that just implement a very simple interface.
You rang?

"It is better to shit yourself, than to die of constipation." - Some picture on reddit

User avatar
Jplus
Posts: 1692
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: Netherlands

Re: The Red Spider Project

Postby Jplus » Mon Apr 15, 2013 8:04 am UTC

Welcome to the club Zarq!

Indeed not everything in the repo is xkcd-related, nor does it need to be!

I'm sure there's place for your idea (nice!), but it might be a good idea to chech out existing, related ideas before you start:
https://github.com/the-xkcd-community/t ... i-advshell
https://github.com/the-xkcd-community/t ... advbrowser
https://github.com/the-xkcd-community/t ... _and_ideas
(You probably already found out about those first two, but I mention them for completeness.)
"There are only two hard problems in computer science: cache coherence, naming things, and off-by-one errors." (Phil Karlton and Leon Bambrick)

coding and xkcd combined

(Julian/Julian's)


Return to “Coding”

Who is online

Users browsing this forum: No registered users and 11 guests