It’s alive!! Go grab it now & Get Stuff Done 👊
The best part? Not only it will make you more productive, but its also free 🙂
More to come,
Marc
by Marc Maset
It’s alive!! Go grab it now & Get Stuff Done 👊
The best part? Not only it will make you more productive, but its also free 🙂
More to come,
Marc
After over a year in the making – I’m excited to announce another signficant milestone: Starlight has gone gold!
Its effectively ready to ship, what’s more, it’s also approved for sale by Apple — feels… pretty good
With the app gone gold, I’m now switching to getting ready to ship! Among other things, that includes working on:
– Finalizing website
– Preparing press kits
– Preparing relevant posts
– Contacting reviewers
– Setting launch date
On the website side, although for past apps I used RapidWeaver, I decided to go for something more focused & clear and decided to do it myself. Let me know what you think: https://getstarlight.app
Looking forward to share more with you shortly, comments / feedback? Find me at mastodon.social/@MarcMasVi or @MarcMasVi
Marc
PS. The website clean look is inspired by Marco’s Overcast – (Podcast app, 100% recommend)
With all the talk & articles about GPT, a few weeks ago I decided to spend a couple days coding one from scratch.
The training size can’t be the same (for $$$ reasons), but the model can follow a very similar architecture to the one used by GPT-3. As long as we narrow the training data, we can get amazing results – in my case I used US legal corpus data, which is widely available online.
I found this experience very valuable to better understand how this new models can improve & be used in the future. If you want to follow along I do recommend reading the paper GPT is based upon, and also the great implementation from Andrej.
If you have interest in this area, and know the basics of AI / Python, def. recommend the experience. Personally, I think the impact to society will be very significant – although probably not in the obvious ways we’re imagining.
It’s amazing to think all of this is based on math, we’ve come a long way…
Here’s the code I wrote for reference, I optimized it for M Macs to take advantage of their GPUs so it trains a lot faster. Note the faster your GPU the faster it will train, also time will depend on the amount of the training data. I used an M1 Max w. 32 GPU cores and 64 GB RAM, and it took me a about two hours to train.
Comments / Feedback? Find me at mastodon.social/@MarcMasVi or @MarcMasVi
Happy coding,
Marc
Even though in their infancy, ChatGPT, Copilot & OPT are already impressive tools. The impact on how we work will be significant and, although expertise will still be critical, people who leverage AI will have an edge over people who don’t.
I started increasingly using Bing Chat (which uses GPT-4 behind the scenes) to parse Apple documentation and help finding solutions when stuck… And it’s been quite helpful.
I now treat Bing Chat, the same I would Stack Overflow or Web Search. Here’s an example on something it helped me on today:
Clearly not perfect, but it led me in the right direction & helped me identify what I needed:
textView.enclosingScrollView?.findBarPosition = .belowContent
And voila!
Definitely recommend using it as part of your workflow. Btw Microsoft wants you to use Edge to use Bing Chat – but you can just enable Dev. Mode in Safari and set the “User Agent” to Edge.
Interesting times we’re living in! Excited about the future.
Comments / Feedback? Find me at mastodon.social/@MarcMasVi or @MarcMasVi
Marc
SF Symbols are hugely helpful to help accelerate the development process, Apple has done an amazing job at providing a huge variety of them – all looking great & working well with one another.
If you’re a developer and are not familiar with them, you’re missing out – go download them.
One minor caveat to be aware of though is that you can’t just call the Unicode codepoints. As I learned today, these will not work unless you have the design fonts installed.
So, for instance this…
…will not render. Wops!! The right way to call it would be:
Alternatively, you could also use Label(“someText”, systemImage: “flag”)
Happy coding! Comments / Feedback? Find me at mastodon.social/@MarcMasVi or @MarcMasVi
Marc
There’s a lot of chat right now about ChatGPT. And, although the technology may be a bit overhyped, some of the use-cases it enables have the potential to change the way we work:
Here’s one, from the Verge:
“Intelligent recap is the big new addition to Microsoft Teams Premium […]. Intelligent recap uses OpenAI’s GPT-3.5 model to generate meeting notes and highlights even if you weren’t present in a meeting.”
https://www.theverge.com/2023/2/2/23582610/microsoft-teams-premium-openai-gpt-features
Interesting times,
Marc
I was not expecting much from “The Last of Us” from HBO, after so many poor adaptations of video-games, what could one look forward to? Well, I’m glad to say I was wrong.
The first two episodes have been so fun to watch. If you enjoyed the game, do check them out.
Faithful to the material too 🙂 Here’s hoping the rest of the season is as good as the first episodes.
Marc
After 18 months of work…
…I’m excited to announce that MarsManaged has reached a major milestone, it’s now in Beta.
In the following weeks I’ll be opening up more testing seats, can’t wait for your candid feedback -and bug reports-!
Until then, here’s a sneak peak of the latest version of the app.
CARD’s section:
ACTIONS section:
The way you do Product Management will never be the same 🙂
Stay tuned! Comments / Feedback? Find me at mastodon.social/@MarcMasVi or @MarcMasVi
Marc
After spending an embarrassing amount of hours trying to get TextField to do what I needed on macOS I decided to try NSViewRepresentable + NSTextField.
I was fully prepared to spend the night on this… Yet I got it done in 30m 😮
Lesson learned! Going forward, when a SwiftUI object is not mature enough I will not try to hack it with modifiers… Instead, I will go straight to AppKit or UIKit. I know I’m loosing portability – which is why I spend so much time trying to do it all in SwiftUI – but, especially on macOS, SwiftUI sometimes is just not yet there.
So, about linking to AppKit or UIKit… Online there’s a lot of, shall we say, over-engineered examples? Frankly, I believe it puts off a lot of people -including myself-, even though its actually very easy.
Below is the leanest approach I found to link to any AppKit/UIKit class and their respective delegate. For this example I’m linking to NSTextField, but you could do it just as easily with any class.
Here’s how you call it from SwiftUI once implemented:
OSXTextField(textOfWhatToDisplay: someContent)
And here is the wrapper code for NSTextField, all self contained within a Struct:
struct OSXTextField: NSViewRepresentable {
var textOfWhatToDisplay: String
func makeNSView(context:Context) -> NSTextField{
let osTextView = NSTextField(string: textOfWhatToDisplay)
osTextView.delegate = context.coordinator
// osTextView.isBordered = false //example of calling NSTextField
// osTextView.drawsBackground = true //
return osTextView
}
func updateNSView(_ nsView: NSTextField, context: Context) {
}
func makeCoordinator() -> Coordinator { //Called automatically by SwiftUI if implemented, used to trigger delegate
Coordinator(parent: self)
}
class Coordinator: NSObject, NSTextFieldDelegate {
var parent: OSXTextField
init(parent: OSXTextField) {
self.parent = parent
}
//NSTextFieldDelegate methods would go here
}
}
This experience, all the hours I put into getting TextField to work, has also been a great reminder of the sunk-cost fallacy.
Comments / Feedback? Find me at mastodon.social/@MarcMasVi or @MarcMasVi
Marc
As Eisenhower said “Plans are worthless, but planning is indispensable”, so… In no particular order, my plan for 2023 is to:
1. Ship MarsManaged for macOS sometime before June, add iOS versions before EOY
2. Complete two more AI courses & tackle several problems that interest me where ML can make a significant difference
3. Read a book every month, summarizing it for later review in DevonThink (my second, and better?, brain)
3. Exercise & meditate at least 4 times a week
4. Find fellow indie devs in San Diego, where my wife and I recently moved
I’ll keep you posted on progress! Hope you all had an awesome end of the year and a great start of 2023!
Comments / Feedback? Find me at mastodon.social/@MarcMasVi or @MarcMasVi
Marc
PS. The GIF above is from The White Lotus, my wife and I really loved the show.