General

Ethereum Mining Trial

So this week-end I did an experiment with Ethereum Mining. The first thing I did was use a calculator. Here’s one from CryptoCompare.com.

CryotoCompare.com

Now according to this calculator, I should make around $36 bucks a month for my Nvidia GTX 1060 Card. Well, I did an experiment and after 28 hours I made $1.10. This comes out to about $0.04/hour or $0.94/day, but I’m actually paying $0.49 in electricity cost. So the net is $0.45/day or $13.71 per month. This makes the calculator wrong by about 263%. This link above has net profit at $1.20/day. So the hash rate was a lot lower than stated both on miner and on other estimates for this card.

The Big Network Refactor – Part 2

The next step in setting up my network was adding additional “LANS” to my network. So while before I was happy with two networks 192168.1.1/24 and 10.10.10.1/24. I really wanted more isolation from my IoT network, Security Camera Network, my Raspberry PI and Smart-Home network and the computers and devices we use all the time.

Here’s a list of my networks:

  • Home Private Network
  • Semi-Private Network & Private WiFi
  • Raspberry Pi Network & WiFi
  • Security Camera Network & WiFi
  • IoT & Media Network & WiFi
  • Guest Network

To do this I needed a router and firewall (EdgeRouter-X) and I needed a few managed switches because I didn’t want to run new cable.

Starting with the router I set-up the following:

EdgeRouter-X Swtich0 Configuration

The interesting thing I needed to learn here is the PVID is a “tagged” VLAN. I made this correspond to the network 192.168.4.1/24. This means anything that connects to this port “unmanaged” will get an IP from the 192.168.4.1/24 DHCP server. But if there’s a managed switch connected to this network, it will be able to route traffic for the VLANs 10,20,30, and 40.

The second thing I needed to do was configure my managed switch. DLink DGS-1100-08V2.

Managed Switch VLAN Configuration

The tagged VLAN port here is eth1. This is tagged with VID = 4. This is the same PVID leaving the router. I have 2 untagged ports eth6 and eth7 for this VLAN. This means they will get IP addresses from the 192.168.4.1/24 DHCP server just like it was connected to eth4 from my EdgeRouter-X.

I connected my Access Point and my other managed switch to eth6 and eth7.

I have eth2 mapped to 10, so now anything connected there will get 192.168.10.1/24 addresses. I have eth3 mapped to 20, so now anything connected there will get 192.168.20.1/24 addresses. I have eth4 mapped to 30, so now anything connected there will get 192.168.30.1/24 addresses. I have eth5 mapped to 40, so now anything connected there will get 192.168.40.1/24 addresses.

Notice the PVID up on the top row as well. 4, 10, 20, 30, 40, 4, 4, 1.

The last setting was configuring my access point. This is an EnGenius EAP1300.

EnGenius EAP1300 Wireless Settings

The Big Network Refactor – Part 1

I’ve been having network problems of late and also because of security I wanted to better isolate my network from IoT devices from Google, Amazon, Hue, Etc.

I basically had a few ASUS routers (which have been great) and I’ve been using a Double NAT (Network Address Translation) with my more secure stuff behind another router. It’s worked fine for about 15 years but I wanted more security and more isolation.

First I tried to replace my Asus RT-AC86U and its DUAL WAN capabilities with an EdgeRouter-X by Ubiquity. No luck with the DUAL WAN and multiple LANs. As soon as I unplugged one of the WANS things worked and if I only had one LAN with DUAL WANS it would have worked. In hindsight, I could have just used a managed switch on the other side but I also didn’t want to spend another $300+ on access points.

So I decided to keep my Asus network and its AI Mesh routers for IoT and Media Streaming. My new purchases included:

Total cost $224 plus tax.

With these purchases, I get a VLAN capable Router with a firewall. A few managed switches with simple stand-alone management and web interface. A VLAN capable Multi-SSID Access Point also with stand-alone management.

Synology SSH – No Password

While this is usually a trivial task it took me about an hour to get my permissions correct to get this to work. Here are the steps that finally let me get things working:

Open the sshd_conf by entering:

sudo vim /etc/ssh/sshd_conf

Then edit as follows:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys

Then go to your command line and change some file permissions.

#change {username to your login}
CHOWN the users directory to {username}:users
CHMOD user home directory to 755
CHMOD your .ssh directory to 700
CHMOD your authorized_keys file to 644

If you’re not sure about those files you will need to create and copy your public key to those directories. To do that just google “creating ssh key” then save your id_rsa.pub to the authorized key file below in .ssh/authorized_keys.

Restart your SSHD service via the web admin page (see below).

Big Tech Purge – Alternatives

So if you’re a cord-cutter and want to get rid of YouTube.TV or Cable. Check this out. https://www.suppose.tv/. It will let you select your channels and show you the best options available for you to pick.

Today I canceled the following:

  • Apple Developer Program Renewal – My app “Thors Hammer” will go away, but I can do this via a website, if you recall I had huge problem getting this app “approved” anyway.
  • Amazon Music Unlimited – Might replace with Spotify.
  • Microsoft Game Pass – Will just buy games now.
  • YouTube.TV – Pending – Will substitute with Sling Blue & Maybe ESPN from Disney+ after the NCAA National Football Championship

Other Google services seem to be the easiest ones to cancel… Stay tuned for future updates.

Big Tech Purge – No More Ears…

A bunch of Echoes will now sit in this bag until which time I’m confident these recordings are not shared with Facebook, Instagram, Advertisers… I’ve had too many things happen recently mentioning a company only to see ads an hour or so later….

The Migration From Big Tech

I’ve not done much on my “blog” in the past several years. With FaceBook, Twitter & Instagram it’s been too easy to just post there, but given the censorship and potential Anti-Trust lawsuits I thought it best to get back to owning my own content and start blogging again.

So things to look forward to:

  • No More Images/Video on Facebook or Instagram. They will be post here about CNC, 3D Printing, Making In General and of course my Chevelle project.
  • No More Micro-Blogging on Twitter, though I’ll still keep my @scottpreston handle incase things normalize.
  • Articles on how to “disconnect” from Big Tech. My first will be to consolidate my cloud storage, maybe move everything to DropBox or OneDrive since Microsoft seems the least bad of the 3 (Apple, Google, Amazon). Secondly it will be disconnecting from Gmail, maybe moving to Outlook or just continuing to roll my own via another hosting provider.

All The Best!

3D Printing Filament

I’ve been using lots of different PLA filament, mainly Hatchbox PLA and Inland (From Microcenter).

The old Inland Filament was from eSun, but recently they changed to a new brand and it’s not held up as nice.

I definitely recommend Hatchbox PLA from Amazon.

Alexa / Voice / AI Chat

Screen Shot 2017-06-27 at 7.29.21 AM

What does user experience look like without a mouse & keyboard or easy to enter form fields? How do people talk to AI systems to solve problems? These systems can be through devices like Alexa or virtual systems like automated chatbots. Understanding psychology and human behavior become just as valuable as business knowledge when designing these systems. Because of this we will see new software architectures come into play that deal with these variations and have multiple and guided user flows.

There are two main components of developing an apps for Alexa, intent schemas and utterances.

  • Intents: An intent represents an action that fulfills a users spoken request.
  • Utterances: A likely set of spoken phrases that are mapped to intents.

Here’s a sample intent for a few commands I’ve used to control my house.

{
  "intents": [
    {
      "slots": [
        {
          "name": "Command",
          "type": "LIST_OF_COMMANDS"
        },
        {
          "name": "OnOff",
          "type": "LIST_OF_ONOFFS"
        }
      ],
      "intent": "SendJarvisCommand"
    },
    {
      "intent": "AMAZON.HelpIntent"
    }
  ]
}

Intents also have slots. For example:

LIST_OF_COMMANDS --> lights | porch | yard | backyard | frontroom | hallway | garage | basement | workbench | wemo | bedroom | tv room	
LIST_OF_ONOFFS --> on | off | dim

The list of utterances, or ways users can interact with this data might look like:

SendJarvisCommand turn the {Command} {OnOff}
SendJarvisCommand switch the {Command} {OnOff}
SendJarvisCommand {Command} {OnOff}

This text is then passed to a lambda function where it needs parsed and then returns a response.

So your traditional web form is converted like this.

  • Form Target – Becomes Intent (SendJarvisCommand) which is mapped to code.
  • Droplist & form fields – Becomes Slots
  • Utterances – not in traditional apps.

Because utterances don’t match up to anything in existing form fields most businesses and user experiences have holes that need filled. You can also chain intents to one another creating user flows that are out of order.

So whether it’s voice or AI chat you need architectures that deal with this dynamic workflow, getting some of the data at unexpected points during a conversation, then re-prompting the user in a dynamic way to solicit input required to complete the task.

Whether it’s retail for a shopping assistant or a chatbot to help you reset your password it’s really fun time because we need to invent something new!

Scroll to Top