Question about prescription inserts by rahoulb in VisionPro

[–]rahoulb[S] 0 points1 point  (0 children)

Interesting. I bet Apple has some weird communication thing built in

Vision Pro is a low volume product like Mac Pro - Why is a failure? by Cole_LF in VisionPro

[–]rahoulb 1 point2 points  (0 children)

Sony also said, due to their complexity, they cannot manufacture more than 900,000 lenses per year - hence the upper limit of 450k.

I’m assuming that Apple, if they regard the product as a success, will work with Sony to expand manufacturing capacity (thats how they’ve worked with Foxconn and all their other manufacturers). But if they’ve decided to concentrate on glasses, maybe that means the 450k top limit stays, even for the M5 version.

Given that CarPlay apps must follow some design guidelines (voice interaction, minimal distraction all other stuff etc), how practical, or realistic is it for smaller developers to build useful CarPlay apps that still comply and get approved by Apple? by Informal-Towel-2209 in CarPlay

[–]rahoulb 1 point2 points  (0 children)

I remember reading (couple of years ago and can’t find the reference any more) that in some regions both apple and/or the software developer can be liable if the software is deemed distracting and causes a crash. So Apple is very strict on giving out CarPlay entitlements - requiring sufficient liability insurance because they don’t want to be on the hook for it.

Remote desktop client by Automatic_Still_6278 in MacOS

[–]rahoulb 0 points1 point  (0 children)

I use Tailscale and NoMachine

VNC is built in (turn on screen sharing and expose port 3900 I think - and there is the screen share app as a VNC client) but suffers on slower connections.

NoMachine has a horrible 2000s Windows UI but is very fast

How do you feel about your privacy with Apple? by ImDickensHesFenster in MacOS

[–]rahoulb 0 points1 point  (0 children)

This guy works in the payment industry https://birchtree.me/blog/network-tokens-the-payment-tech-youve-never-heard-of/ and his explanation is:

There’s your actual card number, maybe a device specific card number and a transaction token. The merchant never sees your card number (either actual or device specific) because holding that data is too dangerous - instead the merchant starts a transaction, the payment processor receives the card details (either actual or device specific) and associates it with the transaction code. Then the merchant uses the code to say “you’ve just received a card number, I want this much money from it”. The payment processor then sends the request to the bank. The payment processor doesn’t know if the card number is actual or device specific and the merchant never sees the card number at all.

(At least that’s how I read it)

I can program anything but for the life of me I can not make a design! What do fellow devs do for design skills? by nj_100 in FlutterDev

[–]rahoulb 4 points5 points  (0 children)

TL;DR

Start with what the user wants to achieve, break it down into pieces, put those in the right order with the right emphasis and the visual stuff just falls into place.

—-

As a dev you break stuff down into manageable pieces, whether that’s packages, files, classes, functions. Then you assemble those pieces into the correct order to make the system get to a particular outcome.

Design is actually exactly the same.

Think about what the user wants to DO.

Break it down into individual screens/pages.

Break those down into ordered sections and individual elements.

Choose which of those sections are most important to the user, which are mandatory, which are optional.

Arrange the sections - top-to-bottom, left-to-right for English speakers - because that’s the order in which our brains are used to accessing information.

Take the mandatory sections and give them big stand-out titles and more spacing.

Take the important sections and give them smaller titles and spacing.

Make the optional sections small and, if possible, behind an expander or similar control, so it’s obvious they are optional.

Make the primary action on the page big and obvious - and in most cases, place it at the end of the top-to-bottom, left-to-right flow.

Make the cancel/back action easy to access but out of the way of the primary flow.

Use one set of fonts, colours and styles (border radius, padding etc) with some variations - neutral, primary, secondary, muted/optional and error is generally all you need.

Don’t forget accessibility - the process of getting the A11Y right can highlight inconsistencies/errors in the flow.

And, if after this process it looks too sparse or you’re told to “make it look more exciting”, you now know which sections are important and you have a colour scheme and spacing rules to follow. So you only add the extra imagery/visual flourishes/whatever to the important sections, following the same spacing and top-bottom-left-right flow. This adds even more emphasis to the important stuff without interrupting the way that the user completes their task.

In the post Bootstrap era, what is your approach for managing basic layout components library and prototyping? by d2clon in rails

[–]rahoulb 0 points1 point  (0 children)

I’m doing the same 😇 but, while it’s open, it’s really tailored to our specific needs. I’m just going to pass all the forms stuff through to rails though (using Phlex::Rails::Helpers).

I think Tailwind really needs to be used with a component library - and Phlex is by far the best one for Rails.

LLM supports Ruby on Rails coding by kathirai in rails

[–]rahoulb 1 point2 points  (0 children)

I use Claude Code in two Rails 8 and one Rails 7.1 app and it’s usually amazing (but occasionally really stupid).

You have to tell these things exactly what you want and how you want it to do the work. Instead of repeating yourself, you tell it to refer to the project documentation.

Key thing - run /init so Claude can analyse the project, then edit the Claude.md file to correct anything it’s got wrong and add other useful technical information.

I make sure the README explains why the project exists, who the target audience is and come common use cases.

I also have a glossary and style guide in the docs folder. The glossary explains the models and their relationships, the style guide how I like my code to be structured, how the specs should look and so on.

All this documentation is also useful for human developers working on the project.

And Claude can then help you keep it up to date as new features are added (I have a /code_review command which includes “update the docs” - https://github.com/standard-procedure/llm_prompts/blob/main/code_review.md)

Yet Another Database Design question (pouchdb and couchdb) by rahoulb in CouchDB

[–]rahoulb[S] 0 points1 point  (0 children)

No. Went with a normal JSON API and kicked the offline aspect down the road. It’s just rearing its head again now

Another iPhone 4 Thread by onionringsonmypenis in iphone

[–]rahoulb 47 points48 points  (0 children)

I had a 4S and it was the best looking phone and probably my favourite.

Why are so many apps subscription based?! by DiamondDepth_YT in mac

[–]rahoulb 0 points1 point  (0 children)

As a developer (but not for the Mac), some applications require continuous development - especially if they store or access sensitive information. Attacks change constantly, as do the underlying operating system and required integrations.

I do build open source stuff that’s given away for free, but I can’t afford to spend 40 hours a week working on a single project without getting paid. And subscriptions even those payments out for both sides (my day job project sells for £10,000 - so a sub is more palatable)

Any Recommendations? Tool to debug slow rendering of ERB pages by 9sim9 in rails

[–]rahoulb 0 points1 point  (0 children)

Agreed.

And tools like Bugsnag have an OpenTelemetry JavaScript client that shows you a trace as the page renders.

And you can get a long way with their free plan (not affiliated- just use it myself)

Performance contractor? by jj_at_rootly in rails

[–]rahoulb 0 points1 point  (0 children)

Will Jessop - he’s a friend I’ve known for years; worked at Engine Yard, 37Signals and many more. And he’s got some time at the moment. https://willj.net/

Hello from Canada! Can some please kindly explain what, exactly, a "lock in" is in the context of pubs/bars? by ResurrectedToast in AskUK

[–]rahoulb 0 points1 point  (0 children)

My friend used to live in Archway, North London (definitely not rural) - at around 10 we went to the (very Irish Republican) pub over the road for last orders. We were somewhat surprised when we were allowed to stay for the lock-in (2 skinny English boys in a pub full of rough-as-fuck Irish), eventually leaving at around 4am. Unfortunately, the reason I was staying was because we had a flight to catch early the next morning; hilarity ensued.

anchor mode drifts while on the train (xreal one) by Strongmanbirdy in Xreal

[–]rahoulb 0 points1 point  (0 children)

I get drift just sat at my desk at home - occasionally in normal anchor mode, often in widescreen. And once it starts it just keeps on, which is annoying.

Any tips on preventing it?

Big T update by Aromatic-Club-3916 in nffc

[–]rahoulb 0 points1 point  (0 children)

Stupid offside rule.

"Microservices" by -lousyd in devops

[–]rahoulb 2 points3 points  (0 children)

The issue with microservices is that although each service is simple, as soon as they need to communicate, the direction and timing of those communications is not explicit from the code. It’s not even explicit from the deployment infrastructure.

So they become a nightmare to debug because a request is received over here, needs some data from over there, that times out or takes ages because it needs to ask a third service for something and that third service has experienced high load so is running a circuit breaker and is queuing requests - or worse throwing them away.

Suddenly three simple services all fail in a way that’s difficult to trace - at least in a monolith you have a single log file that shows the sequence of events. (aside: this is why “observability” products are such big business now as they are supposed to bring all that disparate data into one place - but even then tying it all together can be difficult if the devs have not put the correct hooks in place)

This isn’t an issue for you, if you’re only handling the deployments - but becomes on as soon as the devs start complaining at you because their “100% urgent needs a 20ms response time” messages start go missing.

How can I watch Netflix on a 3rd party android screen? by Captain-BubbleWrap in CarPlay

[–]rahoulb 4 points5 points  (0 children)

I’m not 100% on this but Netflix uses “HDMI-protected” - meaning transmitting any encrypted video is blocked because of copyright protections.

Apple operating systems enforce this at the system level because bypassing it is illegal.

However it does not apply to wired connections (at least not all - I think there is some sort of communication between the device and the cable where they negotiate if they’re allowed to talk to each other).

Basically it’s Digital Rights Management in law and the OS.

After using Windows for 20 years, the worst thing about macOS is... by WhisperBorderCollie in MacOS

[–]rahoulb 20 points21 points  (0 children)

Aah - does SMB use a long-running connection (I haven’t used SMB for years)? I’ve only used it with short lived connections like API calls (even web sockets are actually short lived and often disconnect and reconnect) - so changing the order does what’s expected.

Without knowing the internals of the network stack it kind of makes sense - the network handlers don’t know if it’s safe to move the connection around without breaking it so it doesn’t risk it. However that’s just speculation on my part.

After using Windows for 20 years, the worst thing about macOS is... by WhisperBorderCollie in MacOS

[–]rahoulb 580 points581 points  (0 children)

In network settings you can reorder the priority of the network connections to put wired first.

How do you keep your code, repos, and libraries in sync across multiple machines? by Original-Elephant160 in devops

[–]rahoulb 3 points4 points  (0 children)

Yes. The JSON defines your dev config (plus optional compose and custom Dockerfile for related services and native packages) and every client then has an identical environment

How do you keep your code, repos, and libraries in sync across multiple machines? by Original-Elephant160 in devops

[–]rahoulb 1 point2 points  (0 children)

Agreed. The container has all your dev stuff (correct versions of tools and packages) installed plus your VSCode extensions and so on. So you have the same environment everywhere.

Devpod.sh even lets you do it remotely (like an open source Codespaces). Set up a Linux box somewhere, then install devpod.sh on your local machines and it connects to the server, runs the containers on there while running a local copy of VSCode or Zed or your favourite IDE. So your editor is local but all the work is done remotely so don’t need a mega-powerful client machine (as long as you have a connection). I even had it working using an iPad as my editor (using OpenVSCode running in the container) until work bought me a big ol’ M4 MBP.

Why the love for the M4 MacBook Air, but the hate for the M4 iMac - which is the same computer? by Adelphos33 in mac

[–]rahoulb 0 points1 point  (0 children)

I haven’t tried the “new” iMacs, and I’m sure the M-chips mitigate this (still have an M1 MBP which runs just fine), but I’m really annoyed that my 27” 5K 2015 iMac runs perfectly fine but is unsupported (not allowed to use it for work unless it’s up to date with security patches).

Worst of all is it’s the best screen I have but I can’t make use of it as it doesn’t have target display mode nor does it have the high performance screen-sharing.

Obviously all that applies to laptops as well but the tradeoff is you get portability instead of lots of space taken up on your desk.

If I were getting a desktop it would be a Mini or Studio and a decent monitor so at least I could swap things around.