SHAWN_CLABOUGH:
Hello and welcome to another episode of Adventures in.NET. I'm Sean Clebo, your host and with me today, co-host Christian Wins.
CHRISTIAN_WENZ:
Hello.
SHAWN_CLABOUGH:
Hey, Christian. And we got
CHRISTIAN_WENZ:
on.
SHAWN_CLABOUGH:
Adam F.
ADAM_FURMANEK:
Hello!
SHAWN_CLABOUGH:
Firm, Firmonic.
CHRISTIAN_WENZ:
Hehehehehe
ADAM_FURMANEK:
That's a
SHAWN_CLABOUGH:
Yeah.
ADAM_FURMANEK:
good one!
SHAWN_CLABOUGH:
Yeah. And back for another week and probably some more. Mark Miller.
MARK_MILLER:
I made it back, I'm a co-host kids!
SHAWN_CLABOUGH:
Glad to have you here, Mark. Every week, we just look forward to it. Hey.
MARK_MILLER:
Me too, man. I don't leave when you guys stop the show. I stay here and I just look in the camera, wait for the next week to come up. That's what I'm doing.
SHAWN_CLABOUGH:
Okay. Don't you like family or anything like that?
MARK_MILLER:
Yeah,
SHAWN_CLABOUGH:
Where are your family?
MARK_MILLER:
you're my family, Sean.
SHAWN_CLABOUGH:
All right. Let's bring in our guest. Let's welcome Andre Schiller-Chan. Welcome, Andre.
ANDREI SCHILLER_CHAN:
good day fams sorry mark you just went from zero to a hundred there I'm
MARK_MILLER:
No worries!
ANDREI SCHILLER_CHAN:
not trying to burst into laughter here that's great whatever you've just eaten send it over my way oh my god let's keep it going then
SHAWN_CLABOUGH:
Yeah. All right, Andre.
MARK_MILLER:
I'm just working on my professional speaking voice. I don't know, maybe later we can talk about some tips if you guys want any.
ANDREI SCHILLER_CHAN:
Yeah, 100%. That would be great, man.
SHAWN_CLABOUGH:
All right, Andre, why don't you start us off by just kind of give us a quick quick introduction of yourself and you know how you got into development, how you got into net.
ANDREI SCHILLER_CHAN:
I would say so how long do you have to try and wrap this up as quickly as I as I can I was a I was a theater director back in the day Long long long time back back in Melbourne And I came over to London because I got offered a place to do a masters in voice sciences voice and voice studies And the reason I got into voice was because I started working with wrongfully convicted prisoners So there's a fella called Ruben hurricane Carter. I'm not sure if you know about him, but he's quite big in America Well, he was he passed away some years ago but deliver a song about school the hurricane you guys know the song so we've proven we're working with a a roughly convicted to a court that mccallum and he was exonerated twenty fifteen i believe and so i do my work my friendship with him and said in my time with him i i started learning a little bit how trauma informs for us and i started using a lot of the the learning that i took it into the theatre world. And then I started directing and using some of the techniques that I learned and then, yeah, long story short, I got offered a place to study at the Royal Central School of Speech and Drama here in the UK. Now, after that masters had finished, I didn't get any good internships, so it was very difficult for me to find a job. And for about three months went by, right, just literally couldn't find anything. And how I was keeping afloat was by teaching boxing. and i'd really gotten to the point where i was so down to the dumps and really depressed and i was in a very bad headspace that i just i suppose i reached out to one of my boxing clients and i asked him do you have any jobs going and he said well we've got a temporary contract where we just need a person to staple some paper together and i suppose i had to swallow my pride a little bit and just say yes because i had no other choice i had to pay the bills and so i was a I was stapling pieces of paper to go for three months, and this is given the fact that I had my own theatre business in Melbourne and in Victoria and Australia. So it was a bit of a jump for me, but I did that job damn well and I got promoted. And the company that was working with Moneybox has been fantastic. And I really worked at it. I worked really hard and they gave me the opportunity to build out their pensions, operations, I suppose requirements. And I kept learning SQL there and I kept building up the requirements that were needed for that. and then eventually the company gave me the opportunity to do a lateral move into software engineering because of my domain knowledge. I suppose I proved my worth and they gave me the chance to move into software engineering. I suppose it was because somebody called Wind that I had been learning to code on the side. I wanted to learn how to do what the engineers were doing and so I was teaching myself and then I had a great mentor really kind of pick me up. and give me a chance and then and now here i am so i kind of i'll everything to some of the people at money box and into my mentor mister christopher haines
MARK_MILLER:
Yeah, he's probably looking at those staples and he's like, these are some of the best stapling I've ever seen.
ANDREI SCHILLER_CHAN:
oh my god yeah yeah exactly yeah i stapled the crap out of those papers
MARK_MILLER:
These are amazing! We gotta get this guy into the programming!
ANDREI SCHILLER_CHAN:
It's exactly what happened and boy are they happy about it now given the fact I'm saving them tons of money on PDF creation which is what we'll get into shortly I presume. So
SHAWN_CLABOUGH:
Yeah,
ANDREI SCHILLER_CHAN:
yeah.
SHAWN_CLABOUGH:
so what kind of things do you tend to work on with.NET?
ANDREI SCHILLER_CHAN:
So, one of the first jobs that they gave me when I was a junior developer was actually generating statements. So, Moneybox is a fintech and here in the UK everything is very tightly regulated. So you need, just statements are coming out left, right and center. So we needed a way to generate these statements quickly and actually to have a little bit of flexibility with how we can, I suppose, provide the information to customers in a nice and exciting way. and we were using HTML PDF creation at the beginning. So my job right at the beginning as a junior software engineer was writing things in HTML and converting them into PDF. Now I'm not sure if you guys have ever done it, but when I was in my Jujitsu class, I said, has anyone done HTML to PDF? It's a collective groan, just echoes throughout the chamber there. So it seems to be a rite of passage for a lot of folks, but God, I was finding it super, super frustrating. Have you guys ever had to do any of that HD Modified PDF stuff in the past? I'm sure you must have.
MARK_MILLER:
I am not.
SHAWN_CLABOUGH:
Yeah, I've not done HTML2PDF, but I've definitely had to go out there and find libraries that would help me out with
CHRISTIAN_WENZ:
I
SHAWN_CLABOUGH:
it.
CHRISTIAN_WENZ:
did
SHAWN_CLABOUGH:
And
CHRISTIAN_WENZ:
lots
SHAWN_CLABOUGH:
there's been
CHRISTIAN_WENZ:
of that.
SHAWN_CLABOUGH:
a number of them. Yeah. But, you know,
CHRISTIAN_WENZ:
But
SHAWN_CLABOUGH:
I've
CHRISTIAN_WENZ:
with
SHAWN_CLABOUGH:
never
CHRISTIAN_WENZ:
PHP.
SHAWN_CLABOUGH:
really found them that were really that, you know, user-friendly to, you know, get things done quickly and easily.
ANDREI SCHILLER_CHAN:
Yeah, it really wasn't like that. I mean, Christian, you might have come across this before, but you know, like HTML's got no concept of pagination, right? So, what we found really difficult, especially when you're working with finance, you always have tables, and then you would have, you know, you might have five sentences within the table. So you could set up a table break, sorry, a page break easily enough in HTML, but what happens if you've got characters within a table, which then spills over to the next page? So you get all this kind of funky stuff that happens. So we had to... to all kinds of crazy algorithms like you know, measuring the width of a character and then measuring the other characters you could fit inside a table cell, all kinds of crazy stuff I was about to throw the cat out of the window after about two weeks of this, so that's why I started I said, you know, to hell with this, I'm not going to use h2o or pdf, let's see if I can find somewhere or something better to use and this is when I stumbled upon upon QuestPDF and as I was just mentioning before, it was third page, you never usually click next on Google.
CHRISTIAN_WENZ:
There's more than one page, I wasn't aware.
ANDREI SCHILLER_CHAN:
Oh yeah Christian, there's tons. Yeah, just gotta go looking mate. Tons and tons of pages. Yes, unbelievable. I've never found anything past the first page of Google but I think I went through everything on the first page because there's tons of PDF creation libraries out there, aren't there? We were using Espos. I don't want to get sued for defamation about using that library so I'm not going to say anymore. The reason why we moved from Espos to Quest PDF is because of the pain points that we were having. So I think I went through all kinds of different libraries on there and they just couldn't give us what we wanted and really what sealed the deal was that we needed to create a PDF that could create charts. Bar charts and pie charts, all kinds of charts, nothing else was really giving us what we wanted. And then yeah, as I said, I clicked onto page 3 of Google and found Quest PDF. and it's an open source library that is sincerely intuitive, even for a junior software engineer like myself at the time to use and now we've rolled it out across the company and it works brilliantly. It's very easy to use and performance wise, it would take, I think, it would take a week to generate customer statements using, I suppose, PDF. We've halved that time with Quest. I haven't done any... like in-depth analysis of the performance but just given the fact that it's literally cut our time enough to generate customer savings is proof enough, it's fantastic.
CHRISTIAN_WENZ:
So do you think that performance may be perceived or actual better performance? Does that come from, I don't know, better algorithm, more limited feature set, different approach on how to generate PDF? Because I think, I mean, PDF generation sounds like really hard for me, also from my experience, because, and do correct me if I'm wrong, the nice thing about HTML, of course, is, as you mentioned, that the browser's layouts stuff like tables automatically and page breaks well. they send it to the printer and eventually there will be a page break. Whereas in PDF you basically can't say, okay, here's some long text, good luck, but instead, okay, add new page, put that content on the page, add another page, put that content on that page, and if the content doesn't fit, it just gets cut. Right,
ANDREI SCHILLER_CHAN:
Yeah, that's right.
CHRISTIAN_WENZ:
so does that come into play here or what would you say? What was
ANDREI SCHILLER_CHAN:
No.
CHRISTIAN_WENZ:
the performance miracle here?
ANDREI SCHILLER_CHAN:
uh... to uh... to be honest my diet i wouldn't be able to tell you that you'd have to bring on the genius himself marts uh... mason's you've acted at the fellow you created he was a he was a helmet it is pictures of gilbert i presume to protect his is intellect at all times uh... but uh... i mean look we espos pdf it's close or stuff we have a so many problems and uh... when you go to the forum look at all the issues they've gotten and everything that we're facing I couldn't tell you what was going on there, mate, behind closed doors. But the great stuff with Quest PDF is that it's open source and you could look through it yourself. I mean, personally, I haven't really gone through every single file. I've really only used what we looked at what we needed. But when it comes to page breaks, it's a simple, all he's done is implemented a simple fluid method onto it. You say when you want to page break, bang, in it goes. You don't have to do any of that algorithm accounting about how long characters are, or the width of the tables. uh... as one side it's like superintuitive just use if you want to get a pdf operating in about five minutes that's the way you go about doing it
CHRISTIAN_WENZ:
That sounds really nice. And I think especially given the different approach that PDF has, that we put it that way, then a word processor or something like a website, where basically just provide text and then the layout is done by the system, not by you. I think having an intuitive API is probably paramount. So maybe
ANDREI SCHILLER_CHAN:
I think
CHRISTIAN_WENZ:
that
ANDREI SCHILLER_CHAN:
so.
CHRISTIAN_WENZ:
library shines as well.
ANDREI SCHILLER_CHAN:
Yeah, I think so. And because you're using a fluent syntax, the way you read a PDF is the way that the code is written. So it's kind of written line by line. It's encouraged that you break things into components, right? So for instance, this pie chart that I was talking about implementing for our statements, that's a whole separate component and you might make another table, a different component. You would try and compartmentalize as much of it as possible. But the way you read it is exactly how you write it. It's very cool.
ADAM_FURMANEK:
And what
SHAWN_CLABOUGH:
Yeah, look.
ADAM_FURMANEK:
about international stuff? Let's say right to left text order or Japanese characters and other stuff that we definitely don't think about and then they fail even in PDF files.
ANDREI SCHILLER_CHAN:
I haven't even looked at that unfortunately. I wouldn't be able to tell you. I haven't been required to write fintech statements in a different language or go in the other direction.
ADAM_FURMANEK:
Like, recently I was doing that for Norwegian, I think. And everything looked great, apart from some Norwegian characters that just couldn't render.
ANDREI SCHILLER_CHAN:
yeah i i mean hey look at those parts but i i'm sure it does other things but uh... now we get a two-week uh... official i haven't experimented enough to see
MARK_MILLER:
I just threw a link into chat on a section from the documentation for Quest PDF called Content Direction, where they talk about using right to left. So it looks like they might have support for it. Yeah, in fact, it says content from left to right is a call you can make followed by content from right to left. So you can set the content direction using that API.
ADAM_FURMANEK:
Comprehensive.
SHAWN_CLABOUGH:
Yeah, Adam,
ANDREI SCHILLER_CHAN:
Oh, yes!
SHAWN_CLABOUGH:
be nice about Norwegians. I'm 50% Norwegian. My mom was 100%.
ANDREI SCHILLER_CHAN:
yeah i mean that's the other great thing about quest pdf is that the documentation is off the charts it is so good it is so handy um... i think i was a big thing as well like you know i think i was looking at was the other one iron pdf maybe was the other one i was looking at it i think what what put me off at the time was just i found the documentation just to be a little bit too brutal whereas what martin has done is is really incredible um... i really sell it as guys fed boy don't i i i i think it's just if you want a good case of post-it syndrome guard you look at this guy and and and we will we would have done with quest pdf is that the fantastic fellows that great job yes i would yet so it doesn't surprise me that it that it supports the characters and and what's the best functionality there
SHAWN_CLABOUGH:
Sounds like
CHRISTIAN_WENZ:
So
SHAWN_CLABOUGH:
I
CHRISTIAN_WENZ:
is
SHAWN_CLABOUGH:
need to convince
CHRISTIAN_WENZ:
this
SHAWN_CLABOUGH:
him
CHRISTIAN_WENZ:
a
SHAWN_CLABOUGH:
to
CHRISTIAN_WENZ:
one-man
SHAWN_CLABOUGH:
write
CHRISTIAN_WENZ:
show?
SHAWN_CLABOUGH:
one for Excel.
CHRISTIAN_WENZ:
Oh yeah, sorry, sorry, Sean. So is this like a one-man show? I mean, there are several contributors, at least on the GitHub for that project, but would you still say there's one benevolent dictator steering everything?
ANDREI SCHILLER_CHAN:
yeah yeah i think so i i just had a quick look at to see because i haven't really touched um... uh... every day at a quick look at it for a long time i think we implemented his library in twenty twenty one like a long time ago so i can't see what's going on but it it's a bit two weeks ago he's still going out i could see his latest commit was there so i get different looks it looks that way
CHRISTIAN_WENZ:
I mean, in the last episode, I was praising jQuery for having a very low number of open issues. And so I request PDF as of today, it's at 134, which I think is kind of okay, because some of them are feature requests. I think implementing forms is, of course, something interesting, right? So you have PDFs with fields that you can fill out. But I think from technology point of view, that's just yet another level, right? And that's maybe where one of those two license products are more common, right? Or they're just implemented. Talk about the license. I mean, what's the situation there? I mean, that
ANDREI SCHILLER_CHAN:
Yeah, so,
CHRISTIAN_WENZ:
the
ANDREI SCHILLER_CHAN:
geez, I mean, as I said, like, way back in 2021, there wasn't even a... Again, I literally just saw this, just having a look now before we came on. That licensing didn't exist, it was just under the free MIT license when we used it. And I'm glad to see, I'm happy for him, that he has actually started to put some licensing stuff on there. So it's split between three, I suppose three tiers, you know, you've got the free community use and then... you've got the professional and then you might have the more elite one. So I mean, yeah, currently we're still in the, I think we're on the 20 22.5 or he says, you know, if you're still an older user, you can still use this for free. But I mean, look, it's I think, what does he say? He's he said that you can, if you earn more than 1 million USD and using a later version, you've got more than 10 software engineers, then please be honest and sign up for the more pricey tier.
CHRISTIAN_WENZ:
So that's similar to the community editions of Visual Studio and Identity Server and other products. I mean, probably Identity Server is a good comparison, right? I fully understand that if you're doing, let's say, stuff that's especially relevant in a business context, then you have to have a model that's just viable.
ANDREI SCHILLER_CHAN:
Yeah.
CHRISTIAN_WENZ:
And the model can't be, you just do it for free and then hope that some companies... will send their gratitude, but yeah, it's the development has to be steady and the system
ANDREI SCHILLER_CHAN:
Yeah.
CHRISTIAN_WENZ:
just needs to be sustainable, right? So having having for me.
ANDREI SCHILLER_CHAN:
Yeah, I'm glad he's doing that. We gave him some sponsorship right at the beginning.
CHRISTIAN_WENZ:
Mm-hmm.
ANDREI SCHILLER_CHAN:
But yeah, I'm glad he's able to do something. But again, it's all based on honesty, isn't it? For him, currently, he's not enforcing a validation on any license. So he's a legend.
CHRISTIAN_WENZ:
The pricing is, at least as of today, there's a professional edition and enterprise edition, depending on the size of the companies. So I think professionals up to 10 DEFs and then enterprise over 10 DEFs and that's currently at $503,000 a year plus taxes. And if I understand it correctly, it's no matter how many developers you have, for instance, the enterprise version is good for any size. So
ANDREI SCHILLER_CHAN:
yeah i mean
CHRISTIAN_WENZ:
personally,
ANDREI SCHILLER_CHAN:
look it's well
CHRISTIAN_WENZ:
that
ANDREI SCHILLER_CHAN:
worth
CHRISTIAN_WENZ:
looks
ANDREI SCHILLER_CHAN:
it's
CHRISTIAN_WENZ:
sounds
ANDREI SCHILLER_CHAN:
well
CHRISTIAN_WENZ:
reasonable
ANDREI SCHILLER_CHAN:
worth it
CHRISTIAN_WENZ:
to me.
ANDREI SCHILLER_CHAN:
exactly yeah it's well worth it i mean i think we were at some point we were paying i suppose more than that and they really weren't yeah they were just causing more problems than uh... you know giving us solutions again hopefully i'm not going to get super defamation here
SHAWN_CLABOUGH:
Yeah, I don't think they're our sponsor, so.
ANDREI SCHILLER_CHAN:
yeah that's kind
SHAWN_CLABOUGH:
Yeah,
ANDREI SCHILLER_CHAN:
of
SHAWN_CLABOUGH:
I agree.
ANDREI SCHILLER_CHAN:
obvious uh... it was a check before i got out there
SHAWN_CLABOUGH:
Yeah, it does look like there's one limitation, at least, that I found of Quest PDF and it doesn't do forms, at least not yet. You know, he might be able to add something like that in the future. I was looking through the GitHub repository of feedback and I guess people have kind of asked a little bit about that, but it's not there yet. So right now it's pretty much just creating layouts for PDFs.
ANDREI SCHILLER_CHAN:
yeah yeah it that seems to be at the moment
SHAWN_CLABOUGH:
So what was it really like working at this library compared to other ones that you've tried out?
ANDREI SCHILLER_CHAN:
So, yeah, interesting, if I take my mind back to 2021, it was about over a three week period where, you know, when my tech lead gave me, I suppose free reign to say, look, if you think you can find something better than HTML to PDF conversion, I suppose, go for gold. So I tested out, I tried to give at least like, enough libraries, enough time to see which one will work for what we needed. And yeah, and none of them, I didn't get past a few of them for like, you know, two days and I was just going, no, that's just not working for us. What really sealed the deal for me when I was working with the Quessy PDF was the documentation, was the ability to actually, to write it up in the way that you'd read a PDF. So it actually made the readability a lot more cleaner for everyone else to understand as well. I think that's a big thing when you're working with PDFs because it's, you tend to share a lot of the work. There's not really one single... I suppose source of failure when it comes to PDF generation in a company because especially when you're working in finance you've got a lot of different teams that have to touch different parts of regulatory finance and each statement always has some kind of reason to exist. So I'm not sure if any of you guys have worked in a regulatory environment before but it's super especially here in the UK you need to be on top of these statements and there's statements for everything. So readability was very important, but really the thing that still the deal for me was actually this great method that he developed and Christian we touched on this a little bit before. And you can go into the documentation, you can find it now, it's literally, the method is called ensure space. That's it. It's a one line method and it literally does everything that we just talked about which is how do you know when to split? a table cell if it goes over to the next page. You have to count how many carriages you can fit in the table cell, how wide are they going to be, that's what we have to do in HDL or PDF where you do some other crazy stuff. Here all you have to do is type in insure space and for that and for us that was really what sealed the deal because it is just hundreds and hundreds and hundreds and thousands of tables with different transactional data and they're all different and we needed to make sure that it's split into a... it will split into the next page properly. Otherwise it would just look all completely jumbled. It just wouldn't work. And that's a problem. It becomes like a legal problem if you can't give these statements to people properly.
MARK_MILLER:
Yeah, I think there's another... kind of component to the architecture of Quest PDF that I really like, which based on the sample code I've seen, which is readability. You know, like you say, you're looking at the code in the same order, in the same presentation that the PDF appears in. And there's a number of kind of interesting choices in terms of architecture, where you basically are calling dot in some method And the method is making a change, but also returning the changed item. So you just on multiple lines, you might say, you know, dot extend horizontal dot height, you know, seventy five dot background colors. And you can do that, run that down the line like that, right? When you're modifying like a column or an item or things like that. And then also similarly for like, you know on an item you can say I think line and then put the text that you want to Have on that line and I think you can do things like justify you can say right justify or left justify whatever I don't recall what the the the keyword is but The function name is but you can make that call in there as you're, and I think you can set your font as well as you're going down. So line by line you can see it and it's, in all the code samples I've seen on Quest PDF as well as in your article, Andre, I'm looking at them, I'm nodding my head as I'm reading it because it's easy to grok.
ANDREI SCHILLER_CHAN:
Yeah, yeah. That's what I mean. The readability, the ease and the speed at which you can pick it up.
MARK_MILLER:
Yeah, it's nice.
ANDREI SCHILLER_CHAN:
I mean, that's a huge thing. I mean, I remember picking up, I suppose, PDF. Somebody just dumped it on me because they've been working with it for like, what, five years, I think, maybe, since the company began. And, god, that took just ages to understand, ages and ages. You know, yeah. Whereas Quest PDF, it's literally just a fluid syntax. You can just build one on top of the other. And the great thing is that you can set a styling as well, and you pass, you literally just pass that down the line and activate it when you want. So yeah, so that's what really sealed the deal for Quest PDF. But actually, I am thinking back now, the real reason was that the product designer wanted, this is a funny, this is actually a funny story, the product designer wanted a pie chart to list the number of assets that a customer may have. And so she built this beautiful pie chart, and no other PDF library supported. charts of any kind. And so when I was experimenting with PDF and started doing the charts, I was like, oh, this is actually working. This is working greatly. And everyone was so excited because we had this statement that could produce this chart for everyone. And then I kind of sat back and said, well, hang on, how many assets can a customer have? And then at the time, we could only have like four. But then we were planning to roll out a lot more. And so that pie chart had to go in the bin because you could imagine a person with like 30 assets and a pie chart all being taken up by different, you know, you've got Apple and Meta and Facebook and all this stuff and if you have 30 of them you would just be a complete jumble. So at the end of the day we had to get rid of the pie chart but it led us to the topic that we're talking about now so yeah. Funny to think about in hindsight.
MARK_MILLER:
So Andre, when I was reading your original article, I proceeded to click on your name and look at some of the other articles you wrote, which then led me into an article you wrote called How to Give Your Voice Depth and Why It Matters. And I was like, oh my God, this is gonna be awesome. I'm gonna be able to, you know, pick up my wife on a date, you know, make her wanna go out on a date with me by having a sexy voice. And so I just like was reading that, and I was like, this is awesome. I'm sorry.
ANDREI SCHILLER_CHAN:
Wait, hang on. She's your wife, but you haven't been on a date yet?
MARK_MILLER:
I have to work all the time. I gotta work.
ANDREI SCHILLER_CHAN:
Hahahaha
MARK_MILLER:
I gotta work to get what I want. That's what
ANDREI SCHILLER_CHAN:
Okay,
MARK_MILLER:
I gotta do.
ANDREI SCHILLER_CHAN:
okay, but...
MARK_MILLER:
So anyway, I'm trying some of the techniques, right? I'm like one
ANDREI SCHILLER_CHAN:
Aya!
MARK_MILLER:
day, hey, hey there, hey there, hey, hey, then she walks away right around that by the third or fourth. Hey, but
CHRISTIAN_WENZ:
I start understanding that. So, Andre, please give us a few seconds. Actually, may I go one step back actually? So when you mentioned your studies, could you elaborate what that actually means? I've heard the term, but I have no idea what you're...
ANDREI SCHILLER_CHAN:
Okay, alright, so,
CHRISTIAN_WENZ:
What you're studying there.
ANDREI SCHILLER_CHAN:
yeah, so, I suppose it splits into two kinds, right? You've got a speech and language therapist and they'll deal with people more with, you know, stutters and more speech disorder stuff. And then you'll have people like me who are more dealing, I suppose, with more personal requests, a little bit like you, Mark, you know, like can you help me make my voice deeper so my wife will go on a date with me? or though I feel if that's your problem,
MARK_MILLER:
I'm sorry.
ANDREI SCHILLER_CHAN:
you may want to go see a counselor because that doesn't sound too good.
MARK_MILLER:
That's the tip of the iceberg with
ANDREI SCHILLER_CHAN:
Yeah,
MARK_MILLER:
regard to my
ANDREI SCHILLER_CHAN:
I
MARK_MILLER:
problems.
ANDREI SCHILLER_CHAN:
was going to say it's the tip of the iceberg, right? But the best way that I can sum up is the King's Speech. I'm not sure if you guys have seen the film with Jeffrey Rush and Colin Firth, but that's basically what a voice coach does in a nutshell. But in my masters I was focusing more on the trauma aspect about how trauma can affect the voice and how we could help people coming out of prisons because a lot of people go in there when they're very young they're maybe picked up for like marijuana. You know, there's really just silly crimes and things like that, but you know, they come out obviously changed and their voice, I mean, think about how much you use your voice in a day. You speak a lot. and your voice, your vocal folds, typically an average man, they vibrate 120 times per second. So we use our voice a lot, but then our voice also influences people around us and they influence how they feel about us. And your voice can also influence how you feel on the inside. And so maybe, I think Mark, that article that I wrote was talking a little bit more about how the voice influences us internally and also how it can influence us on the outside. So my job as a voice coach is to kind of help people take more of a control about how they use their voice in a much more... what's the right word here? I suppose to start treating it as more like an instrument, rather than just to be something to be controlled by. So for instance, if you're nervous you might just feel like my voice is going to break here, it's going to go high, I don't really feel like I've got any control over it. And most people don't even like the sound of their own voice, they hate it. And actually... A fair number of my clients here in the London are software engineers, funnily enough. And they don't know I'm a software engineer because I don't think it's on my blog anywhere, but they come to me and say, I don't feel like I've got the right to speak in meetings. I'm like, well, you know, and then we'll go into the feeling about why they don't feel like they've got the right to speak. The other one that came up was, I feel afraid that I'm going to be interrupted. And that brought up a very interesting conversation because I suppose we're missing out and hearing a lot of... quieter voices if we're not generating an environment where people feel like they have the right to be heard. So all these things that came out, speaking to clients has been quite interesting for the software engineering side. But back to your question mark about how to make your voice deeper. It's not about lowering your voice into a very low kind of thing. It's about activating what are called resonating chambers within your body. So for instance, I can give you a very clear example about... amplifying nasal resonance, I can just go straight up into a really Aussie accent and now I've kind of I'm amplifying the higher frequencies that are bouncing off the nasal chambers here in my face and my head but it actually makes me louder without using any more effort. So if you ever go to a pub or if you ever go to a nightclub and you feel like you're using your voice and you want to be heard start speaking in an Australian accent or or if you're American just try and go a little bit more like try and go a little bit more nasal it's called twang. It's like what Bob Dylan, it's actual style of singing. Bob Dylan sings in twang. But you can save your voice from, I suppose, drying out and from it hurting because you're pressing so much, because you're activating what's called like a positive feedback loop. You're getting all those vibrations that are going up through your vocal tract. They hit some of the nasal chambers within your head and those sine waves get sent back down and it creates this positive feedback loop so your voice gets louder without using as much effort. So, yeah.
SHAWN_CLABOUGH:
Yeah, Mark. Yeah, you just get up close to your wife and you use your chest voice and you go, Hey, dear, would you go on a date with me?
ANDREI SCHILLER_CHAN:
Ehh
MARK_MILLER:
Okay, I thought he would say
ANDREI SCHILLER_CHAN:
That's...
MARK_MILLER:
induce my nasal voice to get the date. That's what I- I'm
SHAWN_CLABOUGH:
No, no,
ANDREI SCHILLER_CHAN:
No,
SHAWN_CLABOUGH:
no,
ANDREI SCHILLER_CHAN:
no, no,
SHAWN_CLABOUGH:
that's
ANDREI SCHILLER_CHAN:
no. No,
SHAWN_CLABOUGH:
if
ANDREI SCHILLER_CHAN:
that's...
SHAWN_CLABOUGH:
you're in a bar. That's when you're
MARK_MILLER:
gonna-
SHAWN_CLABOUGH:
in
ANDREI SCHILLER_CHAN:
That's
SHAWN_CLABOUGH:
a bar, not when you're
ANDREI SCHILLER_CHAN:
in your
SHAWN_CLABOUGH:
trying
ANDREI SCHILLER_CHAN:
bar.
SHAWN_CLABOUGH:
to be, you know,
MARK_MILLER:
Oh, it's
SHAWN_CLABOUGH:
sexy,
MARK_MILLER:
when I-
SHAWN_CLABOUGH:
smooth to your wife.
ANDREI SCHILLER_CHAN:
Nah.
MARK_MILLER:
I'm gonna work on... there's so much I gotta work on.
ANDREI SCHILLER_CHAN:
Yeah,
MARK_MILLER:
I'm gonna take some notes.
ANDREI SCHILLER_CHAN:
it's
SHAWN_CLABOUGH:
Andrea, I
ANDREI SCHILLER_CHAN:
a...
SHAWN_CLABOUGH:
heard one way for singers to learn how to use your chest voice rather than your nasal voice is actually lay down on the ground. Have you heard that?
ANDREI SCHILLER_CHAN:
Yes. Yeah, you can all do it now if you want.
SHAWN_CLABOUGH:
Hehehe
ANDREI SCHILLER_CHAN:
uh... but basically when you get with it after park would do it
SHAWN_CLABOUGH:
There goes Mark.
ANDREI SCHILLER_CHAN:
yeah uh... when we when you lie down to get your diaphragm relaxes so you know it's a doctor isn't fighting against gravity so your body starts relax and so mark i think that that whole article is is about a fifteen minute reading itself and i don't want to bore our listeners with with going to watch into detail but you know what when you're saying how to have a low voice it's not about again dropping your marks is being a low voice it's about allowing every to start resonating more rather than locking yourself into a certain pitch. So for instance if I just lock myself into my chest, into a chest resonance by forcibly dropping my larynx which makes my vocal frequency lower, I'm going to bore the crap out of you because I've denied my voice range. So you can't just, it's not about focusing on one aspect of your voice by I just want to amplify my chest resonance to sound more like a man. It's about amplifying your chest. It's about amplifying... the nasal resonances, it's amplifying the resonances in your head and in your throat and bring them all together, not just using one part. I'm hoping I haven't lost you, but it is...
MARK_MILLER:
No,
ANDREI SCHILLER_CHAN:
yeah.
MARK_MILLER:
no, I actually there's a lot about the article that I that I really liked. I loved. You know, one of the things I study is the science of good design. And one of the components of that is how do we interpret our world? And, uh, and I know a little bit about how we hear things, but, uh, but there were elements in this article that I had not encountered before that I, that I, that I liked, like the ability to detect, you essentially detect if somebody is nervous or not, right? And what are we, you know, how are we doing that? And then how do you then transmit or communicate that this is a safe environment, right? By essentially speaking in a relaxed way, right?
ANDREI SCHILLER_CHAN:
Yeah.
MARK_MILLER:
I thought it was, I was really impressed with the science behind it. I was like, wow, look at this, a lot of research here.
ANDREI SCHILLER_CHAN:
Yeah, it's fascinating. It's a bit of a rabbit hole. You can keep going into it and you'll still learn new things. But yeah, I mean, sure, it's exactly what you said, you know, like, you can get like a deep voice by just lying on the ground, like what's happening there. And it's literally because your voice, your body is just relaxing more and the more relaxed your body is, the more... the more your ribcage can move, the more your larynx can move and you have more greater movement in the frequencies that you can... phonate, and you can literally... speak and people can understand. So this thing about relaxation and stress when it comes to the voice, it's an interesting tension. You can't be too tense, you can't be too relaxed, you want to find just a very happy medium. And so as a voice coach clients come to me, it's really about mastering this in the best way possible. And look, here's the thing, like as software engineers, as all the four of you know, like you guys have a great responsibility because you guys are geniuses in your own right. And you all do talks. to help the younger generation like myself learn. But for other junior software engineers who are trying to get into your space, I say to them, well, you can use the daily stand up you do as a practice board. It's a great way to practice learning to improve your voice, because the worst thing you can do is go to stand up and just have that. I don't know where it's come from. Like this is very foreign to me, but maybe you guys can clarify. But it would usually go something like this. uh... yeah hey guys i'm just working on the quest pdf generation tomorrow and then i'll uh... i'll try to get into releasing the test environment on friday see you back on release on monday does that sound familiar it's just a complete monotone
SHAWN_CLABOUGH:
Hehehe
ANDREI SCHILLER_CHAN:
doesn't really go anywhere it just is
ADAM_FURMANEK:
That's exactly the point of stand-up, right? We will not keep it short, so it must be as boring as possible.
ANDREI SCHILLER_CHAN:
That's fine, but I argue that you can still keep it short, concise and to the point, but also keep the attention of your listeners because a monotone just switches people off. And it doesn't make them feel like in a comfortable and relaxed state. You would never go to a theatre show, you would never see a film, and the whole, I suppose the whole show is just... actor speaking in monotone, you'd just be sitting there bored out of your mind. And I think it's important, especially if you're giving updates in the fintech world, that you want your audience to understand what's going on. And so your job as a master speaker is to reel them in.
ADAM_FURMANEK:
Yeah, one question in this area. Like I'm a public speaker for many years now and I noticed, like I come from Poland, so my mother tongue is Polish, right? And I noticed that whenever I do speak English, I have higher pitch. Do you know what could be the reason and is it common or is it just me?
ANDREI SCHILLER_CHAN:
it's very common, it's the placement of your tongue, it's the placement of your jaw when you're starting to, when you're learning the language. I mean if you learn English and you hear English speakers, English are naturally head heavy, you know, it's coming from the head. If you think about received pronunciation, it's all right at the front of the mouth, it doesn't sound very much like how... you guys speak more on the stage which is a little bit more throaty, a little bit more deeper in the chest but all accents have different places where they naturally sit when it comes to the placement of of where the vowels are and so when you're speaking English your tongue is going to be doing something a little bit differently to how you speak it in the mother tongue and that forces it forces the way uh... the air comes up through your vocal tract and starts bouncing around in your mouth cavity there So it's really just about the placement.
CHRISTIAN_WENZ:
That's super fascinating. Thank you for sharing that. Could being nervous also be a contributing factor? A friend of mine, a few years ago, she was looking for a new job. And then she was kind of phoning with a potential new employer. And I happened to be in a room. And I noticed that while she was on the phone, she was talking in a higher voice as usual, right? And that was not like her phone voice, because I happen to know her phone voice. But it was her phoning. potential new employer voice. So maybe that also, and I mean, if you don't speak in your mother tongue, maybe that kind of builds in, so maybe more adrenaline. I don't know.
ANDREI SCHILLER_CHAN:
Yeah,
CHRISTIAN_WENZ:
Could that be as
ANDREI SCHILLER_CHAN:
yeah,
CHRISTIAN_WENZ:
well?
ANDREI SCHILLER_CHAN:
I mean 100% I can't speak on your behalf, Adam or Christian, because I don't speak a second language. So I have so much respect for you guys getting up there and doing that in a language that's not your mother tongue.
CHRISTIAN_WENZ:
or you do American English, Australian English, I mean that.
ANDREI SCHILLER_CHAN:
yeah maybe maybe a serene baby big was here in there but uh... so if you've always starts going higher it is because stress starts forcing a body into the fight-or-flight response and if i thought responses will it does all kind of could be doing a myriad of different things but the dot one thing is that it prepares your body for action now as i said Sean, going back to your analogy about lying on the floor and your body relaxing, and why does that make your voice stable? Because it's making space, it's allowing for space to happen. What happens when you want to fight a flight? Things start to tense up. So for instance, if you're quite nervous, you might start breathing a little bit quicker. But the problem is when you're nervous, you tend to lock your stomach because it's like you're in a protective pose, right? So if you're nervous, or if you're nervous, or if you're nervous, you can just do this now. Like is your belly nice and, I mean, you all look pretty relaxed, so I would imagine it would be nice and, your belly would be nice and relaxed. but when you're nervous, your abdomen starts to tighten up. So then your body goes, well, I need air and my diaphragm has no place to move because my organs below my diaphragm aren't moving. So my body is gonna have to find some way to intake air. And so what it does is it activates this thing it's called secondary respiratory muscles. It's a big sternocleidomastoid. You can see it, or the listeners at home can't see it, but it's a big muscle that runs down the mastoid process just under your chin and it attaches to you. to what's called your scapula here, and it starts lifting your ribcage up and down so you guys can start breathing in air when you're nervous. Problem with that is, is that this muscle is so big it starts to tighten up the larynx, so your vocal tract, the place that houses your vocal folds, things start to get very tight. And what happens to a tight guitar string? you start, the frequency starts to get higher. So that's why the voice starts rising in pitch when you get nervous, because things start to get a lot tighter like a guitar string. So you have to start learning techniques and start trying to understand how to relax your body in that state when you're in a nervous situation. And you have to, you can use all these different kinds of techniques to kind of just start grounding yourself a little bit more. But it's hilarious. Now you might find like a six foot fella, you know, he's really muscular. You're full of macho man, and then a police cop pulls him up on the side and goes, Oh, officer! What did I do wrong today? You know, like... It's hilarious what the voice will give away about how somebody is feeling. Um...
MARK_MILLER:
That's how I
ANDREI SCHILLER_CHAN:
Hahaha!
MARK_MILLER:
talk normally all the time.
ANDREI SCHILLER_CHAN:
You're just constantly nervous of your wife, like...
MARK_MILLER:
I can't...
SHAWN_CLABOUGH:
Hahaha
ANDREI SCHILLER_CHAN:
I don't blame her because you haven't taken her out on a date for a long time, apparently.
MARK_MILLER:
I hope
ANDREI SCHILLER_CHAN:
Hahaha!
MARK_MILLER:
she says yes!
ANDREI SCHILLER_CHAN:
Yeah.
SHAWN_CLABOUGH:
Of course, anymore you could just use AI to give yourself like the Luther Vandross voice and, you know,
ANDREI SCHILLER_CHAN:
Yeah,
SHAWN_CLABOUGH:
send
ANDREI SCHILLER_CHAN:
that's
SHAWN_CLABOUGH:
that
ANDREI SCHILLER_CHAN:
scary.
SHAWN_CLABOUGH:
send little, you know, voicemail to your wife, you know, with what Luther Vandross is speaking.
MARK_MILLER:
I feel like this show is turning into, will Mark get a date with
SHAWN_CLABOUGH:
Hehehehehehe
MARK_MILLER:
his wife?
ANDREI SCHILLER_CHAN:
Hehehehehehe yeah i i think it i think it did uh... they are you it's that if you could take a rap the
MARK_MILLER:
We'll keep you updated, kids!
SHAWN_CLABOUGH:
Yeah, tune in next week to find out
MARK_MILLER:
and
SHAWN_CLABOUGH:
Mark's wife's answer.
ANDREI SCHILLER_CHAN:
Yeah. And look, just something very easily that I could tell you, Mark, you know, if you're nervous, the best way to start unnerving yourself is to introduce range and melody back into your voice. So instead of, you know, going into a monotone and allowing that nerves just to kind of keep your voice at a certain pitch, if you can start bringing your melody and song into the way you speak, it starts to trigger what's called the parasympathetic nervous system within you. It starts to relax you a little bit more. And that way... you might just be able to grab it, you know, pull her onto your side, mate.
MARK_MILLER:
We'll start maybe with some karaoke then.
ANDREI SCHILLER_CHAN:
that's
MARK_MILLER:
Then
ANDREI SCHILLER_CHAN:
not a
MARK_MILLER:
a-
ANDREI SCHILLER_CHAN:
bad ship uh... actually i would get a five i think mark i really have to like bring it back you know i mean i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i
MARK_MILLER:
Okay, I need your phone number, Andre, so I could have you on the speakerphone while I'm working on these things.
ANDREI SCHILLER_CHAN:
I mean
MARK_MILLER:
We're
ANDREI SCHILLER_CHAN:
that
MARK_MILLER:
gonna...
ANDREI SCHILLER_CHAN:
is, I do that, I do that. I have clients where I'll have them recording their sessions where they're speaking at a legal office and stuff. So man, I'm happy to be there to back up for you, Mark.
MARK_MILLER:
That's so funny. That's so funny. Thank you.
ANDREI SCHILLER_CHAN:
But
SHAWN_CLABOUGH:
Okay,
ANDREI SCHILLER_CHAN:
yeah, I'd like
SHAWN_CLABOUGH:
any
ANDREI SCHILLER_CHAN:
that,
SHAWN_CLABOUGH:
other
ANDREI SCHILLER_CHAN:
yeah.
SHAWN_CLABOUGH:
things that people have questions on before we move on to pics? good. Yep. We'll move on to picks. Let's have Mark, why don't you go first this week?
MARK_MILLER:
Okay, my pick is a show on Disney called Andor. It's like two of my favorite Boolean operations combined together into one name. And this thing kind of surprised me because I had gone
SHAWN_CLABOUGH:
Nerd alert.
MARK_MILLER:
in... What? Nerd
SHAWN_CLABOUGH:
Nerd
MARK_MILLER:
alert?
SHAWN_CLABOUGH:
alert.
MARK_MILLER:
That's what my wife says when I come up to ask her for a date. Don't even get the words out. She's like nerd alert so but anyway and or totally surprised me I I had I My first stop at Disney with the Star Wars series was, I think, Obi-Wan. And I really didn't like the initial episodes. I talked to somebody who thought it was really good. So I went back in again and I just had problems with the writing and problems with the directing, the problems all over with Obi-Wan. But with Andor, that experience was totally the opposite of that. And so having problems, I was impressed. In fact, it had, I think, my two favorite villains of any TV series I've ever seen. And those two villains were not working together. They were kind of each fighting for their own, what they wanted. And I found it incredibly delightful. One of this villain just kept getting. The villain was on the normal path of the protagonist, right? Where the protagonist has all the obstacles in front, but now this was happening to the villain, and I was loving it. It was so delightful. So anyway, I recommend that. I think there's only one season of it, but I really enjoyed it. If you're a fan of the Star Wars universe, I feel like they nailed the feeling, the setting, the props were excellent. as well, right? You have these props you haven't seen before that feel authentic and real and and as if they're right there in the universe. Yeah, I really enjoyed it.
CHRISTIAN_WENZ:
if I may jump in there currently shooting season two.
MARK_MILLER:
Woohoo!
SHAWN_CLABOUGH:
Have you watched Boba Fett?
MARK_MILLER:
Uh, no, I don't think I have.
SHAWN_CLABOUGH:
Oh, you have to watch Boba Fett. That's
MARK_MILLER:
Okay.
SHAWN_CLABOUGH:
another good one, yeah.
MARK_MILLER:
All right, we'll get into
SHAWN_CLABOUGH:
Yep.
MARK_MILLER:
that next.
SHAWN_CLABOUGH:
Okay. All right, Christian, what's your pick this week?
CHRISTIAN_WENZ:
technical tip this week and it's PNPM. So as you probably know when working with NPM packages you could also use YARN if you wanted as the package manager of choice and they're mostly compatible and they're also some project where one works better than the other and I recently found out about PNPM and what I like about PNPM is that it's pretty fast. So on the website, they claim it's up to twice as fast than others, without naming the others, of course. And one of the things they do, and I kinda really like that, is they are using hard links for the dependencies they're installing with NPM. So I probably know that if whatever you use, a framework X and that... has a lot of NPM packages and you do a lot of projects with framework X, then each of those projects you basically have the same node modules folder with the same contents bar and any version changes, of course, right? And what PNPM does is it's using hard links. So if you're using version 1.2.3 of a dependency, it's on your hard drive once. And it even works under Windows, even though Zoomlinks there are, well, let's just say a different story, but I managed to pull it off. And as usual, there might be some dependencies that are not compatible or compliant with NMPM yet. But that also is being worked on. And so I find this really interesting and, yeah, pretty fast and slick alternative. And that's my pick of this week.
SHAWN_CLABOUGH:
All right. One thing that's always bothered me with MPM is why do I need to download the entire source code, distributable and everything with it? Why can't I just say only give me the distributable? Because, you know, I'm not really. needing to go in and look at their source code, you know, locally on my machine when I install something. So it would be much, much smaller if I could just say, just give me what I need to be able to build my application. I don't know, need everything else to go with it. If I needed that, I could go out and look at it in a GitHub or wherever it's at. So that's my little rant there. All right, Adam, what's your pick?
ADAM_FURMANEK:
So my pick for this week is a little bit different because like it's a case of a big outcall it. I was looking how to host Mac M1 online as basically a dedicated virtual machine and I checked dozens of those services that they claim they do it and most of them do some weird hacks. They provide Hackintosh, Docker doesn't work etc etc. I finally landed with Cyberlink.net. This worked for me really good. M1 is like dedicated, Docker works, everything is cool. So not to obviously recommend any specific provider, but just keep in mind that there are providers out there that can give you like a proper Mac M1 as a dedicated server. And the only thing that I don't like, but it applies to all the Mac instances is like VNC is slow as hell. But the Sysage works great. That's it.
SHAWN_CLABOUGH:
Okay, so my pick this week is some software that I came upon for web cameras. And what it allows you to do is, say you don't have a webcam, you can actually use your phone as your webcam. So that's one of the things that it does. But it also allows you to have greater control over lots of different things for your camera if you have an actual webcam. adjust lots of different sliders for color, background effects, lots of different things. And the software is called Camo. So. basically just takes, lets you take your camera and produce better video, whether it's a meeting or streaming or recording or anything like that. And there's a free version and then it's basically, if you wanna pay more, you'll get more features and those couple different levels of payment there. So depending on what your needs are, but if you're looking for something that gives you some better control over your camera or if you wanna use your phone as your webcam, check out Camo. And they didn't pay me for that. So. All right, Andre, you got a pick for us?
ANDREI SCHILLER_CHAN:
Yes, I was having to think about this. Our boss held a book club for our team and the book that we were reading is called Turn the Ship Around. I've forgotten the author. You have to Google that one. But it's about leadership. It's about letting, if you really want to expand the potential of the people that you look after and that you lead, it's about letting go and then trusting them with the... more responsibility. So he was actually a Navy captain looking after a nuclear submarine and before that it was always, you know, I lead, you follow. He came in, literally turned the ship around by changing the management paradigms and said, you know, you lead, I lead. So it's sort of leading to lead. So yeah, fantastic book that really changed the way that we think about how we mental juniors and I suppose even how we kind of... look at ourselves when we're managers and leaders. So I can't recommend the book enough. It is an invigorating read and really makes you think. It's fantastic.
SHAWN_CLABOUGH:
Yeah, it looks like it's what Andy Worshek.
ANDREI SCHILLER_CHAN:
That's the-
SHAWN_CLABOUGH:
And David Marquet,
ANDREI SCHILLER_CHAN:
That's
SHAWN_CLABOUGH:
so
ANDREI SCHILLER_CHAN:
the one.
SHAWN_CLABOUGH:
is the the authors. Yep. So found that we'll put that in the notes. All right, Andre, great to have you on the show. Is there a way that people can get in touch with you in case they have questions and they want to reach out?
ANDREI SCHILLER_CHAN:
yeah sure i have my website is uh... or to voice safety they can find a male there's a good new questions about it about that so we are a part of the voice dot com
SHAWN_CLABOUGH:
Okay, great. If our listeners want to reach out to the show, they can find me on Twitter. I am at.NET Superhero. Thanks everybody. Great show. And we'll
ANDREI SCHILLER_CHAN:
Thanks
SHAWN_CLABOUGH:
catch
ANDREI SCHILLER_CHAN:
for
SHAWN_CLABOUGH:
our
ANDREI SCHILLER_CHAN:
having
SHAWN_CLABOUGH:
listeners.
ANDREI SCHILLER_CHAN:
me.
SHAWN_CLABOUGH:
Yep, we'll catch our listeners on the next episode of Adventures in.NET.