@drahardja@sfba.social
@drahardja@sfba.social avatar

drahardja

@drahardja@sfba.social

Software since 1998. Ex-Apple. I smushed AppKit and UIKit together and never looked back.

Black lives matter. Trans lives matter. LGBT+ rights are human rights. Healthcare, security, a decent income, and housing with dignity are human rights. Abortion is healthcare. Science is our best hope as a species. Kindness and empathy are the noblest of human traits.

I block assholes and bigots.

He/him.

My posts are searchable.

Ask me anonymously: https://ngl.link/drahardja

This profile is from a federated server and may be incomplete. Browse more on the original instance.

drahardja, (edited ) to random
@drahardja@sfba.social avatar

I know another landlording company is probably going to buy out Veritas at a huge discount if the latter goes bankrupt, and they will continue to use the properties to extract rent from workers, but any time a corporate landlord goes broke is a good time to me. I’ll take the small joys when I can.

“Mega-Landlord Veritas Investments In Default on Loans, Could Lose a Third of Its Buildings”

https://sfist.com/2023/05/12/mega-landlord-veritas-investments-in-default-on-loans-all-over-town-could-lose-a-third-of-its-buildings/

drahardja, to random
@drahardja@sfba.social avatar

that the first half of the brightness settings on my MacBook Pro makes a huge amount of change, and the second half makes very little change. You can easily see the switch between the two brightness ramps in action as you cross the 50% mark.

drahardja,
@drahardja@sfba.social avatar

@shadowfacts My theory is that the 90th percentile-useful range of brightnesses are not super wide and tends to be near the brighter end, and so this range is captured in the top 50% of the adjustment range. The bottom of the scale is then whatever it takes to get from minimum brightness to the minimum useful brightness.

drahardja, to random
@drahardja@sfba.social avatar

doesn’t work against large instances.

Say there are a dozen large instances that hold 80% of the Fedi population. Will your medium-sized server with a growing community actually be able to defederate from any of them?

When a major instance is made of 75% regular people and 25% Nazis, but account for 7% of the total Fedi population, you can’t threaten to defederate from them unless one or more of the other 11 major instances also threaten to do so. Your instance would stand to lose way more than the offending major instance would, because the users on your instance depend on a lot of non-problematic traffic from the major instance for their feed, but not the other way around.

In short, your threat of defederation has zero power over a major instance.

Using defederation as a tool to enforce social norms only works among peers who need each other equally. We need better tools to deal with bad actors on very large instances.


Taken from my conversation here https://sfba.social/@drahardja/110368910457911187

drahardja,
@drahardja@sfba.social avatar

Collective action is certainly one way to address this issue. A group of medium-sized instances can enter into a pact and agree to defederate from a larger instance as a bloc unless they change their behavior. The loss of traffic from a bunch of smaller instances may hit the larger instance hard enough that they might concede to changing their behavior.

But realistically, a per-account blocklist is probably a more tenable solution that doesn’t involve users losing access to their perfectly acceptable feeds just because some bigots share the same server they come from. In time, as certain instances rise to prominence, I think defederation will give way to crowdsourced, semi-automated account blocklists that instances can subscribe to as the way to handle unwanted content.

drahardja,
@drahardja@sfba.social avatar

@pinkyfloyd Non-starter.

drahardja,
@drahardja@sfba.social avatar

@pinkyfloyd If your answer to systemic problems of abuse is “run your own server lol”, I’m afraid you’re out of touch with what actual humans want from social media.

Hint: “Running my own server” is not part of it.

drahardja,
@drahardja@sfba.social avatar

@pinkyfloyd Right. blocked.

rysiek, (edited ) to fediverse
@rysiek@mstdn.social avatar

Well if it isn't cryptocurrency spam coming from the biggest, open instance on the . 👀

I wonder if this is at all related to challenges with moderating an instance of checks notes 200k active accounts? Or with moderating new accounts on the only instance actively promoted in the official apps? :thinking_rotate:

Thankfully we can always defederate! What's that? It's the biggest instance so there are real concerns about a lot of people losing connections? Whodda thunk it!

drahardja,
@drahardja@sfba.social avatar

@rysiek Counterpoint: Choosing instances is one of the main pain points that cause migrating users to abandon Mastodon, and it’s one of the hostile parts of migrating to Mastodon.

People should be encouraged to join a big instance by default so they can get onboarded quickly. They can always move their account to another instance once they get familiar with the system.

Moderation is an issue that mastodon dot social needs to grapple with. Luckily, they are a business and can raise funds/donations/volunteers for moderation.

drahardja,
@drahardja@sfba.social avatar

@rysiek What’s an example of a better process?

We tried having instance directories broken down by region/interest/affinity, and it just confused people.

Joining a massive server is actually a very good thing for newcomers, because Fediverse search sucks for finding anything outside one’s server. A huge pool of users on a server makes it more likely that people will find someone interesting to follow.

The only other alternative I can think of that doesn’t degrade the onboarding experience is to designate a known group of good servers as “primary instances” that have sufficient size, and also agree to a code of moderation and conduct. The app can then onboard people randomly to one of the instances in the group. This is likely even more complex and bureaucratically/politically difficult to maintain than making sure the one big server has enough moderators.

drahardja,
@drahardja@sfba.social avatar

@rysiek Or you know, the Fediverse can get off its high horse and make search actually functional. I understand that some people don’t want to be found, but even when you want to be found it’s way too hard for people to find you.

drahardja,
@drahardja@sfba.social avatar

@rysiek That’s fine. But until the list of acceptable large instances is established, onboarding to mastodon dot social is a perfectly fine flow for today in my view.

But the problem of defederation remains. Say there are a dozen large instances that hold 80% of the Fedi population. Will your server actually be able to defederate from any of them? When a major instance is made of 75% regular people and 25% Nazis, but account for 7% of the total Fedi population, you can’t defederate from them unless the other 11 major instances also do so—your instance would stand to lose way more than the major instance when you defederate, because your instance receives a lot of non-problematic traffic from the major instance. Your threat of defederation will have zero consequence to the major instance.

The threat of defederation only works among peers who need each other equally for survival. We need better tools to deal with bad actors on very large instances.

drahardja, to random
@drahardja@sfba.social avatar

“Points are not hours” lol

drahardja, (edited ) to photography
@drahardja@sfba.social avatar

that phase-detection is fast and accurate, but not precise—the resulting focus when you hit that AF button is a tiny bit sloppy. When that AF beep is heard, your focus will be ever so slightly front or back of the actual focus point. I’ve seen evidence on my lenses that that where you left your focusing ring the last time affects whether the next autofocus is front- or back-focused.

This means that you should never simply take the first number that Automatic AF Fine Tune gives you. Instead, take a dozen or more readings and average them out to get a feel for your lens’s focus bias, then manually adjust the fine-tune setting. Take a few photos of a sharp, stationary target, and pixel-peep until you get the setting about right. If you’re like me, you’ll get three super sharp shots out of four, with the last one just a bit soft.

drahardja,
@drahardja@sfba.social avatar

Here are my takeaways when using phase-detect autofocus:

  1. When shooting with wide aperture, take a bunch of shots, and hit that AF button each time. Remember, phase-detect AF is probabilistic in nature.
  2. DoF is your friend. Stop down that aperture a bit more to give yourself the best chance of getting your subject in sharp focus.
  3. Don’t bother with AF Fine Tune unless you notice that your shots are consistently back- or front-focused. Most lenses hover around 0 bias out the door unless they’ve been abused.
  4. When shooting a still subject with a tripod, use Live View to focus using contrast-detection. It’s much slower, but it will never misfocus. Alternatively, use manual focus and Focus Peaking.
  5. Don’t pixel-peep too much. As long as your photo looks pretty good on a 2 MP screen, it’s probably good enough. With cameras pushing 48 MP+, even the most insignificant misfocus will look awful at 100% magnification.

drahardja, to random
@drahardja@sfba.social avatar

Turns out the real friendships were the treasures we found along the way.

drahardja, to random
@drahardja@sfba.social avatar

on the web continues to be a disaster. Today’s bug: Logging in to Instagram leads to an infinite recursion where the login page keeps appending to the URL until it overflows the browser.

anji, to random

You know how you can go on the internet and diagnose yourself with medical afflictions?

Seems like I have Brain Fag Syndrome. We all have Brain Fag Syndrome.

https://en.wikipedia.org/wiki/Brain_fag_syndrome

drahardja,
@drahardja@sfba.social avatar

@anji I thought this was the one where your brain feels like it’s in a swirl of cigarette smoke all the time.

inferis, to random
@inferis@mastodon.social avatar

Me, all evening: 🥱
Me, in bed: 😳

drahardja,
@drahardja@sfba.social avatar

@inferis Ohai

drahardja, to random
@drahardja@sfba.social avatar

Is it just me or is it just…difficult to build an iOS app with static frameworks instead of embedded dynamic frameworks? My primary gripe comes from resources that need to be manually copied to the main app’s bundle.

Is there a way to automate this? How would I write a script that does basically: “for every (xc)framework that I linked, copy its resources into my main app bundle”?

And before you ask about why not just embed dynamic frameworks: because load times. There’s no need for libraries to be dynamic if they’re only used by the one app, right? Even SwiftPM agrees since it defaults to generating static libs (well, .o files, but you know what I mean).

drahardja,
@drahardja@sfba.social avatar

@uliwitness Ya this is true, but the blocking problem for me here is that SwiftPM doesn’t yet define a way to serve precompiled artifacts, which means you have to build everything from source. For a very large project and team, this increases build time by a lot.

drahardja,
@drahardja@sfba.social avatar

@rayray @uliwitness Yep. Ran into the exact same problem. Now it’s even worse because swift package has dropped support for generating an xcproj that reflected the package, so ObjC headers are no longer exported when you manually construct a Framework.

I’d say SwiftPM isn’t ready to be used in a massive dev scale until they specify the binary artifact format.

drahardja,
@drahardja@sfba.social avatar

@daveanderson @uliwitness There are several shortcomings with these proposals, core of which is the fact that it is not possible (as of Xcode 14) for SwiftPM to generate a framework or xcframework, even with the help of Xcode. That makes the creation of binary artifacts difficult.

Second, it’s not possible to cache both the source and prebuilt binary of packages at the same URL. Neither the git nor server spec for SwiftPM allows what e.g. pip allows with wheel vs sdist for python: download a prebuilt binary if a suitable one is found, or else download the source to build locally. More seriously, the way source vs binary packages are consumed in Xcode differ (the former statically links source, the latter requires dynamic linking+copying the framework). Since you need Xcode to make iOS apps, this makes it difficult for developers to selectively check out and compile packages in their local workspace when they normally download only binaries.

drahardja, (edited )
@drahardja@sfba.social avatar

@daveanderson @uliwitness I think what is needed is an artifact format that is essentially identical to the build products of swift build, with metadata for arch and platform. This format would be a collection of object files, swift interface declarations, and resource bundles that could be statically linked and included in a consuming project. This binary format should be made available as an drop-in alternative to source code using the git or Swift service spec. A developer should be able to download either version and end up with basically the same build in the end.

Xcode should also be able to consume this format as an alternative to a source package, and it should recognize that a particular Package.swift would produces such an output, so that a user can add the source version locally to a workspace, and have that package override the binary one.

Until then, I think dynamic frameworks is the only tractable way to deal with binaries in a very large app project.

riley, to random
@riley@social.audiovalentine.com avatar

It's just so strange to me how many people are not receptive to being told

"Hey maybe we shouldn't have all of our computers based on proprietary operating systems and APIs controlled by a single corporation"

"Hey maybe we shouldn't have web traffic directed and organized through search by a single corporation"

"Hey maybe the way that we talk to each other online shouldn't be owned and controlled through algorithms and advertising managed by a single corporation"

drahardja,
@drahardja@sfba.social avatar

@riley I think this xkcd can be pernicious, as it paints the person on the left as some sort of selfish, condescending caricature, when in reality it’s perfectly rational for non-tech people to give zero thought about software infrastructure and its legal frameworks. They just want to get things done—write a doc and get it sent—so they can get on with their lives. They don’t (and rightly shouldn’t) care about the underpinnings of their tools.

To me, the real failure in this comic is one of governments to regulate the market; and of the experts (like the person on the right) to pressure governments—not users—to protect our common future.

drahardja,
@drahardja@sfba.social avatar

@riley Unfortunately, none of us has enough friends to actually change the outcome of what is being financed by billions of dollars of venture capital. Only governments (or massive collective action) can do that.

The best thing to do is to get government to represent people instead of money.

The second best thing is to continue to create open-sourced alternatives, and bridges for data to cross from walled gardens into open standards, so that the tech is there when the walled garden inevitably crushes its inhabitants. And this second one, we can most definitely pull off.

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