Chris X Edwards =============== Welcome to the _real_ internet! This is a web site. It is entirely owned by me, a human person, without censorship or contractual obligations to third parties. It is produced and hosted using only free, publicly licensed software -- mostly that I personally wrote. == About Me I am *Chris X Edwards*. image:https://xed.ch/blog/2023/i/0116-49e4-Nordic_chairlift.jpg[Nordic chairlift] I am a computer nerd, athlete, engineer, adventurer, data scientist, designer, craftsman, roboticist, writer, outdoorsman, and artist. Professionally I am interested in vehicle robotics. Here is a photo of me riding around in an autonomous boat a few miles _upstream_ of Niagara Falls. I'm confident in its reliable performance because I singlehandedly designed all the actuation systems and personally wrote all the software. Note the custom camera I built housed in a GoPro packaging because the GoPro was not reliable enough. https://xed.ch/b/2019/1104.html[image:https://xed.ch/blog/2019/i/1104-2a0d-20191102_093751.jpg[Driving a boat is fun but not as fun as not driving it!]] I also have worked on several projects creating high fidelity synthetic data for AI training involved in other complex robotic applications. == Resume I am a unix expert. I have used only Linux since 1997. Have you ever heard of a resume typeset with https://www.gnu.org/software/groff/[groff] like a man page? Check it out here. https://xed.ch/resume[] == Blog Cursed by literacy, I write a lot -- more than anyone could possibly care to read. Mostly it's https://xed.ch/b/2021/0404.html[stuff I like] that you will definitely not care about. Sometimes though I write about very cool technical things that other nerds may find interesting. * https://xed.ch/b/2017/0402.html[Emphatic camera calibration with OpenCV]. * https://xed.ch/b/2018/0527.html[My programming language embedded into Blender]. * https://xed.ch/b/2018/0128.html[I synthesize street sign training data from nothing]. * https://xed.ch/b/2017/1120.html[Cool stuff I did in my first career]. * https://xed.ch/b/2015/0901.html[I write some C code that radically improves all C code]. * https://xed.ch/b/2018/0514.html[A list of thoughts related to the microbiome]. * https://xed.ch/b/2016/1217.html[How to make pie charts using Awk]. * https://xed.ch/b/2017/0901.html[Simple OpenCV tool for creating training image sets]. * https://xed.ch/b/2017/0513.html[How to safely embiggen a shortened URL]. * https://xed.ch/b/2020/1020.html[Serious consequences and dumb data cleaning problems]. * https://xed.ch/b/2018/0304.html[A novel way to put things in orbit]. * https://xed.ch/b/2017/1119.html[I explain neural networks using a different metaphor than "neurons"]. * https://xed.ch/b/2017/0108.html[A true story where everyone on earth dies]. * https://xed.ch/b/2016/1227.html[Beginner's guide to underwater drones]. And if you're a normal person you might like these. * https://xed.ch/b/2024/0117.html[Wild ice skating]. * https://xed.ch/b/2022/1031.html[An adorable Halloween costume I made for our dog]. Here's the link to the whole collection: https://xed.ch/blog[] Here are https://xed.ch/blog/sitemain.html[the most recent posts]. == My Projects I've written a lot of software. Most of it has been professional commissions which were poorly conceived by those who hired me and quickly become obsolete -- or were ridiculous from the start. But I also write a lot of software for myself and that tends to prove its quality by providing years -- sometimes decades -- of useful service. * https://xed.ch/p/nerdtext[Nerdtext] - A high performance AsciiDoc processor written in C++ . The HTML document you are looking at was generated by Nerdtext. Have a look at https://xed.ch/about.txt[this document's source] to get a good understanding of what exactly that means. image:https://xed.ch/p/nerdtext/ntlogo80.png[Nerdtext Logo] * https://xed.ch/p/gg[GeoGad] - A programming language based on HP RPL (i.e. a Lisp) designed for interactive use as a mathematical computation system and as the scripting engine for my geometry modeling system. I believe the most trenchant software engineering interview question is, "What is your favorite piece of software that you happily use every day -- that you wrote yourself?" Geogad is my answer to that question. image:https://xed.ch/i/gglogo2-80.png[GeoGad Logo] * https://xed.ch/b/2020/1014.html[Unicon] - A units conversion tool that's less baroque and ambitious than the Bell Labs or GNU `units` program, but still able to handle complex compound engineering units problems with a clean simple syntax. image:https://xed.ch/i/unicon_logo80.png[Unicon Logo] * https://xed.ch/p/snakeoil/videos.html[SnakeOil] - A Python interface to the Simulated Car Racing Championships, a contest in the early 2010s to encourage autonomous car AI development. Using my interface library I created a competitive racing bot. To highlight my car's quality driving, I made a series of videos of it racing head to head against the dominant series champion. image:https://xed.ch/i/snakeoil_logo80.png[SnakeOil Logo] All of my projects can be found here. https://xed.ch/project[] == My Technical Notes Taking good notes is a cornerstone of good computer engineering. These are just my personal notes but they can give you an idea of how I solve (or have solved) hard problems with computers and how https://xed.ch/project/nerdtext[seriously I take documentation]. https://xed.ch/help[] If you're interested in unix commands, my reference on the topic is substantial and written to help students of unixcraft. https://xed.ch/help/unix.html[] == Links Some people believe that the internet is dying. It is being killed by walled gardens and a lack of decentralized content. When search engines become gatekeepers, the searches are subverted by rational actors trying to game the system. I do not know what the big picture answer is, but putting all your trust in one company to safeguard the integrity of the internet has not proven very effective. One painful and difficult thing that does kind of work is grassroots linking to sites real people admire and endorse. To make that less painful, I encourage people to make a page of links that is incredibly _useful_ to themselves. I have such a page. It is a huge messy mess. But it is incredibly useful _to me_. I use it hundreds of times a day. If you'd like to see what that looks like check out *The Page* here. https://xed.ch/thepage[] Note that if you reload it, it will default to a new random search engine -- spread the love! == Contact Me The best way for polite and literate people to communicate is with email and, for the past 30 years, that is how I have preferred to communicate with random internet strangers. Send me an email and I probably will send you one back! I get all email addressed to my domain (which is *xed.ch*). For example, maybe try my first name "at" that domain. Besides English, you can write to me in other languages I've studied and can read well: German, Spanish, Norwegian. Any other languages and you're at the mercy of translation bots. If you're a security enthusiast you've probably gone through a PGP phase. My *PGP public key* is https://xed.ch/pgp.html[here]. === Questionable Surveillance Capitalism Discord:: `cxed#5242` I don't mind Discord. They seem ok. But if our live communication ever becomes really important, we can use my IRC server which is actually secure. For voice and video chatting, Discord is probably fine. Microsoft GitHub:: https://github.com/cxed[] Note that all of https://xed.ch/project[my software] is primarily hosted by _me_. Publicity backups to GitHub may lag the latest versions _because_ I do not depend on a https://xed.ch/b/2015/0312.html[single-point-of-failure] platform at the mercy of MSFT shareholders to host simple files on the internet. Or to do basic version control. Twitter:: https://nitter.net/chrisxed[@chrisxed] Twitter is a vulgar disgrace! I don't mind the concept behind it, but with https://nitter.net/ID_AA_Carmack[rare exceptions] it is properly practiced by nobody. I actually https://xed.ch/blog/status[host my own short form message publishing] created with my own custom software. As a courtesy, my software sends these off to Twitter for those who are thereto addicted. More discussion https://xed.ch/b/2017/0129.html[here]. Microsoft LinkedIn:: https://www.linkedin.com/in/chrisxed/[] Why does everything there feel like a scam now? == FAQ === Warum hast du eine .ch domain? Bist du Schweizer? Sadly no. I registered the domain while living in Switzerland. Unlike https://en.wikipedia.org/wiki/.cx[other TLDs] this one seems historically pretty stable. I learned enough Schweizerdeutsch while living on a farm in Switzerland to be hilarious to the Swiss and horrifying to Germans. Du kanst mir schicken zufaellige Fragen ueber Englisch und Leben in der USA. === What does your middle initial stand for? It stands for -- like a variable -- my middle name. In my personal orthography a period is strictly optional and can be used or not at your whim. Fun fact: Mathematician https://en.wikipedia.org/wiki/Benoit_Mandelbrot[B. B Mandelbrot] also has a middle initial which can correctly be abbreviated by omitting the period. The https://www.trumanlibrary.gov/education/trivia/use-of-period-after-s-truman-name[Harry S. Truman Library] insists on a period in its orthography but apparently https://en.wikipedia.org/wiki/Harry_S._Truman[H. S Truman] was, like me, more flexible. Also interesting is https://en.wikipedia.org/wiki/Ulysses_S._Grant[U. S Grant]. Also https://en.wikipedia.org/wiki/Rocky_the_Flying_Squirrel[R. J Squirrel] and https://en.wikipedia.org/wiki/Bullwinkle_J._Moose[B. J Moose], better known as Rocky & Bullwinkle. === Where do I live? I have lived all over the world. I learned English where it was invented. I lived for many years in San Diego, California. I moved to western New York for a job, but because I like winter and https://xed.ch/b/2022/1228.html[Buffalo does not have a real winter] any more, I've moved to the middle of the Western Unit of the Hiawatha National Forest in Michigan. Of course the UP didn't have a proper winter in 2023/2024 but let's hope that was an anomaly. At least 2024/2025 was a https://xed.ch/blog/2025/0428.html[magnificent winter]. image:./xedski.jpg[I like skiing up hills!]