Transcript

Thanks to Adám Brudzewsky for providing the transcript.

00:00:00 [Brooke Allen]

And when you do that, you're doing noble work and life is too short to do anything but noble work.

00:00:18 [Conor Hoekstra]

Welcome to another episode of Array Cast. I'm your host, Conor. We're going to go around and do brief introductions. We'll start with Bob, then go to Stephen and then go to Rich. And then we've got a couple announcements and then we're going to hop into a super exciting episode today with a first-time guest.

00:00:36 [Bob Therriault]

I'm Bob Therriault and I'm a J enthusiast and I'm also currently working on a project to, I guess, clean up and revitalize the J Wiki, which is a big job to do, but that's sucking up a lot of my time right now, so that's what I'm doing for J.

00:00:55 [Stephen Taylor]

I'm Stephen Taylor. I'm an APL programmer from way back. I'm currently the Q librarian and working on how to teach the vector programming to get out of the scalar-and-loops way of thinking, and I'm also a recreational pessimist.

00:01:16 [Richard Park]

Hi, I'm Rich Park. I'm an APL evangelist and educator working for Dyalog Limited.

00:01:23 [CH]

As mentioned before, my name is Conor. I'm a day-to-day professional C++ developer, but on the side, similar to Rich, I don't get paid to do it, but you could consider me an APL evangelist because I love APL and all array languages. Uhm, y'know BQN, J, K/Q – any language I don't have to write a loop in is my favorite.

00:01:43 [CH]

And yeah, today we're going to be having a guest on, but first things we're going to throw it to Rich, who's got a couple announcements. And then Bob; I think he's got a short announcement after that. And then we'll hop into the interview.

00:01:53 [RP]

We'll start with something you can do today. We'll end with something you can do today, and then there's a couple of time-locked things in the middle. So firstly, videos – recordings – from the Dyalog '21 User Meeting are now published, and you can watch those on dyalog.tv.

00:02:10 [RP]

Secondly, is APL ∊ BCN, a Barcelona-based user group. Their first user meeting will be on Saturday, December 18th, but that will be online, we'll leave links to all this stuff in the show notes. But the last thing I wanted to mention is 'tis the season for Advent of Code; the Advent calendar for nerds who hate chocolate and love problem solving. I think we're on Day 7 today and I've been doing it every day. It's been a bit nicer for array languages this year, in my opinion. And also, I'm noticing a lot of people participating in array languages, making a blog post videos, and generally just sharing their solutions, which is really cool.

00:02:56 [BT]

And on the J front: After, I think it's been just about exactly a year of the development of the Beta, the new J version is coming out: 903. It isn't out yet, but in the next couple of weeks it should be under the tree for Christmas. So… and then Henry Rich gets to take a break for a couple of weeks and before he starts on the long journey again. But that's coming up. So, if you're interested in J, there's a new version coming out if you've already been playing with the beta, you know all about it. If not, there's some really interesting new things that are coming up in it, so I imagine when it hits, we'll probably have Henry back and talking about that, and stuff like that. But for now, it's almost here and it will be arriving soon.

00:03:42 [CH]

So yeah, all of the links to everything we just mentioned will be in the show notes and looking forward to that in the future, having Henry back on.

00:03:49 [CH]

With all that said, today's guest is a super exciting guest. His name is Brooke Allen, and I will give a brief intro, but I will not do it justice because if you go to Brooke Allen's website, it is clear that he has had a prolific career, a multifaceted career at that. So, he's a retired Wall Street trader, hedge fund manager and programmer, has consulted for many firms that, if you work in the finance industry, you'll be very familiar with: Merrill Lynch and Morgan Stanley, has, I believe, co-founded/founded six companies in total. I won't enumerate them all, but some of them have APL in the title, some of them are hedge funds, and a lot of quantitative work, looks like, was happening at those firms, and on top of that is also an author and an educator, and you can find a lot of his writings and teachings in the form of blogs and Ted talks. All on his website, so we will make sure we get a link to that because there is so much content that you can sink your teeth into.

00:04:56 [CH]

But with that, I'll throw it to Brooke. And maybe if you want, give us either an abridged or a non-abridged, you know, history of yourself going back however far you want and, you know, talking about your career 'cause clearly, you've used APL along the way, but you've also done some other stuff as well. So, I'll throw it to you, and we'll go from there.

00:05:15 [BA]

Oh, thanks so much for that introduction. Yeah, my name is Brooke Allen with an E on the end of Brooke: BROOKE ALLEN, and the website is brookeallen.com. And I've lived my whole life with people turning that around; calling me Allen Brooke, and I've gotten in trouble for that!

00:05:35 [BA]

You know my first job as a programmer in New York City, you know, two days in, they… My boss called me in his office and said, "look, we're just going to let you resign. No big deal." And I said, "What‽" and they said, "Well, we've tried to confirm your degree at the university and they said they've never heard of you" and it turned out they had had my, you know, transcript filed in the wrong… under the Bs.

00:06:03 [BA]

So anyway, so maybe what I should do is, if it's OK, talk about my history with APL. I don't think I've done much to contribute to the APL language, but hopefully today we could talk about how one can get a job doing APL.

00:06:23 [CH]

Yeah, that sounds awesome.

00:06:24 [BA]

Which is a lot simpler than people think. I mean, the formula's "get a job, do APL", right?

00:06:30 [CH]

That sounds so easy.

00:06:32 [BA]

Right, yeah, but anyway, so in high school, in 1969, I had this vague feeling that I would enjoy computers. You know, I really liked mathematics and so I took a night class in COBOL – was the only thing I could find – and I hated it. It was taught by a Hungarian refugee whose entire command of the English language was the COBOL reserved words.

00:07:01 [BA]

So, like at the end of the class, he'd say you know "CLASS MOVE TO DOOR". It was like just terrible. And then I went to college, and I took a class in Fortran 'cause it was sort of required, and I hated that too. Right, I mean it was "oh". And then in 1972 during my sophomore year, the second half of my sophomore year, I took a numerical methods class where we actually used Iverson's A Programming Language textbook. Uhm, and that was pretty good.

00:07:41 [BA]

And then, a month before the end of the semester they actually put APL on the mainframe so we could use it, and Iverson came and gave us a talk. And he gave us all APL\360 reference manuals and he said: "Throw out my book. I mean, it has historical interest, but we learn APL from this reference manual 'cause it's better." And I started learning it and I absolutely loved it. It was like it was like coming home. You know this feeling of coming home and I'll bring that up again later, 'cause it was like "Holy…", this is prewired from my brain.

00:08:26 [BA]

And then, so I'm sitting there and I'm learning this stuff, and then all of a sudden, APL went away. So I run down to the computing center and I said, "what are you doing?" and they said, "well the semester ended" "Yeah, but I'm not done yet!"

00:08:40 [BA]

This thing I hate about college is that, you know, you're finally getting into something that you have a final exam, and then I and they're "Like now for something completely different" and I'm like, "No, it's so…". I said, "Why did you get rid of it?" and they said, "Well, IBM charges is $500 a month and we're not gonna leave it up for you." I said, "Well, if they didn't charge anything, could you, you know, let me have free CPU cycles?" And they said, "Yeah, you know, demand is light during the summer."

00:09:11 [BA]

So, I wrote to Ken Iverson, and I said, "You've published this textbook, it's called 'Algebra… Elementary Algebra';" ["Elementary Analysis" (1972), "Algebra: An Algorithmic Treatment" (1976). Ed.] and "– it's a high school algebra text, using APL – "if I were to get 10 high school students to do a summer program where I teach them this language… I have no money. Would you be willing to let me have 10 copies of the book for free" and he wrote, he sent me 11 copies and he said, "I think you forgot to ask for one for yourself." So there's a kindness. And then I sent a note home with a local high school with all the math students in the math department saying, "free class for the summer" and I got more than 10 people.

00:10:04 [BA]

And then I wrote to IBM and I said, "Well, I have all the missing pieces except I can't afford the license for the summer. Would you waive the fee?" and they did. And so I went back to the computing center and I said, "Well, you know, here's a free license. Could you up APL for the summer?" and they did.

00:10:23 [BA]

And so, I really kind of learned APL that summer, one chapter ahead of my students, just like the way most professors learn the material they teach. And then when the summer ended, I got a work-study job for my junior year, doing APL with the computing center and then the woman I worked for quit. And I applied for her full time job and I got it during my senior year, so I've been a full time APL programmer since 1973 and I owe pretty much everything to APL, you know, it's my first love. My second is my wife. I met her a good deal afterwards.

00:11:05 [CH]

Is she going to listen to this?

00:11:07 [BA]

It's not my deepest love.

00:11:08 [CH]

Oh, "first" you did say "first" you did say "first", yes, that's true.

00:11:12 [BA]

Right, you know, it supported a family and it I know I haven't done too much APL since I retired from the last business I built, in 2014. So, I worked at the university for 3½ years after I graduated. I taught free classes, two open to the public, five-week courses. I taught one in APL and another in BASIC and a couple of experiences I had from that that are helpful. One was, I had a high attrition rate in both classes. They were free, so the people weren't really vested. And so, somebody… on the suggestion of somebody, they said "charge $5 for five classes and then use the money to buy a box of cookies." When people charge $5, they were not going to give up the cookies that they bought, so they stopped dropping out of the class.

00:12:14 [BA]

The other thing is that a lot of students took both the APL class and the BASIC class, and they would report that APL was really hard, and they liked BASIC 'cause it was a lot easier, and I'd say, "Yeah, but reflect on the fact that at the 5th class, we're still doing the problems that we solved, like 20 minutes in, in the APL class. If it's harder, it's only because we've moved on to much harder problems that we're solving. So, isn't the language easy if you measure it in terms of getting stuff done?" And they say, "Yeah, you know, yeah, that's an interesting point." So somehow, the vast majority of people think that they're making progress, if they're just putting in effort. And you're not measuring, you know, accomplishment.

00:13:08 [BA]

And then, I had a work-study student working for me and he said, "You know, I saw this job advertised in the New York Times – the only time I've ever seen APL mentioned it an ad, is from American Airlines – and it includes unlimited free travel in America. And I applied for it, and I haven't heard anything." And so, I waited 2 weeks and then said "OK, let me apply" and he said, "OK. I mean, you're more likely to get the job."

00:13:36 [BA]

So, I didn't apply; I just wrote this letter – and this might be helpful in getting work doing APL. I wrote a letter saying I didn't have a resume and I just did some outline, you know and I told the story about how I learned APL and what I was doing with it, and I said "So, could you tell me if you'd like me to create a resume?" and they called me up and they said, "Well, we'd like you to come in for an interview." So, I went in, and it went really well, and I was super excited about the job, and then, a month later I get this, you know, photocopied form letter saying "You know, thanks but no thanks and we'll keep your resume on file." (Which by the way, is a lie. Uh, nobody does that. Or they don't, you know, review it.) So I called up the hiring manager, this guy, Walter Cook, and he said, "Well, you know I'm really disappointed. I'm wonder if you could tell me if I did anything wrong and how I might improve so that next time there's an opening, I might get it." And he said, "Well, you did nothing wrong. We would have hired you except for the fact that that the guy who supported us from our time-sharing vendor" – which was Time Sharing Resources, TSR – "wanted the job and he's been essentially working for us for 3½ years, so he has domain specific knowledge nobody else has."

00:15:05 [BA]

And I said "So, why did you interview me?" and he says "Well, because HR requires we interview three people before we make an offer, but the other two had no chance, right?" So I said, "OK, that's fine." Uhm so I put him on the distribution list for everything I published, and I had to publish a newsletter article every month and then a bunch of other things. Six months later, he calls me up and he says, "OK, Brooke, we have a job for you. You have to promise one thing, just get me off this damn distribution list." And I said, "Well, if I'm working for you there, it ends anyway. I could start in two weeks. When do you want me?" and he says "Oh no, it's going to take, you know, six weeks." "Why?" He says, "Well we have to run an ad in the New York Times, and we have to interview three people. But this job is yours, and so hold tight." And then six weeks later this woman calls up from HR and she says, "I'm typing up your offer letter and I have this problem, and that is, we don't have your resume." And I said, "Well, that's 'cause I don't have a resume." She goes "What‽ How could we offer you a job when we don't even have your resume? So, I told her the story. She goes "Well, type up a resume and so I sort of like dictated it and they typed it up.

00:16:31 [BA]

Anyway, so that's an important thing: I mean, I have not… I don't recall ever having a resume in advance of a job offer. And so, I worked at American Airlines for two years and it was absolutely wonderful and I took 47 pleasure trips that first year, I had zero tolerance for bad weather in New York City, on the weekends at least, and then the second we got interline benefits. I took a trip around the world purely to have lunch with a ham radio operator – I'm a ham –that I had talked to once, in Nepal. And then American announced they were moving headquarters to Dallas, TX and I didn't want to do that. And at the time, the only airline left in New York City was Pan American and they weren't doing very well and they had a hiring freeze.

00:17:19 [BA]

So that's also an instructive thing: Don't take no for an answer. One of the best ways to get a job is at a company with the hiring freeze and the reason is because they can make exceptions. It's not like some law that they can't hire anybody, and a hiring freeze somehow deters your competition from applying. And also, during hiring freezes, since they can't hire people to do the work, the work piles up. So, I called up my bosses' equivalent in operations research over at Pan American and I said, "You know, I'm leaving American, but I don't feel like I'm done with all the interesting problems in the airline industry. Could I take you out to lunch?" and he goes "OK, but we can't hire you." And I said, "I didn't ask to be hired, I just want to hear about the problems you're having." And so I took him out to lunch and he essentially did a core dump, ranting about all the things that they couldn't do, and I just had a notebook and I just wrote all this stuff down and I just absolutely loved it. And then I said, at the end he said, "You know, I don't even have T&E [Travel & Expenses. Ed.] budget; I can't afford to pay you for lunch and I'm paying my own lunch out of my own pocket," and I said, "No, I invited you, it's my treat, but in consideration I want you to introduce me to your users who are upset that you can't service them." He goes, "OK, we can do that in our cafeteria. It'll save you money." So now I had like five or six people the next day in their own cafeteria telling me all the things they wish people could do. And I said, "OK", and I just took notes. It was like being in a candy store, right? Because I love problems, I in fact… People think problems are a problem. They're not. They're like the spice of life, right?

00:19:20 [BA]

And so, what am I going to do? So, I called up the university, Rutgers, where I had been doing these night classes and said, "Do you think there would be an interest if I did just like a two hour talk on the problems in the airline industry and how we solve them with APL?" You know, they're like, "Oh, we'd love that" 'cause you know nobody ever tells us what they do. So, I organized this talk and I invited everybody I'd met from Pan American to come to this thing. And like four people showed up and, in my talk, all I did was take like four or five of the juiciest problems of theirs, and I just solved them on the blackboard and said, "Well, this is how you would think about this problem."

00:19:58 [RP]

So, I gotta ask, how were those problems that people came to with, where they sort of, were they technical problems or were they more like people-problems and management organization things?

00:20:08 [BA]

No, they were technical problems.

00:20:10 [RP]

Did APL help you to solve those?

00:20:12 [BA]

To be honest, the problems that we solved in those days with APL were the kind of problems that, you know, you'd meet with the user in the morning, and you get the specification and then you come back and you take your first shot at solving a problem that afternoon and next morning you'd show it to him and they say, "Well, no, that's not what I meant. I meant this other thing." And they were of the classic… Remember, I think we were running in like a 64-kilobyte workspace, right? And they were a class of problems that you solved with spreadsheets, when spreadsheets came along, right? It's like, you know, we have this data that's coming out of this big computing system that, you know, once a week and we just really want this matrix inverted, you know, we want to see the data by row instead of by column and IT said, "Yeah, that's on the list; we'll get to that 2½ years from now" or whatever, and you just say, "OK", you know. But really, I think what happened was, by the time spreadsheets came along, within a few years, people with domain knowledge were really able to take off.

00:21:31 [BA]

So, I think it was August 7th of 1981. Anybody know the significance of that date? In fact, let me make sure…

00:21:40 [RP]

Googles furiously.

00:21:42 [BA]

August 12th, August 12th.

00:21:44 [RP]

Got it.

00:21:45 [BA]

It's when IBM announced first announced the Personal Computer. And at the company I worked for, the small turnkey systems house, had been having… we were selling APL systems for like $25,000 in competition against the IBM 5100, 5110, and at that were also priced around the same way, and the only way we made sales was because I would write the code that would solve the customers' first problems so I could deliver a turnkey solution, whereas IBM was selling a product and, you know, "Learn APL or basic, and then you can solve the problem."

00:22:21 [BA]

Well, on the day IBM announced their product, the day after that, that the manufacturer of the computing system we were selling – it was called The Rango – announced they were just shutting down. You know they were going to give as much money back to the investors as possible and they were done.

00:22:41 [BA]

And so, we knew our days were numbered. Well in December of '81, my boss said to me, "I need you to deliver that system you're working on." – this was an APL system – "to the client by the end of the month, so I can get paid 'cause I need the money to make payroll", and I said "Uhm, it's not ready, and I'm not gonna lie to them." He said, "Yeah, I know that, you know that, but they don't know that. Just tell him it's done so I can get paid." And I said, "If you order me to do that, I'll resign." And he said, "Resignation accepted."

00:23:19 [BA]

So that's how I lost that job, and another very important principle that happened to me on August 12th, 13th and 14th was, on the 12th, I knew the implications of this IBM PC 'cause they were selling a machine as powerful as ours, but for like $3,500 instead of 25,000. I couldn't sleep the first night, because I knew, you know, we were done for. And the second night, just in order to get to go to sleep and to keep you know these horrible feelings from crowding out my brain and keeping me awake I would say to myself this, like, mantra. I'd say, "How can this be a good thing? How can this be a good thing?"

00:23:59 [BA]

And then I my brain, would you know, start thinking about how awful things were, and then I'd say, "Oops, how can this be a good thing?" And I went to sleep and the next morning I woke up depressed anyway. But the third morning I woke up with the answer which was, "Now for the first time in my life, I can afford my own computer, so I don't have to work for people who have computers. You know, this is a good thing." I just wasn't thinking about it, the consequences. And so, if there's one thing I can recommend to people is – that's an amazing trick – is, when something bad happens, just keep asking yourself, "how can this be a good thing?" and make sure to sleep on it. And the longest I've ever had to wait was three days, for an answer.

00:24:46 [BA]

And so, I joined something called the Independent Computer Consultants Association and I went to a meeting of theirs, their national meeting on the 6th of May, and the very first speaker of the of that day, and I don't know his name, but he changed my life because he started his talk by saying, "Never ever in the history of human endeavor, has there been a shortage of work. And when the money dries up, the work piles up. So don't look for a job, look for work, because jobs are where the work is." I came back from that, and I wrote a letter to every single person I knew, which was about 220 people, and I said, "look, I'm unemployed and I'm built to work. Do you have anything I can do for you, even if it's without pay." And I got people saying, "Yeah you could do my laundry." "Here, build an addition on my house," whatever. But somebody at Morgan Stanley wrote and said, "You know, we hate writing user's manuals, except Morgan Stanley requires a user's manual for each piece of software that we write. So could you come here, read some code and write a user's manual?" The thing that was really great about Morgan Stanley was that they really created a quality product, even for in-house consumption. So, I read some code and I wrote a user manual for some software they had for pricing government bonds. By the way, no resume, you know, it was only a couple of weeks work, and so I wrote this thing and I turned they paired me with a professional editor and she gave it back to me the next day, completely covered in red, and I was furious, and I like threw this document at her and I said, "Well, you know, if you want to write it then you do it." And she goes, "Brooke, I don't know what to write. You know what to write. The problem is, you don't know how to write. I know how to write, but I don't know what to write. So just shut up, sit down and let's get through this together." And so I sat down and I went through this and we produced this user's manual that was such a pleasure to read.

00:27:01 [BA]

I mean, the only people who produce manuals like that, in those days, were Apple. I had taken creative writing classes I've written for my school newspaper, but nobody had ever given me something completely covered in red and turned out I'd loved it. And that's when I decided I wanted to learn how to write well, not just code, but prose, and that's very helpful and I highly recommend people learn how to write, not just code but prose.

00:27:32

So, there's this guy Dennis Shasha at amazing professor at NYU. And he's written lots of books, including a wonderful one called "Puzzles for Programmers and Pros". And I wrote to him and asked, "What's the secret of your success?" And he said, "I think clearly and write well in English and K." So my experience at Morgan Stanley was that I'd learned that writing and thinking are the same thing: You cannot think well without writing and also writing is rewriting. In fact, there's a wonderful book called "On Writing Well" by a guy named William Zinsser, and he says writing is rewriting. It's where the game is won and lost.

00:28:27 [BA]

Just like programming, you can't really think of a complex problem that you could solve in APL and really solve it without writing APL, right? I mean like this just doesn't compute. And yet people walk around thinking they're thinking because they're like speaking things that sound like thoughts. But until you write it down and then rewrite it, you haven't really done any thinking. You're just, you know, repeating.

00:28:55 [BA]

And the other wonderful thing about sitting down and writing a user's manual for some software you're writing, even if you know nobody is ever going to read a user's manual, is 'cause often you're sitting there and you're saying "I'm struggling to express how to use this thing", and then you realize the reason is hard to write about is 'cause the thing you created sucks. So you go back, you rewrite the code so that the manual describes how to use it, is as elegant a solution as the solution, right? And the problem was you didn't solve it in an elegant, easy to understand way. OK, so the way I got to Wall Street was because I was so desperate for a job, I took a job as a writer.

00:29:40 [BA]

One of the people I've written to said, "Send me your resume", and I said, "I don't have one", and they said, "Well, dictate it over the phone", and so they wrote it and then they sent it over to Mobil and I got an interview and they hired me. And as I recall, I was making something like $60.00 – I was being billed – at something like $60.00 an hour, and they were paying me 35. Which was OK. It's just that the thing you learn about going through an intermediary is that that you're expected to deliver $65 worth of value. And, you're not getting paid for your value, right? And it's OK. I mean, they were making their spread for having built a network for knowing… they, you know, it's not like they hadn't done any work. But at the end of, like four months, I decided that I wanted to try to become a vendor to Mobil directly and make the full amount.

00:30:45 [BA]

So, I had read this article in this Independent Computer Consultants Association, that said you should learn how to negotiate because a lot of consultants end up spending their entire careers giving away, you know 40–50% of their billing to somebody who made a phone call once, right? So, I read this article and I said, "Let me try that." So, what I did was I did another round of mailing to everybody I knew saying, "I am working on this contract now that's coming up for renewal in two more months and if anybody knows of something that would be better, so I don't have to renew, let me know." And Mobil was like, they knew about this – 'cause the APL community was pretty small – and they're like "What‽ You know, we really want you to continue." And I said, "Yeah, I'd like to continue too, but I want to bill you directly. I don't want to keep giving, you know, 40% to these other guys." And they're like, "Whoa, you know, we've got to be able to do something about that." So, I talked to the guy at TSR, 'tis a guy named Steve Siegel, and I said, "What can I do to negotiate  with you so that I bill them directly and get you out of the loop?" And he says, "Oh, nothing, we don't do that." And I said, "OK well, if I offered you $1,000,000, would you do it? I mean like I'm not asking to do anything illegal, immoral, or unethical. It's just a matter of price, right?" And yeah, he goes, "Well $1,000,000 we'd do." And I said, "OK, so we're negotiating price", right?

00:32:34 [BA]

Plus, the fact my client was like, "No, you can't, you know, you're going to hurt our relationship if you allow this guy to go somewhere else." So, he said, he said, "Well, you handled the float, you bill him directly and you pay me my spread for another six months and OK, that's fine." And the way he expressed it was like he thought I wasn't willing to do that. Handling the float is where, you know, like big companies pay you like six months in arrears. You send them an invoice and then, you know, good luck collecting, and I said "Fine, I'll do that. I have enough savings", so that's how I got out of that contract.

00:33:22 [BA]

Also, around that time, uh, a friend of mine, Chris Lincoln, along with Ron Bertinet, who I'd be friended at American Airlines and another guy named Jake Jacobson, Chris had had said "You know these big companies require you be on their approved vendor list, which is an annoying process. Why don't we create our own company, so that we can become the approved vendor and then all of us could get into the company easily?" Right, we're all working in these different companies.

00:34:04 [BA]

Now, I thought this was a bad idea, but I said "I'm gonna do it anyway because I may be wrong." Right, there's another thing is that people get in their own way. They think something's bad, so they don't do it, whereas I think the important thing is, is it illegal, is it immoral, or is it unethical? In which case don't do it. Otherwise, if you don't know the answer: Find out!

00:34:30 [BA]

Right, it turned out to be a wonderful idea. Right, we got into all these different approved vendors, and so we created this thing called Apple Pi, and the way used Chris Lincoln apartment address, 'cause he had the coolest address, in Midtown Manhattan, but it was just an apartment. And our only expense was letterhead. And we met once a week at a bar on 2nd Ave and 13th St, there in New York and we had cleared the business, right?

00:35:02 [BA]

And what would happen is, I would bill a client on the apple pie letterhead and then I would bill the client on my own corporate letterhead for 99% of what I billed Apple Pi, Apple Pi billed the client, and so the entire company ran on 1% spread, which none of us noticed. But the cool thing was that since our expenses were like minimal, we kept accumulating a pile of money at the end of the year, and we didn't want to pay taxes, so what we did was we held an Apple Pi Christmas party, which is something else I highly recommend people do. And we would invite all of our clients. So, it was a big party in which people like at Morgan Stanley would meet people from Mobil Oil, that would meet people from Merrill Lynch.

00:35:53 [BA]

And after our party, like I remember going in to the company, I said, "You know, I thought Apple Pi was so small but you're huge." And we're not huge we just had, you know, knew a lot of people. And so I think it was Ron Bertinet that was like, "OK, let's raise our rates." So, we would have a party every December and then raise our rates in January and nobody ever pushed back, right?

00:36:23 [BA]

It became this thing where the companies we worked for couldn't book their Christmas party, they'd have want to know when we were having our party because they had to work around that, right? 'cause they didn't want their employees to not show up at their own party, right?

00:36:40 [BA]

Chris Lincoln's view of this company was that it was… his vision was that we create something like a guild, right? A way for labor to exercise some power and it worked. I highly recommend people do that.

00:37:01 [BA]

The point where I became an inventor. They stopped caring what I was inventing, what tools I was used, right, and I since then since '86, I've been doing APL. It's been very much a part of my life, and if you audit my time, I was spending between 40 and 80% of my time coding in APL. But nobody cared about that. What they cared about is what I'm doing, you know, adding value and so… Which I think is another very important lesson, is: You know, the most money that you can make, is the lesser of what your competitors will charge to do the same thing, and the value that you add right? And if you put yourself in the position of the other person, it would be unwise for them to do otherwise.

00:38:03 [BA]

In Apple Pi, we were not charging more than our competitors. We were just taking home a lot more than our competitors. Again, you know I still don't have a resume. So, I went in for this… I got a courtesy interview, and this guy starts out and he says, "I want to apologize because we have a hiring freeze so there's no jobs here. I just wanted to put a face to the name, but you know, there's really no point in an interview." And I said, "Well, how do you get the work done?" and he goes, "Well, we use contractors" and I said, "Well, I could be a contractor" and he goes "Are you incorporated?" and I said "No. Do you need me to be incorporated?" – Another thing: When somebody gives you an objection, don't say, "OK", say, "Do you need that?" 'cause half the time they don't need it, they're just saying it. But he goes, "Yeah, we need it. There's tax reasons we need you to be incorporated. Are you incorporating?" I said, "No, I guess", "OK, well, you know I've also double-booked this meeting, so I gotta go." And so, I said, "Can I use your office while you're gone? I need to make a phone call" and he goes "Sure", and so I call up this thing called The Company Corporation – it still exists, and they'll incorporate you – and so I called them up and said, "I'd like to incorporate" and they said, "Visa or MasterCard? It's $220 and, you know, what name do you want?" and I said, "How about Bravo Alpha?" which is my initials in Phonetic Alphabet, and he goes "type, type, type, type, click, click, click – yeah, that name is available. Will you have an employer ID number with that?" I go, "How much is that?" he goes, "Another 60 bucks" and I said, "Yeah, I'll take one" so this guy comes back from his meaning and I'm sitting in his office and I have this piece of paper and it said Bravo Alpha Incorporated and had my federal employee ID number on it. I slide it across the paper, and I said, "I'm incorporated. That's my corporation." And he goes "I thought you said you weren't incorporated" and I said, "Well, that was then, this is now." He goes, "Why did you do that?" and I'm like, "Because you said I needed to be incorporated, right?" and he goes, "OK, now I've wasted your time and your money because you have to be on our approved vendor list and that process takes months." I said "OK, let me borrow your phone again." I called up Steve Segal, the guy he had negotiated getting out of my Mobil oil contract and I said, "Steve, I'm sitting in a client's office trying to close a piece of business and he needs me to be on his approved vendor list. Are you on Meryl's approved vendor list?" and he goes, "Yeah for 20 years." and I said, "What will you charge me to sub through you?" We went back and forth, and he said, "Well, you know, I have to get health benefits down, all of that. It costs me $24.00 a day, so how about 40 bucks a day, you carry flow" and I said, "Fine", so I said, "OK" to this guy I'm subbing through Galaxy Systems and here's their vendor ID number." And this guy looks at me and he says, "Well, how much do you wanna make?" And I said, "How about $100 an hour" and he goes, "Oh the most we're allowed to pay is 87.50". I remember that number like "where did the $0.50 come from‽" and I, said "OK, I'll take that." He goes, "I thought you wanted 100", I said, "Yeah that's what I want, but I'll take 87.50" I said, "Frankly I'm not working; I'd take $20 a day. All you're buying, you're not buying my work with your money, you're buying me not working somewhere else: You pay me $20; I'll keep on looking." And he goes, "OK, how do I know you're any good?" and I said, "Well, that's easy; I guarantee my work. At the end of the month, I'll send you an invoice; hours work times 87.50, and you can take that total and cross off that number and write down any number you want, including zero if I'm not worth it" and he says "You'd work for free?" and I said, "No, I'd work for the knowledge" I said "Look, I have been working for decades and I've educated myself for decades, and if I'm not worth what I think I'm worth, it's worth a month of my time to find that out." And then he looks at me, he goes, "When can you start?" And I said, "Well next week I go up to Toronto for an APL meeting. I can start a week from Monday." He goes, "No, I need you to start tomorrow." I'm like, "Wait a second, I walked in here and you said that you couldn't hire me and now it's unacceptable if I don't start tomorrow." And he goes, "Yeah, I mean we haven't been able to find anybody for like a year." And I said, "Look, if I don't start tomorrow?" "Well, then we're gonna keep looking" and I said, "I'll take that risk. I'll start a week from Monday" and it started a week from Monday and he was fired about a month later, right? Because he didn't know how to solve a problem.

00:43:13 [BA]

I mean, if some APLer walked into my office and he needed to be incorporated, I'd say. "Look, you know, I'll incorporate you. It's these in MasterCard, you know, $220 and you know…"

00:43:27 [BA]

So that's another thing that I see APLer not do: They're great at solving APL problems, but they allow all these other problems again in the way that have actually much simpler solutions. Just solve the problem in front of you.

00:43:40 [BA]

I was pretty much done with training, and I got a call from this guy. He said, "Would you consider doing, you know, building another trading operation" and I'd say, "Yeah, I'd consider it on the right terms." Goes, "OK, here's a phone number. Call these guys up in Canada." So, they called up and I said, you know, "Let's meet."

00:44:03 [BA]

I had, a partner – the guy they'd hired to replace me when I went to Tokyo – he was now unemployed at Merrill Lynch. He needed work and so we decided we'd address this opportunity together. First, we had a meeting in New Jersey, and it went well, and they invited us up to Toronto. And at the end of the… it was an entire day where it felt like they were grilling us on how to do this business, so that they could do it without us. That's an interpretation, and that was my partner's interpretation, is that they don't want to hire us, and I said "I don't care. I'd love this because for the first time, I feel like I'd be working for somebody, who actually cares to know what I'm doing." Because pretty much every other manager only cared what the results were and didn't care how we got there, so if something went wrong, they had no tolerance for an explanation, right? Or ability to understand, so I thought it was great. And then they sent us 63 follow up questions and I said, "I'll answer these as long as you answer our questions" and you know my partner's like you know, "Don't ask anything that would become…" I said, "No" and so one of the questions I remember asking them is, "What kind of reputational risk ask are we taking by associating ourselves with your endeavor?" you know, and they actually answered that, and they listed all the times they've gotten in trouble in the past and, you know, the press stuff and, you know, it's hard to do a business with without running afoul of regulations, you know and the fines that they've had and all that kind of stuff. So, I just absolutely loved that and so I cut my hours from full time to part time at Morgan Stanley.

00:46:02 [BA]

This is another thing: People will start making demands on a job before they even land a job, and I couldn't have landed that work if I'd insisted on part time. But after doing it for a year and a half and becoming sort of indispensable, they would take whatever time of mine they could get, on my terms. So, do the work first and then worry about what kind of negotiating power you have.

00:46:27 [BA]

So, these guys sent me this contract that was entirely one-sided. It was all of their rights and all of my responsibilities, and none of my rights and none of their responsibilities, right? Oh, they started out by saying, "Do you want to send us… How do you want to start this negotiation? Do we go first? Did you wanna go first?" and I said, "Well, if I go first, I have to pay a lawyer, so you go first", so they send me this thing. I called them up and said, "No" and they said, "Well, it's fine. It's a negotiation process. Tell us what parts you don't like and we'll address it", and I said, "No, that would cost me money with a lawyer. I'm just not interested." And they said, "Well, we really want you to do this", and I said, "OK, how about this? You take that contract and your lawyer, right? 'cause you know more about this business than I do – the business side of the business. And you imagine you are me, and you put into that contract everything you would want if you were me. And then take out of that contract everything you will never agree to, and send me that and I will say yes or no.I'm not going to negotiate with you. Because if it's not in the contract, it's either because you'll never agree to it or because you lack empathy; you can't imagine what it's like to be me, and either way that's a good… if I need it, that's good enough reason not to agree to this thing. I don't care whether it's 'cause you lack empathy or you'd never agree to it." This guy goes, "You know that makes sense", so they sent me another contract a week later. I read it and had everything I'd want and stuff I hadn't even thought of I'd want. And so, I showed it to my lawyer, you know, just to get his feedback, and he says, "Brooke, this is the best negotiated contract I have ever seen. Who negotiated it for you?" and I just told him this story. I said, "They wrote it." And then he says, "You know, give me a crack at it. I can do better." And I got really angry with him. I said, "Look, I didn't… I that would be going against my word: I just said yes or no. And how greedy do I have to be to want more than the best contract you've ever negotiated?" You know, what‽ So, that's another principle, and I call it "ask for empathy".

00:49:01 [BT]

So, Brooke, how do you come up with these… like, I mean there's an underlying… were you just born to this? Is this how you always thought? Or is this is this nurture or is this nature?

00:49:16 [BA]

When people say, "How did you become that way? It must have been something that happened in your past." Well, of course you know every we are the sum total of the impact of everything that's ever happened to us. But how we choose to impact that? My fear is that people will frame questions in a way, as if "Well, that's Brooke. I can't be that way because haven't had those experiences" and nine out of 10 times, that's it: "Well, that was a very interesting thing that Brooke did, entertaining; I liked it" and then nothing happens. But one out of 10 times people say, "You completely changed my life because I started doing that. I started asking for empathy. I started solving the problem in front of me. I started, you know, I skipped all the bullshit. Istopped trying to get people to look at my resume. I got rid of it and started telling him I don't have her resume and then they were curious, right, and they just started doing it, so I that sort of path of like, "Well that's you. But other people aren't like that." is unfortunate.

00:50:26 [BT]

If I was going to sum it up, though, I would say to my way of thinking, you're a paradigm buster. It's that when you when you see a structure, where most people see a structure, you deconstruct structures and see how they're put together and then put them together in different ways. And it's that point of view that allows you to keep exploring this. Is that accurate?

00:50:50 [BA]

I think another important thing, the thing that I like about APL, it is linear algebra versus just the algebra you learn in the 10th grade. By treating things at a higher level of abstraction as an array, somehow allows you to solve more complex programming problems, leaving brain space for domain specific knowledge, right?

00:51:20 [BA]

So, I was able to learn about what I was doing and being the person who could identify what needed to be done and also be able to do it, it creates tremendous efficiency. Right?

00:51:39 [BA]

Also, since just like in writing prose, like Dennis Shasha pointed out you, you can't think deep thoughts without writing stuff down. So that would be another thing is think about, you know, think about what you're doing and write in in prose, right?

00:52:04 [BA]

So, like a business plan. I delivered a business plan, but then it went on the shelf. What I operated from was a philosophy that I codified and I'm willing to share. I'll send you a link, but it was about what our mission was, which was to act such that at the end of the day, everyone involved with our endeavor will feel they're better for it. I wasn't maximizing return to shareholders. I just wanted to make sure everybody was satisfied. This is on the business I created once we created that thing.

00:52:43 [BA]

I'll give you one more thing that was really helpful, that that any of you can do. When I was unemployed – and if you're unemployed, milk it for everything it's worth, by the way, I mean, it's just a wonderful time, you know, ask yourself, "How can this be a good thing?" You've got time to do all the things that you were being paid to not have time to do, right? So, one of the things I did, I took a sales class for programmers. You know, before then I thought selling that what I used to say was the only difference between a salesman and pond scum is the pond.

00:53:31 [BA]

But we had this guy who came in, his name was Jules Marini, this is a 77 year old retired insurance salesman. And when he walked in, I was like rolling my eyes. You know God is Sharon, salesman, and but he spent the first half an hour speaking to every person individually. "Why are you here?" And most people had answers like mine: "You know, I'm unemployed and people telling me I gotta learn how to sell myself" but this one guy says, "I'm here to learn how to bend people to my will." And Jules says, "That's interesting, what does that mean?" And he goes, "Well, I want people to do, what I want them to do", and he says, "Well, what about what they want?" He goes, "I don't care what other people want. I care what I want." It's OK, he goes around to everybody else, he comes back to that guy. He goes, "You know you had the most unique answer. What's your name?" The guy tells him his last name, and Jules pulls out a checkbook, and he says, "I'm refunding your money. You don't meet the minimum moral and ethical standards to be in my class. Now leave!" And the guy goes, "What are you talking about? My money is as good as anybody is. I signed up three months ago. I drove two hours to be here. I want to be here!" and Jules says, "Yeah, that's what you want, but it's not what I want. Now leave!" and when the guy leaves, he closes the door and he turns to us, and he says, "Look, people have needs and people have wants. And most people barely know what they want some of the time, and they have no idea what they truly need. And your job is to help people identify what they need and then help them to want that. And then your job is to get them to act on their newfound wants. People are bad at acting on things, and then you must deliver to their needs. And when you do that, you're doing noble work and life is too short to do anything but noble work."

00:55:38 [BA]

So, given all of this, what could somebody who hears this do? What could they do differently? And as opposed to, "Well, that was interesting", right? I really want people to think, "Now what?" That's a very important thing, you know, is to allow each of your experiences to change you enough for you to at least ask the question, "Now what? What do I do with this?" You don't do anything. Not much happens.

00:56:13 [CH]

We're definitely going to have to have you back on, Brooke, because I don't even think we've gotten to the end of your story, and the beauty of podcasts as I said, we haven't gotten too much Q&A, but when we do have you back on, we can just all go listen to the episode to refresh our memories of what you just finished telling 'cause I definitely know I have a bunch of questions, you know, pertaining to you know multiple different points of all the awesome stories. I think probably my favorite part was the APL Pi Christmas parties that you… Definitely some of my career highlights have been at Christmas parties and it's very sad now 'cause I work on a remote team and it's been COVID for the last two years, so I haven't even had a Christmas party/I'm not even sure what a virtual Christmas party would look like. But definitely at former companies, pre-pandemic, those moments are they're just a super fun evening, obviously of, you know, networking with your colleagues and stuff, but it sounds like your version of it where it's clients and customers all across different industries. You know, getting to network, it just sounds like a blast. And yeah, very jealous that I don't I'm not able to be like a wallflower on that on that sort of event, but super awesome to hear all these different stories. And yeah, super looking forward to having you back on and hearing the rest and then getting to ask a bunch of follow up questions.

00:57:30 [BA]

Conor, thanks so much for having me on, and I would love to come back and I'd also love to sort of mine what we talked about to write up these stories, 'cause as I said, I enjoy writing. This kind of speaking is actually more brainstorming for me. Probably half the stories I've told I have written up somewhere so I can get you links to those. But it's really the written word that is, and the experience that's changed my life more than, you know, listening to podcasts or watching Ted talks or things like that.

00:58:13 [CH]

Awesome well, yeah, all the links you send us we will make sure to share on the show notes. And yeah, super looking forward to having you back on next time. And with that we will say, "happy array programming".

00:58:25 [all]

Happy array programming!

00:58:25 [BA]

OK, bye-bye.