Aufsetzen eines Raspberry Pi


RaspberryPi_Logo_550

Follow the white rabbit… ignoriere noob und downloade hier das ‚NOOBS_v1_3_2.zip‘. Das spart dir viele Stunden Lebenszeit. :-)

Floppydrive? Kein Problem.

Mit dem Amiga-RPI-Drive bzw. Raspberry Pi als Amiga-Floppy-Emulator.

Sehr nette Idee!! Gibt aber auch schon ältere Lösungen zu dem Thema.

Bitte weiterlesen bei Interesse an RETRO unter…
Retro Computing – Spaß mit Klassikern für den Amiga :-)

End of Life – Rest in Peace MOOC

rip_gravestoneIch hab den die Welt rettenden MOOC Hype ja diesmal komplett aus dem blog rausgelassen. Wäre eher „noise“ als „signal“ gewesen. Hier habe ich jetzt einen Beitrag zu dem Thema gefunden, den ich mal verlinken mag und gleichzeitig mal mit EOL (End of Life) des MOOC übertitele:

Let Them Eat MOOCs von Gianpiero Petriglieri, Associate Professor of Organisational Behaviour at INSEAD

Hier mal ein paar schöne Ausschnitte aus den schon über 135 Kommentaren zu seinem Post:

MOOCs themselves, in my experience, are a combination of poor/old-fashioned pedagogy and book club.

No amount of technology can hide the fact that MOOCs are layered on top of an outdated model for education.

I guess it’s comforting, from a job-security perspective, that by the time algorithms are able to reproduce the „sophisticated search and social technology“ that we currently provide, the singularity will have occurred and we will have long since been murdered or enslaved by our intelligent machine overlords.

For all of the enthusiasts of MOOCs, let me ask you. In what other field would someone be expected to provide their services for FREE? When is the last time you doctor provided free medical services, or your accountant, or ..l..
You get the idea.

Free is an illusion.

At INSEAD you may have the luxury of small classrooms, but most undergraduate students are not getting the same personalized experience. The fact that universities are opening up these classes for free just re-enforces the fact that it’s not the knowledge you are paying for, it’s the degree. In an economy that is becoming more pragmatic and applied, knowledge and skill will always win over a degree.

world_domination_2

Missionare in Sachen Bildungsökonomisierung

Derzeit greift z.B. auch die New York Times den MOOC Hype nochmal auf in ihrem Beitrag „U.S. Teams Up With Operator of Online Courses to Plan a Global Network“. Nach dem ziel befragt antwortet eine Coursera Verantwortliche wie folgt:

“Our mission is education for everyone, and we’ve seen that when we can bring a community of learners together with a facilitator or teacher who can engage the students, it enhances the learning experience and increases the completion rate […]”

Kurzer Zwischenfrage: „Was ist eigentlich das Ziel von Missionaren?“ Recht einfach:

The main goal of a missionary is to spread the gospel of his or her religion, and persuade others to believe in it’s doctrines and practices.

Oh und dann haben sie sich gleich mal mit dem Staat zusammengetan, um den richtigen Hebel zu finden, großartig:

„Coursera is joining forces with the State Department’s MOOC Camp Initiative.“

Und den Staat befragt warum sie mitmachen, antwortet dieser:

We have a list of MOOCs from different providers that we suggest, but Coursera has had a unique interest in working with us to collect the data to understand the learning outcomes from facilitated discussions […]

Na, dann geht es sicher gar nicht um die Daten der Nutzer und die Senkung von Kosten.

Kostensenkung und Entwertung

Prof. Gianpiero Petriglieri sieht darin aber nicht etwa nur missionarische Arbeit am Werk, sondern auch eine handfeste Gefahr für die Bildung:

MOOCs can be used as a cost-cutting measure in already depleted academic institutions and become another weapon against battered faculty bodies. They may worsen rather than eliminate inequality by providing credentials empty of the meaning and connections that make credentials valuable.

Hinter hinter jedem MOOC steht natürlich das Interesse auch an der Kostensenkung von Bildung. Weniger Personal, mehr Eigenverantwortung. Kommt mir irgendwie bekannt vor aus anderen Bereichen der Wirtschaft. Ich halte den Beitrag von Prof. Petriglieri für einen der wenigen der es wert ist gelesen zu werden, und zwar mit allen Links die darin enthalten sind.

Bezeichnend ist allerdings auch zugleich, dass der Herr Professor seine eigene Meinungsäußerung auf der kommerziellen Webseite von blogs.hbr.org (dem Harvard Business Review) kund tut, also gleich mal selbst kommerziell gnadenlos verwertet und die Kommentare noch folgender tollen Regelung unterliegen:

All postings become the property of Harvard Business School Publishing

Hach, schöne neue Lern- & Bildungswelten. Wir sind auf die Zukunft bestens vorbereitet!

Update: 9. November 2013

Weiterer schöner Beitrag namens A Future With Only 10 Universities von Audrey Watters, die übrigens ein schönes & interessantes Blog namens hackeducation betreibt.

50_year_10_universities

Ihr Beitrag „The Education Apocalypse“ ist auch nochmal recht lesenswert.

Der finale Todesstoß für MOOCs

mooc_schulmeisterUnd hier ist er der finale Todesstoß für die MOOCs in Germany. Wenn man sich auf eine Person verlassen kann, dann auf die alte Forscherschule, jemanden der noch weiß wie man schlaue Fragen stellt und der sich selber nicht zu fein ist sich selber die Hände im Dreck schmutzig zu machen, um an die so wichtigen Daten zu kommen: Prof. Schulmeister

Und er hat jetzt eine Veröffentlichung „MOOCs – Massive Open Online Courses – Offene Bildung oder Geschäftsmodell?“ herausgebracht, die man wohl ziemlich sicher als den Sargnagel auf das MOOC-Konzept betrachten kann. Zumindest aber lässt er den hochgelobten Kaiser ziemlich nackig dastehen. Denn wenn man anhand der Fakten analysiert bleibt von den „Verbesserungen“ durch MOOCs, die die Welt retten sollen nicht mehr soviel übrig.

Aber das liest man besser mal selber (PDF) nach.

ONLINE-LERNPLATTFORMEN: Bildung für alle ist eine Illusion

Schreibt Golem grade.

Bildung für manche statt für alle: Drei Jahre nach der ersten Euphorie ist klar, dass die MOOCs genannten Onlinekurse trotz großen Erfolgs nicht die Massen erreichen.

Aber die Nanodegrees (die neuste Schöpfung aus der Bildungsnation US of A) werden es sicher richten.

Update 22.8.2016: MOOC is an abandoned ship

Tja, ist immer einfach zu sagen told-you-so, aber in diesem Fall wohl eindeutig das Richtige. Ich zitiere:

The most obvious reason why everyone from the founders of MOOC companies to students who sign up for such course are abandoning MOOCs is because these kinds of courses have not lived up to their initial hype. MOOCs were supposed to transform education as we know it, but traditional education with its inefficiency derived from the close proximity between professors and their students has proved more resilient than its wannabe disruptors ever imagined. Yes, there are still plenty of MOOCs available for people who want to take them, but it now seems safe to conclude that Sebastian Thrun’s 2012 prediction that there will only be ten institutions of higher learning in fifty years will be off by a large order of magnitude.

Oh und Captain Obvious meldet sich auch zu Wort:

With MOOC production costs as high as $325,000 for a single course, profitability is almost certainly the main obstacle to keeping MOOCs viable for the long term.

Und dann kommt noch dieses Comedy Gold um die Ecke:

If teaching were like most activities, it might be capable of being automated and scaled. But unfortunately for the MOOC providers, teaching isn’t like most activities.

Aber hey, morgen kommt der nächste Depp und wird behaupten die AI/KI wird das dann schon richten. Ich bin da optimistisch gestimmt, dass uns der Grund Popcorn bereitzuhalten nicht ausgehen wird im Education-Sektor.

Update 25.10.2016

Jonathan Rees has a nice blog post „I’ve come out of MOOC retirement.“ put online. Einige zufällige Zitate über Coursera, eine Firma/Startup die seit einigen Jahren versucht Bildung zu Geld zu machen:

Actually, Coursera’s business plan now reminds me now more of a company like Evernote than it does public broadcasting. Provide a free service that people find useful, then constantly upsell your customers in the hopes that they might pay up for it.

But Coursera isn’t helping Penn provide “high-quality learning opportunities” to “millions of people around the world” anymore. They’re helping Penn provide mostly static content to millions of people around the world and access to low-quality learning opportunities for people with the willingness and resources to pay for it.

Rees schließt mit der vielsagenden Erkenntnis:

MOOCs were never about universal higher education. They were always about making money. Faculty and students at any university with a MOOC partner ought to recognize that by now, and pressure their schools to un-partner immediately. Then they can develop their own platforms and offer their own MOOCs on any terms they want. Hopefully, those terms will go back to really being open again.

Dem ist nichts hinzuzufügen. Coursera hat sich seit seiner Gründung mehrfach um die eigene Achse gedreht in Sachen Ziele. Letztlich hat man mit einem neuen Wortkonstrukt des „Nanodegree“ versucht Inhalte die für Unternehmen wichtig sind als Selbstlernfortbildung anzubieten und den Lernnachweis dann „Nanodegree“ zu nennen. Und natürlich ist nichts davon kostenlos. Die Unternehmen zahlen, um Inhalte erstellen und bereitstellen zu lassen, und profitieren auch direkt davon wenn sie ihre Mitarbeiter dort hinschicken. Die Mitarbeiter / Lernenden zahlen für den Degree, um sich besser am Markt verkaufen zu können.

Why do I blog this? Die MOOC Sau die jetzt schon über ein Jahr durchs Bildungsdorf getrieben wird ist nur der alte E-Learning Wein im neuen Schlauch. Die bekannten Nachteile und Probleme sind nach wie vor ungelöst (z.B. fehlende Akzeptanz, weil man sozial isoliert lernen muss; fehlende soziale Wahrnehmung, weil soziale Aspekte nicht im Vordergrund stehen sondern technologische, usw.) MOOCs sind so gut wie erledigt aus meiner Sicht. Denn die Magic Bullet gibt’s halt nicht.

world_domination_1

Es gibt immer wieder Leute die auf das schnelle Geld und schnelle Lösungen im Bildungsmarkt hoffen. Und wenn, dann will man natürlich gleich alles bisher da gewesene ablösen, siehe z.B. Apple iBooks:

realitycheck_ibooks2_550

World Domination ist ja auch ein nicht gerade einmaliges Standardziel von StartUps und es geht auch oft mit sehr heftigen Schmerzen einher (ich sprech‘ da aus Erfahrung!). Aber Bildung lässt sich nunmal nicht so schön in ein mp3-File verpacken und verhökern wie Musik. Schon doof wenn man schnell reich werden will! Aber vielleicht klappt’s ja, wenn man die Kosten nur hoch genug schraubt an den verbliebenen Institutionen. Zum Beispiel mit Studiengebühren, Abschaffung von Bafög usw. dann sehe ich da noch Möglichkeiten für MOOCs. Vielleicht ist das ja auch der grund warum diese MOOCs angeblich in USA schon funktionieren: Hohe Studiengebühren, keine freie Lehre. Wobei, wir hätten ja auch noch die Wikipedia als wichtigsten Konkurrenten mit freien (und kostenlosen) Inhalten… wer bereit ist da zu suchen und auf Celebrity Talking Heads zu verzichten… also müsste man Wikipedia vorher wohl noch platt machen damit da ein Markt entsteht.

soylent_greenDass der MOOC Hype so schnell rum sein würde hätte ich jetzt nicht gedacht, aber nun ja. Die Illusion von „Kostenlos“ wird wohl dann demnächst auch in den USA platzen. Denn da zählt am Ende des Tages nur der Return on Investment. Irgendwann kommt halt einfach raus, dass der Hype nur von den Promotern lebt und denen die im Anfall des Idealismus ihre Inhalte frei verteilen. Wen das jetzt an Soylent Green erinnert, dem möchte ich da nicht unbedingt widersprechen.

Letztes Jahr hat noch der Herr Jörn Loviscach auf dem 29c3 ganz groß die MOOC-Hypetrommel geschlagen. Ich war in seinem Vortrag und musste mich wirklich arg zurückhalten die Veranstaltung nicht zu stören so krass war die Propaganda namens „MILLIONS OF LESSONS LEARNED ON ELECTRONIC NAPKINS“ die da vorgetragen wurde mit heftigsten angloamerikanischen Referenzen an Udacity und den Herrn Thrun. Völlig ohne einen Kontext von Kritik versteht sich. Mich würde interessieren was Herr Joviscach denn mit seinen MOOCs so derzeit macht. Oder ob er schon leise den Abschied einläutet…

Ich schätze sein Engagement in Sachen Online Lehren und Lernen, aber der Vortrag auf dem 29c3 war aus meiner Sicht reinste Propaganda. Enthielt rethorische Kniffe (z.B. immer wieder durchgeführte völlig sinnfreie Meinungsabfragen beim Publikum während des Vortrags) um von kritischen Problemen abzulenken und ging auch im Nachklapp beim üblichen Fragen & Antworten mit dem Publikum auf Kritik nicht ein. Man wollte auch keine Kritik hören, das war klar zu erkennen.

Es wundert mich allerdings auch überhaupt nicht, dass wesentliche Apologeten der Online Lehre per MOOC fast ausschließlich aus dem Mathematik- und Informatikbereich kommen, einem Bereich der wohldefinierte Lösungen kennt die nur RICHTIG oder FALSCH sein können und bei dem die Ablehnung von Technologie einer Ketzerei gleich käme. Die Lerninhalte kann man da auch prima online prüfen wenn es nur Richtig und Falsch gibt. Soziale Abwägungen und Bewertungen oder gar kulturelle Diskussionen und Auseinandersetzungen sind da nicht nötig und somit stellen sich die Probleme der sozialen Aushandlung und Erklärung von Bewertungen im Diskurs nur am Rande.

UPDATE 4.9.2014
Es gibt ein Interview von Matthias Becker mit Herrn Loviscach auf Telepolis mit dem Titel „Es macht keinen Sinn, die alte Vorlesung einfach fürs Netz zu kopieren“. (Depublizierungsschutz als PDF)

Was man da jetzt lesen kann ist schon so eine Art Abbitte:

„[…] Insofern handelt es sich letztlich um Selbstausbeutung zwecks Sichtbarkeit. Wer einen MOOC macht, sucht nicht zuletzt nach einem Platz in der Aufmerksamkeitsöknomie.“

Beim Beat Doebli kann man ebenfalls mal gucken.

[1] Grabsteinbild, Quelle: http://www.e-karnevalskleidung.de/horroraccessoires-grabstein-rip-todeskopf-57-cm.html

django – some first impressions

If you would like to learn this stuff the professional way, you may try…
Python

Get into Python

Get started learning Python with our Python Tutorial. This tool is intended for everyone who wants to learn Python programming language, whether your are a beginner or already a pro.

TRY IT…

django-logoSince I mastered the setup of my apache config to actually find my django project I experience some more fluent development happening.

Actually I learned already a lot about the powerful namespacing pattern for URLs which frees up a lot of capacity you usually spend on fixing broken link experiences for users and wrapping your head around url-paths.

Actually the url-handling via regex is a bit painful at first, but it turns out that this gives you extraordinary flexibility to create wonderfully simple and elegant looking urls which is a thing nowadays if you wanna be found in Google at the top ranks and provide useful permalinks e.g. for products whoich should be found easily.

Also the template engine is very flexible. I can create a kind of loopholes (called blocks) in my base templates to prepare them to get stuff injected from lower level templates which is great. You could build a very complex site in no time and have things like header, navigation, content, footer easily setup and look consistently.

Learning with the best tutorials

After I did the painful 6-part tutorial, I just did another very good tutorial on youtube (and still executing on it). And boy was I happy to actually have learned things the „right way“ before. because in the youtube based tutorial above the guy explaining stuff there totally misses on the concept of url-namespacing. But see for yourself here:



Source: Django Full Website Tutorial by hackedexistence.com

If you know some excellent tutorials, e.g. on how to setup django for SSL-based deployment and the like, let me know in the comments.

I also found some very helpful other links:

Python tricks often appreciated

During all my tinkering I also did used a lot of really useful operations using the manage.py command. E.g. today I just wiped my database to try repopulating it with stuff I dumped before. It was quite easy and which is good to have for experimenting and not loosing all your data. Just be careful you do not change the DB-scheme during these operations.


python manage.py dumpdata > temp_data.json
python manage.py flush
python manage.py loaddata temp_data.json

I also made a lot of use of following command:

python manage.py shell

This loads the whole project or in a way has all the settings needed setup for you. Some quick

>>> from <myApp>.models import <myEntity>
>>> dir(<myEntity>)

Gave me really helpful insights, what the object I have actually is capable of doing, by displaying all the methods and attributes available.

My bootstrapping file for Vagrant now was extended by a lot of useful stuff, but actually I did not destroy my VM recently so if all this works will be seen on the next setup of my VM using vagrant up.

Content I added to my bootstrap.sh file:

# SETUP FOR BOOTSTRAPPING
apt-get update

# INSTALL apache
apt-get install -y apache2

# INSTALL mod_wsgi
apt-get install libapache2-mod-wsgi

# INSTALL django
apt-get install -y python-django

# INSTALL python imaging library
apt-get install python-imaging python-imaging-tk

# INSTALL postgres & python db connector
apt-get install postgresql python-psycopg2

I also backed up my apache config files now to some place external to the VM (shared folder) so I do not loose all config stuff if I destroy the VM.

Further education

To gain some flexibility for my models I just started reading stuff like e.g. „33 projects that make developing django apps awesome“ and „Django database migration tool: south, explained“.

south_logoSouth (start Tutorial here) looks like an elegant solution for my purposes because it provides intelligent schema and data migrations.

The plain vanilla way to do migrations would be Django’s Evolution. But even they point out that South has become a De facto standard. Looks like some stuff was inspired by ActiveRecord from rails.

So some line of
sudo apt-get install python-django-south
just made it fly. I like the ubuntu way of installing software… just to revert the action using
sudo apt-get remove --purge python-django-south
several minutes later because south was not correctly installed and better should have been installed through using pip.

So doing a sudo pip install south to get the e x a c t same result. So must be some other error. Doing some googleing on that one… turns out south needs to be entered in the INSTALLED_APPS entry in the settings.py… nice that you find that on the documentation so easily. So this stackoverflow-line helped me out again:

You probably haven’t added ’south‘ into the list of INSTALLED_APPS of your settings.py file

But at least I now know the exact version of south installed. It’s 0.8.2 the one installed by apt-get was only 0.7.3, so I guess pip is the better way to fly. And now python manage.py did show:

[south]
convert_to_south
datamigration
graphmigrations
migrate
migrationcheck
schemamigration
startmigration
syncdb
test
testserver

Fine! Now that I got that installed the python manage.py syncdb changed its output to some new formatting which involves some south-magic. It now looks like:

Syncing...
Creating tables ...
Creating table south_migrationhistory
Installing custom SQL ...
Installing indexes ...
Installed 0 object(s) from 0 fixture(s)

Synced:
> django.contrib.auth
> django.contrib.contenttypes
> django.contrib.sessions
> django.contrib.sites
> django.contrib.messages
> django.contrib.staticfiles
> django.contrib.admin
> south
> shop
> shopadmin
> tinymce

Not synced (use migrations):
-
(use ./manage.py migrate to migrate these)

I just coninued to put my models under migration control using:
python manage.py schemamigration <myapp> --initial
Worked! But everything after that failed. Even a flush on the database did not help in any way. Hmm…
Adding south to an existing project needs special handling…
python manage.py convert_to_south <myApp>
also learned that deleting the migrations directory is not that evil after all if „things go south“, haha.

Migrations on the server

At the same time I learned that there is a procedure for handling migrations perfectly on the server, its like this:

  1. Install South on server. import south from shell just to make sure you are using the same python env.
  2. Add ’south‘ to INSTALLED_APPS in settings.py
  3. Upload settings.py
  4. Restart (web)server
  5. python manage.py syncdb
  6. Upload new app/models.py and app/migrations/ dir
  7. Restart (web)server
  8. python manage.py migrate app --fake 0001
  9. python manage.py migrate app

Good to know! Since I got some changes to my models waiting, I changed them now and handed over to south:

python manage.py schemamigration myproject.myapp --auto
python manage.py migrate myproject.myapp

Worked like a charme… after fixing some modelissues (adding null=True) and providing default values for some Decimals. Great!

Oh and if you have permission problems with your webserver directory in your VM managed by Vagrant, try adding following line in the Vagrantfile:
config.vm.synced_folder "./", "/vagrant", :owner=> 'vagrant', :group=> 'www-data', :mount_options => ['dmode=775', 'fmode=775']
This adds the directory to the group of the apache-users, so apache is allowed to write into those files. Here it is www-data-group but it may be different for your VM/Webserver combination.

Localization

Today I tried to use translated strings in my templates e.g. using following statement in one template
{% trans 'Willkommen auf meiner Homepage.' %}
you need to add
{% load i18n %} at the top of each template file and below any base-template statements.
using django-admin.py makemessages -l de --all
I tried to create localizationfiles for my app. But that did not really work because I needed to create locale-dirs first in my project.
And then I got the famous error:
CommandError: Error running xgettext. Note that Django internationalization requires GNU gettext 0.15 or newer.
which I fixed using the ubuntu SW installation manager by typing
sudo apt-get install gettext
and adding it to the bootstrap.sh for my VM.

Then after entering
django-admin.py makemessages -l de --all
which created a .po-file in my project
locale/de/LC_MESSAGES/django.po
Repeating the same procedure for english language revealed another folder for en. But…
that alone was not sufficient by far. You need to do a compile on the locale files before you even have a chance of seeing translation happen.
django-admin.py compilemessages and in my case
I also needed to add the LOCALE_PATHS to actually find my locale dir in the project, i have no clue why it does not find that automatically as advertised.

Authentication and sending mails

In the meantime I implemented registration/login/logout and user profile. Following my tutorials I just took django’s default implementation of how to reset passwords for user accounts. That’s when I hit the next wall. But that was really an easy one. If you want to send mails you need a mailserver. After some googeling i went with postfix for testing:
sudo apt-get install postfix
made this work, otherwise I saw an error which pointed me directly towards the problem. I need to remember this for deployment to actually install a maiserver which is stable and configure it in the settings.py according to this and this and during development maybe this.

Actually I would prefer to just setup the following settings:

EMAIL_HOST = 'localhost'
EMAIL_PORT = 1025

and then type
python -m smtpd -n -c DebuggingServer localhost:1025
this prints emails which are normally sent via any configured mailserver to the console to debug its content and headers. Very useful!!!

Other useful stuff I discovered during my voyage… (basically I just store all the open tabs on my browser here, because I need to reboot the machine for some hardware driver I need to install which needs a reboot of my mac.)

Wow, the new device driver fixed my issue with this gaming mouse. The default behaviour of the Cyborg R.A.T. 9 mouse is really pretty ugly. Have a look at this enormous proof of how MadCatz actually doesn’t even care about any Mac customer. Actually you should not buy anything from a company which behaves silly as this. It renders your mousepointer nearly useless. Since Cyborg did never provide any fix for the missing OS X driver and installing the old driver for OS X 10.6 renders completely crazy issues with the mouse… I went with USB Overdrive now. And wow it seems to fix the issues. I cannot manipulate the 3 different setups of the mouse, but I can pretty much freely configure any other button and all scrollwheels now. Great thanks to USB Overdrive! BTW: here is a great review of USB Overdrive.

Taking a REST

Today I started opening up my small website using some REST API. I started installing necessary stuff following instructions over here by typing:

sudo pip install djangorestframework
sudo pip install markdown
sudo pip install django-filter

Wow!!!! Blown away just another time! REST-API support in actually no time. Haha, how cool is that?

By working my way through the tutorial on how to JSONify stuff, I created my own apiviews.py (I did not want that API stuff in my regular views) and then I just setup the urls.py with som additional info. (meanwhile I found myself trying to close a browser tab by typing :q in the window, perhaps it is time for vimperator…). I used the python interactive shell to actually experiment with the stuff in the tutorial. Which is really perfect to get to know the details of how JSONParser and JSONRenderer actually work, i.e. using a stream created with StringIO.

So in the end this took me just one day to grab the concept of JSON-api-ifying my django app to get at least a stable READ-ONLY api. But now I will go on and work on the READ,CREATE,WRITE,DELETE stuff which will involve some validations of incoming JSON and objects created. We will see…

BTW: Meanwhile I just found another nice Video Tutorial on the Python/Django stuff. Looks also very clear in its explanations and also provides some much better input about the background of how django works. So definitely worth a try, though the guy smartly „skips“ (edited out of the video) several very delicate things (like installing the mySQL amd mysql-python, haha).

Update
To make my own experience on video-tutorials as comfortable as possible I just hacked myself a website for one of the tutorial series. It allows to insert any video-id from youtube and will allow free resizing of the video display. Also I preprogrammed the HackedExistence ID’s for you already. So convenience is just 1 click away.

To be continued…