fosstodon.org is one of the many independent Mastodon servers you can use to participate in the fediverse.
Fosstodon is an invite only Mastodon instance that is open to those who are interested in technology; particularly free & open source software. If you wish to join, contact us for an invite.

Administered by:

Server stats:

8.8K
active users

#openstep

2 posts2 participants0 posts today
Jeffrey Bergier<p>Haha, there is no way this will be approved the first time.... But I started the process of getting MathEdit for <a href="https://jeffburg.social/tags/OpenStep" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenStep</span></a> on Mac App Store!</p>
Jeffrey Bergier<p>Well thats it folks! The grand renaming is complete: [Not]Soulver is now MathEdit for <a href="https://jeffburg.social/tags/OpenStep" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenStep</span></a></p><p>This was a lot of work because it includes all the files, classes, type names, etc. I also fixed some critical bugs required before submitting to the app store.</p><p>Take a look at the new screenshots and of course, there are all new builds for all systems. So please download and use.</p><p>Next is app store submission!</p><p><a href="https://github.com/jeffreybergier/MathEdit/pull/53/files" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/jeffreybergier/Math</span><span class="invisible">Edit/pull/53/files</span></a></p>
Jeffrey Bergier<p>I spent way too much time fiddling with the icon for MathEdit for <a href="https://jeffburg.social/tags/OpenStep" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenStep</span></a>. I ended up making 3 different icons depending on the size. You can see how they gradually remove detail as they get smaller. </p><p>I am not an icon designer. Its a field I highly respect because its insanely difficult. I did the best I can, and while everything can always improve but I think this is good enough for now.</p><p>As for why ‘42’? Well, obviously I'm a good nerd and like The Hitchhiker's Guide to the Galaxy. But also, this MathEdit for OpenStep and what was the last OS version number for OpenStep? 4.2. So I think it fits with the theme and the heritage of the project.</p><p><a href="https://github.com/jeffreybergier/NotSoulver/commit/e98aa904b705c0746b428cc76f03a122264c0326" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/jeffreybergier/NotS</span><span class="invisible">oulver/commit/e98aa904b705c0746b428cc76f03a122264c0326</span></a></p><p>1/2</p>
Jeffrey Bergier<p>Ok, I take it back, the last icon for MathEdit for <a href="https://jeffburg.social/tags/OpenStep" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenStep</span></a> was dreadful! Trying a new approach... it still needs some work at smaller sizes, but I think its a big improvement.</p>
Jeffrey Bergier<p>As part of the renaming of [Not]Soulver to MathEdit for <a href="https://jeffburg.social/tags/OpenStep" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenStep</span></a>, I started working on a new icon. I am no graphic designer, but after a few hours with SF Symbols and some greek letters ωε, I was able to make an icon in Icon Composer beta for macOS Tahoe and I think it looks... ok. Not great but OK.</p><p>The strange thing is that between Mac OS X Snow Leopard and Tahoe, the Icon Composer application version shrank from 2.1.1 to 1.0 🤔🤣</p>
Jeffrey Bergier<p>Holy crap! The long saga is over! I finally removed all of the NIBs from [Not]Soulver for <a href="https://jeffburg.social/tags/OpenStep" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenStep</span></a>! </p><p>This reinforces what I think about Mac development. ALWAYS start with a NIB. MainMenu.nib was particularly hard to replace as there is a lot of magic 🪄 going on in the menu.</p><p>But I did it! I basically tried to copy the menu from TextEdit. Not all features work in all OS versions, but all the TextEdit features work including zooming which is awesome!</p><p>So, there are all new builds for all OS's so give it a try. I'll drop in the Notarized Universal Build link here: <a href="https://github.com/jeffreybergier/NotSoulver/blob/main/Builds/Z15%20-%20Sequoia/2025-07-05%20-%20Soulver.zip" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/jeffreybergier/NotS</span><span class="invisible">oulver/blob/main/Builds/Z15%20-%20Sequoia/2025-07-05%20-%20Soulver.zip</span></a></p><p>If you want to see what a pain doing the menu yourself is, read it and weep! <a href="https://github.com/jeffreybergier/NotSoulver/blob/3ab8c341bc6f7f52aaabfe37e7c6ae1a07d09abb/Soulver/SVRAppDelegate.m#L413-L703" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/jeffreybergier/NotS</span><span class="invisible">oulver/blob/3ab8c341bc6f7f52aaabfe37e7c6ae1a07d09abb/Soulver/SVRAppDelegate.m#L413-L703</span></a></p>
Jeffrey Bergier<p>Holy fucking shit! After so much struggling, I finally got the Application menu to work correctly [Not]Soulver for <a href="https://jeffburg.social/tags/OpenStep" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenStep</span></a> in 10.4 Tiger and 10.2 Jaguar. It was thanks to none other than <span class="h-card" translate="no"><a href="https://mastodon.social/@lapcatsoftware" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>lapcatsoftware</span></a></span> , or really his old blog post:</p><p><a href="https://lapcatsoftware.com/blog/2007/06/04/working-without-a-nib-part-2-also-also-wik/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">lapcatsoftware.com/blog/2007/0</span><span class="invisible">6/04/working-without-a-nib-part-2-also-also-wik/</span></a></p><p>Turns out NSApplication responds to the selector `setAppleMenu:` and it was even published in the headers pre-Tiger. Its interesting that it still works in macOS 15, but AFAIK is no longer needed as of 10.6.</p><p>Anyway, I'm fucking ecstatic, this long drama of removing my NIB files is over and I can finally move on with my life!</p><p><a href="https://github.com/jeffreybergier/NotSoulver/commit/cf2661027d4a6458b87d033b6e0dd6f942e7d6e2" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/jeffreybergier/NotS</span><span class="invisible">oulver/commit/cf2661027d4a6458b87d033b6e0dd6f942e7d6e2</span></a></p>
Jeffrey Bergier<p>I think I am going to change the name [Not]Soulver for <a href="https://jeffburg.social/tags/OpenStep" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenStep</span></a> to MathEdit for OpenStep and release in the Mac App Store. I think the project has gotten to a level of polish and as well, different enough from Soulver that I will set it apart and let it live on its own.</p><p>I think I will make it paid on the Mac App Store, if people want to support development but continue for it to be FOSS and available via Github.</p><p>And yeah, I think I did everything I need to do to squat the name on the app store... not sure though.</p>
Jeffrey Bergier<p>I am almost done removing the MainMenu NIBs from [Not]Soulver for <a href="https://jeffburg.social/tags/OpenStep" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenStep</span></a>. Pretty much everything is working great across all platforms with my menu generation code. However, on Mac OS X 10.4 Tiger and 10.2 Jaguar, I am having an issue where the Application menu shows twice. The first instance is blank and the second is the real one.</p><p>ChatGPT gave me all kinds of hints about naming the things either the exact name of my app or empty strings or other things and I tried everything and nothing resolves the issue.</p><p>If there are any old school Mac devs out there I could really use your help!</p><p>See attached screenshots for OpenStep (good), Tiger (bad), and Snow Leopard (good) to see what the problem is.</p><p><a href="https://github.com/jeffreybergier/NotSoulver/blob/f1168120bdad7bfba47cc89ec8119bdae1c76223/Soulver/SVRAppDelegate.m#L406-L654" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/jeffreybergier/NotS</span><span class="invisible">oulver/blob/f1168120bdad7bfba47cc89ec8119bdae1c76223/Soulver/SVRAppDelegate.m#L406-L654</span></a></p>
Jeffrey Bergier<p>Ok! I finally managed to redo the design of the Settings→General screen for [Not]Soulver for OpenStep to be metrics compatible across systems. I think it looks a lot better now. Here is a screenshot of the new UI on <a href="https://jeffburg.social/tags/macOS26" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>macOS26</span></a> and <a href="https://jeffburg.social/tags/OpenStep" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenStep</span></a>. Video to follow in next reply.</p>
Jeffrey Bergier<p>I admit that I have never added an NSSlider in code before, but I saw in the <a href="https://jeffburg.social/tags/OpenStep" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenStep</span></a> documentation that it has a -setTitle: property. However, I tried to use this and in Xcode I got this quite stern warning</p><p>'setTitle:' is deprecated: first deprecated in macOS 10.9 - -setTitle: had no effect since 10.0</p><p>But after trying it, it appears it has no effect in OpenStep either. I want to know the back story here. What happened?? lol</p>
Jeffrey Bergier<p>Omg. This is so dangerous. A bunch NeXT black hardware just dropped on Japanese Yahoo. I must resist. I have no space for this stuff… but I want it so badly! <a href="https://jeffburg.social/tags/OpenStep" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenStep</span></a></p>
Jeffrey Bergier<p>It doesn't look great, but yes [Not]Soulver for <a href="https://jeffburg.social/tags/OpenStep" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenStep</span></a> builds and runs with no issues in Xcode 26 and macOS 26. I think I just need to pick some new button styles and it will be fully up and running again 😎</p>
Jeffrey Bergier<p>Finally finished removing the NIB for the About, Keypad, and Settings windows in [Not]Soulver for <a href="https://jeffburg.social/tags/OpenStep" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenStep</span></a>. I think it came out really well. Things line up super nicely now. </p><p>Everything is pixel perfect except for the General page on OSX. At some point, Apple stopped letting you set an arbitrary height for an NSPopupButton... which is good because they were ugly... but now my layout is meh for that page. I will need to come up with a new design.</p><p>Earlier I said I did some Vibe coding by asking Gemini to convert the XIB file into objective C code. I did NOT end up using any of that code, but I can report that Gemini produced 1,577 lines of Objective-C slop and I ended up producing 915 lines of code.</p><p>So yay for human programmers! Less code is better code IMHO</p><p><a href="https://github.com/jeffreybergier/NotSoulver/pull/44/files" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/jeffreybergier/NotS</span><span class="invisible">oulver/pull/44/files</span></a></p>
Jeffrey Bergier<p>Ok, so I admit the view is not very complex, but in [Not]Soulver for <a href="https://jeffburg.social/tags/OpenStep" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenStep</span></a>, I don't need any overly complex autolayout code. Just a few autoresizing masks will allow for the expected behavior. Here is a video of the same Objective-C code running 30 years apart with the exact same result! Pretty cool!</p><p><a href="https://github.com/jeffreybergier/NotSoulver/commit/c70a7ffe564a46e4158ba9587526b1bc661b76c6" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/jeffreybergier/NotS</span><span class="invisible">oulver/commit/c70a7ffe564a46e4158ba9587526b1bc661b76c6</span></a></p>
Jeffrey Bergier<p>I am trying some VIBE coding for [Not]Soulver for <a href="https://jeffburg.social/tags/OpenStep" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenStep</span></a>. I just asked Gemini to convert a XIB file with 3 very complex windows into 3 NSView subclasses in ancient Objective C:<br>- No automatic reference counting<br>- Not C99 compliant (meaning all variables need to be declared at the top of the method)<br>- No autolayout or autoresizing masks<br>- Pixel perfect please</p><p>I got 3 reasonable files out of it! I didn't try to compile it yet... but this will save me hours of work in trying to get rid of my nibs. I have 4 versions of each NIB to support OpenStep to Jaguar, to Snow Leopard to Catalina... so I think doing them in code will save a lot of time anything changes.</p>
Jeffrey Bergier<p>All right, I got undo working in [Not]Soulver for <a href="https://jeffburg.social/tags/OpenStep" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenStep</span></a>. It turns out that I was right... NSDocument automatically handles undo and redo for you AND actually it was working in 10.2, 10.4, 10.6, and 10.8.... but I just never tried.</p><p>But in 10.10 Yosemite, Apple improved how the responder chain works to automatically include NSViewController in the responder chain. And because I was overriding things to manually add it, it broke undo support in 10.10 and later.</p><p>But I worked around this (by not working around this 🙄) and now its working everywhere (except OpenStep which does not have NSDocument or NSUndoManager). </p><p>Please enjoy the new builds 🙇‍♂️<br>I recommend the X15 build as it runs natively on Apple Silicon.</p><p><a href="https://github.com/jeffreybergier/NotSoulver/commit/987226c5e178b8f46e2983457c66dd4a2ed465e3" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/jeffreybergier/NotS</span><span class="invisible">oulver/commit/987226c5e178b8f46e2983457c66dd4a2ed465e3</span></a></p>
Jeffrey Bergier<p>No shiny new screenshots in this update to [Not]Soulver for <a href="https://jeffburg.social/tags/OpenStep" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenStep</span></a>. But this time around, I wanted to get Automatic Save, Automatic Resume and Automatic Termination configured and working properly. These were all introduced in 10.7 Lion, but they were controversial and in 10.8 Apple changed the defaults to make it seem like these features basically don't exist any more.</p><p>But I still like them... buried in Settings→Desktop&amp;Dock→Windows are 2 strangely named settings "Ask to keep changes when closing documents" and "Close windows when quitting an application." I make sure these are both off because I like everything to just open and close as if I nothing ever happened.</p><p>So now [Not]Soulver supports this. It took quite a bit of refactoring my NSDocument subclass as this is the first time I have made an NSDocument application and its all a bit new to me. But the benefit is I was able to get rid of the NIB's for the document window. I also had to spend hours troubleshooting Automatic resume not working. It turns out if you do not have a bundle identifier then state preservation and state restoration will just silently fail. And since this app has its origins before bundle identifiers existed, every time I upgraded the Xcode project, this field just remained blank. </p><p>I added a bundle identifier and now it works! I also enabled the sandbox entitlement so you can feel rest assured I won't steal all of your data. 🥷</p><p>Please download the latest Apple Silicon build with the link below. Next up, I will get this running in Xcode 16 so I can sign and notarize future builds 😎</p><p><a href="https://github.com/jeffreybergier/NotSoulver/blob/cd9a0f7fdb0896747a0dbf22bc3ca2b15e8d98b2/Builds/X15%20-%20Catalina/2025-05-17%20-%20Soulver.zip" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/jeffreybergier/NotS</span><span class="invisible">oulver/blob/cd9a0f7fdb0896747a0dbf22bc3ca2b15e8d98b2/Builds/X15%20-%20Catalina/2025-05-17%20-%20Soulver.zip</span></a></p>
Jeffrey Bergier<p>And there it is folks! [Not]Soulver for <a href="https://jeffburg.social/tags/OpenStep" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenStep</span></a> is now Universal binary that runs natively on my M1 MacBook Air! Wow, what a journey! I will still be polishing some small problems but I have now accomplished my goal! </p><p>I am now running a native OpenStep app written in Objective-C with:<br>❌ No Swift<br>❌ No Automatic Reference Counting<br>❌ No Property Synthesization<br>❌ No Blocks<br>❌ No Fast Enumeration<br>❌ No Collection Literals<br>❌ No Dispatch Queues</p><p>Quite amazing that Apple has been able to maintain source compatibility in Foundation and AppKit for 30 years!</p><p>Please try it yourself! It’s not notarized (that will come later), but it should run on your Apple Silicon Mac.</p><p><a href="https://github.com/jeffreybergier/NotSoulver/commit/6afe081c7a7dc8f3895ce730a534366d996c6a19" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/jeffreybergier/NotS</span><span class="invisible">oulver/commit/6afe081c7a7dc8f3895ce730a534366d996c6a19</span></a></p>
Alexander Deplov 🇩🇪<p>Here is a demo showing how such software produces a human voice.<br> <br><a href="https://mastodon.social/tags/NeXT" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>NeXT</span></a> <a href="https://mastodon.social/tags/NEXTSTEP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>NEXTSTEP</span></a> <a href="https://mastodon.social/tags/NeXTstation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>NeXTstation</span></a> <a href="https://mastodon.social/tags/NeXTCube" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>NeXTCube</span></a> <a href="https://mastodon.social/tags/OS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OS</span></a> <a href="https://mastodon.social/tags/OpenStep" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenStep</span></a> <a href="https://mastodon.social/tags/DisplayPostScript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DisplayPostScript</span></a> <a href="https://mastodon.social/tags/PostScript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PostScript</span></a> <a href="https://mastodon.social/tags/GUI" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GUI</span></a> <a href="https://mastodon.social/tags/UNIX" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>UNIX</span></a>#apple <a href="https://mastodon.social/tags/macos" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>macos</span></a> <a href="https://mastodon.social/tags/mac" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>mac</span></a></p>