Quick tutorials on most anything

It may only be Friday, but I am ready for the weekend. Several things are ready to be recorded and some other things need attention. One of the things that the weekends afford me is the opportunity to really deeply focus on things. Finding the time to really deeply focus on something is what helps push my learning efforts forward. Every single day I approach the opportunity to learn something with vigor and enthusiasm. That is really one of the keys to being able to enjoy the hunt for new things. We have such an opportunity to pick up and learn new things. It is hard not to take that for granted just how open and easy access to vast amounts of things has become with the advent of the internet and how people are electing to share things. Keep in mind that historically guilds and other organizations aligned to professions that kept information and shared it within an apprentice system. Now you can just boot up YouTube and get a quick tutorial on most anything. 

I’m going to call it. Our access to information is probably at a peak right now given a few things that will inevitably happen. Even the best knowledge graphs that were scaling up as all the internet content blossomed will struggle with separating current content from out of date information. Things change and even tutorial videos drop out of relevance as change occurs. Structuring your knowledge graph to be able to handle those changes in usefulness is difficult at best to sustain over time. Designing a recursive relevance function against stored graph information requires a baseline and method to establish that base. Beyond the problem of figuring out what is really the freshset information to share with people, a very real problem exists from the vast overcrowding that is occurring within the knowledge graph. Large language models are creating a scenario where more content than previously generated by humanity can be generated by an endless running prompt. Separating the real from the endless stream of synthetic content will be nearly impossible. This creates a scenario where the knowledge graph may want to be designed to favor previously created content that existed before the great flooding of information occurred online. However, the aforementioned problem of things going stale is going to occur as favoring previous content only creates freshness problems. 

That means that right now we may have the best possible access to information. We may have hit peak information and nobody is really appreciating it. At some point, curated knowledge graphs inside platforms and metaverse style realities might be the gold standard for information access. Something is probably going to change here in the next few years and it will be interesting to see how that happens. A lot of people are investing in a VR headset based version of that access and interaction. I don’t really want to login to something wholesale to experience an alternate reality. Yesterday, I walked the dog and read part of Isaac Asimov’s science fiction book about the Second Foundation (1953). That experience was perfectly satisfying. I’ll admit that during working hours I certainly sit in front of a computer screen which is less immersive, but not wholly different from being committed to a VR experience. For the most part within that working experience the world in front of me shrinks down to the content contained within the screen.

Replacing my Pixel 5 smartphone

You may have guessed from the title of this post that my smartphone got replaced. It was a warranty replacement of a Pixel 5 smartphone with another one of the exact same make and model. Yes, this is a replacement of the 128 gigabyte Sorta Sage (mint green) phone I have had since 2020. Overall it has been a perfectly serviceable phone. Zero complaints exist from me about the device build or operation outside of the recent battery related incident. Apparently, unbenounced to me at the time the battery in my Pixel 5 smartphone was swelling up within the enclosure. The swelling was bad enough to actually separate the screen from the body housing by about two guitar picks. Generally the phone sits in a thin sort of clear plastic case unless it is being cleaned to help protect it from falls. This problem became noticeable for me based on the degree of rapid battery degrediation. I had to start charging the phone a couple of times a day which was undesirable. Online searches occurred and I was about to get a new portable battery pack. That action however would not have fixed the underlying problem. Based on the battery degradation symptom I ordered a replacement phone. 

It arrived yesterday and the process of switching phones was reasonably painless. It was better than I remember the last time around. Both phones had to be mostly charged and connected together using a USB-C to USB-C cable. At this point, all of my cables are from the Google Store. After I started using the charging stands for the most part my cables have lasted a lot longer. The old phone provided charge and sent over a bunch of data to the new phone. Apparently, I have well over 100 applications that need to be downloaded and installed on the new phone. Really the only applications that are problematic for me are the 2 factor identification applications that have a unique key association. As you start to dip into the passwordless world of managing things by approval in applications you want to really make sure that your smartphone never gets lost or breaks. Keeping stacks of backup keys is generally problematic. 

In practical terms, for the 2 factor identification applications and keys I had to make phone calls to talk to people about resets and other authentication things. That of course was a solvable problem and just took a bit of a commitment of time to resolve. You can certainly imagine the next problem beyond managing the 2 factor authentication concerns was entering passwords for accounts. The phone to phone transfer process did not sync all the accounts to be ready to rock and roll. That was not even an option during the process. I’m sure it is an option that does not exist for my own protection. The only thing I forgot to work out during the setup process was to enable bedtime mode to prevent unwanted chips, alerts, and other notifications overnight. That problem has been resolved this morning.

A photo of the battery swelling case separation

Considering equations in ML papers

During the course of the 4th of July I got a chance to read a few PDFs of papers. Being able to write within the academic tone that papers usually have is a skill. Sometimes the papers include great scientifically based research, but are difficult to follow due to being poorly written. In the machine learning space this is one of those things that happens and could be compounded due to the mathematics the author is trying to share. Within the abstract and introduction things will start out on the right academic footing, but then as the mathematics start to get introduced things will veer off into the wild unknown. Most of the mathematics that gets shared within the machine learning space is not a provable theorem or something that you can easily break down and check. Every single time somebody starts to walk me through a series of equations in a paper I start to evaluate the work. Most of the time you cannot check the actual output given that the equations in the paper are implemented as code. Generally, that code is not shared so you cannot work your way backward from the code to the paper or the other way around to figure out what the author did for the actual delivery of the mathematics. 

The other piece of the puzzle that often worries me is that the equation presented in the paper is theoretical as an implementation and they are using an algorithm built into software that was already written. Within this example the author did not implement the mathematics within the code and probably is not deriving a perfect reflection of equation and implementation in the paper. Being able to run code as a part of a software package and being able to work through the equation using LaTeX or some other package to articulate it within an editor are very different things. I would have to work it out with pen and paper and then bring it over to the paper after the fact. Generally, I would be working with a known transform or algorithm within the machine learning space. It would be unlikely that I would be advancing the equations denoting the mathematical machinations beyond the original efforts. Within the coded implementation I might do something in an applied way that could ultimately be represented as a novel piece of mathematics. However, most researchers would be better off presenting the code vs. trying to transform the code back into a series of mathematical representations within an academic paper. 

It might very well be a good topic for a research paper to do an analysis of the equations presented in mathematical form in the top 100 machine learning papers by number of citations. It might be interesting to see the overlap in the equations across the paper. Alternatively it might be very illuminating to see if no overlap exists given that it’s possible outside of a shared statistical foundation the researches are not working from a shared mathematical base. A book on the mathematics of machine learning would be interesting to read for sure assuming it built from the basics to the more complex corners of the academy of knowledge surrounding the topic.

Some digital housekeeping

It is that time of year when I open the bookmark manager in Google Chrome and try to clean things up a little bit. The next few observations about the links I’m keeping around the top of my browser.

I have a guitar pedal link saved that I’m considering for purchase. It’s up first on the bar just below the tabs. That link will probably end up getting transferred to the “Older” links folder at some point. That is the final resting spot for links that get accumulated in Google Chrome. 

Next up is a link to the Google Doc that holds all of my Substack posts both previously written and outlined for the future. That document holds countless hours of effort from the previous year. At this point, I don’t really need to make a new document and storing all of the posts in one document has been useful overall. 

Right next to that Google Doc is my link to YouTube subscriptions. This is a stream of all the videos from channels where I’m a subscriber. Honestly, this is the best way to use YouTube to display the most recent content you care about. If you are just using the regular stream, then you are missing out on seeing all the content the channels you subscribe to in one list based on upload time. 

For some ineffable reason, I still have a link to the Newegg Shuffle right in the middle of my screen. I was checking this daily at one point to buy a new graphics card at retail pricing from Newegg. Right after typing this sentence that link is getting moved to the “Older” folder. 

After that link was removed the next 6 are just eBay searches that I like to scan every day as a sort of relaxing way to consider something different. I created a folder and put all 6 of the links into the folder to make the bookmark bar a little bit more tidy. Now it is very easy to right click on the new eBay folder and just open all of the tabs at one time. This will save me a bit of time moving forward. 

9 more bookmarks were hanging out after the eBay folder and I just moved them all to the “Older” folder as they are not currently important to me on a daily basis.

Thinking Pixel 6 Pro

Yesterday you could pre-order the Google Pixel 6 Pro from the Google Store. Throughout the last few years I have had every major series of the Pixel smartphone from the inaugural one to the Pixel 5, but yesterday for some reason I did not even consider completing the pre-order. This is a major shift in my technology buying habits for smartphones. For the most part the one piece of technology I have always been super interested in being an early adopter of was smartphones. For years now I have actively tested beta releases of Android software and enjoyed the process of being an early adopter. This time around I just decided to sit on the sideline. 

Part of that is my declining interest in using my smartphone all the time. You may have previously read about my efforts to contain my daily smartphone usage. First, I have a Pelican G40 personal utility go case that stores my smartphones to keep them out of reach during the day. It is crush proof and waterproof and is also a very effective deterrent to checking smartphone notifications. Let’s be honest about it, the vast majority of the attention grabbing alerts and notifications are just not all that necessary. I don’t need them to grab my attention throughout the day. Disrupting my focus and causing me to switch context between subjects is not something I really need from my smartphone. I have a tab in Google Chrome that shows me my text messages and that is really all I need during the day. Second, over the last few months I have been testing a vtech connect to cell system throughout the house. We have 3 house phones that ring any time somebody calls my smartphone and gets passed the built in Google call screening features. 

That pretty much explains my two pronged strategy to avoid my smartphone usage throughout the day. Due to the nature of my commitments both text messages and phone calls have to be answered, but everything else that is contained on my smartphone can simply wait till the end of the day. Part of that is trying to shift to using my main computer for anything that would need to grab my attention. That allows me to work toward getting some deeper work done and really applying my focus and attention to the problems at hand. I worked and was productive for years before having a smartphone and I want to get back to that simplicity.

Day 2 working with the OpenAI Codex Beta

Earlier this morning I did some work with the OBS application to record my efforts to mess around with the OpenAI Codex Beta. For the most part I have been working in the Codex JavaScript Sandbox asking the API to return things related to fractals and a bit of searching out some encryption related elements. The lossless video that was recorded produced about 30 gigabytes of AVI video file for five minutes of recording. That is an epic amount of data for such a short video. I’m still not entirely sure why the massive difference exists between indistinguishable quality and lossless. It really is about a 10x difference in file size between the two recording methods. Uploading that 5 minute video to YouTube took about 2 hours and the crunching that is about to happen in the background over on the YouTube side of the house will be epic. I’m going to record a few more little videos this weekend and it’s going to generate a huge amount of video data.

Day 1 working with the OpenAI Codex Beta

Welcome to day 1 of my efforts working with the OpenAI Codex Beta.

I’m starting out logged into https://beta.openai.com/dashboard

The first thing I noticed is that my interface is a little different from what I watched on Machine Learning Street Talk https://www.youtube.com/watch?v=1CG_I3vMHn4&t

Tim and Yannic are working with the Codex JavaScript Sandbox. My beta dashboard only takes me to the Playground area where you can experiment with the API. 

Well a couple quick Google searches on that one and it was user error on my part that kept me away from the sandbox. I did not know enough to go directly to the sandbox: https://beta.openai.com/codex-javascript-sandbox

I downloaded a copy of “The Declaration of Independence” and saved it as a PDF on my desktop. My big plan for tonight is to make an encryption application and have it encrypt that file from my desktop. It’s not a super ambitious plan, but I think it is a good place to start.

Oh that Windows 11 processor list

The folks over at Microsoft made an update to the “Windows 11 supported Intel processors” list yesterday on Friday, August 27, 2021. 

Screenshot of the i7-7800X in the list

It now appears that my i7-7800X has now made the list of supported processors. 

Screenshot of my i7-7800X system information

However, that change has not made it all the way down into the preview just yet as I’m still getting this warning:

Windows insider program hardware warning

Based on the strong reactions to the Microsoft Windows 11 processor lists so far I’m guessing that this will keep garnering more news coverage. While I’m glad that buying a new motherboard, process, and memory will not be required on my part, the amount of hardware out in the wild that will never be able to move to Windows 11 is staggering.

Selling a computer case on eBay

Winning that graphics card in the Newegg shuffle involved having to purchase and take possession of an unwanted computer case. It arrived yesterday basically in the box from ASUS with a shipping label on it. A lot of people are selling brand new listings of this case on eBay.[1] That tells me that a lot of the other people who purchased this case immediately turned around to sell it online. I’m probably going to end up selling mine at a loss, but I really wanted the graphics cards so that is the cost of doing business with Newegg and the shuffle system. The ASUS ROG z11 mini-itx/dtx mid-tower pc gaming case is smaller than any computer case I have ever used to build a machine. Sometime next year I will be replacing a few parts in this computer that I’m using right now. As of right now, the Windows Insider preview build of Windows 11 Pro has flagged that my computer does not meet the minimum hardware requirements. 

For some reason Microsoft has decided to come up with a hardware requirement standard for WIndows 11 that will literally make more than half of all computers obsolete. The environmental cost and consequence alone of such a decision is mind boggling. Whoever came up with this decision should probably have to develop a method to handle all the elecontics waste they just created worldwide. That is a problem anyway for the computer industry. A good portion of the precious metals used to make a computer are very difficult to separate from the build making recycling very difficult. A large portion of old computer hardware ends up in landfills. 


[1] It looks like this case has 16 listings on eBay and none of them have any visible traffic https://www.ebay.com/sch/i.html?_from=R40&_nkw=ASUS+ROG+Z11+Mini-ITX%2FDTX+Mid-Tower+PC+Gaming+Case&_sacat=0&_sop=15 

Adding one computer case fan

The only addition to the Dark Base Pro 900 Black rev. 2 from the “be quiet!” computer case I had to make with the new graphics card was the installation of a noctua NF-A20 computer case fan right at the front of the case between the normal front case fans and the hard drive cages.[1] That very large premium quality 200mm computer case fan barely fits in that spot. The other changes that I ended up making after installing the new graphics card happened at the bios level. First, I had to load up the ASUS UEFI bios utility to run the QFan control settings which ended up displaying, “All fan calibrating.” Second, I turned off the XMP element of the overclocking and allowed the CPU to run at its normal out of the box clock speed. My CPU is being cooled by a Corsair water cooling block and it exhausts up and out of the computer case. That means the heat generated by the ASUS TUF Gaming GeForce RTX 3070 Ti 8GB graphics card is mostly centered in the middle of the case. The addition of that 200mm noctua computer case fan to push air directly across the case toward the open back has helped considerably. 

The rear of the Dark Base Pro 900 only has one case fan and that was probably the root cause of the problem. Instead of having the heat exhaust out the back of the case the airflow from the fans at the top of the case was pulling the heat from the graphics card up into the water cooling block area where the CPU heat persists until thermally exchanged by the top fan exhaust. This entire blog post has been about adding one computer case fan. At some point, I’m going to need to take the fan out and file off just a little bit of the edge facing the glass window. I was able to secure the glass wall back on with the four thumb screws, but the fit was very tight and would benefit from a reduction of just a little bit of plastic edge on the noctua fan. 

[1] Here is a direct link to that noctua NF-A20 fan https://noctua.at/en/products/fan/nf-a20-pwm