"Okay, so I will just casually learn a new programming language and write a device driver for a century old hardware, because why not" Pretty amazing! As a software engineer, I'm pretty impressed by what you achieved!
@@SilentGloves I actually suspect that she is a JOAT. :) (Jack/Jill of all trades). I think you would have to be to keep a panel or crossbar switch working now that you can't just call western electric for new parts.
This was very exciting. I was jumping up and down when the call got through. I used asterisk back in my previous life for non standard scenarios, so I know how hard this was. I'll certainly have a look at the code and enjoy it as well.
Thanks Sarah, you and the other Volunteers at the Communications Museum are achieving awesome things and sharing information in the engaging way you do is next level 😎
Im absolutely amazed the amount of backwards compatibility thats happening in this video! the fact that 1940's era equipment was effectively running what was emulation of the old way of signaling to keep the peace instead of fracturing the signal standard is flabbergasting.
Congratulations Sara! I’m fairly sure that the 3ESS interfaced with crossbar. Those software developers went on to design the 5ESS so they at least knew of the interface.
Your presentation style gets more engaging and charming with each and every video... Even this deep dive, in spite of it being very computer-y, was entertaining and totally understandable to me, someone who hasn't coded since college! 👍😁👍💚
As someone who's spent almost 20 years building systems using Asterisk for various purposes, I have to say this is arguably the most incredible use I've seen. It's also *exactly* the kind of thing that the early community would've loved (things have, unfortunately, become a lot more corporate over the years). Great job!
I made my living replacing office systems with Asterisk and installing Hylafax fax -> PDF gateways for a few years. Only messed with a couple T1s, but this is truly next level.
Nice job! I am a professional software engineer, and I can confidently say that branching out to your own implementation of a confusing function instead of refactoring is a time honored tradition, even if it isn't best practice! :) Does this mean that the Museum will be returning to C*NET or Phreaknet soon?
Wow, going from ‘I don’t know C’ to ‘dammit, I’ll write the driver myself’ isn’t a leap i think most would try to take but I think many would get a lot from. Hope you had plenty of fun learning that way, hope others take inspiration from that too!
Also, were you to teach computer science, i think I’d have loved to learn it from you. I really like your presentation style and I’d really like to understand how you manage to speak so well to a broad audience, engaging to those with experience and still clear to those without and without speaking excessively in technical terms; it’s something i think i could stand to improve on myself.
@@monad_tcp i think whether or not I’d recommend it would depend on the person; if you’re self driven enough I don’t see why doing it as an absolute beginner would be such a bad idea. Just be prepared to take smaller incremental steps and do your work on a machine that won’t be an issue if you do something catastrophically wrong.
@@xurtis I feel like that depends on exactly how you're defining "absolute beginner". Seems like it'd be a pretty rough time if you don't even know what a variable is yet. But I agree that a lot of beginners could probably benefit more from something like this than continuing to green-field stuff from assorted tutorials. I feel like, in general, "reading actual, real-world code" is an under-utilized learning tool... (insert tangent about open source vs closed source here)
It's absolutely okay to say other people's code is bad, but it doesn't necessarily mean a lot, because everyone hates everyone else's code, as well as their own from 6 months ago.
Amazing. Awesome. Brilliant example of excel in engineering. As a software engineer and architect with 25yrs in telco industry I tell you - you are magnificent. People with attitude like yours are driving the world. I beg you, under any circumstances, please do not lose your enthusiasm.
clicked for Linux, stayed for the analog nerd stuff and proceeded to send the video to everyone. I'm still too scared to write kernel modules but modifying software to add the features I want is something I do often. good job on getting it to work
Kernel drivers aren't too bad - the interfaces are well documented, so long as you know the hardware you're interacting with. PCI and PCIe are very well abstracted and the vast majority of USB devices can be driven with a user mode driver.
Cracking open a beer to celebrate your moment of victory with the Panel > Linux > Panel round-trip call. That is a totally awesome feeling. ***K Yeah Indeed!!!
As a kernel developer - the kernel is just another C program. After 33 or so years it has become pretty large and complex but you can ignore most of that to get started. There are many tutorials around. There used to be a project to introduce prgorammers into the Linux kernel, Kernelnewbies, Linux Kernel Newbies. Search for that.
i just wanted to say, I am so happy to see, that you as a museum do such a wonderful job in preseving those machines. Yes it costs money to run those machines, yes it defininitely is not easy to do and requires a lot of effort. but I myself worked in a Museum a while, and they did not even try to preserve the stuff they had, the outright destroyed most of their bigger machines and computers to make them look like they are doing something while actually it all is controlled by a modern arduino. I found it really depressing how that museum treated their stuff. thats why i am even more happy to see places like the connections museum or the computer history museum do such a great job of preserving even bigger and more complicated machines. thank you.
As a nerd who also gains personal satisfaction from tackling big projects of little commercial usefulness, I approve of and applaud your dedication and success. Congratulations on your achievement. I will never reach the level of satisfaction you must have from this extremely cool project. I bow to you and will forever have you in my personal hall of fame for accomplishing the adaptation of a panel switch into a Linux peripheral. This is just spectacular, and lives high up among many significant achievements made by you and the Museum staff. Damn good show! (And thanks for the awesome video to explain it, too.)
Sara, your giddy joy from this accomplishment is palpable. You are a treasure! I doubt there are many people in the world with your unique knowledge and skills in telephony. I would absolutely love to spend a day shadowing you at the museum.
This sort of content is what the internet is for. I've been making code talk weird old protocols to and between weird old hardware (and weird new hardware) since 1972 and I still get that H*CK YEAH! moment when things work. Fabulous work Sarah!
I'm a tech lead in embedded software and have worked in it for 30 years because I love writing code that makes real world stuff happen. That joy when you run code and something happens to some thing elsewhere is wonderful. Congrats!
Congratulations on modifying the dadhi (sp?) to get everything working. It was a fascinating video to watch. For nine months in 1994, I was a software developer contracted to MCI in Cedar Rapids, IA. One puzzling problem to solve was eliminating the various beeps and boops that a customer heard switching to an audio recorder for delayed message delivery. In the "bull pen", there was one contractor who would dial another number in the room and hang up when it was answered. George was helping me test it. Once I confirmed that it worked, I told George, "I have one more test." "One more?" "Yes, Sashi." He said "Let's do it." George recorded "Sashi, we know you're doing this. Stop. You've been warned." I set it for a 5 minute delay, and we went back to the "bull pen". Sashi's phone rang, but he didn't see anyone using the phone. His face turned pale.
The museum was founded and set up by former employees of Pacific Northwest Bell who donated their electromechanical equipment which was scheduled to be removed from service. It’s been worked on diligently by our museum’s many volunteers, hard work, and research in the decades since. Some of the older videos on our channel document the very early days!
You should be insanely proud of this achievement! It's great to see an integration that helps us understand the old panel switch better. You should also be proud of this video, which was not just interesting but had clarity and enthusiasm. Thank you very much for doing this.
This is awesome and very inspiring. I love code that affects physical objects / machines, and I love old phone equipment. Well done to you for getting to the end of the objective. You make reference of New Zealand as one of the locations that there is a working phone exchange of similar age to the one in the video. I live in New Zealand and have played with the exchange at the Taranaki Aviation Transport and Technology Museum. I was completely mesmerized by it we went for a hour, I stayed the whole day!. Keep up the cool content and your infectious enthusiasm for what you are doing.
The panel switch recently celebrated it’s 100th Birthday! Our particular panel switch began serving the Seattle area as “Rainier” in early March of 1923!
My name is rojan and I am finding these video's really interesting as fiber optics are starting to replace our aging telecom systems, Hotpoint of fusion, IDK at&t has also been on strike in the south so I've heard. Anyways My father was a school bus driver but apparantly my mother actually had a mechanical degree in basic/dos when she worked for the pineal power company as a b-unsynchronizer unknowingly studying at Harvard. She used to always talk about the switches and I think something happened on beat. Anyways I'm working on a cable company museum and would also like to use portable communications and in fact I even think I have both the resources irl and elsewhere to start a umbrella corporation, I just need to factor and calculate out the best approach to doing so but I honestly think Sara is descendant at tis point, lol. What's the rate for double crossbar field techs? Not tat it matters, I'd do it for the protection from the Scary Evil sorcer'ers that feed them swine. I have a big BIG BIG airbnb that I could stay at along the way too where IU use to go riding ALOT. The stripe club is definitely a way in though I know a lot I just don't know what ups with nights aka knitengale or nitengale (several of them) along with the doctors at the old state college, know. few of those as well), as long as you don't fall off the fence like Dorothy in the Wizard of Oz pic is nice for it's unauthenticated version of the C channel reversal. Anyways, I just want some old photo software and also maybe some FS Head for team toad? Toad was written in tensor flow as you know, but it requires a single line down the middle of the database and just feel like an in person would help but I'm still bound until I figure out these crossbars. Thank you Sarah and keep videoing!
Wow this is one of my favorite episodes - great job Sarah! thank you for going into detail with the code and how things work I really really enjoy every second of this one, bravo! 🎉
Wow, what an achievement! You have every reason to be proud of yourself. You might want to get in touch with Sam from "This museum is not obsolete" who is a maintainer (among various other things) on an ancient British Telephone exchange within his museum. You probably would have a lot of fun sparring with each other. Sam is a bit of a Homo Universalis, since he is proficient in so many different subjects and he stays humble and social.
There may be all sorts of other people who want to plumb different types of hardware into Asterisk, and may benefit from seeing simplified code that can work with DAHDI.
Cool, great job and I love your enthusiasm on getting this feature to work. I wonder if the Guinness book of world records has an entry for the oldest Linux peripheral?
THE "I could write the code But I won't" Line From the Programmer Makes me wonder what type of Terribly Illegal things that could be done with this LMAO
That’s was an awesome videos. Loved how your able to link systems that are 70 or 80 years old to the 21s century. It was very interesting and entertaining.
This is immensely more work than my "fun project" with Asterisk, which involved using a 1990s German payphone as a self-service information kiosk. My biggest problem was satisfying the physical requirements of the phone, using an "analog telephony adapter", which then connects via SIP (and an Ethernet cable ten cm long) to a Raspberry Pi running Asterisk. The Asterisk configuration isn't anything special, but the ATA is a bit unusual, because it has to provide German Post Office standard off-hook voltage and loop current, which are both higher than the Western Electric standard most ATAs, PBXs, and so on are designed for. Finding one that would work was less difficult (a tip from a German telephone hobbyist put me on the right track) than figuring out how to convince it to send metering tones to activate the charging function.
Congratulations!! I know you've been working at this for some time. The work you and the other volunteers have been doing is nothing short of amazing. The effort needed to get the switching systems to do more than just "make a phone ring" isn't lost on me :)
@@ConnectionsMuseum It's like the difference between getting a Jukebox to play a record placed on the turntable, and getting it to make automatic selections, skip empty slots, and count coins properly - in both cases it "does something" but one is much further from the machine's original intent!
@@ConnectionsMuseum Maybe one day you can get one bay of aux. senders and connectors (crossbar switches). But I think it is too late for that. Your method was very creative!!
Sorry, in university about 20 years ago a friend and I built a simple expansion card and Linux driver for a 1878 Baudot keyboard we were restoring. At the time it was like 125 years old and pretty damn annoying to use (it features a "piano" style keyboard where you have to input 5 bit codes by pressing the right combination of keys all of which you have to memorize). But using it to input a console command and then punch the output on a paper tape (in Baudot-Murray code) to print out on a 1920s teleprinter.
As a professional software dev with 10+ years experience? You don’t give yourself enough credit. That’s pretty solid code with great practice around making a clean break to handle something outside the original architecture and referencing other documentation for detailing the why chunks of code do what they do. That’s a lot of the stuff I work with less experienced devs to get them to do and you’re already doing it.
This is so interesting, I can't believe that Linux supports it with only a kernel module. Love learning something new everyday. Love the channel, keep up the good work. You did an amazing job and you should be proud of yourself for accomplishing such a task.
Here I am watching without any real prior interest in telephone signals. I think that you are very good at educating! I will hit subscribe. EDIT: Is it possible that it is something that Linux staging "team" is interested in?
Telecom programmers and "normal" programmers are two very different breeds. That's how you get these at the same time hilarious and terrifying things like Erlang, SMS and Asterisk. As for the C "style" of Asterisk, yes, this looks definitely like people who just threw all good taste (as far as you can have that when programming in C) overboard just to get things done. But for the not faint of heart (and a little proficient in C) I recommend the openssl souirce code. Which is written by security engineers, another feral group of programmers. Oh my, I have never seen so many void pointers, and this is supposed to be security software?
A real deal hacker! I love your engineering. Give a big hug to the girls too, they really deserve it! Sam Battle (Look Mum No Computer / This Museum Is Not Obsolete) will surely be interested in the project :)
"Phew, finaly done, lets connect it to the internet and post the number on our friends numberboards" - Weeks go by - [Ringing during open hours] - "Connection museum, how can i help you?" - " Urm hi, finaly, we have been trying to reach you in reguard to your No. 5 Crossbars extended warranty" - [Connection releasing sounds] - [Cusring] - "Thats it, this thing is NEVER going back on the internet!!"
Great job, Sara. The panel switch is like a servo motor; turn on the motor (or clutch) and wait for the required number of pulses to come back from the 'encoder' then turn the motor off. You say the polarity reverser also signals a successful selection? Is this only after all 5 digits are complete? Do you know of any telephony museums near Toronto, Canada? (near Buffalo, NY) I don't know when I might make it out to Washington. Do you have trunks going between different telephony museums, or are you connected to the PSTN? Alexander Graham Bell's Canadian homestead was only an hour from Toronto. He was inspired to invent the telephone there by an accident while developing an advanced telegraph system.
As someone that has a similar level of programing knowledge and almost none on C and the same level on the backroom knowledge of telephone switching this was an incredibly informative video of both current and okd technology and getting the two to play nicely together. With some humor thrown in as well, loves Sarah's reaction to the first successful call through here Franken switch system
World's oldest Linux peripheral? NO! How about:? how 'bout The most vintage set of hardware that has ever had Linux drivers written for (and applied to) it? You see, Linux didn't even EXIST when these great machines were in their day. 8)
I think I have terminal Analog Brain Syndrome cause the first thing that came to my mind would've been to throw some stuff together on breadboard outta 74-series logic, but then I went and realized that this has to handle a fair number of actual lines, and that'd mean running off several dozen converter boards to handle the entire usable outgoing trunk width, one line at a time. Software's a lot more clunky to design and a lot less straightforward than "MF decoder chip and counter chip feeding into a comparator" but with code you only have to build it once, making it handle hundreds of lines at a time is just as easy as making it handle one or two.
Wouldn't it a nice idea to give people a chance to donate money to the museum by... making a phone call, actually made *to* a specific museum telephone number, which is then routed back to the telephone exchange outdoors to the number they'd like to call? Of course it's promoted as making an actual call via the original hardware to make it a bit more glamourus. It might take some work and time, but if you're able to promote the possibility and pick up about 1 dollar a call, there might be a possibility people get curious or nostalgic and will try it.
If you make it to lunch without blowing a fuse, are you even really trying? Was there any point in getting out of bed that day? Superb video. You can add me to the others in the comments who seem to have gone through a "I don't really care about any of this" ---> watch video ---> "I care about all of this" journey. :-D
Do you have a video about real time digital switches? My brother worked on the CHILL compiler they used in Brazil at CPqD (State funded research center where the Tropico switch was designed).
That is quite amazing..... you should write a paper... this has got to be worth a mention in the annals of telecommunication history. It has certainly inspired me!!!
Yep, that's right up there with TTY devices, which originated right around the same time as that panel switch. I think the first Morkrum (predecessor of Teletype-in this case, the company, not the genericized word for the device) machine was around 1910, and the first panel switch around 1915. However, it isn't quite clear whether those first TTYs were using Baudot code or some proprietary solution. The company called their earliest codes "Blue Code" and "Green Code" and so it isn't possible to claim definitively that the Baudot code type of TTY, that Linux supports, was before 1915. Giving the panel switch the edge!
Can you do a video on the history of Caller ID? Such as when telcos started offering it and if it was integrated into existing switches or required additional upgrades at the CO and what the first phones were that supported it, or early caller ID boxes that attached to the phones
Hoping to someday visit the museum. All of you up there with your vast knowledge is amazing. Im still lost after watching many videos on how that stuff works even at the mist basic level other than its magic.
WOW!! There are so many aspects of this accomplishment that pique my interest. I've had a love/hate relationship with C for decades. I dabble with it occasionally, but stay as far away from it as I can most of the time. My home phone system is currently using Cisco Call Manager Express running on a 3845 router as a phone controller. I am using Asterisk for voicemail. I have a few analog extensions connected to a Cisco FXS card, including a Western Electric 202 phone. I love phones from that era. I hope to eventually add more analog equipment to my system, though nothing as adventurous as connecting Asterisk to a panel switch. I'd love to have the means, and room, to collect some central office switching gear, but I think I'll have to set my sites a bit lower. I do have a Cisco VG2240 analog voice gateway and recently acquired an Adit 600. Your videos are dangerous. I'd been eyeing Adit 600s on eBay ever since watching your call simulator videos, even though I had absolutely no need for one.
Ok... I did learn a little about asterisk and how it works from friends (And how much they hate it), but this is the first time i see it written. I always thought that was written Asterix like the French comic/cartoon "Asterix & Obelix." Asterisk make a lot more sense.
Great Job. I can relate to your excitement from developing a program that works correctly having done that myself when working for Ma Bell but I was in the computer environment talking to #4 X-bar machines through yet another computer pulling data daily from all the #4 switches. It was quite a task as the raw data was not consistent as they were from machines running various versions of their software and naturally they did not have a rigid protocol for data output as it was originally just expected to be read on a printout or screen by a person so an added space or a tab here and there did not matter but it sure did to my program as I had to allow for multiple instances of format on each and every data message that my program was parsing. I used the SpaceX approach, let it run and fix what breaks in the next version until I was able to output a report in the desired format that the users needed. Congratulations in getting up to speed in C language it is a satisfying thing to accomplish. A lot of the software I wrote was written in Perl, if you can do C Perl is very similar but does not need to be compiled and for applications that don't need the ultimate speed of C it's great, way faster than BASH but just write and run just like BASH/BOURNE Shell, great stuff.