First Commit

I try not to start a git repository before I have something worth saving. Sometimes I will work without the safety-net of an enterprise version control system. Copy pasta of directories with names. Poor man’s version control.

design_old

design_old_may20

design_archive_jan10

Sometimes you don’t know what you have is worth keeping. The Beatles would famously never write down songs and force themselves to recall the good ones over a period of time. If they couldn’t remember it, why would a fan find it memorable?

With this as our setting, lets drop some media I’ve been creating with my brother in law:

Mind the NSFW sound track 🙂

Testing out the Gear

  • Pick a toy problem
  • Go to a safe place
  • Fail fast, Fail often

Cheers,

Rob

Downhill Life – A Tour of Maryhill

First time I saw this hill. I was marveling at the full face helmets and the crop-tops with the wind-mills spinning in the background. It was on youtube, I was bombing the largest hills in Florida at the time. “Mount Dora”

25+ MPH on a Piece of Wood

I had to kind of start over how to skate when I moved to the pacific northwest (PNW). I had to learn how to “foot break.”

So this hill was designed to drive on. I am going down it above, on a piece of 8 layer ply-wood, “precision” cast/machine trucks, ceramic ball bearings made in by the Swiss, and custom poured urethane wheels from California. Taken in Goldendale Washington, USA


I’ve skated since before “Popsicle” stick boards were a thing. think late 80s Tony Hawk.

Building the Board

I had to train and build my skills and gear.

Mary Hill History

Maryhill Museum of Art founder Sam Hill was one of the Northwest’s first and most vocal advocates for modern roads. He was president of the Washington State Good Roads Association and spent much of his life championing the importance of highways in the Northwest. In 1913 Sam Hill convinced the Oregon governor and legislature to visit Maryhill and see the 10 miles of demonstration roads he had constructed over the prior four years, at his own expense, as a way to experiment with road building techniques and surfaces.

Mary Hill Museum

Gallery of my Trips

2017 – Spring

2018 – Summer


{“DeviceAngle”:-0.02277850918471813}

References

  • maryhill babes video youtube

Spring Release 2024

Things have been quite slow over the past few weeks. Working towards some larger goals and will update when it makes sense in this forum. Dearest reader, thank you for reading the change-log of my life.

Vegetative

I can (not always) tell where I am by what is happening in my garden. It is clear “where” we are in the yearly cycle. It grounds me. And like any garden, you must tend it. Nature will try and take back from you. What looks dead, just maybe dormant, waiting for a signal.

Like a plant, sometimes, you must grow down or around, before you bolt for the heavens. Life cycles of various plants are specialized to their ecosystem and timeline. Sometimes you just have to sit there and wait for an old tree to die, then the canopy opens up.

To grow you need certain environmental inputs like nutrients and temperature. But, I will (try to) end the allegory here.

Notes

  • Beware what you put in writing; there are lawyers awaiting to nail you
  • If you have the shot, take it
  • Listen, really listen
  • Touch grass (anon)

Bolting

As the vectors start to align, you should work to align the biggest vectors. If you have ever done a free body diagram, this is where we transition to physics. Or maybe like that nerd Ramsey, where he says pay off the biggest debts first…

Free Bodies

These are simplified models of the world, but they provide a valuable thing you can reason about and communicate effectively with other humans. It is a universal diagram.

Stick figures are best. Simple diagrams, simple language. Don’t @ me with your impressive words. I want clear communication and please bend to my level cause I’m trying to LEARN FROM YOU.


If you can remove any “friction” vectors. You will just generally float to where your biggest gazes are.


Summations in the Aggregate

Ruminating on this for a few hours, I came to the conclusion that optics and lenses might make a useful tool to dig deeper in to this phenomenon. It is waves all the way down, so let’s see what wikipedia has for us.

https://en.wikipedia.org/wiki/Lens#/media/File:Large_convex_lens.jpg

Light moves in a predictable way when it passes through a geometry of a material. We see the three beams coming in on the left side. They exit through the right, slightly deformed. Their angle has changed. And then, they converge to a focal point.

Are you about to burn some ants?

No, but it is excellent question. Magnification is how old?

Few thousand years old. I think this is bullshit, but I will not go on tangent about ancient advanced civilizations. This lens thing is what I’m talking about though. It concentrates energy and steers it towards a point that you can decide and predict.


I am currently shaping and polishing my lens’ so I can get a better understanding of the world. Sometimes the lens or the sensor behind the lens needs adjustment to capture the signal from the noise.

thanks to mr degraq for giving some (excellent) notes on this draft.

The Universal Language (Math)

I found a disconnect between a fellow bit shifter the other day. This programmer and I go way back. Great person. He is struggling to relate to me on some programming topics though. We are in separate worlds…


Algorithms + Data Structures = Programs

Wirth died recently. His book of the same name as the header here, is quite brilliant. He is the father of most modern languages and he kinda nailed it with this title er, equation. I have a hardcopy of the book that a cherish. One day I will give it the attention it deserves.

Data Structures

  • variables
  • structs/classes
  • arrays
  • stacks
  • queues
  • dictionaries
  • graphs…

Algorithms

  • Loops
  • Depth First Search
  • Breadth First Search
  • Rob First Search

Programs

  • Input, (loop), output
  • command line
  • gui
  • batch

To teach the above first without a very strong mathematical background maybe a mistake. There is a reason there is a pedagogy of tons of math before programming class. It maybe mistake, but I know why it is this way. Programming is math all the way down to the metal and glass (sand)

One Language to Rule Them All

metaphor with music and languages

Often when you see a musician, and you ask them what instrument they play, often they will respond with a list. But they will probably start with the instrument they learned on: Piano or Guitar.

As an aspiring string plucker you may ask, how can this person be such a hardcore bard and I can’t play mary had a little lamb in every key on neck of guitar. The skills transfer. There is Transfer Learning.


Often we learn to learn by learning other things.

Learn to crawl, before you walk, etc. Let us go on a journey…


I implore you to grasp that math is the language of the universe, and doing math you are centering yourself with it.

41 + 1 = 42 # always

What Curve Am I Riding?

Me teaching the youth how to wire up lasers in 2014

If you think programming is hard now. You are listening to the wrong gurus. Programming computers has never been easier. I will not justify that statement in a single breathe, and this is kind of a venting post, so please take with a grain of salt.


Exponential Complexity

Where are we in this sigmoid? What is a sigmoid? Lets ask our AI brethren.

A sigmoid is a special type of mathematical function that is often used in machine learning and data analysis. It looks like an “S” shape, with the middle part being steep and the two ends being flat. Sigmoids have a really useful property: they can take any number as input, but they always output a value between 0 and 1.

Here’s an example of a sigmoid function:

f(x) = 1 / (1 + e^-x)

This formula might look scary, but it’s actually pretty simple. The “e” in the formula is just a special number called Euler’s number (it’s about 2.71828). The “-x” inside the parentheses means that we take the opposite of whatever number we plug in for x. So if x is 5, then -x would be -5.

e^-x == 1/e^x

-rob

When we plug a negative number into this formula, we get a number very close to 0. When we plug in a positive number, we get a number very close to 1. And when we plug in zero, we get 0.5. So you can see how the sigmoid function maps any input number to a value between 0 and 1.

-Mixtral22b


Sigmoids & Friends

I ❤ functions. Sigmoids are very cool. I actually used a sigmoid back when I did my Genetic Algorithm Caterpillar thing for undergrad a decade ago. I used a slightly different but same effect.

Creepture circa 2013 – sigmoid activation for network between “muscles”
Excerpt from Creepture paper (appendix)

Ok so why is this useful [late update]

In neural networks in order for a neuron to become excited and “fire” the signals into the neuron through a “synapse” must be added and the fed to a sigmoid function. This will fire a zero or one to the other connected neurons. And then each layer this happens and is forward or backward propagated through the network to the output/input.

In this simple caterpillar example each joint represents a “motor” or “muscle” that is activated by the sigmoid. Zero or One. Move + Stay


So what does this have to do with the exponential complexity topic. Lets talk e^x

Put them into your graphing calculators. play around with sweep.


The Natural Number

e has this special feature. It is often called “Euler’s Number” approximately 2.718…

Deriving it links to compound interest. So you know it’s good. It is irrational meaning you cannot represent it fully with a decimal or fraction. Go take a look at your precalculus books 🙂

(e^x) != (1 / (1 + e^-x))

You can be tricked you are in an exponential function. You might be in a sigmoid 😦

Wolframe output: https://www.wolframalpha.com/input?i=plot+e%5Ex+vs+%281%2F%281%2Be%5E-x%29%29

Developing Now Has Never Been Easier

With the amount of documentation, tutorials, influencers, companies shilling products…. I get it. Your signal to noise ratio is approaching zero. But let me give you some signal in that numerator.


  • Go back to first principles when possible (the math!!!)
  • Avoid new language (versions), frameworks, fads/trends
    • Unless you understand this could be completely a waste of time and you are ok with it. schedule your treks.
  • Remember programming has a fashion sine curve. If you stick around long enough it will become advant-garde again 🙂

Focus on product, use your product, programmers that are NOT project/product driven are doomed to make buttons that nobody clicks. Make something so valuable and ship it that so that if it goes down, PEOPLE CARE.


Appendix

Copy Pasta Machine

“Dangerous Dave in Copyright Infringement”

Tried out GitHub’s Copilot. I was coding my way through the Ray Tracer Challenge. Turn on copilot. Wow. Just tab to complete. Microsoft (M$) shipped this thing? The lawyers let them!?


The Crutch

Of all the dumb things I’ve talked about in interviews, talking about integrated development environments as a crutch, is probably the dumbest. I think the special mix of jet lag, booze, and delays in travel really set me up for anti-success for my Microsoft interview right out of undergrad. It couldnt have been a skillissue.org.

Twasn’t good but here is how it went.

Ready to Move to Washington State

So how do you land a job interview at M$? Well… they come to your campus, if you are going to a college with a decent programming reputation. Once or twice a year they will be there. At the career fair, or just sometimes they setup in the Harris Building at UCF. Then look at your resume and pass you to a very, very, very easy interview on campus.

If you pass, you get free trip to Washington! At this point I bought a copy of cracking the coding interview and pretty much made plans how I’d slice up the company when I was running it. I was surely hired. I’m best programmer I know. Besides Arup maybe.

Hiring Pipeline

Microsoft has one of these impressive hiring pipelines. They send out their jesters into the universities of the world. And send them all back to the mothership. Right away I knew something was wrong, I was overdressed. Though my scrum master look was on point with corduroy jacket. There was at-least a HUNDRED other people interviewing at same time as me. Of course they bussed us all around Redmond. Washington is beautiful.

The Lead Interview

Let’s just skip to the main dude for the coding. I got bussed to a building that was pretty nice and old. It reminds me of a 90s mall. Looks legit though, I could work here.

Meet guy, guy is nice. Indian (not that it matters) — impeccable skills/english/etc a pro. I think he is the lead of his team. Ok, turns out he is running some division of Onenote. Due diligence has not been done, but I do know Onenote, well some of it.

Pleasant meeting start. He is obviously passionate about the tool he creates. We talk multi-player editors and how Onenote was first before google docs in collaborative editing. I point out you can actually see the cursor change in google’s implementation 🙂

Anyways. Leet code challenge.

Order and remove duplicates in a list. Can only pass through list one time, and You cannot allocate any new memory?

Leet Code Challenge 1 – M$ Onenote 2014

Calculating the hash is too expensive (he says), can’t use dictionaries… ugh. I struggle through and think i get a decent whiteboard of flow. But I pretty much try and get more help than the Lead is willing to give me. This is my worst nightmare. Score 5/10 (my scoring) — I feel like there was another gotcha, but I blocked it out.

Coding on Demand

Coding on a whiteboard with no auto-complete, google (at the time), and now no co-pilot. It is a different skill than anything you normally do for the job. Except when you teach people how to code, of course. This is what you are doing when you run code in your head with 2 people, 1 marker, and a whiteboard: The Mind Compiler

This is the opposite of what I do when I try to hire a programmer BTW :*

The Nerd Interview

I get the sense that I failed the first interview, but I have 2 more. He is moving me again to another person on the team. I am in the Onenote enclave i’m realizing.

Ok so I get dropped off with another team member, immigrant from western Europe. Nice older fella. This interview is more personal and we talk about my projects and OpenCV and he is shocked that it has is a C++ API. Dude is living under a rock. But really nice and we both learned something from each other. The coding challenge was tough, but I can’t remember it now. I probably got 9/10 on it.

The Yeoman Interview

Ok so now i get dropped off into an office with no windows. This dude is cookin’ something up in here. Probably building serious shit. He worked in somewhat of a lab. He was closest to my age, although I may have been older than him. The other two were def 10+ years my senior.

He hits me how to see if there is a cycle in a linked list. I wink at him and regurgitate it. We goto lunch. In this lunch I open up about some philosophies.

“I love IDEs but they are crutch” he nods in agreement, but you can see the look in his eyes. I will not fit in here. I can remember it turning quickly. Maybe it was my shit performance in the beginning with the lead. But I only had 3 interviews that day.

I went back to central FL with a story and a fire in my belly.


Back to Copilot

Please understand that I’m not a acc/decc but this technology is not to be taken lightly. Ok so what is Copilot?

GitHub Copilot has multiple offerings for organizations and an offering for individual developers. All the offerings include both code completion and chat assistance. The primary differences between the organization offerings and the individual offering are license management, policy management, and IP indemnity.

Organizations can choose between GitHub Copilot Business and GitHub Copilot Enterprise. GitHub Copilot Business primarily features GitHub Copilot in the coding environment - that is the IDE and CLI. In early-2024, it will also include GitHub Copilot in GitHub Mobile. GitHub Copilot Enterprise includes everything in GitHub Copilot Business and adds an additional layer of customization for organizations as well as GitHub Copilot integrated into GitHub.com as a chat interface to allow developers to converse about their codebase and action buttons throughout the platform. GitHub Copilot Enterprise can index an organization’s codebase for a deeper understanding of the customer’s knowledge for more tailored suggestions and will offer customers access to fine-tuned custom, private models for code completion.

GitHub Copilot Individual is designed for individual developers, freelancers, students, educators, and open source maintainers. The plan includes all the features of GitHub Copilot Business except organizational license management, policy management, and IP indemnity.

I turned it on fully leaded at first. Is this fair use? Hell nah. GPL is viral. You can’t spoon feed off entire codebase like this. This isn’t clean roomed reverse engineering for sure.

Ok so lets try turning on “don’t produce public code” whatever that means.

I was going to make videos, and talk and aand and… just go use it.

Beware.

Admonitions

This copy pasta machine will need to be severely neutered to be useful in a codebase you want to maintain ownership of. The virality of some of the licenses, you will lose control. For instance at the job, we cannot use copilot. Legal will not allow it!

  • copy and pasting code is generally frowned on, you should go through the motions to actually type. think and internalize it. just like you are playing a song on a guitar 🙂
  • remember: most of us old timers learned by copy pasta from a 1980s tech magazine basic.
  • Use the crutch, but walk without it sometimes!
A giant spaghetti monster that is realistic to a degree, not too cartoonish. At the end of the spaghetti arms that he is slinging are 0\'s and 1\'s

Around the Horn

Modern Gargoyle

Source Unknown. Let me know…

I’m debating to get the new meta rayban face computer glasses. Not sure I want to go even semi-gargoyle though. Huh? Gather round weebs and let us take a look back in time to 1992.

There is a book that influenced many of us, this novel is “Snow Crash”


Using Elong’s chatbot we have the topic of this post summarized nicely for us.


“Gargoyles represent the embarrassing side of the Central Intelligence Corporation. Instead of using laptops, they wear their computers on their bodies, broken up into separate modules that hang on the waist, on the back, on the headset. They serve as human surveillance devices, recording everything that happens around them. Nothing looks stupider; these getups are the modern-day equivalent of the slide-rule scabbard or the calculator pouch on the belt, marking the user as belonging to a class that is at once above and far below human society. ”

Neal Stephenson – Snow Crash ’92

“Hello! Hello! Hello!” she’s shouting. Then she hears the honk of a car horn. Coming out of the telephone.


“Hello?”


“It’s Y.T.”


“How are you doing?” This guy always seems a little too laid back in his personal dealings. She doesn’t really want to talk about how she’s doing. She hears another honking horn in the background, behind Hiro’s voice.


“Where the hell are you, Hiro?”


“Walking down a street in L.A.”


“How can you be goggled in if you’re walking down a street?” Then the terrible reality sinks in: “Oh, my God, you didn’t turn into a gargoyle, did you?”


“Well,” Hiro says. He is hesitant, embarrassed, like it hadn’t occurred to him yet that this was what he was doing. “It’s not exactly like being a gargoyle. Remember when you gave me shit about spending all my money on computer stuff?”


“Yeah.”


“I decided I wasn’t spending enough. So I got a belt-pack machine. Smallest ever made. I’m walking down the street with this thing strapped to my belly. It’s really cool.”


“You’re a gargoyle.”


“Yeah, but it’s not like having all this clunky shit strapped all over your body—”


“You’re a gargoyle. Listen, I talked[…]”

Excerpt From
Snow Crash
Neal Stephenson
This material may be protected by copyright.

Snow Crash Again 🙂

Facecomputers… unfortunately they are here. Neuralink can’t come fast enough

… color incoming >>

Further Reading

Snow Crash – Full epub @Archive

Style Guides

Consistency is the most important part of any process that requires a low-latency high-throughput system. There is something about having conventions rather than rules, and I remember people saying this 10 years ago. I didn’t understand it then, and I barely understand it now. Hopefully this post will guide the reader where I’ve been lost.

I will do a generative ai image post soon!

Be strict when sending and tolerant when receiving

Tim ‘Internet’ , section 3.9

I like the idea of being flexible in what you receive and strict in what you send. This is a guideline Tim Lee had when he invented the web. It is a great philosophy or “code to live by”

So is this just bike shedding?

There is it this term and kind of a story around this concept of a committee that has an endowment and wants to build a park… (sorry fellas)

In the world of project management and software development, a peculiar phenomenon known as “bike shedding” can have significant implications on productivity and team dynamics. Derived from an analogy coined by philosopher P.J. Plauger, bike shedding refers to the tendency for groups to spend a disproportionate amount of time and energy discussing and debating minor or trivial issues, often at the expense of more important, complex matters.

Mixtral24
What color we want boys? — This will be used in in-painting post 🙂

Big Picture

  • Where do we host repository?
  • What is main branch, is it svn-trunk style, patch email
  • collab rules
  • syntax rules…
  • … welcome to giant corp or crazy small corp

Devil is in the Details

  • Budget
  • Timeline
  • Lawyers
  • Technology Stack (truly this might be hell discussion but it should be agreed on)

Focus on details that matter, ignore sticky stuff until you can’t. Don’t lock yourself into a bad design. Keep an open mind. For me this is the hardest part.

Scaling Scopes

To be able to jump between the two views. System Level vs. The Weeds. I will continue this after it marinates for a bit. But the gist is being able to jump between parts of the graph of the system at various zoom levels. This is the key to being a successful engineer. The “application” needs to stay in “production”


Remarks

I will start a running list of style guides for repositories that I think are reasonable. Feel free to submit more.