Sander's Blurbs

Menu

Zero config project tooling

I often use my side projects for experimenting with concepts and one area of interest is onboarding. Too often there are major hurdles and complexities in getting started contributing or developing web projects.

With Cuttlefish the goal is to be as approachable as possible and be productive after running a single command.

So I’m happy to say today I landed a few PRs in the main branch that add zero configuration project tooling in the guest when using vagrant🎉

Dependency management, linting, pre commit hooks etc are all ready to go after a vagrant up. I’m pretty chuffed.

It’s optional so you can still bring your own tooling and use the built in PHP webserver.
Hopefully that should make it easy to get up and running and contribute.

Content type versus routing in Cuttlefish

Cuttlefish is my hackable web/blog framework. I’m doing most of the hacking and eventually you might blog.

Rubber ducking a bit. Working on the coupling of the controller name being linked to the content structure. For example /posts/x loads the post controller with the post model and content from content/post/x.md.

It felt intuitive but I’m not happy deriving a path literally from a class name. In Particular the post archive is an archive controller with a post model. Also feeds/post vs feeds/auctions or something.

Originally I went with contentpath being based on a controller name property. But because the model already specifies the fields available in the content that didn’t seem right

So doing some work around each model having a content path property but not 100% if that’s the right relation.

Feels like It’s doing two things. Routing and content types.

For instance if I want a /blog I’d probably create a blog controller with a post model with records loaded from content/blog.

Looks like the controller is registered to a path via the router and it dictates the content path after all.

As a web professional and a person who isn’t a native speaker but values privacy, it’s disheartening to see catering websites offering the choice between a phone call and a facebook message.

Also, it’s a business risk if your income is dependent on using a third-party community for essential business operations.

This used to be common knowledge in “web design” but it’s still true. Every time a site interrupts the visitor from achieving something on your site, (modal, sso login, login prompt, newsletter signup) the visitor loses focus and is less likely to meet the goal (or “lowers conversion tracking” if you’re using analytics). That’s why these things should be displayed after the main content when the visitor is naturally open for a new pathway.

nvm ind

So shell login can be slow if you installed node versions using nvm and used nvm to set a default interpreter. The solution that helped me was to unset the default node but that means that there’s no node executable unless you manually first run nvm use node or setup .nvmrc in projects… If limited to the former solution, that means PHPStorm might complain node is missing.

I had success installing node from nodesource as the “system node” fallback. weird flex but ok. Some node is better than the right node.

Where do I go to figure out if a pc component is compatible with a version of Ubuntu?

So PHPStorm couldn’t find my node and vagrant executables… until I changed the source command in my .zshrc to point to a file instead of a symlink to the file.  Which is weird, as it worked correctly for login and interactive shells before the change. Puzzled.

Was going to work on repoman (https://github.com/svandragt/repoman) for a bit today but it’s working well as it is.

It’s interesting to hear the arguments against digital vaccine passports and discrimination and then map them to proving settled status for EU nationals.

Time for real test driven development: don’t put any feature requests in the sprint unless a user test highlighted it as missing

Concerns around Settled Status

I have been keeping myself updated with the news around the Settled Status changes coming into effect in less than 100 days, and have successfully received it some time ago. However, I’m trying to find answers to a few concerns I’m having, and possibly correct my misunderstanding of the issues around this badly thought through concept of proving status.

What about…

  1. Say a person with Settled Status requires urgent hospital treatment, how do they prove settled status if they’re not in a position to give a share code? for example, seriously injured without partner present, phone running out of juice etc. Do I have to be able to to the government website to get a share code after a car accident?
  2. How does anyone requiring proof of Settled Status determine whether the person is an EU citizen settled in the UK, or a British national with a foreign sounding name for example? They can’t always know the nationality of the person, so have to make a judgement on whether a request for status is required — and this can only be based by making a discriminating judgement then? Such as “does the name sound non-british”, skin colour, accent.
  3. If so, does that not make the process discriminatory at it’s core, and against the law?
  4. How does someone know the difference between a British person with an EU sounding name, and an EU person that convinces the other party a sharecode is not required, without requiring all British people to present a form of identification? Does that mean everyone will need to carry identification of nationality?

I’m happy to be corrected on my understanding, but I’m worried around vulnerable people (British and otherwise) being refused access to essential services and human rights in certain cases; and being discriminated against, structurally, in less than 100 days.

If I get any answers I will update this post.

If you set a toggle Do Not Disturb keyboard shortcut (it’s under Mission Control) you can then use Keyboard Maestro to toggle DND when your video conferencing software is launching and quitting!

I’m seeing too often that a flashy solution is chosen and confusing everyone else on the team apart from the person picking the solution.

You know you have too many side projects when you have to organise them by programming language 🙈

One of the better films I’ve seen lately and a good comment on society Bad Hair (2020).

How are other PHP developers managing the different tooling environments switching between projects?