drahardja, to random
@drahardja@sfba.social avatar

I’ve written down most of what I’ve learned about xcframeworks into this blog post. I hope it can be a one-stop shop to answer all your practical questions, including:

  • What is an xcframework?
  • What’s in an xcframework?
  • How do I make an xcframework?
  • How do I consume an xcframework?

Enjoy and please share!

https://www.humancode.us/2023/05/19/all-about-xcframeworks.html

drahardja,
@drahardja@sfba.social avatar

I added a little note to explain why xcframeworks are needed in the first place. Thanks to @brennansv for the suggestion.

https://www.humancode.us/2023/05/19/all-about-xcframeworks.html

rocketsoup, to programming
@rocketsoup@mastodon.social avatar

The #Swift language has guard statements that work like an assertion and require you to bail out in some way if the condition is false. But I often see them misused. Here are some antipatterns I've seen in our codebase, why they're incorrect, and suggested improvements. #development #programming

Bad Swift code sample begins. func doATask() { guard condition else { doATaskInThisWay() return } guard condition else { doATaskInThisOtherWay() return } doATaskInOneLastWay() } Bad Swift code sample ends. This method is improperly using guards to branch to three submethods of coequal importance. None of the branches is the normal or abnormal path. They simply separate out different ways to approach the same main task. Better structured as if/else if/else or switch/case. It's also visually clearer that these are three similar paths the code could go. Fixed Swift code sample begins. func doATask() { if condition { doATaskInThisWay() } else if condition { doATaskInThisOtherWay() } else { doATaskInOneLastWay() } } Fixed Swift code sample ends.
Bad Swift code sample begins. func viewWillAppear() { super.viewWillAppear() updateViews() updateData() guard let event = event else { return } log(event) updateMoreStuff() } Bad Swift example ends. Overreach of early exit. viewWillAppear is a common event handling method in iOS view controllers that often kicks off lots of different subtasks and may be subject to frequent edits as features and behavior change. A careless developer not paying close attention to all the things this method is doing may just tack on their subtask at the bottom without noticing the early exit. Event handlers are usually not a good place to use guards since they may wind up dispatching several different tasks. Either use if blocks or call out to more focused task methods that can guard/return as needed. Fixed Swift code begins. func viewWillAppear() { super.viewWillAppear() updateViews() updateData() if let event = event { log(event) } // or logEventIfNeeded(event) updateMoreStuff() } Fixed Swift code ends.
Bad Swift code example begins. func handleResponse(response: Any?, error: Error?) { guard let error else { doStuffWithResponse(response) return } handleError(error) } Bad Swift code example ends. Inverted logic. A guard should filter out degenerate cases leaving the normal, intended logic below. Here the developer may have been motivated by needing to unwrap error. A better solution would be to use a simple if/return. Fixed Swift code example begins. func handleResponse(response: Any?, error: Error?) { if let error { handleError(error) return } doStuffWithResponse(response) } Fixed Swift code example ends.

dedsyn4ps3, to rust
@dedsyn4ps3@fosstodon.org avatar

Ohhh #golang , how much I've missed you!!! No offense to you #rust (I'm still giving you some attention) 😉

Now that I've been setting aside a little bit of time to server API updates and CLI #development , I'm reminded of how easy it is to write straightforward micro-services with Go 🤘 :golang: 😎

anderseknert, to opensource
@anderseknert@hachyderm.io avatar

When you contribute to an #OpenSource project via #GitHub: please allow the reviewer of your PR — who asked a question or suggested a change — to determine when a conversation is "resolved".

Even if you're 100% sure you've fixed something as was asked, don't assume the person on the other end noticed. Better to tell them you've fixed it and have them close the conversation once they've had a chance to confirm that.

#development #code #oss

ant_games, to gaming Ukrainian
@ant_games@mastodon.gamedev.place avatar
Jax_, to javascript

I couldn't find an offline browser based text editor so i made one myself! Its pretty bare bones and requires you to manually unregister the service worker but it works! (I'll try to make it so you dont have to eventually)

https://textedit.labbolab.repl.co/

Features:

Plaintext editor

You can upload files

You can also download the text

Offline use!

Works on mobile!

#JavaScript #js #WebDev #dev #development #html #webtools #programming

(If you find this helpful please boost this! (no pressure of course ^^))

sonny, to linux
@sonny@floss.social avatar

Libadwaita + Blueprint 😍

“Breakpoints are used to create adaptive UI, allowing to change the layout depending on available size.”

Breakpoint will be available in Libadwaita 1.4 (GNOME 45)
They are already supported in Blueprint 0.8

https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.Breakpoint.html

Thanks @alice and @flyingpimonster for another great primitive to build responsive apps.

#Linux #development

khalidabuhakmeh, to gamedev
@khalidabuhakmeh@mastodon.social avatar

If you do #game #development and use #JetBrainsRider, #Unity, or #Unreal then you might be interested in attending the #JetBrains free virtual conference.

Last year we had a pair of folks do their whole presentation as a video game. It was bonkers!

https://blog.jetbrains.com/dotnet/2023/05/15/jetbrains-gamedev-day-2023-call-for-speakers/

flyingpimonster, to linux

I've released Blueprint 0.8.0! This is a big update that includes some syntax changes and a bunch of newly supported features, including custom syntax for new widgets. Now go build awesome apps!

https://gitlab.gnome.org/jwestman/blueprint-compiler/-/releases/v0.8.0

vinzv, to random

Whoa, what a week!

For six days we had a group of @kde Plasma devs at our office, gathered to plan, discuss, hack and improve what will become Plasma 6 in the near future. We provided them with everything necessary, the idea in mind to contribute to Plasma's development also in quite practical way. Myself, I had the chance to do the overall organization from a first contact back in 2020 until waving goodbye on Wednesday.

And I have to say: it was a blast! 🤗

vinzv,

From a community and user perspective, I wanna thank my employer @tuxedocomputers for their efforts and commitment on any areas in that regard. It is something the overall F/LOSS community profits from! 💙 🐧

(Photo shamelessly stolen from Nate Graham)

#community #grateful #KDE #LinuxDesktop #development

amoroso, to books
@amoroso@fosstodon.org avatar

The SICP-inspired book "Software Design for Flexibility: How to Avoid Programming Yourself into a Corner" seems interesting but abstract.

Do the software design techniques it presents have practical applicability and value in ordinary programming? Have you read the book? What do you think?

https://mitpress.mit.edu/9780262045490/software-design-for-flexibility

#scheme #books #development

winslowjosiah, to webdev
@winslowjosiah@hachyderm.io avatar

You know what really annoys me?

When my phone decides to #cache some parts of my #website and not update them while it's in active #development.

My fancy nav menu shows up on my phone as a standard list of links. Apparently the #CSS isn't updating, but the #HTML is. Weird.

AstraKernel, to infosec
atomicpoet, to fediverse

All those tech bros and press and influencers thought they could dismiss the Fediverse because #Mastodon is “hard” and doesn’t have quoted posts.

They think with a little Silicon Valley money and magic they can beat us.

Well, everyone in the NBA thought they could beat the Bulls until Dennis Rodman joined the team. We know how that went.

#Calckey is the Dennis Rodman of the Fediverse.

jo,

@atomicpoet I think whatever we become we'll really only have 'succeeded' if leads the way with ahead of features and scale.

The Calckey I see would

  • have a diverse team of folks that has the time to listen to the safety discourses, and the lived experience to know why safety matters, and informs their decisions.
  • make importing or integrating third party tools easypeasy, so no user finds themselves on an new server that's open to dogpiled by the worst elements of the .
  • have robust features that are as important to promote as and .
  • have granular user controls for - opt-in & opt-out; and features - like turning down/off MFM when it's overwhelming without a user needing to resort to CSS scripts.
  • not really care to be a birdsite or alternative. Let's work to be a better secret third thing, or fourth, or fifth thing.

If we really have to duplicate the big influencer account thing, I'd like to see more non-White, autistic, disabled, queers, and women voices. They're here, but they're often forced to be critics of a newer hegemony. Let's be listening for how can Calckey become the main service of choice for Black, POC and Indigenous women to join, spin up servers, become developers, and have prominent voices on. The rest of the good stuff will follow that.

I think we can do that, but only if we prioritise, and promote minority voices, and do the structural work to support them coming to the service.

sonny, to linux
@sonny@floss.social avatar

Tip: you can open GTK or Libadwita demos for a specific GNOME version using

flatpak run --socket=wayland --command="gtk4-demo" org.gnome.Sdk//44

If you omit //44, flatpak will ask you which version to use.
You can install a new version with flatpak install org.gnome.Sdk//43

gtk4-demo, gtk4-widget-factory, adwaita-1-demo

#flatpak #development #Linux #GTK #libadwaita

sonny, (edited ) to random
@sonny@floss.social avatar

Should Workbench install desktop app entries for Adwaita Demo, GTK Widget Factory and GTK Demo ?

To be clear, they're already available from Workbench menu, this would let you start them without opening Workbench.

#GTK #libadwaita #development #GNOME

markwyner, to programming
@markwyner@mas.to avatar

Code only gives us a hard time when we give it a hard time. But, in the end, it really loves us. And we love it back. Writing code is empowering and fun, even when it’s not.

Where I spent time today:

HTML
CSS
Javascript
JSON
YAML
PHP
Ruby

#Development #Coding #Programming

oscarmlage, to coffee Spanish

Friendly reminder: we often overcomplicate our work and forget to appreciate life's simple pleasures. No fancy setup or powerful computers are needed to get the job done. Sometimes, less really is more.

#coffee #dev #remotework #wfh #codelife #developer #tmux #vim #nvim #development #devops #coffice #micropost

lefebvre, to random
@lefebvre@hachyderm.io avatar

My Xojo presentation from XDC 2023 in London is now available on YouTube:

https://youtu.be/V4KVeQ6Xp80

#Xojo #MultiPlatform #Development

gaycookie, to random

I wish the manifest.json on Fediverse instances would also tell you what software is running, this would be amazing information. ​:ablobcatcoffee:​ #nerdy #development

parcifal, to random
@parcifal@hachyderm.io avatar

What is everyone's opinion on the following branch strategy?

Feature Branch -Merge Into-> Development -Merge Into-> Main

Some people are saying to Feature Branch -Merge Into-> Main -Merge Into-> Development

#git #development

adamsdesk, to random
@adamsdesk@fosstodon.org avatar

Pulsar Project: A New Text Editor

Updated with many revisions...

  • add more features
  • add what's missing
  • add default packages
  • add default themes
  • fix text related to time

https://www.adamsdesk.com/posts/pulsar-project-text-editor/

#development #TextEditor @pulsaredit

kainoa, to random

Any mobile developers out there? 👀

samleegray,

@kainoa I have been looking for a reason to learn #Android #development more(I specialize in anything #Apple & serverside) - so this may be that project I've been looking for.

I'll be entirely honest though, $200 is not super enticing in of itself. It won't be the reason I decide to pursue creating an app or not. I'm sure it'll help get the word out though! 🪩

inautilo, to webdev
@inautilo@mastodon.social avatar

#Design #Development #Guidances
The problem with sticky menus and what to do instead · Sticky menus hurt UX far more than they improve it https://ilo.im/12suiu


#UxDesign #UiDesign #WebDesign #WebDevelopment #WebDev #StickyMenu #Content #Usability #Accessibility #A11y

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • ngwrru68w68
  • everett
  • InstantRegret
  • magazineikmin
  • thenastyranch
  • rosin
  • GTA5RPClips
  • Durango
  • Youngstown
  • slotface
  • khanakhh
  • kavyap
  • DreamBathrooms
  • provamag3
  • tacticalgear
  • osvaldo12
  • tester
  • cubers
  • cisconetworking
  • mdbf
  • ethstaker
  • modclub
  • Leos
  • anitta
  • normalnudes
  • megavids
  • lostlight
  • All magazines