Çalışmış gibi görünmesini sağla


278

Genellikle kendimi çalıştırmak için önemli miktarda zaman alacak bir komut dosyası veya sorgu çalıştırırken buluyorum. Bu senaryoyu açık bırakıp suçluluk duymadan ertelemenin tadını çıkarabilirim.

Şimdi, herhangi bir izleyiciye yukarıdaki senaryolardan biri gibi görünen , ancak sadece görünüşe göre bir senaryo yazabilirsem ne olur ? Bir ekranda koymak ve zevk günleri arasında yavru Livestreams kimse ekrandaki tüm karmaşık rigmarole benim asıl işi ile ilgisi olmadığını fark edene.

Buradaki zorluk benim için bu senaryoyu yazmaktır (evet, ben tembelim).

Bir iyi cevap olacak:

  • Bir komut dosyası iş yapıyor gibi görünen ekranda bir şey görünmesini sağlayın. "Ekran" terminal, tarayıcı vb. Olabilir.
  • Oldukça orijinal olun (evet, hepimiz bitmeyen ilerleme çubuğu programlarını gördük)
  • Bir teknik uzman tarafından sınavdan sağ çıkma

Bir kötü cevap olacak:

  • Beni kovdur
  • 90'lı yıllarda hepimizin ilettiği bir şeyi yeniden paylaşma

Bir yıldız cevabı olabilir:

  • Yukarıdaki kötü kurşun noktalarından birini aş ( örneğin )
  • Kritik muayenede sağ ol
  • * gasp * aslında yapmak benim çalışma shirking yararlı veya yardımcıları olan bir şeyi

Kabul, gerçek hayattan elde edilen sonuçlardan elde edilen bonus ile oylara dayalı olacaktır. Bu komut dosyalarını (Linux Mint 16) aslında ekranım görünürken (toplantılar ve benzeri) algılamayı belirlemek için çalıştıracağım. Sahte olduğunu fark eden varsa, kaçıyorsun. Birisi ne kadar çok çalıştığımı yorumluyorsa, +5 bonus sizin için artıyor.

Bu durumda "Faydalı" herhangi bir kodlayıcı için geçerli olabilir, ancak öğretmene bağlı elmanınızda bu ekstra parlaklığı arıyorsanız, etiketlerime göre kabaca kodda çalışan tam yığın bir webdev'im .

Bu kısmen bundan ilham alıyor .

Sonuçlar

Hayal kırıklığı yaratan bir şekilde, bu girişlerden hiçbir şekilde yorum almadım. Hepsi muhteşem, bu yüzden hepiniz kalbimde kazanan sizsiniz. Ancak, Loktar uzun bir atışta en fazla oyu aldı, bu yüzden kabulden +15 puan aldı. Tebrikler!


6
Kazanan kriterler nedir, popülerlik yarışması ?
Kyle Kanos

36
Öyleyse ... bir cevabı test edersen ne olur da kovulursun?
Bob

54
Bu bana başka bir kod golf sorusu için bir fikir verir. "Benim sorum bekletilmemeli gibi görünmesini
sağla

9
Sadece bu programlardan birini yaz ve derle !
ugoren

13
Geçen gün Github'daki
Paul Prestidge

Yanıtlar:


291

JavaScript

Bu yüzden bu konuda biraz çılgına döndüm. Visual Basic kullanarak IP'leri izlemek için GUI'mde çalışmamın sonları arasında yaptım.

Bu gece için yaptığım süper etki alanına giderek erişebilir, böylece Gui Hacker ve çatalların herhangi bir yerinde meşgul görünebilir ve aşağıdaki kaynaklardan kendinizinkini yaratabilirsiniz.

Temel olarak, eğer bu koşuya sahipseniz kimse sizi rahatsız etmeyecektir çünkü ciddi şeyler yaptığınızı biliyorlar.

var canvas = document.querySelector(".hacker-3d-shiz"),
  ctx = canvas.getContext("2d"),
  canvasBars = document.querySelector(".bars-and-stuff"),
  ctxBars = canvasBars.getContext("2d"),
  outputConsole = document.querySelector(".output-console");

canvas.width = (window.innerWidth / 3) * 2;
canvas.height = window.innerHeight / 3;

canvasBars.width = window.innerWidth / 3;
canvasBars.height = canvas.height;

outputConsole.style.height = (window.innerHeight / 3) * 2 + 'px';
outputConsole.style.top = window.innerHeight / 3 + 'px'


/* Graphics stuff */
function Square(z) {
  this.width = canvas.width / 2;
  this.height = canvas.height;
  z = z || 0;

  this.points = [
    new Point({
      x: (canvas.width / 2) - this.width,
      y: (canvas.height / 2) - this.height,
      z: z
    }),
    new Point({
      x: (canvas.width / 2) + this.width,
      y: (canvas.height / 2) - this.height,
      z: z
    }),
    new Point({
      x: (canvas.width / 2) + this.width,
      y: (canvas.height / 2) + this.height,
      z: z
    }),
    new Point({
      x: (canvas.width / 2) - this.width,
      y: (canvas.height / 2) + this.height,
      z: z
    })
  ];
  this.dist = 0;
}

Square.prototype.update = function() {
  for (var p = 0; p < this.points.length; p++) {
    this.points[p].rotateZ(0.001);
    this.points[p].z -= 3;
    if (this.points[p].z < -300) {
      this.points[p].z = 2700;
    }
    this.points[p].map2D();
  }
}

Square.prototype.render = function() {
  ctx.beginPath();
  ctx.moveTo(this.points[0].xPos, this.points[0].yPos);
  for (var p = 1; p < this.points.length; p++) {
    if (this.points[p].z > -(focal - 50)) {
      ctx.lineTo(this.points[p].xPos, this.points[p].yPos);
    }
  }

  ctx.closePath();
  ctx.stroke();

  this.dist = this.points[this.points.length - 1].z;

};

function Point(pos) {
  this.x = pos.x - canvas.width / 2 || 0;
  this.y = pos.y - canvas.height / 2 || 0;
  this.z = pos.z || 0;

  this.cX = 0;
  this.cY = 0;
  this.cZ = 0;

  this.xPos = 0;
  this.yPos = 0;
  this.map2D();
}

Point.prototype.rotateZ = function(angleZ) {
  var cosZ = Math.cos(angleZ),
    sinZ = Math.sin(angleZ),
    x1 = this.x * cosZ - this.y * sinZ,
    y1 = this.y * cosZ + this.x * sinZ;

  this.x = x1;
  this.y = y1;
}

Point.prototype.map2D = function() {
  var scaleX = focal / (focal + this.z + this.cZ),
    scaleY = focal / (focal + this.z + this.cZ);

  this.xPos = vpx + (this.cX + this.x) * scaleX;
  this.yPos = vpy + (this.cY + this.y) * scaleY;
};

// Init graphics stuff
var squares = [],
  focal = canvas.width / 2,
  vpx = canvas.width / 2,
  vpy = canvas.height / 2,
  barVals = [],
  sineVal = 0;

for (var i = 0; i < 15; i++) {
  squares.push(new Square(-300 + (i * 200)));
}

//ctx.lineWidth = 2;
ctx.strokeStyle = ctxBars.strokeStyle = ctxBars.fillStyle = '#00FF00';

/* fake console stuff */
var commandStart = ['Performing DNS Lookups for',
    'Searching ',
    'Analyzing ',
    'Estimating Approximate Location of ',
    'Compressing ',
    'Requesting Authorization From : ',
    'wget -a -t ',
    'tar -xzf ',
    'Entering Location ',
    'Compilation Started of ',
    'Downloading '
  ],
  commandParts = ['Data Structure',
    'http://wwjd.com?au&2',
    'Texture',
    'TPS Reports',
    ' .... Searching ... ',
    'http://zanb.se/?23&88&far=2',
    'http://ab.ret45-33/?timing=1ww'
  ],
  commandResponses = ['Authorizing ',
    'Authorized...',
    'Access Granted..',
    'Going Deeper....',
    'Compression Complete.',
    'Compilation of Data Structures Complete..',
    'Entering Security Console...',
    'Encryption Unsuccesful Attempting Retry...',
    'Waiting for response...',
    '....Searching...',
    'Calculating Space Requirements '
  ],
  isProcessing = false,
  processTime = 0,
  lastProcess = 0;


function render() {
  ctx.clearRect(0, 0, canvas.width, canvas.height);

  squares.sort(function(a, b) {
    return b.dist - a.dist;
  });
  for (var i = 0, len = squares.length; i < len; i++) {
    squares[i].update();
    squares[i].render();
  }

  ctxBars.clearRect(0, 0, canvasBars.width, canvasBars.height);

  ctxBars.beginPath();
  var y = canvasBars.height / 6;
  ctxBars.moveTo(0, y);

  for (i = 0; i < canvasBars.width; i++) {
    var ran = (Math.random() * 20) - 10;
    if (Math.random() > 0.98) {
      ran = (Math.random() * 50) - 25
    }
    ctxBars.lineTo(i, y + ran);
  }

  ctxBars.stroke();

  for (i = 0; i < canvasBars.width; i += 20) {
    if (!barVals[i]) {
      barVals[i] = {
        val: Math.random() * (canvasBars.height / 2),
        freq: 0.1,
        sineVal: Math.random() * 100
      };
    }

    barVals[i].sineVal += barVals[i].freq;
    barVals[i].val += Math.sin(barVals[i].sineVal * Math.PI / 2) * 5;
    ctxBars.fillRect(i + 5, canvasBars.height, 15, -barVals[i].val);
  }

  requestAnimationFrame(render);
}

function consoleOutput() {
  var textEl = document.createElement('p');

  if (isProcessing) {
    textEl = document.createElement('span');
    textEl.textContent += Math.random() + " ";
    if (Date.now() > lastProcess + processTime) {
      isProcessing = false;
    }
  } else {
    var commandType = ~~(Math.random() * 4);
    switch (commandType) {
      case 0:
        textEl.textContent = commandStart[~~(Math.random() * commandStart.length)] + commandParts[~~(Math.random() * commandParts.length)];
        break;
      case 3:
        isProcessing = true;
        processTime = ~~(Math.random() * 5000);
        lastProcess = Date.now();
      default:
        textEl.textContent = commandResponses[~~(Math.random() * commandResponses.length)];
        break;
    }
  }

  outputConsole.scrollTop = outputConsole.scrollHeight;
  outputConsole.appendChild(textEl);

  if (outputConsole.scrollHeight > window.innerHeight) {
    var removeNodes = outputConsole.querySelectorAll('*');
    for (var n = 0; n < ~~(removeNodes.length / 3); n++) {
      outputConsole.removeChild(removeNodes[n]);
    }
  }

  setTimeout(consoleOutput, ~~(Math.random() * 200));
}

render();
consoleOutput();

window.addEventListener('resize', function() {
  canvas.width = (window.innerWidth / 3) * 2;
  canvas.height = window.innerHeight / 3;

  canvasBars.width = window.innerWidth / 3;
  canvasBars.height = canvas.height;

  outputConsole.style.height = (window.innerHeight / 3) * 2 + 'px';
  outputConsole.style.top = window.innerHeight / 3 + 'px';

  focal = canvas.width / 2;
  vpx = canvas.width / 2;
  vpy = canvas.height / 2;
  ctx.strokeStyle = ctxBars.strokeStyle = ctxBars.fillStyle = '#00FF00';
});
@font-face {
  font-family: 'Source Code Pro';
  font-style: normal;
  font-weight: 400;
  src: local('Source Code Pro'), local('SourceCodePro-Regular'), url(http://themes.googleusercontent.com/static/fonts/sourcecodepro/v4/mrl8jkM18OlOQN8JLgasDxM0YzuT7MdOe03otPbuUS0.woff) format('woff');
}
body {
  font-family: 'Source Code Pro';
  background: #000;
  color: #00FF00;
  margin: 0;
  font-size: 13px;
}
canvas {
  position: absolute;
  top: 0;
  left: 0;
}
.bars-and-stuff {
  left: 66.6%;
}
.output-console {
  position: fixed;
  overflow: hidden;
}
p {
  margin: 0
}
<canvas class='hacker-3d-shiz'></canvas>
<canvas class='bars-and-stuff'></canvas>
<div class="output-console"></div>


47
Resim / bakım uzmanları, programcı olduğumu ve sadece müzik dinleyen bir adam olmadığımı anladılar! Acaba bu bir teknik adam tarafından yapılan bir sınavdan kurtulacak mı: P
sabithpocker

17
Yeni ekran koruyucum olarak istiyorum! Aslında, bunu Ubuntu'da nasıl yaparsınız?

33
Bu halkla Toronto Halk Kütüphanesi'ne oturdum ve arkamdaki insanları ekranıma bakarken gördüm. Bu aptal bir adama karşı oldukça korkutucu görünüyor. Guihacker.com'un bize sayfanın başlığını ne istersek değiştirmesini ve yeşil metinde görünecek olan kendi satırlarımızı ekleyebilmemiz için izin vermesini sağlayabilir misiniz? 'Toronto Halk Kütüphanesi İnternet Erişimi' sayfasının başlığını yazmayı ve yeşil hatların 'Toronto Halk Kütüphanesi Güvenlik Veritabanına Erişmek ..' demesini düşünüyordum. '' Kullanıcı adlarına ve şifrelerine erişiliyor ... '' Başımı belaya sokar mısın ama eğlenceli olacak.
user2719875

37
Bu, geliştirici arkadaşlarımın neyi içine soktuğumu sormak için gelmeden önce 30 saniye boyunca sürmesini sağladı. Ben düşünüyorum bir başarı olarak o sayar, bu nedenle 1
MrTheWalrus

10
"TPS Raporları" ... mükemmel.
Dennis,

111

Bash / coreutils

Şimdiye kadar ilk ... derleme öykünücüsünün tanıtılması . Bu programla, epik ofis koltuğu kılıcı savaşlarına dilediğin zaman, herhangi bir kod yazmadan bile sahip olabilirsin!

#!/bin/bash
collect()
{
    while read line;do
        if [ -d "$line" ];then
            (for i in "$line"/*;do echo $i;done)|sort -R|collect
            echo $line
        elif [[ "$line" == *".h" ]];then
            echo $line
        fi
    done
}

sse="$(awk '/flags/{print;exit}' </proc/cpuinfo|grep -o 'sse\S*'|sed 's/^/-m/'|xargs)"

flags=""
pd="\\"

while true;do
    collect <<< /usr/include|cut -d/ -f4-|
    (
        while read line;do
            if [ "$(dirname "$line")" != "$pd" ];then
                x=$((RANDOM%8-3))
                if [[ "$x" != "-"* ]];then
                    ssef="$(sed 's/\( *\S\S*\)\{'"$x,$x"'\}$//' <<< "$sse")"
                fi
                pd="$(dirname "$line")"
                opt="-O$((RANDOM%4))"
                if [[ "$((RANDOM%2))" == 0 ]];then
                    pipe=-pipe
                fi
                case $((RANDOM%4)) in
                    0) arch=-m32;;
                    1) arch="";;
                    *) arch=-m64;;
                esac
                if [[ "$((RANDOM%3))" == 0 ]];then
                    gnu="-D_GNU_SOURCE=1 -D_REENTRANT -D_POSIX_C_SOURCE=200112L "
                fi
                flags="gcc -w $(xargs -n1 <<< "opt pipe gnu ssef arch"|sort -R|(while read line;do eval echo \$$line;done))"
            fi
            if [ -d "/usr/include/$line" ];then
                echo $flags -shared $(for i in /usr/include/$line/*.h;do cut -d/ -f4- <<< "$i"|sed 's/h$/o/';done) -o "$line"".so"
                sleep $((RANDOM%2+1))
            else
                line=$(sed 's/h$//' <<< "$line")
                echo $flags -c $line"c" -o $line"o"
                sleep 0.$((RANDOM%4))
            fi
        done
    )
done

/usr/includeGerçekçi görünümlü bir derleme günlüğü oluşturmak için verileri kullanır . Rastgele uyarılar alamayacak kadar tembeldim, o yüzden sadece bir -wbayrak var.

Rastgele örneklem:

gcc -w -m64 -pipe - msse - msse2 - msse3 - O1 - c libiptc / xtcshared.c - o libiptc / xtcshared.o
gcc -w -m64 -pipe - msse - msse2 - msse3 - O1 - c libiptc / libip6tc.c - o libiptc / libip6tc.o
gcc -w -m64 -pipe - msse - msse2 - msse3 - O1 - c libiptc / libxtc.c - o libiptc / libxtc.o
gcc -w -m64 -pipe - msse - msse2 - msse3 - O1 - c libiptc / ipt_kernel_headers.c -o libiptc / ipt_kernel_headers.o
gcc -w -m64 -pipe - msse - msse2 - msse3 - O1 - c libiptc / libiptc.c -o libiptc / libiptc.o
gcc -w -O2 -m64 -pipe -msse -msse2 -msse3 -msse4_1 -msse4_2 - paylaşılan libiptc / ipt_kernel_headers.o libiptc / libip6tc.o libiptc / libiptc.o Instagram Hesabındaki Resim ve Videoları libiptc.o libiptc / libxtc.o libiptc / xtharc.o yani
gcc -w -m64 -pipe -O0 - msse - msse2 - msse3 - msse4_1 - c e2p / e2p.c -o e2p / e2p.o
gcc -w -msse -msse2 -msse3 -msse4_1 -m64 -pipe -O1 - paylaşılan e2p / e2p.o -o e2p.so
gcc -w -pipe -O0 -msse -msse2 -m64 -c baharat-müşteri-gtk-2.0 / baharat-widget-enums.c -o baharat-müşteri-gtk-2.0 / baharat-widget-enums.o
gcc -w -pipe -O0 -msse -msse2 -m64 -c baharat-müşteri-gtk-2.0 / baharat-grabsequence.c-baharat-müşteri-gtk-2.0 / baharat-grabsequence.o
gcc -w -pipe -O0 -msse -msse2 -m64 -c baharat-müşteri-gtk-2.0 / baharat-gtk-oturumu.c-o baharat-müşteri-gtk-2.0 / baharat-gtk-oturumu.o
gcc - w - pipo - 02 - msse - msse2 - m64 - c baharat - müşteri - gtk - 2.0 / baharat - widget.c - baharat - müşteri - gtk - 2.0 / baharat - widget.o
gcc - w - pipo - 02 - msse - msse2 - m64 - c baharat - müşteri - gtk - 2.0 / usb - cihaz - widget.c - bir baharat - müşteri - gtk - 2.0 / usb - cihaz - widget.o
gcc -w -pipe -m64 -msse -msse2 -O1-paylaşılan baharat-müşteri-gtk-2.0 / baharat-grabsequence.o baharat-müşteri-gtk-2.0 / baharat-gtk-seans.o baharat-müşteri-gtk-2.0 / spice-widget-enums.o baharat-müşteri-gtk-2.0 / baharat-widget.o baharat-müşteri-gtk-2.0 / usb-aygıt-widget.o -o baharat-client-gtk-2.0.so
gcc - w - pipo - m64 - msse - msse2 - O1 - c search.c - o search.o
gcc -w -O0 -pipe -m64 -msse -msse2 -msse3 -msse4_1 -D_GNU_SOURCE = 1 -D_REENTRANT -D_POSIX_C_SOURCE = 200112L -c cairomm-1.0 / cairomm / path.c -o cairomm-1.0 / Cairomm
gcc -w -O0 -pipe -m64 -msse -msse2 -msse3 -msse4_1-D_GNU_SOURCE = 1 -D_REENTRANT -D_POSIX_C_SOURCE = 200112L -c cairomm-1.0 / cairomm / cairomm / cairomm / caalromm
gcc -w -O0 -pipe -m64 -msse -msse2 -msse3 -msse4_1 -D_GNU_SOURCE = 1 -D_REENTRANT -D_POSIX_C_SOURCE = 200112L -c cairomm-1.0 / cairomm / fontface.c-cairomm-1.0 / cairomm / cairomm
gcc -w -O0 -pipe -m64 -msse -msse2 -msse3 -msse4_1-D_GNU_SOURCE = 1 -D_REENTRANT -D_POSIX_C_SOURCE = 200112L -c cairomm-1.0 / cairomm / quartz_font.c-cairomm-quiromm / quiromm / quiromm
gcc -w -O0 -pipe -m64 -msse -msse2 -msse3 -msse4_1 -D_GNU_SOURCE = 1 -D_REENTRANT -D_POSIX_C_SOURCE = 200112L -c cairomm-1.0 / cairomm / win32_font.c-cairomm-1.0 / cairomm / ca32rom
gcc -w -O0 -pipe -m64 -msse -msse2 -msse3 -msse4_1 -D_GNU_SOURCE = 1 -D_REENTRANT -D_POSIX_C_SOURCE = 200112L -c cairomm-1.0 / cairomm / refptr.c-cairomm-1.0 / cairomm / refptr.c
gcc -w -O0 -pipe -m64 -msse -msse2 -msse3 -msse4_1 -D_GNU_SOURCE = 1 -D_REENTRANT -D_POSIX_C_SOURCE = 200112L-cairomm-1.0 / cairomm / cairomm / cairomm / caromrom
gcc -w -O0 -pipe -m64 -msse -msse2 -msse3 -msse4_1 -D_GNU_SOURCE = 1 -D_REENTRANT -D_POSIX_C_SOURCE = 200112L -c cairomm-1.0 / cairomm / bağlam.c
gcc -w -O0 -pipe -m64 -msse -msse2 -msse3 -msse4_1 -D_GNU_SOURCE = 1 -D_REENTRANT -D_POSIX_C_SOURCE = 200112L -c cairomm-1.0 / cairomm / enum.
gcc -w -O0 -pipe -m64 -msse -msse2 -msse3 -msse4_1 -D_GNU_SOURCE = 1 -D_REENTRANT -D_POSIX_C_SOURCE = 200112L -c cairomm-1.0 / cairomm / win32_surface.c-cairomm-1.0 / cairomm / win32_surface.c-cairomm-1.0 / cairomm / 1.032
gcc -w -O0 -pipe -m64 -msse -msse2 -msse3 -msse4_1 -D_GNU_SOURCE = 1 -D_REENTRANT -D_POSIX_C_SOURCE = 200112L -c cairomm-1.0 / cairomm / pattern.c-oiromm-1.0 / Caromrom
gcc -w -O0 -pipe -m64 -msse -msse2 -msse3 -msse4_1 -D_GNU_SOURCE = 1 -D_REENTRANT -D_POSIX_C_SOURCE = 200112L -c cairomm-1.0 / cairomm / types.c-cairomm-10 / cairomm / cairomm / türleri
gcc -w -O0 -pipe -m64 -msse -msse2 -msse3 -msse4_1-D_GNU_SOURCE = 1 -D_REENTRANT -D_POSIX_C_SOURCE = 200112L -c cairomm-1.0 / cairomm / matrix.c-cairomm-1.0 / Cairomm
gcc -w -O0 -pipe -m64 -msse -msse2 -msse3 -msse4_1-D_GNU_SOURCE = 1 -D_REENTRANT -D_POSIX_C_SOURCE = 200112L -c cairomm-1.0 / cairomm / quartz_surface.c-cairomm-1.0 / cairomm / quartz_surface.c-cairomm-1.0 / cairomm
gcc -w -O0 -pipe -m64 -msse -msse2 -msse3 -msse4_1-D_GNU_SOURCE = 1 -D_REENTRANT -D_POSIX_C_SOURCE = 200112L -c cairomm-1.0 / cairomm / exception.c
gcc -w -O0 -pipe -m64 -msse -msse2 -msse3 -msse4_1 -D_GNU_SOURCE = 1 -D_REENTRANT -D_POSIX_C_SOURCE = 200112L -c cairomm-1.0 / cairomm / device.c -o cairomm-1.0 / cairomm-10
gcc -w -O0 -pipe -m64 -msse -msse2 -msse3 -msse4_1-D_GNU_SOURCE = 1 -D_REENTRANT -D_POSIX_C_SOURCE = 200112L -c cairomm-1.0 / cairomm / yüzey.c-o caromm-1.0 / cairomm
gcc -w -O0 -pipe -m64 -msse -msse2 -msse3 -msse4_1 -D_GNU_SOURCE = 1 -D_REENTRANT -D_POSIX_C_SOURCE = 200112L -c cairomm-1.0 / cairomm / xlib_surface.c-cairomm-1.0 / caibrom
gcc -w -O0 -pipe -m64 -msse -msse2 -msse3 -msse4_1-D_GNU_SOURCE = 1 -D_REENTRANT -D_POSIX_C_SOURCE = 200112L -c cairomm-1.0 / cairomm / fontoptions.c-cairomm-1.0 / cairomm / fontoptions.c
gcc -w -O0 -pipe -m64 -msse -msse2 -msse3 -msse4_1 -D_GNU_SOURCE = 1 -D_REENTRANT -D_POSIX_C_SOURCE = 200112L -c cairomm-1.0 / cairomm / region.c-cairomm-1.0 / cairomm
gcc -w -O0 -pipe -m64 -D_GNU_SOURCE = 1 -D_REENTRANT -D_POSIX_C_SOURCE = 200112L -msse -msse2 -msse3 -msse4_1-caromrom-caromrom-1.0 / caromm / caromrom / caromrom / cairomm/device.o cairomm-1.0 / cairomm / enums.o cairomm-1.0 / cairomm / istisna.o cairomm-1.0 / cairomm / fontface.o cairomm-1.0 / cairomm / fontoptions.o cairomm-1.0 / cairomm / matris. o cairomm-1.0 / cairomm / path.o cairomm-1.0 / cairomm / pattern.o cairomm-1.0 / cairomm / kuvars_font.o cairomm-1.0 / cairomm / kuvars_surface.o cairomm-1.0 / cairomm / refptr.o cairomm-1.0 / cairomm / refptr.o cairomm-1.0 cairomm / region.o cairomm-1.0 / cairomm / scaledfont.o cairomm-1.0 / cairomm / yüzey.o cairomm-1.0 / cairomm / türleri.o cairomm-1.0 / cairomm / win32_font.o cairomm-1.0 / cairomm / win32_font.o cairomm-1.0 / cairomm / xlib_surface.o -o Instagram Hesabındaki Resim ve Videoları cairomm-1.0 / cairomm.so
gcc -w -D_GNU_SOURCE = 1 -D_REENTRANT -D_POSIX_C_SOURCE = 200112L -m64 -msse -O1 -pipe -shared cairomm-1.0 / * .o -o cairomm-1.0.so
gcc -w -D_GNU_SOURCE = 1 -D_REENTRANT -D_POSIX_C_SOURCE = 200112L -m64 -msse -O1 -pipe -c ulockmgr.c -o ulockmgr.o
gcc -w -D_GNU_SOURCE = 1 -D_REENTRANT -D_POSIX_C_SOURCE = 200112L -m64 -msse -O1 -pipe -c gshadow.c -o gshadow.o
gcc -w -O2 -msse -msse2 -D_GNU_SOURCE = 1 -D_REENTRANT -D_POSIX_C_SOURCE = 200112L -m64 -pipe -c dpkg / string.c -o dpkg / string.o
gcc -w -O2 -msse -msse2 -D_GNU_SOURCE = 1 -D_REENTRANT -D_POSIX_C_SOURCE = 200112L -m64 -pipe -c dpkg / fdio.c -o dpkg / fdio.o
gcc -w -O2 -msse -msse2 -D_GNU_SOURCE = 1 -D_REENTRANT -D_POSIX_C_SOURCE = 200112L -m64 -pipe -c dpkg / namevalue.c -o dpkg / namevalue.o
gcc -w -O2 -msse -msse2 -D_GNU_SOURCE = 1 -D_REENTRANT -D_POSIX_C_SOURCE = 200112L -m64 -pipe -c dpkg / macros.c -o dpkg / macros.o

4
Hiç de fena değil! Bir şey bu konuda tam olarak doğru hissetmiyor (HD tamamen sessiz kalıyor mu?) Ama bilmeyen izleyiciye şüphelenmek pek mümkün değil. Yine de ... ne, derliyor libdrmmu? Ve sys/wait.o?? What ...
counterclockwis saat

27
@leftaroundabout Bir SSD'niz olduğunu söyleyin.
mniip

36
Daha gerçekçi hale getirmek için gcc satır başına birkaç kez sahte derleyici uyarıları vermelisiniz. :)
monocell

3
Muhtemelen daha gerçekçi sahte gcc bayrakları bulmak için pkg-config kullanabilirsiniz.
Brendan Long,

3
HD'yi aktive etmeyecek @WChargin.
Thorbjørn Ravn Andersen

106

darbe

Sonsuz rasgele onaltılık değerleri görüntüler, bazıları ham verilerde karmaşık bir arama yapıyormuş gibi hissetmenizi sağlamak için vurgulanır.

while true; do head -c200 /dev/urandom | od -An -w50 -x | grep -E --color "([[:alpha:]][[:digit:]]){2}"; sleep 0.5; done

görüntü tanımını buraya girin


6
Oooh, bunu sevdim !
SomeKittens

4
(Benimle ayı, bash'a yeni) ama bu çizgiyi çalıştırırken, (mac osx, terminal) Bu çıktıyı bir döngüde alıyorum:od: illegal option -- w usage: od [-aBbcDdeFfHhIiLlOosvXx] [-A base] [-j skip] [-N length] [-t type] [[+]offset[.][Bb]] [file ...]
Sterling Archer

2
Sürümünüzün seçeneği oddesteklemiyor görünüyor -w. Bu seçeneği bırakabilirsiniz, sadece ekranı biraz daha doldurmak için daha fazla veri sütunu göstermek için burada.
barjak

8
Şahsen ben bunu ile sleep 0.5değiştirmeyi tercih ediyorum sleep.$[$RANDOM % 10]. Bu biraz daha sarsıcı ve daha çok gerçek bir arama yapar. Yine de hoşuma gitti!
undergroundmonorail

4
"Ca fe" için hiç bitmeyen bir aramayı hatırlatıyor:cat /dev/random | hexdump | grep "ca fe"
daviewales

102

Çok uzun bir yapı:

emerge openoffice

48
; _;
mniip

3
Chromium'dan daha mı uzun?
nyuszika7h

6
Gerçek bir proje derlemede sorun, bir hata meydana geldiğinde durduracak. Muhtemelen bunu sonsuz bir döngüye koymalıyız.
Akira Yamamoto

3
Linux Nane'de mi ortaya çıktık ?
Akira Yamamoto

3
Ubuntu ve Mint gibi .deb sistemlerinde, istersiniz sudo apt-get build-dep libreoffice; apt-get source libreoffice; cd libreoffice*; while :; do nice dpkg-buildpackage -rfakeroot; done(İlk çalıştırmada, en azından gerçek derleme başlayana kadar bebek bakıcılığına bakmanız gerekir. Daha sonraki çalıştırmaların yalnızca whiledöngüye ihtiyacı vardır .)
Adam Katz

55

Yakut

Bu olacak:

  1. Bu siteden rastgele bir kod alın . kod incelemesi (daha okunaklı, iyi yazılmış kod için)
  2. Bu kodu yazıyormuş gibi görünmesini sağlayın.
require 'open-uri'
require 'nokogiri'
site = "http://codereview.stackexchange.com/"
system 'cls'
system("color 0a")
5.times do
    begin
        id = rand(1..6000)
        url = "#{site}/a/#{id}"
        page = Nokogiri::HTML(open(url))
        code = page.css('code')[0].text
    end until code

    code.each_char  do |char|
        print char
        sleep rand(10) / 30.0
    end
end

İşte bu kod buradan alınmış bir koda dayanmaktadır :

require 'open-uri'
code = open("http://hackertyper.com/code.txt")
system 'cls'
system("color 0a")

code.each_char  do |char|
    print char
    sleep rand(10) / 30.0
 end

İşte göründüğü gibi: kod


11
Aldığı kod Brainf ** k, Golfscript veya J ise. Bu biraz şüphe uyandıracak.
user80551

39
Sonunda, dikkatlice yerleştirilen cevapları her
tarafa

1
Belki yığın akışı daha iyi olurdu?
PyRulez

3
Her birinin yazma hızı, sleepçizgiyi değiştirerek hızı rastgele ayarlarsam (ve daha hızlı hale getirirsem) daha gerçekçi görünüyor sleep rand(10).to_f / 30.
Rory O'Kane

3
Code Golf’da Code Review kodunu kullanmak mükemmel. Code
Golf'u

52

Hadi, / var / log / satır satırında metin olarak tanımlanan her dosyanın içeriğini satır satır basıp, yoğun şeyler oluyor gibi rastgele gecikmelerle basarak sizi hackerim gibi gösteren basit bir bash betiği ile gidelim. Vurduğu dosyalara bağlı olarak, oldukça ilginç bir çıktı verebilir.

#/bin/bash
# this script helps you do hackerish stuff

if [ "$EUID" -ne 0 ]
then
  echo "Please run as root to be hackerish."
  exit
fi

# turn off globbing
set -f
# split on newlines only for for loops
IFS='
'
for log in $(find /var/log -type f); do
  # only use the log if it's a text file; we _will_ encounter some archived logs
  if [ `file $log | grep -e text | wc -l` -ne 0 ]
  then
    echo $log
    for line in $(cat $log); do
      echo $line
      # sleep for a random duration between 0 and 1/4 seconds to indicate hard hackerish work
      bc -l <<< $(bc <<< "$RANDOM % 10")" / 40" | xargs sleep
    done
  fi
done

Terminal temanızın hararetli göründüğünden emin olun. Bazı badass örnekleri:

görüntü görüntü


3
Güzel bitti. Örnek ekran görüntüsü harika
SomeKittens

37
Özel anahtarlarınızın bu ekranlarda olduğunu biliyor musunuz?
Hubert OG,

27
Haha, anladım! ;-)
Hubert OG

4
(Ama cidden, bu ekran görüntülerini okumadım, bu yüzden gerçekte orada ne olduğunu bilmiyorum.)
Hubert OG

3
@HubertOG Vay, neredeyse kalp krizi geçiriyordun ...; PI hiç bir yerde görmedim, bu yüzden delirdiğimi sanıyordum: O
Jwosty

49

Bash: Sonsuz git taahhüdü

Günümüzde bilgisayarlarla ilgili bir sorun, oldukça hızlı olmalarıdır, dolayısıyla derleme görevleri bile sonuçta biter. Ayrıca, uzun süre çalışan bir komut dosyası verildiğinde, komut dosyası çalışırken başka bir şey üzerinde çalışmaya devam etmenin gerçekten mümkün olduğunu iddia edebilirsiniz.

Bunu çözmek için aşağıdaki programa sahibiz. Sadece şimdi ve sonra rasgele 'y' veya 'n' yazmayı öğrenin.

Elbette bazı yeni içeriklere sahip bir git repoya ihtiyacınız var, ancak zaman zaman sorun olmaması gereken gerçek işler yaptığınızı varsayalım.

#!/bin/bash

while [ 1 ]; do
  git add -p
  git reset
done

12
Bu CG girişinden en çok rahatsız olduğumu hissediyorum ... +1 veya -1, ama hangisini hala bilmiyorum!
vaxquis

37

darbe

#!/bin/bash
function lazy {
    sudo apt-get update
    lazy
    }
lazy

Bu sadece depolarınızı güncellemeye devam edecektir. Bazıları fark ederse, yeni bir program için yeni bir repo eklediğinizi ve farklı programları test ettiğinizi söyleyin. Bir senaryoyu taklit etmek gibi değil, bir komut.

NOT: İşyerinde verimsiz olmayı düşünmüyorum, ama deneyleri severim. Bu nedenle, bu uygulamanın gizlice üretken olması için kullanılmasını öneririm .


5
Güzel, ama özyinelemeli işleve dikkat et.
Dijital Travma

1
çatal bomba gibi görünüyor!
Avinash R

2
@AvinashR Pek değil, çatal yok.
PyRulez

43
Ayna ev sahipleri şimdi senden nefret ediyor.
Caleb

9
"Pek değil, çatal yok." Yani sadece bomba mı diyorsun? :-)
celtschk

28

C ++ Sinir Ağı

DÜZENLE

Ne yazık ki bu kodu optimize ettim :( 2000x hızlandırdı ... Eski kod yine de zaman kaybetmek için mükemmel!

orijinal

Aslında, bunun için mükemmel olan evriyal sinir ağlarında bir projeye başladım! Kaynak kodu ve belgeler github'da . İlk adım, yeni bir ağ oluşturmaktır.

std::vector<int> numNeurons = { 500, 500, 2000, 10 };
std::vector<int> numMaps = { 1, 1, 1, 1 };

ConvolutionalNeuralNetwork neuralNetwork(numNeurons, numMaps, numNeurons, 
    std::vector<std::vector<int>>(), std::vector<std::vector<int>>());

Şimdi, 300 nöron ve 1,250,000 sinaps içeren bir ağımız olduğu için, ağda kaydettiğimiz ilerlemeyi kaybetmediğimizden emin olmak için bir dosyaya kaydetmenizi sağlar.

neuralNetwork.SaveToFile("test2.cnn");

Bu 68 MB'lık bir metin dosyası ve birkaç saatten fazla gevşemiş bir çalışma üretti. Şimdi, onunla bir şeyler yaparken biraz eğlenelim! Rasgele bir girdi oluşturacağım ve ayırt etmeye başlayacağım.

std::vector<std::vector<float>> input;
for (int i = 0; i < 2; ++i)
    input.push_back(std::vector<float>{});

for (int i = 0; i < 2; ++i)
    for (int j = 0; j < 3; ++j)
        input[i].push_back(rand() % 100);
neuralNetwork.SetInput(input);

Bu görüntü için oldukça küçük bir girişti, ancak yalnızca ağın bir şeyler yapabileceğini kanıtlıyoruz. Bir sonraki adım, ayrımcılık yapmak!

Layer output = neuralNetwork.Discriminate();

Bu benim için henüz bitmedi ve 2 günden fazla bir süredir çalışıyor! O zaman bir kez bu çıktıyı aldığımızda, sadece eğlenmek için tersten başlayalım.

Layer generatedOutput = neuralNetwork.Generate(output);

Bunların hepsi sadece API'nin işe yaradığını ispatlamak için, henüz bunun için bir plan yok. Bu adım henüz benim için çalıştırılmadı ve bir süredir bekliyorum. İyi 2+ gün yandı ve şu anki testimden zor bir tahmin. Bu oldukça karmaşıktır ve bir veya iki gün boyunca bunu yaparken çok çalışacaksınız, ancak bundan sonra bir daha çalışmak zorunda kalmayabilirsiniz!

Not: Bir daha asla ve tekrar çalışmak istemezseniz, ağı eğitmeyi deneyin

neuralNetwork.LearnCurrentInput();

Bunun için harcayacak vaktim bile yok!

Olan tüm verileri göstermek istiyorsanız, sadece neler olduğunu görüntülemek için işlevlere bazı çağrılar ekleyin.

Yeni yapıcı

ConvolutionalNeuralNetwork::ConvolutionalNeuralNetwork(std::vector<int> neuronCountPerLayer, std::vector<int> featureMapsPerLayer, std::vector<int> featureMapDimensions, std::vector<std::vector<int>> featureMapConnections, std::vector<std::vector<int>> featureMapStartIndex)
{
std::map<SimpleNeuron, std::vector<Synapse>> childrenOf;
for (unsigned int i = 0; i < neuronCountPerLayer.size() - 1; ++i)
{
    Layer currentLayer;

    for (int j = 0; j < neuronCountPerLayer[i]; ++j)
    {
        std::vector<Synapse> parentOf;

        if (featureMapsPerLayer[i] == 1)
        {
            for (int n = 0; n < neuronCountPerLayer[i + 1]; ++n)
            {
                std::cout << "Adding new synapse, data: " << std::endl;

                SimpleNeuron current = SimpleNeuron(i + 1, j + 1);
                SimpleNeuron destination = SimpleNeuron(i + 2, n + 1);

                std::cout << "Origin: " << i + 1 << ", " << j + 1 << "; Destination: " << i + 2 << ", " << n + 1 << std::endl;

                Synapse currentParentSynapse = Synapse(current, current);
                Synapse currentChildSynapse = Synapse(destination, destination);

                currentChildSynapse.SetWeightDiscriminate(currentParentSynapse.GetWeightDiscriminate());
                currentChildSynapse.SetWeightGenerative(currentParentSynapse.GetWeightGenerative());

                std::cout << "Weights: Discriminative: " << currentChildSynapse.GetWeightDiscriminate() << "; Generative: " << currentChildSynapse.GetWeightGenerative() << std::endl;

                parentOf.push_back(currentParentSynapse);

                if (childrenOf.find(destination) != childrenOf.end())
                    childrenOf.at(destination).push_back(currentChildSynapse);
                else
                    childrenOf.insert(std::pair<SimpleNeuron, std::vector<Synapse>>(destination,
                    std::vector<Synapse>{ currentChildSynapse }));
            }
        }

        else
        {
            int featureMapsUp = featureMapsPerLayer[i + 1];
            int inFeatureMap = featureMapsPerLayer[i] / j;
            int connections = featureMapConnections[i][inFeatureMap];
            int startIndex = (neuronCountPerLayer[i + 1] / featureMapsUp) * featureMapStartIndex[i][inFeatureMap];
            int destinationIndex = startIndex + (neuronCountPerLayer[i + 1] / featureMapsUp) * connections;

            for (int n = startIndex; n < destinationIndex; ++n)
            {
                SimpleNeuron current = SimpleNeuron(i + 1, j + 1);
                SimpleNeuron destination = SimpleNeuron(i + 2, n + 1);

                std::cout << "Origin: " << i + 1 << ", " << j + 1 << "; Destination: " << i + 2 << ", " << n + 1 << std::endl;

                Synapse currentParentSynapse = Synapse(current, current);
                Synapse currentChildSynapse = Synapse(destination, destination);

                currentChildSynapse.SetWeightDiscriminate(currentParentSynapse.GetWeightDiscriminate());
                currentChildSynapse.SetWeightGenerative(currentParentSynapse.GetWeightGenerative());

                std::cout << "Weights: Discriminative: " << currentChildSynapse.GetWeightDiscriminate() << "; Generative: " << currentChildSynapse.GetWeightGenerative() << std::endl;

                parentOf.push_back(currentParentSynapse);

                if (childrenOf.find(destination) != childrenOf.end())
                    childrenOf.at(destination).push_back(currentChildSynapse);
                else
                    childrenOf.insert(std::pair<SimpleNeuron, std::vector<Synapse>>(destination,
                    std::vector<Synapse>{ currentChildSynapse }));
            }
        }

        std::cout << "Adding neuron" << std::endl << std::endl;

        if (childrenOf.find(SimpleNeuron(i + 1, j + 1)) != childrenOf.end())
            currentLayer.AddNeuron(Neuron(parentOf, childrenOf.at(SimpleNeuron(i + 1, j + 1))));
        else
            currentLayer.AddNeuron(Neuron(parentOf, std::vector<Synapse>{}));
    }

    std::cout << "Adding layer" << std::endl << std::endl << std::endl;

    AddLayer(currentLayer);
}

Layer output;

std::cout << "Adding final layer" << std::endl;

for (int i = 0; i < neuronCountPerLayer[neuronCountPerLayer.size() - 1]; ++i)
    output.AddNeuron(Neuron(std::vector<Synapse>(), childrenOf.at(SimpleNeuron(neuronCountPerLayer.size(), i + 1))));
AddLayer(output);
}

Yeni FireSynapse

float Neuron::FireSynapse()
{
float sum = 0.0f;

std::cout << "Firing Synapse!" << std::endl;

for (std::vector<Synapse>::iterator it = m_ChildOfSynapses.begin(); it != m_ChildOfSynapses.end(); ++it)
    sum += ((*it).GetWeightDiscriminate() * (*it).GetParent().GetValue());

std::cout << "Total sum: " << sum << std::endl;

float probability = (1 / (1 + pow(e, -sum)));

std::cout << "Probably of firing: " << probability << std::endl;

if (probability > 0.9f)
    return 1.0f;

else if (probability < 0.1f)
    return 0.0f;

else
{
    std::cout << "Using stochastic processing to determine firing" << std::endl;
    float random = ((rand() % 100) / 100);
    if (random <= probability)
        return 1.0f;
    else
        return 0.0f;
}
}

Şimdi konsolunuzdan bol miktarda çıktı alacaksınız.


4
Gerçek yaşam bağlamı için de +1. İlginç :)
George

1
Hahahaha baş harfleri "CNN" büyü
Nic Hartley

26

Python 3

#!/usr/bin/python3

import random
import time

first_level_dirs = ['main', 'home', 'usr', 'root', 'html', 'assets', 'files']
title_descs = ['page', 'script', 'interface', 'popup']
id_names = ['container', 'main', 'textbox', 'popup']
tag_names = ['div', 'textarea', 'span', 'strong', 'article', 'summary', 'blockquote', 'b']
autoclosing_tags = ['br', 'input']

def random_js_line():
    return random.choice([
        '      $("#%s").html("<b>" + $("#%s").text() + "</b>");' % (random.choice(id_names), random.choice(id_names)),
        '      $.get("t_%i.txt", function(resp) {\n        callback(resp);\n      });' % (int(random.random() * 50)),
        '      $("%s>%s").css({width: %i + "px", height: %i + "px"});' % (random.choice(tag_names), random.choice(tag_names), int(random.random() * 75), int(random.random() * 75)),
        '      for (var i = 0; i < count; i++) {\n        $("<div>").appendTo("#%s");\n      }' % (random.choice(id_names))
    ])

def random_js_lines():
    lines = [random_js_line() for _ in range(int(random.random() * 14) + 1)]
    return '\n'.join(lines)

def random_html_line():
    tag_name = random.choice(tag_names)
    return random.choice([
        '    <%s>id: %i</%s>' % (tag_name, int(random.random() * 1000), tag_name),
        '    <%s class="%s">\n      <%s/>\n    </%s>' % (tag_name, random.choice(first_level_dirs), random.choice(autoclosing_tags), tag_name),
        '    <div id="%s"></div>' % (random.choice(first_level_dirs))
    ])

def random_html_lines():
    lines = [random_html_line() for _ in range(int(random.random() * 9) + 1)]
    return '\n'.join(lines)

while True:
    print('creating /%s/%i.html' % (random.choice(first_level_dirs), int(random.random() * 1000)))
    time.sleep(random.random())
    lines = [
        '<!DOCTYPE html>',
        '<html lang="en">',
        '  <head>',
        '    <title>%s #%i</title>' % (random.choice(title_descs), int(random.random() * 100)),
        '    <script type="text/javascript" src="/js/assets/jquery.min.js"></script>',
        '    <script type="text/javascript">',
        random_js_lines(),
        '    </script>',
        '  </head>',
        '  <body>',
        random_html_lines(),
        '  </body>',
        '</html>'
    ]
    lines = [single_line for linegroup in lines for single_line in linegroup.split('\n')]
    for line in lines:
        print(line)
        time.sleep(random.random() / 10)
    print()
    time.sleep(random.random() / 2)

Sahte "yükleme" süreleri (gecikmeler) ile daha gerçekçi görünmesi için bir sürü sahte JS ve HTML çıktılar.

Bu büyük ölçüde genişletilebilir ve genişletilecektir! (temel program var; şimdi daha fazla içerik eklemem gerekiyor)


İşte oluşturduğu örnek bir "sayfa" dır (bu aslında kodun eski bir versiyonundandır; işim bittiğinde yeni kodla güncelleyeceğim):

creating /assets/809.html
<!DOCTYPE html>
<html lang="en">
  <head>
    <title>script #32</title>
    <script type="text/javascript" src="/js/assets/jquery.min.js"></script>
    <script type="text/javascript">
      $("#main").html("<b>" + $("#main").text() + "</b>");
      $("#textbox").html("<b>" + $("#container").text() + "</b>");
      $("#popup").html("<b>" + $("#textbox").text() + "</b>");
      $("#container").html("<b>" + $("#textbox").text() + "</b>");
      $.get("t_11.txt", function(resp) {
        callback(resp);
      });
      $("#main").html("<b>" + $("#textbox").text() + "</b>");
      $.get("t_14.txt", function(resp) {
        callback(resp);
      });
      $.get("t_1.txt", function(resp) {
        callback(resp);
      });
      $.get("t_34.txt", function(resp) {
        callback(resp);
      });
    </script>
  </head>
  <body>
    <span>id: 462</span>
    <textarea>id: 117</textarea>
  </body>
</html>

3
Müthiş, ne eklediğini görmek için sabırsızlanıyorum!
SomeKittens

evet bu çok güzel bir kıç. Aklım nesiller boyunca yapabileceğiniz harika şeylerle çılgınca çalışıyor
Loktar

Sadece python3 değil, 2.7 de sorun değil
Hannes Karppila

1
İyi iş. Oldukça gerçekçi görünüyor.
qwr

24

Node.js + BDD

Çalışan BDD tarzı testlerin sonsuz bir akışı gibi görünüyor. Kimse seni sınavlardan dolayı suçlayamaz!

    "use strict"
var colors = require("colors"),
    features = ["User", "Request", "Response", "Cache", "Preference", "Token", "Profile", "Application", "Security"],
    patterns = ["Factory", "Observer", "Manager", "Repository", "Impl", "Dao", "Service", "Delegate", "Activity"],
    requirements = ["return HTTP 403 to unauthorized users",
                    "accept UTF-8 input",
                    "return HTTP 400 for invalid input",
                    "correctly escape SQL",
                    "validate redirects",
                    "provide online documentation",
                    "select internationalized strings, based on locale",
                    "support localized date formats",
                    "work in IE6",
                    "pass W3C validation",
                    "produce valid JSON",
                    "work with screen readers",
                    "use HTML5 canvas where available",
                    "blink"],
    minTimeout = 100,
    maxTimeout = 1000,
    minRequirements = 2,
    maxRequirements = 6,
    skipThreshold = 0.1,
    failThreshold = 0.2


function randBetween(l, u) {
  return Math.floor(Math.random() * (u - l) + l) 
}

function choose(l) {
  return l[randBetween(0, l.length)]
}

function timeout() {
  return randBetween(minTimeout, maxTimeout)
}

function printFeature() {
  console.log("")
  var feature = choose(features) + choose(patterns)
  var article = /^[AEIOU]/.test(feature) ? "An " : "A "
  console.log(article + feature + " should")
  setTimeout(function() {
    var reqs = randBetween(minRequirements, maxRequirements)
    printRequirements(reqs)
  }, timeout())
}

function printRequirements(i) {
  if (i > 0) {
    var skipFailOrPass = Math.random()
    if (skipFailOrPass < skipThreshold) {
      console.log(("- " + choose(requirements) + " (SKIPPED)").cyan)
    } else if (skipFailOrPass < failThreshold) {
      console.log(("x " + choose(requirements) + " (FAILED)").red)
      console.log(("  - Given I am on the " + choose(features) + " page").green)
      console.log(("  - When I click on the " + choose(features) + " link").green)
      console.log(("  x Then the Log Out link should be visible in the top right hand corner").red)
    } else {
      console.log(("+ " + choose(requirements)).green)
    }
    setTimeout(function() {printRequirements(i - 1)}, timeout())
  } else {
    printFeature()
  }
}

printFeature()

Güncelleme

Tüm testlerinizden geçerse şüpheli göründüğü aklıma geldi, bu yüzden bazı başarısız testler de dahil olmak üzere güncelleme yaptım - Given-When-Thens ile tamamlandı.

Ve evet, tüm başarısızlıkların aynı mesajı olduğunu biliyorum. Bu çıkış bağlantısını gerçekten düzeltmelisin!

görüntü tanımını buraya girin


2
Çok zekice, kodumun test edildiğinden emin olmak için bonus puan kazanıyorum! Çok dikkatli
olamazsın

23

C # (Windows)

Size yepyeni Memtest86 Simulator 2014'ü sunuyoruz ! (Çünkü Memtest86’yı Windows altında çalıştırmak tamamen mantıklı)

Çalışma ilerleme çubukları ve desen göstergesi ile tamamlayın!

Bu kod, bildiğim kadarıyla yalnızca Windows'ta kullanılabilen Konsol sınıfını yaygın olarak kullanıyor. Ayrıca, gerçek işlemci adını / frekansını ve kullanılabilir belleği göstermenin bir yolunu bulamadım, bu yüzden bunlar kodlanmış.

Ekran görüntüsü: görüntü tanımını buraya girin

DÜZENLE

İşlemci bilgilerini almak için Microsoft.Win32 ad alanını ve RegistryKey sınıfını kullanabilirsiniz.

 // Processor information, add 'using Microsoft.Win32';
string processor = "";
RegistryKey processor_name = Registry.LocalMachine.OpenSubKey(@"Hardware\Description\System\CentralProcessor\0", RegistryKeyPermissionCheck.ReadSubTree);
        if (processor_name != null)
        {
            if (processor_name.GetValue("ProcessorNameString") != null)
            {
                processor = (string)processor_name.GetValue("ProcessorNameString");
            }
        }

Kod (çirkin, biliyorum):

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;

class MemTestSim
{
    static void Main(string[] args)
    {
        Random r = new Random();
        int seconds = 0;
        int pass = 0;
        int test = 0;
        int testNumber = 0;

        string[] testNames = { "Address test, own Adress", "Moving inversions, ones & zeros", "Moving inversions, 8 bit pattern" };
        string[] pattern = { "80808080", "7f7f7f7f", "40404040", "bfbfbfbf", "20202020", "dfdfdfdf", "10101010", "efefefef", "08080808", "f7f7f7f7", "8f8f8f8f" };

        // Trick to stop the console from scrolling
        Console.SetWindowSize(80, 40);

        Console.Title = "Memtest86+ v2.11";
        Console.CursorVisible = false;

        // Dark Blue Background Color
        Console.BackgroundColor = ConsoleColor.DarkBlue;
        Console.Clear();

        // Green Title Text
        Console.BackgroundColor = ConsoleColor.DarkGreen;
        Console.ForegroundColor = ConsoleColor.Black;
        Console.Write("      Memtest86+ v2.11     ");

        // Gray on Blue Text and main window structure
        Console.BackgroundColor = ConsoleColor.DarkBlue;
        Console.ForegroundColor = ConsoleColor.Gray;
        Console.Write("| Pass " + pass + "%\n");
        Console.WriteLine("Intel Core i5 2290 MHz     | Test ");
        Console.WriteLine("L1 Cache:  128K   1058MB/s | Test #" + testNumber + "  [" + testNames[0] + "]");
        Console.WriteLine("L2 Cache:  512K   1112MB/s | Testing:  132K - 8192M  8192M");
        Console.WriteLine("L3 Cache: 3072K   1034MB/s | Pattern: ");
        Console.WriteLine("Memory  : 8192M            |---------------------------------------------------");
        Console.WriteLine("Chipset :  Intel i440FX");
        Console.WriteLine();
        Console.WriteLine();
        Console.WriteLine(" WallTime   Cached  RsvdMem   MemMap   Cache  ECC  Test  Pass  Errors  ECC Errs");
        Console.WriteLine(" ---------  ------  -------  --------  -----  ---  ----  ----  ------  --------");
        Console.WriteLine("   0:00:26   8192M      64K  e820-Std    on   off   Std     0       0");

        // Bottom Bar
        Console.SetCursorPosition(0, 24);
        Console.BackgroundColor = ConsoleColor.Gray;
        Console.ForegroundColor = ConsoleColor.DarkBlue;
        Console.WriteLine("(ESC)Reboot  (c)configuration  (SP)scroll_lock  (CR)scroll_unlock               ");


        Console.SetWindowSize(80, 25);

        // Reset text color
        Console.BackgroundColor = ConsoleColor.DarkBlue;
        Console.ForegroundColor = ConsoleColor.Gray;

        // FOREVER
        while (true)
        {
            TimeSpan time = TimeSpan.FromSeconds(seconds);

            // Running Time (WallTime)
            Console.SetCursorPosition(3, 11);
            string min = (time.Minutes < 10 ? "0" + time.Minutes : "" + time.Minutes);
            string sec = (time.Seconds < 10 ? "0" + time.Seconds : "" + time.Seconds);
            Console.Write(time.Hours + ":" + min + ":" + sec);

            // Test percentage
            Console.SetCursorPosition(34, 1);
            Console.Write((int)test + "%");

            // Test Progress Bar
            Console.SetCursorPosition(38, 1);
            for (int i = 0; i < test / 3; i++)
                Console.Write("#");

            Console.SetCursorPosition(38, 0);
            for (int i = 0; i < pass / 3; i++)
                Console.Write("#");

            // Test Number
            Console.SetCursorPosition(35, 2);
            Console.Write(testNumber + "  [" + testNames[testNumber] + "]        ");

            if (testNumber != 0)
            {
                Console.SetCursorPosition(38, 4);
                Console.Write(pattern[test / 10]);
            }
            else
            {
                Console.SetCursorPosition(38, 4);
                Console.Write("         ");
            }

            if (test >= 100)
            {
                test = 0;

                Console.SetCursorPosition(34, 0);
                Console.Write(pass + "%");

                Console.SetCursorPosition(34, 1);
                Console.Write("                                      ");
                testNumber++;
                pass += 2;

                if (testNumber == 2)
                    testNumber = 0;
            }

            Thread.Sleep(1000);
            test += r.Next(0, 3);
            seconds++;
        }
    }
}

7
Neden sadece Memtest86'yı çalıştırmıyorsun? "Burada bazı donanım problemlerim olduğunu düşünüyorum, bitene kadar tamamen
bitmek zorunda kalacağım

20
@MadTux 'Çünkü Memtest'e önyükleme yapmalısınız, bu da kedi resimleri demek değil.
Schilcote

1
System.Console Mono'da Çalışıyor, sadece rasgele konsol pencere boyutu için kod ayarlamanız gerektiğini düşünüyorum
NothingsImpossible

8
Memtest86'yı bir sanal makinede çalıştıramaz mısın?
Cole Johnson,

3
VM fikrindeki Memtest'i seviyorum.
John


14

AHK

Senaryo JavaScript'te bir sürü erişimci ve mutasyon oluştururken yazıyormuş gibi yaparsın. Bir IDE'nin (Bunu Notepad ++'da test ettim) etkin pencere olduğundan emin olun.

İsterseniz değişkenlerin listesini ve sınıf adını belirtin. Ben zaten içinde olanı kullandım window.location.

Çıkmak için esc tuşuna basın.

Biriyle konuşmaya çalıştığında duraklatmak için sayısal tuş takımında 0 tuşuna basın.

Başlamak için ctrl + w tuşlarına basın (w, iş anlamına gelir)

^w::
    loop{
        variable_names  :=  "hash|host|hostname|href|origin|pathname|port|protocol|search"
        class_name  :=  "location"

        StringSplit, variable_names_array, variable_names, "|"

        loop, %variable_names_array0%{
            Random, delay, 80, 120
            SetKeyDelay, %delay%
            current :=  variable_names_array%a_index%
            Send, %class_name%.prototype.
            Random, r, 800, 1300
            Sleep, %r%
            Send, get_
            Random, r, 800, 1300
            Sleep, %r%
            Send, %current%
            Random, r, 800, 1300
            Sleep, %r%
            Send, {space}={space}
            Random, r, 800, 1300
            Sleep, %r%
            Send, function(){{}{enter}
            Random, r, 800, 1300
            Sleep, %r%
            Send, {tab}
            Random, r, 800, 1300
            Sleep, %r%
            Send, return this.
            Random, r, 800, 1300
            Sleep, %r%
            Send, %current%;{enter}
            Random, r, 800, 1300
            Sleep, %r%
            Send, {BackSpace}{}}
            Random, r, 800, 1300
            Sleep, %r%
            Send, {enter}{enter}
            Random, r, 800, 1300
            Sleep, %r%

            Send, %class_name%.prototype.
            Random, r, 800, 1300
            Sleep, %r%
            Send, set_
            Random, r, 800, 1300
            Sleep, %r%
            Send, %current%
            Random, r, 800, 1300
            Sleep, %r%
            Send, {space}={space}
            Random, r, 800, 1300
            Sleep, %r%
            Send, function(%current%){{}{enter}
            Random, r, 800, 1300
            Sleep, %r%
            Send, {tab}
            Random, r, 800, 1300
            Sleep, %r%
            Send, this.
            Random, r, 800, 1300
            Sleep, %r%
            Send, %current% ={space}
            Random, r, 800, 1300
            Sleep, %r%
            Send, %current%;{enter}
            Random, r, 800, 1300
            Sleep, %r%
            Send, return this;{enter}
            Random, r, 800, 1300
            Sleep, %r%
            Send, {BackSpace}{}}
            Random, r, 800, 1300
            Sleep, %r%
            Send, {enter}{enter}
            Random, r, 800, 1300
            Sleep, %r%
        }
    }
return

esc::
    ExitApp
    return

numpad0::
    Pause, toggle
    return

14

darbe

Rasgele bir fiziksel bellek bloğunu atar ve içeriğine bakar. Bunun için kök olmanız gerekecek. Varsayılan olarak yalnızca ilk 1 MB bellek kullanılabilir. ddvarsayılan blok boyutu, seçenekle değiştirilebilen 512 bayttır, ibs=bytesancak skip=$offsetrastgele bir blok seçen diğer seçeneği aklınızda bulundurun . ASCII olmayan karakterleri kaldırmak için çıktı ddgönderilir tr; sadece benzersiz sonuçlar 2 karakter veya daha uzun değerlendirilir.

Bulunan her dize bir sözlükle karşılaştırılır. Eşleşme bulunmazsa, base64 olarak kod çözmeye çalışır. Son olarak, değerlendirilen tüm dizeler döndürülür.

Sözlük dosyasının konumu (/ usr / share / dict / words), uykunun kayan nokta girişlerini kabul edip etmediği ve varsa base64, farkında olması gereken birçok platforma bağlı seçenek vardır.

Ayrıca, dd/ dev / null değerine aktarılan stderr öğesine yapılan işlemle ilgili istatistikleri çıkardığına dikkat edin . Eğer bir şey çok yanlış giderse (/ dev / mem ... 'a erişiyorsunuz) stderr çıktısı görünmez.

Genel olarak, çok kullanışlı değil, ama Linux bellek hakkında biraz şey öğrendim ve bu senaryo yazma eğlenceli olduğu ortaya çıktı.

#!/bin/bash

offset=`expr $RANDOM % 512`
mem=`dd if=/dev/mem skip=$offset count=1 2>/dev/null| tr '[\000-\040]' '\n' | tr '[\177-\377'] '\n' | sort -u | grep '.\{2,\}'`

results=""

for line in $mem
do
    echo "Evaluating $line"
    greps=`grep "^$line" /usr/share/dict/words | head`

    if [ -n "$greps" ]
    then
        echo "Found matches."
        echo $greps
    else
        #echo "No matches in dictionary. Attempting to decode."
        decode=`echo "$line" | base64 -d 2>/dev/null`
        if [ $? -ne 1 ]
        then
            echo "Decode is good: $decode"
        #else
            #echo "Not a valid base64 encoded string."
        fi
    fi

    results+=" $line"

    # make it look like this takes a while to process
    sleep 0.5

done 

if (( ${#results} > 1 ))
then
    echo "Done processing input at block $offset: $results"
fi

Bazen ilginç çıktılar olmaz (tümü sıfır). Bazen sadece birkaç karakter vardır:

codegolf/work# ./s 
Evaluating @~
Evaluating 0~
Evaluating ne
Found matches.
ne nea neal neallotype neanic neanthropic neap neaped nearable nearabout
Done processing input at block 319:  @~ 0~ ne

Bazen aslında bellekte okunabilen bir şey var (blok ofsetini kaydetmeden önce):

codegolf/work# ./s 
Evaluating grub_memset
Evaluating grub_millisleep
Evaluating grub_mm_base
Evaluating grub_modbase
Evaluating grub_named_list_find
Evaluating grub_net_open
Evaluating grub_net_poll_cards_idle
Evaluating grub_parser_cmdline_state
Evaluating grub_parser_split_cmdline
Evaluating grub_partition_get_name
Evaluating grub_partition_iterate
Evaluating grub_partition_map_list
Evaluating grub_partition_probe
Evaluating grub_pc_net_config
Evaluating grub_pit_wait
Evaluating grub_print_error
Evaluating grub_printf
Evaluating grub_printf_
Evaluating grub_puts_
Evaluating grub_pxe_call
Evaluating grub_real_dprintf
Evaluating grub_realidt
Evaluating grub_realloc
Evaluating grub_refresh
Evaluating grub_register_command_prio
Evaluating grub_register_variable_hook
Evaluating grub_snprintf
Evaluating grub_st
Evaluating grub_strchr
Evaluating _memmove
Done processing input:  grub_memset grub_millisleep grub_mm_base 
    grub_modbase grub_named_list_find grub_net_open grub_net_poll_cards_idle
    grub_parser_cmdline_state grub_parser_split_cmdline 
    grub_partition_get_name grub_partition_iterate grub_partition_map_list 
    grub_partition_probe grub_pc_net_config grub_pit_wait grub_print_error 
    grub_printf grub_printf_ grub_puts_ grub_pxe_call grub_real_dprintf 
    grub_realidt grub_realloc grub_refresh grub_register_command_prio 
    grub_register_variable_hook grub_snprintf grub_st grub_strchr _memmove

Ve hatalı biçimlendirilmiş grep girişi, sözlük isabetleri ve başarılı bir base64 kod çözme işlemi gösteren bir son örnek çalışması (blok ofsetini tekrar kaydetmeden önce):

codegolf/work# ./s 
Evaluating <!
Evaluating !(
Evaluating @)
Evaluating @@
Evaluating $;
Evaluating '0@
Evaluating `1
Evaluating 1P$#4
Evaluating )$2
Evaluating -3
Evaluating 3HA
Evaluating 3N
Evaluating @@9
Evaluating 9@
Evaluating 9Jh
Evaluating \9UK
grep: Invalid back reference
Evaluating a#
Evaluating CX
Evaluating ?F
Evaluating !H(
Evaluating +%I
Evaluating Io
Found matches.
Io Iodamoeba Ione Ioni Ionian Ionic Ionicism Ionicization Ionicize Ionidium
Evaluating Kj
Found matches.
Kjeldahl
Evaluating l#
Evaluating L6qh
Decode is good: /��
Evaluating O%
Evaluating OX
Evaluating PR
Evaluating .Q
Evaluating Q4!
Evaluating qQ
Evaluating )u
Evaluating Ua
Found matches.
Uaraycu Uarekena Uaupe
Evaluating $v
Evaluating )V
Evaluating V8
Evaluating V,B~
Evaluating wIH
Evaluating xU
Evaluating y@
Evaluating @z
Evaluating Z0
Evaluating zI
Evaluating Z@!QK
Done processing input:  <! !( @) @@ $; '0@ `1 1P$#4 )$2 -3 3HA 3N
    @@9 9@ 9Jh \9UK a# CX ?F !H( +%I Io Kj l# L6qh O% OX PR .Q Q4!
    qQ )u Ua $v )V V8 V,B~ wIH xU y@ @z Z0 zI Z@!QK

Bunu nasıl çalıştırıyorsun? Onu terk ettim script.sh, üzerinde yaptım chmod +x, ama sadece çıkıyor. sudoya da yardımcı olmuyor.
Octavia Togami

mem=Hat hiçbir şey döndürmüyor gibi geliyor . Borular arasındaki komutun her bir parçasının gerçekten bir şeyler döndürdüğünden emin olmanız gerekir.

Tamam, bunu yapacağım.
Octavia Togami

Bu sadece ilk kez 5 saniye kadar koştu ve 12 satır gibi yazdırıldı, daha sonra çıktısız her seferinde 0.1 saniye gibi yazdırıldı.
Mike

13

Windows Toplu İşi

@echo off

set /p hax="How much haxx0rz: " %=%
set /p haxx="How quick haxx0rz (seconds): " %=%

FOR /L %%I IN (1, 1, %hax%) DO (
START cmd /k "COLOR A&&tree C:\"
timeout %haxx%
)

Bu, 90'lı bir hacker filminden çıkan bir şey gibi görünmesi için yıllarca yanımda tuttuğum bir şaka senaryosudur. İnsanları korkutmak için bir bilgisayara uzaktan bağlıyken kullanırım.


2
Bütün sisteme virüs indiriyor!
qwr

12

darbe

Hiç bitmeyen kafe arayışı.

Bunu web'de uzun zaman önce buldum:

cat /dev/urandom | hexdump | grep "ca fe"

Bunun yerine urandom kullanmayı deneyin.
Alice Ryhl

Ah ... Bir Mac üzerinde test edildi ve Mac'ler ikisine de sahip randomve urandom.
daviewales

5
/dev/randomvar, ancak /dev/urandomyalnızca entropi varsa sayı üretmekten daha güvenli olması amaçlanıyor . Bir kere tükendiğinde, durur. /dev/urandombunu yapmaz ve asla çıktı vermeyi bırakmaz.
undergroundmonorail

Neden hiç bitmiyor? Bugün ikinci kez aptal hissediyorum.
Daniel W.

1
/dev/urandomsürekli olarak rasgele sayıları besleyen bir 'dosya' dır cat. catdaha sonra bunları hexdump, vb borular .
daviewales 17:14

11

Python 2.7

Sonsuz Test Takımı

Dizin ağacınızdaki tüm dosyalar üzerinde bir dizi "Birim Testleri" çalıştırır. Tüm alt dizinleri geçer. Sona geldiğinde baştan başlar.

Çalışan durumunu yazdırır:

============================= entering . =============================
------------------------ test_line_numbers.py ------------------------
Ran 18 tests in 3.23707662572 seconds, 0 errors
---------------------------- test_main.c ----------------------------
Ran 26 tests in 1.3365194929 seconds, 0 errors
--------------------------- test_parser.c ---------------------------
Ran 8 tests in 1.61633904378 seconds, 0 errors
--------------------------- test_README.c ---------------------------
Ran 12 tests in 2.27466813182 seconds, 0 errors
4 modules OK (0 failed)
=========================== entering ./lib ===========================

...

Onu gerekenden daha karmaşık ve umarım daha gerçekçi kılan özellikler:

  • Testlerin sayısı ve test süresi, dosya boyutuyla orantılıdır.
  • Kaynak kod olmayan dosya uzantılarını bilinen programlara dönüştürür. CodeExtensionsDaha fazla bilinen tür eklemek için değiştirin .
    • Görülen gerçek dil dosyalarının sıklığına bağlı olarak yeni uzantı seçildiğinden, sabit sürücünüz Ruby ile doluysa Python kodunu test ederken görülmeyeceksiniz.
  • . "Test_.bashrc.js" gibi bir hediye yok olan dosyaları atlar
import os,random,time,collections

CodeExtensions = ('.py', '.c','.cpp','.rb','.js','.pl','.cs','.el')
last_exts = collections.deque(CodeExtensions[:1],100)
maxlen=0

def maketestname(filename):
    root,ext = os.path.splitext(filename)
    if ext in CodeExtensions:
        last_exts.append(ext)
    else:
        ext = random.choice(last_exts)
    return 'test_'+root+ext

def banner(char,text,width=70):
    bar = char*((width-len(text)-2)/2)
    return "{} {} {}".format(bar,text,bar)

def scaledrand(scale,offset):
    return random.random()*scale+random.randrange(offset)

while True:
    for dirname, subdirs, files in os.walk('.'):
        print banner('=',"entering {}".format(dirname))
        skipped = 0
        for filename in files:
            if filename[0] is not '.':
                testfilename = maketestname(filename)
                print banner('-',testfilename)
                filelen = os.path.getsize(os.path.join(dirname,filename))
                maxlen = max(maxlen,filelen)
                ntests = int(scaledrand(20*filelen/maxlen,10))
            testtime = scaledrand(ntests/5.0,2)
            time.sleep(testtime)                
            else:
                skipped+=1
                continue

            print "Ran {} tests in {} seconds, {} errors".format(ntests,testtime,0)
        print "{} modules OK ({} failed)\n".format(len(files)-skipped,0)

1
Ayrıca çoğu Python kurulumuyla birlikte gelen Python regresyon testlerini de çalıştırabilirsiniz.
nneonneo

Ama bunlar sonunda biter.
AShelly

2
o zaman onları çalıştırabilirsin ... bir döngüde!
nneonneo

1
Ayrıca projelerinizle ilgili isimlerle dosyaları test etmenin Python kaynağını test etmekten daha az şüpheli olduğunu düşünüyorum. Sanırım çoğumuz profesyonelce Python'u
korumaz

11

Java + Guava 16 (Guava çok gerekli değildir, ancak bazı şeyleri yazmak biraz daha sinir bozucu hale getirmiştir).

Tamam, çalışıyor olman gerekiyordu? Gerçek Java kodunu yazan, gerçekte derleyen bir programa ne dersiniz?

Animasyonu göstermek zordur, ancak bu program varsayılan sözlüğü (250 ortak İngilizce kelime) veya bir yeni satırla ayrılmış dosyayı (komut satırı argümanı olarak alınmış) kullanarak bir Java programını yazar ve her seferinde bir karaktere konsola yazar. insan görünüşte hızlarda . Kendiniz çalıştırdığınızdan emin olun çünkü bu yazı adaleti yerine getirmiyor. Bittiğinde, 1 dakika bekler, ardından konsola çok fazla boş satır yazdırır ve yeniden başlar. Bunu çeşitli parametreleri makul şekilde düzeltilebilir yapmak için yazmaya çalıştım.

Ayrıca, normalde bunu birden fazla dosyaya koyardım, ancak çalıştırmayı kolaylaştırmak için tüm sınıfları birbirine karıştırdım.

package org.stackoverflow.ppcg;

import java.io.*;
import java.util.*;

import com.google.common.base.CaseFormat;
import com.google.common.base.Converter;
import com.google.common.collect.Lists;

public class CodeGenerator {
    public static final Converter<String, String> TOUPPER =
            CaseFormat.LOWER_CAMEL.converterTo(CaseFormat.UPPER_CAMEL);
    public static final Converter<String, String> TOLOWER =
            CaseFormat.UPPER_CAMEL.converterTo(CaseFormat.LOWER_CAMEL);

    public static final String[] TYPES = new String[]{
        "int", "long", "double", "String"
    };

    public static final List<String> DEFAULT_LIST = Arrays.asList(new String[]{
            "the", "and", "for", "you", "say", "but", "his", "not", "she", "can",
            "who", "get", "her", "all", "one", "out", "see", "him", "now", "how",
            "its", "our", "two", "way", "new", "day", "use", "man", "one", "her",
            "any", "may", "try", "ask", "too", "own", "out", "put", "old", "why",
            "let", "big", "few", "run", "off", "all", "lot", "eye", "job", "far",
            "have", "that", "with", "this", "they", "from", "that", "what", "make", "know",
            "will", "time", "year", "when", "them", "some", "take", "into", "just", "your",
            "come", "than", "like", "then", "more", "want", "look", "also", "more", "find",
            "here", "give", "many", "well", "only", "tell", "very", "even", "back", "good",
            "life", "work", "down", "call", "over", "last", "need", "feel", "when", "high",
            "their", "would", "about", "there", "think", "which", "could", "other", "these", "first",
            "thing", "those", "woman", "child", "there", "after", "world", "still", "three", "state",
            "never", "leave", "while", "great", "group", "begin", "where", "every", "start", "might",
            "about", "place", "again", "where", "right", "small", "night", "point", "today", "bring",
            "large", "under", "water", "write", "money", "story", "young", "month", "right", "study",
            "people", "should", "school", "become", "really", "family", "system", "during", "number", "always",
            "happen", "before", "mother", "though", "little", "around", "friend", "father", "member", "almost",
            "change", "minute", "social", "follow", "around", "parent", "create", "others", "office", "health",
            "person", "within", "result", "change", "reason", "before", "moment", "enough", "across", "second",
            "toward", "policy", "appear", "market", "expect", "nation", "course", "behind", "remain", "effect",
            "because", "through", "between", "another", "student", "country", "problem", "against", "company", "program",
            "believe", "without", "million", "provide", "service", "however", "include", "several", "nothing", "whether",
            "already", "history", "morning", "himself", "teacher", "process", "college", "someone", "suggest", "control",
            "perhaps", "require", "finally", "explain", "develop", "federal", "receive", "society", "because", "special",
            "support", "project", "produce", "picture", "product", "patient", "certain", "support", "century", "culture"
    });

    private static final int CLASS_NAME_LENGTH = 2;

    private final WordList wordList;
    private final Appendable out;
    private final Random r = new Random();

    private CodeGenerator(WordList wordList, Appendable out) {
        this.wordList = wordList;
        this.out = out;
    }

    public static void main(String... args) throws Exception {
        List<?> wordSource = getWords(args);
        WordList list = new WordList(wordSource);
        SleepingAppendable out = new SleepingAppendable(System.out);
        CodeGenerator generator = new CodeGenerator(list, out);
        while(!Thread.interrupted()) {
            generator.generate();
            try {
                Thread.sleep(60000);
            } catch (InterruptedException e) {
                break;
            }
            out.setSleeping(false);
            for(int i = 0; i < 100; i++) {
                out.append(System.lineSeparator());
            }
            out.setSleeping(true);
        }
    }

    private static List<?> getWords(String[] args) {
        if(args.length > 0) {
            try {
                return getListFromFile(args[0]);
            } catch(IOException e) { }
        }
        return DEFAULT_LIST;
    }

    private static List<Object> getListFromFile(String string) throws IOException {
        List<Object> newList = Lists.newArrayList();

        File f = new File(string);
        Scanner s = new Scanner(f);

        while(s.hasNext()) {
            newList.add(s.nextLine());
        }

        return newList;
    }

    private void generate() throws IOException {
        String className = beginClass();
        List<Field> finalFields = generateFields(true);
        printFields(finalFields);
        out.append(System.lineSeparator());
        List<Field> mutableFields = generateFields(false);
        printFields(mutableFields);
        out.append(System.lineSeparator());
        printConstructor(className, finalFields);
        printGetters(finalFields);
        printGetters(mutableFields);
        printSetters(mutableFields);
        endClass();
    }

    private void printGetters(List<Field> fields) throws IOException {
        for(Field f : fields) {
            out.append(System.lineSeparator());
            f.printGetter(out);
        }
    }

    private void printSetters(List<Field> fields) throws IOException {
        for(Field f : fields) {
            out.append(System.lineSeparator());
            f.printSetter(out);
        }
    }

    private void printConstructor(String className, List<Field> finalFields) throws IOException {
        out.append("\tpublic ").append(className).append('(');
        printArgs(finalFields);
        out.append(") {").append(System.lineSeparator());
        for(Field f : finalFields) {
            f.printAssignment(out);
        }
        out.append("\t}").append(System.lineSeparator());
    }

    private void printArgs(List<Field> finalFields) throws IOException {
        if(finalFields.size() == 0) return;

        Iterator<Field> iter = finalFields.iterator();

        while(true) {
            Field next = iter.next();
            next.printTypeAndName(out);
            if(!iter.hasNext()) break;
            out.append(", ");
        }
    }

    private List<Field> generateFields(boolean isfinal) {
        int numFields = r.nextInt(3) + 2;
        List<Field> newFields = Lists.newArrayListWithCapacity(numFields);
        for(int i = 0; i < numFields; i++) {
            String type = TYPES[r.nextInt(4)];
            newFields.add(new Field(type, wordList.makeLower(r.nextInt(2) + 1), isfinal));
        }
        return newFields;
    }

    private void printFields(List<Field> finalFields) throws IOException {
        for(Field f : finalFields) {
            f.printFieldDeclaration(out);
        }
    }

    private String beginClass() throws IOException {
        out.append("public class ");
        String className = wordList.nextClassName(CLASS_NAME_LENGTH);
        out.append(className).append(" {").append(System.lineSeparator());

        return className;
    }

    private void endClass() throws IOException {
        out.append("}");
    }

    private static class WordList {
        private final Random r = new Random();

        private final List<?> source;

        private WordList(List<?> source) {
            this.source = source;
        }

        private String makeUpper(int length) {
            StringBuilder sb = new StringBuilder();
            for(int i = 0; i < length; i++) {
                sb.append(randomWord());
            }
            return sb.toString();
        }

        private String makeLower(int length) {
            return TOLOWER.convert(makeUpper(length));
        }

        private String randomWord() {
            int sourceIndex = r.nextInt(source.size());
            return TOUPPER.convert(source.get(sourceIndex).toString().toLowerCase());
        }

        public String nextClassName(int length) {
            return makeUpper(length);
        }
    }

    private static class Field {
        private final String type;
        private final String fieldName;
        private final boolean isfinal;

        Field(String type, String fieldName, boolean isfinal) {
            this.type = type;
            this.fieldName = fieldName;
            this.isfinal = isfinal;
        }

        void printFieldDeclaration(Appendable appendable) throws IOException {
            appendable.append("\tprivate ");
            if(isfinal) appendable.append("final ");
            printTypeAndName(appendable);
            appendable.append(';').append(System.lineSeparator());
        }

        void printTypeAndName(Appendable appendable) throws IOException {
            appendable.append(type).append(' ').append(fieldName);
        }

        void printGetter(Appendable appendable) throws IOException {
            appendable.append("\tpublic ");
            appendable.append(type).append(" get").append(TOUPPER.convert(fieldName));
            appendable.append("() {").append(System.lineSeparator());
            appendable.append("\t\treturn ").append(fieldName).append(';');
            appendable.append(System.lineSeparator()).append("\t}").append(System.lineSeparator());
        }

        void printSetter(Appendable appendable) throws IOException {
            appendable.append("\tpublic void set");
            appendable.append(TOUPPER.convert(fieldName));
            appendable.append("(").append(type).append(' ').append(fieldName);
            appendable.append(") {").append(System.lineSeparator());
            printAssignment(appendable);
            appendable.append("\t}").append(System.lineSeparator());            
        }

        void printAssignment(Appendable appendable) throws IOException {
            appendable.append("\t\tthis.").append(fieldName).append(" = ").append(fieldName);
            appendable.append(';').append(System.lineSeparator());
        }
    }

    private static class SleepingAppendable implements Appendable {
        private Random r = new Random();
        private Appendable backing;

        private boolean sleeping = true;

        public SleepingAppendable(Appendable backing) {
            this.backing = backing;
        }

        @Override
        public Appendable append(CharSequence csq) throws IOException {
            return append(csq, 0, csq.length());
        }

        @Override
        public Appendable append(CharSequence csq, int start, int end)
                throws IOException {
            for(int i = start; i < end; i++) {
                append(csq.charAt(i));
            }

            sleep(100, 300);

            return this;
        }

        @Override
        public Appendable append(char c) throws IOException {
            sleep(170, 80);

            backing.append(c);

            return this;
        }


        private void sleep(int base, int variation) {
            if(!sleeping) return;
            try {
                Thread.sleep((long) (r.nextInt(80) + 70));
            } catch (InterruptedException e) {
            }
        }

        public boolean isSleeping() {
            return sleeping;
        }

        public void setSleeping(boolean sleeping) {
            this.sleeping = sleeping;
        }
    }
}

Örnek program çıktısı (sadece bir program)

public class GetGroup {
    private final double thoughRight;
    private final double socialYear;
    private final double manOne;
    private final int appear;

    private double man;
    private double comeHis;
    private double certain;

    public GetGroup(double thoughRight, double socialYear, double manOne, int appear) {
        this.thoughRight = thoughRight;
        this.socialYear = socialYear;
        this.manOne = manOne;
        this.appear = appear;
    }

    public double getThoughRight() {
        return thoughRight;
    }

    public double getSocialYear() {
        return socialYear;
    }

    public double getManOne() {
        return manOne;
    }

    public int getAppear() {
        return appear;
    }

    public double getMan() {
        return man;
    }

    public double getComeHis() {
        return comeHis;
    }

    public double getCertain() {
        return certain;
    }

    public void setMan(double man) {
        this.man = man;
    }

    public void setComeHis(double comeHis) {
        this.comeHis = comeHis;
    }

    public void setCertain(double certain) {
        this.certain = certain;
    }
}

Başka bir örnek çıktı:

public class TryControl {
    private final int over;
    private final double thatState;
    private final long jobInto;
    private final long canPut;

    private int policy;
    private int neverWhile;

    public TryControl(int over, double thatState, long jobInto, long canPut) {
        this.over = over;
        this.thatState = thatState;
        this.jobInto = jobInto;
        this.canPut = canPut;
    }

    public int getOver() {
        return over;
    }

    public double getThatState() {
        return thatState;
    }

    public long getJobInto() {
        return jobInto;
    }

    public long getCanPut() {
        return canPut;
    }

    public int getPolicy() {
        return policy;
    }

    public int getNeverWhile() {
        return neverWhile;
    }

    public void setPolicy(int policy) {
        this.policy = policy;
    }

    public void setNeverWhile(int neverWhile) {
        this.neverWhile = neverWhile;
    }
}

9
Hala kod koduyla ödeme yapanlar için tam otomatik bir para basma makinesi yaptınız - harika bir iş!
Philipp,

9

darbe

Rastgele kaynak dosyalarından bazı yorumları rastgele aralıklarla ve ardından rastgele oluşturulmuş hiçbir işe yaramaz ilerleme çubuğunun çıktısını alın.

#!/bin/bash

# The directory to extract source comments from
srcdir=~/src/php-src/

# Generate a status bar that lasts a random amount of time.
# The actual amount of time is somewhere between 1.5 and 30
# seconds... I think. I fudged this around so much it's hard to tell.
function randstatus() {
    bsize=4096
    r_rate=$(echo "$RANDOM/32767 * $bsize * 1.5 + $bsize / 4" | bc -l | sed 's/\..*$//')
    r_min=3
    r_max=15
    r_val=$(($r_min + $RANDOM % $(($r_max - $r_min)) ))
    i=0
    dd if=/dev/urandom bs=$bsize count=$r_val 2> /dev/null | pv -L $bsize -s $(($r_val * bsize)) > /dev/null
}

# Picks a random .c file from the given directory, parses
# out one-line comments, and outputs them one by one with a
# random delay between each line.
function randout() {
    r_file=$(find $1 -name '*.c' | sort -R | head -n 1)
    echo "# $r_file"
    grep '^\s*/\*.*\*/\s*$' $r_file | sed 's:[/\*]::g' | sed -e 's:^\s\+::' -e 's:\s\+$::' | sed -e 's:^\W\+::' | grep -v '^$' | while read line; do
        echo $line
        sleep $(printf "%0.2f" $(echo "$((($RANDOM%4)+1))/4" | bc -l))
    done
}

while true; do
    randout $srcdir
    randstatus
    # sleep here to make it easier to break out of the 'while read' loop
    sleep 2
done

Çıktı:

# /home/jerkface/src/php-src/sapi/fpm/fpm/fpm_shm.c
Id: fpm_shm.c,v 1.3 20080524 17:38:47 anight Exp $
c) 2007,2008 Andrei Nigmatulin, Jerome Loyet
MAP_ANON is deprecated, but not in macosx
  32kB 0:00:08 [3.97kB/s] [====================================================================>] 100%
# /home/jerkface/src/php-src/ext/mbstring/mb_gpc.c
Id$
includes
mbfl_no_encoding _php_mb_encoding_handler_ex()
split and decode the query
initialize converter
auto detect
convert encoding
we need val to be emalloc()ed
add variable to symbol table
SAPI_POST_HANDLER_FUNC(php_mb_post_handler)
  12kB 0:00:03 [4.02kB/s] [===============>                                                      ] 24% ETA 0:00:09

1
Zeki! Daha fazla dikkat çekmek için biraz geç, ama benden beşlik çek.
SomeKittens

@KomeKittens Bu senaryonun gerçek dehası, üzerinde çalışmanın daha çok gerçek iş gibi görünmesidir . ; D
Sammitch

7

Rsync formu BASH

 rsync -n -avrIc --verbose  ~ ~ | sed s/"(DRY RUN)"/""/g    
# Note the space at the beginning of the above line,

rsync - Bir, çok yönlü, hızlı uzaktan (ve yerel) dosya kopyalama aracı ... o -n bir gerçekleştiren kuru koşmak sadece gerçekten yapmayın yapmaya çalışacağım, ve ne olduğunu göstermektedir.
Bu durumda, ana dizininizin (ve alt klasörlerin )tüm dosyalarının güncellenip güncellenmeyeceğini kontrol etmeye çalışın.
Elbette root erişiminiz varsa, onu dosya sisteminizin daha büyük bir bölümünde çalıştırabilirsiniz.

Notlar:

  1. Eğer HISTCONTROL=ignorebothya da en azından HISTCONTROL=ignorespacesizin de bash oturumu sizin bash geçmişi daha önce boşluk ile yazarsanız bu komutu hatırlamayacak. (Hiçbiri geçmiş günlüğünde , yukarı itip ekranda göremezsiniz ).
  2. | sed s/"(DRY RUN)"/""/gçıktıyı bunun içinden sedgeçirecek (DRY RUN)ve rsync çıktısının sonundaki metni silecek . Bir uzman kontrolü varsa, gerçekten test yaptığınızı söyleyebilirsiniz, sadece test etmeyin.
  3. -avrIcBu seçenekleri değiştirebilir, kontrol edebilir man rsync, ama asla kaldıramazsınız-n , aksi halde root olarak çalıştırıyorsanız, ciddi bir probleminiz olması gerekir ... 8-O!

6

Maven bash altında

Maven bu tür görevler için mükemmel ;-)

while true;
do mvn -X archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false;
done

6

kobra

Bu, çeşitli sahte nesneler arasında dolaşan ve her şeyi geçmek için ilerleyen ve ilerleyen çeşitli nesneler arasında dolaşan bir konsol penceresi açar. Gerçek hesaplama gecikmelerini simüle etmek için her artışta küçük bir rasgele süre bekler.

class Does_Nothing_Useful
    var _rng as Random = Random()
    var _hash
    var _pass
    var _names as String[] = @['Vector', 'Object', 'File', 'Index', 'Report', 'Library', 'Entry', 'Log', 'Resource', 'Directory']
    def main
        while true
            .refresh
            name as String = _names[_rng.next(_names.length)] + ' ' + _hash.toString
            for i in _pass
                progress as decimal = 0
                while progress < 100000
                    progress += _rng.next(1000)
                    print name + '; pass', i, ' : ', progress/1000
                    wait as int = 0
                    for n in _rng.next(50), wait += _rng.next(1,100)
                    System.Threading.Thread.sleep(wait)
                print name + '; pass', i, '--FINISHED--'
                print ''
                System.Threading.Thread.sleep(_rng.next(1000,17500))
            print name, '--EVAL COMPLETE--'
            print ''
            System.Threading.Thread.sleep(_rng.next(12500,30000))
    def refresh
        _hash = _rng.next.getHashCode
        _pass = _rng.next(256)
        print '--LOADING NEXT TARGET--'
        print ''
        System.Threading.Thread.sleep(_rng.next(12500,30000))

1
Bu konuda çalışmak için bütün bir hafta sonun var, o yüzden zaman ayırın.
SomeKittens

1
Bu Cobra dili nedir, Python ve C # 'nın piç çocuğuna benziyor, haha ​​(yukarıya bakarken bazı ilginç özelliklere sahip görünüyor), +1
Thomas

1
@Thomas Çoğunlukla, Python-esque sözdizimini kullanan C # (şu anda LINQ'suz). Ve birlikte çalışmaktan zevk aldığım en faydalı varsayılan derleyicilerden biri.
Büyük

Hiç bu kodu tamamladınız mı?
rayryeng 26:15

4

Bunu bir kez yapmak için aptal bir python betiği yazdım. "ProgramHakkında Hiçbir Şey" olarak adlandırıldı ... Bunun inandırıcı olduğundan emin değilim ama sadece 10 dakika sürdü. Sadece ne yaptığını açıklayan rastgele cümleler çıkarır ... Muhtemelen daha ikna edici görünecek daha iyi kelimeler seçebilirdim, ama aslında doğru kullanmadım. Sanırım biri kullanmak isterse düzenleyebilir ve listelerde kendi sözcüklerini ekleyebilir ... Sim City hayranları, tanıdık bir şey fark edebilir. : P

from random import randrange
from time import sleep

nouns = ["bridge", "interface", "artifact", "spline"]
verbs = ["building", "articulating", "reticulating", "compiling", "analyzing"]
adjectives = ["mix", "abstract", "essential"]

while True:
    one = randrange(0,5)
    two = randrange(0,4)
    print "%s %s" % (verbs[one], nouns[two]),
    sleep(randrange(0,500)/100)
    print ".",
    sleep(randrange(0,500)/100)
    print ".",
    sleep(randrange(0,500)/100)
    print ".\n",
    loop = randrange(0,50)
    one = randrange(0,5)
    for i in range(loop):
        two = randrange(0,4)
        three = randrange(0,3)
        print "%s %s %s" % (verbs[one], nouns[two], adjectives[three]),
        sleep(randrange(0,250)/100)
        print ".",
        sleep(randrange(0,250)/100)
        print ".",
        sleep(randrange(0,250)/100)
        print ".\n",

1
Belki Python 3 kullanıyorsunuz? Böyle baskı ifadeleri parantez eklemeyi deneyin: print( ... ).
daviewales

1
@daviewales ninja'd: P
Luke

1
@Luke Python 3.4.1Windows için yeni kurdum . Python'da programlayamıyorum, ancak küçük programınızla ilgileniyorum ...
Mathlight

1
@Mattlight underwhelmed olmaya hazırlanın. : P
Luke,

1
@ luke, Şimdi çalışıyor. Ve ben etkilendim ^ _ ^
Mathlight

4

Buna ne dersin? Her 1 saniyede codegolf HTML verilerini indirecektir. Böylece, yeni sorular geldiği sürece veriler değişmeye devam edecektir. Aynı zamanda, bir web sitesinden bazı kritik verileri indiriyormuşsunuz gibi görünecektir.

while true; do     
sleep 1;     
curl "codegolf.stackexchange.com" -s |  w3m -dump -T text/html; 
done


2

Bu bir C ++ Derleyici Simülasyonudur (C # ile yazılmış):

using System;
using System.Collections.Generic;
using System.Management;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.IO;
using System.Reflection;

class FakeCompiler {
    static void DoPrint(string txt) {
        Console.WriteLine("Compiling " + txt);
        Thread.Sleep(1000);
    }
    static string Extract(string TypeName) {
        string rt = TypeName.Split(new Char[] {'.'})[ TypeName.Split(new Char[] {'.'}).Length - 1 ];
        if (rt.Contains("+")) {
            rt = rt.Split(new char[] { '+' })[1];
        }
        if (rt.Contains("[")) {
            rt = rt.Split(new char[] { '[' })[0];
        }
        return rt;
    }
    static void DoCompileSingleFile(string _Type_Name) {
        string print = Extract(_Type_Name);
        DoPrint(print + ".h");
        DoPrint(print + ".cpp");
    }
    static Type[] DoFakeCompile_Assembly(string _AssemblyFileName) {
        System.Reflection.Assembly _asm = System.Reflection.Assembly.Load(_AssemblyFileName);
        Type[] _ts = _asm.GetTypes();
        for (int h = 0; h < 15; ++h) {
            DoCompileSingleFile(_ts[h].ToString());
        }
        return _ts;
    }
    static void DoFakeLinkErrors(Type[] t) {
        Console.WriteLine("linking..");
        Thread.Sleep(2000);
        MethodInfo[] mi;
        for (int i = 0; i < t.Length; ++i) {
            mi = t[i].GetMethods();
            for (int j = 0; j < mi.Length; ++j) {
                Console.WriteLine("Link Error: The object {@!" + mi[j].ToString().Split(new char[] {' '})[0] + "#$? is already defined in " + Extract(t[i].ToString()) + ".obj");
                Thread.Sleep(200);
            }
        }
    }
    static void Main(string[] args) {
        Console.WriteLine("Fictional C/C++ Optimizing Command-line Compiler Version 103.33.0");
        DoFakeLinkErrors(DoFakeCompile_Assembly("mscorlib.dll"));
    }
}


2

Grup, yığın, parça, bir defada alınan miktar

Çok fazla dosya içeren bir klasöre yerleştirin. Yeterince hızlı kayarsa, kimse bir şeyden şüphelenmez.

:l
dir/s
echo %RANDOM%
echo %RANDOM%
echo %RANDOM% 
goto l

2
emerge @world

gentoo'da tam derleme


Bu primo bahanesinin temin edilebildiğinden eminim, Gentoo'yu yönetmenin başlıca nedeni.
Caleb,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.