Battlecode by Ciro Santilli 37 Updated +Created
Some mechanics:
  • inter agent communication
  • compute power is limited by limiting Java bytecode count execution per bot per cycle
Video 1.
Battlecode Final Tournament 2023
. Source.
Video 2.
Introduction to Battlecode by MIT OpenCourseWare (2014)
Source.
Computer Olympiad by Ciro Santilli 37 Updated +Created
Ah, shame, they are a bit weak.
Git tips / git rebase 101 by Ciro Santilli 37 Updated +Created
Git tips / gitk by Ciro Santilli 37 Updated +Created
For the newbs.
Slick? No. But gitk does the job, like any one of the other 100 billion free Git UI viewers out there
gitk master HEAD
https://raw.githubusercontent.com/cirosantilli/media/master/gitk.png
Many IDEs are also implementing this now (e.g. VS Code, Eclipse. Most free IDE GIt implementations are still crap, but that is the future, because you want to edit, view history, edit, view history, commit, edit.
Git tips / git log --graph by Ciro Santilli 37 Updated +Created
For the strong.
git log --abbrev-commit --decorate --graph --pretty=oneline master HEAD
Output:
* b4ec057 (master) 5
* 0b37c1b 4
| * fbfbfe8 (HEAD -> my-feature) 7
| * 7b0f59d 6
|/
* 661cfab 3
* 6d748a9 2
* c5f8a2c 1
If we also add the --simplify-by-decoration, which you very often want want on a real repository with many commits:
* b4ec057 (master) 5
| * fbfbfe8 (HEAD -> my-feature) 7
|/
* c5f8a2c 1
As we can see, this removes any commit that is neither:
  • under a branch or tag
  • at the intersection of too branches or tags
Git tips / git rebase moves commits one by one by Ciro Santilli 37 Updated +Created
In order to solve conflicts, you just have to understand what commit you are trying to move where.
E.g. if from:
5 master
|
4 7 my-feature HEAD
| |
3 6
|/
2
|
1
we do:
git rebase master
what happens step by step is first 6 is moved on top of 5:
6on5 HEAD
|
5 master
|
4                 7 my-feature
|                 |
3                 6
|                 |
2-----------------+
|
1
and then 7 is moved on top of the new 6:
7on5 HEAD
|
6on5
|
5 master
|
4                 7 my-feature
|                 |
3                 6
|                 |
2-----------------+
|
1
All good? so OK, let's move the my-feature to the new 7:
7on5 my-feature HEAD
|
6on5
|
5 master
|
4
|
3
|
2
|
1
Git tips / The key to solve conflicts: see the two conflicting diffs by Ciro Santilli 37 Updated +Created
The key to solve conflicts is:
You have to understand what are the two commits that touched a given line (one from master, one from features), and then combine them somehow.
Or in other words, at every rebase conflict we have something like:
master-commit    feature-commit
|                |
|                |
base-commit------+
|
|
Therefore there are 2 diffs that you have to understand and reconcile:
  • base-commit to master-commit
  • base-commit to feature-commit
Git tips / Conflict resolution tool by Ciro Santilli 37 Updated +Created
Pipeline stall by Ciro Santilli 37 Updated +Created
Brodmann area by Ciro Santilli 37 Updated +Created
y86.js.org by Ciro Santilli 37 Updated +Created
The good:
  • slick UI! But very hard to read characters, they're way too small.
  • attempts to show state diffs with a flash. But it goes by too fast, would be better if it were more permanent
  • Reverse debugging
The bad:
WebRISC-V by Ciro Santilli 37 Updated +Created

There are unlisted articles, also show them or only show them.