Wednesday, April 21, 2021

"Best" Food to Fill Your Tummy from the Taco Bell Menu -- Calories per Dollar

 

"Best" as in highest calories per dollar. I am curious and so I compile the list from the Taco Bell website. Data is retrieved on April 21, 2021 from https://www.tacobell.com/food. I excluded items that vary in calories because of options, 0-calories items, and drinks. Some specific exclusions include "My cravings box" and party packs.

Sauces are on the top of the list. But assuming you are not buying $3 worth of Spicy Ranch Sauce and drink them for 2200 calories and receiving the gift of diarrhea, the best item is the Beef Burrito ($1 for 430 calories) from the value menu. The next two that follow closely are also from the value menu -- Beefy Potato-Rito and Cheesy Bean and Rice Burrito. The first non-value menu item at the top of the list is the Hash Brown Toasted Breakfast Burrito ($1.99 for 580 calories for 291.5 calories per dollar.)

For taste, I like the Beef Burrito and the Chicken Chipotle Melt (only $1 for 190 calories because ... chicken).

 

Food Item Price Calories Calories per $
Spicy Ranch $0.30 220 Cal 733.3
Avocado Ranch Sauce $0.35 240 Cal 685.7
Creamy JalapeƱo Sauce $0.35 230 Cal 657.1
Chipotle Sauce $0.35 220 Cal 628.6
Beef Burrito $1.00 430 Cal 430.0
Beefy Potato-Rito $1.00 420 Cal 420.0
Cheesy Bean and Rice Burrito $1.00 420 Cal 420.0
Hash Brown Toasted Breakfast Burrito $1.99 580 Cal 291.5
Drinks Party Pack $4.00 1120 Cal 280.0
Bean Burrito $1.29 350 Cal 271.3
Chalupa Cravings Box $5.00 1340 Cal 268.0
Cheesy Toasted Breakfast Burrito $1.29 340 Cal 263.6
Cheesy Toasted Breakfast Burrito Potato $1.29 340 Cal 263.6
Hash Brown Toasted Breakfast Burrito Combo $4.19 1020 Cal 243.4
Breakfast Crunchwrap $2.79 670 Cal 240.1
Spicy Potato Soft Taco $1.00 240 Cal 240.0
Quesalupa Combo $5.99 1360 Cal 227.0
Breakfast Crunchwrap Combo $4.99 1110 Cal 222.4
Chips and Nacho Cheese Sauce $1.00 220 Cal 220.0
Hash Brown Toasted Breakfast Burrito Steak $2.69 570 Cal 211.9
Nachos Party Pack $9.99 2050 Cal 205.2
Nachos BellGrande® Combo $6.69 1350 Cal 201.8
Grande Toasted Breakfast Burrito $2.79 560 Cal 200.7
Grande Toasted Breakfast Burrito Combo $4.99 1000 Cal 200.4
Black Bean Quesarito $3.19 630 Cal 197.5
Beefy 5-Layer Burrito $2.49 490 Cal 196.8
Quesarito $3.39 650 Cal 191.7
Chicken Chipotle Melt $1.00 190 Cal 190.0
Cheesy Roll Up $1.00 180 Cal 180.0
Cinnabon Delights® 12 Pack $5.19 930 Cal 179.2
Veggie Nachos Party Pack $9.99 1770 Cal 177.2
Quesalupa $3.49 610 Cal 174.8
Cinnamon Twists $1.00 170 Cal 170.0
Quesalupa Black Bean $3.49 590 Cal 169.1
3 Soft Tacos Combo $5.79 970 Cal 167.5
Crunchwrap Supreme® Combo $6.89 1120 Cal 162.6
Grande Toasted Breakfast Burrito Steak $3.49 560 Cal 160.5
Chicken Quesadilla Combo $6.89 1100 Cal 159.7
3 Crunchy Tacos Combo $5.79 920 Cal 158.9
Nachos BellGrande® $4.79 740 Cal 154.5
Cheesy Fiesta Potatoes $1.49 230 Cal 154.4
Burrito Supreme® Combo $6.49 1000 Cal 154.1
3 Soft Tacos Supreme® Combo $6.79 1040 Cal 153.2
2 Chicken Chalupas Supreme Combo $8.39 1240 Cal 147.8
Cheese Quesadilla $3.19 470 Cal 147.3
3 Crunchy Tacos Supreme® Combo $6.79 990 Cal 145.8
Guacamole $0.50 70 Cal 140.0
Crunchwrap Supreme® $3.79 530 Cal 139.8
Soft Taco $1.29 180 Cal 139.5
Cheesy Gordita Crunch $3.59 500 Cal 139.3
Black Bean Crunchwrap Supreme® $3.79 520 Cal 137.2
Chicken Quesadilla $3.79 510 Cal 134.6
Crunchy Taco $1.29 170 Cal 131.8
3 Doritos® Locos Tacos Combo $6.99 920 Cal 131.6
3 Doritos® Locos Tacos Supreme Combo $7.59 990 Cal 130.4
Steak Quesadilla $3.99 520 Cal 130.3
Cinnabon Delights® 2 Pack $1.29 160 Cal 124.0
Hash Brown $1.29 160 Cal 124.0
Soft Taco Supreme® $1.79 210 Cal 117.3
Black Beans and Rice $1.49 170 Cal 114.1
Chalupa Supreme $3.19 350 Cal 109.7
Crunchy Taco Supreme® $1.79 190 Cal 106.1
Burrito Supreme® $3.69 390 Cal 105.7
Black Bean Chalupa $3.29 330 Cal 100.3
Nacho Cheese Sauce $0.65 60 Cal 92.3
Mountain Dew® Kickstart™ Orange Citrus - Small $1.00 90 Cal 90.0
Reduced Fat Sour Cream $0.50 45 Cal 90.0
Nacho Cheese Doritos® Locos Tacos $1.89 170 Cal 89.9
Power Menu Bowl $5.69 470 Cal 82.6
Red Sauce $0.25 20 Cal 80.0
Nacho Cheese Doritos® Locos Tacos Supreme® $2.39 190 Cal 79.5
Power Menu Bowl - Veggie $5.59 430 Cal 76.9
Black Beans $1.49 50 Cal 33.6

 









































































































































































































































































































Sunday, August 30, 2020

Finding how contacts are linked via degrees of separations in LinkedIn


In the old days LinkedIn would tell you how someone is linked to you. That information is useful when you are trying to connect to a 2+ degree user and want an intro from your mutual contact.

Unfortunately, I can't find that information anymore. (As of 20200830) Is there a solution to this problem? From what I have googled, the answer is yes. What is the solution? Money -- that feature is now a paid feature.

From a Pulse post via LinkedIn on the hidding 2nd degree connections:

A few weeks ago LinkedIn changed their design. Things changed. Some good... some not that great. There's a few, but one of them that strikes me most is the fact that about 60% of your second degree connections are "hidden" in the free version of LinkedIn.

 

Tuesday, August 11, 2020

How to Fix the Issue with No Sound in VirtualBox with Lubuntu

 

I managed to fix my "no sound with my Lubuntu install inside VirtualBox" issue, which I will explain below. If your settings differ from mine, my solution might still work for you so give it a try anyway. I am using VirtualBox Version 6.0.8 r130520 (yes, I use a rather old version for stability), Lubuntu 19.1 Eoan, and Guest Additions 6.0.8. If you ever wonder how to check your Ubuntu/Lubuntu version, Guest Addition versions, etc., here's how: 

$ uname -a

Linux my-pc 5.3.0-23-generic #25-Ubuntu SMP Tue Nov 12 09:22:33 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

$ lsb_release -a

Description:    Ubuntu 19.10

Codename:       eoan

$ ls /opt
net.downloadhelper.coapp  VBoxGuestAdditions-6.0.8

Your first step should be to make sure you installed the Guest Additions. For me, that didn't resolve my issue. The additional step I take is to change the audio card of my virtual machine from ICH AC97 to Intel HD. For me, that resolves the sound issue. 

Another additional wrinkle here is that I did have to reboot the machine with both audio output and input (if you are recording) enabled in the VirtualBox settings. I assume the cause is that if Lubuntu detects the audio output/input disabled, it doesn't load some audio drivers.

Good luck with your sound issue!

Tuesday, July 21, 2020

Playing Amazon's Version of PUBG Mobile gets Banned?


So it seems players are getting banned according to a handful of recent Amazon comments? So what to do? How to solve the problem? Honestly, this post goes pretty much exactly as my last post. So the tl;dr version is to go to the official site at Pubgmobile.com and get that version instead. For more details on how to do this, see that last post.


Clipped picture showing amazon comments on the banning issue for Amazon's version of PUBG mobile.


Anyhow, my original plan was to replace the official version of PUBG Mobile with the Amazon version now that the Season 14 Livik update is available in the Amazon Appstore. In particular, I wanted to see if my account is preserved, and if real money purchases work in Amazon's version.

Fortunately, half way into the Amazon download, I looked over the Amazon reviews and found that multiple people are mentioning about getting banned after updating and playing. Thank you to the sacrifices of these reviewers, I stop the download and just reinstall the official PUBG website version.

So, FYI, after uninstalling and reinstalling the official PUBG Mobile app, my progress is preserved. I can also get back my control layout via the cloud. However, I do have to go through and redo all my other settings like graphics options for example. Again, I play as a guest on my phone.

I did not verify that if you play the updated Amazon version you would indeed get banned -- yeah, I am not going to risk it. I can easily envision this happening though because Amazon definitely injects code into a lot of its apps so that you can make in-app purchases using Amazon coins and its payment system, and perhaps the code injection incorrectly gets flagged as a hack. If this is the case, I hope Amazon can sort it out with Tencent and have the bans reversed. To be fair, it is also possible that all the recent commenters commenting about bans are indeed cheaters, and that the new version of the game simply have improved on cheat detection.

Now, if you haven't gotten banned and purchasing is important to you, then good luck continue using the Amazon version of PUBG. Even so, you might want to wait a few weeks and let the issue (hopefully) sort out between Amazon and Tencent. If you don't do any purchases, and I do not, then I would strongly recommend that you switch over and install the official version via the official website's APK file instead.

Or, if you are like me and actually have a Chinese phone with the Chinese App Store, you can also download the Chinese version of PUBG Mobile to get around the issue. The Chinese version is treated as a different game by the phone, and so you can have both versions installed. I myself have started playing on the Chinese version on occasion. The downside of this approach is you would either need to know Chinese, or know the layouts of all the options really well so you can do without Chinese.

There are slight variations between the two versions of the game, and some menu items are moved. Nonetheless, those who played the non-Chinese version a lot should be able to get by.

Wednesday, July 15, 2020

Amazon's PUBG Mobile won't Update, How to Solve This?


I have been playing PUBG Mobile using Amazon Appstore's version, because I have a China Xiaomi phone with no Google Appstore. People with Amazon Android tablets like Kindle Fires also tends to use Amazon's version of the game. 

As of today, July 14, 2020, season 14 has arrived but an update has yet to arrive at the Amazon Appstore. People on the Amazon PUBG Mobile page are complaining that the game can't be updated or won't update on their kindle fire / android devices. I've only started playing this since May, but some of the reviews suggest that the Amazon Appstore's update lags the Google Appstore update all the time.


pubg mobile amazon appstore complains on won't update.


How to resolve the won't update issue


I got tired of waiting and solved the problem by updating using the APK file from the official PUBG Mobile page directly. The official site is at Pubgmobile.com, and it has the option of downloading the APK file directly.

pubg mobile official page allowing direct apk file download to install.

 
So, I downloaded the APK file, and ran the apk file on my android phone to install. The game works after the install is complete and I can play with friends again.
Note the APK file is just around 600MB, but when you install the file it's going to download a lot more things. If you are not familar with installing from APK file, you can usually find the APK file via some sort of file explorer program, and just click on it. It might just work if you click the apk file via your browser after you have downloaded it. You might have to allow your phone to "install from unknown source," but I trust the APK file since it's from the official PUBG page. You should install using APK files from sources that you trust.

Notes about the old Season 13 version running during season 14

  • Arena in the old version (season 13) still works. So if you want to just wait on Amazon, there's that.
  • Classic mode in the old version doesn't seem to work. I tried a few times, waited for over 4 minutes, and still can't connect. Some people in the Amazon PUBG mobile page commented that it does work but takes a really long time.

Notes about the Season 14 installed via APK

  • I can't purchase anything. I get a message saying I can't purchase from my region. This doesn't matter to me since I've never purchased anything. But if you want to buy the season pass and whatnot, just know that installing this version won't let you do so. (See image below.)
  • I do not link the game on my phone with any accounts -- i.e., I play as "guest". I can confirm, at least for this version, my character is preserved. My character and progress is still there after the update.
  • The amazon app page now shows PUBG mobile as "Not from Amazon". (See image below.)
     

Here's the purchase error.


PUBG Mobile purcahse error from direct apk install version.

Here's the Amazon appstore page showing PUBG mobile as "Not from Amazon". If you tap on "Open", it will open the non-Amazon version of the game. However, running some of the other apps you get from Amazon, you don't need the Appstore running for the game to run.

PUBG mobile shown as "not from amazon" after install via apk file.


Anyhow, happy gaming!


Saturday, July 4, 2020

Remap a Key to Work Around a Broken Keyboard Key on a Windows 10 PC


While you can use Microsoft's PowerToy's Keyboard Manager to remap a key, I advocate using AutoHotKey (AHK) instead. Why? It does the same thing and more. In additional to simulate pressing a broken key with another key or a set of keystrokes, you can for example press a key and have AHK type out a string of text (perhaps your email signature), or your favorite website's url, or even have AHK directly launch your url using a browser.

AHK website. On using AHK to remap key to work around broken keyboard.


In addition to remapping broken keys, you might also want to remap keys so all your laptops have a more consistent keyboard layout. I had a Samsung NC10 and the key locations are quite different from my Lenovo x61. Because of the difference and my constant use of both, I hit the wrong keys a lot. Remapping the keys of one laptop alleviates this problem.

How to set this up


But back to the more pressing problem of replacing a broken key, you will first need to install AHK. You can get AHK on their website at https://www.autohotkey.com. I have been using a very old 1.0.48.3 version (never saw the need to update), and the AHK website has a specific link to download this deprecated 1.0 version. Though I have not tested this with the newer version, I would think the newer version should work just as fine.

After you have installed AHK, write a script to specify the key remapping. One way to use AHK is to write a script, run it, and instruct AHK to constantly monitor your keypresses and act as directed. Here is one of my remap key scripts. To use it, you would save it as a text file (say using notepad) and save it with the .ahk suffix. I remap the end key to function like insert key, and the insert key to function like the end key -- because of the NC10 vs X61 issue I mentioned about. Note the first 3 lines are comments and is not necessary for the script to work. On the fourth line, all it tells AHK to do is if the "end" key is press, send the "insert" key instead.
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;; Remap end and insert key for laptop
    ;; Note it is possible to remap via registry
    ;;   also: http://www.autohotkey.com/docs/misc/Remap.htm
    end::insert
    insert::end
If you want to run the script at Windows startup, you can create a shortcut with the following syntax, and put it in your Startup folder.
"C:\Programs\AutoHotkeyAutoHotkey.exe" "c:\bin\KeysRemap.ahk"
For Windows 10, the startup folder is located at the following location. Remember to replace "userName" with your own username. 
C:\Users\userName\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

Some suggestions for what keys to use as replacement


There are surprising number of keys that I don't regularly, if ever, use. Some keys to consider: the menu key that usually located on the right side of the space bar (AppsKey), right alt (RAlt), caps lock (CapsLock), scroll lock (ScrollLock), or print screen (PrintScreen). Numpad keys might also work for you if you rarely use them. A more complete list of keys and their names is located here: https://www.autohotkey.com/docs/KeyList.htm

Concluding thought


As further advocation of using AHK, the program has a good community via its forum for support and you stand a good chance of finding help with your particular program and automations and shortcuts. I highly recommend giving it a try.

Wednesday, June 24, 2020

Fast and Dingy Refresher for R Programming


I have been going over R programming lately, and find that having a list of questions and answers covering various topics useful for review. The target audience of this post is someone comfortable with programming in general and might even have experience with the language but needs a refresher because it has been years since they last use it. In other words, this is my personal note sheet for R.  

As of June 24, 2020, this is version 0.01a of my very incomplete note sheet. I hope to add to this over time. The current version references the following websites: https://www.datamentor.io/r-programming/while-loop/, https://www.datacamp.com/community/tutorials/r-data-import-tutorial and https://www.w3resource.com/r-programming-exercises/basic/index.php. Do pay them a visit and see if you prefer the reference sites over this. You can try out the R code below with an online interpreter such as https://trinket.io/embed/R (use ctrl+enter to run the code or use the run button).

Input/Output


#Reading in strings and numerics and printing out the variables:
name = readline(prompt="Input your name: ")
age =  readline(prompt="Input your age: ")
print(paste("My name is",name, "and I am",age ,"years old."))
print(R.version.string)
#Reading a csv file
# movie_data = read.csv(file="movies.csv", header=TRUE, sep=",")
print("Read a csv file directly from the web.")
print("Note. You can find a csv file online by googling for site:edu filetype:csv.")

df1 = read.table("http://www.calvin.edu/~stob/courses/m243/S13/Superbowl.csv",
                 header = TRUE,
                 sep = ",")
df1

df2 = read.csv("http://www.calvin.edu/~stob/courses/m243/S13/Superbowl.csv",
                 header = TRUE)
df2


#Reading a json file (and importing the rjson library)

print("Note. I tested that import the library rjson works for trinket.io's R Intrepretor. Lots of other libraries doesn't work with trinket.io unfortunately.")
install.packages("rjson",repos = "https://cran.r-project.org")
library("rjson")
print("Yes. I trade on Bittrex -- see the sidebar for referral -- and download data via their API for analysis.")
JsonData <- fromJSON(file="https://api.bittrex.com/v3/markets/ETH-USDT/summary" )
print(JsonData)


Information


#Listing content of workspace/memory
name = "Python";
n1 =  10;
nums = c(10, 20, 30, 40, 50, 60)
print(ls())
print("Details of the objects in memory:")
print(ls.str())
# Get current (system) date/time

print("System's idea of the current date with and without time:")
print(Sys.Date())
print(Sys.time())

Data analysis

#Random number generation (for Monte Carlos)
print("Random number sampling/generation.")
v = sample(-50:50, 10, replace=TRUE)
print("Note the with replacement option.")
print("10 random integer values between -50 and +50:")
print(v)
print("Random normal distribution sample.")
n = floor(rnorm(1000, 50, 100))
print(paste("Mean: ",mean(n)))
print(paste("Stdev:",sqrt(var(n))))
#Tabulation of data (Frequency)
n = c(10,10,10,20,30,30)
print('List of random numbers in normal distribution:')
print(n)
t = table(n)
print(t)

#Plotting

n = floor(rnorm(200, 0, 1))

print("Bar plot.")
barplot(n,
main = "Some plot",
xlab = "XData",
ylab = "YData",
col = "darkred",
horiz = FALSE)

print("Bar plot of histogram.")
t = table(n)
barplot(t)

Data Structure


#Creating vectors of different element types
print("Creating vectors of diffrent element types")
a = c(1, 2, 5, 3, 4, 0, -1, -3)
b = c("Red", "Green", "White")
c = c(TRUE, TRUE, TRUE, FALSE, TRUE, FALSE)
print(a)
print(typeof(a))
print(b)
print(typeof(b))
print(c)
print(typeof(c))
#Various ways to combine items in a list
print("Various ways to combine items in a list:")
a<-c(1,2,3)
print(a)
b<-c(4,5,6)
print(b)
d1<-c(1,2,3,c(4,5,6))
print(d1)
d2<-cbind(a,b)
print(d2)
d3<-rbind(a,b)
print(d3)
#Creating matrices of different dimensions
m1 = matrix(1:20, nrow=5, ncol=4)
print("5 × 4 matrix:")
print(m1)
print("Vectorize:"
print(as.vector(m1))
cells = c(1,3,5,7,8,9,11,12,14)rnames = c("Row1", "Row2", "Row3")
cnames = c("Col1", "Col2", "Col3")
m2 = matrix(cells, nrow=3, ncol=3, byrow=TRUE, dimnames=list(rnames, cnames))
print("3 × 3 matrix with labels, filled by rows: ")
print(m2)

# Creating a list of mixed elements
print("Creating a list of mixed elements.")
l = list(
     c(1, 2, 2, 5, 7, 12), 
     month.abb,
     matrix(c(3, -8, 1, -3), nrow = 2),
     asin
)
print("Content of the list:")
print(l)
# Creating a dataframe

Employees = data.frame(Name=c("Anastasia S",
"Dima R","Katherine S","JAMES A",
"LAURA MARTIN"),
Gender=c("M","M","F","F","M"),
Age=c(23,22,25,26,32),
Designation=c("Clerk","Manager","Exective",
"CEO","ASSISTANT"),
SSN=c("123-34-2346","123-44-779",
"556-24-433","123-98-987","679-77-576")
)
print("Details of the employees:")                     
print(Employees)




String Manipulation

print("First 10 letters in lower case:")
print("Note letters and LETTERS are system variables.")
t = head(letters, 10)
print(t)
print("Last 10 letters in upper case:")
t = tail(LETTERS, 10)
print(t)
print("Letters between 22nd to 24th letters in upper case:")
e = tail(LETTERS[22:24])
print(e)
print("Convert to lower case letters :")
print("Note toupper converts to upper case.")
e = tolower(tail(LETTERS[22:24]))
print(e)

Program Flow


#Numeration for loops (and calculations)
print("Sequence of numbers from 20 to 50:")
print(seq(20,50))
print("Sequence of numbers from 20 to 50 and 10 to 30:")
print(c(seq(20,50),seq(10,30)))
print("Sequence of unique numbers from 20 to 50 and 10 to 30:")
print(unique(c(seq(20,50),seq(10,30))))
print("Mean of numbers from 20 to 60:")
print(mean(20:60))
print("Sum of numbers from 51 to 91:")
print(sum(51:91))


#IF/ELSE and FORloops
print("Showing off IF and FOR loop syntax.")
n = 3
if (n >= 2) {
     x = seq(2, n)
     prime_nums = c()
     for (i in seq(2, n)) {
          if (any(x == i)) {
               prime_nums = c(prime_nums, i)
               x = c(x[(x %% i) != 0], i)
         }
     }
} else {
     stop("Input number should be at least 2.")
}
print(prime_nums)


#WHILE loop

i = 1
while (i < 20) {
     print(i)
     i = i+1
}

Miscelleanous


#Function definition
hello_world <- function(n) {
     print(paste("This is the number",n))
}
print("Run program after definition.")
hello_world(12)





Friday, June 12, 2020

How to Check Your Gmail Storage / Google Drive Quota, 2020 Edition


Finding the page showing how much Gmail is taking up Google Drive took a while, and thus a post about this.  So, to check how much Gmail is taking up my Google Drive storage, go here: https://one.google.com/u/0/storage

How to find out how much Gmail is taking up Google Drive.


If you are bored and need a break, feel free to read the rest of the post retelling my life story just so the post might show up higher in search results.

My story started when my Google Drive is filling up and I want to check how much of that is due to Gmail. From drive.google.com,  even though it tells me 87% of my drive is full, clicking on that link only shows me the files stored in Google Drive and their sizes. I.e., nothing about Gmail.  I vaguely recall that information used to be there, but alas, it is not relocated to elsewhere.


How to find out how much Gmail is taking up Google Drive. Useless page from Drive.


Googling for keywords like "google view storage breakdown" or "how much Gmail take out google drive" takes me to page like this: https://www.cnet.com/how-to/how-to-free-up-google-drive-space/. Not helpful.

Instead, to see how much Gmail is taking up your Google Drive, you need to go to the settings via Gmail.com, and at the bottom of the General settings, there's a "Manage link" that sends you to the right place. I.e., the link I noted on the first paragraph of the post.

How to find out how much Gmail is taking up Google Drive. Access from Gmail Settings.
How to find out how much Gmail is taking up Google Drive. Result page.



Saturday, May 16, 2020

How to Disable that Steam Sales Dialog Box that Pops up Every Time


If you are tired of that extra Steam sales dialog box that spits in your face every time you start the program, you can disable it. To do so, go to your settings via Steam -> Settings.

In the dialog box, click on "Interface" and uncheck "Notify me about additions or changes to my games, new releases, and upcoming releases." Here's a picture of that dialog box and option.


Steam dialog box showing where you can uncheck to disable the steam sales dialog box.


Q: You know you can turn that off right...? A: No. No I did not.

Thursday, May 14, 2020

Complete Guide to Setting Up your EasyN Security/Web Camera


After storing my EasyN security ip web camera away for year, I find the need to setup it up again. It was purchased from China years ago, and like most products purchased from China, the documentation and support are poor. Nonetheless, it work well enough given the price. Here I want to document its setup and have it working with the app and working with the iSpy monitoring software that you can setup on your computer. I can also confirmed that as of April 23, 2020, the EasyN app is still being updated and works with the cam. iSpy (I use version 6.5.3.0) also works with the cam.

My model is the EasyN 10D. If you have a newer model, then this might not be as complete a guide. But since newer model has the tendency to have similar setting as their old counterparts, this guide might still be of some use to you. 


EasyN 10D Webcam Box.

EasyN 10D Webcam Box.



Steps to setup the camera to work via Wifi


First. Reset the camera. There's a nub you poke on the camera to reset it to factory setting.

The camera has both LAN and Wifi abilities. I prefer the Wifi option just to have one less cable to worry about. To set up the Wifi, you will need to use an ethernet cable and connect it between the camera and your computer, to access the camera's device settings via a browser on your computer.

The default IP address of the model is 192.168.1.126. To access the camera settings, connect your ethernet cable between the camera and your computer. Given the default IP, you should set your computer's LAN to use 192.168.1.1 / 255.255.255.0. I don't believe the default gateway matters with two devices being directly connected, but set it to 192.168.1.1 can't hurt.

Windows dialog box for changing your IP address to connect to the EasyN camera.
Windows dialog box for changing your IP address to connect to the EasyN camera.


When I was setting this up, the first cable I used doesn't work. But retrying with another cable works. So keep that in mind. I think the problematic cable might just be a really old one that wasn't twisted, or maybe just broken.

To access the camera's web settings interface to change settings, use a web browser and go to 192.168.1.126:81. By default, your login and password are "admin" and "admin".

Browser access to the EasyN webcam's web settings interface.


Browser access to the EasyN webcam's web settings interface - page showing mac address.


In some situation, usually with Wifi networks, your admin might have a mac filter set for security reasons. After you have gain access to the camera's web settings interface, the LAN's mac address is listed in one of the menu screens but not the Wifi's mac address. The web settings interface just shows the mac address of the current network.

If your network has mac address filter set, you either have to disabled the filter temporary so you can get DHCP to connect and then check the mac address, or you need some other way to do this. The way I managed to get the Wifi's mac address is go through the Wifi setup for the camera, and at the every end, while I still have the ethernet cable connected and I'm still accessing the web settings interface via the LAN, I go back to the web setting interface menu that shows my mac address. At that point, it actually shows the Wifi's mac address instead.

Another thing to note is that the wireless settings only allows for DHCP, whereas the LAN settings seems to allow for both DHCP and static IP with DHCP being the default. In the words of the webcam firmware: "Automatically obtain IP" vs "Manually set the IP". This makes me suspect that if you use the LAN interface and plug the webcam into the router that has DHCP, you might actually get a different IP than 192.168.1.126 by default, and you will have to check your router's setting to figure out what IP is assigned to the webcam.


Steps to setup the camera to work with the EasyN App


The name of the app is EasyN. Once you have download the app, you can add a camera. For me, the app was able to find the camera on the network, and setup is very straight forward.


Steps to setup the camera to use with iSPY


You would want to do this if you like the ability to see a history of what went on via your computer, as the EasyN app isnt' all that great. iSPY is great in that you can setup recording on motion, scheduling recording time, see what your camera's seeing via the program, and look through thumbnails of all the recorded videos so you can review each day if anything odd happened. The downside is that the way to access the camera is via image snapshot, and so the resolution and frame rate of the "video" are quite low. 

The best feature for using iSPY is that you can save what's captured in a Dropbox folder and have it sync to the cloud. Again, the quality of the videos are a bit low, but if you have an SD card in your camera as well, you can go back and check the higher quality captures easily knowing the time of the video.

The setup is relatively straightforward, but if leave a question via comment if you are having trouble. I check them and can reply and update the article if needed. The key settings that most people will have trouble with is the capturing settings. I suspect ONVIF might work as well, but I wasn't able to. Instead, I settle on using JPEG URL as the way to capture images. You will need to modify the URL in the picture with your own login and password. And you will also need to change the IP address to your camera's IP. In case you are having issue with the image, the JPEG URL is: 
http://admin:password@192.168.1.123:81/tmpfs/auto.jpg
Note that you can type the URL into your browser, and you will get a JPG of what the camera saw when you made the HTTP request.


iSPY setup for EasyN 10D webcam using JPEG URL source.



Final reminders after you have setup the camera


Now that you've got your EasyN security/web camera working, here's a few things I've (re) learned using it.

My camera is white and so heat from direct sun is less of an issue. That's not relevant if you are putting the camera somewhere shady, but buy a white security camera otherwise. For me, the camera gets sunlight from the morning to around 1:30pm, and the sunlight is not an issue.

You should write down on a piece of paper and tape it to the camera the two mac address of the camera, the default passwords, and the default IPs. That way, the next time you have to reset this, you don't have to google for all the information again. Or, at least bookmark this page.

In addition to the admin account, this camera also have two other accounts (user and guest). Make sure you change the password (and ideally the login name also) of these other accounts. There's probably not much you can do to prevent the government from spying on you, but you can certainty keep out the moms and pops hackers. 


References


http://blog.coultard.com/2012/01/how-to-configure-easyn-ip-web-camera.html
https://www.youtube.com/watch?v=gfTGqFAN_Jg

Monday, May 4, 2020

How to Maybe Fix the Error with Can't Call from Google Voice



Yesterday, I tried to make a phone call from Google Voice via my Firefox browser directly, but it kept failing. I would click on a number to call but then nothing happened. Then I tried calling using Google Hangout instead -- but that too failed.

If you too can't seem to make phone calls via Google Voice, see if "Media Peer Connection" is enabled. In Firefox, you would type in the address bar "about:config" to access the special settings, search for "media.peerconnection.enabled", and set it to true. Once I have done this, I can make phone call using Google voice again via my web browser.


Firefox Media.peerconnection.enabled setting for WebRTC issues.



By default, the option should already be set to "true", but if you are worrying about securities issue like WebRTC leaks, you might have at some point turned it off by setting it to false.

I have gotten into a habit of logging changes as I make them on my computer. When something goes wrong, I look back at what I have changed and see if undoing them help. That was how I remember that I have disabled some Firefox setting relating to WebRTC and that might be the cause of the problem.

Sunday, May 3, 2020

How to Access the BIOS Menu of the Acer Aspire VX15 / VX5-591G


To access the BIOS menu of the Acer Aspire VS5-591g (aka VX15), use F2 at boot. 

I don't understand why the BIOS access key isn't universal, nor why often times it doesn't show at boot. I also don't understand why the my Acer Aspire has 2 model names. It took me a while to figure out the right key to use.


Saturday, May 2, 2020

Quick Tip on Searching Twitter Easily via Browser Keyword


If you tend to tweet on your computer, you can easily search your history with a simple URL keyword search. I.e., you can setup your browser so you just type "tr words-you-want-to-search". Why do this? I sometimes thought I might have tweeted something already and want to make sure that is not the case.

The setup I describe below works in Firefox. For others, it should work similarly but instead of "%s" you might need to replace it with that Browser's version of the argument string.

Create a new bookmark, and in its property box, type something like the following:

Firefox bookmark property box showing how to setup a keyword search for twitter.

Keyword is what you want to use to trigger this search. I use "tr" for TwitteR. To find if I already tweet about a book by Napoleon Hill, I would type in my Firefox address bar "tr Napoleon Hill", and Twitter returns: 



Twitter search results using a URL keyword search in Firefox.





The magic is in the Location specification. For me, I use:



https://twitter.com/search?src=typed_query&q=(from%3Akindlelist)%20%s

What does it all mean? You should replace kindlelist with your own twitter handle. Or if you want to search for everyone's tweets, then you would remove "(from%3Akindlelist)%20". The %s at the end tells Firefox to replace it with what you type after the keyword, "Napoleon Hill" in my example.

So if you look at the URL of the Twitter result, it is :

https://twitter.com/search?src=typed_query&q=(from%3Akindlelist)%20Napoleon%20Hill

Thursday, April 23, 2020

Excel: How to Find Invalid References?


Solved for me. I had an issue with Excel not letting me save the file and keep complaining about:
"A formula in this worksheet contains one or more invalid references."
Some steps I tried initially, which as part of debuggig you should do first:
  • Unhide all the cells and make sure there are no #ERRORS from #REF items.
  • Use the Error Checking option via Formulas -> Formula Auditing -> Error Checking (this is completely useless for me though)
Finally, what solved the issue for me is actually deleting one of the charts. 

I.e., if you can't seem to find any #REF items but you have charts, try deleting the charts and see if the problem goes away! My problem is resolved after deleting one of my charts. I checked the chart (right clicking the chart -> "Select data") to make sure there were no #REF items, but it is casuing the invalid references problem nonetheless. I end up having to delete the chart and make a new one.

Wednesday, April 15, 2020

Text Scrolling LED Screen App for Mobile


If you watch eSports broadcasts (especially from Asia), you sometimes see the audience showing a scrolling messages on their mobile phone. I wanted that app for a while and haven't been able to find it until recently. I had used text scrolling as the search words and had no luck, and finally trying LED text by chance hits the jackpot.

If you still have no idea what I'm talking about, here is a Youtube video I find of it in action: https://youtu.be/yaC7Inn1cUc?t=154.

LEDScreen is the app I end up with, and if you enter that word into the Google Play Store, or use this link, https://play.google.com/store/search?q=ledscreen&c=apps&hl=en_US, you get the following:


LEDScreen Apps from the Google Play Store.


My app is from the Xiaomi App Store because I have a Xiaomi phone. So as you look over your choices in the Play Store, do review the comments and app permissions.


Thursday, April 9, 2020

How to Show Random Posts with Thumbnails in Blogger


A hat tip to a post that helped me with setting up a widget to show randomized old posts on the blogger sidebar: https://www.talkofweb.com/show-random-posts-with-thumbnails-in-blogger/. If that's something you are interested in setting up, check out that post. Do note, however, of the one huge caveat if you use that code as is: 


Connection not secure error from Firefox due to randomize posts widget.

The caveat is that with the way java script gets and displays images a "connection not secure" error is triggered. That is not something you would want even if you are blogging on a trusted platform like Blogger. I work around that by taking out the part of the code that generates the thumbnail. I.e.:




The following is what I end up using:

Code for listing randomize posts on blogger.

Thursday, April 2, 2020

A Blurb about the Bittrex Feferral Program



A blurb about the recently started Bittrex referral program -- which I am participating and adding to the blog. The FAQ from Bittrex on this is here, for those who wants more details: https://bittrex.zendesk.com/hc/en-us/articles/360039790492-Learn-More-About-the-Bittrex-Referral-Program.

The main thing I want to emhpasize, should you decid to get an account to start trading and decide to help me out by using my referral, is this:

How can I see who I have referred? 

Users are unable to view the amount of people or who they have referred using their Bittrex Referral code. This information will not be provided by Bittrex.



Wednesday, April 1, 2020

What is DAI Stablecoin Cryptocurrency and Thoughts on Trading DAI


To my surprise, Wikipedia doesn't have an article on the DAI cryptocurrency itself, but just on the organization that oversees it (link). DAI is an Ethereum token that can be stored in a cold storage wallet (link) or holding it via an exchange (link). Moreover, it has a "decentralized finance" application using the Ethereum blockchain -- a way to borrow "money". This post is a brief summary of information I collected on MakerDAO DAI from the point of view of trading it.

Why trade DAI?


Unlike BTC or ETH, there's no question on what a stablecoin's true value should be. It should be 1:1 against whatever asset they are supposed to be pegged against. But despite the name, stablecoin prices do vary. For example, the USD-DAI exchange rate is 1.030 on Bittrex as of March 30 2020.

DAI prices in USD on the Bittrex exchange. April 1, 2020.



Trading BTC or ETH might be preferred if you want large potential upside and can handle the downside. USD-BTC dropped more than $3000 in value over 1 day on March 12. Stablecoins is something to keep in mind if you prefer less risk and is ok to settle for much lower return.


How the DAI system that drives prices works?


To borrow money, you would do so using the DAI system with a wallet (like Metamask). An example:
  • You have 10 ETH worth $1000 and want to borrow money
  • You use your 10 ETH ($1000 worth ) as collateral and borrow 700 DAI ($700 worth) at 10% interest, using the DAI system.
  • You use your 700 DAI to do things (buy things, invest in things, speculate, etc.)
  • When you want your 10 ETH back, you can go back to the DAI system and pay back 700 DAI + interest. So after 1 period, you need 770 DAI to get back your 10 ETH.
By allowing for borrowing of DAI using collateral drives the supply and demand of DAI. This is what help DAI keep its value around 1. If DAI value increase or decrease, you can use the mechanism above to make money. With people doing so, market pressure will bring the price back closer to 1. I will leave the elaboration of how in theory this mechanism drives prices toward $1 in the future.

But why would anyone borrow DAI with an ETH collateral? A couple of reasons:
  • If DAI is treated like money, then this is no different from borrowing money using a collateral -- like using your house to get an equity loan from the bank. Maybe you have a business and need money. You can use your ETH to borrow DAI, (and maybe even convert DAI to USD and withdraw it into the real world), and invest it into something that will give you more money in the future. Then, with more money, you can pay back the loan and interest to get back your ETH collateral.
  • What's the different between using ETH for money vs. the DAI system for money? Imagine you instead sell your 10 ETH ($1000 worth) for USD and use it for investing. If prices of ETH doubles, you've "missed out" in a similar way as the bitcoin pizza folk (link). With DAI, you can get back your 10 ETH (now $2000 worth) by getting 700 DAI plus interest. If the DAI system work, DAI should still be worth around $700 USD.

How to hopefully profit from DAI?


So to potentially profit from DAI price fluctuations, you can arbitrage using the lending/borrowing system above. Alternatively, if you have enough confidence in the DAI system to keep the DAI stable at $1, you can also skip the above and trade DAI on an exchange like Bittrex -- buy when prices is below $1, and sell when it is above $1, while accounting for transaction fees. There are risks invovlves with all stablecoins. While the decentralization of the DAI eliminates some risks that central coins like USDT has, this decentalization also creates other risks. DAI being essentially an ETH application means that it can be hacked. From the DAO Wikipedia page:

In June 2016, users exploited a vulnerability in The DAO code to enable them to siphon off one-third of The DAO's funds to a subsidiary account. On 20 July 2016 01:20:40 PM +UTC at Block 1920000, the Ethereum community decided to hard-fork the Ethereum blockchain to restore virtually all funds to the original contract.[12] This was controversial, and led to a fork in Ethereum, where the original unforked blockchain was maintained as Ethereum Classic, thus breaking Ethereum into two separate active blockchains, each with its own cryptocurrency. (link)


Also, the actions of some folks known as the MKR holders have the potential to either stabilize or destabilize the value and viability of DAI short term during financial shocks and longer term due to inability to adapt to market changes (link).

Conclusion


You can potentially profit from DAI by doing the DAI borrowing arbitrage, or you can just take that coin's ability to be stable as given and trade aroudn the stable vaule. The downside risk of trading stablecoins in general is that something can go wrong with the stablecoin. With USDT, you worry about accounting irregularities of the organization that creates the USDT. With DAI, the decentralization eliminates the accounting irregulaty risk, but it creates risks from hacking. 

If you don't have a crypto exchange account and is interested in starting, consider supporting this blog by using my Bittrex referral (link). If you have other questions, please post to the comments and I might reply or use it as the topic of a new post.

Reference:
https://medium.com/mycrypto/what-is-dai-and-how-does-it-work-742d09ba25d6
https://www.youtube.com/watch?v=J9q8hkyy8oM