szmtag

global $loop_counter; $loop_counter = 0;

Comment-Spam Template revealed by Accident

Ein Spammer auf Github-User Shanselmans Blog hat aufgrund eines Fehlers sein komplettes Comment-Spam-Template gepostet, aus dem Teil kann man 4,3 Millarden unterschiedliche Spam-Varianten basteln. Auf Hackernews haben sie ihren Spaß damit:

It looks like this factors out to 4,351,250,624 unique comments.

How did you calculate this?

The set of strings is isomorphic to a Cartesian Product of sets of the same cardinalities as the set of options (for example, if the template was “{I,We} like {HTML, CSS, Javascript}”, you can make a set {0,1}x{0,1,2}, where each element in the product set maps to one string and vice versa. For example (0,0) might represent I like HTML, and (1,2) might represent We like Javascript).

Because there is a one to one map (bijection) between the Cartesian Product set and the set of strings, the size of the product set is the same as the size of the set of strings. The cardinality of a cartesian product AxB, where A and B are sets, is |AxB|=|A|x|B|, so to find the size of the set of strings, you just need to multiply together the number of options at each point in the template where you have a choice.

Comment spam random text template (github.com)

Here’s _why.

Vor vier Jahren hatte Coder-Legende Jonathan Gillette aka _why aka Why the Lucky Stiff die Schnauze voll und beging „Infosuicide“, zog sich komplett aus dem Netz zurück und vernichtete alle Spuren. Ein paar Jahre später hatte ihm ein Journalist von Slate nachrecherchiert, bis auf seinen bürgerlichen Namen aber ebenfalls nichts herausgefunden. Jetzt ist er wieder da, irgendwie. Auf seiner Website postet er seit gestern Drucker-Befehle, die kryptische Buchseiten und handgeschriebene Texte ausspucken. Kafka-Reviews, verschlüsselte Illustrationen, Texte über Oprah Winfrey. Nerd-Mystery-Crypto-Netzkunst, oder so ähnlich. Crazy stuff.

_why’s three years of self-imposed Internet exile ended on January 6, when his old website suddenly returned, bearing nothing but this cryptic message:

“Public Print Queue SPOOL/DESOLEE 2012-01-06T08:21Z”

And that was it—until earlier today, when the site suddenly began spitting out more network printer commands. Some clever readers at Hacker News figured out that perhaps _Why was sending messages in Printer Command Language. They were right. Soon enough, their printers began spitting out pages. Put together, they appear to be pages to a book: A novel or an autobiography, a combination of typed-out pages and hand-scrawled notes.

We’re not going to parse the writing. We don’t know _why, and we don’t know why he disappeared, though this does seem to be, at least in part, an exploration of that question. (“This reads less like a return and more like the goodbye he never made when he left,” one Hacker News commenter wrote.) We’re happy to follow along, and read his writing as long as he’s willing to share.

Hacker News: _why’s site updated again (whytheluckystiff.net)
Daily Dot: The cryptic return of programming legend Why the Lucky Stiff
Scribd: _Whys Return
Scribt: _why’s complete printer spool as one book

Vorher auf Nerdcore:
Where’s _why?

Spirograph in HTML5:

I’m a sucker for Spirographs, here’s a Version in HTML5 incl Source.

God.js: Scripted Religion Browser-Plugin

Schönes neues Spielzeug von Ramsey Nasser, über dessen arabische Programmiersprache قلب ich vor ein paar Wochen gebloggt hatte. Diesmal hat er zum Art Hack Day unter dem Motto „God Mode“ ein Browser-Plugin namens God.js gebastelt, dass es einem erlaubt, seine eigene Religion zu programmieren und Gebote festzulegen, „Thou shall not browse Buzzfeed“ etwa. Wenn man dagegen verstößt, gibt’s Ermahnungen per Browser-Alerts vom selbst kreierten Browsergott und wenn man zuviel sündigt, öffnen sich zwei Dutzend Popups voller Höllenfeuer und himmlischer Plagen. Toll!

Das Ding ist leider nicht ganz so trivial, wie ich mir das grade vorgestellt habe, sonst hätte ich mal schnell eine Broswer-based Nerdcore-Religion zusammengefrickelt. Oder man könnte aus dieser Liste der Leistungsschutzrechtsunterstützer ein „Wrath Of The Web-Gods“-Plugin basteln… wie auch immer, sehr schickes Spielzeug.

God.js is a functional language thats lets anyone code their own beliefs, making it like an open source platform for browser-based religion. […] The plugin uses keywords and other attributes to conform your browsing experience to the ethos you’ve selected, as defined in the corresponding scripts (er, “scriptures”) which can be viewed and activated from a button on your browser’s navigation bar. Each religion’s doctrine lays out the forbidden fruits, which include everything from browsing Tumblr to loading a page that contains the word “Java” (the latter enforcing the will of Nasser, who hates Java).

Navigate onto a page containing blasphemous material and you’ll get a stern warning from your higher power via pop-up message. Disobey one too many times and you’ll be punished with two dozen tabs of animated GIF hellfire, boils and frogs covering your web pages, or all of your open browser tabs being smitten in one vengeful blow.

The Verge: ‘God.js’ lets you program and enforce your own browser-based religion
Github: God.js: New Gods Through Computer Science for Art Hack Day 2013

Hello World: Documentary about creative Coding

 Vimeo Direktcode

Hello World!: Tolle Doku-Serie von Ultra Labs aus Spanien über Creative Coding und generative Kunst. Der erste Teil ist grade online gegangen, geht um Processing. WMMNA hatte vor kurzem ein Interview mit den Machern:

How is the documentary series structured? Each episode corresponding to a different theme? Or a different tool? Or moment in the development of the open languages?

The series plan consists of three chapters, each of them dealing with different aspects of this confluence of creation and coding. Each chapter takes a concrete tool and its community to deploy a particular theme. The chapter Hello World! Processing we are now premiering, for example, tackles with the specificities of taking code and programming as a medium or creative strategy: what’s the role, then, and the interest of algorithms, data and parameters? What is being explored through them? We are not diving into the questions around interaction, for example, that’s something we want to handle in the Open Frameworks chapter. Nor time, perception and attention concerns, which we’ll explore in the Pure Data one.

Of course, we don’t mean those languages are meant specifically for these proposed domains; we decided to articulate the series around concrete tools to highlight their importance as singular cultural devices.

Hello World! A documentary series on open creative programming languages

Embroidery Trouble Shooting Guide-Bug mutates into BIG ASS EMBROIDERY TROUBLE SHOOTING GUIDE

Toller HTML-Bug im Embroidery Trouble Shooting Guide des Sewing and Embroidery Warehouse. Wegen ungeschlossener <H3>-Tags wird die Typo dort immer größer und größer und größer und größer und größer und größer und größer und größer und so weiter und so fort.

Like this:

(via Laughing Squid)

Include Fuck Up: Swearing in GitHub-Versioning

Hihi, Coder auf GitHub beim Ausrasten. Könnte ich den ganzen Tag lesen:

- Change admin port to 6666 because fuck you
- Revert “fuck yeah, some fontz bro” This reverts commit bdd176631fc8894977acd1ff83cae431b24be23f. stop fucking my shit up
- FULLSCREEN BITCHES
- OMG MATH DID SOMETHING WRONG! HOLYSHITHOLYSHITHOLYSHITHOLYSHITH…

Commit Logs From Last Night – because real hackers pivot two hours before their demo

3D-Webcam-Toy in your Browser

Noch ein tolles Spielzeug von Felix Turner: WebCamMesh baut aus dem Signal einer Webcam ein 3D-Model auf das das Live-Bild projiziert wird.

WebCamMesh is a HTML5 demo that projects webcam video onto a WebGL 3D Mesh. It creates a ‘fake’ 3D depth map by mapping pixel brightness to mesh vertex Z positions. Perlin noise is used to create the ripple effect by modifying the Z positions based on a 2D noise field. CSS3 filters are used to add contrast and saturation effects.

Use mouse move to tilt and scroll wheel to zoom. The 3D effect works better if the foreground elements are brighter than the background, so try it in a dark room.

WebCamMesh Demo (via Waxy)

WebGL MP3-Waveform Analyzer

Tolles Chrome-Experiment: Der Loop Waveform Analyzer visualisiert MP3s im Browser. Man muss nur ein bisschen aufpassen, dass man dabei keinen Anfall bekommt, oder sowas.

The Loop Waveform Visualizer uses a combination of level and waveform data to produce a circular audio visualization of any MP3. Use the mouse to tilt and the mousewheel to zoom.

To run this, you need a WebGL capable machine and the latest Chrome. Also be aware that it won’t look as good when running under Windows, since Chrome’s WebGL implementation on Windows does not suport line thickness (among other issues). It works better if you use a track that has a high dynamic range (meaning the volume of the track changes a lot over time).

Loop Waveform Visualizer

Star Wars Pre-Roll in a Traceroute

Nerdigste Spielerei der Woche: Ryan Werber von Beaglenetworks hat die Routing Hardware so konfiguriert, dass Anfragen auf 216.81.59.173 („AKA obiwan.scrye.net“) die Pre-Roll aus Star Wars ausspucken. Hier das Tumblr dazu, hier die Traceroute zum Live-Verfolgen.

TraceRoute from Network-Tools.com to 216.81.59.173 [fin]

Hop	(ms)	(ms)	(ms)	IP Address	Host name
1	0	0	0	206.123.64.42	-
2	63	0	0	64.124.196.225	xe-4-2-0.er2.dfw2.us.above.net
3	3	3	3	77.67.71.165	ae2-109.dal33.ip4.tinet.net
4	36	46	36	89.149.181.117	xe-1-2-0.atl11.ip4.tinet.net
5	36	38	37	77.67.69.158	epik-networks-gw.ip4.tinet.net
6	21	21	21	216.81.59.2	po0-3.dsr2.atl.epikip.net
7	56	66	59	10.26.26.102	-
8	57	55	56	206.214.251.1	episode.iv
9	60	56	58	206.214.251.6	a.new.hope
10	58	58	59	206.214.251.9	it.is.a.period.of.civil.war
11	56	57	60	206.214.251.14	rebel.spaceships
12	56	56	56	206.214.251.17	striking.from.a.hidden.base
13	55	60	57	206.214.251.22	have.won.their.first.victory
14	60	56	57	206.214.251.25	against.the.evil.galactic.empire
15	59	57	58	206.214.251.30	during.the.battle
16	58	59	59	206.214.251.33	rebel.spies.managed
17	62	60	60	206.214.251.38	to.steal.secret.plans
18	58	64	60	206.214.251.41	to.the.empires.ultimate.weapon
19	62	61	60	206.214.251.46	the.death.star
20	60	57	60	206.214.251.49	an.armored.space.station
21	62	61	62	206.214.251.54	with.enough.power.to
22	59	62	60	206.214.251.57	destroy.an.entire.planet
23	62	57	58	206.214.251.62	pursued.by.the.empires
24	59	61	61	206.214.251.65	sinister.agents
25	60	61	61	206.214.251.70	princess.leia.races.home
26	61	59	56	206.214.251.73	aboard.her.starship
27	61	62	61	206.214.251.78	custodian.of.the.stolen.plans
28	60	61	58	206.214.251.81	that.can.save.her

Trace complete

traceroute -m 100 obiwan.scrye.net (via Hacker News)

Beautiful Poetic JavaScript-Commenting

JavaScript, auskommentiert als Gedicht. Brillant! Ich hab’ hier mal ‘ne lokale Kopie gesichert: http://www.crackajack.de/wonder/lunametrics-youtube.js.

if(vidSrc.length>29){
	if(vidSrc.substr(0,29)=="http://www.youtube.com/embed/"){
		//It is a YouTube video!
		//Rip apart it's source to obtain it's
		//vile beating heart, the youtube id
		var youtubeid = vidSrc.substr(29);
		if(youtubeid.substr(-6)=="?rel=0"){
			//cut off last 6 digits as hannibal did to atreides
			//and offer them to your gods
			cutlength = youtubeid.length - 6;
			youtubeid = youtubeid.substr(0,cutlength);
		}
		//we now place the beating heart of the youtube id
		//in our first heavenly array
		videoArray[i] = youtubeid;
		//and then mark the vile iframe beast
		//with the id of this video so that all
		//may know it, and reference it
		$(this).attr('id', youtubeid);
		//And for this, I am no longer nothing, I am more
		i++;			
	}

lunametrics-youtube.js (via MeFi)

HTML thinks, Chuck Norris is a Color and Crap is brown

<body bgcolor=”chucknorris”> test </body>

Funktioniert anscheinend nur in Chrome und laut Stack Overflow nur im Non Standard-Mode. Weitere Celebs mit HTML-Colorcodes: „OprahWinfrey is blue, MrT is Black, while BarackObama is a faded green color“. Die Erklärung ist relativ leicht: Falsche und fehlende Hex-Werte werden vom Browser als 0 interpretiert, die Raute ergänzt, aus ChuckNorris wird also #C00C00, ein dunkles rot. Aus „Crap“ wird übrigens „#C0A000“, ein ziemlich diarrhöiges Kackbraun, nachdem man Curry gegessen hat.

Instacode

Instacode, farbgefilterte Retrobilder von Code. Die Website lädt grade eher schleppend und die Bildgenerierung funktioniert bei mir überhaupt nicht, aber egal… endlich mal ein brauchbarer Web-Service mit Mehrwert. (via Fefe)

Artificial Intelligence learns Coding using Brainfuck

Kory Becker arbeitet an Künstlichen Intelligenzen die eigenständig Programmieren lernen. Die Programme sind sogenannte genetische Algorithmen und das Prinzip basiert auf dem Infinite Monkey Theorem mit eingebauter Lern-Funktion. Wir waren da schonmal weiter, vor einem Jahr hatte ich über ‘ne AI gebloggt, die spielbare Games baut – dafür aber wird hier eine supervereinfachte Programmiersprache namens Brainfuck benutzt. Auch toll!

A genetic algorithm is a type of artificial intelligence, modeled after biological evolution, that begins with no knowledge of the subject, aside from available tools and valid instructions. The AI picks a series of instructions at random (to serve as a piece of DNA) and checks the fitness of the result. It does this with a large population size, of say 100 programs. Surely, some of the programs are better than others. Those that have the best fitness are mated together to produce offspring. Each generation gets a bit of extra diversity from evolutionary techniques such as roulette selection, crossover, and mutation. The process is repeated with each child generation, hopefully producing better and better results, until a target solution is found. Genetic algorithms are programmatic implementations of survival of the fittest. They can also be classified as artificially intelligent search algorithms, with regard to how they search an immense problem space for a specific solution.

Using Artificial Intelligence to Write Self-Modifying/Improving Programs (via Hackaday)

Vorher auf Nerdcore:
AI Created Videogames

Remix of the Century:

Remix of the Century: Songs von 1890 bis heute, auto-beatmatched per API: „The Echo Nest API is used to augument the chart data with per song audio characteristics like tempo, mode, and key as well as some Echo Nest specific metrics like Danceability and Energy. The Echo Nest Remix API is used to create one long beat matched remix of all highest ranked songs we could find audio for.“