Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Homework

Name: 2009-08-18 10:35

Output a thousand Sussmen in an individualistic way.

Name: Anonymous 2009-08-18 10:45

javascript: document.write('a thousand Sussmen')

Name: Anonymous 2009-08-18 10:52

int i;
for(i = 0; i < 1000; ++i)
   printf("Sussman");

i'm an individual ^_^

Name: Anonymous 2009-08-18 10:56

>>3

optimize your variables you pig

Name: Anonymous 2009-08-18 11:13

print "Sussman\n" * 1000

Name: Anonymous 2009-08-18 11:16

>>4
wat?

Name: Anonymous 2009-08-18 11:17

sequence_ $ replicate 1000 $ putStrLn "Sussman"

Name: Anonymous 2009-08-18 11:48


<?php
  if("5cocks" == 5)
    echo("Suss\n");
?>

Name: Anonymous 2009-08-18 11:53

/* gcc sussman.c `allegro-config --libs` */

#include <stdio.h>
#include <allegro.h>

#define WIDTH 1280
#define HEIGHT 800

int main(int argc, char **argv)
{
    BITMAP *sussman;
    PALETTE pal;
    int i, j;

    if (argc < 2) {
        fprintf(stderr, "%s SUSSMAN.bmp\n", argv[0]);
        return 1;
    }

    allegro_init();
    install_keyboard();

    if (set_gfx_mode(GFX_AUTODETECT, WIDTH, HEIGHT, 0, 0) != 0)
        return 2;

    sussman = load_bitmap(argv[1], pal);
    set_palette(pal);

    for (i = 0; i < WIDTH / sussman->w; ++i)
        for (j = 0; j < HEIGHT / sussman->h; ++j)
            draw_sprite(screen, sussman, i * sussman->w, j * sussman->h);

    destroy_bitmap(sussman);
    while (!keypressed());

    return 0;
} END_OF_MAIN()


Just pass it a suitable small bitmap of the Sussman as a parameter. I suggest this one:
http://cairnarvon.rotahall.org/pics/sussman_tiny.bmp

(At that resolution, that will actually output 2560 Sussmen.)

Name: Anonymous 2009-08-18 12:11

; nasm linux x86
SECTION .data
SUSSMAN:
  db "sussman",10

SECTION .text
GLOBAL _start
_start:
  mov ecx, 1000
  sicp:
  push ecx
  mov eax, 4
  mov ebx, 1
  mov ecx, SUSSMAN
  mov edx, 9
  int 0x80
  pop ecx
  loop sicp
  mov eax, 1
  xor ebx, ebx
  int 0x80

Name: replicateM_ meme fan 2009-08-18 12:18

>>7
You do this just to anger me, don't you?

Name: Anonymous 2009-08-18 12:37

>>11
Not qyute.

Name: Anonymous 2009-08-18 13:04

>>11
I didn't know of that function, but I'd rather not use Control.Monad anyway for a silly example like this, because then I'd need more than one line.

Name: Anonymous 2009-08-18 13:34

1000SU~1.BAT:
ECHO OFF
100SUS~1.BAT
100SUS~1.BAT
100SUS~1.BAT
100SUS~1.BAT
100SUS~1.BAT
100SUS~1.BAT
100SUS~1.BAT
100SUS~1.BAT
100SUS~1.BAT
100SUS~1.BAT
ECHO ON


100SUS~1.BAT:
ECHO OFF
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO SUSSMAN
ECHO ON


Usage:
C:\>1000SU~1.BAT

Name: Anonymous 2009-08-18 13:41

perl -e 'while ($i < 1000) { ; print "sussman\n"; ++$i ; }'

Name: Anonymous 2009-08-18 13:45

>>15 deeeeeerp was in too much of a hurry
doitrite nao:

perl -e 'while ($i <= 10) { print "$i sussman\n"; ++$i ; }'

Name: Anonymous 2009-08-18 13:48

>>14
Back to FAT, please.

Name: Anonymous 2009-08-18 13:50

>>14 1000SU~1.BAT
Truly a remarkable sign of old-style, my friend.

Name: Anonymous 2009-08-18 13:54

>>17 urdoingitrong
should be FAT16

Name: Anonymous 2009-08-18 14:08

>>14
VALID DAFT PUNK LYRICS

Name: Anonymous 2009-08-18 15:15

>>9
Bonus points for individualism and Xarn.

Name: Anonymous 2009-08-18 15:16

>>18
How would ~1 have ended up in and old-style filename?

Name: Anonymous 2009-08-18 19:13

>>3
for(int i = 0; i < 1000; ++i)
{
    puts("Sussman");
}

Name: Garden of Mittens 2009-08-18 21:52

<?php

$message = str_repeat('Sussman', 1000);
define('GRID_W', 80);
define('GRID_H', 24);
define('BORDER', 4);
define('HUE_OFFSET', mt_rand(0, 1000) / 1000);
define('HUE_MUL', 10);
define('LIGHTNESS_POWER', 3);

function hsl_to_rgb($h, $s, $l) {
    if($s == 0) {
        $color = array('r' => $l, 'g' => $l, 'b' => $l);
    } else {
        $t2 = ($l < 0.5 ? $l * (1 + $s) : $l + $s - $l * $s);
        $t1 = 2 * $l - $t2;
        $color = array('r' => $h + 1/3, 'g' => $h, 'b' => $h - 1/3);
        foreach($color as $k => $t3) {
            if($t3 < 0) $t3 += 1;
            if($t3 > 1) $t3 -= 1;
            if(6 * $t3 < 1)
                $color[$k] = $t1 + ($t2 - $t1) * 6 * $t3;
            elseif(2 * $t3 < 1)
                $color[$k] = $t2;
            elseif(3 * $t3 < 2)
                $color[$k] = $t1 + ($t2 - $t1) * (2/3 - $t3) * 6;
            else
                $color[$k] = $t1;
        }
    }
    return $color;
}

define('NORTH', 1);
define('EAST', 2);
define('SOUTH', 3);
define('WEST', 4);
define('FONT', 2);
define('FONT_W', 6);
define('FONT_H', 11);
define('X0', 0);
define('Y0', -3);
define('LEN', strlen($message));
$opposites = array(NORTH => SOUTH, SOUTH => NORTH, EAST => WEST, WEST => EAST);
$movements_x = array(NORTH => 0, EAST => 1, SOUTH => 0, WEST => -1);
$movements_y = array(NORTH => -1, EAST => 0, SOUTH => 1, WEST => 0);
$img = imagecreatetruecolor(2 * BORDER + GRID_W * FONT_W, 2 * BORDER + GRID_H * FONT_H);
$x = mt_rand(0, GRID_W - 1);
$y = mt_rand(0, GRID_H - 1);
$from = 0;

for($i = 0; $i < LEN; $i++) {
    $pos = $i / LEN;
    $rgb = hsl_to_rgb(fmod((HUE_OFFSET + $pos) * HUE_MUL, 1), 1, pow($pos, LIGHTNESS_POWER));
    $color = imagecolorallocate($img, round($rgb['r'] * 255), round($rgb['g'] * 255), round($rgb['b'] * 255));
    imagestring($img, FONT, BORDER + X0 + $x * FONT_W, BORDER + Y0 + $y * FONT_H, $message[$i], $color);
    imagecolordeallocate($img, $color);
   
    $valid_directions = array(NORTH, EAST, SOUTH, WEST);
    $invalid_directions = array($from);
    if($x == 0)                 $invalid_directions[] = WEST;
    elseif($x == GRID_W - 1)    $invalid_directions[] = EAST;
    if($y == 0)                 $invalid_directions[] = NORTH;
    elseif($y == GRID_H - 1)    $invalid_directions[] = SOUTH;
    $valid_directions = array_diff($valid_directions, $invalid_directions);
    $direction = $valid_directions[array_rand($valid_directions)];
    $x += $movements_x[$direction];
    $y += $movements_y[$direction];
    $from = $opposites[$direction];
}

header('Content-type: image/png');
imagepng($img);

?>

Name: Anonymous 2009-08-18 22:26

OMG OPTIMIZED

[code]
for(int i = 0; i < 1000; ++i)
    puts("Sussman");
[code]

Name: Anonymous 2009-08-18 23:22

>>25
Invalid ANSI C.

Name: Anonymous 2009-08-18 23:29

>>24
Christ, I hate your code. Good work.

Name: Anonymous 2009-08-18 23:29

>>25
Invalid BBCode.

Name: Anonymous 2009-08-19 0:26


;;;; Output a thousand Sussmans, various versions from simplest to most insane.

;;; Simple iterative version
(dotimes (i 1000)
  (format t "Sussman~%"))

;;; Tail-recursive version, gets optimized to a loop when compiled
(defun print-sussmans (n)
  (unless (zerop n)
      (format t "Sussman~%")
      (print-sussmans (1- n))))

(print-sussmans 1000)

;;; Extended LOOP version
(loop for i from 1 to 1000
     do (format t "Sussman~%"))

;;; Simple LOOP version
(let ((i 0))
  (loop       
     (when (= i 1000) (return))
     (format t "Sussman~%")
     (incf i)))

;;; TAGBODY/GO version

(let ((i 0))
  (tagbody
   LOOPSTART
     (incf i)
     (princ "Sussman")
     (terpri)    
     (if (= i 1000)
     (go END) ; or use a return
     (go LOOPSTART))         
   END))

;;; BLOCK/TAGBODY/GO version
(block sussman-printer-loop
  (let ((i 0))
    (tagbody
     LOOPSTART
       (incf i)
       (princ "Sussman")
       (terpri)    
       (if (= i 1000)
       (return-from sussman-printer-loop nil)       
       (go LOOPSTART)))))


;;; Turned that LET into a LAMBDA
((lambda (i)
    (block sussman-printer-loop
      (tagbody
       LOOPSTART
     (incf i)
     (princ "Sussman")
     (terpri)    
     (if (= i 1000)
         (return-from sussman-printer-loop nil)       
         (go LOOPSTART))))) 0)


;;; Used CATCH and THROW
(catch 'complete
  ((lambda (i)
     (block sussman-printer-loop
       (tagbody
    LOOPSTART
      (setf  i (+ i 1))
      (princ "Sussman")
      (terpri)    
      (if (= i 1000)
          (throw 'complete nil)
          (go LOOPSTART))))) 0))


;;; It's starting to get a boring so, this is it for now. A Scheme version using continuations might be interesting too.

Name: Anonymous 2009-08-19 0:28


;;; Forgot another possiblity, DO
(do ((i 1))
    ((= i 1000))
  (princ "Sussman")
  (terpri))

Name: Anonymous 2009-08-19 0:30

[code]
;;; Oops, forgot incrementing i
(do ((i 1) (1+ i))
    ((= i 1000))
  (princ "Sussman")
  (terpri))
[/code

Name: Anonymous 2009-08-19 0:34

for /l %c in (1,1,1000) do echo Sussman%v

There you go.. All unique.

Name: Anonymous 2009-08-19 0:41

>>26
Looks valid to me.

Name: Anonymous 2009-08-19 0:44

>> 30-31

;;; finally fixed
(do ((i 1 (1+ i)))
    ((= i 1000))
  (princ "Sussman")
  (terpri))

Name: Anonymous 2009-08-19 0:47

individualistic way { Output(1000 Sussmen) } "GRUNNER"

Name: Anonymous 2009-08-19 0:56


;;;; It seems I'm still bored, have some other versions

;;; Print a string and a newline
(defun pnew (x)
  (format t "~A~%" x))

;;; MAP version
(let ((sussman-array (make-array 1000 :initial-element "Sussman")))
  (map nil #'pnew sussman-array))

;;; Define a circular (infinite on naive inspection) list of "Sussman"'s and map over a subsequence of it
(let ((forever-sussmans (cons "Sussman" nil)))
  (setf (cdr forever-sussmans) forever-sussmans)
  (mapc #'pnew (subseq forever-sussmans 1 1000)))

Name: UMH memesmith !gNlkr4vCuc 2009-08-19 22:22


       IDENTIFICATION DIVISION.
       PROGRAM-ID. Prog-Can-Go-To-Hell.
       AUTHOR. UMH memesmith.
       DATE-WRITTEN. AUG 2009.
      * COMMENTS.
      *****************************************************
      * You're a bunch of assholes, you know that?  You all
      * deserve what's coming to you.  I tried to be nice
      * and give you a chance, but you had to keep using
      * that fucking stupid meme.  I won't have it.  Enjoy
      * your meta-sage, motherfuckers.
      *****************************************************
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 WORK-AREAS.
           05 SUSSMANS-WRITTEN          PIC 9999.
       01 SUSSQUOTE.
           05 SQ-KICKI                  PIC X(2).
           05 FILLER                    PIC X(6).
           05 SQ-IMMIG                  PIC X.
           05 FILLER                    PIC X(7).
           05 SQ-OFFIC                  PIC X.
           05 FILLER                    PIC X(13).
       01 SUSSQUOTE-B.
           05 FILLER                    PIC X(3).
           05 SQ-INTHE                  PIC X.
           05 FILLER                    PIC X(21).
       PROCEDURE DIVISION.
       PROGRAM-BEGIN.
           PERFORM 100-INITIALIZE.
           PERFORM 200-RUNSUSSMAN.
           STOP RUN.

       100-INITIALIZE.
           MOVE ZEROES TO SUSSMANS-WRITTEN
           MOVE "AND CONJURE THE SPIRITS OF THE" TO SUSSQUOTE
           MOVE " COMPUTER WITH OUR SPELLS" TO SUSSQUOTE-B.

       200-RUNSUSSMAN.
           PERFORM VARYING SUSSMANS-WRITTEN FROM 0 BY +1
               UNTIL SUSSMANS-WRITTEN = 1000
             DISPLAY SQ-OFFIC SQ-IMMIG SQ-OFFIC SQ-OFFIC
               SQ-INTHE SQ-KICKI
           END-PERFORM.

Name: Anonymous 2009-08-19 22:57

>>37
Excuse me?

Please explain what is going on here so that I might translate it to a saner language like APL or Fortran.

Name: Anonymous 2009-08-19 23:53

for (int64_t i = 0; i < 1; i++) {
    for (int64_t j = 0; j < 10; j++) {
        for (int64_t k = 0; k < 10; k++) {
            for (int64_t l = 0; l < 10; l++) {
                std::cout << "SUSSMAN";
            }
            std::cout << std::endl;
        }
    }
}

Name: Anonymous 2009-08-20 0:00

for (int64_t i = 0; i < 1; i++)

( ´_>`)

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List