Category Archives: Computers & Internet

Using Your Browser From the Command Line

Howdy!

I know it’s been a while since I posted – being selfish with all the new things I’ve been learning. I’m sorry. Today I was reminded in strong terms that sharing and giving are crucial, and without all the good stuff other people are posting on the internet, I wouldn’t know most of what I know today.

I want to talk about starting your browser from the command line, in this case I’m using Firefox on Windows. The terminal I’m using is Powershell.

For a long time, I got into the habit of starting my browser like this:

start firefox

I can open my favourite social media site from the shell like this:

start firefox twitter.com

Note that I didn’t even have to prepend the URL with http(s):// or www! Neat, eh?

Sometimes, when I’m really being lazy and I quickly want to jump to Google and conduct a search on “firefox command line options” from there, I just type

start firefox www.google.com/search?q=firefox+command+line+options

I know that this example is rather contrived, but if you understand the basics of HTTP/HTTPS and query strings, this should be easy to grasp.

Having done this for a while, today I decided to look at the Mozilla Developer Network (MDN) reference to see what Firefox had to offer by way of command line options.

And BOOM I hit a mother lode! So far I have only skimmed over it, but I’m astounded at the possibilities I see – this should really make for good browser automation. I wonder why I never thought of it before now.

If I find anything really useful I promise to share (this time). If you’re interested, have a look at MDN’s Firefox Command Line Options page.

I’m out!

1 Comment

Filed under Computers & Internet

Quick Tip on Deleting Directories in R

When trying to delete a directory, one can encounter some unexpected problems. The function for carrying out this operation is unlink, which accepts the director name as its first argument; other arguments are recursive (a logical vector or length 1 indicating whether we want to delete subdirectories, and force, also logical, which tries to override file permissions in most cases. It returns 0 when successful and 1 when not.

But there is a gotcha to using the function. First let’s list the contents of the HOME directory

> list.files()
 [1] "3D Objects"
 [2] "AppData"
 [3] "Contacts"
 [4] "Desktop"
 [5] "Documents"
 [6] "Downloads"
 [7] "Favorites"
 [8] "IntelGraphicsProfiles"
 [9] "Links"
[10] "MicrosoftEdgeBackups"
[11] "Music"
[12] "New folder"
[13] "NTUSER.DAT"
[14] "ntuser.dat.LOG1"
[15] "ntuser.dat.LOG2"
[16] "NTUSER.DAT{a70b1724-6bc8-11e8-a408-d0bf9c58c5d2}.TM.blf"
[17] "NTUSER.DAT{a70b1724-6bc8-11e8-a408-d0bf9c58c5d2}.TMContainer00000000000000000001.regtrans-ms"
[18] "NTUSER.DAT{a70b1724-6bc8-11e8-a408-d0bf9c58c5d2}.TMContainer00000000000000000002.regtrans-ms"
[19] "ntuser.ini"
[20] "OneDrive"
[21] "Pictures"
[22] "R"
[23] "Saved Games"
[24] "Searches"
[25] "source"
[26] "Videos"

Let’s say we want to delete the ‘New folder’ directory

> (unlink('New folder/', recursive = TRUE, force = TRUE))
[1]

It fails!

Even when you study the help file, the source of this failure is not apparent.

Well, it turns out that the function does not recognize the trailing slash that indicates that we are dealing with a directory. This is always added when you use tab completion for the directory name.

So, when we type

# Remove trailing slash in directory name
> (unlink('New folder', recursive = TRUE, force = TRUE))
[0]

The function succeeds, as evidenced by listing the directory contents

> dir()
[1] "3D Objects"
[2] "AppData"
[3] "Contacts"
[4] "Desktop"
[5] "Documents"
[6] "Downloads"
[7] "Favorites"
[8] "IntelGraphicsProfiles"
[9] "Links"
[10] "MicrosoftEdgeBackups"
[11] "Music"
[12] "NTUSER.DAT"
[13] "ntuser.dat.LOG1"
[14] "ntuser.dat.LOG2"
[15] "NTUSER.DAT{a70b1724-6bc8-11e8-a408-d0bf9c58c5d2}.TM.blf"
[16] "NTUSER.DAT{a70b1724-6bc8-11e8-a408-d0bf9c58c5d2}.TMContainer00000000000000000001.regtrans-ms"
[17] "NTUSER.DAT{a70b1724-6bc8-11e8-a408-d0bf9c58c5d2}.TMContainer00000000000000000002.regtrans-ms"
[18] "ntuser.ini"
[19] "OneDrive"
[20] "Pictures"
[21] "R"
[22] "Saved Games"
[23] "Searches"
[24] "source"
[25] "Videos"

Watch out for this!

Leave a comment

Filed under Computers & Internet

Environments and how to apply them

Adventures with R

I’ve been learning a lot these days. It’s been coming fast and heavy and I have not been able to document much of it. One of the areas I kind of focused on was Environments. I’ve glanced at (but not finished) the chapter Hadley Wickham wrote in his book ‘Advanced R’. One thing that stood out clearly was that environments are data structures just like any other in the language. I will pause there for now.

What I rushed out to post is something I just saw in a post in R Bloggers. The main gist was about loading .RData files safely and this is one area where environments can be put to good use.

Rather than loading the objects from that file into the Workspace (or global environment), just create a new environment with new.env() and load the saved objects into into it by passing it as…

View original post 86 more words

Leave a comment

Filed under Computers & Internet

R Packages: Solving a problem using devtools in Windows

In the introduction to his book R packages, Hadley Wickham provides a neat function for making sure that everything is set for writing your own R extensionsby simply running the devtools::has_devel(), which, if all goes well, should evaluate to TRUE.

This did not work out for me and I had to fix this problem on 2 different occasions so I felt I need to share this info in case there are others also stumped by this hurdle.

The fix I found – after a full sweaty day – was in this conversation on GitHub and I would like to break it down very quickly:

  1. Make sure you have installed Rtools from CRAN
  2. Make sure that Rtools/bin as well as Rtools/MinGW/x64/ are added to your system PATH (if you don’t know how, click here)
  3. In addition, it is recommended that you install LATEX (the link is also found on the Rtools page mentioned on No. 1)
  4. Run the following lines of code

install.packages("devtools")

library(devtools)

install_github("hadley/devtools")    # to get the latest 'pre-CRAN' package updates

find_rtools()

has_devel()    # output should be TRUE

Like I said, I had this problem on 2 different machines (Windows 7 and 10) and the same fix worked on both of them.

Cheers!

Leave a comment

Filed under Computers & Internet

Problem with stand-alone executables?

Well, I just have to share this with whosoever is desperately looking for a solution to this problem and happens to stumble across this post.

It’s not easy being a newbie in any thing, and computing is no exception.

I have written a small program that I will be using for my work in the office and which would also benefit a few staffers. I wrote it in C++ and compiled it using Visual Studio. However, I couldn’t find the executable file (*.exe) anywhere on my computer!

I went over to the MSDN site, as well as StackOverflow, looking for a solution but there was none in sight. To make matters worse, I discovered that MANY beginner programmers were facing the same issue.

Then I found this video on YouTube – and voilá! – problem solved. The answer to my question is ridiculously straightforward; indeed, ignorance is very costly.

If you’re in a bind like I was, I hope this works for you the way it did for me!

Leave a comment

Filed under Computers & Internet