Chris Fidao Profile Banner
Chris Fidao Profile
Chris Fidao

@fideloper

Followers
19,855
Following
444
Media
2,935
Statuses
47,034

Slinging bytes through servers @laravel

Connecticut, USA
Joined September 2010
Don't wanna be here? Send us removal request.
Explore trending content on Musk Viewer
Pinned Tweet
@fideloper
Chris Fidao
9 months
This is my initial video setup 📹 I’m using iphone + “continuity camera” (iphones camera is great!) hooked up to elgato’s master mount 🎙️ I’ve had a sure sm7b for years (previously heil pr-40) + the usual audio hookups Gonna update this on coming weeks/months
Tweet media one
10
1
41
@fideloper
Chris Fidao
8 months
Remember these days of PHP? Good times.
Tweet media one
216
102
1K
@fideloper
Chris Fidao
2 years
Just got schooled in a Laravel feature I was unaware of: Tell Laravel to always send to a specific address!
Tweet media one
22
135
751
@fideloper
Chris Fidao
5 years
How about you go fuck yourself
Tweet media one
46
149
516
@fideloper
Chris Fidao
3 years
Your regular reminder to run this. 🚮 Cleans out your local git from tracking branches that don't exist anymore.
Tweet media one
19
108
528
@fideloper
Chris Fidao
6 years
wow, PHP can truly do anything
Tweet media one
20
216
463
@fideloper
Chris Fidao
6 years
🏄‍♂️ Nginx supports all sorts of dynamic configuration, love it Here we take a wildcard subdomain to create variable $account, and: A) Set a dynamic web root B) Set a fastcgi variable PHP can read from $_SERVER (Do whichever makes sense for you)
Tweet media one
11
118
420
@fideloper
Chris Fidao
10 years
I believe it's called a "tilde"... or "squiggly". But not this. No, not this at all. http://t.co/F15hBKvly3
Tweet media one
53
821
416
@fideloper
Chris Fidao
9 years
Tweet media one
17
540
359
@fideloper
Chris Fidao
2 months
big if true
Tweet media one
95
6
362
@fideloper
Chris Fidao
4 years
Likely not news to many, but swapping between php versions via brew:
Tweet media one
13
47
350
@fideloper
Chris Fidao
6 years
⚡️I turned my “Nginx Tips” into a twitter moment.
3
77
330
@fideloper
Chris Fidao
5 years
Took me way too long to finally google this
Tweet media one
10
65
318
@fideloper
Chris Fidao
6 years
🔥 If you're low on disk space, you can send mysqldump output somewhere over ssh:
Tweet media one
8
90
313
@fideloper
Chris Fidao
6 years
🔥 Don't forget to index timestamp columns like "created_at" if you query against them. e.g.: ORDER BY created_at e.g.: WHERE published_at <= NOW()
Tweet media one
11
83
292
@fideloper
Chris Fidao
5 years
🔄 We're building a Continuous Integration app for Laravel! @davidhemphill and I are making CI 👉 super easy 👈. More info here:
23
59
276
@fideloper
Chris Fidao
5 years
🎩 Working on a free course about Nginx Nginx is relatively simple, but there's lots of caveats & knowledge about HTTP that goes into successfully using it.
Tweet media one
11
39
268
@fideloper
Chris Fidao
7 years
🎉 New project! 🐰 Scaling Laravel Server optimization, horizontal scaling, & Laravel Signup if you're interested!
19
95
263
@fideloper
Chris Fidao
3 years
PHP is the best-in-class language for server-side web development. 🐐
10
35
267
@fideloper
Chris Fidao
4 years
🚀 We launched Chipper CI to the public today! ➡️ Free tier 🎉🎉🎉 ➡️ New Design ➡️ Annual Plans Try it out!
25
70
264
@fideloper
Chris Fidao
3 years
👴🏻 Remember when you could just use PHP's mail() function and it always Just Worked™?
27
9
251
@fideloper
Chris Fidao
7 years
Made a (free) thing: 🔥 Performant Laravel Quick wins in Laravel Performance
19
95
241
@fideloper
Chris Fidao
2 years
🎉 I'm going to start work at @flydotio in a few weeks! 👉 I'll be a "Laravel Specialist" - helping make Fly awesome with Laravel. I've always been attracted to Fly's vibe, especially the writing. Now I get to do that too!
30
6
238
@fideloper
Chris Fidao
8 months
🎥 How to configure (and why!) PHP-FPM's max_children properly
22
40
233
@fideloper
Chris Fidao
2 years
Love the "pv" command, to help make sure bytes are flowing between processes like you expect. I use it the most with mysqldump to make sure it's actually dumping stuff and didn't stall
Tweet media one
6
43
221
@fideloper
Chris Fidao
1 year
not today, satan!
Tweet media one
13
25
219
@fideloper
Chris Fidao
6 years
💡 By default, mysqldump uses the --opt flag. This specifically locks tables (a safer option for MyISAM). 🚨 This can stop your database from being usable during the export. ✅ For modern databases using InnoDB, use the --single-transaction flag.
Tweet media one
7
68
217
@fideloper
Chris Fidao
6 years
👨‍🔬 Another common task in Nginx is redirecting HTTP requests to HTTPS, to enforce the use of SSL certificates. Two methods: 1. Catch-all http and redirect to https 2. Redirect only specific apps/sites 📖 Writeup here:
Tweet media one
6
56
215
@fideloper
Chris Fidao
5 years
🚀 The MySQL Backups course has launched! * Learn about data consistency * Learn about xtrabackup * Learn about the 🎩 binlog * Learn about automating/testing backups 🔴 Stop losing data.
5
78
214
@fideloper
Chris Fidao
2 years
I treat React like I treat Kubernetes: I plan on never learning it until I can't find another way to make money 😅
9
13
210
@fideloper
Chris Fidao
3 years
🎉📹 I'm making AWS courses! (This will be a big project 😅) Check out to find out more and signup!
7
46
206
@fideloper
Chris Fidao
8 years
OH: I wanna start working on [project] again but terrified of node dependencies because it's been over 48 hours since I worked on it
4
162
198
@fideloper
Chris Fidao
6 years
🎉 The next course I'm building is all about MySQL Backups 🧐 It's easier than you suspect, but I've been surprised how stack overflow misses so much!
7
38
186
@fideloper
Chris Fidao
2 years
It’s time for PHP to speak http natively like many other languages. PHP was delightfully simple for its CGI-like run time but that doesn’t make sense anymore. PHP-FPM is operational complexity. Logging to files instead of stdout is operational complexity.
19
12
178
@fideloper
Chris Fidao
4 years
TIL: $ docker system df $ docker builder prune
Tweet media one
8
25
172
@fideloper
Chris Fidao
8 months
A bit about how HTTP gets turned into PHP Request ➡️ Nginx ➡️ PHP-FPM ➡️ Your Code 🐐
3
29
169
@fideloper
Chris Fidao
3 years
Everyone's desperate to keep up with Laravel
15
11
168
@fideloper
Chris Fidao
5 years
I think I've done enough things in AWS to make a pretty killer course on it some day. One that's geared towards people getting things done instead of studying for an exam.
16
6
166
@fideloper
Chris Fidao
2 years
After ~14 years of professional dev-ing, I've come to the conclusion that this is THE way to handle Stripe webhooks A real @levelsio vibe
Tweet media one
11
4
164
@fideloper
Chris Fidao
3 years
📈 🚀All this stock stuff has been really distracting. 👾 Getting back to work tonight on the next project!
Tweet media one
11
10
162
@fideloper
Chris Fidao
6 years
👨‍🔬 Nginx can respond to wildcard subdomains (via *), great for multi-tenancy. But we can also *capture* a subdomain value! In the last 2 examples: 1. We pass the subdomain to PHP 2. Config a dynamic the web root 3. Separate log files by subdomain
Tweet media one
5
50
161
@fideloper
Chris Fidao
2 years
🧑‍🔬 It's not my favorite "pattern" but if you are going to make a commit purely to kick off CI or a deployment, you can always do an empty commit!
Tweet media one
6
19
156
@fideloper
Chris Fidao
5 years
👮‍♂️ MySQL's INFORMATION.SCHEMA.PROCESSLIST is nice for figuring out who is stealing your resources:
Tweet media one
1
46
150
@fideloper
Chris Fidao
6 years
A competitive advantage of using AWS is that when it goes down, Netflix also goes down. Who's gonna blame you when even Netflix is down?
8
40
155
@fideloper
Chris Fidao
5 months
tbqh FrankenPHP downplays an extremely magical feature
Tweet media one
11
25
151
@fideloper
Chris Fidao
4 years
Still bites me! Your queue workers *can* pick up a job faster than your transaction commit is written into the database! Dispatch your jobs AFTER the transaction is committed.
Tweet media one
8
24
148
@fideloper
Chris Fidao
3 years
HTTP is a stateless protocol. No request knows anything about the request before it. We work around that with conventions like cookies, sessions, and databases. All web browsers have decided to agree with HTTP spec(s), on things like "how to handle cookies".
3
18
145
@fideloper
Chris Fidao
2 years
👨‍🔬 Cool MySQL hack: 🧐 If your staging env has a table that ideally doesn't have data in it (esp production data) 🕳 You can make it a BLACKHOLE table 😅 I used this to make sure a table with a list of emails to send never contains any rows. Because, you know....
Tweet media one
7
32
146
@fideloper
Chris Fidao
7 years
🐳 I've been putting finishing touches up on a project to make using Docker in dev a breeze with @laravelphp Out soon!
Tweet media one
9
26
145
@fideloper
Chris Fidao
5 years
CDD: Child Driven Development: When you're forced into TDD because your child interrupts your thought process every 15m
4
31
145
@fideloper
Chris Fidao
6 years
🔥 Scaling Laravel is going to be available March 13th! Super excited to finally get this course out to help y'all scale your Laravel apps!
3
42
138
@fideloper
Chris Fidao
1 year
Looks like my dentist is using Laravel 👌
Tweet media one
8
3
136
@fideloper
Chris Fidao
3 years
This continues to be my favorite GitHub Action, easy to throw on any project. Creates a release when tags are pushed, with a list of commits/changes.
Tweet media one
4
11
133
@fideloper
Chris Fidao
6 years
Getting ready to speak after Taylor @LaraconOnline
Tweet media one
15
7
132
@fideloper
Chris Fidao
7 years
🔥 99.99% of Laravel WSOD's are caused by: 1. Perms of bootstrap/cache & storage dirs 2. Missing .env file or no APP_KEY
13
40
129
@fideloper
Chris Fidao
9 months
🆘 What to do when you hit Gateway errors
8
21
129
@fideloper
Chris Fidao
6 years
👨‍🔬 Web servers match which website to serve based on the Host header. Often with a default. Or, if no default is defined, whichever server config was loaded first.
Tweet media one
Tweet media two
7
19
123
@fideloper
Chris Fidao
7 years
The redesign of @srvrsforhackers is really close to being ready! Makes finding/organizing the content a lot easier.
Tweet media one
10
17
124
@fideloper
Chris Fidao
6 years
🎯 Those of you who blindly copy and paste terminal commands from the internet, we solute you.
Tweet media one
10
40
124
@fideloper
Chris Fidao
5 years
🔥 A very useful trick is creating calculated attributes on your Model classes - you can treat them like any other column, e.g. Foo::find(1)->recently_updated; // boolean
Tweet media one
6
20
119
@fideloper
Chris Fidao
7 years
The whole MySQL series here is a collection of "Things I wish I knew a lot sooner than I did":
1
38
112
@fideloper
Chris Fidao
5 months
Reminder:
Tweet media one
5
6
115
@fideloper
Chris Fidao
4 years
(actually not an exaggeration)
@oliagavrysh
Olia Gavrysh @[email protected]
4 years
When a new hire dev asks how do you deploy to prod and you show it:
288
5K
22K
1
16
113
@fideloper
Chris Fidao
6 years
⚡️Still using the emoji + color method in Sequel Pro to let me know when I'm in the Danger Zone. Can't be too careful.
Tweet media one
15
20
113
@fideloper
Chris Fidao
8 months
@adamdotdev blocked and muted
4
1
110
@fideloper
Chris Fidao
6 years
🔥 Check out Scaling on on Forge A free course module from Scaling Laravel:
7
39
112
@fideloper
Chris Fidao
2 years
Tweet media one
22
0
109
@fideloper
Chris Fidao
7 years
🔥 Favorite part of Laravel is how easy it is to replace core stuff with minor customizations. Here I override SqsQueue to use long-polling
Tweet media one
Tweet media two
5
23
109
@fideloper
Chris Fidao
7 years
In MySQL, append \G to the end of queries to get human-friendly output:
Tweet media one
5
46
106
@fideloper
Chris Fidao
6 years
🎯 So, the ~/.my.cnf file has been an awesome thing for forever. MySQL clients [mysql | mysqldump] will find and use it if it exists, so you can avoid adding CLI flags every command (like user/pass). ⚡️ Good for automation. Easier for humans.
Tweet media one
2
27
106
@fideloper
Chris Fidao
3 years
which f#$%ing file did you think I wanted phpstorm?
Tweet media one
13
2
106
@fideloper
Chris Fidao
6 years
Thanks @laravelphp Nova!
Tweet media one
6
7
102
@fideloper
Chris Fidao
7 years
Playing with adding a debugging screen for the TrustedProxy package included in @laravelphp 5.5
Tweet media one
6
20
103
@fideloper
Chris Fidao
6 years
🐳 Check out Vessel Tiny dev environments with Docker, for 🐘 Laravel
1
20
101
@fideloper
Chris Fidao
2 years
💡 I like to include relevant documentation links for my future self in the comments (esp. when making API calls) That is paying off right now!
Tweet media one
12
12
102
@fideloper
Chris Fidao
9 months
@marcelpociot I want to go back to jquery and bootstrap
13
2
99
@fideloper
Chris Fidao
2 years
I suspect we should stop f-ing around and just use MAMP again.
24
1
101
@fideloper
Chris Fidao
2 years
🎉 Talk got accepted, I'm gonna do a ⚡️ talk at @LaraconOnline (Sept 14th)! 👉 Making remote dev feel local
4
4
99
@fideloper
Chris Fidao
6 years
🚨 GUI's for git are cancer. Don't @ me. Just absorb that fact.
43
18
98
@fideloper
Chris Fidao
2 years
I've been really enjoying using Warp for my console lately!
3
7
98
@fideloper
Chris Fidao
6 years
🔥 When managing multiple servers & environments, make use of the Message Of the Day: ➡️ It'll run anything executable, so throw in a Python, PHP, Ruby script (whatever you want) and go wild. (Within limits, e.g. there's better ways to do things like "log ssh access")
Tweet media one
Tweet media two
3
20
98
@fideloper
Chris Fidao
8 months
Someone clued me into Nginx Unit to run Laravel apps, and it's kinda nice. I don't think it needs Octane, but it also removes PHP-FPM from the stack. So far sending a LOT of requests to a default Laravel app is no sweat.
10
9
99
@fideloper
Chris Fidao
3 years
I have never had to use this in ~12 years of PHP, but I'm glad PHP has it 😂
15
4
99
@fideloper
Chris Fidao
4 years
grey -> gray -> greigh
@adamwathan
Adam Wathan
4 years
👀
Tweet media one
44
57
963
5
2
98
@fideloper
Chris Fidao
11 years
Big PNG with http status code decision-tree http://t.co/wiBPyvXcoZ
4
76
97
@fideloper
Chris Fidao
6 years
🔑 You can make use of @laravelphp 's auth "intended" function by just adding a value to the right session key. Free "redirect me back to the correct place after login" behavior!
Tweet media one
Tweet media two
3
24
94
@fideloper
Chris Fidao
2 years
Dockerizing PHP apps in general is sort of weird, especially with certain aspects related to PHP-FPM. I think Octane actually makes packaging up PHP apps into a container simpler in a few 🔑 ways. Gotta play with this and write it up!
16
4
96
@fideloper
Chris Fidao
6 years
TIL that the sort command can sort human-readable memory output
Tweet media one
3
19
93
@fideloper
Chris Fidao
2 years
🤯 These two yaml configs do the exact same things ( @ChipperCI and GH Actions)
Tweet media one
Tweet media two
5
11
92
@fideloper
Chris Fidao
5 years
⚡️ Use the latest test build of Sequel Pro to: 1. Get colored tabs 2. Get rid of that 🤬terrible bug🤬 where SP crashes when you close a 2nd connection
Tweet media one
17
19
89
@fideloper
Chris Fidao
8 years
🚀 Alias to start PHP server in current dir. 🛂 Optionally set a port. Use: `servephp` or `servephp 8888`
Tweet media one
5
32
90
@fideloper
Chris Fidao
6 years
👉🏻 Newer MySQL on Ubuntu/Debian sets the root user's auth plugin to "auth_socket" 🧐 Meaning you can only connect as the root user using the local socket, as a privileged user (need to be logged into the server, and use "sudo")
Tweet media one
6
22
87
@fideloper
Chris Fidao
2 years
🎉🎉 @cloudcastsio is now live! 😁 ➡️ For launch week, everything is 40% off 🧑‍🏫 Time to learn AWS!
10
30
88
@fideloper
Chris Fidao
8 months
everyone freaking out about html 4, i’m here saving credit cards to the DB with a gaping sql injection vector 💅🏼
2
0
90
@fideloper
Chris Fidao
6 years
Yet another "I don't think @srvrsforhackers is what you think it is"
Tweet media one
8
9
87
@fideloper
Chris Fidao
6 years
🔥 The -h flag is often short for "human readable" for things like memory/disk space amounts. Try: df -h [disk space usage] free -mh [ram usage] du -h [current directory size]
Tweet media one
Tweet media two
Tweet media three
5
21
83