No explanation, no fluff, just the process.
Soccer Shirt -> Weekends, Coffee, and Soccer
Niche example: Coding
Coding Shirt -> Weekends, Coffee, and Code Coding Shirt -> Weekends, Coffee, and Javascript Coding Shirt -> Weekends, Coffee, and Python Coding Shirt -> Weekends, Coffee, and Java
Draw up many different designs, good and bad, in Canva
Don’t create the items yet, just keep brainstorming
Next day, fix the items that need a little bit more, and select the best ones to create listings on Etsy
Today, I worked a bit late. And honestly, it was fine. I don’t really feel burned out, but I also don’t really feel great either. Perhaps I need to workout more or get more vitamin D(I ordered some on amazon though so it’s on it’s way).
Seriously though, I don’t want to write anything. So I am just mostly doing this for the habit. I wanted to work on simplefoodfinder.com, but I am conflicted on what direction I want to go with the project so for now it’s just sitting there waiting for me to stop neglecting it.
I have a great job, and I am enjoying it. However, I also like doing things with my hands. I want to work on the wrx, but I am waiting on a tool and it won’t be here til tomorrow. Lots of waiting.
Part of why I am writing is because I think if I get used to doing this, that it will help me to understand what I am thinking, and what I am doing, and what I WANT TO DO. I am sitting here listening to this song on spotify and it’s giving me that inspired feeling. Let’s get back to what I was going to say here though. Many times per day, and many times per week, I think of ideas and just let them pass. I have all kinds of ideas and thoughts. This is part of the human experience. However, it just feels chaotic at times. I don’t have a way to track what the thought processes were and I often don’t write them down(although I do write down some “good” ones). I have several notebooks, and I do write down stuff in those. But that’s not the point. I want to figure out what I really want to be thinking about. I like having a goal or plan that I am working towards. But, I am also scared to implement my ideas.
Examples: TURO, Airbnb, Rental arbitrage, Mercari, Ebay, Lost mail resale, Amazon return resale, Comfort niche, sff
Some of these I have tried, but I also have concerns. I guess that’s normal. I want to try new things though, and I want to succeed. Succeeding takes failure, but failure is scary. I am not scared to fail when the stakes are low, or when the losses are minimal. But when I have to put down 6k, and the losses could be more, I get scared. It’s odd though, because I’ve lost 6k to crypto losses before without blinking, and that was significant. I would rather lost 6k to crypto than lose 2k to turo. What’s the logic there? I am not exactly rational when it comes to money.
Money is scary
I’ve always just made sure I had enough, and spent little, in order to drown concern over my finances. But that’s not a good use of money. People that are successful with their money know waht it can buy. They know what to do with 1 million dollars if they want to create something. They’ve been there, and done that. I, however, have not. I am lacking in this area. If I had 1 million to spend to start a business, I wouldn’t know where to start to get it going. That’s a problem. I should know. If I want to be the owner of a small fortune for my family and I, then I should know how to use it to help us win.
]]>At the end of this post, you will know why you should withdraw your cryptocurrency from exchanges.
This morning I read this article about nano($XNO). The article has some good points about why to withdraw nano from exchanges. However, these arguments can be made for any cryptocurrency. But that’s not what I want to talk about today.
The main point I want to focus on today is this:
Increase the value of your cryptocurrency by restricting the supply on exchanges.
Decrease your risk of being hacked(or your exchange being hacked) by moving it onto cold storage.
Improve decentralization by moving the coins onto unique addresses rather than being on a few large addresses(belonging to the exchanges). This also has incentives for stakers.
Make it more difficult for you(and others) to have paper hands.
Truly own your cryptocurrency in the event that China, US, or other government agencies decide to confiscate BTC as a means to protect fiat currencies.
As a kid, I remember being extremely bored. My parents would take me to the store, or I would be waiting to be picked up after school, or perhaps I was waiting for my friend to finish doing chores before we could play.
In moments like this, I found entertainment in the simplest ways. I can remember a day when I made a game out of two pencils and a rubber band while being bored after school. Somehow I was able to create something out of nothing in those moments.
Ironically, after watching tiktok for an hour, I can find boredom even while watching videos that I know would normally entertain me. So what’s happening here?
Social media and television also seem to make important tasks less fun. It’s as if I’ve eaten a large slice of my favorite Tres Leches cake, and I no longer want to eat brocolli.
It’s not that I don’t enjoy brocolli, because I certainly do. It’s just that after eating cake, I am feeling a bit full and the brocolli just doesn’t sound appealing anymore.
If you are looking to be creative, or if you have something important that you need to do, try being bored.
Perhaps then, I should start my day by eating brocolli(being bored) and save my cake for dessert(watching tv or social media).
Why don’t more people do this? Well, as it turns out, boredom is not fun. Some would say it’s painful even. How painful? People have been known to shock themselves in order to relieve themselves of being bored.
I have been trying this out for the last year and I’ve found some success with it. However, I haven’t been as consistent as I would like to have been. 2021 was a year of experimentation for me. I tried new things, met new people, learned new skills, added some hobbies, and in the end I moved to a new state. I’m okay with that.
So for 2022, I want to be bored more. I want to spend time enjoying the things that arise out of boredom. Instead of chasing stimulation, I want to try and quell that desire for input. Perhaps this will be in the form of meditation, or just waking up and writing a blog post(even if I can’t think of anything to write about - this hasn’t happened yet though because often when I am bored I am able to think of lots of ideas for things to write about).
]]>In August of 2021, from Friday to Sunday, I scraped 11,700 profiles from the internet. I wanted to see how difficult it would be to get a database of profiles created for comparison for a new app idea I had. There were several hurdles that make scraping difficult, but for the most part, it’s pretty simple.
Using python, I used a headless browser to load pages, scrape data, enter it into mongodb, and close the pages. I set my macbook to perform this task over and over while I improved the script’s speed and wrote down my thoughts for my app that I wanted to create.
However, this blog post isn’t about the app I was trying to create. It’s the things I learned in the process of scraping profiles that I find the most interesting.
There’s a lot of variety out there in the world of online dating. It’s cool to be able to compare what people of the same sex are saying to try and garner attention and attract partners. Many people have similar profiles that say things like “love hiking” or a joke that they likely copied from reddit or a google search. After reading about 100 of them, it becomes obvious which profiles stand out, and which don’t. Putting a small effort into a profile is easily recognized and can help the user to stand out in a sea of the same fish.
One of the dating sites I scraped used the id of the user from the database in the url for that user’s profile. When I scraped the profile, I used this id from the url to store the profiles in my database since it was guaranteed to be unique. I also stored things like username, profile info, and description. But this had an unexpected benefit that I had not foreseen. This site sends alerts to the user of profiles that liked their profile. However, for free members, they are unable to see who it was. Instead, they only see the profile name of the user and a grayed out profile picture to entice them to pay for the premium services. Luckily, I had the usernames and profile ids in my database. All I had to do to verify that the user really liked my profile was to look for that username in my database, and paste their profile url into my browser and like them back. (For what it’s worth, the site was verified not to be lying about users that liked the profile. Many smaller dating sites have been accused of sending fake likes to get payment from users for premium services.)
When I first discovered this, I was a bit annoyed. I had written my scraper and it had been running for two days without issue. However, at some point it just stopped. I failed to realize that I would need a different scraper to scrape male profiles. This may not be obvious to users but it’s harder to browse many male profiles than it is to browse for female profiles. There are likely a number of reasons for why sites do this. My main theory is that males spend more on the site, and spend more money trying to perfect their profile descriptions, and so companies try to protect that data for themselves. Profile data is a big market. Users want to be able to purchase help to boost their profiles, get higher swipe/like rates, and be able to select their mates. It’s so influential it begs the question of who should be in control of this kind of data and if it’s even okay for dating companies to look at the data they’ve collected for analysis. This data is quite personal and has a big impact on users’ lives.
When scraping male profiles, I used a picture of a woman generated from a GAN(a type of neural network that creates pictures). The woman was a brunette with nice facial features on a simple background. It was quite interesting to see how many offers for money, success, freedom, adventure, etc. was prompted from successful men on the site within a day of creating this account. Some men promised extravagant vacations, others offered rides in their corvettes, and a great number offered an endless sex extravaganza lasting multiple days.
Examples are:
Scraping sites can be a fun pass-time. You never know what you might learn about an industry from scraping some data. Just don’t go publishing this data online. Dating profile data is private and often companies don’t want people to be scraping it for the purposes of sharing it out or exposing people on the sites.
]]>I’ve accomplished a lot this year. Without really reviewing this list, I completed many of these items above. It’s okay that I didn’t review this regularly. It’s not a goals list, I have a goals list. This brain dump is just for me to write down everything that is happening in my head right now so I can clean up my mental space. Thus, a dumping of the brain!
-[] Figure out how to be a developer for myself -[] Spend some time figuring out what I want to do with my car -[] Redesign my portfolio site to accurately dspict what I am capable of -[] I am excited to move to Tampa. It’s going to be an adventure for me as I’ve not lived outside of -Colorado -[] Buy a nice macbook (or upgrade this one) so that I can code in the living room, at my desk, or on -the plane -[] Keep streamlining my habits so that I am less distracted (flow state)
]]>They are a middleware that allows us to run some code before a request made, or after every request.
Let’s say we are making a request that requires a token with an expiration attached to it. Perhaps this is a user token and they click a link to look at an authenticated page after being away for a few minutes.
There are two solutions
Before making the original request, we can use our interceptor to check the expiration of the token. If it is expired then we can refresh the token using another request, and then once it is refreshed, then we will make our original request using the newly refreshed token. This ensures that our request will never fail due to having an expired token.
After making the request, if the request fails because the token is expired, we can use ourt interceptor to make a request to refresh the token, and then simply make the request again with this newly refreshed token. This means that sometimes our requests will fail but it’s nearly the same result as solution #1
Interceptors can be used for other things too..
// Add a request interceptor
axios.interceptors.request.use(config => {
// Do something before request is sent
return config;
}, error => {
// Do something with request error
return Promise.reject(error);
});
// Add a response interceptor
axios.interceptors.response.use(response => {
// Any status code that lie within the range of 2xx cause this function to trigger
// Do something with response data
return response;
}, error => {
// Any status codes that falls outside the range of 2xx cause this function to trigger
// Do something with response error
return Promise.reject(error);
});
Now if you want to really implement this in a project and be able to test it. You want to create an instance of axios to use for making requests.
Here’s what that looks like:
const axiosInstance = axios.create()
Notes to myself: When I was implementing this I ran into an issue which was causing tests to break. If you are using this with nock you need to set the adapter(my particular issue, see below) to use http or it won’t work. There may also be CORS considerations which you can also configure in this object.
const axiosInstance = axios.create({
// withCredentials: true,
adapter: require('axios/lib/adapters/http'), //solved my issue
headers: {
//set cors stuff here or other header configurations
//ex: 'Access-Control-Allow-Origin': '*'
//ex: 'Access-Control-Allow-Methods':'GET,PUT,POST,DELETE,PATCH,OPTIONS',
}
})
Then import/export this instance for use in test files, api calls, etc.
export default axiosInstance
(I placed my instance in a utils folder in my project)
import axiosInstance from '../utils/axiosInstance'
Be sure that in your file you update the interceptors to use this instance
axios.interceptors.response.use...
becomes axiosInstance.interceptors.response.use
and
await axios.get("example.com")
becomes await axiosInstance.get("example.com")
5% of people retire on their own 95% - are dependent on the government for their retirement
How many books have you read in the last month? What have you not been doing that would be easy to do?
If you want to be wealthy, study wealth.
“Don’t be naive in saying ‘well this doesn’t matter…’” “I’m telling you everything matters” - Jim Rohn
]]>In 2018, bitcoin reached an all time high around 20,000 USD. Many people bought the top and were concerned that they would never see a return. However, three years later, we have seen a high of nearly 60,000 USD.
There is still fear around investing in cryptocurrency. Yesterday, Bitcoin dropped donw to 42,000 USD after a crash from a recent high of 58,000 USD.
Yet, there are articles all over the internet that paint a picture of bitcoin being the greatest investment of the decade. Safe investments make less return. That is not to say that risky investments are better. The key seems to be to find an investment with risk that I understand. (howmuch)[https://howmuch.net/articles/biggest-companies-vs-bitcoin-last-decade-performance] (yahoo)[https://www.yahoo.com/lifestyle/bitcoin-becomes-best-performing-asset-132208120.html?guccounter=1&guce_referrer=aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8&guce_referrer_sig=AQAAAAo08STWKoifELhXWxNyOzYRDEbG4K36rsTUqm7SQ6cjWP3K4jKfRGrQpNxozmd0Tz52k3RGY9soi2v3bc9Z1ICRzjVchhsRJshJOEXTTq-Py00k7UzecD-c-yHpiqQXKQpkujZmUl91vIXWNJ01–ivZl82PKJu-YRzRCSrekuT] (forbes)[https://www.forbes.com/sites/ktorpey/2020/04/13/the-bitcoin-price-has-outperformed-all-other-major-asset-classes-over-the-past-year/?sh=536c295f6fbb]
Key takeaway for my investments: Understand the risk
As it turns out, there has never been a time that bitcoin didn’t outperform the stock market over any three year period. This includes the crash from 20,000 USD that I spoke of earlier. If I had invested my life savings into bitcoin at 20,000 USD right before the crash. I still would have seen a 3X return over the next 3 years.
This is the death for my personal investment strategy. For the last year, I have been dollar cost averaging bitcoin and comparing that against my profits from trading(which takes time and dedication to do). Setting up the weekly purchase of $100 on coinbase took me less than 10 minutes. However, my personal trading has taken more than 356+ hours of research and careful thought.
In the end, my dollar cost averaging has nearly outperformed my perfonal trading strategy with nearly no effort whatsoever. I set up a $100 per week investment in bitcoin and just let it run. If you want to see the return after 1 year of investing $100 per week you can calculate it here. If you are wondering, the return over the last year if you had invested is 39.51% with a total invested of $5,300 and a value of $7,394 as of today with a BTC valued at only 42,700 USD today(the price this morning after a 28% correction). https://dcabtc.com/
https://dcabtc.com/
]]>Today I was reading about content marketing. It’s become quite popular online. Although it’s not my area of expertise, I wanted to share my thoughts about how this relates to developers.
If you want more information, check out this post: https://contentmarketinginstitute.com/2017/07/explain-content-marketing/
In this article, Michele Linn states that her favorite example is American Doll(a company that sells dolls) writing a post about girls growing up. This serves to build the brand of American Doll, rather than trying to advertize about the quality of the doll’s hair, their latest model, or the quality of the plastic they use. As Michele Linn put it, “content marketing is educational but is not about the products the company sells”.
Let’s imagine a developer as a product, and a company is purchasing this product as an asset to improve the companies’ production capabilities. Is there a way we can advertise a devleoper’s utility without directly advertizing our skills and experience?
The majority of developers have heard at one time or another that they should have a blog. It’s recommended all over dev.to, medium, and reddit. It’s a good way for a developer to interview themselves. Writing about code forces the developer to fact check themselves since more people will be reading what they say. This leads to a greater understanding of the topics they write about, and allows for memory recall that helps set the ideas deeper into the mind. It is a showcase of their skills, interests, choices, and thought processes. A good blog can replace a technical interview. Which is great if the developer is really amazing at their job, but struggles with interviews over the phone or on zoom which require them to focus in front of a stranger.
But there’s more to it than just all of these bonuses above. Let’s useSimpleprogrammer.com as an example for how blogging can be leveraged like content marketing. This blog was started by John Somnez, and he grew it to the size it is today. In his book, The Software Developer’s Career Guide he talks about how the blog changed his life. It grew his skills, but it also gathered interest from clients and companies everywhere. When recruiters and devs would read his blog, they wanted to hire him. They came to the site to read the contents of the site. However, this also ended up making John insanely valuable. In his book he mentions that his contract pay rate kept doubling until it reached over $1000 per hour and even today he is so busy that he doesn’t really do it anymore unless it’s worth his time.
“But what do I blog about?”
The blog should focus on offering value to the reader. It’s not just about what the dev knows or has done, it’s also about what the developer can help others do. This is what will bring readers in. It’s also what will make the dev more hireable. The blog should serve to build the brand of the developer rather than trying to sell themselves as a service.
Here are some ideas for blog posts: