Тёмный
Fun Fun Function
Fun Fun Function
Fun Fun Function
Подписаться
I’m Mattias Petter Johansson, mpj for short. I’ve been a full-time programmer for over twenty (!) years. Among others, I've worked for Absolut Vodka, Blackberry, Spotify and Mindler.


Killer remote presentations
8:31
4 года назад
How to ACTUALLY SHIP side projects?
23:19
4 года назад
How to get into FLOW as a developer?
10:22
4 года назад
Refactoring emotions
14:14
4 года назад
Web nostalgia with Vitaly Friedman
1:25:45
4 года назад
Staying sane as a software developer
37:34
4 года назад
Комментарии
@kraolina
@kraolina 18 часов назад
Seven years ago, as I was beginning my journey in software development, I discovered your channel, and it was incredibly helpful! Two weeks ago, I started preparing for technical interviews and revisited your channel after a long time, feeling a bit sad to see that there hadn't been any new content. But today, I found this video and was thrilled to see that you're back! Can't wait to learn more things from you :)
@cebolaloco
@cebolaloco День назад
Dude is clearly on meds. I hope you're ok
@LukeMartinVideo
@LukeMartinVideo День назад
Can i like this video multiple times ? PLIIIIIZ I'm so happy to get more MPJ goodness AGAIN !
@kevinlalka5612
@kevinlalka5612 2 дня назад
Hey MPJ, havent seen you since the Holiday party in NYC for Work & Co several years ago. Glad to see you're back at it. I wanted to say your videos have been a huge asset to so many people. I have given your advice on catastrophizing and habitual negative thoughts to team members who were struggling and it has helped them as well. Keep up the awesome job. Missed you! <3
@JDGonzales09
@JDGonzales09 4 дня назад
So glad you’re back
@LethiuxX
@LethiuxX 5 дней назад
The amount of time saved by my brain trying to figure out how to adapt classes for abstraction. I've just switched back to more of a functional paradigm from OOP, and it's quite refreshing. Composition for the win.
@BronekSzulc
@BronekSzulc 5 дней назад
Welcome Back!!!
@ToveriJuri
@ToveriJuri 6 дней назад
What if they explain Recursion to you with Fibonacci numbers because they are high out of their mind and listening to Tool? Is Murder still the right course of action?
@billatwork9357
@billatwork9357 9 дней назад
Man, it looks like you've become ripped! Kul att du är tillbaka!!! :)
@bobanlapcevic5406
@bobanlapcevic5406 11 дней назад
WOOOOW YOU ARE BACK MAN!! Glad to see you :)
@spongebobsquarepants4576
@spongebobsquarepants4576 12 дней назад
one caveat, having short unreadable code is not always a good idea. x=>x.name doesn't help the person who is going to read the code after you (or future you). it is good for simple cases like shown in the video, but shouldn't be abused
@funfunfunction
@funfunfunction 10 дней назад
Chef knives are simple useful tools, that are often better than using specialized tools, but there is also the danger that they can be abused for stabbing people in the face
@spongebobsquarepants4576
@spongebobsquarepants4576 10 дней назад
@@funfunfunction HAHAHA! That's a great analogy! 😂😂 I am just saying, that when teaching a kid how to cut a salad, they should be warned of the danger of using a sharp knife, assuming most of the people watching the video are new to programming. Anyway great explanation! ❤
@phuclehong3291
@phuclehong3291 13 дней назад
tks u, but i have a question. What is the ide or text editor that you are using so that when the error is thrown?
@constantine7862
@constantine7862 14 дней назад
amazing comeback man, congrats !!
@victorcarreno3086
@victorcarreno3086 14 дней назад
MPJ - I am soo excited you are back! One of my favorite segments or themes of videos were the musings. They really spoke to me; especially when weaving in the mental health aspect and general health activity too. I hope you bring those back but just honestly whatever you do is so wonderful. 🙏🙏
@mo_i_nas
@mo_i_nas 15 дней назад
MPJ. Was this video just a brain dump? Sound quality wasn't good BTW
@funfunfunction
@funfunfunction 15 дней назад
Yes and yes
@janebattlesocks
@janebattlesocks 15 дней назад
can you tell a story how to handle your ADHD during work in IT industry?
@latostadaa
@latostadaa 15 дней назад
You look so handsome! im very excited for your return!
@latostadaa
@latostadaa 15 дней назад
I always come back to this video, thank you so much MPJ!
@raggeju
@raggeju 15 дней назад
Vite is supposed to be pronounced ”veeet”! It’s how you say fast in french :)
@funfunfunction
@funfunfunction 14 дней назад
should've asked my partner who speaks french 🤦
@alvinsovereign
@alvinsovereign 15 дней назад
Would love to see your note taking work flow
@Aryann_arora
@Aryann_arora 17 дней назад
Welcome back legend
@Joenr76
@Joenr76 17 дней назад
I think it's pronounced like in French "veet"
@funfunfunction
@funfunfunction 16 дней назад
Ceci n'est pas un pylône. Vous devez construire des pylônes supplementaries.
@haibaidzokwomandre1468
@haibaidzokwomandre1468 18 дней назад
Watching from the future and video recommended by fullstackopen course by University of Helsinki
@Luiz39207
@Luiz39207 18 дней назад
OMG!!!! Welcome back!
@elizavetakhaidarova7408
@elizavetakhaidarova7408 18 дней назад
Love that you added keywords in Russian though 😀
@TimRottmann
@TimRottmann 18 дней назад
Good to have you back!
@tonkhao_gaming
@tonkhao_gaming 18 дней назад
YES! welcome back!!!!
@TheLeo328
@TheLeo328 19 дней назад
MPJ! Great to have you back. Your work was super helpful and influential for me when I moved to the SF Bay in 2018 to break into tech - I went from writing my first line of code to getting my job as a software engineer in 8 months and when things were really hard to grasp, your videos kept me on path! I also recently had my own hiatus and am in the process of returning to the industry now - its so cool that you're coming back at about the same time as I! Can't wait to see your new content and quirky enthusiasm. Would LOVE to see a remake of that hilarious intro you used to play with coffee getting everywhere, I absolutely loved that.
@funfunfunction
@funfunfunction 16 дней назад
Haha would love to do an homage to that one at some point, but would have to find some way to make it more over the top
@i-see-right-through-you
@i-see-right-through-you 19 дней назад
My son ... I know something like your struggle with guilt and self destruction by mind-slide to depression and below. If I may be so bold, I have some ideas which helped me, and they may speak to you. Trust your state. Your own internal systems have generated this state for neutral reasons, not evil. Your state is telling you a static story of what you need and to fight against it is a clear anti-pattern. If you need to pause and relax with no goals, do it fully with a gentle understanding that that pause is productive. To fight it draws energy from your naturally cyclic journey to other states, like becoming what is easier for you to bless, prodigious outward production of vid and code. Like nightly sleep, sometimes we need extended periods of repose, days not hours, to repair psychic tears and heal bruised soul. Don't feel as th0ugh you owe us anything because you don't. Do not fall under the western practice of self flagellation and demand so much of yourself that you work yourself into psychic paini as you can easily see what a crass liar guilt is. Enjoy to the fullest doing nothing for a spell, and do that to the best o your abilities. It really quite grand to kick your heels up and just ... be ... free.
@funfunfunction
@funfunfunction 16 дней назад
Word
@David-iq1kd
@David-iq1kd 19 дней назад
At 10:18, it looks like a "div" function has been created elsewhere correct? JS doesn't have a built in div(). What's the modern way to create these kinds of html-as-function functions? String template literals? Do you need a tag function? Or are people using libraries for this like Van.js?
@funfunfunction
@funfunfunction 19 дней назад
What I use for fff.dev is SolidStart
@David-iq1kd
@David-iq1kd 15 дней назад
@@funfunfunction Thanks! Does solid start / Solid provide HTML DSL/Functions then with things like div() as a function? The solid and solidstart docs seem pretty JSX focused, so I was curious how you personally go about doing your functional html-in-js like the video's pseudocode seems to show, such as the div() shown in the video as a js function not jsx. Could it be Hyperscript? Thanks :)
@zemariagp
@zemariagp 20 дней назад
You’ve grown so much
@huizhang5469
@huizhang5469 20 дней назад
it's so nice to see u again 🎉
@TheillegalPrime
@TheillegalPrime 20 дней назад
much love
@seannewell397
@seannewell397 20 дней назад
instead of coffee breaks should we expect meditation breaks?
@funfunfunction
@funfunfunction 16 дней назад
Oh shit that is actually a great idea
@HappyCheeryChap
@HappyCheeryChap 20 дней назад
The bit where you mentioned using typescript as a replacement for task management + doco systems is super interesting to me. Really hoping to hear more on this topic in coming videos. I've gone quite far into this lately. I've built a heap of text-based-interface tools that have basically replaced things like spreadsheets, onenote, task management tools, other markdown notes etc for me. Everything is displayed with lots of ANSI colors in fzf, lots of menus where I only need to tap a single consistent key, which very quickly just becomes unconscious muscle memory... hyper efficient. Most data is actually edited and browsed in a giant Freeplane mindmap. And I have code that extracts everything from it into a postgres DB. And absolutely everything is searchable via my global desktop keyboard launcher, which is a part of this whole cohesive system too. The primary keyboard launcher using fzf not only shows all my "documents" to then launch them when I hit Enter, before that, it literally displays every possible piece of content from any depth down the mindmap / other content source too. If I just want glance at some small piece of info, I don't need to actually to need Enter to launch + goto the document/mindmap/program... it's already displayed on my keyboard launcher screen as I type each letter to filter down. Then I can just hit ALT+SPACE again to hide the launcher window, and never even needed to open whatever program the content is actually in. I never need to remember what system/program some info is stored in, it's all available at any time by just hitting ALT+SPACE on my desktop. Doesn't matter if it's opening a program, searching my main dirs/files, any piece of doco/notes at any depth, looking up definitions of all my SQL tables+views etc, trigger a web search on specific websites (without having to open browser first), or finding any code symbol in my source code (because the vscode search features are so bad they're useless to me). I guess a bit like Notion is many tools built into one, so is my TUI stuff. Difference is, I can search + find anything using fzf in less than 1 second. Good luck doing anything that quickly in a web-based system. And I'm even trying out some stuff where I use typescript's typing system to store notes/data that isn't even consumed at all at runtime. I'm simply using the typing system as a way to structurally store + present data to myself inside vscode alone, while enforcing certain things that can't be done on a simple 2D plane like a spreadsheet. I've never really seen anyone else doing anything along these lines before. I can't imagine going back to dealing with separate note taking programs etc all with their own different + inefficient search interfaces etc. Nor anything that involves 2 steps of searching (i.e. searching for note/document/file title, and then opening that and searching for text inside it). Spent at least 20 years trying to find perfect systems for all this type of stuff. Turns out it was better to just built my own in the end. Even if it incorporates some other software like Freeplane, I can merge it all together with this. One giant revelation I had way too late (only last year) was that being a webdev since the 90s... I had pretty much always built my own systems as web-based. That is super slow, even with decades of experience + reusing things. The amount of stuff I've built over the last year has been insane, because the interfaces are simply all made up from the simple TUI elements of: single-key-tap menus + fzf + ANSI colors + space paddings to display tables in terminals. Once the tooling is built up and re-usable, there's basically zero effort needed to build custom layouts as you would on websites. Oh, and also... for anything that involves editing text, like writing git commit messages etc integrates with both neovim + vscode. Also does stuff like opening JSON logs in vscode etc too. So much easier than having to view/edit this type of stuff in some special limited interface of where ever it came from. Parts of it are GUI or TUI or SQL... which ever is best for the specific feature. This is also the kind of integration you can't easily do with web-based stuff. And I can run as many instances of the TUI parts of my system as I want, very efficiently , as it's just another terminal window. Hard to explain in text like this though. But I've made way more progress on all my systems/control panels on the interface side in the last year than I did in the previous 10. Even if your job is making websites for your clients/work. Don't assume that's the best way to build all the stuff you just use yourself too. For my own personal system interfaces, the only reason I'd go back to making them web-based was if I need to do a lot of stuff with images/video. But even basic display/management of images can be done in terminals, assuming you don't need a complex layout.
@tattoosandtoast
@tattoosandtoast 21 день назад
I started watching you when I enrolled in bootcamp. I am so Happy you’re back ❤
@vioskaski
@vioskaski 21 день назад
Would be great to see your process of creating typescript scripts and transforming them into animation.
@funfunfunction
@funfunfunction 14 дней назад
working on it!
@MrSido97
@MrSido97 21 день назад
Nature is healing, FFF is back.
@calvindsouza1151
@calvindsouza1151 21 день назад
Your videos are so interesting that I cannot miss a second mate 🫡
@funfunfunction
@funfunfunction 14 дней назад
thank you! means a lot!
@subcreation4341
@subcreation4341 21 день назад
It would be interesting if you could generate the audio from the script with AI in your own voice, when it gets to the point that it really can get your mannerisms and affectations down. Though it would probably be terrible any time before then
@ub-relax6800
@ub-relax6800 21 день назад
Just fail together sometimes with someone with camera ON. Forget the schedule. The flow is your horse.
@marcelvanLare
@marcelvanLare 21 день назад
It goes a bit all over the place. But ok, good to show vulnerable sides. Just trust on the past of hurdles taken. Curious where this goes to.
@wdospinal
@wdospinal 21 день назад
Yeah!!!! YOU'RE BACK!!!!
@AnthonyBurback
@AnthonyBurback 21 день назад
So much echo
@SurajitMukherjee-gj6he
@SurajitMukherjee-gj6he 21 день назад
Good to see back! Let's do data :)
@ThePaulMcBride
@ThePaulMcBride 22 дня назад
You have a magnificent collection of pots and pans! You should do a cooking episode!
@funfunfunction
@funfunfunction 14 дней назад
ha! several people have said this. would be a great chaos!
@Dr3amDisturb3r
@Dr3amDisturb3r 22 дня назад
It'd be really interesting to see you Collab with ThePrimagen! Can't wait to see what jokes you would come up with! 😂
@Arvigeus
@Arvigeus 22 дня назад
Yesterday, I rewatched one of your older videos. I had seen it when it first came out and was already familiar with the topic. Yet, fun, passion, and flair-these three elements are consistently present in all your videos. Your joy and genuine enthusiasm are what truly resonate, far beyond the content itself. Just do what you love and only when you feel like it. Seeing you happy is what we care the most.
@rose123998
@rose123998 22 дня назад
man you are looking jacked , welcome back
@tautvydasbanys
@tautvydasbanys 22 дня назад
I will jump in to say thank you as well. You were key factor when I was learning programming back then, your videos and your personality made programming interesting for me. These days, when I'm actually working as web developer for couple years it started to feel that I programming only to get salary. Now, when I watched your videos again, I feel like programming is interesting again! Please don't stop, do it on your own terms and in your own way. Many many thanks to you.