Adventures in Virtual (Cryptocurrency) Mining

Symbol for Bitcoin
Symbol for Bitcoin.

I have no idea how I got interested in bitcoin and cryptocurrencies! I think it’s because I know someone who was mining in bitcoin and making money a long time ago, and I thought–hey, I’m good with computers, and I’d like to make a little money on the side, why don’t I check it out?

So last night I started installing an ethereum (geth.exe) program, and then waiting around to see if I could get my PC to create some virtual currency, based on an article that said in the first sentence: “you can get it up and running and start your own ethereum mining project in 15 mins”. 

This ran for 12 hours and I had no idea when or if it would finish…
Symbol for Ethereum.

I was OK until step 7, running a program in a dos window: “the screen should start downloading the blockchain for Ethereum…. ” My problem is that it never seemed to complete itself, so this morning, after 12 hours of continuous running with no end in sight, I killed it and started looking for another way to get mining.

This requires some faith and patience. And I’m not very patient. I came across an intriguing youtube channel called Boxmining:

Certainly looks promising!

And this person seems rather knowledgeable and interested in learning more about finances and technology. (Notice how the coin on the far right column has been grayed out–this is where he lost money–all part of the process of learning, and I think it would be better to color it red instead of trying to visually dismiss it.) I feel in the long run being patient and investing in technical knowledge will work out. It seems like technology applied to finances is another “internet wave” in the making in its power to disrupt traditional businesses.

On to the next Ethereum install attempt. At least this window says what it’s up to.
The numbers are at least looking like they may get to the finish.

Well, a few hours go by and I’m still impatiently waiting!

Rough Overview of Programming Languages

Java is mainly large enterprise back end systems, and some android, and quite a lot of embedded stuff (nominally what it was invented for), and, worryingly, quite a lot of client side GUI stuff.
C++ is used for legacy systems and where you need speed.

C is used where you need speed, have simple programs and memory constraints, and old fashioned unix software.

C# is for windows programming and .net

Javascript is for browser programming and Node, and some general scripting, where someone has used it as their system’s internal scripting language (see also lua)

PHP is used for relatively simple web stuff, because it’s easy and works and has wide library support

Python is used for what PHP is by better developers, and has brilliant maths libraries so is increasingly used for anything maths related where esoteric things like matlab and R and F# are unhelpfully niche.

Haskell is used for academic curiosity, and some maths stuff.

Perl is dying out, but is still used for unix automation a fair bit.


Basic Web Development

Tai Chi
Learning to code can be like learning Tai Chi.

Q: Web development—with the wide range of backend and frontend languages, frameworks, and all of the tools and dependencies developers deal with on a day-to-day basis building apps and sites—is inherently complex. What advice do you give folks who are just starting out in web development?

 1) When someone is getting started in web development, I usually focus on three things. First, you have to learn your foundations. Get good at HTML, responsive CSS3, and vanilla JavaScript. This will be of use to you no matter where you’re working.

2) Second, pick something and get good at it. Pick a single frontend framework and a single backend framework and get to know them well. Try a variety of projects in them; find the places they annoy you; get to know the communities; dig in deep; give back.

–by Matt Stauffer