+++++++[>++++++++++<-]>++.---.+++++++..+++.<+++++++[>-------<-]>+++...

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.

I'd also recommend you start having a look at Core War 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!

Here's the link to our Discord. You use Discord, right? Right? Ehhhh??? 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 - 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? What about six? (I mean, it's just JavaScript.) What about one?? Tired of writing your code line-to-line? How about it be flowing about in two dimensions?

What about the source file being a MIDI score? Or a recipe? Or a Shakespeare play? The possibilities do not end!

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 - 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 - 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:

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 - 7:00 pm, 8th November, Undergraduate Social Area, Department of Computer Science

OK, maybe this is actually the best thing ever. Core War 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 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!

Bring your laptops, get coding these brave warriors, and we'll provide the pizza!

Tech talk with Google - 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!

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 or visit our Website for more information about the society.

Want to unsubscribe or manage your subscription preferences? Go to http://lists.ox.compsoc.net/mailman/listinfo/.