Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

An elegant solution to managing digital files on ANY iOS, Android, Windows, or Linux device SIMULTANEOUSLY over USB using zero additional software (other than the native OS)

17 views
Skip to first unread message

Arlen Holder

unread,
Sep 19, 2018, 12:48:36 AM9/19/18
to
Following is a description of an elegant method that uses ZERO additional
software other than the native operating system on all the devices, and
which works with ALL iOS, Android, Windows, and Linux devices without
needing root on any.

You can manage the entire visible file system on every device,
simultaneously.

That means you can do anything you want, whether that's reading or writing
or copying or deleting or renaming or moving the files, all using the
native file explorer of your desktop.

Here are some screenshots proving this method works, even on the somewhat
harder tasks, as iOS doesn't normally work in the real world, and where
this clearly shows we can WRITE to the iOS filesystem in any directory in
the visible area that we want to.

NOTE: Normally Windows, Android, and Linux play nice together; it's only
when you add iOS that the need for such an elegantly brilliant solution
becomes apparent.

HINT: Try it by your current method - and compare your results (e.g., the
iTunes abomination, or the AirDroid asphyxiation, etc.).

In addition to being able to EDIT the file system of the iOS, Android,
Windows, and Linux devices, you can easily copy from one to the other:
a. From iOS to Android, and from Android to iOS
b. From iOS to Windows' filesystem and from Windows' file system to iOS
c. From Android to Windows and from Windows to Android
d. From Linux to Windows' filesystem and from Windows filesystem to Linux
e. From iOS to Linux and from Linux to iOS
f. From Android to Linux and from Linux to Android
etc. (if I missed any permutations or combinations)

All simultaneously.
With ANY device on the planet (you don't even have to own it)
No software needed (except the native operating systems)

Unfortunately, I kind of gave up on editing the scores of sequential
screenshots proving all these permutations and combinations because Windows
just won't load them in the order I click them which makes
editing a large number of files in series a bitch.
Why does a digital photo editor on Windows order a numbered series of incoming files capriciously?
<https://groups.google.com/forum/#!topic/rec.photo.digital/jlNvYuH8bmQ>

Here is an edited session of just the Android to iOS copy, where anyone
who 'says" this meethod obvious, is bullshitting us, because it's not
obvious the trick to write to any desired directory in the iOS visible file
system.

Plug in any number of iOS & Android devices to your desktop:
<http://www.bild.me/bild.php?file=9261136speedt001.jpg>

On Windows I created 400 copies of a test file using Irfanview:
<http://www.bild.me/bild.php?file=6748333speedt002.jpg>

Each of the 400 files was 4,188KB (1.7GB in toto):
<http://www.bild.me/bild.php?file=3783685speedt003.jpg>

The Android and iOS file systems easily mount on the desktop:
<http://www.bild.me/bild.php?file=6176902speedt004.jpg>

The trick that nobody knows is how to WRITE to the iOS filesystem!
<http://www.bild.me/bild.php?file=7155870speedt005.jpg>

Once you know the trick, you just create any folder where you want:
<http://www.bild.me/bild.php?file=2335527speedt006.jpg>

In this case, I created a folder in the normally read-only DCIM folder:
<http://www.bild.me/bild.php?file=8602708speedt007.jpg>

In one fell swoop, I used the desktop to copy files from Android to iOS:
<http://www.bild.me/bild.php?file=9242923speedt008.jpg>

I could just as well have copied the other way around:
<http://www.bild.me/bild.php?file=2204403speedt009.jpg>

Or, from either Android and iOS to or from the Windows filesystem:
<http://www.bild.me/bild.php?file=3283618speedt010.jpg>

That's the sheer beauty and elegance of this brilliant solution:
<http://www.bild.me/bild.php?file=6181611speedt011.jpg>

Moving the 400 files from Android to iOS took 3 minutes 5 seconds:
<http://www.bild.me/bild.php?file=7049277speedt012.jpg>

If I did the math right, moving the files using Ubuntu 18.04 from the
Android 7 LG Stylo 3 Plus to the iOS 11.2.6 2017 iPad 9.7-inch went at the
rate of about 9.4 megabits per second or about a half gigabyte per minute.

The Android device was a $130 LG Stylo 3 Plus running Nougat 7 with 32 GB
storage (only 4GB of which was free).

I don't know what's "possible" on speeds but that's what I got over USB,
where my desktop is an old HP Pavilion P6230 running Windows 10 (latest)
and where the USB hub of the Dell monitor was where I connected the mobile
devices (for convenience).

Note that I could just as well have moved the files from one area of iOS to
another, or from any area of Android or Windows or Linux to another, as I
can manage the entire visible file system on all four devices
simultaneously without ANY software on any of the operating systems other
than what comes with the operating system.

In short, this thread simply lets others know that they *can* easily manage
their entire visible file systems on any common mobile device using the
file explorer of their desktop computer.

If you have a *better* solution - let me know - but bear in mind it has to
work fast over USB and access the entire visible file system (which, if you
don't include iOS, then you're not comprehending the problem set).

HINT: FTP/HTTP/SMB/etc. servers pale in comparison to the power & speed.

Tony Cooper

unread,
Sep 19, 2018, 1:22:39 AM9/19/18
to
On Wed, 19 Sep 2018 04:48:33 -0000 (UTC), Arlen Holder
<arlen...@nospam.net> wrote:

>Unfortunately, I kind of gave up on editing the scores of sequential
>screenshots proving all these permutations and combinations because Windows
>just won't load them in the order I click them which makes
>editing a large number of files in series a bitch.

It is not Windows that causes the problem. It is, in your case,
paint.net. It is paint.net that is displaying your files in a
non-numerical sequence order. It may be based on file size, date of
creation, dimensions, or simply random.

Other apps allow you to determine the sequence. FastStone Image
Viewer, for example, has a dropdown that allows you to determine the
order the thumbnails are displayed. When I open a batch of images in
FastStone, regardless of the order initially displayed I can click
"filename" and the images will be displayed in filename order.

I don't have (or want) paint.net, but the first thing I'd do if I did
was check to see if there is a click that sets the display order of
the thumbnails by filename. You may be working with a default setting
that can be changed.

If it doesn't, you may have to use a work-around like FastStone that
sets the display order by filename, and then "Open In" paint.net to
edit.

FastStone is a free app, but there are probably dozens of other apps
that have the same capability. I cite FastStone only because it's the
one I happen to use.

Again, it is not how the files are sent to the app by Windows. What
you want is the ability to set the order that the app itself displays
the thumbnails.







--
Tony Cooper - Orlando, Florida

Arlen Holder

unread,
Sep 19, 2018, 2:53:14 AM9/19/18
to
On 18 Sep 2018 22:22:17 GMT, Tony Cooper wrote:

> It is not Windows that causes the problem. It is, in your case,
> paint.net. It is paint.net that is displaying your files in a
> non-numerical sequence order. It may be based on file size, date of
> creation, dimensions, or simply random.

Paul, who is an *expert* at Windows, ran a test over here just now:
Message-ID: <pnskmj$1pi$1...@dont-email.me>

Since the 'narkive' for Windows 10 is slow, I'll just paste Paul's response
below, verbatim, which proves it's not just Paint.NET nor just my system.

I did a quick check here with the in-box "Paint",
selected just four files...
and they don't show up in a consistent order.

First I tried disabling Windows Defender realtime protection,
and the order was still random. It's not like a computer,
to do that. I could accept "out of numeric order,
but consistent from run to run". But finding different orders
from one run to the next, that's a puzzle. And it's a puzzle
because there is likely a single thread of execution
opening the files. So somehow they're arriving at a queue
inside the system, randomly. How is that possible ?

> Other apps allow you to determine the sequence. FastStone Image
> Viewer, for example, has a dropdown that allows you to determine the
> order the thumbnails are displayed.

Since we're trying to both reproduce and debug by reproducing, your
suggestion of Fast Stone is interesting because it worked fine.

I installed Fast Stone Image Viewer version 6.4 freeware from
<http://www.fastone.org/FSViewerDownload.htm>

I selected a dozen files named with numbers on the end
<http://www.bild.me/bild.php?file=1623177faststone002.png>

As you said, they opened in the expected numerical order in FastStone
<http://www.bild.me/bild.php?file=9848098faststone001.png>

Why does FastStone work as expected, but not Paint.NET nor Paint?

> If it doesn't, you may have to use a work-around like FastStone that
> sets the display order by filename, and then "Open In" paint.net to
> edit.

That's a neat trick!
I loaded a half dozen files into Fast Stone.
<http://www.bild.me/bild.php?file=2153814fastone001.png>

Then hit FastStone: Edit > Edit with External Program > Add/Remove Programs
<http://www.bild.me/bild.php?file=1224536fastone002.png>

I hit "Add", and found the Paint.NET executable, and hit "OK", "OK".
<http://www.bild.me/bild.php?file=1886841fastone003.png>

I pressed "control+a" inside of FastStone:
<http://www.bild.me/bild.php?file=3734808fastone004.png>

Then FastStone: Edit > Edit with External Program > PaintDotNet (E)
<http://www.bild.me/bild.php?file=2563105fastone005.png>

Unfortunately, that only edited a single file, and not the selected set.
<http://www.bild.me/bild.php?file=5840435fastone006.png>

> FastStone is a free app, but there are probably dozens of other apps
> that have the same capability. I cite FastStone only because it's the
> one I happen to use.

I'm pretty familiar with all the basic photo freeware editors on Windows
where nothing comes even close to what Paint.NET does DYNAMICALLY for
curved arrows, open boxes, and adding text, where the secret sauce of
Paint.NET is the dynamic curved arrow capabilities, which are used in
screenshots all the time.

If there was a screenshot editor that actually did those three things well
dynamically, (among the other basics that we all expect), I'd use it since
I hate having to have NET.Framework on Windows (especially the older
version).

Pinta still doesn't do the dynamic curved arrows well, while all screenshot
editors can do texts, you should NEVER have to do anything to write text
other than to start typing (e.g., no boundary boxes) and you should be able
to dynamically edit locations, sizes, colors, letters, etc., before
affixing the text for good.

Likewise for dynamically drawing boxes and circles around things, where you
should be able to dynamically move and edit the shapes after you put them
down simply by stretching them or thickening them, etc., all within the
same editing task.

Most screenshot editors get those *simple* things dead wrong, but if there
was one that existed that did those three things well (along with other
basics) then I'd use it.

But I've been doing this editing stuff for decades, where nothing beats
Paint.NET (as much as I hate that program) - nor does anything even come
close in basic screenshot editing tasks done right.

There's only one basic task Paint.NET fails at, which is the boundary box
for crop does not dynamically resize like it does with Irfanview.

> Again, it is not how the files are sent to the app by Windows. What
> you want is the ability to set the order that the app itself displays
> the thumbnails.

While Paul found that Paint has the same capricious ordering problem as
does Paint.NET, I have to admit FastStone does not. Too bad Fast Stone
doesn't send the entire set of files to an external editor though, as that
would have been a nice workaround.

Arlen Holder

unread,
Sep 19, 2018, 3:08:30 AM9/19/18
to
On 19 Sep 2018 06:53:11 GMT, Arlen Holder wrote:

> There's only one basic task Paint.NET fails at, which is the boundary box
> for crop does not dynamically resize like it does with Irfanview.

Actually, to be fair, there are two things Paint.NET gets wrong (but most
freeware screenshot editors get lots of other things wrong), which are:
a. Dynamically resize crops like Irfanviwe does, and,
b. Load files in the order you expect them loaded in!

The main screenshot-editing task that Paint.NET gets right that no other
freeware screenshot editing program seems to get right are dynamic curved
arrows. You click a starting point, and then an ending point, and then you
can dynamically readjust anything you want, from the line shape and
thickness and dotted characteristic or the arrows or their direction, or
the curvature of the line. The only program that ever came close to the
dynamic curvature of lines in Paint.NET was a KDE program on Linux (but it
didn't have the features of Paint.NET).

After dynamically curved arrows, Paint.NET does text right, in that you
just type. That's it. You type away. You don't need a location. You don't
need a bounding box. You don't need to worry about font. Nor bold or
italic. Nor color. Nor size. All that you can change dynamically, which is
as good as it gets.

After those two things comes open bounding boxes, which, again, all
screenshot editors do, but most get it wrong, in that it too must be
dynamic. Here Paint.NET has all the dynamic features of the text above,
where you can draw a bounding box, and then move it around, or resize any
segment or thicken or thin lines or make them filled or unfilled or dash
the lines, or whatever, all dynamically as it should be.

After that comes all the basic stuff, but those are the three most
important screenshot editing tasks (IMHO), that have to be done right for
any program to be considered a decent screenshot editor.

The main screenshot editing feature lacking in Paint.NET (other than a
dynamic crop like that of Irfanview) is the lack of transformation tools,
e.g., rotating the selected set ...

If you or anyone here knows of a freeware Windows screenshot editor that
DYNAMICALLY did cropping, bounding boxes, curved arrows, and text, then I'd
use that instead of Paint.NET ... because I hate NET.Framework.

But, alas, 'thars nothing even close to the screenshot dynamic editing
functionality of Paint.NET (AFAIK).

Tony Cooper

unread,
Sep 19, 2018, 7:34:01 PM9/19/18
to
On Wed, 19 Sep 2018 06:53:11 -0000 (UTC), Arlen Holder
<arlen...@nospam.net> wrote:

>Since we're trying to both reproduce and debug by reproducing, your
>suggestion of Fast Stone is interesting because it worked fine.
>
>I installed Fast Stone Image Viewer version 6.4 freeware from
> <http://www.fastone.org/FSViewerDownload.htm>
>
>I selected a dozen files named with numbers on the end
> <http://www.bild.me/bild.php?file=1623177faststone002.png>
>
>As you said, they opened in the expected numerical order in FastStone
> <http://www.bild.me/bild.php?file=9848098faststone001.png>
>
>Why does FastStone work as expected, but not Paint.NET nor Paint?

Because the developer(s) of FastStone included a sort choice function
in the app, and the developer(s) of paint.net did not. Or, at least,
you say they didn't.

>
>> If it doesn't, you may have to use a work-around like FastStone that
>> sets the display order by filename, and then "Open In" paint.net to
>> edit.

>Unfortunately, that only edited a single file, and not the selected set.
> <http://www.bild.me/bild.php?file=5840435fastone006.png>

Paint.net opened the single file, but it did not edit the file until
you took the steps. Again, the developer(s) didn't include the
feature of opening multiple files as a result of the "Edit in"
instruction. They could have done so. Other programs - Adobe
Elements, for example - does have that feature.

So will Adobe Photoshop, but in Elements all the opened files are
displayed at the bottom (as a default) and in Photoshop only one file
is displayed at a time even though the others are open.

There may be others, but I cite the above because I use them.

>I'm pretty familiar with all the basic photo freeware editors on Windows
>where nothing comes even close to what Paint.NET does DYNAMICALLY for
>curved arrows, open boxes, and adding text, where the secret sauce of
>Paint.NET is the dynamic curved arrow capabilities, which are used in
>screenshots all the time.
>
>Most screenshot editors get those *simple* things dead wrong, but if there
>was one that existed that did those three things well (along with other
>basics) then I'd use it.

I don't know why you are calling them "screenshot editors". They are
image editors, and the screenshot is a .jpg (or whatever you save the
screenshot as). They edit any .jpg.

>While Paul found that Paint has the same capricious ordering problem as
>does Paint.NET, I have to admit FastStone does not. Too bad Fast Stone
>doesn't send the entire set of files to an external editor though, as that
>would have been a nice workaround.

It will. See above. It's paint.net that lacks the feature of
accepting them.

You have chosen a program that has some features that you like and
use, but it is a basic program that lacks other features.

Arlen H. Holder

unread,
Sep 22, 2018, 1:49:07 PM9/22/18
to
On Wed, 19 Sep 2018 04:48:33 -0000 (UTC), Arlen Holder wrote:

> Following is a description of an elegant method that uses ZERO additional
> software other than the native operating system on all the devices, and
> which works with ALL iOS, Android, Windows, and Linux devices without
> needing root on any.

For all your Mac users, we just extended our solution to include the Mac!

With the help of Aragorn, and that of Paul, Mike Easter, and Wolffan,
it seems like we have the Mac interfacing to the real world problem
(ostensibly) resolved such that this seems to be our new-found
capabilities:
1. We can boot our original Mac or Windows desktop to Ubuntu 18.04
2. Then we can connect *any* iOS device on the planet for full r/w access
3. We can also connect any Android device for even better full r/w access
4. Likely we can connect any USB drive or camera also (as an aside)
5. With simultaneous full r/w access to the original desktop filesystem!

All without installing _anything_ non-native on any of the systems above,
with the exception of the easily installed open-source freeware hfsprogs
for writing to the journaled Mac HFS+ file system.

I hope others, who actually know far more than I do, will look over
(and hopefully test!) the compilation below so that we can hone it for
everyone to benefit in the future in our tribal archives
(where I personally set up the tinyurl myself, many years ago,
so that everyone benefits from our combined knowledge!):

*TRIBAL ARCHIVES:*
http://tinyurl.com/rec-photo-digital
<https://groups.google.com/forum/#!topic/rec.photo.digital/8Qd8kcV2Trg>
http://rec.photo.digital.narkive.com
<http://rec.photo.digital.narkive.com/mmVPsOjz/an-elegant-solution-to-managing-digital-files-on-any-ios-android-windows-or-linux-device>

http://tinyurl.com/alt-comp-freeware
<https://groups.google.com/forum/#!topic/alt.comp.freeware/H6T7KqzR_ww>
http://rec.photo.digital.narkive.com
<http://alt.comp.freeware.narkive.com/rvudZEGW/an-elegant-solution-to-managing-digital-files-on-any-ios-android-windows-or-linux-device>

****************************************************************************
How to read & write to HFS+ partitions by booting to Ubuntu (on the Mac)
!!!WIP ... Untested! ... Preliminary - for review!!!

Please improve so that everyone benefits from every action by each of us.
(See also <https://groups.google.com/forum/#!topic/misc.phone.mobile.iphone/IFC52JXBQ1c>
****************************************************************************
============================================================================
Your choice (works both ways):
a. Journaling disabled
b. Journaling enabled
============================================================================
Read/Write access to a non-journaled HFS+ drive.

1. Plug in the external HFS+ non-journeled drive into Ubuntu.
2. Ubuntu mounts the HFS+ drive automatically as read-only.
$ mount -l
Your HFS+ device should show up as /dev/sdx
If the drive doesn't automatically mount, mount the HFS+ drive:
$ sudo mount -t hfsplus -o force,rw /dev/sdx# /media/mntpoint
3. Click the eject button in file explorer to unmount the drive.
4. Install hfsprogs.
$ sudo apt-get install hfsprogs
5. Optional: Check the drive.
$ sudo fsck.hfsplus /dev/sdXY
6. Click on the drive in the file explorer to remount the drive as r/w:
Note: To manually remount the HFS+ drive:
$ sudo mount -t hfsplus -o remount,force,rw /dev/sdx# /mount/point
============================================================================
Read/Write access to a journaled HFS+ drive.

1. Plug in the external HFS+ non-journeled drive into Ubuntu.
2. Ubuntu mounts the HFS+ drive automatically as read-only.
$ mount -l
Your HFS+ device should show up as /dev/sdx
If the drive doesn't automatically mount, mount the HFS+ drive:
$ sudo mount -t hfsplus -o force,rw /dev/sdx# /media/mntpoint
3. Click the eject button in file explorer to unmount the drive.
4. Install hfsprogs.
$ sudo apt-get install hfsprogs
5. Optional: Check the drive.
$ sudo fsck.hfsplus -f /dev/sdXY
6. Click on the drive in the file explorer to remount the drive as r/w:
Note: To manually remount the HFS+ drive:
$ sudo mount -t hfsplus -o remount,force,rw /dev/sdx# /mount/point
============================================================================
To read/write on the Mac users' home folder, simply match the User ID:

1. On OS/X, check your UID (typically the default is UID 501):
OS/X: System Preferences > your username > Advanced Options

2. Boot into Ubuntu & add a temp user of the same UID as found above:
$ sudo useradd -d /home/tempuser -m -s /bin/bash -G admin tempuser
$ sudo passwd tempuser
$ sudo usermod --uid 501 yourusername
$ sudo chown -R 501:yourusername /home/yourusername

You can now read & write to both your Mac and Linux user's home folder,
no matter which OS you're logged into.

3. Optionally, add the new user of UID 501 to the Ubuntu login screen:
By default, Ubuntu doesn't list users of UID less than 1000 on the
login screen, where this command changes that default value:

$ gksudo gedit /etc/login.defs
Simply change the value of UID_MIN from 1000 to 501
============================================================================
To turn off HFS+ journaling from the Mac

1. Boot into OS X and fire up the Disk Utility.
2. Click on your HFS partition, hold the Option key, and click File
3. A new option to Disable Journaling will come up in the menu.
4. When you reboot to Linux, it will mount the HFS+ drive r/w automatically
============================================================================
To turn off HFS+ journaling from within Ubuntu

1. Compile disable_journal.c to disable_journal.out
$ gcc -o disable_journal disable_journal.c
2. Run the program to disable journaling.
$ sudo ./disable_journal.out /dev/sdXX
where /dev/sdXX is the partition you wish to mount.
3. Then mount the HFS+ drive using the following:
$ sudo mount -t hfsplus -o rw,user /dev/sdXX /media/hfspart

--- cut here for disable_journal.c ---
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/mman.h>
#include <fcntl.h>
#include <byteswap.h>



int main(int argc, char *argv[])
{
int fd = open(argv[1], O_RDWR);
if(fd < 0) {
perror("open");
return -1;
}

unsigned char *buffer = (unsigned char *)mmap(NULL, 2048, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
if(buffer == (unsigned char*)0xffffffff) {
perror("mmap");
return -1;
}

if((buffer[1024] != 'H') && (buffer[1025] != '+')) {
fprintf(stderr, "%s: HFS+ signature not found -- aborting.\n", argv[0]);
return -1;
}

unsigned long attributes = *(unsigned long *)(&buffer[1028]);
attributes = bswap_32(attributes);
printf("attributes = 0x%8.8lx\n", attributes);

if(!(attributes & 0x00002000)) {
printf("kHFSVolumeJournaledBit not currently set in the volume attributes field.\n");
}

attributes &= 0xffffdfff;
attributes = bswap_32(attributes);
*(unsigned long *)(&buffer[1028]) = attributes;

buffer[1032] = '1';
buffer[1033] = '0';
buffer[1034] = '.';
buffer[1035] = '0';

buffer[1036] = 0;
buffer[1037] = 0;
buffer[1038] = 0;
buffer[1039] = 0;

printf("journal has been disabled.\n");
return 0;
}
--- cut here for disable_journal.c ---
============================================================================
For commercial solutions:
1. Paragon has an extension for full read/write access to NTFS & HFS+ volumes
<https://www.paragon-software.com/home/ntfs-linux-professional/>
NOTE: They have a freeware version available for non-commercial use.

2. Paragon has an add-on extension for full APFS (read-write access)
<https://www.paragon-software.com/business/apfs-linux/>
============================================================================
REFERENCES (in alphabetical order):
<http://askubuntu.com/questions/332315/how-to-read-and-write-hfs-journaled-external-hdd-in-ubuntu-without-access-to-os>
<http://jaysonlorenzen.wordpress.com/2010/09/13/linux-unable-to-write-to-non-journaled-hfsplus-drive/>
<http://lifehacker.com/5702815/the-complete-guide-to-sharing-your-data-across-multiple-operating-systems>
<http://lifewire.com/dual-boot-linux-and-mac-os-4125733>
<http://pastebin.com/W8pfgHRe>
<http://refit.sourceforge.net/info/boot_process.html>
<http://superuser.com/questions/84446/how-to-mount-a-hfs-partition-in-ubuntu-as-read-write>
<http://ubuntuforums.org/showthread.php?t=1420673>
===========================================================================
===========================================================================
0 new messages