home.social

#macstodon — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #macstodon, aggregated by home.social.

  1. #Macstodon now runs in the latest bleeding-edge build of the Snow emulator! And if you use Snow's built-in HTTPS stripping, then you don't have to configure WebOne or another proxy, just install Macstodon and start using it 😎

    Thanks @twvd for the FPU fixes and all the other hard work you put into Snow! This is the kick-in-the-pants I need to get the next version of Macstodon out the door 🙂

    #RetroComputing #RetroProgramming #VintageMac #68K #PowerPC #Apple #Mac #MacOS #ClassicMac

  2. EDIT: I got it wrong - Snow is actually implementing HTTPS stripping in a similar manner to WebOne, but it was failing with Macstodon due to a different bug. That has since been fixed, and the next version of Snow should allow you to run Macstodon without having to set up WebOne or any other HTTPS proxy manually.

    The next release of Macstodon will have improved documentation / instructions for how to run with Snow.

    Original post follows:
    ----------

    Unfortunately Snow's transparent HTTPS stripping won't work with #Macstodon. This isn't any fault of Snow - most HTTPS proxies have a problem here, and it's for a combination of two reasons:

    1. MacPython 1.5.2 doesn't understand the HTTPS protocol at all, and will reject URLS that start with "https://“. You have to use "http://"
    2. When making a plain HTTP request to a Mastodon server, it will use a header redirect to try and send you back to the HTTPS URL.

    This is why I tell folks to use WebOne, and to configure it in a particular way - it will detect the header redirect to the HTTPS version of the site, intercept it, follow the redirect, and send the site content back through the proxy to the client. This is configured through the “ForceHTTPS” option of the WebOne config file - it causes the HTTPS version of the site to be returned even when accessing the site through plain HTTP. mastodon.social/@twvd/11591841 mastodon.social/@twvd/11591841

  3. I had to disable loading the avatars in #Macstodon so it can actually load the toots without freezing, but it works quite nicely now, actually.

    And no, it doesn't have some magic sauce to solve the SSL problem - you do need a proxy to get around that, but it was as easy as installing WebOne on the Pi itself, and then configuring the proxy via Internet Config on the Macintosh side.

  4. Testing ZigZagJoe's IIsi Booster 2.0 accelerator- Here are some screenshots of the gains. #Macstodon is loading up toots like a boss now 😃 #Mac #VintageMac #68k

  5. Rewrote the #Macstodon auth system today…it's been a long time coming.

    Previously, it would self-register the app with your instance, generate an OAuth URL, launch your web browser with that URL, and then pop a dialog for you to paste the access token into, after you authenticated in your browser (running in your emulated or real vintage Mac).

    That broke with Mastodon 4.3. Whatever CSRF shenanigans the Mastodon web app does no longer works on any vintage Mac browser, so trying to authenticate just results in a HTTP 422 "Security Verification Failed" error.

    So the auth system has been vastly simplified. All it does now is pop the dialog for you to paste the access token into - but the dialog also contains instructions (and screenshots) on how to manually register the app with your instance and generate an access token using a modern computer or smartphone.

    Anyway, here's a sneak peek.

    #RetroProgramming

  6. Updated the #Macstodon roadmap today.

    It's been a long time since I've touched it, but things slowed down a little bit at my day job this week and I'm getting the itch to do some retro programming again.

    I need to tackle the longstanding Mastodon 4.3+ auth issue and I think I'm just going to build a wizard-type interface with screenshots that show you what you need to click (on a modern machine) in order to create an auth token manually.

    Also it would be nice to support the new quote posts feature. And polls. And maybe even attachments.

    I gave up on the REALBasic/FutureBasic rewrite - it was too difficult to do that and still maintain System 7 & 68K support (and also because someone else is working on a Mac Mastodon client in REALBasic for later OS versions).

    I do still want to rewrite it in Micropython but that’ll be a LONG way away and is dependent on Micropython getting all of MacPython's features.

    Anyway, hopefully I'll have more to share in a few days/weeks.

    #RetroComputing #RetroProgramming #VintageMac #68K #PowerPC #Apple #Mac #MacOS #ClassicMac oldbytes.space/@smallsco/10943

  7. For those not following #m68kMicroPython development, a lot has been happening rather quickly in the last couple of weeks!

    There's enough support for the Toolbox now that I've been able to re-create the #Macstodon splash/loading screen with it - see below.

    Big thanks to @stylus for all his hard work developing the port and making this possible!

    #RetroComputing #RetroProgramming #VintageMac #Apple #Mac #MacOS #ClassicMac #68k #Python #MicroPython oldbytes.space/@smallsco/11488

  8. Oooooh gonna have to check this out!!!

    #Macstodon for System 6 is now a real possibility.

    (and even if not, just having a Mac 68k Python that's built on Python 3 rather than Python 1.5 opens up a lot of possibilities…) social.afront.org/@stylus/1147

  9. It's time for a #MARCHintosh retrospective!

    Firstly: I've attached a photo of the remaining gifts to the drop box that have come in since the 15th!

    Secondly: I've completed a final pass-over of the servers on #GlobalTalk, left my calling card, and a print job for anyone who hasn't had one yet (as long as they have open file shares/printers). Results of that are attached as well.

    Finally, the retrospective itself:

    It's been an absolutely CRAZY month:
    - On Day 1, my SE came home from the workshop with a fully-serviced floppy drive and '030 accelerator...
    - ...which I didn't even end up playing with at all, because on Day 2 I bought a Power Mac 6500 for an absolute steal (and I STILL have to explore the other external HD that came with it)
    - GlobalTalk completely dominated the month just like it did last year. I rebuilt my QEMU VM for running AIR a couple nights before the start of the month and it's been absolutely rock solid stable ever since.
    - I made great progress on my project for the month, archiving my collection of Mac floppies from the early 90's. I'm only about 40% done, so this will continue into April as "bonus content" 😁
    - No updates on #Macstodon - but I did verify that it works perfectly fine on Mastodon 4.3 if you manually authenticate by copying the URL to a modern machine, and copying the auth token back to your Mac.

    Lastly I want to give thanks to everyone in the #VintageMac #RetroComputing community for making this such a fun event every year! I love seeing all the greetings showing up in my drop box, and to my printer (which is now off for the year - but the PDF printer is available year round!) But I especially want to thank the following folks:
    - @kalleboo for TalkCrawler and for putting together an amazing GlobalTalk scavenger hunt!
    - @europlus for his hard work on the AIR Administrator's Manual Addendum and VM images for QEMU!
    - @scj for the GlobalTalk updater app!
    - @theirongiant for 68K Radio, which has been my background music while working on my vintage Macs this month!
    - @polpo for creating the ImageScribbler card which made it possible to send print jobs to so many more people this year!
    - @dmark for maintaining netatalk, making it possible to share files over AppleTalk directly from my NAS instead of having to keep an old Mac running all the time!
    - @DrJosh9000 for jrouter, which I'm looking forward to trying again now that the month is over and I can start messing around with my setup - it's had a lot of bugfixes and updates!
    - @_the_cloud and @jimluther , for sharing great knowledge from their time at Apple with the community (and for helping me troubleshoot some crashes)!
    - @RonsCompVids , @MuseumJoe , and @mac84tv for putting together the annual MARCHintosh event!

    Until next year!

  10. I can't believe I'm saying this, but I was able to log into my account on good old mac os 9. What's the point of this? The same as the first humans did when they ate everything in a row to see if it was poisoned or not. Or when they told their girlfriend, “Look what I can do.” Thank you so much for your help, @smallsco

    #RetroTech #macos #macstodon

  11. #Macstodon hit 300 stars on GitHub today: github.com/smallsco/macstodon/

    I feel bad that it still can't authenticate with the latest Mastodon release, but I just can't bring myself to work on it right now when I'm burned out from writing Python at my day job all day.

    (as always, contributions welcome!)

  12. Folks are posting about their #MARCHintosh plans, this year I really just have one set in stone and it's the one I didn't get to last year: organizing and archiving the giant collection of Mac floppies from my childhood. I'm pretty sure I've got a few apps that aren't archived online yet - or different versions of ones that are.

    Other, less concrete plans: better organizing my #GlobalTalk public folder and splitting off the Apple IP Gateway into its own VM. Also maybe trying other MacIP options like IPNetRouter and the VICOM Internet Gateway.

    "But what about the #Macstodon rewrite? Isn't that your big project?"

    That's not going to happen any time soon - I've been very busy with my day job since September, which involves a lot of coding, and I just don't feel like coding much in my off time. Now don't get me wrong, I still plan to do some, but not enough to have any kind of app ready by March. C'est la vie.

  13. (🧵 6/7) #Macstodon, REALBasic, and Proxies

    I've been planning - since last April - to start work on Macstodon 2.0. This is going to be a rewrite using REALBasic instead of MacPython, in the hopes of getting around many of MacPython's limitations - poor performance and memory leaks, primarily.

    But I discovered pretty quickly that REALBasic has its own set of problems - lack of support for custom LDEFs being a big one, unless you use a plugin. Fortunately there is such a plugin - Einhugur Software's CustomGrid, which incorporates the features I want. It has a big problem though, it corrupts the menu bar and window title font when running on 68k machines...and other plugins that provide comparable features don't work on 68k at all.

    I have a hard requirement that Macstodon needs to run with System 7.1 on a 68020 system. Sure, things would be a lot easier if I wrote something that was for PowerPC only, or required Mac OS 8 - but I'm stubborn like that!

    Anyway, after about 8 months (seriously) of trying different things, I've managed to find a solution that doesn't corrupt the menu and window title when rendering a custom grid with REALBasic. So now I can _actually_ proceed with the project... until the next roadblock, that is 😅

    Meanwhile, there's another problem with Macstodon, which is that it doesn't work correctly with
    Mastodon 4.3. Well...technically it's not Macstodon that's at fault here, the problem is that Mastodon 4.3 changed how the login page works, making it incompatible with vintage web browsers. So Macstodon can't do the initial login/authentication, unless you manually copy the authorization URL to a modern computer, log in there, and then copy the authorization code back into Macstodon. Yuck!

    To resolve that problem, I've been looking into MacProxy Plus (github.com/hunterirving/macpro) as a replacement for WebOne on the backend, via its' extension mechanism. In addition to SSL-stripping, this should let me "massage" the login form into a format that works with vintage web browsers. And not only that, but it'll also let me do things like transform the JSON that gets sent from the Mastodon API before it reaches the client, as some things are much easier to do with modern Python than in a vintage app.

    I've already made a bunch of contributions to the MacProxy Plus codebase already over the last few weeks, including support for SVG rendering and a number of bug fixes.

    So, between the MacProxy Plus work and the REALBasic work, things are _finally_ starting to come together for Macstodon 2.0. I'm sorry it's taken so long - and it's going to continue to be in development for a while - I'm taking things slow so I don't burn out, but work is picking up.

    Oh, and one more thing - I'm looking into Bluesky support for Macstodon 2.0 as well. No promises yet, but I'd like to do it 🙂

  14. Adding my two cents to this thread:

    For #Macstodon, I've always used the `authorization_code` grant flow, in order to support multi-factor authentication. The app would pop the browser, you would log in and get your code, and then copy and paste that code back into the app.

    This worked fine until Mastodon 4.3 - now, when trying to log in from a vintage Mac web browser, it will just hang, give a white screen, or show an error page.

    I'm all aboard the device code grant flow train. Requiring another device isn't a dealbreaker - Macstodon already requires the use of another device in order to run an SSL-stripping proxy, so I think that's a great long-term solution, and it doesn't sound very difficult to implement.

    When it comes to a short/mid-term solution, the personal access token option is probably fine? I'll have to read up more on how it works but I assume it's pretty similar to the existing oauth flow, the user would generate a code and provide it to log in instead of their username (and then the app could cache it). Hopefully it involves minimal code changes.

    I'm not opposed to there being some degree of friction when it comes to getting a retro client to work. I think most retro clients don't take themselves too seriously (Macstodon certainly doesn't), and the folks who use them are probably expecting that it's not going to be the smoothest experience. Like I said earlier, Macstodon already requires that you set up an SSL-stripping proxy, so what's another token on top of that?

    Ultimately what I care about is the least degree of friction for myself, as a developer. At the end of the day, Macstodon is a toy/hack project, and if I'm putting as much effort into it as I am into my day job, I'm going to burn out and become disinterested in working on it (which is why I've been avoiding a screen-scraping solution).

  15. If you’ve ever wanted to say thanks for #Macstodon or any of my other side projects with some disposable income, I ask instead that you please donate it to Child's Play (childsplaycharity.org) via Desert Bus For Hope ( @desertbus ) during their charity drive this week. It's a cause that I’m very passionate about.

    #DB2024 #DesertBusForHope

  16. I’m doing some preliminary investigation into the #Macstodon login issue on Mastodon 4.3. I haven't found the specific cause of the problem, but the error message (“Security verification failed, are you blocking cookies?") seems to imply a CSRF failure.

    I'm not entirely sure why the vintage Mac web browsers I've tried are unable to satisfy this requirement - maybe WebOne is mangling the CSRF cookie, I have to do more testing here.

    One approach to solving this problem would be to use the "password” OAuth grant type, rather than the "authorization_code” grant type that is currently being used. Basically, you would log in to Macstodon with your Mastodon username/password directly, instead of using a web browser. This is the same approach that is currently being used by #DOStodon (github.com/SuperIlu/DOStodon/b) and some other retro clients.

    However, there are two problems with using the "password” grant type:

    1. Not all servers support it. For example, compare the outputs of mastodon.social/.well-known/oa and urusai.social/.well-known/oaut - and note that mastodon.social lists "password" under "grant_types_supported”, but urusai.social does not (also, that endpoint doesn't exist prior to Mastodon 4.3, so if the server is running an older version you just have to perform trial and error to see if password grants are supported)

    2. MFA is not supported. If you're using multi-factor authentication with your Mastodon account, your only option is to log in using the "authorization_code" grant type. There is no option for appending your MFA token to your password.

    The other option is to use a hybrid approach, where Macstodon would continue to use the "authorization_code" grant type, but would prompt for a username and password as if it were using the "password" grant type. Rather than launching a web browser, it would make the request for the login page directly, fill in the user's credentials and post the form, then screen-scrape the result for the authentication code. This is the approach currently being taken by #MastAppleII (github.com/colinleroy/a2tools/).

    This approach is more brittle, and a much more challenging development effort, but it should work with most servers as well as for users with MFA.

    Of course, this approach has one big gotcha of its own - older and newer Mastodon versions are less likely to work correctly due to changes in the design of the login page. Perhaps the "password" grant type should still be offered as an option (if the server supports it), and we allow the user to choose how they want to log in? Or would that be too confusing for users? Alternatively we could try the hybrid approach first, and then fall back to the password grant type if that fails.

    Anyway, I'd love to hear your thoughts on how to approach this!

    RE: oldbytes.space/@smallsco/11331

    #RetroComputing #RetroProgramming #VintageMac #68K #PowerPC #Apple #Mac #MacOS #ClassicMac

  17. @smallsco That worked and here's my first tweet from #macstodon Nice!

  18. Attention #Macstodon users - it looks like Mastodon 4.3 has broken the login flow.

    I'll investigate later this week to see what can be done... more info in this quoted post: oldbytes.space/@smallsco/11331

    EDIT: reposted with hashtags, for visibility

    #RetroComputing #RetroProgramming #VintageMac #68K #PowerPC #Apple #Mac #MacOS #ClassicMac

  19. After seeing @ActionRetro ’s video on building a game for classic #MacOS using #REALBasic, I decided to take another look at RB.

    Something that's been on my to-do list for a while is to look into porting #Macstodon to RB, in the hopes of getting around many of the limitations I've run into with MacPython.

    But I hit a problem early on, which is that the only grid controls I've been able to find for RB2/3 either don't work at all on 68k systems, or if they do, they corrupt the font used in the menu bar and window titles.

    This font corruption only happens on 68k, and only on System 7. Installing the Appearance Manager partially fixes the issue - the font no longer changes, but the spacing of the menu bar and window titles is affected.

    Also, building a fat binary executable on a 68k host doesn't work properly for some reason, it will crash when run on PPC. But building it on a PPC host produces a binary that works on both architectures. mastodon.social/@stroughtonsmi

  20. Anyone had success making #macstodon work on System 7.1? Installed it on my Classic II. I have a WebOne proxy running on a RPi, with the mastodon server’s hostname added to the ForceHTTPs section. I can reach the url from Netscape, so I guess the proxy works as it should, but when trying to authenticate with Macstodon it still says that it’s unreachable and I should check my proxy settings. #macintosh #RetroComputing

  21. Greetings from #Macstodon, a classic Mac Mastodon client! This toot was written on a Performa 475 running MacOS 7.6.1 while also being connected to the #GlobalTalk network (zone BabCom).
    #retrocomputing

  22. I’ve just pushed an update to #Macstodon that fixes the installer so that it won't trash your system any more if you're running a localized/international version of Mac OS 7.1.

    Get it at the usual place: github.com/smallsco/macstodon/
    (it’s also available on #GlobalTalk in my Public share on 40Mhz is enough for anyone!)

    Sincere apologies to everyone who was affected by this, and a double apology for it taking over a month to get a fix in place - I've been extremely busy lately.

    With this updated installer, if you're on a non-English version of Mac OS 7.1, and your Finder version is below 7.1.3, instead of trying to automatically update it, the installer will pop a dialog and let you know that you'll need to update it by hand (and manually install the Finder Scripting Extension) if you want to use the text-to-speech functionality.

    AFAIK, this bug didn't affect anyone using System 7.5 or greater since we don't need to update the Finder in that case.

    #RetroComputing #RetroProgramming

  23. PSA - don’t install the latest #Macstodon release (1.2) if you are running an international version of the Mac OS, because my "clever" installer will "helpfully" overwrite localized OS components with English versions, if they're older 🤦

    I don't have a great way to fix this, I think what I'll do for the next release is try to detect international OS versions, just install the app, and maybe pop up a dialog that tells you what localized extension versions you need to hunt down and install on your own if you want to be able to use all the features. mastodon.social/@bjornheirman/

  24. Now that it’s been a few days since the big release, I want to talk about what’s next for #Macstodon!

    Working on the toot-to-speech feature, trying (and failing) again to tackle the memory leaks in PIL, and implementing stability patches have lead me to conclude that I've gone as far as I can with MacPython 1.5.2.

    So I'm starting to look into REALBasic as a potential new framework, something that's much more modern but still supports System 7, for what will ultimately become Macstodon 2.0. REALBasic has a great plugin ecosystem on Mac, and it looks like supporting things like JSON, SSL, and maybe even Unicode will be much easier when compared to MacPython.

    Now, the gotcha is that I'm not familiar with REALBasic. But I have dabbled in Visual Basic on Windows, and the learning curve is a lot less steep than trying to write C/Pascal code directly.

    Over the next few months, I'm going to start messing around with it, and we'll see just how feasible this idea is! Release next March? 😉

  25. 🎉 Announcing #Macstodon v1.2, the premier Mastodon client for vintage #Macintosh computers!

    This release features the all new Toot-To-Speech (TTS) technology! Select any toot, click the Speak button, and Macstodon will read the toot back to you, using whatever voice you have selected in the Speech control panel. It works with MacinTalk 2, 3, and Pro, all the way down to 68020 machines running System 7.1.

    Also featured in version 1.2 is improved stability and error handling. If Macstodon runs out of memory or encounters an unexpected error, it will save a log to the application folder, show you a dialog explaining what went wrong, and exit gracefully.

    Of course, all the usual features are still there including timeline/profile browsing, toot posting, and interactions!

    Download it from GitHub: github.com/smallsco/macstodon/
    (don't forget to read the Read Me file, it contains important setup instructions!)

    #MARCHintosh #RetroComputing #RetroProgramming #VintageMac #68k #PowerPC #Mac #MacOS

  26. Now, I've been speaking a lot about #Macstodon recently.

    But today, for the first time ever...

    ...I'd like to let Macstodon speak for itself!

    (this is the secret feature reveal, turn your sound up when watching the video!)

    #MARCHintosh #RetroComputing #RetroProgramming #VintageMac #Apple #68k #PowerPC #Mac #MacOS

  27. I’m really getting fed up with #SheepShaver. It loves to crash at random when doing any of the following:
    - clicking on an icon on the desktop and attempting to drag it (freeze)
    - clicking on an icon on the desktop and attempting to rename it (freeze)
    - trying to open a folder from the finder (bombs)
    - trying to connect to an afp server in the chooser (bombs)
    - booting the system (sometimes bombs while extensions are loading, sometimes freezes just before extensions start to load)

    This happens despite re-installing Mac OS 9 from scratch three times. The only thing I use this emulator for is to build the PPC version of #Macstodon, and even managing to get it to do that successfully is an exercise in patience these days.

    Anyway, I think I’m going to try setting up #QEMU tonight as my new PPC emulator. I looked into it a couple years ago but it had quite poor performance, hopefully it’s improved since then, but I’ll happily trade that off for some stability!

    #RetroComputing

  28. Van némi cápázás a bokor alatt, avagy fióka galambok berepülése történik mostanság #macska #cats #macstodon

  29. Van némi cápázás a bokor alatt, avagy fióka galambok berepülése történik mostanság #macska #cats #macstodon

  30. Van némi cápázás a bokor alatt, avagy fióka galambok berepülése történik mostanság #macska #cats #macstodon

  31. Van némi cápázás a bokor alatt, avagy fióka galambok berepülése történik mostanság #macska #cats #macstodon

  32. Van némi cápázás a bokor alatt, avagy fióka galambok berepülése történik mostanság #macska #cats #macstodon

  33. @smallsco Hi Scott. Just wanted to let you know I've been using Macstodon 1.0.1 and it's been smooth as butter and I'm really enjoying the new features! Really hope others give it a try, they are fantastic! #Macstodon #classicmac #68kmac #Marchintosh

  34. Hey #macstodon - Is it normal for large file copies (400-750GB) of many ~10-30MB files in one go, between two external drives to eat the *boot drive's* free space during the copy?

    I saw my free space go from 120GB down to 375*MB* while doing large copies. This was on a mix of NTFS and APFS drives (boot and destination - APFS, source - NTFS in read-only mode), but when I reformatted the destination drive to HFS+, this does not happen.

    Any ideas?

    #macOS #filesystem #filecopy #debugging