Radial Blur
  1. Getting Dogecoind to run on CentOS

    December 28, 2013 by Mike

    I’m on vacation in a rural part of the country for Christmas. I’m able to use the internet through tethering on my phone, but it’s pretty slow. I’m also not able to use the phone and the internet at the same time. Therefore, I decided to work on a project that I could do mostly offline, would help me learn how to work with cryptocurrencies, and generally be a positive help to the community at large.


    Therefore I’ve decided to create a Dogecoin faucet. From reading about Bitcoin and interacting with libbitcoin, I have something of an understanding of how these things work. Essentially a faucet needs (please feel free to correct me if I’m wrong in anything):

    1. A copy of the Dogecoin daemon running on the server

    2. This daemon will need to have an entire copy of the blockchain

    3. A wallet run by the daemon

    4. Some coins

    5. A website frontend (html/css)

    6. PHP to interact with the dogecoin daemon (This is done, I think, by making CURL requests to the Dogecoin daemon running on the same localhost server but on a different port. I think there’s a library for this but I could be wrong).


    First things first, I’ve decided to google to see if there’s anything on github, and in fact there is a faucet written by a polish girl ( I’m going to review this code and, if it seems correct, use it.


    According to the github comments, the first step is to download and install the dogecoin daemon. This is going to be true regardless of whether or not I use the faucet code that I see here or if I’m going to wind up creating my own. So let’s go to the github for the faucet: (


    Using putty to connect to my server so that I don’t have to use up my cellular bandwidth. The github instructions say to run the following:

    sudo apt-get install build-essential \ libssl-dev \ libdb5.1++-dev \ libboost-all-dev \ libqrencode-dev \ libminiupnpc-dev cd src/ make -f makefile.unix USE_UPNP=1 USE_IPV6=1 USE_QRCODE=1

    I’m on CentOS, so I’m using YUM instead. Looking for some of these equivalents.

    build-essential’s equivalent would be yum install make automake gcc gcc-c++ kernel-devel

    libssl-dev’s equivalent would be yum install openssl-devel


    At this point I get tired of finding package equivalencies, because I really want to get moving on this and I know that I have a lot of packages already installed for other things. So I grab the zip using wget


    and unzip it



    and move into the folder to see what we have. There’s a src directory with a makefile.unix. I attempt to make this file using  make -f makefile.unix USE_UPNP=1 USE_IPV6=1 USE_QRCODE=1 and get a ton of errors. Looks like I’m going back to installing dependencies.


    Dogecoin is based on Litecoin as they’re both scrypt coins. So I start looking around for a CentOS guide to installing litecoin. I find a litecoin miner tutorial that suggests

    sudo yum -y groupinstall "Development Tools"

    sudo yum -y install git libcurl-devel python-devel screen rsync


    The “Development Tools” I think is definitely going to be important, although I thought I had covered it with the yum install previously. As far as screen and rsync, those aren’t going to be important for the Dogecoin daemon, and I’m pretty sure I already have libcurl-devel, and since I’m just downloading the zip from git, I shouldn’t need this second line at all.


    Fussing about some more, I’ve decided to delete the .zip and just use git to get the package from git.


    git clone


    I need that libboost-all-devel, which in yum is

    yum install boost-devel


    and libqrencode-dev, which CentOS is

    yum install qrencode-devel


    At this point, trying to find the libminiupnpc-dev I stumble across this article for installing services for Primecoin on centos


    Finally, a decent guide for CentOS for altcoins, although it’s not a scrypt coin, a lot of these will be important. And I’m able to grab the miniupnpc by following this section of the guide:

    cd /root echo 'NOTICE: Downloading miniupnpc 1.6.2…' wget -O  miniupnpc-1.6.20120509.tar.gz tar xzvf miniupnpc-1.6.20120509.tar.gz cd miniupnpc-1.6.20120509 echo 'NOTICE: Compiling miniupnpc 1.6.2…' make echo 'NOTICE: Installing miniupnpc 1.6.2…' INSTALLPREFIX=/usr/local make install


    I also grabbed db4 with:

    yum install db4


    Now that all the dependencies seem like they might reasonably have been met, I’m going back to try to make dogecoin again.


    ---- SOME HOURS PASS ----


    Apparently CentOS only has boost 1.4.1 in its yum repositories and I need boost 1.4.8. Since I installed the old boost before, I need to remove it. I’m following the instructions here (


    rpm -qa | grep boost

    yum remove boost-*


    Download boost


    tar -xvzf boost_1_55_0.tar.gz


    And it is here that I learn that /tmp is mounted as noexec and I can’t run ./ commands. And also I learn that the bootstrap and installation procedure is different for 1.55 than it was for the ben-tech article.



    ./bjam install


    Hah. Just kidding. That apparently only leaves the libraries in the current directory. Now that I’m learning what I actually need to invoke, I’m trying

    ./b2 --prefix=/usr/local/boost --build-type=complete --layout=tagged toolset=gcc link=static,shared threading=multi runtime-link=shared install

    This should give me boost in /usr/local/boost and maybe I can run it again.


    Still getting boost errors. How about installing from RPM?


    There’s no RPM for CentOS with a later version. I’ve been working on following the bitcoind instructions for CentOS.


    --- More hours of dependency hell later -----


    Ok, I’ve got dogecoind compiling, but its unable to load some shared libraries. I think that this should theoretically be pretty close. At least its compiling.


    The biggest problem has been with boost and getting the correct version of boost installed, since CentOS doesn’t seem to work.


    I do



    tar -jxvf boost_1_55_0.tar.bz2

    ./ --prefix=/usr && ./b2 stage threading=multi link=shared

    then as root

    ./b2 install threading=multi link=shared


    cd /dogecoin/src/

    make -f makefile.unix dogecoind


    And it compiles correctly (at least on my machine) but trying to ./dogecoind gives me

    ./dogecoind: error while loading shared libraries: cannot open shared object file: No such file or directory


    Ok, so I’ve fixed these errors by copying the correct libraries in /lib64/ but now I get



    EXCEPTION: 9key_error

    CKey::CKey() : EC_KEY_new_by_curve_name failed

    dogecoin in AppInit()


    terminate called after throwing an instance of 'key_error'

     what():  CKey::CKey() : EC_KEY_new_by_curve_name failed



    So it turns out that CentOS and Fedora don’t come with EC in openssl. So I have to rebuild openssl. This does not sound like fun.


    ----- Some more hours pass -----

    Ok, so I’ve taken the method for installing bitcoind on CentOS that is found here: ( and modified the files to work for dogecoind.



    Use those files to get yourself started. Please feel free to contact me if you need any further help on reddit at


  2. How To Actually Find A Job

    May 25, 2013 by Mike


    Since the economic recession in 2008, we’ve seen a serious decrease in the number of jobs available. Companies slashed budgets and had massive layouts, and instead of rehiring have found ways to keep things “more efficient” and get more work out of the employees that they had left. The growth in the number of people who go to colleges and universities means that students are paying more money in order to get less valuable degrees. There’s high competition in almost every field, and not enough jobs. Corporations and banks are getting wealthier, but job prospects for the lower and middle classes are looking bleaker.

    Competition for jobs is extremely high, and the old models of applying for jobs have changed. No longer can you just send out resumes to companies and hope for a job, because that resume just goes into a heap of other resumes sitting on the floor. Career fairs are a good starting point, but even that’s not the best way to get hired. If you want to find a job, being just another face in the crowd isn’t going to cut it. So what’s the secret to job hunting?



    Sales is a dirty word. It conjures up images of used-car salesmen and infomercial pitchmen attempting to sell things that nobody needs to people who really could be using their money better on something else. However when you are hunting for a job, you can’t be going in with the mindset that somebody owes you a job. If you’re thinking “IBM is a huge corporation, and I spent all this money to study computers, they owe me a job,” then you’re approaching this with the absolute wrong attitude. Looking for a job is not YOU asking THEM to give you a job. It’s YOU giving THEM a product (your time and effort) in exchange for their money. Job hunting isn’t about receiving, it’s about delivering.


    What are you selling?

    If you want someone to give you money to work for them, then you need to provide them with something that is worth more to them than the money you are giving them. You need to have something of value. Typically job listings are like a want ad. The company is listing that they want something and are willing to pay for it. It’s sort of a reverse eBay. When you find somebody looking for something that you’re selling (your skills), then you can begin to approach the sale. Let’s say you meet the requirements of the job posting - great - you have a product you can sell to them. However, other people will be applying to the same position, and attempting to sell the company or hiring manager on themselves as well. Questions you should be asking yourself are:

    • How can I provide a better product than the other people applying? Do I work harder? Do I work smarter? Do I have specific experience that is relevant? Etc.

    • How can I sweeten the deal? Am I more local? Can I take a lower pay? Am I single an can work more hours, or am I married and can prove commitment?

    • What sets me apart from other people? If we’re all selling the same or similar skillsets, what can I bring to the table that’s a differentiating factor? Do I have a unique experience - like living abroad or speaking another language? What do I have that can set me apart in the minds of the people hiring?


    Making a personal connection

    Good salesmen make a personal connection. Communicating with you breaks you out of the business-only transaction that’s taking place. They attempt to find common ground with you, and ask you questions about yourself and attempt to relate. They attempt to become your friend or at least an acquaintance. If you know somebody as a person instead of as a faceless corporate representative, you’re much more likely to trust them, and to feel like they have your best interests at heart.

    You need to make a personal connection with your interviewers, with the people in the office when you’re waiting for an interview, etc. Talk to the secretary in the waiting room. If you charm people and turn them into your friends, they’re much more likely to vouch for you. If everyone who applies sits nervously, and one person is at ease and making friends in the company, then the people at the company already know that that one friendly outgoing person is going to be a closer match based on personality than somebody who was cold and a dead fish.


    Referrals and networking

    Personal connections also lead to referrals. It’s important to go out and make friends in the industry or a related industry to the one you’re attempting to find a job in. For programmers, a lot of companies throw events where like minded people can come together and meet. A hackathon or a conference or a seminar are places that you can show off your talent, but more importantly make important connections to people in the industry.

    Even if people you meet aren’t hiring, if they like you and you keep in touch with them, they may know somebody who is hiring for a position that meets your skillset. Personal referrals are one of the most powerful ways to get a job. Who would you hire, if you had two equally qualified resumes on your desk, and your best friend says “You should hire Person A, because I met him and he’s a great guy”. Most rational people would hire the person they’ve received a recommendation for, because they trust the referring friend’s opinion.



    The days of passively sending in a resume to a number of companies blindly is over. In order to get a job, you need to provide value, stand out, and make a personal connection. Building a network of intelligent people in the industry is a great way to get referred into a job position. By thinking with a “How can I provide value in exchange for money” attitude instead of a “I studied for four years and I deserve a job” attitude, you’ll greatly increase your chances of getting hired.

  3. Building a website with no experience or budget

    January 2, 2013 by Mike
    I build websites for a living. I mostly get paid to build websites for people. However there are a lot of people who either arent able to afford my services, or they're interested more in my advice about how to build a website themselves. There are a lot of free services that allow people to build websites on their own. I've decided to write a few articles that teach you how to build a nice looking website on your own with limited resources, in your spare time.

    What software should I use?

    There are a lot of different bits of software out there that all allow you to build a website. There's stuff like coda, dreamweaver, eclipse, frontpage, and other pieces of software that allow you to edit HTML and CSS and PHP. These are not going to be particularly useful for you at this point unless you've studied these languages. Also, most of what I have used these tools for is similar to what I could use notepad to do, although they do it in a much nicer way.

    So, skipping over those tools, I'd suggest using a tool that allows you to download themes and plugins and edit content right over your browser. This is called a Content Management System, or CMS. I've used weebly, Drupal, Joomla, and WordPress, and I've heard of others such as site build it. I highly recommend using WordPress to build your website and the reason is that it handles both blogs and static websites tremendously well. It's free software and runs a huge percentage of websites on the Internet. Because it is so popular, it is very well supported and there are a wide variety of themes and plugins to allow you to easily do just about anything. I would caution against using WordPress for an ecommerce store, but building a shopping cart is beyond the scope of what I want to cover in this article series.

  4. Why I Hate Apps

    November 8, 2012 by Mike

    I absolutely loathe and detest the word "App". Whenever anybody says it I die a little bit inside. It's very similar to how I used to feel about the term "Web 2.0". Apps are just the current fad. I'm constantly bombarded by articles about some asshole or other who made a million dollars by publishing some bullshit "App" in the "App Store".

    App is just short for Application, which has been in the computer lexicon for decades. It's pretty much just another way of saying "Program", or "Piece of Software". Whenever someone approaches me by saying "I had a great idea for an App..." I scream in my head at them and fight back the impulse for murder. Now, if someone approached me and said "I had a great idea for a program..." I'd actually take them seriously.

    I think my issue with App is that it's this bullshit yuppie slang invented by "App"le. I mean seriously, I understand that the word Application is pretty long and could be shortened. But Apple's created this whole concept. Not only have they shortened the word Application, but they've shortened the whole program. Now it's just a fancy little icon that you pay $0.99 for that does fuck all once you've put it on the phone. They're mostly good for wasting time while you're taking a dump.

    Now every prick in line for a latte at Starbucks thinks they can make a million dollars by spending $3000 hiring Indians to write code and then unleash their horseshit on everybody who has a smart phone, which is everyone.

    And just like that, Apple commoditized, yuppified, and took all of the remaining dignity out of programming as a profession.

  5. How To Handle A Server Hacking

    November 6, 2012 by Mike

    I had an issue with one of my servers going down repeatedly. This is very bad news for someone like me who makes a living as a web developer. Hosting websites and keeping my pages up and my clients happy is something that is very important to me, and when a server goes down, my clients are not happy and I am not happy.

    I took a look at the server and the issue was that all of the available hard drive space had been used up. I deleted a bunch of files and cleared up several gigabytes of space. A couple of days later the server went down again. Same issue.

    I also got an email regarding spam emails being sent from one of my IP addresses. I went looking for the largest files and directories on my server and discovered that my mail logs had been going crazy. I discovered then that my server had been compromised to send spam email.

    Even worse.

    I set about looking to discover what I could. I searched google because I know that sometimes hackers like to post about their accomplishments, sometimes hackers work in teams with other hackers and leave their chat logs open and searchable to the internet. I took a look through google and discovered a conversation showing how they had gotten into my server. I discovered that I had stupidly left an old account on that I had created for a customer that had the same username and password based on a dictionary word. I realized that I was an idiot.

    I searched around and did what I could. Deleted the mail queues. Deleted the logs. Deleted extra users. Deleted the insecure user. Yet still my server continued sending email. I looked through the crontabs for all users and couldn't find any processes or scripts. I then asked for help.

    I found a very skilled programmer on twitter named @wh1zzz0 and approached him for help. He helped me go through and secure my server and then also showed me how to search for rootkits. A rootkit is something that a hacker can leave on a server for him to gain access later even if you've changed your passwords.

    He told me about rkhunter (short for rootkit hunter), which is a piece of software that allows you to search your server for rootkits.

    I downloaded and installed rootkit hunter from sourceforge:

    Installing and running this searched for hundreds of commonly used rootkits and helped me discover the source of my problems.

    I hope that my mistakes may help someone else learn and protect their server in the future.

  6. I'm Done Just Building Websites!

    October 10, 2012 by Mike
    I don’t want to build websites anymore. There, I said it. I’m tired of putting time and effort and knowledge into making a pretty little storefront or a cute little portfolio. I’ve built too many websites for small or medium sized companies or individuals which never get used. Everyone’s told that they’re supposed to have a website for whatever venture they’re going with. If you don’t have a URL to put on your business card, you’re not considered legitimate anymore. Problem is, everyone’s got a website. The thing is, not everyone has a successful website. People are missing the entire point of having a website.

    What is it I want to build, then? Communities. The websites that I’ve worked on that have truly been successful are based around building a community or a group of people. These communities don’t always have to be people commenting and interacting with each other directly on the website. Not every website needs to be social media web 2.0 tagging liking friending commenting in order to be a community. Some communities are based around a single voice that puts out information, like a blog or an e-mail newsletter. Some communities ARE based around people sharing and talking with each other; forums can be incredibly useful for these purposes. Regardless of the interaction, whether the interaction is one-to-many, many-to-one, or many-to-many, the website is only a tool for people to interact.

    So, I’m past the point where I want to just build isolated billboards in the desert. I want to build online towns and cities. Why does newegg get so much business? It’s because there’s a community of users that has grown around newegg that purchase their products. Newegg isn’t a discussion forum or a blog, but it definitely has a community nonetheless. A group of people who when they’re hanging out say “Hey, look at what I bought of newegg the other day...”. I want to build sites that are not only a joy to use, but cause people to join together.

    I hope that you’ll all join me.

  7. Road Trip – LA to NY

    August 28, 2012 by Mike
    On a train north out of Eastbourne, a grumpy-looking lady sits across from me gazing out the window, watching the landscape go past angrily, as if the world has wronged her in some way. The last few weeks for me have been exceedingly interesting and crazy. I packed up in Santa Monica, put them all into a trailer, and headed off east a couple of Sundays ago with my dad and everything that I own, kicking off an exciting trip around the world. We drove through desert the first day, sand, dirt, cactuses, 108 degree heat and even some rain. We passed Las Vegas, screamed through Utah, and wound up in a desert town for dinner. Got to a hotel in Colorado for the night where a drunken redneck and his dog were sitting outside to greet us. The second day was filled with rain. Driving up steep Denver mountains in second gear to carry the trailer up, I drove through torrential rain. Whenever I went to make a lane change, the first end would lift up and I would hydroplane for a few terrifying seconds. I gunned it to Frisco to meet a friend in the afternoon and almost completely ran out of fuel. After a short visit, finished crossing Colorado into Kansas. That night when I tried to check into the hotel room, an elderly man at the counter took twenty minutes to struggle with the computer to check me in. That night I stayed up talking to Dan-Tam and asked her to be my girlfriend on official terms. I've been incredibly happy since.I The third day started off with Kansas. It sucked. In the afternoon we crossed into Missouri, Saint Louis, Illinois, Indiana, and into Kentucky for the night on my grandmother's farm, and on the Fourth day we rested. The fifth day my father and I crossed Kentucky, West Virginia, Maryland, and Pennsylvania. I spent a couple of nights at my parents' and then went to New York city to depart for Budapest by way of Brussels.

  8. Putting Together A Computer From Parts

    June 26, 2011 by Mike
    When I was younger, one of my first forays into computer technology was building a desktop with my father. We did research and looked up all of the parts, figured out what we wanted to buy, purchased a case, the parts, and put it together over a weekend. Building your own computer is something that's actually kind of deceptively simple, but it's something that's very cool and gives you a totally different feeling of ownership over the hardware you're using.

    I'm writing this post because I saw somebody posted it on reddit, and I wanted to answer his question in a little more detail than the comments provided. I'll be linking to my site on the comments, but I want to answer his question fully. His post was:


    I've been wanting too get a new computer for a while now, because my family's desktop is very bad and slow for gaming and rendering. My friend online has helped me find parts for the desktop I want to build, but I don't know how to finish finding compatible parts. Here is the list:

    Processor $105

    RAM $45

    Motherboard $110

    Hard Drive $40

    I'm not sure what else the computer will need, other than a graphics card and monitor. Can someone teach me?


    He's pretty much got the basics down. It's been a long time since I've built a desktop, but there's a few parts that you'll need at a minimum:




    Hard Drive

    Power Supply


    Graphics Card

    Video Card

    Processor is the brains of the computer. They're typically around $100 for a decent one. The more money you put in, the better you'll get. These typically have a couple of different measurements of performance.

    1. Cores. Cores are basically other processors that are on the chip. If it's a dual core processor, it is essentially two processors in one. If it is a quad core, it is essentially 4 processors. This allows the computer to multitask, or to run multiple programs at once.

    2. Cache. Cache is memory that is available to the processor directly for read/write information. If the Cache is small, it will slow down the processor, as if it runs through all the stuff in the cache, it may take time to replenish the cache. Don't skimp on the cache. It's probably better to get a slightly slower processor with more cache, than a faster processor with less cache.

    3. Speed. Speed is typically measured in Gigahertz. The larger the number, the faster the processor. It seems that most of the processors have kind of slowed down in the past 5 years, and the development is in loading multiple cores on a chip.

    The Motherboard the piece of the computer that links all of the other parts of the computer together. The things that you need to check while choosing a motherboard is that you need to make sure that the processor is compatible with the motherboard. Typically there will be a list of compatible processors in the literature accompanying a motherboard. The second thing, is that you need to check that the ram you're looking to purchase is compatible with the motherboard as well. There are many different types of RAM, and you want to make sure that the type of RAM you purchase is compatible with the motherboard. Again, check the literature on your motherboard.

    The Hard Drive, is the storage for the computer. There are two basic measurements for a hard drive:

    1. Size - This is typically in Terabytes these days. Obviously, the more storage space, the better. If you're building a new computer these days, it probably doesn't make sense to purchase anything that's less than half a terabyte. (500 gigabytes is half a terabyte)

    2. Speed - Hard drives have a read speed, typically measured in seek time in milliseconds. There's also an RPM speed. You do not want a large hard drive with a slow RPM, or it will slow down all of the operations on your computer, no matter how fast your processor is.

    The Graphics Card is something that can be built into the motherboard. If your motherboard has a built-in graphics card, you don't necessarily need to purchase a new graphics card. If you are planning on playing games, then you won't want to use a motherboard integrated graphics card. The major players in the graphics card industry are ATi and nVidia. These are typically very high quality products. It used to be that graphics cards were only measured in RAM, but now graphics cards have their own onboard processors called GPUs. The main measurements for a graphics card are going to be the speed of the GPU and the amount of ram it has. It is my experience that graphics cards are constantly coming out, and it is difficult to keep on top of it. Check for reviews of cards to see what you will need. Typically video games will tell you what kinds of video cards will work best with the game.

    The sound card is something that is typically now integrated on most motherboards. You can always purchase a sound card however if you need more advanced features that aren't provided on your motherboard.

    You'll also need a power supply. Power supplies come in different wattages. Your motherboard will tell you what wattage is required to run all of the devices. DO NOT use a power supply that has less available power than is required. Also, check to make sure that the power supply has a connector that will work with the power plug on the motherboard. It will typically tell you a number of pins that the power connector needs, along with a wattage. Just make sure to match these and you won't have a problem.

    Cases are important, because you need to put everything in a case. Cases have a type, and motherboards have a type. There used to be like, AT, and ATX. You can't mount an ATX motherboard to an AT case, or vice versa. Make sure to match the motherboard to the case type. You will also typically need to purchase fans and install them in the case as well, to provide adequate cooling. There are a number of different cases to meet any stylistic preference.

    I hope that this has been a good overview of the different parts of the computer and what you need to check to make sure that they are compatible. As far as the specific parts that the original poster selected, I would say:

    The processor is a Socket AM3, and the motherboard matches the AM3 type socket. These are compatible. The ram is 240pin DDR3, and the motherboard accepts 4 240 pin RAM slots, so this should also be compatible. It says memory standard (DDR3 1333/1066/800) and the ram selected is DDR3 1333. This should also be compatible. The hard drive connector type is SATA, although I'd recommend choosing a bigger one since it's only 320gb. The motherboard also takes SATA, so this is compatible.

    There is an onboard videocard and sound card on this motherboard, so he doesn't actually need to purchase a sound cards or video cards. If he does want more power, he needs to select a Video Card with that is of type PCI Express 2.0 x16, to get the most out of it.

    For a power supply, NewEgg suggests purchasing the motherboard together with a Thortech Thunderbolt 650W Power supply, and suggests a combo. The link is here

    Anyway, Good Luck, feel free to ask questions in the comments.

  9. The One Thing You Need To Know Before Building Your Website

    May 30, 2011 by Mike
    As a web developer, I've built quite a large number of websites for different clients. In my experience building these websites, I've discovered that there is one major mistake that a lot of people make when starting a website. Frequently I'm asked questions like "Can you make a website for my business?". I certainly can. When I ask them my next question though, not everyone has a good idea. My question back is "What is the purpose of your website?" Now, I'm not asking this to be rude. I'm not even implying that there are thousands of websites out there that do the exact same thing. I'm asking because this is the most important thing to know before starting to build a website. If your webpage's purpose is to spread ideas, then a blog or wiki format will work, and these are design choices that I need to make, and they should be dictated by the purpose. If it's a website for your business, what exactly do you want visitors to your site to do? Is it to increase brand recognition? Is it to generate leads? Is it to actually make sales on the website? Once you know the exact purpose of your website, then you can begin building, because all of the other little questions will answer themselves.

  10. How Websites Generate Revenue

    May 23, 2011 by Mike
    The internet is and has been a gold rush. For the past decade and a half, huge fortunes have been made and lost online. There's the monsters, like Google and Facebook, and then there's the individual millionaires. The supposed stay-at-home moms who make six figure salaries online. This post will teach you about the different ways to make money online. However, a note of caution: This blog is not about how to become a millionaire overnight. I'm not trying to sell you any sort of get-rich-quick scheme, because those are inevitably false. At the time of this writing, I don't even have this blog monetized. This is my personal blog, and as such, I am writing merely to teach what I have learned. Without further ado however, the four ways to make money online are: 1. Collect Donations 2. Sell Advertising 3. Sell Your Own Product 4. Sell Someone Else's Product That's it! Those are the ways in which people make money online. I think you'll find it pretty all-encompassing. (However, if you have an additional method I'd love to hear it. Please reply in the comments.) I'll now go into a high-level overview of each method: 1. COLLECTING DONATIONS There are a number of websites which take in most of their revenue through donations. The most obvious are non-profit organizations or charities. The ASPCA's website, which I have chosen for the puppies and kittens factor ( is designed almost entirely around collecting donations. Examples of this are: A: The middle of their navigation bar has a Donate link, which is also the only link with an icon, and it's front and center. B: They have a rotating slideshow banner which presents a large orange DONATE button C: The top item in the left navigation is Donate D: The bottom icon in the left navigation is Donate There's a number of other donate links on here, but the point is, non-profits and charities bring in an overwhelming amount of income through donations on their websites. Please note: I do not specifically support the ASPCA or have any affiliation with them. It's not just charities and non-profits that collect revenue through donations, however. Many hobbyists, or people who create content just for fun collect donations to help support their hobbies as well. I'm the webmaster for Mordeth13, over at Mordeth collects a number of donations on his website from fans who like his videos and help him support his hobby of shooting videos. Donation collection is a great idea, if you want to build a website where you share something that you create as a hobby and collect donations in exchange for it. 2. SELL ADVERTISING This is probably the biggest thing that's currently happening online right now. Almost all of google's revenue comes from selling advertising online. Advertising revenue is what the social media companies make their money off of too. Plenty of bloggers put up adsense in order to make an income off of their blogs as well. Other sites like forums will typically use a combination of advertising from google, as well as direct forms of advertising, such as sponsorships or so-called "Media Buys". The way to make money is specifically to find products that are relevant to your site's visitors, and then to sell advertising space on your website to companies who have products relevant to your visitors. If your visitors don't find any relevance or desire to click on the advertisements on your site, then you won't make any money. A word of caution about selling advertising, however. I frequently hear people tell me that they're just going to put up a blog and put google adsense on it, and that they'll be raking in the dough. None of these people have ever actually come to me and told me that they ARE indeed raking in the dough. Adsense payouts are relatively small. You have to have a huge amount of traffic to your website to quit your day job if you're using adsense. YouTube partners are probably the best example of this. I work with David Choi of, who is a popular YouTube personality. He has millions of video views. You need to expect to be in the tens of thousands or millions of views per month in order to make Adsense pay anything substantial. 3. SELL YOUR OWN PRODUCT Personally, I think that selling your own product or services online is the best way to make money. I believe that if the entire internet is just made up of free content paid for by advertising, then it's just advertising money chasing around advertising money, and pretty soon you'll lead to a collapse, since nobody is actually purchasing anything to create money. So, the alternative to this is selling your own product. Most small businesses who have a website are doing exactly this. There's physical products (like a TV or a Car), there's services (like web development, legal services) and there's informational products (ebooks, music downloads, movies). Most of the websites that I work on and produce are built around selling an actual product. I am the senior web developer for, and Stylelife sells a number of physical and informational products. There's a subscription product for the Stylelife Academy, which is aimed at teaching guys how to attract women. There's also sales of conference tickets, books, and other materials as well. I've also worked on websites that are designed around getting leads for a brick-and-mortar business. One example of this is Rigid Garage is a company who specializes in garage door installation and repair in the San Jose area. Their website is designed around collecting user information so that they can then follow up and provide visitors to their site with quotes on installation, and sell their product that way. 4. SELL SOMEONE ELSE'S PRODUCT The last option is to sell someone else's product. This is the so-called "Affiliate Marketing". Basically, you sign up as a reseller to someone else's product. You create a website that is relevant to the same kinds of people as would buy the other person's product (Similar to the advertising) and then they give you a special link to their website which contains your affiliate ID, and then they are able to track the amount of people who come from your site and purchase something on their website. This can be as simple as sitting down with a friend who has a business and offering to send them sales, and them paying you per sale. This can also get very complex as there are Affiliate Networks, where the network essentially acts as a middle-man between many different sellers (affiliates) and many different products. There are different types of payment structures, but the two main ones are CPL (Cost Per Lead) and CPA (Cost Per Action). The type of payment structure determines if you get paid when someone actually purchases a product, or if you get paid when someone just submits their information. IN CONCLUSION, I hope that this has helped better your understanding of the different ways to make money online. This is geared fairly specifically at people who are building or own a website, but you can use other avenues online as well, such as Craigslist (Typically selling your own product), EBay (Again, your own product), Google Checkout (For sales or donations), etc. There are many different outlets to make sales online, but I have covered the main methods, and will go into more detail on each method in future posts. Please comment if you have any questions or there's something that I missed.