Metalband Nanowar Of Steel brengt in Java geschreven nummer uit op GitHub

Muziek maken met programmeercode? Komediemetalband Nanowar Of Steel heeft precies dat gedaan. De tekst van het nieuwe nummer HelloWorld.java bestaat namelijk volledig uit Java-code. Het nummer is ook op GitHub gepubliceerd.

Het doel van het project is om 'echt metalprogrammeren' te ondersteunen, stelt de band op de GitHub-pagina. "In feite betekent dit: schrijf zulke slechte code dat alleen jij het kunt zingen." Door de programmeercode van muziek te voorzien, maakte de band een metalnummer.

Het nummer is ook een executable, die via de GitHub-pagina te downloaden is. De Java-applicatie print meerdere keren 'Hello World!', op basis van een door gebruikers gedefinieerde parameter. Het programma demonstreert verder het gebruik van loops en conditionals. Ook wordt er expres een bug geïntroduceerd om error handling weer te geven.

Door Eveline Meijer

Nieuwsredacteur

05-12-2024 • 09:53

32

Submitter: Umbrah

Reacties (32)

32
32
18
3
0
7
Wijzig sortering
Nanowar of Steel parodeert voornamelijk "Manowar", een band die prat gaat om enkel "True Metal" te spelen.

De oprichter en drijvende figuur achter Manowar is Joey DeMaio.
Ze bashen hem dan ook door false metal te testen en Joey een null toe te wijzen.

[code]
boolean metal=false;
if(metal==false) {
String joeyDeCaio=null;
[/code]

Voor de kenners is dit wel een geintje.
Manowar maakt(e) leuke muziek en Nanowar is ook best tof.

[Reactie gewijzigd door ? ? op 5 december 2024 10:38]

Check de .gitignore in de repo:

[code]
# Ignore Maven result files
target/
*.falsemetal
*.joeydecaio
[/code]
Het origineel maakt erg catchy nummers. Niet alleen of hoe ontzettend metal ze zijn, maar ook leuke nummers gebaseerd op de Noorse mythologie. Ik heb ze wel eens live gezien, ze weten er wel een enorme show van te maken!

Maar die parodie ziet er minstens zo leuk. En ook vooral heel creatief!
Ik interpreteer m anders, in de clip staat : If metal = false String JoeyDeMaio=0.

Met andere woorden, als het "posermetal" is , doet DeMaio niet mee.
Wat dan weer "True" is aan Manowars statement Death to false metal.
Verder had deze song niet misstaan op Kings of metal, of Triumph of steel ( Manowar albums uit 88 en 92)
Als Manowar fan kan ik hier wel wat mee.

Hail to Metal!.
Die nullpointer exception waarbij ze gewoon iemand een null noemen is briljant. Nanowar of Steel is geniaal. Dit is de band die ooit een Ikea heeft geclaimd als een concerthal, om vervolgens tijdens het echte concert een recordaantal Ikea tafels op het podium te assembleren.

Bandleden zijn stuk voor stuk ook briljant, hun bassist is bijvoorbeeld een machine learning specialist met een PHd, met een specialisatie in multi-spectrale remote sensing (wat weer in de buurt van mijn vakgebied ligt). Dit nummer is een perfect voorbeeld van: "ben benieuwd wat ze nu gaan doen". Gezien de hoeveelheid forks van de repo, gok ik dat er zowaar "nuttige" dingen van gemaakt worden. Zit er zelf over te denken om dit ook op een bare metal plek ergens een integratie te bieden.

(dit nummer is natuurlijk ook definitief het einde van de discussie: "een programmeertaal is niet een echte taal!")

Het feit dat de bassist van Manowar in de .gitignore staat is overigens ook briljant...

[Reactie gewijzigd door Umbrah op 5 december 2024 10:39]

(dit nummer is natuurlijk ook definitief het einde van de discussie: "een programmeertaal is niet een echte taal!")
Ik dacht dat die discussie al wel geslecht was? Toen ik nog studeerde, begin jaren 2000, waren er al Letteren studenten die de eerstejaars programmeervakken als keuzevak volgden.
Academisch gezien was er nooit een discussie te voeren eigenlijk.

Vanaf het moment dat er formalismen waren om programmeertalen te definiëren, waren die talen echt talen. Dat komt doordat ze door middel van grammatica's worden gedefinieerd, net als natuurlijke talen (wat mensen dus spreken, lezen en schrijven).

Het grote verschil tussen natuurlijke talen en programmeertalen is dat in natuurlijke talen veel ambiguiteit voorkomt, wat context vereist om uit te vogelen welke van de mogelijke betekenissen van een zin bedoeld wordt. Bijvoorbeeld, in de zin "hij breekt z'n been" heb je het stukje context "we praten over Peter" nodig voordat de betekenis van de zin volledig duidelijk is.

Programmeertalen worden tegenwoordig zodanig gedefinieerd dat er geen willekeurige context nodig is om uit te vogelen wat een stuk source code betekent.
Je noemt daar een keyword.. bare metal. Dus volgende nummer, een Arduino sketch als song lyrics die dus "bare metal" draait op een microcontroller ? :+ Ben benieuwd wat voor brute riffs een Arduino allemaal niet teweeg kan brengen. En dan niet primair als synthesizer ingezet.. _/-\o_

Deze band is idd geweldig, maar het helpt wel even als je de achtergrond van de parodies snapt. Maar dat is natuurlijk vaak zo met parodie.
Och... de uren die je bezig kan zijn met het utizoeken van de betekenissen en geneste betekenissen in een nummer als "The Power of Imodium" is absurd. Uiteraard zitten er ook gewoon butt-jokes in... maar inderdaad: ze gaan diep in hun parodie.
Als java ontwikkelaar: Dit is echt briljant!
Hmm, alleen de songtekst is programmacode, zelf vind ik sonic pi een beter voorbeeld van muziek maken door te programmeren:
https://sonic-pi.net/
De open source community zou de open source community niet zijn als er niet direct een aantal kwalitatieve doch random pull requests gedaan werden.

https://github.com/NanowarOfSteel/HelloWorld/pulls
Tof, maar gemiste kans om het in Rust te schrijven ;-)
Metalband Nanowar Of Steel brengt in Java geschreven nummer uit op GitHub
Waar is het in Java geschreven nummer? Ik zie alleen 49 regels met code die niets (bruikbaars) doen.

Volgens mij mis ik de humor die hier nodig lijkt te zijn, maar ik ben dan ook niet zo blij dat GitHub steeds vaker wordt misbruikt voor marketing ipv code.

[Reactie gewijzigd door Stukfruit op 5 december 2024 10:13]

Bekijk de youtube video eerst eens. Dan zul je het snappen

Zelf heb ik er toch een paar keer mee moeten lachen.
int pippo = 0; :+
Dat neemt helaas nog steeds niet weg dat dit het zoveelste geval is van een GitHub dat misbruikt wordt om iets totaal ongerelateerds te promoten.

Daar is het niet voor bedoeld. Er zijn al te veel bedrijven die het misbruiken, naast de spam voor allerlei zaken in de issues, en nu komt er ook nog een Italiaanse parodieband bij die hetzelfde doet.

Zij zijn op deze manier onderdeel van de enshittification. Sorry, daar kan ik niet om lachen omdat dit het steeds moeilijker maakt om nuttige info te vinden.
Ja, ik snap wel dat een stuk fruit geen gevoel voor humor heeft.
Sorry dat ik het zeg hoor, maar toen ik net even keek waren er zo'n 420mln repositories op github, soms grote, diep gewortelde, veelgebruikte projecten, soms kleine experimenten (die tot iets groots kunnen groeien), soms creatief gebruik zoals een "open source metal nummer", soms juist ook creatieve, grappige, maar ook kritisch denkende projecten zoals bijna alles wat er rondom esoterische programmertalen is gedaan.

Github "misbruik" zie ik hier niet zo, ik zie hier een uiting van creativiteit, en de taak van github (delen/mee-ontwikkelen met community) wordt ook vervuld als ik de pull requests/forks bekijk.

Dat andere projecten "spam" krijgen, dat ligt denk ik aan dat maintainers misschien hun werk niet doen, maar dit als losstaand project, in een zee van 420mln andere projecten, sorry hoor, maar hoe is er mogelijk interactie met de projecten waar jij in zit? Of snap je niet helemaal hoe github werkt los van git zelf? Zit je niet >IN< een project, krijg je er geen spam van. Dat deze Italiaanse bare metal java developers een nummer zo gepubliceerd hebben, wil niet zeggen dat dit nummer direct in iets als de Microsoft Powertoys repo gemerged wordt.

De zoekfunctie, het taggen, en alle metadata op Github zorgt er voor dat dit voor jou, als je het niet wil zien, gewoon één project is tussen al die anderen waar jij niks mee te maken hebt. Net zoals je waarschijnlijk niks te maken hebt met de GIT repo van TempleOS (https://github.com/cia-foundation/TempleOS) of de git repo van "whitespace" (https://github.com/Romejanic/Whitespace), een programmeertaal die ENKEL uit whitespaces bestaat.
Of snap je niet helemaal hoe github werkt los van git zelf?
Wat een nare reactie zeg. Je hebt het over zaken waar ik met geen woord over heb gesproken.

Ik heb het over onjuist gebruik van het product GitHub, waar jij begint over details per project en weet ik wat nog meer.

GitHub is er ook om nieuwe projecten te kunnen vinden om aan mee re werken, zoals een SourceForge het ooit eens was. Laatstgenoemde ging er aan door o.a. het toevoegen van malware en een verloren focus op ontwikkelaars.

Dit is niets anders dan dezelfde SEO-achtige praktijken die Google Search ook zijn gaan slopen. GitHub is geen marketingtool.
Sorry, daar kan ik niet om lachen omdat dit het steeds moeilijker maakt om nuttige info te vinden.
Ik snap niet hoe deze pagina het moeilijk maakt om iets te kunnen vinden op github?
Het is een ludieke actie van de band om niet alleen zichzelf te promoten maar ook om github en programmeren in het algemeen te promoten. Daar is niets mis mee volgens mij.

Git(hub) moet niet alleen voor code gebruikt worden. Het kan voor zoveel meer gebruikt worden
Git(hub) moet niet alleen voor code gebruikt worden. Het kan voor zoveel meer gebruikt worden
Ja, project management.

Niet voor ludieke spam om in het nieuws te komen.
Je bedoelt: ik wil dat Github een zoekfunctie heeft zodat ik dit soort troep niet te zien krijg als ik nuttige dingen aan het doen ben?
Dat is toch al zo?

Verkeerde been uit bed gestapt?
Ik snap wat je zegt, maar ik denk dat het een groter issue is dat mensen Github zien als code afhaalbalie, en daardoor open-source maintainers vragen om basale dingen voor ze te doen (bvb "hoe run ik dit").

Tweede issue: open-source projecten die geforked worden, waarbij de fork dominant wordt omdat die even snel&smerig features toevoegt die mensen nu willen, maar na enkele maanden op de kern techniek doodbloedt omdat de originele maintainer zijn project gestolen voelt en de community eigenlijk geen idee heeft hoe alles werkt.

Dan is een troll repo (danwel voor marketing of deze parodie) om het zo maar even te zeggen echt een klein probleem IMO.

[Reactie gewijzigd door Hans1990 op 5 december 2024 13:01]

int pippo = 0;
Ik snap het niet. Kan je de grap uitleggen?
Pippo is een mini-webframework (onder apache licentie, het is in java geschreven) wat makkelijk te ontwerpen/bouwen is, kleine footprint heeft (paar KB), en eenvoudig endpoints/calls kan aanmaken om eenvoudig code/web-API's/hacks te ontsluiten. Als ik het een vergelijking zal kunnen geven aan iets wat "groter" is, dan zou ik zeggen: "het lijkt wat op flask van python, maar dan voor java"
Misschien dan gewoon overstappen naar bitbucket oid. Github blijft ook een gratis platform, dus je gaat dit niet tegenhouden.
Plassen doet pijn, of niet? :D
Al meerdere keren Nanowar of Steel live gezien, dit is echt geweldig :D
Die kerels moeten dringend eens aan de slag gaan met https://codewithrockstar.com/!

Op dit item kan niet meer gereageerd worden.