Recently I became active again on our local packet network when a netrom routing issues was reported and I was asked to help with it. I had designed part of the network a good 10 year prior, so I had a good idea of how it should be working.
I had not been active on packet for a variety of reason, mostly around being busy running my own business. So I didn’t have a computer setup to connect.
So I was rather surprised after installing OpenSuse LEAP 15.1 on a spare box I had laying around to find that AX.25 and kissattach wasn’t working. It kept telling me the mkiss kernel module wasn’t present. That seemed odd to me, they always had complied it in the Default kernel….. But how the times change. They dropped at some point along with many of the other older network drivers.
So, what is an old Linux dog to do…well compile a customer kernel of course. Now keep in mind the last time I compiled a kernel was back on kernel Version 2.16 so it’s been a few years.
I referenced this blog from the openSuse site as a reference.
It wasn’t too different than what I remembered.
So, here is the RPM that I built which has AX.25 support as modules, as well and XEN/KVM support for virtualization.
Podcasting on the Cheap.
I’ve been working with Andrea Parrish for the last few years now doing the production work on A Thousand Things to Talk About. It’s a daily short-form podcast that answers a different question each day.
In the course of doing the podcast, we have had a couple different setups for recording, and I thought I would share them from the technical side of things.
I want to do this because because I want to show people that it doesn’t take a lot of money and full studio to produce a good-sounding podcast.
I’ll talk about the basics: equipment, recording space, editing software. This is intended as an overview, whole books could be written about each one of these individual topics.
My Background:
So before I get started I wanted to share a bit of my background as context. I work as systems engineering tech running my own company. I’ve mainly worked in the radio world (two-way radio, paging, and broadcast) for about 15 years. I’m also a amateur radio operator of 19 years, which is where the radio stuff started for me.
I’ve helped to build and repair a few different radio and TV studios in the past, and that has helped in the podcast endeavor quite a lot.
I have 7 years of school under my belt around electronics engineering, radio systems, and programming.
A word about voice
Before I get into the nuts and bolts of setup, I want to talk about “voice”. If you listen to a lot of podcasts, talk radio, news broadcasts, etc, you can normally tell what show it is your are listening to just by the sound of it. Each show has a production quality, or “production template” that they use.
If you listen to the BBC World Service you can hear this as they go between shows. Each show sounds a bit different. This is because each show has a way they set the equipment up, a way the presenters speak, and an overall tone made up of the music used, the style of speaking on the show, and style of editing.
It is important for you to find your show’s “voice”, because it will become part of what defines your podcast. It is ok to refine it over time, all productions do as they evolve. You just don’t want to make large changes all at once, because your voice is part of your podcast. If you want to get a good idea of voice, listen to a few different podcasts. A few suggestions with widely varied styles:
- Snap Judgment: This podcast is very good at building a story with a laid back kind of voice
- This American Life: Another story based podcast. It has a very unique voice to it and the production quality is top notch.
- Freakonomics: A great example of a podcast that is very detail-centric, but their voice is light and approachable.
- Welcome to Night Vale: This is more of a radio drama style of Podcast, They do a very good job of keeping the voice consistent with the theme.
- BBC News Hour A podcast of the BBC world service news show. It’s a good example of voice as expressed via how they talk. This a “live to tape” show, which means there are no edits.
- As it Happens: This is a podcast of the CBC’s news show. It’s much lighter in tone than the BBC and very “Canadian”. It’s a good contrast in voice to the BBC’s News Hour.
There are many more podcasts out there (this kind of shows what kind of podcasts I’m into) and I would advise you listen to as many different styles as you can stand, so you can get a feeling for what you want to do for your own.
So you want to do a podcast…
So you have your idea for your podcast pinned down, you have some scripts written up, but you’re not sure how to get that idea to “tape”. There are a three basic bits of “kit” that you’ll need to get started.
- A recording area.
- Something to record with.
- And something to record onto.
- Optional: Something to edit with.
These are the “must haves” for your podcast recording, the quality of these and how you set them up will determine how good your podcast sounds.
Where to record.
The biggest thing is where you record, because this will determine the overall sound quality of your recording. We can’t really talk about where to record without talking about acoustics.
The acoustics of a room is,, at the base level, how that room sounds. For example, the difference between how a bathroom sounds in and how the inside of your closet sounds. Most bathrooms are made of hard surfaces, which will cause sound waves to bounce around more. This bouncing will cause a reverberating type of sound, because the sound waves from your mouth will bounce off the walls and maintain much of it’s energy. That will bring it back to your ear delayed by a few microseconds, causing the reverberation. Recording in areas like this can cause a “muddy” sound, as the mic will pick up the reverberations. It will also cause you to sound as if you are far away, or in a busy area.
The flip side of this is recording in your closet. This is a small space with lots of soft things (your clothes). All of these soft things will absorb the sound wave energy, resulting in a very “dead” sounding room. Recordings from a space like this will sound much more intimate because all the mic will pick up is your voice. Most recording studios will shoot for this kind of sound, where there is minimal reflection in the room so they can get a “clean” recording. They can then add any effects they want later on in a controlled way.
These are two examples of the extremes. Most rooms will be somewhere between these two. The goal is to get as close to the “dead” room as you can.
The other part of the recording area is reducing the other noise, like fans, traffic, trains, your pets, etc. These noises can distract from your voice and cause your recording to sound unprofessional. So make sure you are in an area away from fans, like your computer or central heating system, and away from noises that could creep in from outside. It’s also a good idea to keep pets away while recording because they may cause issues.
So how can you do this at home? Well, I know many people who literally sit in their closet and record, and this works as long as you can get the space quiet enough. Andrea and I used the “pillow fort,” a box with foam in the back of it that the mic was in. Then I piled blankets and pillows around Andrea to reduce the noise of the room and reflections.
However you do it, the important parts you need to remember are:
- Put a soft/fluffy material behind the mic to reduce sound bouncing into the back of the mic.
- Surround yourself in soft / fluffy material to absorb all your sound before it can bounce off something and get back to your mic. It will also dampen the outside noise.
- Reduce sources of outside noise, turn off fans, put lots of distance between where you are recording and noise sources, or record when the outside noise level is low, no noisy pets.
A good trick to make sure your noise is low: turn your recorder on and look at the recording level without talking before your close yourself in. Close yourself in and look at the level again. If the level drops, you know it’s doing a good job. If it drops to the very bottom of your recorder’s scale, you know you’ve got the perfect spot.
Oh I almost forgot, put your phone on silent and turn the vibrate off before you hit record.
What to record with:
When people ask me what they need to do to start a podcast this is normally the first thing they ask about, but this is only the second most important thing. First, the glossary:
A microphone is a device that turns sounds waves into electrical signals. There are two kinds of mics that apply to podcast recording, condenser mics and dynamic mics. The difference between the two is in how the microphone converts your sound into electrical signals. I won’t go into the details of how each of these work, as that is beyond the scope of this post. The basics of it is a condenser is better for quiet to medium levels of sound and should be handled with care. Dynamic mics are good for medium to ear-bleeding levels of sound and are built to survive roadies and bands beating them up on stage.
In addition to how the mic converts your voice, there are different patterns of mics as well. A mic’s pattern is where the mic will pick up the sound the best, relative to the microphone element (the bit that does all the work.) There are generally two different patterns you will find with condenser mics, Bi-directional and cardioid. cardioid mics have a front and a back to them and will only pick up sound from the front. This is the style of mic that will work the best for podcasting, since you can point it at what you want to record. There are also bi-directional mics, which record out of the front and back. These don’t work very well for podcasting, and are built more for recording music. Dynamic mics are almost always cardioid mics because they are built to point at the performer’s mouth and pick up nothing else.
Frequency response is what pitches the mic will pick up. This is important because this will affect how you sound in your recording, if the mic lacks the ability to pick up lower or higher pitches, it could cause you to sound like you are talking into a tin can. You want to look for as wide of a range as possible, something 20Hz or lower on the bottom end and something 18kHz or higher on the top end. Most mic manufacturers will give your the frequency range and a response curve, if they don’t then it might be a good idea to look at a different mic.
Phantom power, or bias is a system that powers a built-in amp in most mics. Most condenser mics will need phantom power, dynamic will sometimes need phantom power, and sometimes not. Phantom power comes from your mixing board or you USB recording connection, and most devices will give you the option to turn it on and off. When you first hook things up, start with it off, if you don’t get any sound when recording, then turn it on.
So, what mic should you get? If you are buying new, I would say get a large diaphragm condenser mic with a cardioid pattern. These have the best frequency response for podcast-style recording. Andrea and I use the Audio-technica AT2020 which you can pick up from Guitar Center for about $100. You need a analog to digital converter with this type of mic (I’ll cover that in the next section) and a XLR cable. You can pick all of that up at Guitar Center as well.
There are some mics out there with the analog to digital converter built in, so all you do is to plug in a USB cable. Most of the units that are of good enough quality to give you a good recording cost $200 and plus, which is as much as getting a normal mic and a converter box. I have heard good things about the BlueMic’s Snowball, but I would only use this if you don’t have the $200 to spare on better equipment.
The last thing you should get for you mic is a stand and pop-screen. A pop-screen is a bit of fabric that will soften the pops from hard sounds, like “T” or “D”, it’s a nice thing to have because it will help your recording sounds much more professional. The Audio-technica mic comes with a desktop stand, but you can also get standing mic stands as well. Guitar center has all kinds of stands so it’s best to look for what will work for you. If you are recording in a closet or something like that I would get the desktop stand.
What to record on:
Most people will be recording on their computers, but there is a bit of kit you need to get your wonderful analog voice into 1s and 0s, an analog to digital converter or ADC. There are about 100 some-odd books of info on how these work and what works the best, but for the sake of avoiding over load I will sum it up.
Sample Rate: This is how many times it samples your voice to convert it. This needs to be twice the highest frequency you will be recording (around 20kHz for a human voice), so you need at least a 40kHz sample rate. Most units will sample at either 44kHz or 48kHz, the higher end units will go as high as 192kHz. The higher you go in the sampling rate, the cleaner your recording will be. For podcasts, I would shoot for anything between 48kHz (acceptable quality) to 96kHz (CD quality). Anything more would be overkill.
*Note: If you are also using your ADC for recording music shoot for 96kHz or higher, as you can get a clean recording of all the harmonics of the music.
Bit Depth: This is how much data each sample makes. Think of this as how well the ADC describes the sound to your recording program, it could be just a single work or 4 pages’ worth. This will determine how well your recording program (and the MP3 file) can re-create the sound you recorded. Most ADCs come in 12 bit, 16 bit, and 24 bit depths. Stay away form 12bit depth ADCs, they are just not good enough for podcast recording. 16bit depth is acceptable, and they will normally have a max sample rate of 48kHz, this is what the BlueMic Snowball has. It will work, but won’t sound amazing. 24 bit depth is your best bet because you will be able to get up to 192kHz sample rates. This will give very nice and clean audio, and with raw recording formats it will sound like your are right there when you listen back to it.
So which one should you get?
That depends on what you want to do with it. If you are just recording podcasts you can get away with a 16 bit depth 48kHz sample rate converter built into a good quality mic. The Rode NT-USB has a very good mic setup with the built in converter that should work just fine for just recording podcasts. If you want more flexibility, a separate ADC is the way to go, then you can use to record music, things off the radio, or whatever you want to do with it.
Andrea and I use the Focusrite Scarlett Solo as our ADC and from a production view, I love using it. It gives me the flexibility I need to record a wide range of stuff, I’ve even used it to record audio from my amateur radio without too much trouble. The important thing here is to not shoot too high and spend more money than you need to, and to not shoot to low and buy something that will never make a good recording. As long as you look for the specs I talked about here you should keep it within the $100 USD range and be able to make good-sounding recordings.
Editing:
Editing is an art unto itself and can take a bit of practice to be good at. There two things to keep in mind when doing basic editing, levels and timing.
Levels are important because if they are too low or too high it can make your podcast uncomfortable to listen to, and if they change between episodes, a person will have to adjust their volume every time they listen to another episode. Getting the right levels starts when you record. Watch the level meter (most recording/editing software will have one) and make sure your voice peaks are near 0dB, but not over it.
This will ensure that you voice is within the optimal working range for most playback devices, and will keep your voice with in the optimal working range for you recording device, which will prevent issues with distortion. When you are recording, make sure you keep the spacing between your mouth and the mic about the same as this will help keep a consistent level as well.
I’m not going to talk here about the details how to do the editing itself because it is different for each software package. Your best bet is to read the software’s documentation and learn how to edit in that software.
Once you have your recording “on tape” you can start to work with it to clean it up. Unless your are doing a “live to tape” type of a show like the BBC News Hour Podcast, you will need to remove the bits where you messed up. This is the great things about modern editing, there is no more cutting and splicing of tape!
You will first need to edit the recording down to the bits you want to keep, taking out mistakes or other sounds you don’t want. Don’t worry about timing yet, we will get to that in a bit. Once you are happy with it, you will want to select the whole track and normalize it, this will raise or lower the overall level of the track, keeping the peaks within a predefined level. I like to set mine to -1dB, that will make sure your loud parts are not too loud for the listener. This would also be the point for you to add any other effects you want.
Now that you have your track cleaned up, it’s time to add music and adjust timing. Music can be used as just an intro/outro, or to add an atmosphere to a part of the recording. You normally add the music (or another recording you are adding to the podcast in addition to your voice) as another track. The timing done by putting dead space (an area of no sound) on one track where you only want to hear the other track.
So, if you only want to hear your intro music, you would put dead space during that time on the track of your voice. If someone is speaking and music is playing at the same time, reduce the level of the music by 3 to 5 dB, this will effectively put the music in the background, with the speaking being in the foreground. If you have speaking and music at the same time, timing becomes very important, because the speaking needs to work with the music. This is where the art of editing comes into play, moving clips of speaking around to line up with events in music can be quite tough. This just takes practice and listening to different podcasts to get ideas. Over time you build an understanding for what sounds good and what fits for the feeling you want to get, this will also help to add to the overall voice of your podcast.
Now that you have your first episode down, and have a format you like, it’s time to build a template. This can be in the form of notes, or a pre-spaced music track, or whatever works for you. This will help you keep the timing and format of your podcast consistent, helping you maintain that voice. This will also help you being a bit quicker in editing episodes later down the line because you will have it all laid out and ready to go.
Closing Thoughts:
From the time I have spent doing a podcast I have found it doesn’t really take that much money to get started, about $200 USD in audio gear and hosting for a website (another topic for another post). Most of what a podcast takes is time, to write, record, edit, and publish. With a Thousand Things to Talk About, I’ve had fun overall with the tech side of the project, though it has been tedious at times and has drawn some foul language from me, mostly due to the botnets attacking our hosting server. But overall I feel it is a worthwhile project.
For those thinking of doing a podcast, I would say that the tech side should be your number two worry, number one is content. No one will one to listen to a amazingly produced podcast if the content is just not there.
That said, with great content and great production, and some good luck, you can produce something that many will enjoy listening to without have to break the bank.
Spokane County ARES Presentation
Last night the Spokane County ARES group asked me to come out and give a presentation on FM voice repeaters and to talk about their repeater system.
It was a great talk with a lot of good questions!
Here is a copy of the side show I used for the talk.
Below are images of the propagation predictions I’ve done for both the RX and TX for the ARES system. As well as a link the a zip file that has everything you need to look at the propagation map on google earth.
Google earth file.
Google earth file instructions:
1:Download and install google earth, you can get it from here.
2:Unzip the ARES-SRECS.zip file some place you can find it. It will include, SRECS.kmz(this is the file with all the site locations), srecs-krell.ppm(This is the transmit coverage file), and srecs-mica.ppm(This is the receive coverage file.) All of these files must be in the same directory for it to work.
3:Open SRECS.kmz in Google earth.
4:Pick a layer. When you open this in google earth it will open in your temporary places, Like this:
Scroll down to the bottom of this list and you will find the coverage layers.
ARES-RX is the receive coverage and ARES TX is the Transmit.
For some reason Google earth turns them both on at the same time. So turn off the one you don’t want, or both if you just want to see the SRECS microwave map.
5:Explore
Notes on propagation map:
This map was made using SPLAT set to it’s basic settings. That means this map will get close to real life, but not match it. I did not set this up to account for reflections, or double diffraction(signals bending around things twice.) SPLAT also has no data about builds, so in down town it will not be right.
That being said it is a good guide to get an idea of where the repeater should cover.
Audio Examples:
Here are the audio examples I used during the presentation in .WAV format.(This will help prevent compression losses.)
I will make example audio clips using voice in the coming week(Thanks to Dan NV2Z for the suggestion) and Post them in this post.
Quieting:
In this clip I slowly turn the signal level up going into my Yaesu FT-875, We start out with 0dB quieting, and end at 40dB quieting.
Off Frequency:
In this clip I have a 300Hz tone 3kHz deviation. I then lower the frequency to drop out of the bandpass of the radio, then raise and go above frequency.
Over Deviation:
Here I start with a 300Hz tone at 3kHz deviation and slowly turn up the deviation to 10kHz. Then drop it back down to 0kHz.
Sub-audible tone high deviation:You may need to turn your volume up for this one
Here I start out with a 100Hz tone at 300Hz deviation and slowly turn it up to 5kHz deviation.
Questions about radio repair:
I had a some folks come up and ask me about repairing their radios, if you want to contact me about that you can head over to my work website, JPTelecomm.com and fill out the contact us form to get a hold of me for more info on that.
GPS-Speedometer
So this project started because of a need and because of a wanted.
The need was getting two speeding tickets in a row because stock analog speedometer was drifting as much as 10 MPH off of true speed.
The want was because Adafruit had a really cool LED display and GPS breakout board that I wanted to play with. The two meet in the middle and so we have the GPS-Speedometer!
Parts:
Adafruit Ultimate GPS Breakout – 66 channel w/10 Hz updates – Version 3
Adafruit 1.2″ 4-Digit 7-Segment Display w/I2C Backpack – Green
Arduino Pro Mini 328 – 5V/16 MHz
UBEC DC/DC Step-Down (Buck) Converter – 5V @ 3A output
Construction:
The frame of the unit is built completely out of scrap wood I had laying around my wood shop. The front panel is build out of some thin 1/8 inch (3.175mm) think pine board and the supports are built out of some 2″x.5″ (50.8mmx12.7mm) slats from a shipping pallet. I custom shaped the bottom of the front panel to match the curve of my dash using a drum sander, this by far was the toughest bit.
I place the Large LED display in the middle to make it easy to see, I also placed a voltmeter I got from MPJA off to the side because I was having issues with the stock voltmeter.
I cut the holes for display and voltmeter using a hand scroll saw, you could use a jig saw or anything with a small wood cutting blade. Just make sure to mark the holes well, Drill small holes in the corners, and keep things square.
I also rounded the bottom of the supports with the drum sander to match the curve of the dash in that direction as well. The supports where attached to the back of the front panel with a bit of hot glue, Hot glue also attached the LED display to the front panel. I did this to start because I wanted to be able to move things if needed, but it has proven to hold quite well for the 3 months it’s been in service thus far.
I also attached the DC to DC converter, Arduino, and GPS to the back supports with hot glue but sadly the GPS is the only one that is still in place. I think this is because the bottoms of the power supply and PIC board is not smooth.
*Note: I’m using my Arduino 256Mega in this pictures as a test, the pro-mini 328 replaced it later on.*
I used some bits of scrap wire and connectors from old PCs that I had scraped for the connections to the header pins on all the boards. The main power connections to the truck’s 12VDC system was via an Anderson power-pole because these are the default connections I use for all of my 12VDC systems.
I affixed the unit to the dash using a bit of RTVS(Room Temperature vulcanizing Silicon, AKA silicon sealant) and let it cure over night. This has worked well and if I need to ever remove the unit form the has it will clean up nicely with a bit of 90% alcohol.
Code:
I based the code for this project off of the example code provided by Adafruit for their Learn post about this GPS unit. I think the original base code I used was for the GPS clock, but I didn’t keep good track of things so I don’t quite remember. The bits that I customized were for the LED display and the refresh rate on the GPS. I set one of the dots in the LED display to turn on when there was a GPS fix, this was important to me because the speed indicated by the unit would not be accurate unless there was a GPS fix. The other bit was to make sure the refresh rate on the unit was set to 1Hz, I found the update rate was far too slow while driving if it was anything slower than this. Even at 1Hz the refresh rate is a bit slow if your punching it, but the good thing about that is it keeps me from punching it too often.
Below is a copy of the code:
//This code is based on the Adafruit example code LED 7-Seg Display and the Adafruit GPS Breakout board for setting up a GPS clock. //Modified by Jeremiah Puhek. //For more info on this code and the build please go to https://kd7dmp.net/projects // Designed specifically to work with the Adafruit LED 7-Segment backpacks // and ultimate GPS breakout/shield: // ----> http://www.adafruit.com/products/881 // ----> http://www.adafruit.com/products/880 // ----> http://www.adafruit.com/products/879 // ----> http://www.adafruit.com/products/878 // ----> http://www.adafruit.com/products/746 // // Adafruit invests time and resources providing this open source code, // please support Adafruit and open-source hardware by purchasing // products from Adafruit! // // Written by Tony DiCola for Adafruit Industries. // Released under a MIT license: https://opensource.org/licenses/MIT #include <SoftwareSerial.h> #include <Wire.h> #include <Adafruit_LEDBackpack.h> #include <Adafruit_GFX.h> #include <Adafruit_GPS.h> // I2C address of the display. Stick with the default address of 0x70 // unless you've changed the address jumpers on the back of the display. #define DISPLAY_ADDRESS 0x70 // Create display and GPS objects. These are global variables that // can be accessed from both the setup and loop function below. Adafruit_7segment speedDisplay = Adafruit_7segment(); //HardwareSerial gpsSerial = Serial1; SoftwareSerial gpsSerial(2, 3); // GPS breakout/shield will use a // software serial connection with // TX = pin 8 and RX = pin 7. Adafruit_GPS gps(&gpsSerial); void setup() { // Setup function runs once at startup to initialize the display and GPS. // Setup Serial port to print debug output. //Serial.begin(115200); //Serial.println("Clock starting!"); // Setup the display. speedDisplay.begin(DISPLAY_ADDRESS); // Setup the GPS using a 9600 baud connection (the default for most // GPS modules). gps.begin(9600); // Configure GPS to only output minimum data (location, time, fix). gps.sendCommand(PMTK_SET_NMEA_OUTPUT_RMCONLY); // Use a 1 hz, once a second, update rate. gps.sendCommand(PMTK_SET_NMEA_UPDATE_1HZ); // Enable the interrupt to parse GPS data. enableGPSInterrupt(); //Set Brightness on Display to deal with the Bright sun while driving. speedDisplay.setBrightness(15); } void loop() { // Check if GPS has new data and parse it. if (gps.newNMEAreceived()) { gps.parse(gps.lastNMEA()); } //check to see if there is a GPS Fix, if so Light up the right hand Dot. if (gps.fix) { speedDisplay.writeDigitNum(2, 0x12); speedDisplay.writeDisplay(); } //Take our speed and convert to Miles Per Hour and write to display int indicatedSpeed = gps.speed*1.151; speedDisplay.print(indicatedSpeed, DEC); speedDisplay.writeDisplay(); } SIGNAL(TIMER0_COMPA_vect) { // Use a timer interrupt once a millisecond to check for new GPS data. // This piggybacks on Arduino's internal clock timer for the millis() // function. gps.read(); } void enableGPSInterrupt() { // Function to enable the timer interrupt that will parse GPS data. // Timer0 is already used for millis() - we'll just interrupt somewhere // in the middle and call the "Compare A" function above OCR0A = 0xAF; TIMSK0 |= _BV(OCIE0A); }
In the real world:
This unit has been in use for about 3 months now, and has been to well over half a dozen rough mountain top radio sites. I ended up putting some sun shields around the speed display and putting a bit of polarized plastic lens from an old server cabinet over the speed display because it was washing out in the bright sun. The biggest help was the polarized lens, but in direct sun it still washes out.
I am still trying to find a good adhesive for the PIC board and Power supply board, RTVS will cause PCB to corrode if it comes in contact because of the gases it releases while curing. I may just try putting a smooth backing on them and using hot glue again.
The unit came in even more use when the stock speedometer failed all together about 2 weeks ago. The gear that drives the interface gear to the speedometer in the transmission has failed on me. (I’m guessing due to ware.) So this unit has made this failure no big deal. I will be adding an Odometer to this unit soon, as when I lost the stock speedometer I lost the Odometer as well. So there will be a post about that.
I would say over all it has been a great help, it’s easier to see then the stock unit, more accurate than the stock unit, and I haven’t gotten a single speeding ticket after I started using it.
Web site update
To see the project list you can go to my Project page.
To see more info on my ham radio stuff you can go to Station specs and Tower page.
If you want to see more about my work stuff, you can go to the JPTelecomm page.
So I’ve decided to update this web site so that I can share more about my projects and what not.
People keep saying they want to see more about my projects… So here we are.
I’ll be adding posts about my past projects as I can.