Regular expressions can be really hard to learn. These are the best three exercises I found for getting me from knowing nothing, to being a fan of using regular expressions.
The most surprising thing to me is how deep the rabbit hole goes. Each day I’m encountering new programs like vim, nano, git and more. I’m constantly stuck on blank black screens Googleing how to quit and save the file I made with almost no edits to it. It’s like crawling across the desert and repeatedly finding that you’re stuck behind a wall.
The list of material is pretty massive so I’ve just been heads down working my tail off with every second I have.
Date: August 17th, 2016
On July 27th, 2016 I did my technical interview with Hack Reactor, a computer programming bootcamp. On August 2nd, 2016, I was invited to participate in the PTC program. Here’s the story.
For the last 6 months, I’ve been studying programming languages. Here are some notable resources that I found useful:
- Codecademy – Not great, but excellent as a first step
- App Academy’s Prep Work – This taught me algorithms… the slow hard way
- Free Code Camp – This is an EXCELLENT source at the time of writing this blog. If you can only do one, do Free Code Camp
- Project Euler – This is an excellent, challenging algorithm organization. If you learn to love this, I think that’s a signal that you’ll enjoy computer programming.
After my 6 months of learning on my own, I also attended the App Academy Prep Bootcamp. I feel like it was worth it, but it is expensive and there are resources out there to learn most of what we learned without attending the class. That said, I’m not sure I would have been accepted into Hack Reactor had I not been in class with Jake and Thomas from App Academy.
For example, I started using Atom and Script (a plugin for atom which allows you to quickly run code while in the editor), from their in-class reccomendations. I may have never learned about valuable tools like this without them telling me to download and use them.
Finally, the most important preparation is that I worked hard at this. I spent many nights and many full days entirely invested in solving hard problems and seeking out more challenges. I don’t think I’m especially smart, but I have a love for the complex, problem solving nature of computer science.
If you don’t think you can jam all night on a Friday trying to learn why your JSON just isn’t responding or why you’re algorithm isn’t even working, then you’re probably in the wrong place and should go after something different than a coding bootcamp.
Personal Tech Coaching (PTC) at Hack Reactor:
So I start the first day of the PTC program begins this evening. I’ll study all day for it now. The following blog posts will be a series of daily blogs describing the program and my successes/failures as I work my way to what I hope will be the first day of the immersive bootcamp.
A business mentor of mine reached out with an interesting question.
How would I think about selling a lot of little homes?
Tiny homes are my favorite. In 2015, V and I house-sat a mansion in New Jersey for a few months. The lifestyle isn’t ideal for me. Taking care of the place was a part-time job in it’s self. It would be interesting to see market data on the overall housing market in America. Are more people going with smaller homes these days?
Don’t have time to read this whole article? My overall response is to either sell via existing platforms (eBay or Wayfair) or craft a content story that tells the story of successful entrepreneurs who use the homes to build complexes that are cash flow positive.
250,000+ people ‘like’ the tiny homes blog facebook page. It’s a click-bait page for driving traffic to their website. The website is monetized by AdSense revenue. What does that mean?
Monetizing with AdSense revenue means that the owners of the page and website are probably getting paid on a CPM basis. That means they make a few dollars/cents per 1,000 visitors (or people who click to the page).
Why is this a signal?
If there was a better opportunity to get affiliate income from home sales, the site would probably be monetizing from CPA offers or affiliate commissions from sales. If a home sold for $30,000 and they get 6% of that, they would probably pull the advertising and push direct home sales.
This may be a signal that people are interested in the concept of small homes, but aren’t making the decision to purchase them.
Average monthly search traffic in google is healthy:
Again, this is a signal of interest rather than purchasing decision making…
I notice that the competition is high on google. That means that advertisers are paying to get their products listed on this page. Below you can see jet.com, and wayfair.com are all paying for that position.
Wayfair is a BIG drop-shipping company. If they are paying to be here, they are probably seeing returns from the activity (assuming that their AdSense girl knows what she is doing).
This is a good sign, but when we click the ads, we are taken to pages which sell sheds, not homes. That is a signal that small homes aren’t being sold there. This signals to me that pre-built homes aren’t being purchased on the internet.
Competition – The Small House Market
You can buy pre-built homes on eBay for about $32k.
Clayton Homes sells pre-manufactured homes. Warren Buffet’s BKSH owns Clayton Homes. I remember from reading Mr. Buffett’s letter to shareholders that he is happy with the performance of that specific investment, even during the 2008 housing market downturn. They sell homes ranging from $20-300k per unit.
This company has an OK user experience in the way they provide prices for their Yurts. It would be good to do develop a tool like this on smallhomeshawaii.com.
Target Markets/Selling Strategies
I think there are two strategies to approach the problem.
Selling to entrepreneurs or consumers.
Selling via Existing Platforms
eBay and CraigsList already have the traffic. eBay has customer protection which might support initial sales. Selling via eBay has a very low cost (time and money) to get started. All you need to do is post the listing.
Wayfair is a dropshipping company. If they agreed to list the homes, they manage the whole sales process. As the supplier, you receive money and descriptions for where to send the homes. It may be interesting to connect with them and see if they would be interested in adding the homes to their listing. The benefit of using them is that there would be no website development or brand building expenses.
Content Marketing to Inspire Entrepreneurs
The challenge with housing is that choosing to live in a little home is not a quick consumer purchase. It is a lifestyle decision. The tiny homes model needs to come with individual narratives to individual consumers. Therefore, there needs to be a system to inspire others to build communities with the homes. For that, an entrepreneur would be helpful.
I see the entrepreneur as the girl who wants to buy between 5 and 100 units per order. Their goal would be to buy land, place the homes, hire out the property management and see a long-term income from rents. Ideally, they would have no day-to-day involvement in the business after it was set up.
To inspire these people, there needs to be a story of how it would all work.
Here’s a rough plan on how to tell that story:
Step 1 – Tell the Story with a Daily Content Blog
Partner with a self-starting entrepreneur. Let’s call her Sally. Sally’s mission will be to develop a housing complex using the small homes.
Sally will be committed to:
- Creating daily content (video log would be ideal) during the building of the complex and posting it to smallhomeshawaii.com
- Publicly record the income and expenses of the project. Publish a monthly income/expense report
Ideally, at the end of this process, Sally will be able to say, “I built an asset which pays me $5,000 a month without day to day involvement. Best of all, I used Hawaii Small Homes so I was able to get the asset up and running in a few months.”
This will be a self-fulfilling marketing endeavor. Income reports get lots of traffic and drive lots of sales.
Step 2 – Offer a Discount to Those that Contribute to the Web Marketing
The next person who wants to become a developer with the small homes will have the opportunity to do the same. Offer them a discount on the homes if they commit to publishing the story of their success to smallhomeshawaii.com.
As the volume of success stories grow, the website will grow exponentially as a place to sell the houses directly to anyone interested in the buildings.
Interesting Articles Regarding the Small Homes Market
Short-term rentals are already being done by a small team in the North East called GetAway.
My friend David Vu is doing well with his vacation rental arbitrage business.
Most of my drive to become a computer programmer comes from listening to, and seeing the work of, my favorite programmers. Here is a list of particularly inspiring software engineers.
Derek actually wrote a book that I consider to be the most positive impact on the way that I approach business. The playfulness of his projects makes it fun to follow him on GitLab. Even his own blog is an open source CMS option for anyone seeking to organize their work like him.
David Heinemeier Hansson
David wrote a great book that inspired me to have more confidence in the viability of remote work. I appreciate that he goes contrary to the the perspective that tech businesses win when they get funding. Outside of his excellent writing, he created a framework called Ruby-on-Rails which is an open-source project that helps people create web apps quickly. The way he manages the technology is facinating.
As the creator of WordPress, Matt has probably had the largest impact on the internet since Larry and Sergey created a search engine. The way he drives the massive ship that is WordPress is really inspiring and I find his blog is full of useful, heartfelt thoughts. Also, check out Simplenote which is a side project for him, but a really elegant tool.
His story of writing a worm that took down MySpace is funny, and a bit scary. He makes YouTube tutorials describing exactly how to build robots that open combo locks in seconds and other mischievous activities are great. He uses hardware and software skills to make interesting things and I think that’s useful when approaching problems with technology.
Other Helpful Programming Points of Interest
Know and interesting programmer, please let me know about her in the comments.
Updated July 26th, 2016
Learning to Code
Just the other day, we broke through how we can use the algorithms we’re creating to mix with data. We’re using NodeJS to break this barrier and I find it fascinating! I’ve also developed a good understanding of what JSON is, how it plays a role in the universe of computer programming and why it’s one of the most exciting technologies available. If you’d like to hear what taught me a lot, check out this ChangeLog podcast.
What I’m Listening To:
Thank you Derek Sivers. Learn more about this post at now now now.
When my focus changes. You can read about it here.
I’d love to be able to embed elements like this into the backdrops of websites to make them look really amazing and futuristic. This one is a bit dramatic and would be distracting…. but if I could slow it down and make the moving shapes low contrast, I think it would make an amazing website. Maybe a good one page element for a data science company or something like that.
The coding continues… this is strange.
At it’s core, programming is the discipline of logical, procedural thinking. If that’s the case, what on earth is the above game doing here?
It’s easy to get caught up with the way we write code. Often the whole structure is broken if we miss a single comma in a 20-line text file. That makes it more difficult as error messages are often more common than actually making progress in a real program.
Scratch is a simple programming language which empowers users to write computer programs without being code monkeys. There is very little typing. To create a game like this, we just drag and drop.
The benefit to coding is that the logical thinking is still a part of the process. You can learn to create using if/then statements but you won’t get jammed up for a missed comma. One learns the data structures without getting stopped by the reality of proper syntax.
To create the music I deconstructed a YouTube tutorial teaching us the Indiana Jones theme track. It was interesting learning a song through beats per minute and rest times. I found myself revisiting lessons learned from traditional sheet music to solve some of the issues with 1/8 notes and 1/16 notes. This is another example of how breaking down ideas so that a computer can repeat those ideas, empowers the creator to understand the actual thing at a deeper level.
Here is the interview on The Changelog:
I wanted to hear him on The Changelog for a programmer focused conversation. His interview with Tim was great, but it didn’t address WordPress technology specifically. As WordPress is the dominant content management system (CMS) for most of our podcast production clients, it’s important that I stay up to date on what’s happening.
Here is his interview with Tim:
At the end of the Changelog podcast, Matt suggests George Orwell’s Politics and the English language.
If Matt says that is required reading, I’ll take the advice. Here are my notes:
Notes on Politics and the English Language
George Orwell is a great writer. His essay on killing an elephant was one of the most memorable in my life. I’m reminded of it immediately upon starting another of his essays.
To Orwell, the problems that appear in written language are symptomatic of mental vices which affect everyone. He opens with a description of his modern written environment. It sounds honest and subjective.
To take apart bad writing, Orwell provides a numbered list of examples of bad writing. I’ll provide a list of my own reactions to the passages. I can later cross reference my initial thoughts with what Orwell says about them:
- Lots of useless wording and double negatives
- Lots of colloquialisms
- I honestly don’t know what this example is about
- Big words when little words would do better
- Again. Hard to understand, big silly words and unclear thoughts
Ok so now Orwell defines why these passages are bad. He says there are 2 qualities that effect them all:
- Staleness of Imagery
- Lack of Precision
These manifest in the following ways:
- Dying metaphors
- Operators or verbal false limbs
- Pretentious diction
- Marxist writing
- Meaningless words
I love Orwells imagery. “..a feeling which suddenly becomes stronger at moments when the light catches the speaker’s spectacles and turns them into blank discs which seem to have no eyes behind them.” When reading this, I see what he sees.
He talks about the epistemology of words. Examples being using myosotis instead of “forget-me-not” to name a flower. Greek words sound scientific so the writer gets high class points… but they aren’t saying anything more than the guy who buy’s some “forget-me-not’s” for his girlfriend.
Another crime of language for Orwell: Naming without calling up mental pictures. “Millions of peasants are robbed of their farms and sent trudging along the roads with no more than they can carry: this is called transfer of population or rectification of frontiers.” We do this today in America. Fighting terrorism is, in reality, a flying robot dropping explosives on illiterate village dwellers who hardly have access to electricity.
“The great enemy of clear language is insincerity.” – George Orwell
“If thought corrupts language, language can also corrupt thought.” – George Orwell
“What is above all needed is to let the meaning choose the word, and not the other way around.” – George Orwell
Rules to rely on when instinct fails:
- Don’t use metaphors, smilies or figures of speech when you know them from print
- Don’t use long words when short words will do
- When a word can be cut, cut it
- Don’t use passive tense when active tense is possible
- If you can think of everyday words, use them. Don’t purposely replace everyday words with scientific or foreign ones
- Break these rules before saying anything barbarous
Orwell wants us to think of language as an instrument of expressing (not concealing) thought.
This is probably the best article I’ve ever read in terms of what makes good writing good.
That term still is impossible to define for me. What is ‘good writing’?
Two books come up for me when asking this question. The first is Zen and the Art of Motorcycle Maintenance. This book has plenty of examples of bad writing, but I think it says something valuable about the connection of art and utility.
The second is Stephen King’s book On Writing. I feel like this letter from Orwell is the shorter version of On Writing. If you can read On Writing, do it. If you won’t budget the time, this Orwell letter will do a good job.