PortableApps.com Hits 1 Billion App Downloads
portableapps.com
portableapps.com
I used to enjoy just browsing the app list to find out about new software I'd never heard of.
Having not run Windows for most of my adult life, I haven't used it or even remembered it exists for a long time, I'm glad to see it's still doing well.
I also feel as though PortableApps was the catalyst that pushed me to look into open source software, and Linux.
Fond memories of tinyapps.org and analogx.com back in those days.
I know round about the time I stopped using windows, auto-run was more challenging, had this had much/any effect on PortableApps?
The community completely changed my life. I learned a lot about writing software on forums and the IRC channel from numerous people that were just willing to give advice to a stranger. I'm glad this community is still alive.
I proudly say my first programming language is NSIS. (The Windows scripting language most wrappers on the site are written in.)
Thank you John.
It's the Winamp of windows installation systems in my eyes.
Congrats John!
(I’d probably write the PortableApps.com Launcher in Rust these days, though you’d have to be careful to avoid things like bringing in Unicode tables, and put more effort than usual into shrinking things. Rust has been my favourite language since 2014 now. But I would consider Zig seriously too, though I’m not familiar with it or its Windows API interop. But as with almost all of the developers connected with the PortableApps.com project, once I got a bit older I seldom or never needed it, having a computer of my own, and so drifted away at last.)
Incidentally dealing with very interesting complexity: https://news.ycombinator.com/item?id=29610302 (from a couple days ago)
The issue honestly reads like a Rust-hustle level of "we will figure these issues out correctly". Really cool to watch from the sidelines.
Sadly, the world has moved away from this kind of simplicity.
2) We have sandboxing these days, and I contend that all applications should be sandboxed by default anyway. Mobile got this right (idea, not implementation per-se) and it is high time desktops caught up.
3) Nothing stops anyone from using a repo of portable applications and managing them with a tool, it just opens up the option to not have to do that.
Updating isn't that hard. Searching for applications and connecting to a URL specified in their manifest file to download an update diff (one of many ways to do it) is a trivial task for modern computers.
Yes, it's a tradeoff compared to repos and package management, but I personally think the upsides more than outweigh the relatively small downsides. Simplicity > complexity where complexity is unnecessary, and I contend that the complexity of package management schemes is unnecessary.
I was flabbergasted the last time I had to clean up a Windows computer to see how convoluted software update and removal is. You need to go to a specific windows preference pane to be able to uninstall an app, and even then most apps have a specific software to uninstall them, which sometimes needs to be downloaded separately. If you want to uninstall two apps at the same time, you can't. Upgrading an app generally involve manually navigating to the app's website, downloading the latest version, install it somewhere it doesn't interfere with the previous version, then deleting the previous app folder, then praying for windows to be able to link its search results to the correct ones after that process. It's baffling the very feature why operating systems exists in the first place (managing applications) still isn't solve more than 40 years after the first windows release.
Linux is really the problem here. Installing software newer that what your distro has packaged is often a total nightmare, with PPAs which can blow up your entire apt system. I think flatpak etc are on the right path.
tar xzf firefox-99.0.tar.gz ; cd firefox ; ./firefox
Flatpaks and other things are still a novelty and it's not clear it will ever take over the above.That's a very much "citations needed". From my perspective, only the JetBrains IDE's and Firefox are done like that.
Everything else is some kind of third party package (ppa, flatpack, snap, docker, etc).
Mac programs will often leave behind crap hidden in the library folder that I find frankly pretty annoying. Sometimes it's pretty sizeable and not entirely clear if it's safe to delete. Windows Uninstaller process is more annoying but it does a better job removing related components.
There is plenty of Mac software that requires an installer and Uninstaller, plenty of off-behaving applications that put stuff directly into ~ or ~/Documents, and even those that install some internal executables into /usr/local/bin.
You can have an equally pleasant experience on Windows (after all, this is about portable apps...). There is "mature" software whose installers will just override (update) the existing application (e.g. Anki, Affinity apps), %APPDATA% is your Application Support folder on Windows (if only more software would use it), and then there's also the slightly new .appx packaging with a clean way of uninstalling. No one hinders you to just download portable apps directly from the vendor and putting it into C:/Applications, if you want that.
If there is an odd one out, it would be Desktop Linux.
I still use the site for fun or for simple utility value even in Linux sometimes.
This is seen as bad practice and is on its way out. Many companies are implementing IT policies that prevent all binaries from running unless the source is a privileged location (e.g. program files) or it’s signed by Microsoft’s private key (and this is only because Teams for some idiotic reason is still installed in appdata against all best practices and MS own explicit guidance.)
Maybe it's because the Teams Desktop client is a rebranding of Skype's[0]. I guess it's easier said than done in their case.
0: At least on Linux for whatever reason the temp folder of Teams is called Skype, when the system notifies you, it goes along the lines of "Skype is using your Microphone"
I think it's just because that's the default behavior for Electron apps and they're too lazy to change it. IIRC, VSCode had the same problem, but they fixed it eventually.
Running random binaries in this case was likely more secure.
I advocate for the human over the company every time.
When only allowed signed binaries, reboot into owned OS.
When locked out of the boot loader, bring a computer the size of a standard power adaptor.
When locked out of WIFI Mac or ethernet ports, sling from a ephemeral hot spot tethered to cell access.
Cat will bring a dead mouse.
M$ is the mouse.
There are still many common hacks that rely on executing binaries that have been downloaded, as long as the infiltration point doesn’t also have elevated access these types of hacks are prevented.
https://docs.microsoft.com/en-us/windows/security/threat-pro...
Choosing the right software is critical though, just because something is popular doesn't make it the right one to use.
WannaCry showed the world how joined up these attacks are, considering it exploited a bug in that old networking protocol. I found it interesting how they hit the crownjewels of many countries, psychologically I think it was a big message sent, asserting their dominance over others.
We have implemented a lot of other ransomware mitigations to protect data on servers, which is where the users should be keeping anything important anyway, but if a workstation gets hit we just burn it to the ground and start over with it from a standardized corporate image. We've also implemented mechanisms for early detection with automated triggers to cut any affected users and workstations off until an admin can look at it. And we've altered our backup strategy to make damaging one set of backups from anywhere but a locally connected console as impossible as we can.
Its ok to burn an image to the ground, do you check your firmware like your bios with something like Copernicus? https://www.mitre.org/publications/technical-papers/copernic... or HDD firmware hacking ? https://spritesmods.com/?art=hddhack&page=1
Your persistence is right there, doesnt matter how often you reinstall an OS then if you have a system running like a sim card working with a smartphone OS but also independently communicating with the hw like a bluetooth/wifi mesh network but you also have network printers/scanners and other HW that connects to a network to check out to check out the firmware for. I loved having to flash the old EEPROM's, physically taking the chip out, removing the sticker over the quartz window, exposing it to UV light, before sticking the label back over the window and then flashing it on a EEPROM flash machine, that physical process made it harder to hack unlike today.
So how quickly can you get your backup loaded on blank servers, workstations and switches? Exchange server can take its time if people have GB+ mailboxes.
This is an interesting post mortem of how Maersk handled NotPetya. https://gvnshtn.com/maersk-me-notpetya/#notpetya
Theres a lot that can be learnt from it.
Back then having a set of programs that are set up how I like them that are the same on whatever windows os I was using that were self updating was game changing, and still is really on Windows.
Now having a set of programs windows can't easily spy on, serve ads into, and take "diagnostics" from is the upside.
Like autohotkey this suite makes windows usable for me.
I mostly use Linux but if windows has anything on Linux is portable apps.
https://stackoverflow.com/questions/5564619/what-is-the-purp...
Over the years of using Firefox portable, I noticed that sometimes the update broke, since a whole new engine was created by Mozilla and the update wasn't graceful. But nevermind, I simply downloaded the latest version from Portableapps, and copied over the profile directory and I was good.
I even have copies of old portable versions of Firefox like v56 that I use to test sites in, just incase my users are using some legacy version / old versions of Palemoon (for whatever reason).
I’ll definitely look into portable Firefoxes for buckets.
In the end there's many ways to slice and dice different profile buckets. I use a combination of containers, profiles, and portable browsers.
The beauty of portable browsers is you can 'clone' them so you don't have to configure new profiles. All your settings can be configured once, and copied to a clone portable browser which you use for a different context.
BTW: Love the idea of using different themes/skins for different contexts :)
We also have the Second Profile utility so you can have as many easily launched profiles as you want portably since Firefox profile manager doesn't work portably.
And I put the USB drive in my backpack, only took out the cable when using it. So I never lose it or damage it.
I ran Firefox, Notepad++, XAMPP, R and RStudio from the USB drive. At that time, Dropbox was new and there were hacks to run Dropbox on USB drives.
Any AssaultCube fans here?
This was the only game I played for years, became one of the top players! Not that that was hard, since there aren't so many of them at any given time
That was one of the main reason I got into it. Our school blocked the main serverlist but one server still somehow got through, so we could have secret lan parties in computer labs
Very sad about haxjump being gone, flying around the map is the main reason I played
That said, we do highly prefer portable versions of applications, due to the portable nature of Scoop itself.
I've had appimages that would only run on a specific Linux distro and version. It doesn't seem like an automatic fix.
Terraform is a good example of a moderately complex piece of software distributed that way.
This site provides binaries.
But yeah, this isn’t common to do in the Linux world, unfortunately, because it’s expected that binaries and libraries live in distinct places on the filesystem, rather than bundling them together into an app bundle like on macOS.
The point is, I can always depend on user32.dll, kernel32.dll, and a bunch of other Windows API to be there and to still be compatible with how I'm calling it[0] 20 years from now. Linux is too fragmented and user space libraries break compatibility too often for that.
[0] in the vast majority of cases
_cue Seinfeld_ Not that there's anything wrong with that
They run out of the box on Fedora, Debian, Ubuntu and others.
It would still be inconvenient though compared to not needing wine
With that use-case in mind, how many "Linux" workstations in a school/university/library am I likely to run into whereby I'll need to run portable software?
Ye olde Unix/BSD mainframes don't count.
I was also told later that doing that caused the networked file server to crash.