Blog update v2.0

I remember a few years ago on here I would do ‘blog updates’, where I would change some stuff on my blog like the theme and design to make it more user friendly and modern.

This was a few years ago however, so I’m not going to dig up what version number I got up to back then. Today, I changed my blog’s theme and introduced a new logo for the blog. The blog looks more modern, more clear, and more user friendly so I consider this a major update for the blog.

Welcome to EpicChasGamer.com 2.0, I hope you enjoy reading my articles and navigating the site. I will also do more polls to collect viewers opinions on tech-related topics.

Happy 15th birthday to the iPhone

15 years ago today, at Apple’s Macworld conference, Steve Jobs announced and presented the original iPhone. Featuring a 3.5 inch screen and working with the 2G network, some tech outlets suggested that this phone was nothing more than a gimmick and would fail for various reasons. These predictions turned out to be wrong, and now the iPhone is one of the most popular brands of phones, with over one billion active users worldwide. Almost 1 in 7 individuals is an iPhone user.

Some of the articles predicting the failure of the iPhone.

The original iPhone went on sale in the United States on the 29th June 2007, and came to Europe in November.

15 years later, the iPhone has definitely changed a lot. The iPhone 3G was released a year later, with support for the 3G mobile network. The phone kept its 3.5 inch screen up until 2012, when the iPhone 5 came out. Touch ID was introduced along with 64-bit processing on the iPhone 5S a year after. The iPhone 6 offered two options for screen size, although it also suffered from bendgate. The iPhone 7 in 2016 ditched the headphone jack. On the iPhone X in 2017, most of the bezels on the screen were gone but a notch, which remains present on the latest iPhones, was there for the camera and Face ID sensor introduced that year.

Overall, the iPhone changed everything about phones. Without the iPhone, it is likely phones from other brands could have taken years to get to the phone designs we have today. Happy birthday to the iPhone 2G, and thank Apple for it.

Before I go, it’s worth noting that Apple almost made the iPhone with a clickwheel.

Credit: Engadget

Minecraft Pi Edition — How to use the Nether Reactor Core!

Before the release of the Nether in Minecraft Pocket Edition 0.12.0, another way existed to get a taste of the Nether experience: the Nether Reactor Core. Minecraft Pi Edition unfortunately never saw any updates past 0.1.1 based on Minecraft PE 0.6.1, meaning it did not get the full Nether. Minecraft Pi Edition is a very locked down version of Minecraft optimised for a single board computer which at the time had 512MB RAM and an ARMv6 chip. It is so locked down to the point where one cannot even fire a bow and arrow, mobs do not spawn, and worlds can only be created in creative mode.

While Minecraft Pi Edition includes all the blocks needed to build a Nether Reactor structure in the creative mode inventory, to activate the Nether Reactor Core the player must be in survival mode. Minecraft Pi Edition in the code itself includes limited survival mode functionality. In Minecraft Pi Edition, this includes nighttime and the ability to activate the NRC. So kind of like a creative/survival combination. This limited survival experience does not include health points, ability to use crafting tables/furnaces/chests and still allows access to unlimited item supplies.

Change gamemode

First of all, you’ll need a Hex Editor. GHex is one such editor. Just run sudo apt install ghex in the terminal to install it.

Secondly, open Minecraft Pi through your Raspberry Pi’s application menu and create a new world, then exit and close the game. Now open up a file manager and navigate to /home/<USER>/.minecraft/games/com.mojang/minecraftWorlds and then open the folder of the world you just created.

Now, right click on the level.dat file and click open with other application, then select GHex. Find the string “GameType” and click on the first dot following the string. In the Hex panel it should say you have selected 01. Overwrite it with 00.


Now press CTRL + S to save and close GHex.

Build the Nether Reactor structure

Now it’s time to build the structure. Launch up Minecraft Pi and load your world. You’ll notice it says survival instead of creative.

Despite this, you are actually still in creative mode with access to unlimited items and no health bar etc. Find a nice spot and build your structure. If you do not know how to build the structure, here are some pictures that demonstrate.






Once you’re done, get the iron sword in your hotbar and right click on the Nether Reactor Core. You should find yourself in a room full of Netherrack, and soon after Zombie Pigmen will spawn. They will act hostile towards you but won’t do any damage, but you can’t hit them back. After a minute or two, holes will appear in the room allowing you out, and it may have turned to night outside.

The Zombie Pigmen will act hostile to you but are unable to hurt you, but you are also unable to hit them.
The Netherrack building formed by the Nether Reactor Core. It becomes “nighttime” after you’ve activated the Nether Reactor Core but if the Pigmen wander outside the building, they will still burn.

I hope this post was helpful in unlocking the Nether Reactor experience in Minecraft Pi Edition. I will be doing more Minecraft Pi-related posts in the future.

How to install Windows 11 on unsupported hardware

Windows 11 has been released as a developer preview, and while it remains unstable there are many reasons you might want to try it, such as for development or just to get a feel of the operating system that could soon replace Windows 10. I do recommend against installing this if you expect stability, since there are many issues plaguing the new operating system. You can install it in a virtual machine using VirtualBox or VMWare if you really want to test it out.

However, Windows 11’s system requirements are pretty high. According to Microsoft, Windows 11 requires a 64-bit processor, dropping support for x86 32-bit processors supported in Windows 10. This shouldn’t be an issue if your PC was made in the last 10 years or so, since all 64-bit processors are supported so long as your processor is dual core and clocked at 1GHz. In practice, however, Windows 11 “requires” TPM 2.0 to install, which was released in late 2014 and not adopted by all PC manufacturers until around 2016. This means you could have bought a Surface Pro 4, once Microsoft’s flagship 2-in-1 convertible, in 2015, and now it’s suddenly incompatible with Windows 11.

Despite this, TPM 2.0 isn’t actually required to run Windows 11. The requirement can be bypassed. This means you can get Windows 11 on your old computer so long as it meets all those other requirements, and not have to worry about needing to upgrade your computer by 2025 when Microsoft cuts off all security updates to Windows 10, leaving it open to security risks. Or of course, you could have just installed Linux in this scenario giving your computer an extra 10 or so years of support. It’s easier than you may think.

To do this, you’ll need to obtain two ISO installer images. The first one is Windows 11, which is still in development. You can obtain this by using a UUP (Unified Update Platform) dumping script, which fetches Windows update files from Microsoft’s servers and then combines it into an ISO file you can then flash to a USB and boot your computer from. The second one is Windows 10, which you can download by using Microsoft’s Media Creation Tool.

You then need to flash the Windows 11 ISO to your USB stick. You should first format the USB drive by right clicking on it in Explorer and clicking format. Then double click on your Windows 11 ISO and it should mount as a virtual drive. Now click on it, press CTRL + A to select all files followed by CTRL + C to copy, then click on your USB and press CTRL + V to paste. Go back to Downloads or wherever you saved the Windows 10 ISO, and double click to mount it. Go to sources in the Windows 10 ISO mounted and copy one file called appraiserres.dll, then go to your USB drive and open the sources folder and copy it. You will be prompted if you want to overwrite, just click yes.

You are now done. You can now boot your PC up from USB and install Windows 11 without any issues. This will probably work fine on the stable build when it is released too. I have tested it in a VirtualBox VM which for some reason was refusing to install Windows 11 because it “wasn’t compatible” and it installed and booted fine. This will work on native hardware too, but unless you are prepared for bugs I recommend sticking to a virtual machine or second PC for now for Windows 11.

Buying old iPhones off of eBay — How to get old iOS versions 

There are many reasons why you may want to buy an older, second-hand iOS device on eBay. You may be collecting phones, you may want to experiment with older software, or you may even just want a backup phone in case your daily driver is stolen, broken, or you otherwise cannot use it. 

For legacy iOS collectors, especially those wanting snappy performance on their old phone, the iOS version the device is running may be important. You may want an iPhone 5 on iOS 6, or an iPhone 6 on iOS 9. Some sellers like to charge more if the device is running an old iOS version, especially something like its original version. Sometimes, you won’t get told what version it is running, but in other cases, even if you aren’t directly told “This is an iPhone 6S on iOS 10.2” or “This iPad Mini 2 is still on iOS 8.3!”, you can easily tell.

How to tell what version the device is running — the “Hello” screen

When you first power on an iPhone that has been factory reset, you will likely see a white screen with the word “Hello” in different languages. This screen can help you tell what iOS version a device is. If the seller has put pictures of THE iPhone (not just A iPhone, but THE iPhone they are selling) on the Hello screen, you can easily tell what era of iOS it is running, even if not the exact version.

The “Hello” screen on iOS 6 and earlier

If you’re looking for a device running iOS 6 — the last “retro” version of iOS with the old icons and theme before iOS 7 came and introduced flat icons — then THIS is the setup screen you want to be seeing. iOS 6 is available on the iPhone 3GS, iPhone 4, iPhone 4S, and iPhone 5 (not 5C), along with the 1st generation iPad Mini, 2nd, 3rd, and 4th generation iPads, and both the 4th and 5th generation iPod Touch. The setup screen also looks similar on iOS 5 and iOS 4, although versions before iOS 4 require you plug the phone into iTunes to set it up.

The “Hello” screen on iOS 7-9

iOS 7 changed a lot of things on iOS, including a completely new theme with icons and redesigned apps. While this was good for the latest at the time iPhone 5S and the iPhone 5, along with the new iPad Air and 2nd generation iPad Mini, it did cause some problems for iPhone 4 and 4S users. The Hello screen remained pretty much the same through iOS 8 and 9, so you won’t exactly be able to tell what version of iOS it is on unless you ask the seller. 

The “Hello” screen on iOS 10


iOS 10 dropped support for the A5 chip found in the iPhone 4S, iPad 2, iPad Mini 1, and iPod Touch 5th generation, leaving the iPhone 5 as the minimum iPhone to run iOS 10. Everybody knew the iPhone 5 would not get iOS 11 — iOS 10 had warned users 32-bit support would be dropped in the next update. You can tell the iOS 10 “Hello” screen apart from the iOS 11+ screen, as the “Hello” is not bold in iOS 10. The difference to the iOS 7-9 screen is that the iOS 10 screen asked users to press home to open, rather than “slide to setup”.

The “Hello” screen on iOS 11 and newer

Depending on your device model, the “Hello” screen will either say “Swipe up to open” or “Press home to open”, depending on whether your device has a home button or not. The “Hello” is in bold text in iOS 11 and later, distinguishing it from the iOS 10 screen.

Other ways to tell the iOS version

Sometimes you can easily tell the iOS version the device is running — for example, if the seller has posted pictures of the home screen, it can be pretty obvious if the device is running iOS 5, for example, as you can see the iOS 5 YouTube app and the iOS 5 theme. Sometimes, the seller may have posted a picture of the “About” section in the phne settings, where you can see what iOS version it is running. If you’re in doubt about the iOS version, it’s best to just ask the seller about it. Remember, even if you can’t find any of the device you want running an old iOS version, you can downgrade certain devices, such as the 4S to iOS 6 or the 5S to iOS 10.

I do hope this guide helped you find the device you wanted running an older iOS version. What legacy devices do you have? Make sure to comment them below.

iPad 4 in 2021 – Still a good tablet?

The iPad 4 was released alongside the iPhone 5 in 2012, featuring the same Apple A6 processor. It was the last iPad to feature a 32-bit processor, as all future iPads came with at least a 64-bit A7 or later. The iPad 4 received updates from iOS 6 all the way to iOS 10.3.3. Apple ditched support for this device at iOS 11, the first 64-bit only version of iOS, but iOS 10.3.3 still proves to be quite a worthy OS even for 2021. It was iOS 10, after all, that replaced the “swipe to unlock” lockscreen with one where you press the home button. It was also iOS 10 that introduced a new control centre, customisable widgets, and Siri third-party integration. But now we’re on iOS 14, and many apps are starting to turn away from iOS 10 to take advantage of the SDK features later iOS versions bring. So, is the iPad 4 on iOS 10 in 2021 still a good tablet?

Continue reading “iPad 4 in 2021 – Still a good tablet?”

How to restore Lenovo devices on stock firmware on Linux

Ever since various custom ROMs began being released for the Lenovo Tab 4 8 Plus, I have rarely gone back to stock. However, after a ROM installation went wrong, I had to. I tried using the Lenovo Rescue and Smart Assistant (LMSA) but for some reason it failed to restore and did not detect a device. I could not get out of Emergency Download Mode. I feared the worst for my Lenovo Tablet, first released in 2017.

However, a month later, I found a solution in the name of QDL (Qualcomm Download). This works on all Qualcomm Lenovo devices. It runs on Linux, and you must build from source. With it, I successfully restored my Lenovo Tab 4 8 Plus back to stock firmware, allowing me to reinstall an Android 10 custom ROM on it which worked fine.

You must be running Linux and have a copy of your tablet’s firmware. I got my firmware by downloading using the LMSA and then copying it over to my Linux partition. I’m running Ubuntu, but any modern Linux OS should work fine.

Change directory (cd) to the folder your firmware is at. In my case, that is:

Now we have to build QDL. Do so by running the following:

git clone https://git.linaro.org/landing-teams/working/qualcomm/qdl.git
cd qdl
cd ..

Now you must find the mbn file. Go into the folder of the firmware and find a file along the lines of prog_emmc_ddr.mbn. In my case it was prog_emmc_firehose_8953_ddr.mbn. Make a note of that file, it is very important.

Make sure your device is in QDL mode. Run lsusb, if you see something along the lines of “Qualcomm, Inc. Gobi Wireless Modem (QDL mode)” then you’re good. If you don’t, make sure your device is unplugged, powered off, and then press the volume up button and connect to PC at the same time. Then run lsusb again and a QDL device should show.

Now run:

qdl/qdl --debug --include 'PATHTOFIRMWARE' 'PATHTOFIRMWARE/device.mbn' 'PATHTOFIRMWARE/rawprogram_upgrade.xml' 'PATHTOFIRMWARE/patch0.xml'

Your device should now restore. It may take a few minutes. Once your device has finished it will boot up. Your device should now be recovered. Enjoy!

Happy New Year!

2020 has been a different sort of year. Because of the COVID pandemic, many tech events were cancelled or postponed. Hopefully, 2021 will be better. Many things are expected in 2021 including the Galaxy S21, OnePlus 9, and iPhone 13, as well as new operating systems such as Android 12 and iOS 15. I hope to blog here more with new great posts in 2021. Happy New Year!

Python tutorials – Basic validation

Hello again everybody, I am sorry that I have not posted in the last couple of weeks. It’s December now, and Christmas time is approaching. In the meantime, here is a new Python tutorial about validation.

What is validation? It’s a way of checking whether something is a certain value or not, and executing code depending on the result. Code uses validation all the time. If you are signing up for an email address, it may ask you for your phone number, for example. If you type in an invalid phone number (for example, if you put a letter in the number) then it will refuse to continue until you’ve corrected this mistake.

For this tutorial, I will be using a very basic example. The program will ask the user to enter in a lowercase letter. Once the user has done so, the program will check if the character is in a list of specified lowercase letters. If it is, the program will say that the input is valid, and exit. If it isn’t, the program will declare the input not valid, and ask the user to try again.

Here is the code:

validchars = "abcdefghijklmnopqrstuvwxyz"

valid = False

while valid == False:

letter = input("Enter a lowercase letter: ")

if letter in validchars:

print("That is a valid character.")

valid = True


print("Sorry, that's invalid.")

Let’s take a look at the code. The first line creates a variable called validchars, consisting of all the valid characters that can be used. The second line creates a boolean variable called valid, and sets it to False.

The third line, while valid == False: declares that as long as valid is equal to False, the following code will run. The next line asks for the user to type in a lowercase character and stores it in variable letter.

The fifth line, if letter in validchars:, checks if the user-inputted letter variable is in the string validchars. The next two lines of code will be executed if this is the case. The next lines print out telling the user it is valid, and then set valid to True. If this code is executed, the program will end as the while loop will no longer work with valid as something other than False.

The final lines will be executed if letter isn’t in validchars. It tells the user the character is invalid, and does not update valid to True. As a result, the program will repeat again until letter is found to be in validchars, and then the program will exit.

I hope this tutorial helped you in some way. This is only the basics, and there are many more things you can do with validation that I may cover in a future tutorial. Goodbye! 🙂

Python tutorial – While loops basics

In Python, while loops allow you to repeat things forever, or up until a certain point. Here’s an example:

keep_going = True
while (keep_going == True):
print("Hello world!")

This will print “Hello world!” indefinitely. The keep_going value is set to True, and the while loop checks continuously check that the keep_going value is equal to True. As long as it is, it will keep repeating.

Let’s try modifying the code so that it only repeats 9 times. Let’s try:

count = 1
while (count < 9):
print("Hello world!")
count = count + 1

The count value is set at 1 at the start. The while loop checks if count is less than 9, which it is. It then prints “Hello world!” and adds 1 to count. It keeps repeating, until Python reaches the while loop and realised count is no longer less than 9, so it skips and exits.

Now, let’s try adding user input into the code. An example is a counting program. Python asks the user what they want to count to, they enter it, and Python counts to it.

count_to = int(input("Count to: "))
count_to = count_to + 1
count = 1
while (count < count_to):
count = count + 1

This program asks the user what they want to count to, then it adds 1 to it as it will count up to a number 1 less than it, which will be the original number the user entered. This is stored in count_to. It then sets count to 1, and then the while loop checks if count is less than count_to, and prints out count and adds one. It should count up all the way to the number specified in count_to, and then stop once it reaches the number.

You can experiment further with while loops, these are just the basics and while loops can be found in all sorts of Python programs. Enjoy!