Blog

  • Kite – How I Got Fired from My First Writing Job

    Ryan Zimmerman owned more computers than anyone I knew at the time. He was 14 and ran his own bulletin board server from his bedroom via an ISDN line in a time when most people only had dial-up. Our high school had just got it’s first T1 line the year before, a connection that’s slower than most people’s cell phone today.

    That was roughly the story that got me fired from my first writing job. It was my first semester working for Kite, the yearbook at our high school. My assignment was to write a feature story that would be included in the yearbook that year. I knew Ryan and that his story was unique, but I didn’t know how to make it interesting.

    My teacher had me re-write the story 3 times, but ultimately she failed me on the assignment and kicked me out of the class. Now I write stories like that almost everyday. I write them on Facebook, Twitter, and on this blog. I write them in emails to coworkers and to friends. I write them in reports and in documentation that gets stored on servers.

    It’s all boring.

    No one wants to read about someone who has everything. They want to read about the boy who struggled and overcame. Okay, so he had a fast connection and a lot of computers. No one cares. If I would have wrote about how he got cigarettes from his parents and stole computer parts from Best Buy, maybe I’d have an article in the Kite, but I didn’t.

    I hated school. I still do. In Spanish class I wrote lyrics. In Math class I wrote short stories. In church I’d write to the person sitting next to me. At college I’d chat with girls on AOL Instant Messenger. I learn by writing. I like telling stories, but I’m not very good at it because I don’t like conflict and without conflict, there is no story.

    What’s your story?

  • 2014 Trends in Technology

    We’re just about 50% through the year and a few people have been releasing new reports on trends so I thought I’d highlight some things here:

    • Mobile – while the ability to make money from apps may be harder now, the use of mobile devices is only going up (1,2). The future of mobile is a more integrated society with more access to information formatted in new, useful ways.
    • Biofeedback/Quantified Self – from Fitbit to the new iPhone, sensors are becoming smaller and more ubiquitous. Accelerometers are now embedded in the processors themselves and the new iWatch may include advanced biosensor features.
    • Open Data – data.gov is the biggest example, but there are other examples, which you can find at http://www.opendatanow.com/. New businesses are being formed around analyzing and using this newly accessible data.
    • API Access – not only do sites like data.gov have open data, but now sites like http://open.fda.gov/ have API access to that data; and sites like IFTTT and Zapier make it easy for non-programmers to move data around in complex ways.
    • 3D Printing – CDW and Staples now sell 3D printers. Kids are designing and printing their own objects. If you want to ride the next PC-like wave, this is it. It’s hard to see now because it’s so new, but this is a new industry.

    If this interests you, compare it to the trends I speculated about the 13 trends changing the world in 2013 to see how many of them stayed true:

    1. Crowdfunding – Kickstarter just raised funding for Reading Rainbow.
    2. Crowdsourcing – The Reddit hive mind is the best detective on the planet.
    3. Open Source – Firefox just took their codebase closed-source.
    4. Insourcing – Robotics is allowing manufacturing to be cheaper in America.
    5. Infilling – Inner cities are encouraging growth to raise tax income locally.
    6. Cloud Apps – Chromebooks have risen in popularity and use.
    7. Long Tail – HBO shows now available on Amazon Instant Video.
    8. 3D Printing – SEE above.
    9. Augmented Reality – Facebook just bought Oculus Rift.
    10. Electric Cars – California’s biggest car manufacturer is now Tesla*.
    11. Private Space Exploration – Virgin Galactic not yet having regular flights, but SpaceX* is.
    12. Mobile Computing – SEE above.
    13. Mobile Payment Processing – Square and Starbucks continue to innovate.

    Out of the 13 trends, I’d say at least 10 are still going strong, but at least one has stagnated, replaced by Open Data and API Integrations.

    *Both Elon Musk companies.

  • How I Almost Lost Everything

    Well, not everything, but my entire blog.

    I went to create a blog post yesterday and instead of a publish button, there was a “Submit for Review”. Not really thinking, I just clicked it anyway, the page refreshed, and the post was gone.
    After doing some research it appeared that the database was full. I was using 150.6 MB out of an allotted 100 MB.
    While modern databases now come in 1000MB chunks, this database was started back when the standard was 100 MB and they had graciously let me go over by 50% until cutting me off (without notice).
    What else happened because of this?
    Backups had stopped running. Since there was no way for the plugin to add more data to the database, a new backup could not be created.
    One option was to clean up the database with a plugin, but I couldn’t add any new plugins because again, the database was so full, it couldn’t make an entry.
    How did I fix it?
    I created a new 1000 MB database, did an export, then attempted to import into the new database using WordPress’ import tool, but the file was too big (6 MB). The max size is 2 MB.
    So instead I went into the web host and used PHPMyAdmin to manually export and attempt to import the data. This also didn’t work because it exceeded the “max packet size”.
    Now I was starting to get a little panicked.
    I went back to the website and deleted all spam messages (~3000), which freed up enough space to install a plugin called WP-Optimize. I ran that, which deleted all revisions, freeing up almost half of the database, but the export file was still just as big.
    Another thing I noticed was that the theme I recently installed (Jupiter) had created several new tables and may have been what put me over the top in space so I removed it.
    Finally I remembered that posts can be exported by category, author, or date range so I exported them individually by category, which kept each file under 2 MB.
    I imported them into the new WordPress database 1 by 1, semi-automatically restoring the data to the new database. This worked.
    All 619 posts and all 5 pages have been restored.
    This is just another example of The White Album Problem. As databases outgrow their restraints they will need moved to larger databases over time and knowing how to manage this data transfer process is critical to preventing data loss.
    In addition, this process highlighted the need to monitor database usage at least on an annual scale.
    It would be nice if the web host would provide a function to expand out an existing database, but maybe this is an option they or some enterprising young entrepreneur will do in the future.
  • Top 10 Meaningless Things People Apply Meaning To

    Universal or not, these 10 things only mean something when you apply meaning to them.

    Thumbs Up

    1. Laughter – a loud bellowing from one’s mouth. For most people this conveys to others that they found something funny, but it could mean that they have a lot of air in their lungs they really want to get out quickly.
    2. Honks – a loud bellowing from a vehicle’s horn. For most people this means the driver is warning another driver or that they are unsatisfied with a recent decision they made and they must be punished with sound.
    3. Clapping – the smacking of one’s hands together. This simple act is often accepted as confirmation of an achievement but it takes hardly any effort from the one clapping other than social involvement from others.
    4. Thumbs up – a single finger is raised in the air. This symbolizes that you did something good or that it is okay to proceed, but it may as well mean that you found which way is up or that you like looking at your fingernail.
    5. Middle finger – the longest finger is raised in the air. You are so proud of your longest finger you decide to showcase it to the world. It also comes in handy when trying to reach the thing farthest from your body.
    6. Two fingers – better than one finger at a time is two. Facing frontwards, you are letting other people know you still have two fingers. Facing backwards, you are letting people know you mean peace, or something.
    7. Winks – one eye is meticulously closed as to call attention to it. This may indicate that one eye is operating in a different dimension or time vortex where it blinks at a much slower rate than the other eye. Not to be trusted.
    8. Smiles – a way of showing as many teeth as possible. To dogs, this is a sign of aggression, but to most people it’s a sign of kindness – unless betrayed by the eyes, in which case the smile is usually a sign of danger.
    9. Speech – air blown through the mouth in specific tones. The melodies of speech used by different cultures means something only to those who choose to understand it, but is meaningless to everyone else.
    10. Writing – a difference in contrast between the surface where it’s written and the objects being written. These characters are, like speech, useful only to those who understand them, but are mere decoration to everyone else.
  • Creating Custom Views in Microsoft SQL

    In part 3 I continue building on the table structure I learned about in part 2 of my training on How to Use Microsoft SQL by learning about creating custom views.

    Creating the Tables

    Microsoft SQL ViewTo learn how to setup a custom view in Microsoft SQL, we setup a second table so that we could join the data together. If you know Excel, then a good comparison is “Lists”, which are a separate table that can be referenced for a single cell. The second table shares a column name with the first table and it’s used to create a ‘list’ of sorts for the data in the first table.

    Once the second table has been created, we right-clicked on each table and selected “Edit Top 200 Rows” so we could populate it with some data. Microsoft SQL creates little red circles with white exclamation points when you’re entering data. This is meant to show you that the data isn’t saved. Clicking the red exclamation point in the top menu will save the data. ‘Grayed out’ data is read-only.

    Creating the Views

    Right-clicking on the database and choosing, “New View” will bring up a box that prompts you to choose a table (or tables) or click “Close”. Once you’ve selected your table(s), click close to view the View. A view is it’s own object in the database so it can be saved separately and referenced in other SQL code later on. Once a View is created, it can be edited.

    Along the top menu are different views that display the same data in different ways. One box brings up a visual view of the tables where you can draw lines between them. These lines are called “joins” and are simply visual representations of code, which can be viewed in a separate window. Unlike other programs, multiple views can be viewed at once. If you’ve ever used Access, you may be familiar with the screen where you can draw lines between tables. Microsoft SQL works similarly. Like in Access, the bold rows are the primary keys.

    Editing the Views

    Each row can be selected to appear or not appear in the view. This creates a corresponding “SELECT” statement in the SQL code. The “Alias” column adds a ‘nice name’ to the data to help you distinguish it later on. The “Output” column further distinguishes whether or not to display the data. “Sort Type” and “Sort Order” are used to sort the views and “Filter” is used to filter what data is displayed.

    Saving the View

    The View is its own object so it can be saved just like a table. To keep the object straight in your mind when coding, it’s best practice to append the View name with “vw” like this: vw[ViewName].

  • Blueberry Morning

    The year I entered high school the administrators changed the rules regarding letter jackets. Instead of getting a free jacket after 3 “letters”, you had to pay after at least one letter. My older brother caught the worst end of this change, having to buy his own letter jacket after his third letter.

    I wanted a letter jacket too, but out of respect for my brother I decided to adhere to the old rules and wait 3 years before getting mine. While my brother played football and I was tall enough to play basketball, I decided to swim because, like track, you didn’t have to try out. You just signed up.

    When I first saw that Jason had also chose to sign-up I tried to avoid him because I was afraid he would remember me from Mr. Cree’s social studies class last year. He had played a lawyer in a mock trial and had grilled me on the stand. It was one of two classes I had taken with him. The other was art.

    Jason loved the Penguins and one day in art he was wearing both a jersey and a hat. That was the same class where I got punched in the face by someone who mistakenly thought I was laughing at them. I said, “Penguins, huh?” and Jason said very loudly and authoritatively, “Yep!” and I walked away.

    So it was a surprise to me when Jason invited me over to his house for breakfast that day after morning swim. As a fan of breakfast I said yes and though I don’t recall how we got there I suppose we walked because I don’t recall meeting Jason’s mother until after I had started eating her Blueberry Morning cereal. I asked what I should call her and Jason said, “Hey”, so that is what I do to this day.

    They lived on the second floor above the antique store they own and ran below. It was a whimsical life full of history brought to life through his parents constant garage sale hunting, antique store shopping, and auction bidding. Jason filled the time waiting on his parents reading computer magazines.

    One afternoon during swim practice I mentioned to Jason a church activity I was going to that evening and he ended up going with me. We had already started hanging out more by this time, along with Ben Raufeisen, Kyle, and a couple other guys I can’t remember anymore.

    Eventually Jason started going to all of the church activities and I started getting more involved in Jason’s world. I’d attend auctions and go garage sailing and eventually Jason and I started our own antique business, called Closet Collectibles Company. His dad didn’t like us competing with him, but it didn’t last long anyway. We used the profit from the company to watch movies.

    The next year I got a job at Heiskell’s Restaurant and Lounge, which was a fine dining establishment just south of downtown by the creek. I washed dishes 3 nights a week from Thursday to Saturday. It was awful, awful work, but when a job came open, Jason wanted in. He got the job.

    At the ‘peak’ of Heiskell’s – Jason, my other friend Danny Warner, and my next door neighbor John – all worked there, but graduation was coming. I worked there through the summer before heading to Kentucky with Jason who also attended the same school. Our drummer, Heath, also went.

    Jason and I arguably hung out less at college than we did in high school. He lived two floors down and had different classes and social life. Yes, we still were in a band together, ate most dinners together, went to the lake for fun, and played street hockey behind the grocery store, but not much else.

    I worked in the cafeteria at school washing dishes while Jason worked in an office grading papers. I worked with a girl named Kelly who spent her summers working at a camp in Michigan. I told her I was interested and I applied. I got the job. Jason worked at Franklin Power that summer. We didn’t talk much, but I heard he drained a lot of oil.

    The next year at KCC was a little different. We were sophomores now and there was a new batch of freshmen, but ironically it was us that got mentored when an upperclassmen chose to teach us the ways of Carter County. He showed us how to go cliff jumping and where to go hiking; how to scare girls in the middle of the night and how to sneak in our rooms when we got back. Those were the good times among the bad.

    Despite me having what could be considered an almost girlfriend that year, almost everything that could go wrong did and it was a terrible year by any other measurement. It was clear that we were supposed to leave and at the end of the year all 5 band members went 5 different directions. Jason went to Ball State in Muncie and I went to Milligan in Tennessee via Camp Allendale for the summer.

    The first semester of 2000 was very similar to the summer of 1999. I don’t remember much about Jason’s life other than an AOL Instant Messenger (AIM) conversation we had one night when Jason famously asked if “I even had a TV” when I tried to explain to him that I didn’t have cable.

    Over Christmas break Jason got engaged to a girl he met at that church we used to go to together back in high school and so I left Milligan to move in with Jason’s roommate and my other long-time friend, Derek in Muncie. Doing that meant leaving my other long-time friend, Ben, back in Milligan.

    Living in Muncie with Derek was similar to living in Kentucky with Derek in the amount of time spent with Jason and his new wife. I first got a job delivering furniture followed by a lawn mowing job. Jason got a job at Chili’s and then at a bank. Derek also worked at Chili’s, but got a job at Target next before joining jason at the bank. And finally, I joined the bank too so we all worked there for a few months before we were laid off due to a consolidation made possible by the Check 21 Act passed by George Bush on October 31, 2001.

    Jason’s wife worked at another bank and somehow that bank heard Jason was getting laid off and offered him a job working for them. He accepted and still works there today, but in a much different way. He invested in his career through dedicated learning and growth and now he works in Indianapolis.

    Meanwhile he started multiple businesses, had multiple children, and moved a couple of times. Although more has happened since the early times, less has changed. It’s the ‘formidable years’ that I tend to write about on this blog and in my fiction novels. Sometimes I wonder if I should focus less on the past and more on the present. I am presently writing about the past. That may also be my future.

    Jason doesn’t really like me writing about him so I’ve kept this purposely vague while attempting to provide insight and historical archiving. While we both have big families and job responsibilities we still find time to hang out together and projects to work on together.

    I went to church with Ben, Derek, Danny, and Jason and worked with all of them together at different times in my life (Heiskell’s: Jason/Danny/Erich; KCC Cafeteria: Derek/Erich; Shog: Jason/Erich; Muncie Bank: Jason/Derek/Erich; Indianapolis Bank: Ben/Derek/Erich), Jason is the only one who still hangs out with me and I appreciate him for that. Although I allude to him a lot in this blog, I hadn’t written about him or our friendship directly before so I thought it was appropriate to recollect with you that fateful, blueberry morning.

  • King’s Island

    I had been dating Jessica a little over a year when she broke up with me the day she graduated from high school. I had driven down from working in Michigan to see her graduate and on the way to her friend’s house she told me it was over.

    That night we went to a party and I ended up sleeping on the floor before driving back to Michigan the next day. When I got back I called Kristin from a phone booth in Niles. I hadn’t talked to her in years, but we were childhood friends.

    King's IslandI knew Jessica always went to King’s Island each year on Labor Day and if Jessica had one thing it was consistency. I asked Kristin if she’d like to go with me to King’s Island and she said she would so I arranged a time for us to meet in Indiana.

    Our parents are friends so when they found out we were meeting, they wanted to meet to so Kristin and her whole family came out to my parent’s house for a meal and Kristin stayed the night. The next day I drove her back to her house before going to King’s Island.

    When we arrived she asked if she could bring a friend, then proceeded to beg a series of friends until one of them agreed to go. I should have stopped the trip there, but I really wanted Jessica to see me with Kristin. I was pretty stupid then.

    Kristin drove to King’s Island and when we got there I quickly realized that she would not be riding any rides with me. She did not ride any rides with me that day. The time spent waiting in line was mostly spent in silence or with her talking to her friend.

    When we went to the water park I offered to buy her a locker, but she said no. While she was in the water, her bag was stolen and later found in the women’s restroom. Luckily her car keys were still in it, but her wallet and clothes were gone.

    I had bought a locker for my things (I was pretty smart then) and so I used my ATM card to get cash to buy her new clothes to wear back into the park. It was getting towards the end of the day, but not yet dark, and we were walking towards the park exit.

    Just then I saw Jessica up ahead, left Kristin, and ran ahead to meet her. Jessica was both surprised to see me and guarded against me. When Kristin caught up I introduced her and we walked off. Kristin now knew why we came. I had won the battle, but lost the war.

    On the car ride back, Kristin’s oil pressure spiked so she threw it in neutral while traveling down the highway. She would continually have to do this on the way home. This was back when cars were not made well and did good to make it to 100,000 miles.

    When Jessica arrived at school that August I didn’t invite her to meet my parents. She later asked why. I don’t remember what I told her, but we didn’t talk much that year. I was over her by that point and had started a new friendship, but that’s another story.

  • Why I Started Bold Bros.

    Jason and I have started working on creating our own online courses and ‘creating online courses for other people as a service’.

    Bold Bros.What I quickly realized is that between me and Jason, we have the skills to turn what we would normally consider the “wrapper” (ie. marketing materials) into a product that someone would buy over and over again. It’s the standard “do the work once, get paid over time” thing that could apply to making any digital product.

    The second thing I realized was that I could separate out the creation of the course from the production of the course and seek out people who already have content, but don’t want to make the course. In this way they can either pay us to produce their course or we pay them and sell their course over time to get our money back.

    Bold Bros is not about us making money – it’s about helping other people make money.

    Asana’s mission (a project/task management/communications app) is to prevent people from having to use email to communicate. But unlike Google Wave they don’t shove it in your face. Everyone at the company knows that’s the mission, but their customers are mostly unaware.

    Instead of stating that, “We want to help you make more money,” we internally know that is WHY we are teaching them to so the things that will help their business grow. This follows Simon Sinek’s “Start with Why” ideals and is similar to my old thoughts of ‘providing jobs for people’.

    If this interested you, you might like Why Do We Teach Business Owners About Blogging?

  • SQL Identity Specification and Data Types

    Continuing the process of learning SQL, last time I wrote about SQL primary keys. Today I learned to disallow “null” from primary keys to prevent having blank data and to set “Identify Specification” and “Not for Replication”.

    Identify Specification

    Setting the primary key’s Identify Specification to “no” means manually having to create the primary key for each row. To change it to yes, set the sub-menu “Is Identity” to “yes”. Doing this also sets the column to “read only”.

    Not for Replication

    One other step you may want to do for primary keys is to change the Not for Replication setting. “No” means ‘replicate’ (i.e. reuse old, deleted values). “Yes” means ‘never reuse old, deleted values’.

    SQL Data Types

    Each row has to have a data type to know how to store the data held in it:

    • int – a number only
    • varchar – a “string” of letters or numbers
    • bit – one digit
      • usually also set “allow nulls” to ‘off’ and set “Default Value or Binding” to a value.
    • decimal – digits and number of digits stored to the right of the decimal
    • date (SQL 2012 only) – date only
    • datetime  – date and time
    • time – only time
    • money – currency and 2 numbers to the right of a decimal

    Standard Column Names

    These are the column names and data types most used by my instructor, but you can do whatever you want:

    • RecordId – int (primary key)
    • CreatedOn – datetime
    • CreatedBy – varchar
    • ModifiedOn – datetime
    • ModifiedBy – varchar
    • IsActive – bit
    • IsDeleted – bit