@dantleech@fosstodon.org
@dantleech@fosstodon.org avatar

dantleech

@dantleech@fosstodon.org

Developing the Phpactor (https://phpc.social/@phpactor) language server, PHPBench, and other stuff. Working with #PHP, #Go, Typescript. Bad musician, not good at spelling. Learning #Rust painfully.

Contractor!

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

dantleech, to random
@dantleech@fosstodon.org avatar

I've made it to Milano (Bergamo) airport (which isn't in Milan but in Bergamo!!) after a great conference. Still a good 6 hours of travel ahead, but feeling pretty confident I'll make it out of Italia today. Had a great time!

dantleech, (edited ) to php
@dantleech@fosstodon.org avatar

@derickr talking about what's new in 8.3

dantleech, to random
@dantleech@fosstodon.org avatar

Having a private VPN is cool, on the train in Italy, but connected to my home network! On the not-cool other hand I just got fined 50EUR for not validating a bus ticket after getting off the plane.

dantleech,
@dantleech@fosstodon.org avatar

@Pol no, just my Ubiquity Express gateway router which has wireguard

dantleech,
@dantleech@fosstodon.org avatar

@leeloo @hmiron yeah...

dantleech, to random
@dantleech@fosstodon.org avatar

On my way to made it to the airport, assuming all goes smoothely next stop is Venice, and then a train to Verona!

dantleech, to random
@dantleech@fosstodon.org avatar

ha. in the process of unmocking a test, and hey! surprise. it has wrong expectations. oh wait, that's not a surprise - THAT HAPPENS EVERY TIME.

dantleech, to random
@dantleech@fosstodon.org avatar

the sound of my NAS's hard drives chugging away instantly makes me think my laptop is stuttering and laggy.

which makes no sense, but it's noise association ๐Ÿ˜…

dantleech,
@dantleech@fosstodon.org avatar

although it's actually by Rasberry PI that's laggy - maybe the network is saturated

dantleech, to random
@dantleech@fosstodon.org avatar

the Diataxis documentation approach looks really good, it defines and refines some of the stuff I've picked up over the years: https://diataxis.fr/

dantleech, (edited ) to random
@dantleech@fosstodon.org avatar

Emotional rollercoaster of starting new projects:

  • This is cool
  • I've spent 18 hours on this
  • This is awful
  • I'm awful
  • The world is awful
  • This is cool (goto 1)
  • ... weeks pass_
  • Wow this is great.
  • Almost done
  • lose interest
  • Project abandonned
dantleech, to random
@dantleech@fosstodon.org avatar

spent a few hours introducing the BDD framework Godog to my pet Golang project today. Also switching from Chi to Gorilla/mux router (for URL generation).

so far so good, although Go is honestly a bit annoying and wonder if it's the best choice for this project, but whatever.

dantleech, to random
@dantleech@fosstodon.org avatar

urgh, knee deep in Traits, *Aware interfaces, and Abstract classes.

dantleech,
@dantleech@fosstodon.org avatar

traits inside of traits inside of traits.

the secret is: you do not need traits! they are code smells not tools.

dantleech,
@dantleech@fosstodon.org avatar

also @return bool returns false on failure

yeah.. like, you know what would be good?! telling me what went wrong. that would be good. return a Result object plz.

dantleech,
@dantleech@fosstodon.org avatar

@alessandrolai @maxalmonte14 eh, we need a trait for a default implementation, i'd be tempted to say there is too much responsiblity in the implementation... i.e. it can be avoided with better design. which is my whole argument for not using traits ๐Ÿ˜› it's a smell.

for PHPUnit, yeah - it's a pain -- although I still manage to avoid them. I'd rather create supporting classes and/or have a test container and bootstrap in an abstract class.

dantleech,
@dantleech@fosstodon.org avatar

@afilina yeah ... i've had the "maybe this is the one time I use traits and it doesn't suck" but I never like it, and it's always because there is something wrong with the design (in this case lots was wrong with my design, and traits were just rubbing salt into the wound ๐Ÿ˜… )

of course people have different styles and approaches and some people seem to be happy and productive with them ๐Ÿคท

dantleech, to random
@dantleech@fosstodon.org avatar

My tutorial generation/testing framework at work is progressing really well. It executes the documentation, capturing output, that it generates ensuring that it is and remains absolutely accurate.

This comes from me otherwise hating to invest time in writing documentation that is either inaccurate from the get-go or has a shelf-life of about 1 week because the underluing code and processes change.

dantleech,
@dantleech@fosstodon.org avatar

The project now has:

  • Generated module/configuration references.
  • Guides with real, statically analysed and tested, examples/excerpts.
  • Tutorials that are tested end-to-end.
  • ADRs as a content type.

All this made to look great with a Hugo static site.

heiglandreas, to random
@heiglandreas@phpc.social avatar

I am installing Microsoft Outlook... ๐Ÿ˜ฑ

If you are wondering how my day is going....

dantleech,
@dantleech@fosstodon.org avatar

@heiglandreas I'm so sorry.

jasongorman, to random
@jasongorman@mastodon.cloud avatar

When I think of the semantics of primitive refactorings, I picture the AST of a programming language, and graph-rewriting actions that can be performed on different kinds of node in the tree. (In much the same I think of code metrics as applying to different types of node in an AST.)

So we end up with a map of things that can be renamed, things that can be moved, things that can be safe-deleted, and so on.

(1/n)

dantleech, (edited )
@dantleech@fosstodon.org avatar

@PurpleBooth @jasongorman @phpactor I'm not personally aware of anything like that. There is the classic book "Refactoring" by Fowler and co. which defines a bunch of refactorings but is far from complete. Maybe with stuff like Treesitter we have the common AST where there this stuff can be approached in a more language agnostic way (???)

dantleech, to random
@dantleech@fosstodon.org avatar

Apple really don't want my money. Creating an ID is hard enough, adding a payment is impossible, can't even progress past the data-protection agreement on Android, and then can't contact support because of needing to agree to it.

dantleech,
@dantleech@fosstodon.org avatar

and their web UX is confusing as hell.

dantleech, to random
@dantleech@fosstodon.org avatar

Flying is a ballache.

dantleech, to random
@dantleech@fosstodon.org avatar

hmm hmm want to create a new project, kinda want to use Go or Rust for good reasons (including refreshing myself as haven't done either for over a year), but also want to use PHP for comfort and PHP-TUI. (which I probably won't need sigh)

dantleech,
@dantleech@fosstodon.org avatar

a ridiculous amount of code to render this - but there's now a basic report execution/rendering infrastructure.

my little go project aims to aggregegate CI artifacts from different tools, report on them, and issue notifications/alerts.

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