No Time to Build'em All

I had a dream last month that something was going to change on July 2nd. I can’t put my finger on what is, but something has. I don’t know what it was, but something has changed. I’m more motivated than ever to build cool stuff. Driven to bring the ideas that do not exist yet to reality. And oh boy, I’ve been on full throttle.

I have over 60 pages of ideas that I want to make. Or even try. And I know that there are definitely a ton of duplicates as well as unrealistic, and crappy ideas. But the sad part is that no matter how many ideas there are, I won’t be able to make them all. I just don’t have the time, unless by the sheer luck of the stars I win the lottery or something…

Regardless, I want to keep up this momentum and spend much of my time creating. Building thing that could possibly improve human lives - make things more fair, and help others lead great, fulfilling lives. In order for me to do that, I need to constantly strive to be a producer, not a consumer.

When I was in high school, one of my favorite teachers, Mr. L, quoted Scott Adams(cartoonist for Dilbert). He said, “The 10% of the population carry the 90% on their shoulders.” Mr. L then said these are the people who go where no men have gone before, and bring innovation and ingenuity to society. The rest of the 90% consumer the innovations of the 10%, and kind of piggyback off the minority.

As I carry out my short life, I find this to be so true. Many of us are consumers, and we only take in what others have made for us. From games, television, and computers, we take rather than give. But I think we all have the capability within ourselves to create. But how can all of us really be more creative, and make innovative things that can benefit everyone else on a grander scale?

With the advent of online learning, and massive improvements in manufacturing and economies of scale, many of us have the ability to be these creatives. However, with those new venues comes new time sinks and sharks that will pay heavy dollars to donate our time to them.

Despite whatever resources that are available to us, many of us is still lack discipline and drive. I always wonder why some people have more drive than others, and honestly, I have no clue. It all goes back to how people can be overweight their entire life, then one day wake up, take that single step, and go on a marvelous journey.

For me, the past few days have been crazy. I’ve been making a program of my own, my own flesh idea. And I’ve finally got it to run as an application on my Mac as of 3 AM.. It’s honestly one of the best feelings in the world, when you’ve went through so many bugs and so many trials, so many unexpected gotchas, squashing countless bugs, and coming out alive.

At the end of the tunnel, I’ve come out of the ocean with most of the parts of the fish intact. I can now put it on the table. And eat it.

It feels soooo good to taste the fish. To actually build something that I know for sure going to use. And it’s stable enough to be running on the Mac(with some tuning, I’ll be using my program to do some beta testing)! What a time to be alive…

Anyhoo, cheers to a great day. I’m proud of what I’ve built, and can’t wait to build more cool shit. And share it with others.

Forgetting and Creativity

If we had a reasonable curve of forgetful people on the x axis, and creativity on the y axis, what would that curve look like? Assuming that we control for all other variables.

In Machine Learning, there is a very effective technique known as drop out, where you turn off random neurons in a neural network to avoid the network becoming “stuck” or overfitting.

This technique works remarkably well that it’s used almost always in any kind of neural network to prevent overfitting.

Isn’t there a biological equivalent in our brains? Where certain neurons are not making the connections when they are supposed to, so the brain can’t recall a specific fact or memory.

By forgetting, you’re able to replace certain aspects of that memory or concept with new ones. For example, if a human was able to recall every single picture that has graced their eyes, then that would be a severe inhibitor to creating a new picture that is based off of what they’ve seen. If a person recalls every single instance of that picture at each brain tick, it would bar them from any kind of creative modifications to that original image.

In reverse, if the person forgot every single picture that has touched the back of their eyes, they would be completely useless. Well, that’s effectively being blind. If we asked a person to create art, would their art look reasonable?

I thought not but apparently there’s a blind painter from birth. And he’s good

But is he truly “blind”? All of his ancestors who have come before him, they all have done some engraving to this brain. Even though he is blind, his ancestors were not, so I would believe that he has some sense of what the world should look like and what colors are, even if he has never seen them before.

Painting is a blind man’s profession. He paints not what he sees, but what he feels, what he tells himself about what he has seen.

Anyhoo, I would like to know if forgetful people are more creative. Because I am quite forgetful. But I’m not sure that I’m that creative. I sure hope so. I want to believe that the world isn’t as unfair as we think it is. That everyone is given some sort of talent, that there are somethings people are inherently monsters at. That there are economic inefficiencies that prevent people from finding things to do that they love to do, and that everyone has some passion or talent - they never found out above it.

If I have to summarize, all people probably have a stat sheet like this, similar to Pokemon: alt text

I realize that I may have gone a few tangents, but these days my thought is can be summarized as: You shouldn’t beat yourself up for not being good at something, because there’s bound to be something else that would make up for that deficiency. So you forget everything. Maybe your hella creative!

Car Buying Process and Open Source

My family spent the fourth of July trying to get a new used car for my mom. She’s been driving a 250k miled Toyota Corolla. The car had to go. We shopped today, and I deeply regret doing this. Sigh. I was an idiot. Worst time to buy, because everyone takes this day off. I’m not going to buy crap on the Fourth anymore. It really does disservice to the great people who built America from scratch. Next time I’m staying home, and thinking about the great men who had balls to call out wrong doings and start perhaps the greatest startup the world has ever seen. Respect

But the process of finding a used car is so painful. At a certain point, I began to calculate the total amount of time that my brother and I put in reading all of the disparate sources of information, and it seems like we’re getting to the threshold where the wages we lost Googling around is becoming unreasonable.

The whole industry is so broken. I firmly believe that the car dealing industry, well the majority, is out to screw customers. Without further ado, here is my rant bullets.

  1. The asymmetric amount of information between the dealer and the customer.

The dealer sells tons of vehicles every month, so they have a unfair advantage over the customer. They know the lowest they can go - they know how long the car has been in their inventory, and unless you know about cars like the back of your hand, they may just slide some flaws over you and pull wool over your eyes.

When I went to a dealership that had cheaper cars, there were all sort of red flags on their cars. One of the cars failed their inspection. Another one got into an accident marked as minor on top of the CarFax, but the description didn’t match the “minor” accident.

One failed the safety inspection, and upon reinspection it passed. When asked about this issue, they said the windshield was broken. But if the car hasn’t been in an accident or some issue, why would the windshield be broken?

  1. Reviews on websites are not normally distributed. Or they don’t follow a good distribution. Honestly, a 4.7 star rating doesn’t really mean anything if we don’t understand about the people who write them. And people are lazy. Including me. If things go well, they don’t write a review. So either things have to be really good, or really bad for the customers to write these reviews. So I don’t know if the reviews are even a good idea to gauge whether a dealership is good or fair.

For example, one person, who doesn’t read the fine print, can think that they got a great deal on an extremely flawed car. Only three years later will they know that they’ve been screwed.

  1. There is no clear transparency on how car prices are generated.

According to this article, the professor who was in the article said many of the pricing tools are unreliable. This is true. I’m really beginning to think that unless kbb or all these car price estimators are run by the government or a non-profit(which they are not), it’s damn cartel. Total bullshit. First, they aggregate all the sales data from dealership data, but all the dealerships refuse to go down a certain price. Probably. So what is the point in doing this? Is the price even natural?

The only way to fix this is open source exactly how these companies calculate their prices, or have a government entity do it. But I think there are significant challenges to this.

(sidenote) Some of the low-quality dealerships I went to seem to be taking advantage of people with lower income. The first thing they always ask is what is your credit rating, and can you finance the vehicle? My brother and dad have financed cars in the past, and the interest rate is ridiculous. It leads me to wonder about what my former boss said. He said that as income increase, it’s not like people save. They buy more expensive things. Expensive cars on loan, and bigger houses. I hope these people know what they are doing. And shame on dealers for ridiculous predatory loans.

  1. Why the hell are UI for car dealerships so poorly designed for the mobile? It’s choppy, slow, and makes no sense to me. There’s significant delay in UI requests. We have React, Angular, and single page apps and responsive apps. I don’t even know why their UI experience makes me go nuts.
  2. Do dealers even give that much of a benefit to customers? Okay. In the era where there was no internet and easy access to information, sure the dealers were there to educate people about the features of the car and supposedly help customers find the car that they want. But nowadays, there are tons of information, videos, on the web. So what purpose do they do to help society at a large scale? Are they not middlemen? I think there are good middlemen that serve a purpose in the economy. These people probably reach out to customers to inform customers on new products. But for something like a car, I bet the first thing they do is to go to Google, and start typing queries and browsing the web on what car meets there criteria. I would like to know what the dealerships really do to reduce economic efficiencies at this point and make the car market liquid. Sure they store cars on their lot. But do you really need all those fancy offices and showy rooms for this I wonder…

Summary

At the end of the day, I don’t want a great deal. Okay. Great deals would be nice. But I want a fair deal. I know that selling cars is hard work, so I don’t want to completely negotiate and wear down the salesman. At the same time, I don’t want to be screwed and be a butt of all dealer jokes.

Number One Thing That Coders Must Do

The number one thing that coders must do, is write a darn explanation on the top of the file describing what the code is supposed to do. Even one line is better than nothing. Even one word is better than nothing.

In a rosy petal world, everyone would have the last modified date, some possible contact information for questions, and maybe even a nice function annotation for every single function. But we don’t live in such a world.

At the very least, they should describe the abstraction that led them to create this file.

It is late at night, and I’m trying to read some Python code to work on a machine learning project. And there are no comments.

But hey, at least the person didn’t use stupid variable names like a, b, and c. So I’ll be all right.

But I was hoping for a comment at the beginning of the file and I didn’t find any. I’m a little disappointed =(.

Vendor Lock In

I hate vendor lock in. It’s terrible.

This is when a software corporation sells their product hard to another corporation. The corporation who bought the software then develops their entire software stack around this, and the seller charges a license fee in perpetuity. The buyer can’t stop using the software, because the cost to switch is impossible. If you want to switch, you have to hire tons of developers to build existing software on another platform.

I really don’t know if there’s a good way to solve this problem. Maybe companies should be obligated by law makers to open source some aspects of their software. Or even standardize all save formats of all software once the category of tools reach critical mass.

Even in the case of UML diagrams, sadly there is no one standard that would allow you to easily convert diagrams from one program to another.

This is ridiculous. It’s kind of scummy. But no one is ever forced to buy someone else’s product. It’s their choice. Yet it’s really hard for a company to determine that the software that they’re buying will solve their problems adequately, and that it will cause them crippling amount of tech debt and tears…

At work we use this tool called Informatica, which is a pretty common ETL tool. But once you start developing on this platform, I think you’re pretty much locked in. You have to keep paying license fees to Informatica for perpetuity if you want to keep you stack running. And some of the stuff in Informatica is real crap. The GUI looks like it’s from the 1990s, and unfortunately there’s no way for our team to scrap this software.

Maybe I’m too inexperienced to know this, I still don’t know why this ETL tool costs so much and requires so much custom servers, repositories, the whole nine years. There’s a list of patents that Informatica has. But Christ, it’s an Export, Transform, Load. It’s not rocket science. At least I wouldn’t think so. Does it really require patented technology to change attribute names and transform integers to Strings? I really don’t know…

The reason I’m complaining is that I’ve been learning Informatica in the past few weeks, and there’s a lot of things that go against my intuition. I’d like to look into alternatives for us to use, but it’s kind of pointless considering that there’s so much to rebuild…

This vendor lock in such bs. At the same time, are there really any other alternatives out there?

If a company decides to open source their systems, them how will they feed their families? There’s a reason why Linux hasn’t taken over mainstream computer usage - it lacks the polish that comes with Windows or Mac. And people are not going to do this for free…

That said, God bless Linux Torvalds.

My thought on this is that open source is the way to go, and that approach to software helps out humanity in the long run. However, we don’t have the economics to back this up. So far, many open source projects and tools are supported by big companies with ulterior economic motives.

For example, in the case of Chrome, it’s not even Google’s main product. Rather, it’s a product that enables Google to easily allow users to use their money making Google Search. To some degree, this could be the same for any open source project run by a company. It’s something that is not important enough to keep hidden, and open sourcing the project drives some agenda, whether that be free publicity, or becoming a leader in how certain frameworks are developed.

One day, maybe we’ll see an awesome ETL tool that is completely open source, slick, and awesome. A tool that doesn’t cripple companies by charging ridiculous fees.

Site built with http://lanyon.getpoole.com/ template. Thanks to @mdo for the original template!