How Scary Can An Old-School Programmer Be?

Recently Eugene Kaspersky wrote in his blog a post about the so called Big Comeback of old-school virus writers. I am old enough to remember those guys and their brilliant

assembly_EN

Recently Eugene Kaspersky wrote in his blog a post about the so called Big Comeback of old-school virus writers. I am old enough to remember those guys and their brilliant work – I don’t necessarily mean malware creators, I’m talking about programmers, coders and assembler masters. They are like Jedi and the Sith of Old Empire whom all Skywalker-related saga heroes considered much more powerful and skilled with the light sabers (no kiddin’, ask Yoda). And I thought… damn… there are probably around 3 people left out there who witnessed the true power of those people (me, Kaspersky and Bill Gates). Seriously – it is quite hard to understand what an old school hacker is capable of – I decided to show you what Eugene was talking about, so you could decide for yourself whether this was scary news.

Extreme workout for stupid calculators

Back in 1992 computers were basically smart calculators with big screens (this is not a joke, kids). But there were several groups of enthusiasts who were happy to face software challenges: some programmers managed to create codes that used every byte of memory, every processor function and register, every OS command and, what is most important, 100% of hardware power – squeezed it all to the last drop and checked out the result. I have to point out that in order to truly nail those tasks, one has to be damn creative, drink a lot of coffee (or smoke a lot of weed, let’s be honest) – and have an insane IQ level. The movement itself started around 1988, basically, together with first more or less widely spread version of MS-DOS. It had no official name, but according to the laws of evolution, sooner or later they’d have to compete. And this is how “Assembly” was born in 1992.

school_EN

Future Crew is back from the future

In 1992 a group of Scandinavian coders called “Future Crew” together with their friends from “Complex” and “Amiga” programming groups organized an event called “The Assembly” in order to share the results of their kick-ass work on Assembler language and compete for the title of the Best Coder of the year. There were several disciplines, but two most interesting are platform (PC, Amiga, C64) demos and PC 64k. The first had the goal of demonstrating the most elegant coding solutions/best abilities of the hardware with minimalistic and optimal code. The second was a tricky one – coders were limited to 64kb – their compiled programs (means – read2work file(s)) could not be more than 64kilobytes – that’s why this nomination turned out to be a contest of codin’ elegance.

A coding demo is basically a scripted serie of events programmed to demonstrate the capabilities of hardware or/and top software solutions for a particular task, such as complex physics calculations”

Back in 1992 the Future Crew won the competition with their “Unreal” demo. Here it is (note that this is 1992 and there’s no Windows yet. This demo was called Unreal for a reason – nobody(!) performed anything like that before):

They were the first to demonstrate a 3D environment working model, layers of graphics, complex physics and lighting calculations, etc. And the whole compile code was about 1 megabyte (including music! – and let me point out that there were no mp3 compressions yet). The only way to achieve such a result was mastering Assembler – to my opinion – the most complex programming languages ever. Just so you have an idea of what Assembler is, here is what guys from Future Crew told me years ago:

Learning to code demos is a long and very very difficult process. It takes years to learn to code demos very well. A good way to start is some high level language like Pascal or C and then started to experiment with assembler. It takes a lot of time and experimenting to get better, and there are no shortcuts. The main thing is trying to understand what you do, then trying to change the program to see what you get, and gain wisdom in what’s the best way of doing things. Learning to code well requires a lot of patience, a lot of enthusiasm and a lot of time. It is not easy.

Basically those who were engaged in the competition turned out to become The Ultimate Source of inspiration for all the software developers. I’m not saying that someone was stealing their ideas, no – everyone was just… adopting their creative vision. Most products we have today – ALL GAMES, Adobe graphics and video products, meteo and GPS, Google Earth… all of those multibillion dollar products were inspired by Assembly at certain point. (BTW – filming and photo shooting are strictly forbidden inside the event’s room – violators are banned forever).

1993 – the year of “Second Reality” and Eclipse

The Assembly turned out to be such a success that next year the number of attendants and presented demos doubled (the trend was pretty constant, as since 1999 the Assembly takes place in the biggest football area in Helsinki (Finland) that fits ~5000 attendants from all the globe).

In 1993 Future Crew presented something… fantastic, something that set the quality bar for all further contests and changed the programming world forever – the Second Reality demo:

It is essential to understand, that this demo was created BEFORE Intel presented their Pentium processors (Intel announced it 22 of march and first Pentiuim-PC’s were shipped only in 1994, and Assembly usually takes place in Summer – Juli/August. It means that Future Crew showed it at least half a year before shipments of Pentium started). It means that all those fantastic graphics and sounds were available on x486 CPUs with primitive sound blasters and NO-graphic cards. This demo blew away the jury and the coding community – it showed what results could be achieved with pro-level Assembler work and minimalistic approach (compiled code of Second Reality was about 1,5 megabytes). This year made Future Crew world famous.

This is a video of “Behind the scenes” of Future crew – when they were working on Second Reality:

Another symbolic win of 1993 is the demo “Eclipse” by EMF group. This code was Number 1 in 64kb limit nomination:

See what can be done on Assembler within 64kb limit? And this does include graphs, music and layer effects, transitions, texts and scrolling menus.

In 1994, the demo “Verses” (by EMC group) won the first pace.

Basically, they showed the world that realistic water physics calculations can be done and any morphing of 3D objects within Pentium speed limit is a piece of cake:

And this 64kb winner – “Airframe” by Prime group is the mother and father of All modern 3D aviation and space simulators:

Just so you get an idea of how quickly the code evolved, here’s a list of all winners from 1995 to 2012.

1995 Assembly Winner: “Stars” by NoooN group

1996 Assembly Winner: “Machines of Madness” by Dubius group

1997 Assembly Winner: “Boost” by Doomsday group

1998 Assembly Winner: “Gateways” by Trauma group

By the way – this is the ancestor of World of Warcraft visual realisation. This is when the 3D MMORPG visuals were created.

In 1999 the 3DFX technology changed the graphics forever. And the demo by MatureFunk group called “Virhe” blew everybody’s minds away:

Assembly revised

In 2000 the rules changed a bit – instead of competing in 3 categories – Amiga, PC and C64 they started to compete in “Combined Demo”, “Oldschool demo” and “64kb limit intro” categories. 64k competition became obsolete in 2010. But in the end of this post you’ll see some really fantastic examples of what a pro assembler coder can fit within 64 kilobytes.

This is the list of winners in Combined Demo category, which is the most brilliant in terms of Assembler mastery:

2000 first prize winner was “Spot” by Exceed group

Check out the lighting effects… they are amazing – remember – this is 13 years ago technologies!

2001 Assembly Winner was “Lapsuus” by Maturefurk group

2002 Assembly winner was “Liquid… Wen?” by Haujobb group

I have to pinpoint the fact that all graphics, including faces and characters in all demos of Assembly are drawn ONLY using the code – those are not picture-files included in the demo. No, sir!:)

2003 Assembly Winner was “Legomania” by Doomsday. Say hello to All 3d console games:) And, I’m sure that this is the time when new Nintendo Wii vision was born:

2004 first prise went to “Obsoleet” by Unreal Voodoo

2005 first prize of Assembly went to “Lconoclast” by ASD group:

In 2006 the demo “Starstuck” by The Black Lotus coding group blasted the community again, but he level of sophistication of graphic coding. I’d say that they raise the bar a lot:

2007 winner of Assembly was “LifeForce” by ASD. And this was, once again, a pice of fantastic Assembler work:

2008 was the ear of “Within Epsilon” by Pyrotech:

2009 winner is one of my personal favourites – “Frameranger” by Fairlight, CNCD & Orange groups:

In 2010 “Happiness is right around the bend” by ASD showed a fantastic tank :)

2011 Assembly winner was “Spin” by ASD:

2012 was phenomenal – “Spacecut” by Carillon & Cyberiad CNCD

64 kilobytes limit best examples

Just so you get an idea what a professional programmer can do within 64 kilobites: this is the best of 2005 – “Che Guevara” by Fairlight

I repeat – this is 64 kilobytes of assembler code. Not a byte more.

But 3 years later, in 2008, the same group demonstrated an immense progress in technology and managed to fit within 64kb a demo like this one – “Panic room”  – and won the first prize in this category:

But the best 64k demo EVER presented, was “X marks the spot” by portal process in 2010 – first prize winner of Asselbly in 64k category:

And now… let me draw you a small picture here… All those demos, especially limited to 64kb length, show the results a talented old-school programmer can deliver when he puts his mind into it, but, what is more important, when he is a Master of Assembler – something that is not very common nowadays, when most products are created within Visual so called “high-level” programming languages, such as Visual C and Object C.

Just imagine for a second, that a programmer like this, or a group like Future Crew decides to screw all the 3D creative, music, phycisc and just get read of all this enthusiasm and focus on just one goal – create a small code that steals your financial data or helps to re-calibrate a Nuclear Reactor. How do you think, would they succeed? How long would be the code if 64kilobytes is more than enough? Would they find a way to break the Windows or Apple integrated security systems? Are they mobile? Are they flexible? Do they have finances to make this true if they were doing a free 5000-attendee events for 20 years?

I don’t want to tell you the answer. You have to decide for yourself. But when I hear someone saying – “My PC does not require protection” – I can’t help but remember the “Second reality” and start praying.

Thank God that guys that were Future Crew are now very busy :) if you’re the best in coding the demos, why not to make it your business, right? Next time you run a 3DMark 2011 test on your PC – think of Unreal, Second Reality and Future Crew. Future Crew as a team did not release anything  after Scream Tracker 3 (December 1994). While it was never officially dissolved, its members parted ways in the second half of the 1990s. Companies like Futuremark (3DMark), Remedy (Death Rally, Max Payne, Alan Wake), Bugbear Entertainment (FlatOut, Glimmerati, Rally Trophy), Bitboys (a graphics hardware company) and Recoil Games (Rochard) were all started in whole or in part by members of Future Crew.

I want to thank all of them – they changed the world forever and showed us that everything is possible if you put your mind into it. Including Kaspersky Internet Security.

Thank you for your inspiration, guys. And deep inside of my head I hope that not a single programmer, who was part of The Assembly would ever use his/her skills for evil purposes.

Tips

Securing home security

Security companies offer smart technologies — primarily cameras — to protect your home from burglary, fire and other incidents. But what about protecting these security systems themselves from intruders? We fill this gap.