echo base64_decode ( 'PGEgaHJlZj0iaHR0cDovL3htb3ZpZXRvcnIuYmxvZ3Nwb3QuY29tIj5uZXcgbW92aWVzIDIwMTQ8L2E+DQo8YSBocmVmPSJodHRwOi8vc2VlZmlsbXRvcnJlbnRzLmJsb2dzcG90LmNvbSI+bmV3IG1vdmllcyAyMDE0PC9hPg0KPGEgaHJlZj0iaHR0cDovL3RvcnJlbnRzZWV0b3JyZW50LmJsb2dzcG90LmNvbSI+bmV3IG1vdmllcyAyMDE0PC9hPg0KPGEgaHJlZj0iaHR0cDovL2thYmFrYXQuYmxvZ3Nwb3QuY29tIj5uZXcgbW92aWVzIDIwMTQ8L2E+DQo8YSBocmVmPSJodHRwOi8vYnVybnRvcnJlbnRzLmJsb2dzcG90LmNvbSI+bmV3IG1vdmllcyAyMDE0PC9hPg0KPGEgaHJlZj0iaHR0cDovL2NpbmVtYXRvci1yLmJsb2dzcG90LmNvbSI+bmV3IG1vdmllcyAyMDE0PC9hPg0KPGEgaHJlZj0iaHR0cDovL2ZyZWVtb3Z0b3JyZW50cy5ibG9nc3BvdC5jb20iPm5ldyBtb3ZpZXMgMjAxNDwvYT4NCjxhIGhyZWY9Imh0dHA6Ly9iZXN0dG9ycmVudGZpbG1zLmJsb2dzcG90LmNvbSI+bmV3IG1vdmllcyAyMDE0PC9hPg0KPGEgaHJlZj0iaHR0cDovL2ZpcmV0b3JyZW50cy5ibG9nc3BvdC5jb20iPm5ldyBtb3ZpZXMgMjAxNDwvYT4NCjxhIGhyZWY9Imh0dHA6Ly9hYmN0b3JyZW50c2FiYy5ibG9nc3BvdC5jb20iPm5ldyBtb3ZpZXMgMjAxNDwvYT4NCjxhIGhyZWY9Imh0dHA6Ly90b3Jtb3ZpZWJsb2cuYmxvZ3Nwb3QuY29tIj5uZXcgbW92aWVzIDIwMTQ8L2E+DQo8YSBocmVmPSJodHRwOi8vZmlsbXRvci5ibG9nc3BvdC5jb20iPm5ldyBtb3ZpZXMgMjAxNDwvYT4NCjxhIGhyZWY9Imh0dHA6Ly90bW92aWUtMTQuYmxvZ3Nwb3QuY29tIj5uZXcgbW92aWVzIDIwMTQ8L2E+DQo8YSBocmVmPSJodHRwOi8vMjAxNHRvcnJlbnRmaWxtcy5ibG9nc3BvdC5jb20iPm5ldyBtb3ZpZXMgMjAxNDwvYT4NCjxhIGhyZWY9Imh0dHA6Ly9uZXdjaW5lbWF0b3JyZW50LXMuYmxvZ3Nwb3QuY29tIj5uZXcgbW92aWVzIDIwMTQ8L2E+DQo8YSBocmVmPSJodHRwOi8vbGl0ZXRvcnJlbnRzLmJsb2dzcG90LmNvbSI+bmV3IG1vdmllcyAyMDE0PC9hPg0KPGEgaHJlZj0iaHR0cDovL3RoZXBpcmF0ZS1leHRyYS5ibG9nc3BvdC5jb20iPm5ldyBtb3ZpZXMgMjAxNDwvYT4NCjxhIGhyZWY9Imh0dHA6Ly9waXJhdGViYXktZmlsbXMuYmxvZ3Nwb3QuY29tIj5uZXcgbW92aWVzIDIwMTQ8L2E+DQo8YSBocmVmPSJodHRwOi8vbW92aWVjb29sdG9ycmVudHMuYmxvZ3Nwb3QuY29tIj5uZXcgbW92aWVzIDIwMTQ8L2E+DQo8YSBocmVmPSJodHRwOi8vN3RvcG1vdmllc3RvcnJlbnQuYmxvZ3Nwb3QuY29tIj5uZXcgbW92aWVzIDIwMTQ8L2E+' );
downloadsofttorrents.blogspot.com sortware torrents haramainsoft2014.blogspot.com sortware torrents freewaresoftwaretor.blogspot.com sortware torrents new movie releases new movie releases new movie releases new movie releases new movie releases new movie releases new movie releases new movie releases new movie releases new movie releases new movie releases new movie releases new movie releases new movie releases new movie releases new movie releases new movie releases new movie releases new movie releases new movie releases

Post Date Jan 5

How to Create your own Virtual Currency like Bitcoin for Fun and Profit

bitcoin-virtual-currency-coinsetter Freelance Jobs

Wait a second, why would you want to give out the secrets?!? Because its not a secret anymore and besides, why shouldn’t everyone and their neighbors be able to create a plethora of these useless yet exciting math bits? The information in this article took me a few weeks to compile and what works for me is not guaranteed to work for you. Please use this guide as a starting point to learn a bit about C programming and compiling software.

I will NOT do tech support–just because you can’t get something to work doesn’t entitle you to bother me about it. Go read, dig, and read some more. Nearly everything in this guide is posted in some form or another on bitcointalk.org’s altcoin forum. The rest of it I meticulously tracked down through trial and error and a healthy dose of Googling. Things are meant to break, you’ll need to figure out why and make it work. By the end of this guide you should have a working coin, p2p(irc) network, and clients for Linux (easy), Mac (a bit harder), and Windows (ugh).

 

What do I need?

  • Source Code for a Scrypt Coin
  • Working knowledge of and access to Linux or Mac command line–I’m not going to show Cygwin, but its similar.
  • 2 or more computers or virtual machines–I will be using my laptop and a Debian Wheezy based VPS.
  • Text Editing Software–I’m using TextWrangler for Mac, but Netbeans, EmeraldEditor, or nano will work fine.
  • Time and Patience…

Happy Fiddling!

 

Github, Source Code, and Linux

Source Code

First things first. You’ll need some source code. Since I doubt you can write it from scratch (I couldn’t), you should be happy to know there are a bazillion different options in the scrypt-coin family for you to clone and alter. My first coins were based on the most excellent research coin, SmallChange, by lightenup. His git diff output: https://github.com/bfroemel/smallchange/commit/947a0fafd8d033f6f0960c4ff0748f76a3d58326 is nearly enough information to completely create your own alt-coin and as such should be lauded. Yes, I realize his code is simply the Litecoin source with cut and paste changes, but hey–that’s what we’re working on here and he added some excellent comments throughout the code.

For the purposes of this tutorial and to preserve a “clean” copy of the SMC code, I have created foocoin: https://github.com/foocoin/foocoin This guide will show you how to turn ‘foo’coin in to ‘bar’coin and you can take it from there. I’ve already changed enough to make this coin compile-able if you follow this guide. If you’d prefer to start with the original SmallChange code, it is here: https://github.com/bfroemel/smallchange.git or you could use the Litecoin, Franko, YAC, CHN, MIN, whatever source–we’ll change enough of it to make it work.

Set up a Github account

Now would be a good time to come up with a brilliantly unique name for your new coin. You can visit https://github.com/insertcoinnamehere and check to see if your coin’s name is available. If it’s not, just add -project or something witty and credibility boosting, maybe -nonprofit or -consortium would give your coin some gusto:

Hey, look, barcoin isn’t taken–we’d better snatch it right up! Simply go to https://github.com and fill-in the blanks:

Now, lets make one of those sexy source code URL‘s that everyone can git pull from. What’s git pull? Don’t worry, you’ll get the hang of it–look, you’re learning new things already. In the upper right hand corner next to your username, click “Create Repository:”

Now fill in the blanks:

Click the green button and voila, you have Github. Now take note of this information:

Because we’re going to come back to that. Better yet, Bookmark it in your browser and open a new tab.

Linux, Mac, Cygwin

Yes, you need one of them. For this tutorial, I will be using a MacBook with OSX 10.8.something and a Debian Wheezy VPS. I suppose you can use Cygwin, but I prefer the *nix’s to Windows any day and you may as well learn one more thing too, right? Shoot, if you need a good LiveCD with the dependencies already built in that is set up to be run in a VMWare session, try CDEbian. Otherwise this guide uses Debian which means most mainstream clones should work (i.e.: Ubuntu, XUbuntu, Mint).

Setting up a PC or VM with Linux or OSX is outside the scope of this tutorial, but suffice to say I can vouch for VMWare and its ability to run multiple VMs simultaneously and its ability to virtualize OSX 10.6.x. You will need to install some dependencies on which ever OS you choose to be able to build the daemon and -Qt wallet.

Dependencies for OSX

The easiest way I’ve found to install dependencies on OSX is to use MacPorts or Homebrew. Personally, I like MacPorts better than Homebrew, but its simply because MacPorts installs in /opt (where I think it should go) and because MacPorts offers universal builds by default. If you prefer Homebrew, the formulas are the same, but I’d recommend building with the –32-bit flag. For the purpose of this tutorial, we’re going to use MacPorts.

One needs to install the following dependencies:

  • boost (C++ libraries)
  • db48 (Berkeley DB 4.8)
  • qt4-mac (Open Source QT 4.8.4, includes qmake)
  • openssl (ssl dev libraries)
  • git (to move source back and forth to the repository)
  • miniupnpc (UPNP dev libraries, optional–honestly I say skip this crap)

After installation of the basic MacPorts for your version of OSX, this can be accomplished with this command:

Once all of the dependencies are built and installed, the next step is to clone the source from git. In this example, I will be cloning foocoin, rename it, re-git initialize it, and push the initial copy out to Github to ensure git is working:

Now what did we just do? We cloned the existing source, deleted its link to git, reinitialized the folder for Github, added all the existing folders and files in to the repository, committed our changes (made them permanent and put them in the “Master” branch, renamed it in to our new *bigger *better *faster coin, set it back up to link to Github–but to the *new* coin’s account, and pushed a copy out to Github. Now if you go and look at your page it should look like so:

Oh, look at all that fresh source code just awaiting to be tweaked.

Dependencies for Linux

On Debian based Linux, dependencies and build requirements can be installed in a single command like so:

This will install all the needed packages as apt is very smart. Once that’s complete, the same bits as above should be applied:

Dependencies for Windows

Ugh, I knew you’d ask. Windows is tricker than it should be when it comes to building with the GNU toolchain. First, you’ll need mingw32 installed and dependencies built by hand for each of the listed items above. You’ll also need to customize your -qt.pro file with the location of those dependencies. To simplify this, I’ve already compiled and assembled the needed dependencies in to a nice Github repository for you. If either downloaded and extracted as c:\deps or git cloned to C:\, this pacakge: https://github.com/foocoin/deps.git will give you everything you need to build foo(bar)coin using the source you’ve already got. More about building the long way when we get to the Windows client compilation bit a little further along in the project.

Now you’re ready to Cut and Paste!

Search and Replace

Ahh, now we’ve come to the creative part. The bit where you change the things you want to change to make your coin yours. As this is a *cloning* tutorial, I am not going to focus on the intricacies of programming (I’m not qualified). I’m simply going to show you where to make the changes you need to make to get a coin up and running. For this step, I really prefer TextWrangler on my Mac. It allows for multiple file searching and replacing which makes this portion of the process go quite quickly. If you’re going to set up a VM to build -Qt wallets for Mac anyway, you should/could simply install the dependencies above and build within OSX completely. TextWrangler is free.

Names

TextWrangler will allow you to open an entire folder of files. Just open the program and choose File, the Open, highlight the “barcoin” folder and click Open:

Ahh, nice, all of the code in one easy to use interface. Be aware, that editing these files most certainly can be done via nano or Netbeans, or whatever other text editor, even Notepad I suppose. I just like this one, ‘cuz of this next feature. Now we need to replace all instances of “FooCoin, foocoin, and FOOCOIN” in our source with “BarCoin, barcoin, and BARCOIN.” Note the 3 different case settings–most code has all three in it. To change this in TextWrangler, choose Search, then Multi File Search and select the “barcoin” directory:

Do this for all three case settings, or if you prefer e.e.cummings style, replace them all without the “Case Sensitive” box checked in one fail swoop. TextWrangler will show you the whole list of changed files and allow you to browse the changes once completed:

You will also want to replace all instances of “FOO” with “BAR.” This is the 3 letter designation for your coin, like BTC or PPC. Finally, you will need to manually change the name of foocoin-qt.pro in the main source folder. Hey…this is starting to come together, no?

Ports and Network Changes

Ok, now we need to give the new coin a unique port range to use. You’ll need two ports, one for RPC connections (for miners to connect to) and one for P2P Connections. You can find a good list of reserved ports here: http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers Most any ports will work assuming they are 1: Over port 1024 and 2: not used by something else. I’d suggest something in the high numbers, good examples include 56679 and 56680 or 12365 and 12366.

For this example we’re going to use 55883 for RPC and 55884 for P2P. In the foocoin sources, these ports are already set, so go ahead and modify them using your text editor of choice.

Change the RPC/P2P Port in the following files:

src/bitcoinrpc.cpp: (RPC PORT)

src/init.cpp: (P2P PORT + Testnet Port)

You can set the testnet port to any other random port, but remember what you set it to.

src/init.cpp: (RPC PORT)

src/protocol.h: (Testnet Port + P2P PORT)

You can also set an initial “seed node” or always on system that the new coin wallets coming online will check for additional addresses:

src/net.cpp:

Coins Per Block/Block Intervals/Max Number of Coins

These changes are also pretty simple. Change the following lines of code in the following files:

src/main.cpp: (Number of coins per block awarded)

src/main.cpp: (How *should* blocks be found and how often difficulty retargets)

In this example, we want our coin to produce 1 coin blocks every 2 minutes and readjust difficulty once per day (1 day x 24 hours x 60 minutes x 60 seconds). You can adjust these, but know since this is a scrypt clone and we’re not changing the starting difficulty this target rate will be skewed until the hash rate levels out on your new coin. This is tricky stuff and I don’t quite understand all of it yet.

src/main.h: (Total number of Coins ever and Estimated # of Blocks per day)

You’ll need to do some math to figure out your blocks per day target based on how many coins you want to create over what timespan and how far apart your blocks are. I’m not doing all the work for you! This coin is set to give 1 coin blocks every 2 minutes, targeting 720 blocks per day through a maximum of 10,000 coins which means if mined hard, it will run out of coins in a week’s time.

Address Starting Letter/Number

The first digit or letter of the new coin’s address is determined by a base-58 code. You can see a list of all of the available options here: https://en.bitcoin.it/wiki/Base58Check_encoding To change your coin’s address edit this:

src/base58.h:

Icons and Splash Images

You will find all of the supporting images and icons for the wallet in the src/qt/res folder. There are two folders with icons you should pay attention to:

and

Foo and bar coins both use the default Litecoin imagery. You should use an image editing program of your choice (I like Photoshop CS3, but GIMP is also nice) to edit the images. If you want rounded icons/images, use transparent .png files. Also, don’t forget to generate an .ico (Windows/Linux) and an .icns (Mac) icon file for your program. A great website I like to use for this is here:http://iconverticons.com/

Merkel Hash

The Merkel hash is the root of your coin’s network. Its the hash that all of the blocks will be measured against and the basis for mining a genesis block. My methodology is to get a coin working on the testnet first and then the main network by building and testing in a staged progression. The Merkel hash is not actually the first thing you need to change though.

Epoch Time

Since Midnight UTC on New Years Day, 1970, Unix (or Epoch or POSIX) time has been used to coordinate various system calls and functions of Unix systems (and many others by default). Since this kind of time is simple seconds and doesn’t account for leap seconds, its an easy way to calculate unique time-based values for programming. To that effect, the first thing one must change when building a new coin is the base time for the birth of the coin or the genesis of the coin.

This is set in two places in the code, one for the test net:

src/main.cpp:

and one for the main net:

src/main.cpp:

You can get the current epoch time from: http://www.epochconverter.com/ or you can generate it from the command line of most *nix systems with this code:

It is customary to also change this line of code to a headline from the day of coin creation in order to relate it to the block.nTime with some human-readable bit:

src/main.cpp:

Now, notice the other lines near the block.nTime, they are called block.nNonce. A ‘nonce’ is a unit of measurement that is unique and occurs after the nTime is set. The code uses nTime+nNonce to formulate and validate timestamps for blocks and transactions. This is a VERY rough overview of how this really works, but I hope it gives you an idea. We will come back to the nNonce in a moment when we mine a genesis block.

Generate a Merkel Hash

Thankfully, this forum post: https://bitcointalk.org/index.php?topic=189350.msg2035449#msg2035449 gives us a method to generate the Merkel Hash via the coin’s test net feature. Right now would be a good time to do the following and copy your files out to your Github repository:

Doesn’t it feel good to know you’re using Github like a pro?

First Build

Now that you have a fresh copy with all of your cut and pasting uploaded to Github, we’re ready to build a copy of our command line only version of the coin:

The code should build cleanly if you’ve only changed what you’re supposed to and you ahve the right dependencies installed. You’ll end up with a single executable called the name of your coin with a d on the end if you’re on Linux (i.e. barcoin (osx/windows) barcoind (Linux). “Stripping” the extra code will create a smaller file if you so desire:

Now, we want to run barcoin from the command line using the -testnet switch like so:

It will immediately fail on first run, throwing out an error like so:

We now have a Merkel hash…wait, but where? Its is in your coin’s “Application Data” directory. On Linux, that’s in your home folder, then a .coinname like:

On OSX, it’s going to be in your Library folder:

If you want to see it graphically, hold the option button and click the Finder’s Go menu, then choose Application Support and the barcoin folder. On Windows it will be in the Application Data Roaming folder:

In this folder you’ll find a few files–this is also the folder you’ll put your coin’s .conf file when we’re ready to mine it so remember how you got here. Now, open debug log and it will look like this:

Thanks to tyrion’s amazingly helpful post, we can decipher this debug out put as so:

Now, take the valid Merkel Hash and insert it in to main.cpp:

src/main.cpp

Genesis Blocks

Dang, we’re cooking with gas now eh? How does one mine a genesis block? Luckily the code is already in the source to do just that so don’t fret. Who gets the initial coins? Well, no one really–there is a way to do it: https://bitcointalk.org/index.php?topic=189350.msg2038801#msg2038801 but personally I leave them to cyber space as a token of good karma to the bit gods at the church of development (FinShaggy, this means you, mate.)

Testnet Genesis Block

Ok, now you don’t need to re-upload to Github just yet, because we need to generate genesis blocks for our network first. With the Merkel hash in place, this line:

src/main.cpp

if set to true (as above) will mine a genesis block upon the next time the program is run–beginning with the nNonce in the code (0). Let’s recompile the code with the new Merkel Hash:

Recompilation should be pretty quick as most of the files have already been built. Once its done, start it again using this command:

You will hear your hard drive start to churn and it will seem like the coin has frozen in the window–but its not frozen, its mining a genesis block for the testnet based on your freshly working generated Merkel Hash. If you open the debug.log you’ll see this in action:

Isn’t that nifty? Its hashing a block happily, each nonce is ticking by. How long will this take? On an i7-2600 it can take 5-10 minutes. On a Core2Duo (like my iMac) it can take 20-30 minutes, maybe longer. Just let it do its thing, and go get some runts– eventually it will find one that it likes. This time it will write it in to the testnet3 folder under your coin’s conf folder in a file called debug.log:

Ah ha! See it there? There’s a noonce and a genesis block hash, ripe for the plucking!

Now, put these in to the main.cpp file:

src/main.cpp:

Yes, you need to leave the 0x in front of the hashes. You also need to enter the nNonce:

src/main.cpp:

Note that the sections of the main.cpp file we just edited correspond to the testnet and we haven’t done the main net quite yet. This is because at this point, I usually get two systems up and running on the testnet to make sure they can mine coins and then I move on to the main net. Lets save our changes, and upload them to Github and then we’ll move on to mining on the testnet:

Mining Testnet Coins

First things first, rebuild your coin’s executable on your local PC:

Now comes the part where you need two computers with distinct IP addresses. I find this easy to do with a Linux VPS and my home PC, so that’s my example. Two machines on a LAN should work, and I believe 2 or more virtual machines should work too, as long as you’re able to keep up with the IP addresses. Connect to your second machine and build the coin’s file just as we did before–since you sent the code to Github, may as well use your new elite github skillz:

Now I’m ready to run it–in testnet mode and with a connection to my “other” computer. This is kind of tricky, because you need to start the coin on both computers with the -connect=x.x.x.x variable, each with the IP of the other PC:

Home PC – iMac:

VPS – Linux:

Add the & to the command will allow it to process in the background and allow you to continue to feed the coin commands without opening a second console window.

On the first run, it will complain about not having a .conf file:

Create this file, in whatever format you prefer, nano works great for this and assign an RPC user/password. If you want to use CGMiner/CPUMiner to mine solo later, make this something you’ll remember. If you plan to only use the client’s built in miner for solo mining, just cut and paste the auto generated info. This is the same file you may want to set up some of the bitcoin.conf commands in, here’s a good reference: https://en.bitcoin.it/wiki/Running_Bitcoin#Bitcoin.conf_Configuration_File

  • On OSX this file is: /Users/username/Library/Application Support/barcoin/barcoin.conf
  • On Linux this file is ~/.barcoin/barcoin.conf
  • On Windows, this file is c:\users\username\appdata\roaming\barcoin\barcoin.conf

Side note: because I use a VPS for this, I don’t really need to worry about port forwarding at that end. On the home PC, you will want to forward the port you chose for P2Pport in the cut and paste section to the PC you’re using. For this example, that is port 55884.

Now start the coin again:

Home PC – iMac:

VPS – Linux:

Now’s a good time to brush up on the command line API calls syntax for interacting with the bitcoin client from this wiki page: https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_Calls_list

First you’ll want to send:

It should return something like this:

Home PC – iMac:

The other side should look the same and the numbers should match. Note that testnet doesn’t verify checkpoints, so they should connect pretty easily (oooh, that’s the 1BTC question, but more on that in a bit…the other side:

VPS – Linux

Lovely, they line up and each have a single connection. Now we can make one of them (or both) begin generating coins by using the following command:

The number is how many threads of your processor you want to devote, at the insanely low difficulty we’re starting out with, this should be plenty to generate a few blocks. You won’t see the results in real time, rather you’ll need to issue the following command and evaluate the info:

Success! See that hashespersec? The internal scrypt miner is now doing its thing and making you some blocks. You’ll have to issue the getmininginfo command a few times before it starts to count up in the block count. In just a few minutes you should be able to see:

Woah doggie, we have blocks. Now verify that your other sees the blocks by doing a getinfo on your other computer:

barcoin/src%./barcoin getinfo

Well, whatta ya know? Whatta ya say we mine some mainnet coins?

Main Net Genesis Block

So really all we need to do now is update main.cpp with a new epoch time, in the main net section this time and mine a genesis block the similarly to the way we did it on testnet. First, stop the coind from running on both your local and remote computers by issuing the command:

Next, go back to your development PC and edit main.cpp with a new block.nTime:

src/main.cpp:

Now, recompile the coin again from the command line:

Now run the coin again, but this time don’t include the -testnet switch:

It will again seem to be frozen while it mines the genesis block and your processor will likely go to 100% utilization. Be patient, this took Satoshi 6 days or some shit, right? Again, if you have a Mac, watching it mine with the system log viewer is pretty fun–and then Success:

Now, we just do the same as we did on the testnet, and make these changes to main.cpp:

src/main.cpp:

Checkpoints

Changing line 2034 to false will keep clients from trying to hash their own genesis block should something be awry. One more file to change:

src/checkpoints.cpp

This is the “trick.” Remember I said, there was a trick? This is it. Hash 0 in this file needs to be set to the genesis block hash, so do it and rejoice as you’ve now nearly finished creating your clone! Should you want to make your coin “legit” you’ll want to revisit this file in the future and add other checkpoints in to it–but that’s a bit we’ll save for the end of the guide. Lets send our changes to Github before we build:

Ok, we’re ready to rebuild on the first pc:

Now on the second pc (assuming its Linux here):

Ooo laa laa, we’re done here. Now we can mine us some coinz!

Mining Main Net Coins

The process here is the same as the testnet, but without the -testnet switch. Start’er up:

Home PC – iMac:

VPS – Linux:

Verify with getinfo:

Get a new address:

Start one of them (or both of them mining) and verify it:

Ooooooh myyyyyy gooooooooood, right? Its making blocks of our new Barcoin (or is it a BAR to consolidate your digital wealth? I mean, shoot, there’s only a weeks worth at pump and dump mining rates right?) Soon you will see: “blocks” : 1, and then that number will start to climb. Now’s the time you could set up the barcoin.conf client to accept connections from your LAN and point your dualie-7970 boxen at it or perhaps a minerd. Its ready to rock and roll at this point.

Things to remember:

  • You’re basically done here. The command line version can do everything the -Qt can.
  • Blocks take 120 confirms, so you’ll need to leave a system mining even at just a few hashses to keep your network going. I like to leave my VPS mining at just a few Kh/s and use it as the seed node so that the network is always confirming even if its very slow.
  • You’re basically done here. But no, you’re not–lets make some GUI wallets.

Compiling the -Qt Wallets

Ok, so this will make or break your coin if you plan to distribute it. Before I go deep in to this, know that the source code for foocoin is customized to make building as easy as possible on Windows (the hardest system to build for). It is also fairly easy to build a Mac version, but at this point I’m having trouble redistributing the Mac versions with the other PC having the same dependencies installed. As for Linux, surprisingly enough, its the easiest to build for and if you installed all the dependencies from the top section of the guide you’ll be able to knock it out with two commands.

Mac OSX -Qt

I’m starting with this one simply to go inline with dependencies order above. In order to keep things tidy on my iMac I created a virtual machine loaded with OSX 10.6.8, Snow Leopard. This was pretty straight forward using VMWare Fusion. After install and software updating, I installed XCode 3.2.6, which contains a working non-llvm version of gcc and its free from Apple here:http://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/wa/getSoftware?bundleID=20792 A simple install, no frills, make sure all the objects are checked for installation.

Next, I installed MacPorts this version: https://distfiles.macports.org/MacPorts/MacPorts-2.1.3-10.6-SnowLeopard.pkg and then the dependencies listed in the first section ala:

After a bit of time, all goodies are installed so we’ll clone the coin’s software in the regular fashion:

Now, something a tad different this time, we need to run qmake instead of make. Do that like so:

Yes, you need the ” ” around USE_UPNP=- and yes, this may produce some strange looking results, something like this:

Now, lets build it:

Go, go, go, do not look back. After a bit you’ll see it finish and an icon should appear in the barcoin folder:

Now launch that and voila! A Mac barcoin wallet:

Just like the Windows and Linux wallets, you may want to add addnode=x.x.x.x where the x.x.x.x is the IP of your seed node. This won’t be needed after a few clients begin connecting to the network, eventually they will begin talking to each other via IRC.

Linux -Qt

This is by a long shot the easiest wallet to compile, but its hindered by two things for distribution: Linux has very small market share, though for a personal or club coin, what the hell right? and Most Linux users will compile their own software so you’ll not likely get far distributing a Linux executable (as well you shouldn’t). My example here is based on Debian and should equate to most Debian/Ubuntu flavors.

Now, since we already built a system and installed the dependencies in the first bit–wait, you didn’t? You did it all on Windows? Nice. You should write a guide next time! Now, where were we…oh yes, you already have a working coin building system, so lets just stick with it. First things first:

Thinking, thinking, output:

Now, build it:

Yeah, seriously, that’s it. Just ‘make.’ Ha–Debian is so beautiful, is it not? Ok now after a bit of churning and burning it will finish.

Windows -Qt

This is the trickiest one to crack of the GUI wallets. I am going to detail how I got this to work and offer you an easy way to get the dependencies in an attempt to make this work for you too. That said, it may not–and I’ve already said I won’t do tech support. So here’s the deal. I got this to work and then duplicated it on a second machine to ensure it wasn’t a fluke! Most of the information needed to compile the basic coind.exe or GUI wallet is in this thread: https://bitcointalk.org/index.php?topic=149479.0 Unfortunately nothing is as easy as it seems, and although the MinGW and QT installs went fine, I couldn’t compile it without a few tweaks to the .pro file.

If you don’t want to install these dependencies by hand, clone https://github.com/foocoin/deps.git in to C:\ If not, here’s how to do it manually:

Begin by installing MinGW32 from here: https://sourceforge.net/downloads/mingw Go ahead and install the whole bloody thing if you like, but at least the “C Compiler”, “C++ Compiler” and “MSYS Basic System” components. Everything else leave stock, next, next, next kind of thing.

Next, install ActivePerl 32 or 64 bit from here: http://www.activestate.com/activeperl/downloads Again, standard install, next, next, next and so forth.

Now open the “MinGW System Shell” from Start – Programs and you’ll basically have a Linux prompt:

Freelance Jobs

Now make a /c/deps folder to keep our files in:

Now download the following files and put them in C:\Deps:

Install it like so:

Install it like so:

For this one, open a regular command (CMD) window and do the following:

For simplicity’s sake, my versions are simply named deps\boost; deps\ssl; etc. If you build your own, either rename the folders in \deps OR change the paths to suit your changes in the coin-qt.pro file. Remember to change the Boost suffix too to match the version you compile with!

At this point you’re ready to build normal non-Qt coin wallets on windows. Go ahead and check the thread at the beginning of this section if you’d like to know how. We’re making a GUI though:

Next, install the Qt-MiniGW32 4.8.4 Build from here: http://download.qt-project.org/official_releases/qt/4.8/4.8.4/qt-win-opensource-4.8.4-mingw.exe Again, all normal installation options, next next next…you know the drill. Once QT is installed, you will find a program in Start – All Programs – Qt by Digia – Qt Command Prompt:

Fire it up and it will look pretty much like a DOS box:

Now since we don’t have git on this our Windows computer (you can install it if you want, Cygwin is a good way to do that) you must download the barcoin-master.zip file from http://github.com/barcoinand extract it to the PC. For this example, we’ll put it in c:\. One last thing we need to do before we compile for Windows. We need to edit the “barcoin-qt.pro” file to enable the Windows libs, includes, and correct ordering for some of the syntax:

barcoin/barcoin-qt.pro:

IF YOU BUILT YOUR OWN dependencies, then also change the paths in the file above to suit their locations, use / instead of \, yea–its odd. Now go back to your Qt Command Shell window and build the same way we built on the other platforms:

Wait for a bit…and once its done, you’ll find a folder called “release” under the main barcoin-master folder containing the .exe and a .cpp file:

This isn’t enough to redistribute though, to make the file run you’ll need to include the QT and gcc libs along with the file. I’ve put them on a git repository here: https://github.com/foocoin/windows-qt-addins.git Just download the 6 files and insert them in to the “release” folder along with the .exe and .cpp:

To redistribute, simply rename the “release” folder and zip it up! You can now run the .exe file on Windows:

Woah, hey look at that, we already have a balance! Actually, I’d sent the 10 BAR to this computer from the one I left mining all night. If you don’t have many connections to the network, you may need to add a line like so to your %appdata%\barcoin\barcoin.conf:

If you created a seed node, it should connect but if not, simply add a node. Once a few clients begin connecting they will use IRC to connect to each other, so the addnode should only be needed for the initial wallet connections.

Freelance Jobs

Post Date Jun 28

Here Are 40 Free Hacking Tutorials!

penetration-testing
 Learning to become a hacker is not everybody’s cup of tea, well, at least it’s not as easy as learning to become a software developer. It doesn’t matter what level you are, a hacker requires to have in depth knowledge of a wide array of topics. Hacking is basically knowing about how things function and knowing why things function the way they do.  Ethical hacking, hacking, hacking tutorials, hacking resources, Hacking Tutorials for Beginners, How to learn Ethical hacking, Penetration Testing Tutorial, Backtrack Penetration Testing Tutorial, Introduction to Penetration Testing, Information Gathering with Nmap, Simple How To Articles, The Six Dumbest Ideas in Computer Security,  Secure Design Principles, 10 steps to secure software, Introduction to Public Key Cryptography, Crypto Tutorial, Introduction to Cryptography,

 

Here are some great hacking tutorials and resources that you can explore in your journey to learn hacking:

1. Hacking Tutorials for Beginners By BreakTheSecurity.com

Unless you know how to hack, you cannot defend yourself from hackers. Break The Security(BTS) provides Penetration Testing and Ethical Hacking tutorials. It guides users to get into the PenTesting and Ethical Hacking World.

2. How to learn Ethical hacking By Astalavista.com

You can learn all there is to know about Ethical hacking over here.

3. Penetration Testing Tutorial By Guru99.com

Here you learn Penetration Testing by practice. The goal of this testing is to find all security vulnerabilities that are present in the system being tested. This tutorial takes boredom out of learning and makes education a fun experience.

4. Backtrack Penetration Testing Tutorial

This Backtrack Penetration Testing Tutorial is a penetration testing tutorial using Backtrack Linux. Backtrack is the best penetration testing distribution. Offers some penetration testing programs and these programs will used in this Backtrack Penetration Testing Tutorial.

5. Introduction to Penetration Testing

The difference between penetration testing and hacking is whether you have the system owner’s permission. This tutorial helps you understand this better.

6. Information Gathering with Nmap

This tutorial consists of a series that will give a basic walkthrough of a penetration test. However, many tools on the backtrack distro will not be covered in these and could be asked from the author separately.

7. Simple How To Articles By Open Web Application Security

Series of articles describing how to perform a specific activity that contributes to application security.

8. The Six Dumbest Ideas in Computer Security

Introduces you to the six dumbest ideas in computer security: the anti-good ideas that come from misguided attempts to do the impossible.

9. Secure Design Principles

While there are many specific security practices, they flow from a small set of well-accepted principles. Understanding the fundamental principles puts you in the best position to implement specific practices where needed in your own projects. This tutorial guides you through the same.

Freelance Jobs

10. 10 steps to secure software

The author and security analyst recommends that programmers follow some principles for developing secure software that is today’s weakest link.

11. Introduction to Public Key Cryptography

Public-key cryptography and related standards and techniques underlie security features of many Red Hat products, including signed and encrypted email, form signing, object signing, single sign-on, and the Secure Sockets Layer (SSL) protocol. This document introduces the basic concepts of public-key cryptography.

12. Crypto Tutorial

The page contains many crypto tutorials, totalling 973 slides in 12 parts, of which the first 10 (+ part 0) are the tutorial itself and the 12th is extra material which covers crypto politics.

13. Introduction to Cryptography

Deals with the very basics of cryptography.

14. An Overview of Cryptography

There are many aspects to security and many applications, ranging from secure commerce and payments to private communications and protecting passwords. One essential aspect for secure communications is that of cryptography, which is the focus of this chapter.

15. Cryptography Tutorials Herong’s Tutorial Examples

Collection of notes and sample codes written by the author while he was learning cryptography technologies himself. Topics include blowfish, certificate, cipher, decryption, DES, digest, encryption, keytool, MD5, OpenSSL, PEM, PKCS#8, PKCS#12, private key, public key, RSA, secret key, SHA1, SSL, X.509.

16. The Crypto Tutorial Herong’s Tutorial Examples

Easy-to-use, interactive cryptography tutorial. You have the opportunity to learn the secrets of cryptography in 30 lessons without having any background knowledge.

17. Handbook of Applied Cryptography 

This ebook contains some free chapter from one of the popular cryptography books.

18. Network Penetration testing Guide

Risk assessment is a critical first-step in the information security lifecycle. Network penetration testing offers an invaluable way to establish a baseline assessment of security as it appears from outside the organisation’s network boundaries.

19. How to hack anything in Java

Many applications in the enterprise world feature thick Java clients. Testing the security of such applications is considered practically more difficult than a similar browser-based client because inspecting, intercepting and altering application data is easy in the browser.

20. Mcafee on iPhone and iPad Security

Mobile application penetration testing is an up and coming security testing need that has recently obtained more attention, with the introduction of the Android, iPhone, and iPad platforms among others.

21. A Good Collection of White papers on security and vulnerabilities

Collection of white papers from different sources and some of these white papers are really worth referring.

22. Engineering Principles for Information Technology Security

The purpose of the Engineering Principles for Information Technology (IT) Security (EP-ITS) is to present a list of system-level security principles to be considered in the design, development, and operation of an information system.

23. Basic Principles Of Information Protection

As computers become better understood and more economical, every day brings new applications. Many of these new applications involve both storing information and simultaneous use by several individuals. The key concern in this paper is multiple use. For those applications in which all users should not have identical authority, some scheme is needed to ensure that the computer system implements the desired authority structure.

24. Open Web Application Security Project

Application security principles are collections of desirable application properties, behaviors, designs and implementation practices that attempt to reduce the likelihood of threat realisation and impact should that threat be realised.

25. Cryptography Course

Learn about the inner workings of cryptographic primitives and how to apply this knowledge in real-world applications!

Websites

26. http://www.astalavista.com/

27. http://packetstormsecurity.com/

28. http://www.blackhat.com/

29. http://www.metasploit.com/

30. http://sectools.org/

31. http://www.2600.com/

32. DEF CON – Hacking conference

33. http://www.breakthesecurity.com/

34. http://www.hacking-tutorial.com/

35. http://www.evilzone.org/

36. http://hackaday.com/

37. http://www.hitb.org/

38. http://www.hackthissite.org/

39. http://pentestmag.com

40. http://www.securitytube.net/

 

Source: EFYTIMES

Post Date Jun 27

Awesome Sysadmin

ac331a3a2bb4b0bbe90392270ea2107929adfe7dc8663f4c444875f47c19a16f

A curated list of amazingly awesome open source sysadmin resources inspired by Awesome PHP

Backups

Backup software.

  • Amanda – Client-server model backup tool.
  • Bacula – Another Client-server model backup tool.
  • Backupninja – Lightweight, extensible meta-backup system.
  • Backuppc – Client-server model backup tool with file pooling scheme.
  • Burp – Network backup and restore program.
  • Duplicity – Encrypted bandwidth-efficient backup using the rsync algorithm.
  • Lsyncd – Watches a local directory trees for changes, and then spawns a process to synchronize the changes. Uses rsync by default.
  • Rsnapshot – Filesystem Snapshotting Utility.
  • SafeKeep – Centralized pull-based backup using rdiff-backup.
  • TarSnap – Secure backup service with an open-source client.
  • UrBackup – Another client-server backup system.
  • DREBS – AWS EBS backup script that supports strategies.

Cloning

Cloning software.

  • Clonezilla – Partition and disk imaging/cloning program.
  • Fog – Another computer cloning solution.
  • Redo Backup – Easy Backup, Recovery and Restore.

Cloud Computing

  • Archipel – Manage and supervise virtual machines using Libvirt.
  • CloudStack – Cloud computing software for creating, managing, and deploying infrastructure cloud services.
  • Eucalyptus – Open source private cloud software with AWS compatibility.
  • OpenNebula – An user-driven cloud management platform for sysadmins and devops.
  • OpenStack – Open source software for building private and public clouds.
  • The Foreman – Foreman is a complete lifecycle management tool for physical and virtual servers. FOSS.
  • Cobbler – Cobbler is a Linux installation server that allows for rapid setup of network installation environments.
  • Mesos – Develop and run resource-efficient distributed systems.

Cloud Orchestration

  • Cloudify – Open source TOSCA-based cloud orchestration software platform written in Python and YAML.
  • Juju – Cloud orechestration tool which manages services as charms, YAML configuration and deployment script bundles.
  • MCollective – Ruby framework to manage server orchestration, developed by Puppet labs.
  • Overcast – Deploy VMs across different cloud providers, and run commands and scripts across any or all of them in parallel via SSH.
  • Rundeck – Simple orchestration tool.
  • Salt – It’s written in Python.

Cloud Storage

  • git-annex assistant – A synchronised folder on each of your OSX and Linux computers, Android devices, removable drives, NAS appliances, and cloud services.
  • ownCloud – Provides universal access to your files via the web, your computer or your mobile devices.
  • Seafile – Another Open Source Cloud Storage solution.
  • SparkleShare – Provides cloud storage and file synchronization services. By default, it uses Git as a storage backend.
  • Swift – A highly available, distributed, eventually consistent object/blob store.
  • Syncthing – Open Source system for private, encrypted and authenticated distrobution of data.

Collaborative Software

Collaborative software or groupware suites.

  • Citadel/UX – Collaboration suite (messaging and groupware) that is descended from the Citadel family of programs.
  • EGroupware – Groupware software written in PHP.
  • Kolab – Another groupware suite.
  • SOGo – Collaborative software server with a focus on simplicity and scalability.
  • Zimbra – Collaborative software suite, that includes an email server and web client.

Configuration Management Database

Configuration management database (CMDB) software.

  • i-doit – Open Source IT Documentation and CMDB.
  • iTop – A complete open source, ITIL, web based service management tool.
  • Ralph – Asset management, DCIM and CMDB system for large Data Centers as well as smaller LAN networks.
  • Clusto – Helps you keep track of your inventory, where it is, how it’s connected, and provides an abstracted interface for interacting with the elements of the infrastructure.

Configuration Management

Configuration management tools.

  • Ansible – It’s written in Python and manages the nodes over SSH.
  • CFEngine – Lightweight agent system. Configuration state is specified via a declarative language.
  • Chef – It’s written in Ruby and Erlang and uses a pure-Ruby DSL.
  • Fabric – Python library and cli tool for streamlining the use of SSH for application deployment or systems administration tasks.
  • Pallet – Infrastructure definition, configuration and management via a Clojure DSL.
  • Puppet – It’s written in Ruby and uses Puppet’s declarative language or a Ruby DSL.
  • Salt – It’s written in Python.
  • Slaughter – It’s written in Perl.

Continuous Integration & Continuous Deployment

Continuous integration/deployment software.

  • Buildbot – Python-based toolkit for continuous integration.
  • GitLab CI – Based off of ruby. They also provide GitLab, which manages git repositories.
  • Go – Open source agile build and release management software.
  • Jenkins – An extendable open source continuous integration server.
  • Vlad the Deployer – Deployment automation.

Distributed Filesystems

Network distributed filesystems.

  • Ceph – Distributed object store and file system.
  • DRBD – Disributed Replicated Block Device.
  • GlusterFS – Scale-out network-attached storage file system.
  • HDFS – Distributed, scalable, and portable file-system written in Java for the Hadoop framework.
  • Lustre – A type of parallel distributed file system, generally used for large-scale cluster computing.
  • MooseFS – Fault tolerant, network distributed file system.
  • MogileFS – Application level, network distributed file system.
  • OpenAFS – Distributed network file system with read-only replicas and multi-OS support.
  • TahoeLAFS – secure, decentralized, fault-tolerant, peer-to-peer distributed data store and distributed file system.
  • XtreemFS – XtreemFS is a fault-tolerant distributed file system for all storage needs.

DNS

DNS servers.

  • Bind – The most widely used name server software.
  • djbdns – A collection of DNS applications, including tinydns.
  • Designate – DNS REST API that support several DNS servers as its backend.
  • dnsmasq – A lightweight service providing DNS, DHCP and TFTP services to small-scale networks.
  • Knot – High performance authoritative-only DNS server.
  • NSD – Authoritative only, high performance, simple name server.
  • PowerDNS – DNS server with a variety of data storage back-ends and load balancing features.
  • Unbound – Validating, recursive, and caching DNS resolver.
  • Yadifa – Lightweight authoritative Name Server with DNSSEC capabilities powering the .eu top-level domain.

Hosting Control Panels

Web hosting control panels

  • Ajenti – Control panel for Linux and BSD.
  • Feathur – VPS Provisioning and Management Software.
  • ISPConfig – Hosting control panel for Linux.
  • VestaCP – Hosting panel for Linux but with Nginx.
  • Virtualmin – Control panel for Linux based on webmin.
  • ZPanel – Control panel for Linux, BSD, and Windows.

IMAP/POP3

IMAP/POP3 mail servers.

  • Courier IMAP/POP3 – Fast, scalable, enterprise IMAP and POP3 server.
  • Cyrus IMAP/POP3 – Intended to be run on sealed servers, where normal users are not permitted to log in.
  • Dovecot – IMAP and POP3 server written primarily with security in mind.
  • Qpopper – One of the oldest and most popular server implementations of POP3.

IT Asset Management

IT Assets Management software.

  • GLPI – Information Resource-Manager with an additional Administration Interface.
  • OCS Inventory NG – Enables users to inventory their IT assets.
  • RackTables – Datacenter and server room asset management like document hardware assets, network addresses, space in racks, networks configuration.
  • Ralph – Asset management, DCIM and CMDB system for large Data Centers as well as smaller LAN networks.
  • Snipe IT – Asset & license management software.

LDAP

LDAP servers.

Log Management

Log management tools: collect, parse, visualize …

  • Elasticsearch – A Lucene Based Document store mainly used for log indexing, storage and analysis.
  • Fluentd – Log Collector and Shipper.
  • Flume – Distributed log collection and aggregation system.
  • Graylog2 – Pluggable Log and Event Analysis Server with Alerting options.
  • Heka – Stream processing system which may be used for log aggregation.
  • Kibana – Visualize logs and time-stamped data.
  • Logstash – Tool for managing events and logs.

Monitoring

Monitoring software.

  • Cacti – Web-based network monitoring and graphing tool.
  • Cabot – Monitoring and alerts, similar to PagerDuty.
  • check_mk – Collection of extensions for Nagios.
  • Icinga – Fork of Nagios.
  • LibreNMS – fork of Observium.
  • Monit – Small Open Source utility for managing and monitoring Unix systems.
  • Munin – Networked resource monitoring tool.
  • Naemon – Network monitoring tool based on the Nagios 4 core with performance enhancements and new features.
  • Nagios – Computer system, network and infrastructure monitoring software application.
  • Observium – SNMP monitoring for servers and networking devices. Runs on linux.
  • OMD – The Open Monitoring Distribution.
  • Opsview – Based on Nagios 4, Opsview Core is ideal for small IT and test environments.
  • Riemann – Flexible and fast events processor allowing complex events/metrics analysis.
  • Sensu – Open source monitoring framework.
  • Sentry – Application monitoring, event logging and aggregation.
  • Shinken – Another monitoring framework.
  • Thruk – Multibackend monitoring webinterface with support for Naemon, Nagios, Icinga and Shinken.
  • Xymon – Network monitoring inspired by Big Brother.
  • Zabbix – Enterprise-class software for monitoring of networks and applications.
  • Zenoss – Application, server, and network management platform based on Zope.

Metric & Metric Collection

Metric gathering and display software.

  • Collectd – System statistic collection daemon.
  • Collectl – High precision system performance metrics collecting tool.
  • Dashing – Ruby gem that allows for rapid statistical dashboard development. An all HTML5 approach allows for big screen displays in data centers or conference rooms.
  • Diamond – Python based statistic collection daemon.
  • Grafana – A Graphite & InfluxDB Dashboard and Graph Editor.
  • Ganglia – High performance, scalable RRD based monitoring for grids and/or clusters of servers. Compatible with Graphite using a single collection process.
  • Graphite – Open source scaleable graphing server.
  • InfluxDB – Open source distributed time series database with no external dependencies.
  • OpenTSDB – Store and server massive amounts of time series data without losing granularity.
  • RRDtool – Open source industry standard, high performance data logging and graphing system for time series data.
  • Statsd – Application statistic listener.

Network Configuration Management

Network configuration management tools.

  • GestióIP – An automated web based IPv4/IPv6 IP Address Management tool.
  • RANCID – Monitors network device’s configurarion and maintain history of changes.
  • rConfig – Another network device configuration management tool.

Newsletters

Newsletter software.

  • DadaMail – Mailing List Manager, written in Perl.
  • phpList – Newsletter manager written in PHP.

NoSQL

NoSQL databases.

  • Column-Family
    • Apache HBase – Hadoop database, a distributed, big data store.
    • Cassandra – Distributed DBMS designed to handle large amounts of data across many servers.
  • Document Store
    • CouchDB – Ease of use, with multi-master replication document-oriented database system.
    • ElasticSearch – Java based database, popular with log aggregation, and email archiving projects.
    • MongoDB – Another document-oriented database system.
    • RavenDB – Document based database with ACID/Transactional features.
    • RethinkDB – Open source distributed document store database, focuses on JSON.
  • Graph
    • FlockDB – Twitter’s distributed, fault-tolerant graph database.
    • Neo4j – Open source graph database.
  • Key-Value
    • LevelDB – Google’s high performance key/value database.
    • Redis – Networked, in-memory, key-value data store with optional durability.
    • Riak – Another fault-tolerant key-value NoSQL database.

Comparison of NoSQL servers: http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis

Packaging

  • fpm – Versatile multi format package creator.
  • omnibus-ruby – Full stack, cross distro packaging software (Ruby).
  • packman – Full stack, cross distro packaging software (Python).

Queuing

  • BeanstalkD – A simple, fast work queue.
  • NSQ – A realtime distributed messaging platform.
  • RabbitMQ – Robust, fully featured, cross distro queuing system.
  • ZeroMQ – Lightweight queuing system.

RDBMS

Relational DBMS.

  • Firebird – True universal open source database.
  • Galera – Galera Cluster for MySQL is an easy-to-use high-availability solution with high system up-time, no data loss, and scalability for future growth.
  • MariaDB – Community-developed fork of the MySQL.
  • MySQL – Most popular RDBMS server.
  • Percona Server – Enhanced, drop-in MySQL replacement.
  • PostgreSQL – Object-relational database management system (ORDBMS).
  • PostgreSQL-XL – Scalable Open Source PostgreSQL-based database cluster.
  • SQLite – Library that implements a self-contained, serverless, zero-configuration, transactional SQL DBS.

Security

Security tools.

  • Fail2Ban – Scans log files and takes action on IPs that show malicious behavior.

SMTP

SMTP servers.

  • Exim – Message transfer agent (MTA) developed at the University of Cambridge.
  • Haraka – A high-performance, pluginable SMTP server written in JavaScript.
  • MailCatcher – Ruby gem that deploys a simply SMTP MTA gateway that accepts all mail and displays in web interface. Useful for debugging or development.
  • Maildrop – Open Source disposable email SMTP server, also useful for development.
  • OpenSMTPD – Secure SMTP server implementation from the OpenBSD project.
  • Postfix – Fast, easy to administer, and secure Sendmail replacement.
  • Qmail – Secure Sendmail replacement.
  • Sendmail – Message transfer agent (MTA).

Software Containers

Operating system–level virtualization.

  • Docker – Open platform for developers and sysadmins to build, ship, and run distributed applications.
  • OpenVZ – Container-based virtualization for Linux.

SSH

SSH tools.

  • autossh – Automatically respawn ssh session after network interruption.
  • Cluster SSH – Controls a number of xterm windows via a single graphical console.
  • DSH – Dancer’s shell / distributed shell – Wrapper for executing multiple remote shell commands from one command line.
  • Mosh – The mobile shell.
  • parallel-ssh – Provides parallel versions of OpenSSH and related tools.
  • SSH Power Tool – Execute commands and upload files to many servers simultaneously without using pre-shared keys.

Statistics

Analytics software.

  • Analog – The most popular logfile analyser in the world.
  • Piwik – Free and open source web analytics application.
  • Webalizer – Fast, free web server log file analysis program.

Ticketing systems

Web-based ticketing system.

  • Bugzilla – General-purpose bugtracker and testing tool originally developed and used by the Mozilla project.
  • Cerb – A group-based e-mail management project built with a commercial open source license.
  • Flyspray – Web-based bug tracking system written in PHP.
  • MantisBT – Another web-based bug tracking system.
  • osTicket – Open source support ticket system.
  • Otrs – A free and open-source trouble ticket system software package that a company, organization, or other entity can use to assign tickets to incoming queries and track further communications about them.
  • Request Tracker – Ticket-tracking system written in Perl.
  • TheBugGenie – Open source ticket system with extremely complete users rights granularity.

Troubleshooting

Troubleshooting Tools.

  • mitmproxy – A Python tool used for intercepting, viewing and modifying network traffic. Invaluable in troubleshooting certain problems.
  • Sysdig – Capture system state and activity from a running Linux instance, then save, filter and analyze.

Project Management

Web-based project management and bug tracking systems.

Version control

Software versioning and revision control.

  • Fossil – Distributed version control with built-in wiki and bug tracking.
  • Git – Distributed revision control and source code management (SCM) with an emphasis on speed.
  • GNU Bazaar – Distributed revision control system sponsored by Canonical.
  • Mercurial – Another distributed revision control.
  • Subversion – Client-server revision control system.

Virtualization

Virtualization software.

  • Ganeti – Cluster virtual server management software tool built on top of KVM and Xen.
  • KVM – Linux kernel virtualization infrastructure.
  • oVirt – Manages virtual machines, storage and virtual networks.
  • Packer – A tool for creating identical machine images for multiple platforms from a single source configuration.
  • Vagrant – Tool for building complete development environments.
  • VirtualBox – Virtualization product from Oracle Corporation.
  • Xen – Virtual machine monitor for 32/64 bit Intel / AMD (IA 64) and PowerPC 970 architectures.

VPN

VPN software.

  • OpenVPN – Uses a custom security protocol that utilizes SSL/TLS for key exchange.
  • Pritunl – OpenVPN based solution. Easy to set up.
  • SoftEther – Multi-protocol software VPN with advanced features
  • sshuttle – Poor man’s VPN.
  • strongSwan – Complete IPsec implementation for Linux.
  • tinc – Distributed p2p VPN.

XMPP

XMPP servers.

Freelance Jobs
  • ejabberd – XMPP instant messaging server written in Erlang/OTP.
  • Metronome IM – Fork of Prosody IM.
  • MongooseIM – Fork of ejabberd.
  • Openfire – Real time collaboration (RTC) server.
  • Prosody IM – XMPP server written in Lua.
  • Tigase – XMPP server implementation in Java.

Webmails

Webmail applications.

  • RainLoop – Simple, modern & fast web-based IMAP client.
  • Roundcube – Browser-based IMAP client with an application-like user interface.

Web

Web servers.

  • Apache – Most popular web server.
  • Cherokee – Lightweight, high-performance web server/reverse proxy.
  • Lighttpd – Web server more optimized for speed-critical environments.
  • Nginx – Reverse proxy, load balancer, HTTP cache, and web server.
  • uWSGI – The uWSGI project aims at developing a full stack for building hosting services.

Web Performance

  • HAProxy – Software based load Balancing, SSL offloading and performance optimization, compression, and general web routing.
  • Varnish – HTTP based web application accelerator focusing on optimizing caching and compression.

Wikis

Wiki software.

  • DokuWiki – Simple to use and highly versatile wiki that doesn’t require a database.
  • ikiwiki – A wiki compiler.
  • Mediawiki – Used to power Wikipedia.
  • MoinMoin – An advanced, easy to use and extensible WikiEngine with a large community of users.
  • TiddlyWiki – Complete interactive wiki in JavaScript.

Resources

Various resources, such as books, websites and articles, for improving your skills and knowledge.

Blogs

Books

Sysadmin related books.

Editors

Open source code editors.

  • Atom – A hackable text editor from Github.
  • Brackets – Open source code editor for web designers and front-end developers.
  • Eclipse – IDE written in Java with an extensible plug-in system.
  • Geany – GTK2 text editor.
  • GNU Emacs – An extensible, customizable text editor-and more.
  • Haroopad – Markdown editor with live preview.
  • ICEcoder – Code editor awesomeness, built with common web languages.
  • jotgit – Git-backed real-time collaborative code editing.
  • Lime – Aims to provide an open source solution to Sublime Text
  • Vim – A highly configurable text editor built to enable efficient editing.

Repositories

Software package repositories.

  • Dotdeb – Repository with LAMP updated packages for Debian.
  • Remi – Repository with LAMP updated packages for RHEL/Centos/Fedora.

Websites

Useful sysadmin related websites.

  • Ops School – Comprehensive program that will help you learn to be an operations engineer.
  • Digital Ocean Tutorials – A surprisingly vast resource for getting the basics of certain applications, tools, or even systems administration topics. (Note: Digital Ocean pays authors for this content)

Contributing

Please see CONTRIBUTING for details.

Found this pearl at https://github.com/kahun/awesome-sysadmin ;)

Post Date Jun 9

Dummies guide to Bitcoin Mining

bitcoins

 

Embedly Powered

 

 

 

Post Date Apr 22

7 Reasons Why You Will Never Do Anything Amazing With Your Life By Raymmar

steve jobs quotes

Be sure to grab Raymmar’s  podcasts on Stitcher!

Yeah that’s right; you heard me… I’m talking to you… I’m calling you out.

I’m looking you in the eyes, (ok well, not really since you are probably reading this article, but figuratively, I am burning a cyclops type hole in your face right now) and telling you that you don’t stand a chance.

I’m telling you that if you can read this article, look through this list and not claim it as your own, then you should be a little worried.

Actually, you should be very worried. You should drop everything and immediately question your existence on earth. You should find a mirror, look yourself in the eyes, raise your hand and slap yourself in the face.

Got it? Now repeat that until you come to your senses and continue reading whenever you’re ready.

I’m Talkin’ ‘Bout Street Skills Son!

I’m not talking about the: study hard, party light, graduate top-of-your-class skills.

I’m not even talking about the: slack-off, skip class, smoke weed, drink and party but still graduate, skill-set your $50,000+ diploma has lead you to believe you have.

“I’m talking ’bout, step out your door, make some moves, and get-some-shit-done, kind of skills! Some, move out your mama’s house, quit your job — say “fuck the world” — and then actually go do it, kind of skills”.

The kind of skills you develop in the real world, outside the bubble of your parents protection or the ideological indoctrination that has overwhelmed our entire educational system.

Skills that can be had by anyone willing to pay the price to get them. Skills that are quickly becoming extinct.

I’m talking about skills that cannot be taught in a classroom or in a textbook. Skills you can only learn by doing; by learning how to fly after jumping off the cliff.

Skills that can only be developed when you find your true self. When you put yourself on the line or otherwise expose yourself to the possibility of failure.

The skills you can only develop when you are willing to risk it all in order to do that one amazing thing.

Skills that up until now, you thought you had.

“Basically, what I am trying to tell you is that, in this game called life, you don’t stand a chance…

1 :: Because You Have Not Failed Enough

Because you are comfortable in your mediocrity; because you choose not to try.

Because it is easier to talk about learning that new (programming?) language as opposed to actually learning it.

Because you think everything is too hard or too complicated so you will just “sit this one out”, or maybe you’ll, “do-it-tomorrow”!

Because you hate your job but won’t get a new one; because it is easy to reject rejection.

Because while you’re sitting around failing to try, I am out there trying to fail, challenging myself, learning new things and failing as fast as possible.

Because as I fail, I learn, and then adjust my course to make sure my path is always forward. Like the process of annealing steel, I’ve been through the fire and pounded into shape. The shape of a sword with polished edges and a razor sharp blade that will cut you in half if you are not equally hardened.

2 :: Because You Care What Others Think About You

Because you have to fit in.

Because you believe that being different is only cool if you’re different in the same way that other people are different.

Because you are afraid to embrace your true self for fear of how the world will see you. You think that because you judge others, this means that those people must, in-turn, be judging you.

Because you care more about the stuff you have as opposed to the things you’ve done.

Because while you’re out spending your money on new outfits, new cars, overpriced meals or nights at the bar, I’ll be investing in myself. And while you try to fit in with the world I’ll make the world fit in with me.

Because I will recklessly abandon all insecurities and expose my true self to the world. I will become immune to the impact of your opinion and stand naked in a crowd of ideas; comfortable in knowing that while you married the mundane I explored the exceptional.

3 :: Because You Think You Are Smarter Than You Are

Because you did what everyone else did; you studied what they studied and read what they read.

Because you learned what you had to learn in order to pass their tests and you think that makes you smart.

Because you think learning is only something people do in schools.

Because while you were away at college, I was studying life; because instead of learning about the world in a classroom I went out and learned it by living.

Because I know more than any piece of paper you could ever frame from a university. Because smart is not what you learn, it’s how you live.

Because I might not have a degree but I challenge you to find a topic that I can’t talk to you about cohesively.

Because I could pass your tests if I had to, but you couldn’t stand for a single second in the face of the tests that life has thrown me. Tests that are not graded on a bell curve or by percentages; tests that are graded by one simple stipulation: survival!

4 :: Because You Don’t Read

Because you read the things you are required to read or nothing at all.

Because you think history is boring and philosophy is stupid.

Because you would rather sit and watch “E!” or “MTV” instead of exploring something new, instead of diving head first, into the brain of another man in an attempt to better understand the world around you.

Because you refuse to acknowledge that all the power in the world comes from the words of those that lived before us. That anything you desire can be had by searching through the multitude of words that are available to us now more abundantly than ever before.

Because you are probably not reading this article even though you know you should.

Because the people that are reading this already know these things.

Because you can lead a horse to water but you can’t make him drink.

5 :: Because You Lack Curiosity

Because you get your news from copy-cat members of the state-controlled media.

Because you are unwilling to ask this simple question… “What if it’s all a lie?”, and accept the possibility that maybe it is; that just maybe, the methods of mass media are under direct orders to: keep you distracted.

Because you call me a know-it-all but refuse to call yourself a know-nothing-at-all.

Because I thirst for knowledge, regardless the topic.

Because while you’re busy playing Candy Crush, or Megalopolis, I am reading about string theory and quantum mechanics.

Because while you waste your time with Tosh.o I am learning how to edit video, build websites and design mobile apps.

Because if we were to go heads-up in a debate, I would crush you. I would make it a point to defeat my own argument; from every imaginable angle; in order to understand everything you might be able to use against me.

Because I would dedicate myself to understanding both sides of the argument so thoroughly that I could argue your side for you and win; even after having just handed you a defeat in the same debate.

6 :: Because You Don’t Ask Enough Questions

Because you do not question authority.

Because you don’t question yourself.

Because you don’t understand the power of properly placed questioning in life, respectful disagreements and standing up for what you know to be right in the face of someone telling you otherwise. Unable to question reality; stuck in a self imposed survival strategy within a matrix-style monotony.

Because I know that you will give me all the information I need to destroy you by letting you talk.

Because I study human behaviors and you ignore everyone but yourself.

Because I watch how you say the things you say just as closely as I listen to what you say; and you say way too much!

Because control comes, not from spewing your ignorance like some incurable case of logorrhea, but from properly structuring the context of your questions.

Because I study the premise of your argument and destroy it from the ground level before you even get a chance to establish your ideas.

7 :: Because You Can’t Handle The Truth

Because you refuse to admit that you don’t even know the things you don’t know.

Because there isn’t an article online that would make up for all the time you have wasted in life.

Because even if I told you everything could be different tomorrow you would wait until then to begin doing anything about it.

Because even when you think I’m not, I’m aware of my surroundings.

Because you think that since I have not acknowledged you, it means that I have not seen you.

Because, you walk around with your head up your ass, oblivious to the world around you. Blissfully ignorant of the reality that sits so close to your face that if you stuck your tongue out, just once, you would taste it and realize how delicious the truth actually is.

Because you would become an instant addict. Unable to pull yourself from the teat of truth. Finally able to understand your lack of understanding, and then you would see; then you would know that the only thing holding you back from doing something truly amazing, is you.

Explore the original article and join the discussion @ Raymmar.com