Megcoin Mining and Setup Guide

This was authored by billotronic on bitcointalk/IRC

Register with a pool. For this example we are going to use RapidHash http://coins.rapidhash.net/

Windows

Currently only x64 Windows is supported

  • Download miner http://earlz.net/static/megcpuminer_win32.zip
  • Unzip and enter the dir
  • Next, create a new text document and open it for editing
  • Enter the following: minerd.exe -o stratum+tcp://coins.rapidhash.net:6000 -u YOUR_MEG_ADDRESS -p anything
  • If you do not want to use all available cores add "-t X" where X is the number of cores to be used.
  • save as miner.bat (or whatever suits your fancy as long as the file extension is .bat)
  • Double click on your created .bat file and start mining

*nix

Assuming *buntu 12.04 though these packages should be in your repo if using a current version Debian derivative.

First, install dependencies:

sudo apt-get update
sudo  apt-get install git build-essential libcurl4-openssl-dev screen automake make -y

Get source:

git clone https://bitbucket.org/earlz/megcpuminer

Build:

cd megcpuminer
chmod a+x autogen.sh @@@ is this needed?
./autogen.sh
./configure CFLAGS="-O3 -march=native"
make

Start the miner:

screen ./minerd -o stratum+tcp://coins.rapidhash.net:6000 -u YOUR_MEG_ADDRESS -p anything

If you do not want to use all available cores add "-t X" where X is the number of cores to be used.

LINK: Install miner and mine script http://pastebin.com/4F6MZysy CHANGE MEG ADDRESS

Slicify

Shameless referal link: https://secure.slicify.com/Sellers.aspx?ref=billotronic

Create account and add some funds.

Go to scripts and create a new script

Add this:

NOTE: Change script to YOUR MEG ADDRESS!!!
sudo tsocks apt-get update
sudo tsocks apt-get install git -y
tsocks git clone https://bitbucket.org/earlz/megcpuminer
sudo tsocks apt-get install build-essential libcurl4-openssl-dev automake make -y
cd megcpuminer
chmod a+x autogen.sh
./autogen.sh
./configure CFLAGS="-O3"
out="nproc"
make
tsocks ./minerd -o stratum+tcp://coins.rapidhash.net:6000 -u YOUR_MEG_ADDRESS -p anything

Then save.

Now go to Buy Compute and add your bid requirements. I recommend setting the minimum RAM to at least 1024. Anything less was giving compilation errors from running out of RAM.

To ensure proper script execution, go to Access Machines --> Script Output and a window will open up showing the console output of your VPS instance. The script will take a few minutes to fully run (sometimes much longer depending on the VPS you rent) so be patient and keep checking till you see the miner hashing

Example: [2014-05-10 01:07:37] accepted: 174/174 (100.00%), 143.74 khash/s (yay!!!)

Megcoin Wallet Guide

*buntu 12.04 & qt4

First install dependencies:

sudo apt-get update
sudo apt-get install build-essential libtool autotools-dev autoconf libssl-dev  libboost-all-dev libdb5.1++-dev libqt4-dev libprotobuf-dev protobuf-compiler git libqrencode-dev libminiupnpc-dev -y

Get the source:

git clone https://github.com/megcoin/megcoin.git

Build the client:

cd megcoin
./autogen.sh
./configure --with-gui=qt4 
make USE_UPNP=1 USE_IPV6=1 USE_QRCODE=1
sudo make install

To launch:

megcoin-qt

Install script: http://pastebin.com/tQURyL0b

*buntu 14.04 & qt5

First install dependencies:

sudo  apt-get install git build-essential libssl-dev libdb5.1++-dev  libboost-all-dev libqrencode-dev libminiupnpc-dev libqt5core5a  autotools-dev autoconf qttools5-dev-tools qttools5-dev  libqt5dbus5  libqt5gui5 libprotobuf-dev protobuf-compiler -y

Get the source:

git clone https://github.com/megcoin/megcoin.git

Build the client:

cd megcoin
./autogen.sh
./configure --with-gui=qt5
make USE_UPNP=1 USE_IPV6=1 USE_QRCODE=1
sudo make install

To launch

megcoin-qt

Install script: http://pastebin.com/0NKcEDcf

Tags: megcoin
Posted: 5/10/2014 6:58:34 AM

Cryptographic proofs

The following is signed:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512


I hereby claim:

1. I own earlz.net and lastyearswishes.com as the website and domain.
2. I am earlz (https://keybase.io/earlz) on keybase.
3. I have a public key whose fingerprint is C114 6A0D 6250 CAEA E3C7  5516 224E 8EA1 9223 B76D

And finally, I am proving ownership of this website by posting this here. 
-----BEGIN PGP SIGNATURE-----
Version: Keybase OpenPGP JS 0.0.1
Comment: https://keybase.io/crypto

wsFcBAABCgAGBQJTKK4+AAoJEAKXMK2l7Ra+Rh8QAIZ+zHPE1Py8+PMGSWb3+DHq
9enNKVSoUVdQXXeJLUEIZeEpbrsJckJ9E/zm45MfZb1b4eBxeuqmPB0JTYfIEW7S
31g9QpWctZjpuJtu84FXFbGIjO3rckJigLHdp/ER4ffq6N2F7V2YQ85elOCKX5+H
w/6mGj/Sv98LfYWgjsLzQdFfiUF1CNYLQqjZaDf6sIa3CKDBXhxJJxyY7Rn0ottL
WJoALvMnH2+IjU9E3mRNjLVZge/VKXsfbyNB/5I21Su7D15wBv6Wcy0/00jH51k9
9VG7+BD91FCmqaGGkEINH8J1ewCDZRnZ1d/1pPXXHojq5IuHVBeWQJIz+T5NunLu
QeSdNc1IFq85zSoELjA6aGa4aFAlPQKA5Gx271tVqI6ymQtdYNPqQUJEb0cc9S/Q
EBMr0qDbrgZw6W7xMVF2HsihWRAMYP/zILbW45cNaybpEqNz01qxqBycMrADpNSl
b6Z6sqv/DkOx1PlMjyh27oRpMn6wtD6fm70u/IENZado//U/7uaeWck5RRuM2R+c
lJD4uyavOTAdNOSq1fy3fNAyiqiMK7fcNwT5JtNporU3364JOMhqutCK84KZtUJ9
bDzX6qKLcakW8NCJDDeqCeyHStXAvui3MEHtsa5FS396oANoqSDvG31KUZas0DaK
h6hIuIcDa/ysVrGsTlOe
=SLD/
-----END PGP SIGNATURE-----

My publicly-auditable identity:

https://keybase.io/earlz

From the command line:

Consider the keybase command line program.

# look me up
keybase id earlz

# encrypt a message to me
keybase encrypt earlz -m 'a secret message...'

# ...and more...

Dogecoin address ownership verification

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

The Dogecoin address DTe6ymUDiTNaLEe4qBNyLzZyMUnEgLTRnT is owned by Earlz, who also owns earlz.net and has a publicly-auditable identity at https://keybase.io/earlz

Signature: IIiNwuV3rp5yhDo5WzPymlO7ARBHZj9J25eUDKflbg+WfsOozULFk+fptsxLj5G0jHG3+2Ww5SpkLIP6DNJZirM=
-----BEGIN PGP SIGNATURE-----
Version: Keybase OpenPGP JS 0.0.1
Comment: https://keybase.io/crypto

wsFcBAABCgAGBQJTKLBwAAoJEAKXMK2l7Ra+DfgP/ixBsxmlbIzYu4f0CpA+RqOO
aRshfnThj51JrQuK3HsDiCaTa/2D1+M3Z33tuDZyhSrKJuC82POoDNjOdrC5gB+o
n3XCTfz9ztmS3pffFQhvPGJpTG5azV+yKZrt9QdeLEoHYCdYWyyikaCD698zbryb
E3LAITyRdjLYOV//0EEPej9B1geOGK95XWs3I3XJhjrWbWKlVrwegNT+T5fuFVQr
T0UWfuvBBB+Hd/9f+civPwq2/t3Z44m2PRkiJVCXYQSB6MoorvCCYwh5BRkrhm51
xYItxGdRShHtUTb//tHbmvuwaD341vq8T1+KN3BgUU4Owb72zs877stEdznJW5bG
hHUCcenX0Y2GCXBqJq2H1MN5KRC6LNO31jB2W/+wUrhanEPOYSLyzU67zZ5vMFH+
vGZ+jutfhnouBYkLn1qHloARvrFI9i5cBZxlucVub0NJwqLKP/miDQCsNrf7DYMI
cpBy2PqQAGBe8S5HJxA5eO4+dR6P7cfwGw1ulqATVHG2ID1XaoaNcaiyRwXxPPFn
Gu3yH5FDdm5PSc/F7U5HLLVbnrL7fX56vFEuxcbCuanQbzYjT9wuvHjXS5Jt5Tvv
4tO0LLtTc/q/ao1xqsJ+aX/GzSaHovOqpOAuNBm5NquMDVVHX1YRQ03a2JqM8tuL
McwhRLHpsgHZJytmadJc
=I8VV
-----END PGP SIGNATURE-----
Posted: 3/18/2014 8:51:01 PM

I'm learning Rust so I can move away from C#

So, I've been learning Rust recently. It's been a huge breath of fresh air for me. It's basically everything I've ever wanted in a community and programming language.. But wait, C# is pretty cool too... Well, let's take a step into why I find Rust to be so refreshing, despite me loving C#.

Linux as a first class citizen

Rust is supported on Linux as a first class citizen. This is in stark difference to .NET, where Mono seems to be the red headed step child. I love Mono. This website is running Mono. No matter how awesome Mono is though, it can never shake off the fact that .NET and C# is primarily driven by Microsoft, who would be glad if every copy of the source code of Linux was lost.

Xamarin is now the official steward of Mono. They seem to be much more focused on ensuring that their proprietary Mono support on Android and iOS continues to be awesome (which it is). It seems like the only advancement to Mono happens only because it happens to work on every platform.

Rust has financial backing from Mozilla. Mozilla has always struck me as one of those "good" companies. Some people would say this about Google, but I don't think making people into ads without consent is not evil. Mozilla has always been good about open sourcing nearly everything they do. And they do it under permissive licenses! The whole of Rust is under Apache/MIT license. Meanwhile, Microsoft is busy making sure that their licenses say can't be "run on a platform other than the Windows platform;"

Open Design. Open Community.

I joined the #rust IRC channel. I was quite shocked at how active it was. And how much discussion about the direction of the language itself happens on there. Again, this is the exact opposite of .NET and C#. Basically what happens with C# is Microsoft goes behind closed doors, tries to find things that need to be easier, and then when the next version of Visual Studio is due to come out, unleashes these changes on us. If we don't like the changes, that's too bad. Now, honestly, I must say that most of these changes are not necessarily bad. It's more the principal of the matter. It's like if C# was your wife (or husband) and your family had saved up money for three years to get a new car, and then C# went shopping with her ex from high school (Microsoft) and brought home a scooter and a gas guzzling Hummer. It's not that either one aren't useful in some circumstances, but that money (ie, time) could've been better used on something else.

And that's not even to mention the fact that Microsoft decided to send home with C# a mutt dog that shits on everything(ie, WinRT support in .NET). I for one do not like the direction Microsoft is taking .NET. In fact, with WinRT it looks like the Windows division had a secret plan to try to make .NET suck as much as possible. Obviously they want us to all be using C++, because all their advancement happened there.. oh and now C# can interface to C++ code easier... so you can port your existing C# code to C++. It seems like Microsoft is actively trying to prevent me from writing for their platform even. Sometimes I think they'd be happier if all the developers just went away and let them focus on making Word suck more.

Now, this rant has a point. Rust isn't like this. If I don't like a feature, I can talk about it in IRC.. and here is the amazing part, people will actually listen. Sure, the writers of C# and such hang out on Stackoverflow and answer design questions and such, but it's not like Microsoft is asking the community "well, what do you want?".. because if they had, then WPF probably wouldn't be dead in the water. But I digress.

Most of the stuff Microsoft develops that is open source, they don't really accept contributions to either. Recently (last year) they finally started accepting pull requests and doing development openly in ASP.NET MVC though. So, they're starting to move toward the right direction, but I won't be happy until .NET framework is completely open source.

Embrace the magic. Screw the magic.

There are two kinds of developers. The ones that prefer magic, and the ones that don't. I explicitly abhor magic in most cases. This is why I don't use ASP.NET MVC. Magic is the life blood of it!

Now, what do I consider magic?

  1. Strings that somehow get translated to significant method or type names at runtime
  2. Using reflection to call certain hard-coded method names (that aren't part of an interface)
  3. Using attributes to define essential behavior.

I can hear the yells now. "Convention over configuration!" No, fuck your conventions. I want compiler errors, not runtime or logic errors.

Example, here is how to configure a route in ASP.NET MVC:

routes.MapRoute(
  "Default", // Route name
  "{controller}/{action}/{id}", // URL with parameters
  new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);

Hmm, let's count the number of ways we could mess this up. Well, we might screw up the super magic names of "Home" or "Index". I think that the anonymous object's fields of controller and action are also significant. I don't know ASP.NET MVC. Personally, with something like intellisense at Microsoft's disposal, I don't understand why they chose such a dynamically typed way of doing this.

Magic isn't as bad in dynamically typed languages at least, because magic doesn't make you lose as much as in a statically typed language. This is why I'm not going to mention something like Ruby. I actually enjoy writing Ruby. When they do magic, I'm not losing the entire benefit of using a compiled and statically typed language. Instead, I'm just losing an easy understanding of how things work.

Rust, on the other hand, is designed from the very start that compiler errors should be given for everything that is probably wrong. They have an enormous focus on compile-time safety. They track your pointers and ensure a null pointer will never happen. Sometimes things are impossible to represent in this safe environment, so they also provide the unsafe keyword. The whole community seems to be chanting "compiler errors, not runtime errors". And for good reason. Compilers are powerful tools! They should verify that code will do what it is suppose to, not just spit out machine code

Just use Visual Studio. Oh, you're on Linux?

C# was never designed to be written outside of Visual Studio. With it's long names, magical code generation (in some projects), and official tool support for only MSBuild, it makes a lot of assumptions. This would be fine if Visual Studio worked on Linux, but it doesn't. The only choice for Linux is Xamarin Studio, or some crufty combination of Makefiles, MSBuild(for interop with Visual Studio), and a bit of insanity. And if you've never had the pleasure of using Xamarin Studio, let me just tell you first hand. IT SUCKS. It can get you through in a pinch, but in general, it sucks really bad. Apparently it doesn't use MSBuild natively, which causes interesting behavior sometimes. The UI doesn't obey themes properly, leading to a very ugly editor in my case. VI-mode is a running joke; and finally, it's #1 feature is that restarting it will fx it when it freezes.

Well, Xamarin is maintaining it, maybe it works better for their official platforms (Windows or Mac OSX).. erhm.. no, it doesn't. It sucks equally as bad there. The strange thing is that when it was MonoDevelop, it didn't suck quite as bad. I mean, the UI was a bit uglier (but did work properly with themes), it didn't support the new stuff like portable class libraries, and it was still pretty bad.. but I actually did not mind using it exclusively. It usually was good enough for me to not constantly be annoyed. Xamarin changing it into XamarinStudio was the worst thing that ever happened to it.

Rust, on the other hand, does not have an ulterior motive to drive the sales of a text editor. It's very easy to type, and very easy to use with many tools. I'm not going to say makefiles are perfect, but at least they work everywhere. Rust seems to follows the C style convention of keep names as short as possibly readable. (but you won't see names like atoi in rust, because the designers aren't Satan). I've been using Kate (due to it's awesome vi-mode) for Rust development. I constantly have to look at references because I'm still learning, but in general you seem to type less than C#. I do miss intellisense, though. It's a very useful feature when you're discovering methods and such of an object.

It's like C, except it's from this decade

Honestly, I've never had a big problem with writing C. I love the simplicity and the pure understanding I can have of the code I write. Also, it's nice to see a Linux-first platform. But I can't stand the cruft of actually trying to get things done in C. Function prototypes, preprocessor includes, no assistance with memory management... ugh. This is what makes Rust so awesome. It's like C, except for with all the cruft fixed, and with a few other awesome things added like closures and green threads. You can even use rust to write an OS kernel with just a bit of added assembly. Try doing that with C#..

Other languages?

To be fair, I did look at other languages. Some of these languages looked cool, but just didn't quite mesh with me like Rust did.

  • Go -- lacks generics and I don't enjoy some of the design decisions
  • Crystal-lang -- I actually looked at this and wanted to use it, but I couldn't get it to work and the community seemed rather lack luster.. and the language/compiler lacks an open source license
  • Something crazy and functional -- I've tried some functional languages.. they're pretty cool, but just not what I wanted right now

My dream of a language almost perfectly coincides with Rust

  • Compiles to native (no runtime)
  • Compiler errors, not runtime errors
  • Strong type system with duck typing
  • Has a strong generic type system
  • Generally embraces my "no magic" life style
  • Linux as a first class citizen
  • Could semi-easily replace C as a systems language

As you can see, Rust fits the bill pretty well. It's not perfect, no language is.. but it's the best I've seen yet

What now?

Well, I'm going to continue learning and using Rust. And I'll continue using C#, because it's what brings home the bacon.. but all of my open source effort will be toward Rust. Rust has a community I believe in and their ideals are something I can agree with. Some people like magic mixed with their static typing, and that's ok. Some people don't care at all about Linux support, and that's ok. I'll be over here though, using Rust, chanting "compiler errors not runtime errors" and using Kate on Arch Linux :)

So far, I'm working on learning Rust by trying to write something like my LucidMVC project, but in Rust, dubbed RustyMVC.

Posted: 10/12/2013 6:12:17 PM

Why I won't be using Microsoft.Bcl.Immutable package (despite much anticipation)

Looking at the newly released ImmutableCollection package, I see some confusing restrictions in it's licensing agreement (especially for something that must be redistributed with your application)

You may not ... work around any technical limitations in the software;

Does this mean it's illegal to use reflection to get at private bits of the library?

You may not ... use the software for commercial software hosting services.

This sounds quite scary. Does this mean I couldn't make a commercial website or SAS product using this library?

You may not ... modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An Excluded License is one that requires, as a condition of use, modification or distribution, that the code be disclosed or distributed in source code form; or others have the right to modify it.

Does this mean I can't use GPL licensed code with this library?

You may not ... distribute Distributable Code to run on a platform other than the Windows platform;

This looks rather obvious, but does this mean I couldn't make a website that ran on Mono and used this library, or does it only mean that I couldn't make something using Mono and then package the program and this library in a Linux debian package or something else? (ie, distribute, not just run)

This license worries me greatly about my ability to use this (much anticipated) library. These questions probably require a lawyer to fully resolve, and I'm not going to buy the time to ask one.. so, I just won't be using this library, as cool as it looks and as much as this has been anticipated for me.

Unless you have a legal team you can ask these questions, I wouldn't use this library either until Microsoft changes the license to something less hostile to developers

Also, if you want a version of this with a sane license, see the up and coming MIT-Licensed Project

Posted: 9/26/2013 4:18:27 PM

Xamarin Android... is awesome

So, I recently found that Xamarin Android completely allows dynamic loading of assemblies.. and everything somehow seems to work properly.

Purely awesome. Try it out yourself:

                var wc = new WebClient();
                var bytes = wc.DownloadData("http://earlz.net/static/xamx/reftest.dll");
                var asm = Assembly.Load(bytes);
                Type type = asm.GetType("DynamicAsm.DynClass");
                var obj = Activator.CreateInstance(type);
                var res = (string)type.InvokeMember("Test",
                                  BindingFlags.Default | BindingFlags.InvokeMethod,
                                  null,
                                  obj,
                                  new object[] { count++ });
                button.Text = string.Format(res);

Despite Xamarin Studio and most of the things around it being buggy, the actual APIs are rock solid and awesome.

Posted: 9/16/2013 2:35:17 AM

Crazy New Site Design

So, I've been working on some changes recently on my website and I finally decided to pull the trigger on releasing them. If you liked the old layout better or you see visual problems with this layout in your browser, feel free to tell me in the comments.

I think this is a good direction for the layout to be going, what with the new "flat everything" trend. I personally like it better because I have substantially reduced the amount of code in my style sheet.

Also, I feel like this design is a bit better at focusing on the content and not the layout. I know there are some rough edges here and there, but I'll be trying to improve it more as time goes by.

Posted: 9/2/2013 8:32:18 PM

Xamarin Android/Studio Bugs

Writing these down as I encounter them:

  1. If you have a .userprefs file, it will almost always freeze upon startup. Fix is to delete it
  2. Licensing is broken unless you're running as Xamarin Studio as an administrator
  3. If you have a space before the first tag(but after the ?xml bit) you'll get an exception thrown upon saving which appears to prevent saving...sometimes
  4. VI-mode is a long running joke. Instead of working, it just rickrolls you

All on Windows 8 64-bit

Posted: 8/6/2013 1:48:19 AM

NVG510 Fixer -- An Android Application

App was pulled from Google Play. The app violated Google's ToS out right, so there's nothing I can really do to appeal it and get it listed again. So, I'm making it free for everyone to download and side-load on their android device.

Download it here: http://earlz.net/static/com.earlz.nvg510fixer.v2.2.apk Eventually I intend to release the source code under an open source license, but I must first clean it up some.

I was selling it for $3 on Google Play, so if this app helps you, consider donating. My paypal address is earlz -at- earlz dot net. My Bitcoin address is 178DgR2aZcHeYHhXZwtvcJ5RD13Y6YMQBf, or my Dogecoin address is DLY7Vh8oDYLRxQLFAg2PruA15zFMRqoXGu.

I get a lot of people coming to this site every day for fixing problems with the AT&T U-Verse NVG510 modem. I found the information to fix the common problems and root it. However, the procedure for fixing this is a bit technical. So, I made the Android application NVG510 Fixer. An Android application makes it a lot easier for you, but I also get to make a tiny bit of money along the way (have I mentioned there is a baby on the way!?)

First off, make sure the IP address of your modem is correct. If you don't know what an "IP Address" is, don't worry about it. This should only be different if you explicitly set it differently (which there is no reason to do)

Second, you'll need to enter in the password to the device. This should be written on a sticker on the modem labeled "Device Access Code". It should be a 10 digit number. Type that in.

What these buttons do

Now, you have a few different options:

  1. Enable Telnet -- If you know what this is, you may be interested in it (It'll be on port 23)
  2. Disable Telnet -- Everything here will enable telnet. It shouldn't be terribly dangerous to turn on since it's password protected, but if you're paranoid about security, you can disable it afterwards
  3. Fix Redirect -- This is the infamous "Potential Connection Issue" or /cgi-bin/redirect.ha problem that hijacks other websites and is extremely annoying. Click this button and you'll never see that page again(note: you may have to restart your computer/browser if you are currently seeing it)
  4. Enable UPnP -- If you're a gamer, this option is useful to you. This enables Universal Plug And Play, which is a long way of saying that you can have an Open NAT type without having to do anything else
  5. Reboot -- Finally, you can restart the modem remotely if you're feeling lazy

Potential Problems

There are a few different issues that could happen with this. I'll try to point you in the right direction

  • I keep getting "login appears to have been unsuccessful" -- Make sure you're using the "device access code", not the "wireless network key". Also, make sure that when you go to http://192.168.1.254 in your browser that you get the AT&T modem page.
  • I get "no route to host" -- Make sure your devices's wifi is connected to your NVG510 access point
  • I get "operation timed out" -- You might have to try pushing that button once more
  • I get "connection refused" -- sometimes it takes a few seconds to enable telnet(which every other button relies on). Wait a few seconds and try again
  • Your application force closes! -- That's not good :( Send me an email at earlz -at- (this website name) or post below in the comments and I'll try and fix it

After Factory Reset

If you (or AT&T) does a factory reset of your modem, you will have to do this again. However, if your modem loses power and resets, you shouldn't have to run this again

It didn't work!

If you were seeing the "potential connection issue" page, and afterwards your browser gives an error like "server timed out" or "host not reachable", then you may actually not have internet. In that case, call AT&T and hope for the best :) This application will not solve issues with your phone line!

If it didn't do what you wanted, request a refund!

Where is a free version?

I know it's a bit tacky to charge for such a simple application, but I think it's justified in this case. I've spent plenty of time getting to know the NVG510 and helping other people with it, as well as preparing all of the information for publication here. So, I think it's fair. If you don't like it, I will always provide the slightly more technical version for free. See this blog post for details on how to do that.

What's next

I'm not sure. I want to add DNS server fixing, but I don't think I'll be able to fit it in. I'm using Xamarin Android Starter Edition. As such, I have limitations on how complex and big I can make my application. If you want to donate $300 for me to obtain a full license, I'd love you forever :)

Factory Reset

This will completely reset your modem as if AT&T just shipped it to you. It will undo all configuration settings

Bridge Mode

Check the other published info (stub)

Posted: 8/3/2013 8:06:41 PM

Online Gambling and Bitcoin

Now I know what you are thinking from the title. Isn't investing in Bitcoin basically a gamble as it is? Well, yes, yes it is. However, one day it may magically stabilize so that it doesn't fluctuate by more than $10 a day. Bitcoin would probably not be an ideal mechanism for online gambling even after this. Let's say we had some random online gambling site like WeLuvBingo.com. What would happen if they started accepting bitcoin?

This in theory could sidestep all sorts of legal frameworks to explicitly forbid online gambling(with "real" money) in the US and other countries. Bitcoin is inherently not anonymous though! The US government at least has already started cracking down on people who buy drugs with bitcoins. It probably wouldn't be too hard to do the same with gambling sites. Bitcoin works by a ledger, which is publicly readable. If someone knows your bitcoin address, they can see what addresses you send money to. However, there are some crazy sketchy looking websites that "combine" transactions, obscuring where your money goes. One such site is bitlaunder (hey, I told you it sounded sketchy). With the way this happens, it makes it nearly impossible to trace the bitcoins to you.

But, aside from the non-anonymous issue, there are plenty of other issues. Using bitcoin for gambling would require confirmations. Once you require a confirmation, suddenly it takes around 10 minutes to get your money into the service. That's quite a let down. If they didn't do confirmation, they'd be vulnerable to double-spend attacks where people could gamble with already spent bitcoins... If they managed to do it fast enough, they could then "cash out", taking their winnings without ever having put a single penny at risk. This of course is not nearly as easy as it sounds, but it's possible.

In conclusion, bitcoin is awesome for some things. Probably not for gambling though(unless you mean "speculation")... at least not with the current version of bitcoin anyway.

Posted: 7/19/2013 12:06:26 AM

Introducing NetBounce

So, I've been working on a quick project called NetBounce. It's basically a nifty tool to test HTTP clients and dump the data they send somewhere, without actually running your own HTTP server. This also supports HTTPS, which means it supports clients which do not allow SSL certificate errors.

Anyway, my main points of making it was because, eventually I want to expand on it to include programmable responses and this is a very good start, and because it's a valuable tool for a project I work on at my job.... And because it's cool and I've always wanted a test project with HTTPS support

Posted: 6/30/2013 6:46:11 PM