« first day (1676 days earlier)      last day (3106 days later) » 

03:35
I have an algorithm enumerating certain expressions (nested lists of integers) and I need to maintain a set of already visited expressions. I only need to add expressions to the set, never remove them or backtrack. I can implement it either using `DownValues` or `Association`. E.g. `Module[{visited}, ...
If[!TrueQ[visited[expr]], visited[expr] = True; ...] ...]` or `Module[{visited=<||>}, ...
If[!TrueQ[visited[expr]], visited[expr] = True; ...] ...]`. What are pros and cons of each approach? Which is faster, and which does consume more memory?
 
6 hours later…
09:52
@Szabolcs @R.M. One question regarding static website, pelican, etc.. How does one backup/version the input markdown files? I though about putting all source files under version control but then again, the sources most likely contain downloadable content which is (1) large and (2) not suited for version control.
So what I have now is a pelican theme I developed and the website sources. The first one can easily be put under version control but I'm not sure what to do with the latter one. For the MATLink website, you just put all input sources on the gh-page branch and the stuff is built automatically, right?
 
2 hours later…
11:41
@MikeHoneychurch I've had three or four emails, but haven't checked the corresponding bugs yet.
 
2 hours later…
14:01
@halirutan For MATLink, everything is in gh-pages except the downloadable zip file. I host that on Amazon S3. We don't version control that one but in theory, we could.
For static webpages, I think Amazon S3 is a much better option than Github or running a server only to serve a static site. Super cheap, infinitely scalable, easy to use.
What I do for a different site (not MATLink) is the following
- keep all the source markdown/HTML/CSS/JS/etc. in version control. Everything _except_ large downloadable content.
- when I publish something, I commit to the repository (Github/Bitbucket) and then sync the entire "publish" directory to an S3 bucket. (e.g. `s3://my-site/`)
- I also zip & backup to a different bucket with the SHA of the commit as an identifier. (e.g. `s3://my-site-backup/<SHA1 from the commit>.zip`). This zip will contain the large files.
Note that while gh-pages is free, you will pay for storage with AWS S3. It is pretty cheap — 3¢/GB/month, but if you have huge files that you want to version multiple times, you might want to think about the costs
Another option — use S3's versioning docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html for the big files so that you don't have to worry about managing the manual backups (but this is a bit more advanced, so might be overkill for simple use cases)
14:56
@R.M. Thank you very much. Exactly what I was looking for: someone who already has experience with this who can give me a head-start. Excellent.

« first day (1676 days earlier)      last day (3106 days later) »