+++++++[>++++++++++<-]>++.---.+++++++..+++.<+++++++[>-------<-]>+++...
Oh, sorry! I hope you're excited as we are for *esoteric programming
languages* (a.k.a. esolangs) tonight! (Personally, I think this is the best
thing ever.) Prepare to twist your mind into some topologically weird
contortion as you, for example, write code entirely using whitespace
characters.
<http://web.archive.org/web/20150623025348/http://compsoc.dur.ac.uk/whitespace/>
I'd also recommend you start having a look at Core War
<http://vyznev.net/corewar/guide.html> before we do that next week. By the
way, the *Michaelmas TGM* is coming up this Wednesday!!
Gold sponsor Bloomberg is advertising CodeCon, a global programming contest
developed by Bloomberg Engineers on Friday 9th November in Said Business
School - do check it out.
In two weeks time, Gold sponsor Google will be giving a talk with us at the
Maths Institute. The title is pending, but expect a fascinating view into
what they're working on.
*Some more LAST MINUTE SPACES have reopened* for our all-day Bletchley Park
trip on Saturday of 7th week, *kindly sponsored by Silver sponsor
Ensoft!* Bletchley
Park, once the top-secret home of the World War Two codebreakers is now a
vibrant heritage attraction. Explore, experience and enjoy the once
top-secret world of iconic codebreaking Huts and Blocks set within an
atmospheric Victorian estate. We're also visiting the National Museum of
Computing on that trip. *Free for members*, and *£10 for non-members* - so
you've got a pretty good deal regardless! *FIRST COME FIRST SERVED!!!* The
trip is right around the corner - only 3 weeks 'til we go!
Here's the form; *please* make sure you're free!
<https://goo.gl/forms/IaoSgoD51W7iHO212>
Here's the link to our Discord. You use Discord, right? Right? Ehhhh???
<https://discord.gg/xA9PFvy> Please let me know who you are when you join
(like, your name and surname).
+++++++[>++++++++++<-]>+.++++++++..-----------.--.<+++++[>+++++<-]>--.<++++[>-----<-]>.<+++++[>-----<-]>.
*The CompSoc Committee - Joe G, Edward H, Ben S*
Events
*Geek Night 4: Esoteric Languages*
<https://www.facebook.com/events/1076012762567772/?event_time_id=1076012802567768>
-
7:00 pm 3rd November, Undergraduate Social Area, Department of Computer
Science
Tired of things making sense? Want to try a language that breaks *all* the
conventions and destroys the very foundations of what you think it means to
write a program?
How about a language that's Turing complete (can do anything computable)
with only eight symbols? <https://esolangs.org/wiki/brainfuck> What about
six? <https://esolangs.org/wiki/JSFuck> (I mean, it's just JavaScript.)
What about one?? <https://esolangs.org/wiki/Unary> Tired of writing your
code line-to-line? How about it be flowing about in two dimensions?
<https://esolangs.org/wiki/Befunge>
What about the source file being a MIDI score?
<https://esolangs.org/wiki/Velato> Or a recipe?
<https://esolangs.org/wiki/Chef> Or a Shakespeare play?
<http://shakespearelang.sourceforge.net/> The possibilities do not end!
<https://esolangs.org/wiki/MarioLANG>
Use any skills you learned from the CodeGolf geek night last week to your
advantage, you might find they prove useful!
*Maybe you've even got an idea for an esolang of your own?* Perhaps you
could define an implementation, make an interpreter...
Bring your laptops, we'll provide the pizza.
*Michaelmas Termly General Meeting*
<https://www.facebook.com/events/249948445681070/> - 7:00 pm 7th November,
Undergraduate Social Area, Department of Computer Science
Hey all! We've got the Michaelmas termly general meeting coming up. The
agenda is attached. Come along for democracy! If you've anything you'd like
to propose, please e-mail it to us.
*CS Essentials Session 4* <https://www.facebook.com/events/735287826805251/> -
7:00 pm 1st November, Lecture Theatre A, Department of Computer Science
*This week's CS Essentials session is the second of a two-part series on
Bash.*
CS Essentials is a brand new course that CompSoc organises for beginners.
If you are into either exploring the Linux command line or learning how to
create a beautiful document using LaTeX, this is just the course for you!
You do not need any prior experience, just come along and have some fun!
All you need is a laptop to get through the exercises. What we will be
teaching is:
- basic and more advanced Linux commands;
- Bash scripting;
- Vim text editor;
- LaTeX.
If you need directions to the department, send us a message and we'll be
more than happy to help!
The course is open to all members of the University of Oxford.
P.S. If you have any experience in any of the topics and a little spare
time, you can volunteer to help during the events.
*Geek Night 5: Core War*
<https://www.facebook.com/events/1076012762567772/?event_time_id=1076012802567768>
-
7:00 pm, 8th November, Undergraduate Social Area, Department of Computer
Science
OK, maybe this is actually the best thing ever. Core War
<http://vyznev.net/corewar/guide.html> is a game played between two or more
programs written in Redcode, a low-level language similar to assembly.
Players write a program to eliminate all opponents in the memory of the
MARS virtual computer. Core War can also be used as a platform to
experiment with genetic programming. I *highly* recommend checking the link
as it contains a guide to the instruction set. Here's another link
<https://www.corewars.org/information.html> to an information homepage.
The MARS (Memory Array Redcode Simulator) executes one instruction at a
time, proceeding to the next unless a JMP specified where to jump to.
Addresses are all relative, so an OpCode may not know where *specifically* it
is in memory, though it may affect, say, the Kth cell in front or behind it.
There are nineteen operations used in Redcode: DAT, MOV, ADD, SUB, MUL,
DIV, MOD, JMP, JMZ, JMN, DJN, SPL, CMP, SEQ, SNE, SLT, LDP, STP and NOP. An
instruction (OpCode) will be of the form OP A B, with A being the source
address and B being the target address.
To get the ball rolling, let's take a look at the "Hello, world!" of this
thing, the *imp*:
MOV 0 1
This pesky little warrior will simply roll along the memory, overwriting
everything in its path with its own OpCode. MOV A B simply moves
instruction A to B. Since addressing is relative, it moves current
instruction to the next cell in memory, then the warrior's instruction
pointer moves to that new instruction and repeats. It alone cannot
*kill* another
warrior, however. If an imp catches up to and overwrites the next
instruction another warrior was going to execute, then that will become an
imp, the whole memory will fill with MOV 0 1 and they'll all continue to
run around the memory ad infinitum.
Boring right? Don't you want to make a warrior who will win? Let's take a
quick look at a simple warrior who can fight somewhat, the *dwarf*.
ADD #4, 3 ; execution begins here
MOV 2, @2
JMP -2
DAT #0, #0
If you think hard about what this is doing, you can see that it's
essentially throwing a "DAT bomb" in increments of 4 in front of itself.
The idea is that if you can overwrite a part of someone's warrior with a
DAT instruction, they'll try to read it and terminate. The # symbol is used
for immediate addressing, and @ for indirect addressing. In fact, there are
eight such addressing modes.
Please read this - it's vital to understanding this game!
<http://vyznev.net/corewar/guide.html>
Bring your laptops, get coding these brave warriors, and we'll provide the
pizza!
*Tech talk with Google* <https://www.facebook.com/events/273264239996714/> -
7:00 pm, L2, Mathematical Institute
*Note we will be in a different venue!*
Silver sponsor Google are giving out a talk. Abstract and title pending.
There'll most likely be an interesting tech bit followed by questions.
Come along!
------------------------------
Sponsor Notices
*The following notice is from Bloomberg.*
CodeCon
Open to all coders, CodeCon is a Global programming contest developed by
Bloomberg Engineers. Solve as many problems as you can to win an
all-expenses trip to London for the Finals! Compete in C, C++, Java,
Python, C#, JavaScript, Scala, Rust or Ruby. Push your programming and
problem solving skills to the limit and race against the clock to win the
title of Bloomberg CodeCon Champion!
- Date: Friday 9th November
- Time: 5:30pm - 8:30pm
- Location: Said Business School
- Room: Classroom 2 - West Wing Entrance
- Food and drinks will be served
Register for CodeCon now:
http://tinyurl.com/y946efnk
Strategize on purpose.
------------------------------
The Oxford University Computer Society (CompSoc) aims to organise meetings
and events for our members to use and further their computing interests.
See all of our upcoming events on our Facebook Page
<https://facebook.com/oxcompsoc/> or visit our Website
<https://ox.compsoc.net> for more information about the society.
Want to unsubscribe or manage your subscription preferences? Go to
http://lists.ox.compsoc.net/mailman/listinfo/.