s2Member links

Old community forum
https://www.s2member.com/forums/forum/community/page/1/index.html
Special replacement codes
https://www.s2member.com/forums/topic/special-replacement-codes/index.html
Use a site page for PayPal auto return
https://www.s2member.com/forums/topic/use-a-site-page-for-paypal-auto-return-page/index.html
https://www.s2member.com/forums/topic/s2-login-widget-redirects-to-wp-login-php/index.html

WordPress Plugin forum
Max Simultaneous Logins, Prevent spam registrations

WP-Sharks forum
How can i hide part of the post?
https://forums.wpsharks.com/t/how-can-i-hide-part-of-the-post/2980

Tutorials
Configuring s2Member Restriction Options
https://s2member.com/kb-article/configuring-s2member-restriction-options/
Configuring custom return URLs upon success
https://s2member.com/kb-article/configuring-custom-return-urls-thank-you-pages-upon-success/
[s2Member-List /] Shortcode Documentation
https://s2member.com/kb-article/s2member-list-shortcode-documentation/

Github s2member-kb
https://github.com/websharks/s2member-kb/blob/master/tutorials/2015/143-creating-a-registration-thank-you-page.md

Amiga emulation

Raspberry Pi

Raspberry Pi Amiga Emulation Part 1 Part 2
Amibian home
Google search for 'amibian'
Google search for 'pimiga'
Google search for 'retropie'
Google search for 'amiberry'

Ami-Hybrid
How to create an AmiHybrid Pi4 setup for free – ish
Amiberry
host-run

Vampire

Apollo Accelerator’s Home
Apollo Core 68080
A look at the Vampire V4 Stand-Alone FPGA, first impressions
Coffin R57
Exploring Coffin OS (Vampire) with WinUAE – pt 1
Exploring the Coffin OS with WinUAE – pt 2

MiST, MiniMig

https://github.com/search?p=1&q=minimig&type=Repositories&utf8=%E2%9C%93
https://github.com/mist-devel/mist-binaries
https://github.com/mist-devel/mist-binaries/tree/master/cores/minimig-aga
https://github.com/mist-devel/mist-board
https://github.com/MiSTer-devel/C64_MiSTer
MiST AGA+RTG core

Amibian

https://gunkrist79.wixsite.com/amibian

Amiga Forever

https://www.amigaforever.com/tutorials/migration/
https://www.amigaforever.com/kb/15-113
https://www.amigaforever.com/kb/13-118
https://www.amigaforever.com/kb/13-167

The Company – Amiga games and demos as executables for windows

FS-UAE / Amilator

FS-UAE
Google search for 'fs-uae'
Amilator (Was: FS-UAE Standalone like Amithlon)
FS-UAE standalone USB
Amilator v 4.12-3
http://eab.abime.net/showthread.php?t=91638
http://forum.amiga.org/index.php?topic=72825.0
Current release, built on Debian 9.4 live
Amilator downloads
Debian 9.4
http://cdimage.debian.org/mirror/cdimage/archive/9.4.0/i386/iso-cd/
http://cdimage.debian.org/mirror/cdimage/archive/9.4.0-live/i386/iso-hybrid/
https://willhaley.com/blog/custom-debian-live-environment/
https://wiki.debian.org/Xorg

Picasso IV ROM

https://forum.amiga.org/index.php?topic=68036.0
http://www.sophisticated-development.de/software/index.php?thisfile=.&section=

LibreELEC

LibreELEC
LibreELEC downloads

WinUAE

Building a virtual Amiga for retrogaming in WinUAE
Installing AmigaOS 3.1.4 on CF card through WinUAE
How to load kickstart rom 3.1.4 into memory?

AROS

AROS Nightly builds downloads
AEROS 4.3 for raspberry Pi available as free download
Icaros Desktop
Aros-One x86

Build an Aros based Amiga computer from scrap parts



PC Booting AROS and AmigaOS 3.1

Emulating other systems on the Amiga

PC-emulation
PC-Task and PCx

Mac / Apple emulation
Shapeshifter, Fusion and Emplant

Emulation on the Amiga

QNAP

Retaining mounted USB-disk locations on QNAP reboot
https://forum.qnap.com/viewtopic.php?f=25&p=636810#p636810

raid 5 failed after disk swap
https://forum.qnap.com/viewtopic.php?f=25&t=135753

Drive failure while rebuilding
https://forum.qnap.com/viewtopic.php?f=25&t=122300

Changing shell prompt and title of PuTTY
.profile
export PS1=”\[\e]2;\u@\H:\w\a\[\e[32;1m\][\W #] \[\e[0m\]”

My posts:
https://forum.qnap.com/search.php?author_id=190665&sr=posts

PHP

How to Convert MySQL to MySQLi PHP Code to Upgrade to PHP7 Doing the PHP MySQL MySQLi Migration

https://www.phpclasses.org/blog/package/9199/post/3-Smoothly-Migrate-your-PHP-Code-using-the-Old-MySQL-extension-to-MySQLi.html

This is my (very rough) method, search and replace in all .php and .inc files using Perl. To re-use my code, you HAVE to make modifications and take a backup of every .php and .inc file in case somwthing goes wrong.

I converted one project at a time, these commands were used for my Amiga user’s database, so some commands will reflect specific changes/searches I did in the code to find lines to change, I also did some mistakes and corrected those. Read the commands before you try these on your code:

find . -type f -name '*.php' -exec grep -l mysql_numrows {} \;
find . -type f -name '*.php' -exec perl -pi -e 's|mysql_numrows|mysqli_num_rows|g' {} \;
find . -type f -name '*.php' -exec perl -pi -e 's|mysql_num_rows|mysqli_num_rows|g' {} \;

find . -type f -name '*.php' -exec perl -pi -e 's|mysql_selectdb|mysqli_select_db|g' {} \;
find . -type f -name '*.php' -exec perl -pi -e 's|mysql_select_db|mysqli_select_db|g' {} \;
find . -type f -name '*.php' -exec grep mysqli_select_db {} \;
#
# Change to match your database name and the MySQL connection link (db name and calling parameters found above)
# Using mysql_select_db, the MySQL link identifier was optional, and sent as the second parameter
#  with mysqli_select_db it is required as a first parameter
#
find . -type f -name '*.php' -exec grep 'db("minimig_reg",\$link' {} \;
find . -type f -name '*.php' -exec grep 'db("minimig_reg")' {} \;
find . -type f -name '*.php' -exec perl -pi -e 's|db\("minimig_reg",\$link|db\(\$link,"minimig_reg"|g' {} \;
find . -type f -name '*.php' -exec perl -pi -e 's|db\("minimig_reg"\)|db\(\$link,"minimig_reg"\)|g' {} \;

#
# mysqli_connect returns the link identifier and also requires the database name as the fourth parameter, add it manually after this replacement
#
find . -type f -name '*.php' -exec grep mysql_connect {} \; 
find . -type f -name '*.php' -exec perl -pi -e 's|mysql_connect|mysqli_connect|g' {} \;  

find . -type f -name '*.php' -exec grep mysql_error {} \;    
find . -type f -name '*.php' -exec perl -pi -e 's|mysql_error()|mysqli_error(\$link)|g' {} \;
find . -type f -name '*.php' -exec perl -pi -e 's|mysqli_error\(\$link\)\(\)|mysqli_error\(\$link\)|g' {} \;

find . -type f -name '*.php' -exec grep mysql_insert {} \;
find . -type f -name '*.php' -exec perl -pi -e 's|mysql_insert_id\(\)|mysqli_insert_id\(\$link\)|g' {} \;

find . -type f -name '*.php' -exec grep mysql_query {} \;  
find . -type f -name '*.php' -exec perl -pi -e 's|mysql_query\(|mysqli_query\(\$link,|g' {} \;

find . -type f -name '*.php' -exec perl -pi -e 's|mysql_fetch_assoc|mysqli_fetch_assoc|g' {} \;

find . -type f -name '*.php' -exec grep mysql_fetch_array {} \;
find . -type f -name '*.php' -exec perl -pi -e 's|mysql_fetch_array\(\$result\)|mysqli_fetch_array\(\$result,MYSQLI_BOTH\)|g' {} \;
find . -type f -name '*.php' -exec perl -pi -e 's|mysql_fetch_array\(\$result_migs\)|mysqli_fetch_array\(\$result_migs,MYSQLI_BOTH\)|g' {} \;
find . -type f -name '*.php' -exec perl -pi -e 's|mysql_fetch_array\(\$result_info\)|mysqli_fetch_array\(\$result_info,MYSQLI_BOTH\)|g' {} \;

find . -type f -name '*.php' -exec grep mysql_real_escape_string {} \;
find . -type f -name '*.php' -exec perl -pi -e 's|mysql_real_escape_string\(|mysqli_real_escape_string\(\$link,|g' {} \;

find . -type f -name '*.php' -exec grep mysql_affected_rows {} \;
find . -type f -name '*.php' -exec perl -pi -e 's|mysql_affected_rows\(\)|mysqli_affected_rows\(\$link\)|g' {} \;

The include files (mostly the same command lines):

find . -type f -name '*.inc' -exec grep -l mysql_numrows {} \;
find . -type f -name '*.inc' -exec perl -pi -e 's|mysql_numrows|mysqli_num_rows|g' {} \;
find . -type f -name '*.inc' -exec perl -pi -e 's|mysql_num_rows|mysqli_num_rows|g' {} \;

find . -type f -name '*.inc' -exec perl -pi -e 's|mysql_selectdb|mysqli_select_db|g' {} \;
find . -type f -name '*.inc' -exec grep '"minimig_reg",\$link' {} \;   
find . -type f -name '*.inc' -exec perl -pi -e 's|"minimig_reg",\$link|\$link,"minimig_reg"|g' {} \;

find . -type f -name '*.inc' -exec grep mysql_connect {} \; 
find . -type f -name '*.inc' -exec perl -pi -e 's|mysql_connect|mysqli_connect|g' {} \;  

find . -type f -name '*.inc' -exec grep mysql_error {} \;    
find . -type f -name '*.inc' -exec perl -pi -e 's|mysql_error\(\)|mysqli_error\(\$link\)|g' {} \;

find . -type f -name '*.inc' -exec grep mysql_insert {} \;  
find . -type f -name '*.inc' -exec perl -pi -e 's|mysql_insert_id\(\)|mysqli_insert_id\(\$link\)|g' {} \;

find . -type f -name '*.inc' -exec grep mysql_query {} \;  
find . -type f -name '*.inc' -exec perl -pi -e 's|mysql_query\(|mysqli_query\(\$link,|g' {} \;

find . -type f -name '*.inc' -exec perl -pi -e 's|mysql_fetch_assoc|mysqli_fetch_assoc|g' {} \;

find . -type f -name '*.inc' -exec grep mysql_fetch_array {} \;  
find . -type f -name '*.inc' -exec perl -pi -e 's|mysql_fetch_array\(\$result\)|mysqli_fetch_array\(\$result,MYSQLI_BOTH\)|g' {} \;
find . -type f -name '*.inc' -exec perl -pi -e 's|mysql_fetch_array\(\$result_migs\)|mysqli_fetch_array\(\$result_migs,MYSQLI_BOTH\)|g' {} \;
find . -type f -name '*.inc' -exec perl -pi -e 's|mysql_fetch_array\(\$result_info\)|mysqli_fetch_array\(\$result_info,MYSQLI_BOTH\)|g' {} \;

find . -type f -name '*.inc' -exec grep mysql_real_escape_string {} \;
find . -type f -name '*.inc' -exec perl -pi -e 's|mysql_real_escape_string\(|mysqli_real_escape_string\(\$link,|g' {} \;

find . -type f -name '*.inc' -exec grep mysql_affected_rows {} \;
find . -type f -name '*.inc' -exec perl -pi -e 's|mysql_affected_rows\(\)|mysqli_affected_rows\(\$link\)|g' {} \;
find . -type f -name '*.inc' -exec perl -pi -e 's|mysql_result|mysqli_result|g' {} \;

find . -type f -name '*.inc' -exec grep split {} \;
find . -type f -name '*.inc' -exec perl -pi -e 's|split\(|explode\(|g' {} \;
find . -type f -name '*.php' -exec grep split {} \;

Missing function mysqli_result (to replace mysql_result)

function mysqli_result($res,$row=0,$col=0){
    $numrows = mysqli_num_rows($res);
    if ($numrows && $row <= ($numrows-1) && $row >=0){
        mysqli_data_seek($res,$row);
        $resrow = (is_numeric($col)) ? mysqli_fetch_row($res) : mysqli_fetch_assoc($res);
        if (isset($resrow[$col])){
            return $resrow[$col];
        }
    }
    return false;
}

Amiga repairs and hardware hacks

Recapping the Amiga

Badcaps.net
Recapping the Amiga (John Hertell)
Who does your recapping? (AmigaWorld.net)
Amiga capacitor list
Commodore Amiga Recap Maps & Capacitor lists (tsb.space)

Amiga memory expansions, repairs and hardware mods

Amiga RAM Expansion A501 RTC Battery Replacement (Read desription first!)


Google search for 'amiga+500+1Mb+on+motherboard'
A500 rev6a chipRAM mods (1MB on motherboard)

Amiga CD32 – Trash to Treasure (RetroManCave)



GadgetUK

Commodore Amiga CD32 Pickup – Repair Part 1 (Not Reading Discs, Disc Not Spinning)

Solder Tutorial (Keith Noneya)

Amiga 500 With Battery Corroded RAM Card, how to replace corroded copper









Amiga floppy repairs

Amiga floppy repair (YouTube search)
Amiga 500 Plus – Trasig diskettstation?

Other links

Reusing the Amiga 2000 case for an Amiga 1200
Amiga 500 rev 3 teardown

Buffalo LS220 – BAMP – Buffalo Apache MySQL PHP

Apache (med PHP-stöd) och MySQL på Buffalo (LS220)

Fullt möjligt, men inte så snabbt.
Jag har på en av mina Buffalos även testat köra WordPress på LS220n, funkar fram till 5.1.1 med förinstallerad version av PHP. Från version 5.2 krävs PHP version 5.6 (jag kommer undersöka om det går att uppdatera php-cgi på Buffalon)

En förutsättning för att få det att fungera är att den är patchad för att tillåta root-inloggning via SSH:
Buffalo LS220 – root access och andra modifieringar

Nästa steg är att få igång en egen virtualhost på den förinstallerade (och tok-felkonfigurerade) Apache 2.2.14 som finns där:
Buffalo LS220 – apache web server
Apache får sitt PHP-stöd genom php-cgi, PHP versionen som är tillgänglig är 5.3.23

Sedan MySQL:
Buffalo LS220 – MySQL server

Övrig Buffalo information

Buffalo forum

Firmware uppdatering

Nyaste firmwaren finns här. Version 1.70 kom i slutet på januari 2018. I början på december 2019 varnade mina LS220s att det finns en ny firmware. 1.73 hade släppts, och timestamp på innehållet i arkivet är 2019-11-19. Mina NASar (och NASNavigator) har slutat att indikera att det finns ny firmware att installera, och jag kör 2020-01-01 fortfarande på 1.70.

Senaste firmware för LS220
Installationen är enkel. Ladda ner senaste versionen, packa upp och starta LSUpdater.exe
Programmet hittar själv de Buffalosar på ditt nät som behöver uppdateras.
Var beredd på att innehåll i /root kommer gå förlorat, likaså allt som är modifierat i filer som följer med systemet (många av modifieringarna nedan).

TFTP-återställning av LS220D

Ifall något går helt snett, eller om båda diskarna byts. Med tanke på hur kasst BuffaloOS är, så kanske det inte ens går byta en disk utan att återställa den.
Completely revocering from a bricked Buffalo Linkstation LS200

Källor

Den flersidiga tråden med de av andras och mina inlägg är källan till alla mina Buffalo-artiklar
Hacka Buffalo Linkstation LS220D (LS200, LS400)