Sebastian's dev blog 

Posts

Title: Julian's Website

Description: I created a website for Julian Detering. He is an independent music producer

Content:

Story

Julian always wanted a personal website.  Somewhere to share his music and thoughts with the world.

Rails for Julian

I created a Rails application for Julian because he didn't want to rely on Wordpress templates.
Julian also did not want to have to maintain his own server. 
Here's Julian's live website: https://juliandetering.com/ built on rails 7

I handle the technical, you handle the content

This is where I offered to use my server and create this Rails application with a dashboard.
The dashboard allows him to edit his entire website content on the same website!
He can directly access a dashboard from a hidden button and password, then everything is there!

Show this post

Title: Peninsula Astronomical Society Experience

Description: Astroclub Volunteering

Content:

Show this post

Title: Software engineering internship at NationBuilder

Description: My 6 months as software engineering intern

Content:

The internship I began in February as Software Engineering Intern at NationBuilder has been an amazing journey.  I'm grateful to have the opportunity to learn and develop together with talented individuals who are kind and helpful. 

Onboarding with two others who share a passion for hiking and the outdoors, we learned about the technology and about the history of NationBuilder. There is lots of early internet history that is interesting to read into.  It is so cool that the platform is hosting websites from the 2010s and today, many new and existing causes use NationBuilder to create their platform online.  

My engineering team manager has so much valuable experience, feedback and code to learn from. Same goes for every engineer I work with daily.  Before this I had worked on ruby on rails apps as a hobby, then start of the internship, I was in the deep end; getting on-boarded to a super challenging project!  This was a surprise, but much appreciated because I learned so much about web applications that had been nebulous before.  Together we write the ruby code that powers the variety of causes that use NationBuilder, I think that is awesome.  So fortunate to continue my passion for developing ruby on rails apps in this space.

What an amazing half year this has been and I'm glad that the technology we build gives so many a voice and platform.

Show this post

Title: Atom Seg Net iOS

Description: UC Irvine Senior Project

Content:

Denoise Atomic Images

This app processes atomic images to remove the fuzziness, and localize atom positions better.  The famous hexagon structure from pencils, graphene, is a 1 atom layer thick sheet which scientist have studied for a while.  This app denoises graphene images! Now a powerful tool available for everyone.  It is open source as of 2024!!
https://apps.apple.com/us/app/atom-seg-net/id1626926737

Background

Starting Summer 2021, with the support of a grant from UCI's Summer Undergraduate Research Proposal, I began developing MatLab and iOS versions for the processing of Atom Resolution images.  The machine learning model was trained in UCI Professor Huolin Xin's group; you can read the original publication here.  The machine learning originates in python, but I have finished developing the iOS version March 2022, published July (I dealt with some publishing problems with Apple).  The app will allow exploration of machine learning in a user-friendly way.  A huge benefit is to show the non-coding public a neural network in action!

App Archicture

The app is built using SwiftUI, apple's newest User Interface API.

SwiftUI uses a declarative programming style Model View ViewModel or MVVM.  The MVVM style of programming has the benefit of being easier to read and debug.  SwiftUI also makes it easy to develop for more apple platforms once one version is complete, easier than it was using UIKit.

The machine learning model is powered by CoreML, Apple's (also cutting edge) machine learning API.  CoreML is so new, it is still impossible as of March 2022 to design your own UNet architecture in Create ML.app.  Instead you must use a python tool (CoreMLTools) to convert the models from Pytorch to CoreML. 

This was a breakthrough in my project, however some boilerplate code was needed. For this I designed an image processing pipeline which converts PNGs to CGImage, CGImage data to MLMultiArray for model input, and MLMultiArray back to CGImage for model output. 
This is all blazing fast thanks to low level frameworks.

With the pipeline working, I implemented persistent data stores (Core Data) to hold images permanently in the app.
For a finished version, import and export capability allow the user to share images.
This app is a great example of implementing machine learning for everyone.  This project was one of my most exciting efforts because I felt like all the effort self learning coding in Swift payed off.

Thank you to Professor Xin and UCI for supporting me in producing this app.

Show this post

Title: My first Motorcycle – BMW 310GS

Description: Learning to ride on a 300cc motorcycle

Content:

In the winter of 2022, I was in a tough spot.  I worked as an Emergency medical technician for near minimum wage.  Every week I worked the nights so I would have time during the day to work on Fluid Engine iOS, my game project.  The rest of the time I spent sleeping.

At midnight, I rode a skateboard through the streets of santa ana to the station.  I really needed a car.  Every time I saw a motorcycle on the interstate 5 freeway, I thought,

     if only I had a motorcycle.  Then I would be able to commute and be free.

So I signed up for a motorcycle course in February 2023, and got my license.
I learned on a BMW 310R, a small bike but so nimble and ergonomic.  I thought it was so cool, and really wanted one.  So at the dealership I saw a black BMW 310GS. GS stands for Gelände–Straße which means Land and Street.  I will never forget the sound it made on my way out.

When it was time for me to quit my job and move home, I planned to ride to the bay area in one day from orange county.  I enjoyed riding the 310gs everywhere.

Show this post

Title: Thriving with an f800gs

Description: Riding a mid-weight adventure bik

Content:

After riding the BMW 310GS for a year, I wanted more horse power(s) for long trips on the highway.  I was pretty dead set on another adventure bike, so I had a look on craiglist, and found a 2014 f800gs that had been through a lot.  This motorcycle has side bags for camping, which I also appreciate for grocery shopping.  With cash in hand, and my sister helping to drive back the car, I rode the motorcycle home. It is nicknamed "the moose" by the previous owner, which I'm cool with.

Since then, I've ridden the moose to San diego, to the San francisco bay area, and back down again.
Now for some pros and cons.  The first con is that this bike is tall, maybe too tall. I'm around 5' 10", and the previous owner was around 6' 5".  Good news is, I can pick up the motorcycle, and stand on both feet. But if I want my boots flat on the ground instead of on my toes, I have to lean on one leg.  I can live with that.  But it's also heavy, which means deep sand which there is a lot of in the desert, will kick around your tires and make you loose control.

Consider a smaller motorcycle, (almost 100 pounds lighter) the 310gs. It will struggle with high winds; so sometimes you have reduce speed to 55 mph and stay on the right lane of the highway.  This can be dangerous if trucks are speeding above 70mph.  The engine frequency of the 310gs at speeds above 65mph becomes uncomfortably buzzy, which fatigues your hands noticeable after a few hours of riding.  

I absolutely love the freeway performance and comfort of this new motorcycle.  I dont mind staying in the right lane at a safe 65 mph.  The f800gs does that amazingly, and I maintain higher speeds comfortably if I need to pass or climb up hills.  The increased weight of the f800gs provides stability in high winds.

 The fact that the highway performance of the f800gs for long road trips is so comfortable and the stability feels safer, is the main reason why I will be sticking with the moose for a while.

Show this post

Title: Stuck in the desert

Description: Read length ~10 minutes A long cautionary tail of getting stuck in deep sand, saved by park rangers

Content:

I endured a cold November night in tamarisk grove campground, an enclave of trees separated from the rocky hills of the desert.

When I awoke, I packed my things, brewed a coffee and made my way over the hills of the grove and into the desert.  I wanted to see other parts of the landscape, cactus, bush, barren rock peppered beige mountains.  The bike did as said through the inputs, pushing the handlebars to steer, eased the front brake to make a turn a little sharper, maintaining speed for stability.  After climbing a mile through winding pavement, I spotted a potential trail. This gray gravel was wide enough for a person so I rode up and down but saw no continuation.

After the mountains, I continued towards the expanse; a view of the anza borrego desert, the town encircled by eastern mountain range to the left, and vast desert with a single road going straight right into the badlands.

A shoulder caught my eye, a potential offroad trail I slowed down and veered right into a clear gully of sand.  Gravely mistaken of the gully being a trail, for it ended abruptly and with deep sand.  Then immediately I wanted this excursion to be short; I was almost losing control.  Aiming to do a turn sharp right through cactus and dried bush, I gathered speed and aimed to escape.  Instead the 500 pounds sunk in the sand, the rear wheel spun dug down and stopped any further movement.  I couldnt budge only got deeper.
Another event was the huge plume of sand I kicked up with my entry into deep, loose desert sand.  This got the attention of a white helicopter flying close of the other side of the road.  A white pickup with the state park emblem stopped nearby.

Keeping cool and realizing I needed help, I left the adv bike in the sand, rear wheel dug in so it stayed upright.  I approached the ranger and he approached me.  I was in trouble, deep in shit in more than two ways.

The ranger said the obvious, that I was in off limits land.  Next I shared that I had thought I entered a trail, now I was stuck and needed help.  The ranger said, get out or I will site you.  He also radioed for help but was uncertain if "anyone was on".  He probably meant an offroad stranded vehicle rescue crew, or tow truck.  This didnt register with me and I asked if I should keep attempting to get out. He said yes if you can get out you should.

The next half hour made me hate how heavy my motorcycle is.  After failing to get the motorcycle to budge, I removed luggage and tipped the bike over.  In the ditch where the rear wheel dug a hole I filled with sand, rusty cands and dried bush.  I used all my muscle trying to pick the bike back up from its right side onto the pile of crap I hoped the rear wheel could grab onto to move.

I watched a video how to lift a super heavy f-ing motorcycle with your body pushing from a low point with your arms.  My legs and knees kept slipping in the sand so this was almost undoable.

With gloves I grabbed the crashbar on the front, and the luggage rack bar with my on the back.  Gasping for air and allowing my muscles to grab new energy, I pushed the sand with my boots and knees.  With a heave of all this, it was almost halfway up.  I shifted footing while applying all strength, and got it righted. Next I recovered and tried to get out.  It worked and I kept applying fuel and feathered clutch to get up and right until I got stuck in another rear-wheel situation in deep sand.

I was now parallel to the road, but around 30feet away. I was running out of energy. I could not attempt another move like the last or I would be completely out of energy. So going to the highway I flagged down a state park crew of one woman and a man.  I explained what happened, and they thought a dirtbike broke down, but they said if it runs, we could try to move it.

So they got out of their lifted white pickup, and got glove on.  We walked to the stuck machine.  Next, together we lifted the rear wheel out of the ditch and pointed the bike towards the road.  The man explained that I would ride, and they would push.  So in 3 bursts of park ranger assisted pushing I was on the gravel shoulder.  As they got in their truck, I offered cash for their help, but they said one day the universe will call on me and I would know what to do.

Asking their names, they winked and said just your friendly neighborhood park ranger.  I shook their hands and recovered for a moment.  Ready to leave the desert for good that day. 

Pictured is the town Julian an hour later, which had a little snow that day!

I learned many valuable lessons.  Crucial one is that we are not alone, people can and should rely and reach out for help because no matter what you believe about your self-reliance, one day it will come where you need help or may have to deal with grave realities.  The riders lessons would be;
  • Always scout your path before taking it
  • Know your exits, always have one
  • Light small cc enduros are meant for tough terrain
  • Heavy adv bikes are for paved roads, fire roads and compact surfaces
  • If you get stuck, minimize how many times you need to lift out your motorcycle, it is exhausting
  • A helper helps, if you ride alone exercise way more caution

Show this post

Title: Steve Gray's Sax Shop

Description: Making a instrument shop in ruby on rails 7!

Content:

First Rails Shop Project

ssh-console.png 7.51 KB

This Rails app is for Steve Gray, who sells musical instruments in person.  He uses his website to list and inventory his instruments.

Now the rails app I made can help Steve modernize his online presence on the world wide web!
Check out the demo at
https://saxshop.sebastiandetering.com/

What's super cool about this site?
flickr photo api
floating-ui dropdown menus in the topbar written in javascript!

Github source code:
https://github.com/TimeTravelerFromNow/saxshop

Show this post