Extracting directories with ExtractToFile

The solution ended up ended up being far more simple than I had initially thought but as I couldn’t find it anywhere so I thought I’d post it for people to find.

This solution concerns System.IO.Compression , ZipFileExtensions.ExtractToFile Method and zipArchiveEntry.ExtractToFile(extractDirectory). It was built in .NET 4.5

        If File.Exists(".\" & main.currenttab_metadata(4) & "\update.zip") Then
            Dim zipfilepath As String = ".\" & main.currenttab_metadata(4) & "\update.zip"
            Dim extractto As String = ".\" & main.currenttab_metadata(4)
            Using zipfile3 = ZipFile.OpenRead(zipfilepath)
                For Each entry As ZipArchiveEntry In zipfile3.Entries
                    If Not entry.FullName.Contains(".") Then
                        Directory.CreateDirectory(Path.Combine(extractto, entry.FullName))
                    Else
                        entry.ExtractToFile(Path.Combine(extractto, entry.FullName), True)
                    End If
                Next
            End Using
        End If

The following code is used to create directories before extracting to them.

If Not entry.FullName.Contains(".") Then
                        Directory.CreateDirectory(Path.Combine(extractto, entry.FullName))

This is because unlike ZipFileExtensions.ExtractToDirectory, which implicitly extracts directories and then the files therein, ExtractToFile can only extract files, and directories will throw a Could not find a part of the path error or error suggesting the syntax of the path is broken, both of which are misleading errors and send me around in circles for the best part of an hour. However, ExtractToFiles has the ability to overwrite files, which makes it more suitable for certain use cases.

Once the directory is created with my code, files will be extracting to them as described in the archive.

No, your iPad isn’t broken.

I’d just gotten a new iPad Air 3, (the third one actually after I had some issues with the first two). And whilst at first all I could to is marvel at the speed and power it had over my older iPad Mini 4, something was wrong.

I could hear a distinct rattle from the rear camera, especially when you tapped the back near it. This wasn’t new, I heard it on my previous iPad Air 3 but thought this was a defect of some sort but here I was with the same issue, afraid that I had 3 duds in a row, and awful luck.

It seemed incredibly unlikely and so I checked my other iDevices, A 6th generation iPod Touch, an iPad Mini 4, and an iPad Mini 1. They all had the same ‘issue’. At this point I wasn’t sure it was an issue at all, however I still had doubt. Before this point as I was aware of the rattle in my previous replacement, as soon as I received my newest replacement (let’s name each subsequent iPad Air replacement as 1st, 2nd and 3rd iPad Airs, not to be confused with the generation as they are all third generation.) which is the one I owned now, I tested it for rattle, and I could’ve sworn I remembered that it did, which would suggest that it was not a defect, but I also remembered testing it a few hours later at which point it did not rattle.

I did not feel I could trust my memory at this point as either of those memories could be faulty. I went to the Apple store and checked their display iPads as well as the display iPads at a premium reseller. Both also exhibited the same rattle sound.

At this point all evidence aside from one pointed to the camera rattle not being a defect. I even called my friend and asked him to perform the same test on his iPhone 5C, which showed the same rattling defect.

I then called Apple support, just to confirm it wasn’t an issue and to my surprise they said that this was an uncommon issue and that neither the senior advisory team or the representative personally had heard of this issue.

This meant that I had the following information, with all but two pieces of evidence suggesting that it was just the design of the iPad:

  • All my other iDevices made this rattling sound from their camera.
  • My friends iPhone made the same sound.
  • The display iPads made the same sound.
  • The 2nd iPad air made the same sound (I cannot remember if the first did.)
  • I seem to remember it making the sound immediately after unboxing.

The two pieces of evidence that suggested a defect are as follows.

  • Apple support has not heard of such an issue and thinks it should be checked over.
  • I absolutely remember it being silent after the first test but before the third test.

In my opinion there are two ways to reconcile this discrepancy.

In the case that the iPad was defective, the evidence had to be interpreted in the following manner:

All my other iDevices had at some time been dropped, and the camera rattle may be a result of physical damage, as well as my friend’s iPhone being damaged. The display iPads would have been played around with as people do in an Apple store and thus also been damaged. The second iPad must have been defective in the same manner, and my memory of it making a sound after unboxing is a false memory.

However, if this was just part of the design then the evidence that suggested it was a defect could be interpreted as follows:

Apple support misinterpreted my issue over phone and chat as I couldn’t demonstrate it for them and I did not tap the camera are hard enough during the second test. (I remember thinking to myself I didn’t want to keep tapping it incase it damaged something).

It is far more likely for the second version of events to be correct, but the false memory was still giving me doubt, and although unreasonable I still thought that the second version of events was possible.

I decided to do some research and googled camera rattling on iPad and to my frustration only results on the iPhone and other phones appeared, nothing for iPad. The prevailing idea was that the rattling was normal, and that it was the OIS (Optical Image Stabilisation) that was making the noise. This made sense to me, as I thought the iPad and iPhone would have similar cameras.

To confirm, I did some more research and what was interesting was that the iPad Mini 4 and iPad Air 3 had identical sensors, and that the iPod Touch and iPhone 5C had a very similar if not identical 8MP sensor too. These all had the rattle. Maybe it was a quirk of the sensor or this sensor was more susceptible to damage?

Sensors of each iDevice:

  • iPhone 5C: 8 MP Sony Exmor R IMX145, 5 element lens with Image Stabilisation.
  • iPod Touch 6th generation: 8 MP back-side illuminated sensor iSight camera, 5 element lens with Image Stabilisation.
  • iPad Mini 4: 8.0 MP AF Sony Exmor RS IMX134, iSight, 5 Element Lens with Video stabilisation.
  • iPad Air 3: 8 MP, ƒ/2.4 aperture, five-element lens with Video stabilization.
  • iPad Mini 1: 5MP Rear camera.

Sources:

https://en.wikipedia.org/wiki/IPad_Air_(2019)

https://en.wikipedia.org/wiki/IPod_Touch_(6th_generation)

https://en.wikipedia.org/wiki/IPad_Mini_4

https://en.wikipedia.org/wiki/IPhone_5C

Notice how none of these contain Optical Image stabilisation that posts such as this suggested was the origin of the sound. The only iPads which have OIS are the iPad Pro 10.5 inch and earlier generations of the 12.9 inch. None of the new Face-ID equipped models or my iPad Air 3. So it can’t be that. Any further searching of this camera sound resulted in ASMR videos and nothing of use.

Finally I did some more testing after reading that the rattling would stop when autofocus was engaged but I was surprised to learn that it is infact the opposite. The sound gets even louder when the camera was open. I finally understood what was happening enough to determine this was not a defect.

Why and how does this noise occur?

From my understanding, whilst the camera is not in use, the sensor or lens or shutter is locked in place, and it hard to move, although it is still movable. However, when the camera is used the lens is freely floating. I don’t believe this is due to the OIS (this argument is used to explain the sound with regards to OIS) but due to what I can only assume to be the autofocus. I reproduced this sound this way on both my Mini 4 and Air 3.

As I could make the sound go louder and quieter, I thought that this new information most easily fits with the evidence that suggests it is not a defect and the sound reduced in volume once the camera app was closed.

Therefore, if you have this issue on your iPad, no, your iPad isn’t broken.

Emuloader 0.5.3 Release

It’s taken about a month for me to reach this stage but Emuloader is now essentially feature complete and ready for release by more people. This post was still called ‘0.5.0’ but I found [update: happened thrice] a bug before I posted.

https://github.com/ParthK117/Emuloader/

Some lessons were learned:

  • Don’t post a release before bugtesting.
  • Bugtest everything.
  • Don’t cave in to demand and don’t rush a release.
  • Keep local backups if you don’t know how to use git.

Emuloader is essentially Steam for roms, allowing easy sorting of any online backups and one click installations of emulators, with no other input from the user. It also allows the isolation of different environments so it’s easier to troubleshoot any potential issues.

As users have to import their own sources there’s nothing to DMCA as the software is legal and should only be used with backups you have legally dumped yourself, I do not condone using this software to aid in piracy in any way. You can also import your own backups for easy sorting by Emuloader.

EzMiner 1.1.0 Tungsten Release and Download

Hello everyone!
More updates, more bugfixes and more features.

For the newcomers:

This is a super easy to use multi-coin miner front end that is better than individual miners in that it allows you to mine from a variety of different pools and custom pools, as well as allowing for more configurations.

It is also better than a command-line only miner or pre-configured miner in that it has automatic error correction, directly reports pool fees and payouts within the miner window, and does not force you to use a specific miner or pool.

To use it, just start ‘EzMiner.exe’ from your zip folder, extract it all, enter your address and start mining!

Also it has come to my attention that an EzMiner already exists, I’ll be changing the name soon.

THIS UPDATE BREAKS EXISTING CONFIGURATIONS REMOVE AUTO.MCF & DO NOT USE OLD .MCF FILES

Changelog from 1.1.0:

  • *Added default option to fetch prices server-side.
    *Added support for allium algo.
    *Added support for garlicoin mining.
    *Bugfixes
    Fixed updater again
    *MOTD is now dynamic and downloaded from the website instead of static for each version
    *Increased number of widgets from 4 to 6
    *Selected coin is now indicated programmatically, coin icons have to only be drawn once at startup rather than each time when clicked.
    *Miner output now also indicates when GUI functions change.
    *Themed coins

More feature updates will follow soon!
Thank you.

Please report any issues you may have on github or on this google forms. [Link removed]

If you are a pool owner please apply to have your pool listed in the miner here. [Link removed]

Here is the changelog from 0.2.1 of the original EzMiner (But to be honest this one is basically built from the ground up and doesn’t share anything besides the name with 0.2.1) to this version.

  1. Brand new GUI
  2. Automatic scraping through ez_ticker for the value of cryptocurrencies (max 4 at the moment)
  3. Automatic hashrate reporting within the miner itself for ALL pools (does not use external APIs for hashrate)
  4. Live pool list that can be updated in realtime without updating the miner itself.
  5. Check ETN for nanopool within the miner (spacepool support coming soon)
  6. Check pool status before you begin mining. (WALLET ADDRESS REQUIRED FOR THIS)
  7. Automatic error reporting (if your miner fails to start it tells you exactly why and how to fix it)
  8. Supports multiple coins! This is something the original one couldn’t do.

I will talk about each point in more detail after the downloads and screenshots.

Downloads:

Download/View the source on GitHub [removed]

Download EzMiner 1.1.0 (the software) from Github [removed]

Virustotal Link: [removed]

Virustotal link:

Often, virus scanners flag mining software as malicious since attackers often install this software on other users’ computers without them knowing. The anti-virus companies are correctly protecting you from this, but you are choosing to mine Electroneum, which is perfectly safe. Electroneum’s site also says this. My exe also has no flags.

Donate:

[Redacted]

EzMiner 1.0.5 Tungsten Release and Download

Hello everyone!
I suppose I was a bit too ambitious when I set out for updates every day, this one concentrates on bugfixes
as well as enabling features already present.

Also it has come to my attention that an EZMiner already exists, I’ll be changing the name soon.

THIS UPDATE BREAKS EXISTING CONFIGURATIONS REMOVE AUTO.MCF & DO NOT USE OLD .MCF FILES

Changelog:

  1. Added ability to choose miner backend & enabled cpuminer-multi support.
  2. Added full theme customisation.
  3. Fixed updater.
  4. Added more AEON pools!

Feature updates will follow soon!
Thank you.

Please report any issues you may have on github or on this google forms.[removed]

If you are a pool owner please apply to have your pool listed in the miner here.

Here is the changelog from 0.2.1 of the original EzMiner (But to be honest this one is basically built from the ground up and doesn’t share anything besides the name with 0.2.1) to this version.

  1. Brand new GUI
  2. Automatic scraping through ez_ticker for the value of cryptocurrencies (max 4 at the moment)
  3. Automatic hashrate reporting within the miner itself for ALL pools (does not use external APIs for hashrate)
  4. Live pool list that can be updated in realtime without updating the miner itself.
  5. Check ETN for nanopool within the miner (spacepool support coming soon)
  6. Check pool status before you begin mining. (WALLET ADDRESS REQUIRED FOR THIS)
  7. Automatic error reporting (if your miner fails to start it tells you exactly why and how to fix it)
  8. Supports multiple coins! This is something the original one couldn’t do.

I will talk about each point in more detail after the downloads and screenshots.

Downloads:

Download/View the source on GitHub[removed]

Download EzMiner 1.0.5 (the software) from Github[removed]

Virustotal Link: [removed]

Virustotal link:

Often, virus scanners flag mining software as malicious since attackers often install this software on other users’ computers without them knowing. The anti-virus companies are correctly protecting you from this, but you are choosing to mine Electroneum, which is perfectly safe. Electroneum’s site also says this. My exe also has no flags.

Donate:

[Redacted]

EzMiner 1.0.0 Tungsten Release and Download

Hello everyone!
After a few months of combined school work, procrastinating, and software development,
I’m proud to release the EzMiner AIO Miner and hopefully also a lot more features and utilities.
It might seem a little bare bones at the moment and that’s because I decided to release it early as I
just couldn’t wait. However rest assured that the features present work and they work well.

However, coming in the next few days will be nearly daily updates adding features and fixing bugs,
you can report them in the website comments, github page or reddit page and I’ll be happy to fix them.

There are a lot of new things that I have added in, going for a rush of features over application stability but if I went for both then it could have taken over another month for me to push this out.

Please report any issues you may have on github or on this google forms. [Link removed]

If you are a pool owner please apply to have your pool listed in the miner here. [Link removed]

Here is the changelog from 0.2.1 of the original EzMiner (But to be honest this one is basically built from the ground up and doesn’t share anything besides the name with 0.2.1) to this version.

  1.  Brand new GUI
  2.  Automatic scraping through ez_ticker for the value of cryptocurrencies (max 4 at the moment)
  3.  Automatic hashrate reporting within the miner itself for ALL pools (does not use external APIs for hashrate)
  4.  Live pool list that can be updated in realtime without updating the miner itself.
  5.  Check ETN for nanopool within the miner (spacepool support coming soon)
  6. Check pool status before you begin mining. (WALLET ADDRESS REQUIRED FOR THIS)
  7. Automatic error reporting (if your miner fails to start it tells you exactly why and how to fix it)
  8. Supports multiple coins! This is something the original one couldn’t do.

I will talk about each point in more detail after the downloads and screenshots.

Downloads:

Download/View the source on GitHub

Download EzMiner 1.0.0 (the software) from Github

Donate:

[Redacted]

Electroneum Ez CPU GPU Miner Version 0.2.1

Inititally posted on parthk.co.uk in 2017

This is a bugfix version and you will not receive an update notification. The next evolution of this miner will be fully featured and built to mine many different cryptocurrencies along with a whole new set of features.

To move your settings over from 0.2.0, just save your configuration and load it into the new version.

For the uninitiated:

This is a super easy to use electroneum miner front end that is better than the official beginner miner in that it allows you to mine from a variety of different pools and custom pools, as well as allowing for more configurations. Not only this but since it’s built specifically for ease of use and for mining electroneum it’s probably your best bet for mining etn overall.

It is also better than a command-line only miner or pre-configured miner in that it has automatic error correction, directly reports pool fees and payouts within the miner window, and does not force you to use a specific miner or pool. It also lets you run multiple miners at nce and gives you info on the wallet address being used, the pool being mined on for each individual miner.

To use it, just start ‘Electroneum Easy CPU or GPU Miner.exe’ from your zip folder, extract it all, enter your address and start mining!

Features:

  • *NEW* Run multiple miners at once and manage them from just one window!
  • *NEW* Save and load different configurations for different gpus or pools. no need to re-enter info!
  • *NEW* OPTIONAL Automatic updating notifications, so you don’t need to keep checking for new updates here.
  • *NEW* Add your own custom pools to the drop down list so you don’t have to re-enter them every time.
  • Supports 5 miners out of the box with no configuration necessary.
  • Allows more config than the beginner miner.
  • Tells you a pool’s minimum payout and fees within the miner.
  • Notifies you of any errors in your config and tries to correct them.
  • Auto-tune feature that automatically tunes and fixes your configuration.
  • Saves your last configuration as .bat and .config files if you want to launch the miners directly.
  • Let’s you pick a custom pool.
  • Has a built in helpdesk if you are having trouble.
  • Easily check your earned ETN at the click of a button.

Writing down the feature list every time is not the best thing to do, a permanent page may go up but I’m afraid it could mess up the layout of the website.

Downloads:

Electroneum Ez CPU & GPU Miner Version 0.2.1

Source Code at GitHub

Changelog from 0.2.0:

  1. Added an ‘Extreme’ performance profile for the xmr-stak-nvidia miner.
  2. Bugfixes across the board.
  3. Added some more default pools to custom_url.conf

If you would like to disable auto updating simply open updaterperm.txt and change the y to an n.

I think that for newcomers and experienced miners alike, this is the definitive go-to solution for Windows mining.

Virustotal link:

[redacted]

Often, virus scanners flag mining software as malicious since attackers often install this software on other users’ computers without them knowing. The anti-virus companies are correctly protecting you from this, but you are choosing to mine Electroneum, which is perfectly safe. Electroneum’s site also says this. My exe also has no flags.

Donate:

If you’d like to donate and make sure that I can continue making free tools you can either mine for me using the miner (using the prefilled url in the current miner v0.2.1) or send crypto to the following addresses:

BTC: [redacted]

ETN:[redacted]

GRLC: [redacted]

As for anything else I’m working on: currently I’m working on a Epson remote print desktop application that you can use to print from anywhere in the world to your epson printer if you’re away or are having trouble installing drivers etc. It makes use of the email print functionality of the newer models.

Electroneum Ez CPU GPU Pool Miner Version 0.2.0

Inititally posted on parthk.co.uk in 2017

Developing this final version was a headache since when i built the first version i didn’t intend to update it. In any case this time for sure this will be the final version with any new features. It is getting too convoluted to keep adding stuff.

Thank you for /r/electroneum and all of your amazing support & feedback, this is an application truly crafted by the community. Let me know on reddit or in the comments here if you want to see a Linux port. If not then my work on the miner is now finished aside from bugfixes. If you do then I can port a version over to Ubuntu Linux and its derivatives.

This is a super easy to use electroneum miner front end that is better than the official beginner miner in that it allows you to mine from a variety of different pools and custom pools, as well as allowing for more configurations. Not only this but since it’s built specifically for ease of use and for mining electroneum it’s probably your best bet for mining etn overall.

It is also better than a command-line only miner or pre-configured miner in that it has automatic error correction, directly reports pool fees and payouts within the miner window, and does not force you to use a specific miner or pool. It also lets you run multiple miners at nce and gives you info on the wallet address being used, the pool being mined on for each individual miner.

To use it, just start ‘Electroneum Easy CPU or GPU Miner.exe’ from your zip folder, extract it all, enter your address and start mining!

Features:

  • *NEW* Run multiple miners at once and manage them from just one window!
  • *NEW* Save and load different configurations for different gpus or pools. no need to re-enter info!
  • *NEW* OPTIONAL Automatic updating notifications, so you don’t need to keep checking for new updates here.
  • *NEW* Add your own custom pools to the drop down list so you don’t have to re-enter them every time.
  • Supports 5 miners out of the box with no configuration necessary.
  • Allows more config than the beginner miner.
  • Tells you a pool’s minimum payout and fees within the miner.
  • Notifies you of any errors in your config and tries to correct them.
  • Auto-tune feature that automatically tunes and fixes your configuration.
  • Saves your last configuration as .bat and .config files if you want to launch the miners directly.
  • Let’s you pick a custom pool.
  • Has a built in helpdesk if you are having trouble.
  • Easily check your earned ETN at the click of a button.

Downloads:

Electroneum Ez CPU & GPU Miner Version 0.2.0[removed]

Source Code at GitHub[removed]

Changelog from 0.1.0/0.1.1:

  1. Optimisations across the board.
  2. Bugfixes across the board.
  3. Added ability to pick hyperthreaded or non-hyperthreaded CPU. (Thanks /u/noremac13)
  4. Increased performance using xmr-stak-nvidia and added a high performance option. (Thanks /u/noremac13)
  5. Added multi-mining support. (Thanks /u/I_Got_Pennies & /u/RobustEnigma)
  6. Added ability to save and load custom configurations. (Thanks /u/reddituser123 /u/noremac13)
  7. Made all non xmr-stak miners the default.
  8. Wallet field no longer prefilled with address (Thanks /u/noremac13 & /u/reddituser123)
  9. Added ability to add your own pools to the drop down list through the use of a custom_url.conf file. (Thanks /u/sourbread13)
  10. Added donate button.

Unfortunately due to time constraints as well as the complexity there is no built in wallet functionality.

If you would like to disable auto updating simply open updaterperm.txt and change the y to an n.

I think that for newcomers and experienced miners alike, this is the definitive go-to solution for Windows mining.

Virustotal link:

[redacted]

Often, virus scanners flag mining software as malicious since attackers often install this software on other users’ computers without them knowing. The anti-virus companies are correctly protecting you from this, but you are choosing to mine Electroneum, which is perfectly safe. Electroneum’s site also says this. My exe also has no flags.

Donate:

If you’d like to donate and make sure that I can continue making free tools you can either mine for me using the miner (using the prefilled url in the current miner v0.2.0) or send crypto to the following addresses:

BTC: [redacted]

ETN:[redacted]

GRLC:[redacted]