↓
 

Brent's World

Your weekly dose of the life of Brent!

  • Home
  • About Me
  • Korea
  • Travel
  • Restaurants
  • Photography
  • Movie Reviews
  • Book Reviews
  • Recipies
  • Index
  • Forums
Home - Page 13 << 1 2 … 11 12 13 14 15 … 18 19 >>

Post navigation

← Older posts
Newer posts →

Cruise – Day 15 – Hanoi Free Day

Brent's World Posted on April 3, 2016 by Brent HendricksSeptember 5, 2022

Day 17 – Hanoi Viet Nam.  Homeward Bound.

April 2nd 2015, the last full day of our vacation before heading back to Korea.  It was a strange feeling being able to sleep in, and not having anywhere in particular we needed to go.  So after getting ready we headed out around 10am to walk around our hotel and catch one of the famous water puppet shows.

During the early morning the vendor traffic in front of the hotel is not as chaotic as it was during the previous afternoon, Though here are a couple of fruit vendors right at the front entrance.

Hanoi - Bicycle Vendor

Here is a woman selling cookware.

Hanoi - Pan Vendor

Crossing the street still is a challenge in Hanoi, the rule of thumb being that once you step of the curb to keep walking at a stedy pace, don’t slow down or speed up and the traffic should move around you.  This is quite difficult to get used to, as mopeds and bicycles whizz past you.

Street Crossing

The streets were lined with the traditional Vietnamese lotus flowers.  I

Day 13 - Hanoi - Lotus Flowers

also have to stop and point out that besides the American Fast food chains such as McDonnalds, and KFC, the South Korean Company Lotteria also has a presence in Viet Nam.

Lotteria

Our plan was to walk over to the Hanoi Catholic Cathedral, and The Turtle Tower on Lake Hoan Kiem.  We found out that the Cathedral was closed, so we headed over to the Turtle Tower.

Day 13 - Hanoi - Hanoi cathedral

On the walk along the lake, there were many street vendors and people enjoying their lunch. Here is a vendor selling Mangos, and other fruit, Mi Jung really fell in love with Mangos on this trip.

Mango vendor

I’m not really sure what this guy is smoking here,!

Day 13 - Hanoi - Smoking something

Our first stop is Hoan Kiem lake, which translates to Lake of the Returned Sword.  Legend has it that in 1428, Emperor Le Loi was enjoying boating on the lake when a Golden Turle God surfaced and asked for his magic sword.  Le Loi concluded that Kim Qui had come to reclaim the sowrd that it’s master the Dragon King had given to Loi some time earlier during his revolt against Ming China.  Loi renamed the lake to commemorate this event.  The lake contains a small island with a temple complex, here is the entrance to the island, with a plaque depicting the Dragon King.

Day 13 - Hanoi - Temple Entrence Day 13 - Hanoi - dragon king

The temple complex had a really cool fountain featuring turtles and a Vietnamese fisherman, and several places were you could give offerings to Buddha.

Day 13 - Hanoi - fisherman

I have heard about the practice of buying fake paper currency, called temple money but never seen it.  Apparently they do not practice this custom in Korea, because Mi Jung mistook this for an incinerator and threw some trash in that we had been carrying.

Day 13 - Hanoi - Temple Offering 1 Day 13 - Hanoi - Temple Offering 2

You could also choose a lucky Chinese character for wealth, prosperity, etc. and this local artist would paint it for you.

Day 13 - Hanoi - Luncky Symbol

Mi Jung really likes to pick fruit, and although she couldn’t pick the fruit on the temple grounds, these really large grape fruit were perfect to try and get a portrait.

 

Leaving Hoam Kiem lake, it was time to head to the Thang Long water puppet theater.  Water puppetry originated in the Red River Delta and thus is primarily practiced in northern Viet Nam.  During the rainy season, after the rice paddies would flood the villagers would entertain each other with puppet play.

Day 13 - Hanoi - Water puppet 1 Day 13 - Hanoi - Water puppet 2 Day 13 - Hanoi - Water puppet 3 Day 13 - Hanoi - Water puppet 4

I really enjoyed the performance featuring puppetry, Vietnamese folk music, and pyrotechnics, I could not imagine having to stand waist deep in water several times a day for hours at a time.  If you are planning a trip to Hanoi the water puppet performance is something that needs to make it onto your itinerary!

Day 13 - Hanoi - Water puppet Orchestra

 

Day 13 - Hanoi - Water puppeteers

It was then time to head back to the hotel and pack, then find dinner on the town.  I felt Hanoi had more character then Saigon, and would love to go back and spend some time photographing the city and surrounding country side.  Tomorrow morning it’s off to the airport and back to grind in Korea.

Day 13 - Hanoi - School children Day 13 - Hanoi - Goodbye

 

Posted in Travel | Leave a reply

Installing Chipmunk BASIC on CentOS 7

Brent's World Posted on March 12, 2016 by Brent HendricksMarch 12, 2016

Back To BASIC – Chipmunk BASIC 3.1 on CENTOS 7

Back in December of 2014, I posted an article where I converted a BASIC program from the 1982 Commodore 64 Users Guide and converted it to a BASH script on CENTOS 6.5, you can read the article by clicking here (https://www.catracing.org/hendrb/bash-script-guess-number/). Month after month this has been one the most popular posts on my blog.  So Ibegan to wonder, instead of converting the program to BASH, what options are there for us to actually program and run BASIC programs natively under LINUX.

When I primarily used a Mac computer, there was a version of BASIC written for MacOSX called Chipmunk BASIC. So off I went to Google, and found the authors web page.  Sure enough there is a compiled version for LINUX.  So just what is Chipmunk BASIC?  Direct from the authors website, “  Programming Language. Chipmunk Basic presents a vintage traditional command-line console programming environment, and supports a very simple, old-fashioned, and easy-to-learn Basic Programming Language syntax.”  This sounds like what I am looking for!
There are a couple of catches. one is that you have to download and install the program and the MAN pages manually. No sweat, I am up for the challenge!  The second catch is that this version of BASIC must be run in a GUI under X Windows. Once XWindows server has been installed and started, you can access Chipmunk BASIC from a terminal or remote session however.

Actually, it turned out to be a very very simple process.   Let’s take a look by installing it on my demo virtual box.
First lets see if we have some prerequisite utilities installed that will allow us to download and uncompress  the BASIC program files.  An easy way to check to see if you already have these utilities installed is to see if the MAN pages are installed
$ man wget

If the man page displays then the utility is installed.

MAN wget

If the utility is not installed (As is the case of unzip), you will receive an error message, which is displayed below when I try and view the MAN page for unzip.

MAN unzip

So lets go ahead and install unzip using the yum command.

$ sudo yum install unzip

You must also have a desktop environment installed, so if you installed CENTOS 7 using the minimum install and only use via a console, or a remote shell. We will install GNOME Desktop now.

$sudo yum groups install “GNOME Desktop”
You can either start the X Windows Server now, or after we install Chipmunk BASIC install. To do this, simply execute the following command.

$ startx

We are now ready to download Chipmunk BASIC, Cd to the directory that you want the file to be downloaded to, I have a subdirectory in my HOME directory called Downloads, which I will make sure I am in and if not I will change to that directory.

$ pwd

/home/username

I am not in the correct directory, but since I am in my home directory, a simple cd to Downloads will work.

$ cd Downloads

[username@cr-demo Downloads]$

As you can see, the CD was successful. If I was somewhere else on the system, say /etc.  I can easily get to my home directory using the ~ shortcut.

[username@cr-demo etc]$ cd ~
[username@cr-demo ~]$ pwd

/home/username

Example II:

[username@cr-demo etc]$ cd ~/Downloads
[username@cr-demo Downloads]$
As mentioned above, to actually download the Chipmunk BASIC archive, we use the wget command, with the URL as noted below.

Example I:

$ wget http://www.nicholson.com/rhn/files/cbas367b5-linux-x86_64.zip

You will then see the following screen, and the file should be downloaded.

wget chimpmunk

If you now do a directory listing, you will see your file.

[username@cr-demo Downloads]$ ll

total 180
-rw-rw-r–. 1 local_hendrb01 local_hendrb01 183652 Jun 24 2014 cbas367b5-linux-x86_64.zip

Now we must unzip the file

Usage: unzip filename.zip -d destination_folder

Since we just want the file unzipped to our current directory, we will just enter unzip filename.zip

Example I:

UNZIP

 

We now have 4 new files in our Downloads directory, you can delete the zip file using the rm command if you want to.

$ rm cbas367b5-linux-x86_64.zip

The 4 new files are

-r-xr-xr-x. 1 username groupname 335192 Jun 24 2014 basic
-r–r–r–. 1 username groupname 52635 Apr 22  2011 basic.man.txt
drwxrwxr-x. 2 username groupname     20 Dec 30 20:28 man
-r–r–r–. 1 username groupname   3412 Jun 24  2014 README

File descriptions:basic is the main basic executable, you will want to move this file to /usr/bin
Example:

$ mv basic /usr/bin

Lets also make sure that the owner and group are set to root root. Since it was unzipped under out normal user account, it will most likely show your username.  Not sure if this will cause issues or not, but better be safe than sorry!

Example:

$ ll basic

-r-xr-xr-x. 1 username groupname 335192 Jun 24 2014 basic

$sudo chown root:root basic

$ ll basic

-r-xr-xr-x. 1 root root 335192 Jun 24 2014 basic

Now let’s put the man file where they belong, if we currently try and perform a man on BASIC, we will receive the following error.

EXAMPLE:

$ man basic

No manual entry for basic

How do we know where our man files are located anyway? Simply use the manpath command.
Example:

$manpath

/usr/local/share/man:/usr/share/man/overrides:/usr/share/man
Now we need to determine where the specific man page belongs, have you ever wondered what the number in parentheses means next to the command in a man page? It denotes what type of command it is.  Here is a cheat sheet.
1.General commands
2.System calls
3.C library functions
4.Special files (usually devices, those found in /dev) and drivers
5.File formats and conventions
6.Games and screensavers
7.Miscellanea
8.System administration commands and daemons
So let’s go ahead and put basic in the man1 folder, change the owner to the root user and the root group.

First cd to ~\Downloads
Then let’s move the file.

Example:

$ mv man/basic 1 /usr/share/man/man1
$ sudo chown root:root /usr/share/man/man1/basic.1

Now let’ test.

$ man basic

The following screen should now be displayed.

MAN BASIC

We are now finished installing BASIC. You can now delete the files from your Downloads directory if you wish.
We are however not done with this tutorial! Why go to all this trouble, just to install a programming language, if we are not going to use it to write programs?

So let’s take the number guessing game from the Commodore Users Guide again and see how it works in Chipmunk Basic!

Number Guess

 

 

 

 

 

 

 

You can either enter the program from within Chipmunk BASIC, by entering basic at a prompt.

$ basic

basic running

 

 

 

Or you can enter the program in any text editor, such as vi, or nano.  Like this.

nano1

 

 

 

 

 

 

 

 

So go ahead and load a text editor of your choice. Then have fun typing in the below program!

1 rem  **************************************************************************
2 rem  *      Guess Random Number                                                        *
3 rem  * Originally Published In The 1982 Commodore 64 Users Guide *
4 rem  * Converted to Chipmunk Basic By: Brent Hendricks                   *
5 rem  * Used for a programming demo for installing Chipmunk BASIC *
6 rem  * on CentOS Linux 7, March 12 2016.                                          *
7 rem  * BASIC program released into the public domain.                      *
8 rem  * Article text is copyright Brent’s World.  Reproduction                *
9 rem  * in part of in whole may be done only with permission from       *
10 rem * the author.                                                                                *
11 rem *                                                                                                  *
12 rem * Please visit Brent’s World “An American Expat Living In         *
13 rem * South Korea, for this and other great articles.                         *
14 rem * www.catracing.org/hendrb                                                       *
15 rem ************************************************************************
20 clear
22 cls
23 gosub 120
25 input “Enter Upper Limit For Guess. “,li
30 nm = rnd(li)+1
35  cn = 0
40 print “OK, I’ve got the number.” : print
50 input “What is your guess? “,gu
55 cn = cn+1
60 if gu > nm then print “Nope! My number is lower!” : print : goto 50
70 if gu < nm then print “Nope! My number is higher!” : print : goto 50
80 print “GREAT!! You got my number!”
85 print “In Only “;cn;”guesses.” : print
90 print “Do you want to try another? “;an$
92 get an$ : if an$ = “” then 90
95 if an$ = “Y” or an$ = “YES” or an$ = “y” or an$ = “yes” then 22
110 end
120 print “**************************************************************************”
122 print “*                   Guess Random Number                                           *”
123 print “* Originally Published In The 1982 Commodore 64 Users Guide *”
124 print “* Converted to Chipmunk Basic By: Brent Hendricks.                  *”
125 print “* Used for a programming demo for installing Chipmunk BASIC *”
126 print “* on CentOS Linux 7, March 12 2016.                                         *”
127 print “* BASIC program released into the public domain.                      *”
128 print “* Article text is copyright Brent’s World.  Reproduction                *”
129 print “* in part of in whole may be done only with permission from       *”
130 print “* the author.                                                                                 *”
140 print “*                                                                                                   *”
150 print “* Please visit Brent’s World. An American Expat Living In          *”
160 print “* South Korea, for this and other great articles.                          *”
170 print “* www.catracing.org/hendrb                                                        *”
180 print “**************************************************************”*********”
200 return

I hope you enjoyed the blog, and that you will enjoy Chipmunk BASIC.  Please continue to come back for more great articles from Brent’s World.

Posted in Technical | Leave a reply

Movie Review – Flowers Of War

Brent's World Posted on March 4, 2016 by Brent HendricksMarch 4, 2016

Movie Review – The Flowers Of War

Flowers Of WarIf you have been reading my blog for awhile, you know that my favorite foreign director is Zhang Yimou. Ever since watching Raise The Red Lantern I have watched every one of his films. Of course it is very possible that I was more infatuated with Gong Li at the time then the artistic, and directorial styles of Yimou.

I must admit that I bought the Blu-Ray version of this film some time ago, but have been unable to sit down and watch it. The little time that Mi Jung and I ever have to sit down and watch a movie together is so little that we usually end up watching a comedy, or drama and not a “war” picture.

The Flowers Of War is set during the Japanese occupation of the old capital city of China in Nanking during the Sino-Japanese war in the late 30s. It stars Christian Bale as John Miller, an American undertaker sent to a Catholic Convent to embalm and burry the priest who is in charge of running the convent and protecting the school girls that reside there.

Upon arriving Mr. Miller discovers that traveling into war torn Nanking was all for naught, as the body he has been sent to bury has been annihilated by an exploding bomb. Set on getting paid he is immediately at odds with an orphan named ‘George’ who was the priests right hand man, and put in charge of protecting the girls from the invading Japanese army.

A group of prostitutes also seeks shelter in the convent, and are initially looked down upon by the school girls, and George who think of them as impure, and of a lower social class themselves.   A Japanese Colonel promises to protect the schoolgirls and asks them to sing for him, stating that he loves music and not the lack of being able to hear any singing or music has made him very homesick.

Later this same Colonel stops by to deliver an “invitation” for the girls to sing for the Japanese army who are celebrating the taking of the Capital City. John Miller determines that the girls are not just going to go there to sign, but will offered up as comfort girls for the Japanese soldiers. Mr. Miller begs the Colonel not to make them go as he feels the Colonel is a decent man, and that asking the girls to participate in the celebration of the fall of the city, with all the death and destruction would be the most indecent act imaginable.

Unable to spare the schoolgirls, the leader of the group of prostitutes comes up with a plan where they will go in the schoolgirls place, ultimately sacrificing themselves so the school girls may escape the city.

The movie is based on the real life story of Minnie Vautrin, who ran a college in Nanking, and the college did become safe haven for refugees during the war.

The story  and photography were on par with Zhang Yimous other films. While it did move slowly is some parts of the film, the over all style and storytelling made up for it.   If you are looking for a good story of sacrifice during the time of war, I would highly recommend The Flowers Of War.

If this blog article leads you to watch this film, which is available in DVD or Blu-Ray. As well available for rent or purchase on the iTunes Music Store, please stop by our forums to discuss the film.

Posted in Movie Reviews | Leave a reply

Wednesday Quickie – Chipotle Cheese Enchiladas

Brent's World Posted on February 17, 2016 by Brent HendricksMay 25, 2020

Wednesday Quickie

Chipotle Cheese Enchiladas

739901_10151345601687910_1079123335_o

Keeping with the theme of this weeks blog (Restaurant review of Of The Boarder), which featured some awesome Cheese and Onion Enchiladas.  You can read the review by clicking here.  I thought I would post a recipe for our favorite Chipotle Cheese Enchiladas.  We hope you enjoy them.

The Sauce (Ingredients) :

(2) 8 Oz. cans tomato sauce
(1) chipotle pepper (1 pepper, not one can!) (SEE NOTE 1)
(1/2) Onion cut into chunks
1 teaspoon cumin
1/4 teaspoon dried oregano
1 clove garlic

The Sauce ( Directions )

1 ) Place all ingredients in a blender or food processor.
2 ) Blend until smooth.

The Enchiladas (Ingredients) :

(1) Medium Onion
4 Cups grated cheddar cheese
(1) can sliced black olives, drained
(1) 12 pack of flower tortillas
2 cups grated Monterey Jack cheese.

The Enchiladas

(Directions)

1 ) Spread 1 cup enchilada sauce into a 9 x 13 in baking dish.
2) Combine onion, cheddar cheese and half the olive in a large bowl.
3) Spread 1/3 cup mixture on each tortilla.
4) Roll each tortilla to enclose filling.
5) Place seam side down in prepared dish.
6) Pour remaining sauce over top, and sprinkle with the Monterey Jack cheese and remaining olives.

Bake covered in foil at 350F (180C) Degree’s for 30 minutes.

NOTE 1: I ordered 12 cans of Chipotle in Adobe sauce from Amazon.com and they were shipped to me in Korea.  In the states you should be able to find the chipotle peppers without the sauce.

If you make these enchiladas please come back and comment on the recipe!

774566_10151345643187910_630431200_o

 

Posted in Recipies | Leave a reply

CENTOS 7 – Managing Services Using Systemctl

Brent's World Posted on January 30, 2016 by Brent HendricksJanuary 30, 2016

Blog - Centos

CENTos 7 – Using Systemctl

For this months technical blog thought I would share another difference between previous versions of the operating system.  Which is very different and can be very confusing for those of us used to the older ‘unix’ way of doing things.  RHEL 7, and therefor CENTos 7 have done away with the init.d method of boot scripts and starting and stopping services.  The OS now uses systemd (Similar to Apple’s launchd in OSX).  I will not be delving into the nuts and bolts of what systemd is, and how it works.  This is a simple run down of the commands you need to know to start, stop, and restart services using systemctl.  Additionally I will also cover systemd’s equivalent to runlevels, and how to change and set your systems default environment during boot.

Starting, Stopping, and Restarting Services.

In this article I assume that you are following best practices by logging in with a standard user account and evelating your privileges using sudo. If you are not, simply ignore the sudo command.

Starting a service.

Using init.d unix and Linux system, to start a service we would use the service command, which would execute it’s specific startup script. Whereas in CENTos 7 you would use systemctl.

Previous verions of CENTos –

               sudo service <service name> start

CENTos 7 –

               sudo systemctl start <service name>

Stopping a service.

Previous versions of CENTos –

               sudo service <service name> stop

CENTos 7 –

               sudo systemctl stop <service name>

Restarting a service.

Previous versions of CENTos –

               sudo service <service name> restart

CENTos 7 –

              sudo systemctl restart <service name>

This should all look pretty straight forward, you mostly just have to remember the new systemctl command, and the fact that you now place the action before service name.

Configuring boot services,

So how do we go about configuring which services are started at boot? With init.d you could either modify your init scripts for a specific runlevel, in the rc.d directory, or use a command called chkconfig which would handle it for you.

Previous versions of CENTos –

                sudo chkconfig –list sshd

    sshd                      0:off      1:off      2:on       3:on       4:on       5:on       6:off

 This shows us that the ssd service is either on or off in each corresponding runlevel. For instance runlevel 1 (Single User Mode), sshd is off at boot, however with run level (consoleonly, with networking services), sshd is on at boot.  I do find it interesting that sshd is configured to be on in runlevel 2 (Console only, no networking.)

You could easily toggle a specific service either on or off for each service with the following command.

                sudo chkconfig <service> –level <runlevels>

Full example given below.

                sudo chkconfig sshd –level 35

This would in effect, toggle the sshd service to be started at boot in both run revel 3 (Multi-User, with networking, in console mode.), and runlevel 5 (Multi-User, with networking, in Graphical Environment Mode (XWindows).

CENTos 7 –

In CENTos 7, You no longer have runlevels, so you only need to worry about a service being on or off (Or enabled or disabled), again using the systemctl command.

To configure a service to be started at boot.

                systemctl enable <service name>

Full example given below. Using the secure shell daemon.

               sudo systemctl enable sshd

To no longer have a service started at boot.

                systemctl disble <service name>

Full example given below, Using the secure shell daemon.

                sudo systectl disable sshd

Displaying a list of running services.

You can get the status of the running services or a single service by the following 2 methods.                 

                  systemctl status

Will return the status of every running service, and its dependents.

                  systemctl status <service>

Will display the status of an individual service (such as winbind shown here).

├─winbind.service
             │ ├─17859 /usr/sbin/winbindd
             │ ├─17998 /usr/sbin/winbindd
             │ ├─19090 /usr/sbin/winbindd
             │ ├─19398 /usr/sbin/winbindd
             │ └─19854 /usr/sbin/winbindd

The last bit I will demonstrate with system control is how to switch between a console (Command Line) environment, and how to set the default runrevel.
First let’s find out what runlevel we are current using.

                   sudo systemctl get-default

The system will return the current target mode

multi-user.target

This is the old runrevel 3, (command line, multi user with networking).
So let’s say we wanted to switch to the old runlevel 5 “Multiuser, Networking, with Xwindows”

We can have centOS return a list of available “TARGETS” (runlevels), You do not need to run this command as root, so no sudo is necessary.

systemctl list-units –t target -a

UNIT LOAD      ACTIVE   SUB    DESCRIPTION
target           loaded    active   active Basic System
target      loaded    active   active Encrypted Volumes
target       loaded    inactive dead   Emergency Mode
target           loaded    inactive dead   Final Step
target           loaded    active   active Login Prompt
target       loaded    inactive dead   Graphical Interface
local-fs-pre.target    loaded    active   active Local File Systems (Pre)
local-fs.target        loaded    active   active Local File Systems
multi-user.target      loaded    active   active Multi-User System
network-online.target  loaded    active   active Network is Online
network-pre.target     loaded    inactive dead   Network (Pre)
target         loaded    active   active Network
nss-lookup.target      loaded  inactive dead   Host and Network Name Lookups
nss-user-lookup.target loaded    inactive dead   User and Group Name Lookups
target           loaded    active   active Paths
remote-fs-pre.target   loaded    inactive dead   Remote File Systems (Pre)
remote-fs.target       loaded    active   active Remote File System
target          loaded    inactive dead   Rescue Mode
target        loaded    inactive dead   Shutdown
target          loaded    active   active Slices
target         loaded    active   active Sockets
target           loaded    active   active Sound Card

For the old runlevel 5, (Xwindows, Multi-User, With Networking) we would issue the following command. As this will manipulate services, we must run this as root.
                   sudo systemctl isolate graphical.target

To switch back to runlevel 3  ‘multi-user target’
sudo systemctl isolate multiuser.target

Now that we can switch between targets “Runlevels” let’s set one as a default.

Remember we mentioned in the beginning of the blog that CentOS 7 now uses systemd and not init.d to control the boot process. Systemd uses a symbolic link to determine the systems default target”  If you do an ls-l or ll on /etc/systemd/system, you can determine the systems default target.
                  ll /etc/systemd/system

  • 1 root root 41 Jan  4 04:20 default.target -> /usr/lib/systemd/system/multi-user.target

First we must remove the symbolic link

                  sudo rm/etc/systemd/system/default.target

Now we create a new symbolic link to the ‘graphical.tartarget’

sudo ln-sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

Before we reboot the system, let’s make sure the default target symbolic link was correctly set.

                 ll /etc/systemd/system/

We should now see this

lrwxrwxrwx 1 root root   36 Jan 23 11:13 default.target – /lib/systemd/system/graphical.target

Let’s go ahead and reboot the system, and it should now boot into the GUI (XWindows                  

                 sudo reboot

To return the system to boot into a multi-user console with networking, repeat the steps above, substituting ‘multi-user.target’ in place of graphical.target.  Like this.

sudo ln-sf /lib/systemd/system/multi-user/target /etc/systemd/system/default.target

 

You should now have a better grasp on how to control services, and your default run level using CentOS 7.

I hope you enjoyed this month’s technical blog, and will continue to return for more exciting and informative articles. All comments are welcome.

DISCLAIMER: While we strive to bring you the most accurate information, use these commands at your own risk.  Neither the authors nor Brent’s World are responsible for any damage, or loss of data, nor loss of revenue resulting in downtime, either expected or unexpected that may occur by using the commands outlined in this blog.  It is recommended that these commands or scripts be executed in a test environment (Preferably on a virtual machine, not connected to an active network), until you fully understand the actions being performed by the commands or scripts.

Posted in Technical | Leave a reply

Movie Review – The Intern

Brent's World Posted on January 17, 2016 by Brent HendricksJanuary 17, 2016

The-Intern-new-poster   After the aborted attempt to watch The Spy, I was not holding out much hope for The Intern, the second comedy I had on my list to watch this weekend.  However, I was pleasantly surprised.  A solid performance from Robert Di Niro, and Anne Hathaway, and a well-rounded and fast paced scripted kept us laughing and entertained.

 

Ben Whittaker (Di Niro), is a 70-year-old retired widower, who spending 40 years in the Yellow Pages business as a VP for DEX One has seen and done it all and even though he enjoys traveling in his retirement admits that it is always a letdown when he has to return to his empty house. Looking for something to keep him occupied he applies for a “Seniors Intern” position at a relatively new web based clothing store.  Hi strong work ethic, and outgoing personable manner, soon make him a hit with his much younger coworkers.

Jules Ostin, founder and CEO of ‘About The Fit’, an online clothing store, is solely focused on making her company succeed, which it apparently is after going from a startup to 220 employee company in 18 months. However, we soon realize that the demands of the business are taking a tole on her life as she rarely sleeps, or has time for husband or daughter.  Her coworkers admit that she is difficult to please and hard to get along with.

Throughout the movie we see Jules learn to trust Ben’s devotion to always trying to do what is right, and to help out those around him. Only a few times to see his veneer crack, and are allowed to see some of the sadness that obviously comes from living a full life.  Such as Ben’s only regret in over 40 years of marriage with his wife, that it wasn’t long enough.   Thankfully the movie never strays long into some of the heavier aspects of the various backstories.  Showing you glimpses that all is not as happy and carefree as they seem, and success comes at a price.  You are quickly presented with another occasion to laugh.

The Intern is a great film to lose yourself in for the evening, pop some popcorn, turn on the Blu Ray or DVD player and sit back and enjoy a great movie. You will not be disappointed with this film.  It would be a great movie to watch on date night with your significant other!

The Intern currently has a rating of 61% on Rotten Tomatoes and holds as the number 14 Top Movie on the iTunes Music Store.

Posted in Movie Reviews | Leave a reply

Technical – Using metadata to analyze your photography habits

Brent's World Posted on December 29, 2015 by Brent HendricksMay 11, 2016

What your Metadata says about you?
Using Metadata To Analyze Your Lens Usage.

Contrary to the title, this is not going to be another scare piece about how your camera’s metadata is a tool created by the some evil government organization out to track your every move through social media, or how .xif files can be used by Joe Hacker or Pete the Pedophile for nefarious purposes.  There are plenty of articles out there already in the blog sphere, and mainstream media.   I am going to show you one example on how metadata, can be a very useful tool for planning your next shoot.  Whether it be your next assignment or vacation.   If you are like me who has been bitten by lens addiction, you have found your camera bag growing heavier by the month.  Is there a way to find out which lens I use the most, so I can make an educated assumption of which equipment to take with me or leave at home?

Yes there is!! if you  use Adobe Photoshop Lightroom to organize your photos you can use the filter bar in the Library module to sort  by a multitude of categories, such as camera, lens, focal length etc.  You can then just look at the breakdown and make a quick guess of the gear you use the most or take it one step further and plug that data into a spreadsheet and come up with some pretty nifty graphs.

Let’s go ahead and go into Lightroom. Once  our library has loaded, go to the Library Module  and select Filter by Metadata > Enable Metadata Filter.  You will see the following screen come up with the default filters selected.

Setup
By Default, Lightroom will filter by Date, Camera, Lens, and Label.  I have set my filters to add Aperture, and removed labels.  As you can see in 2010, I supposedly had 2 cameras (I think when I converted my library from Apple’s Aperture to Lightroom some of the metadata became corrupted.) I am pretty sure 6 of the 7 pictures were shot with the Canon30D and the 70-200 F4.0L.

I took 506 pictures in 2010 (This does seem a bit low, but we won’t argue).
I owned 2 lenses, and surprisingly enough took an equal amount of photos with either lens. F4.0 seemed to be my most frequent used aperture with 109 pictures.
Let’s jump to 2015, where the data is much different.

Setup
Ignore the Canon 7D, as this is the camera Mi Jung uses, and I imported her photos from our river cruise. We are only interested in the pictures that I have taken.

This year I have taken 8089 photos, it looks like the EF 70-200mm f/4L IS USM lens is the clear winner, with the EF50mm f/1.2L USM being the runner up. The EF16-35mm f/2.8L has gotten a surprising amount of use, as I bought this lens late in 2014.  I am surprised that I have used the Tameron 150-600mm/f5-6.3 as much as I have been, because it is pretty much a specialty lens, and pretty heavy to boot.  It looks like f4 has won out again this year as being my most used aperture, which I think has something to do with it being my most used lens (70-200mm f4L) wide open aperture.

Now that we have a way to get the numbers, let’s go ahead and put them into Excel so we can actually start analyzing the data.

Lens useage data

Here I have entered the data obtained by Lightroom into an Excel spreadsheet sorted by year, I have highlighted the year the lenses were purchased in blue.

If I highlight the spreadsheet, then go to Insert > Insert Collum Or Bar Chart, or Instert Pie or Doughnut Chart.  I can get good graphical representations of my lens usage

Here is bar chart displaying the number of pictures taken each year sorted by lens.

Lens useage by year

We can change the sorting to display number of pictures by lens sorted by year by clicking on the chart and selecting the chart filters icon.

Change sorting - chart filters

Then click Select Data

Change sorting - chart filters Select Data

Click Switch Row/Colum

Switch Row and Column

Click Ok

You will now see the chart is displaying the amont of pictures taken each year sorted by lens.

Lens usage by lens

Conclusion –

If I was planning a trip and packing light, The lenses that I would take would most likely be the EF 70-200mm f/4L, EF-50mm/f1.2.  It would then be a judgment call if I would take either the EF 35mm/f1.4 or the EF 16-35mm/f2.8.   Most likely I would take the 16-35mm, unless I knew I would be doing a lot of shooting in area’s that were not well lit.

You now have a pretty good idea how useful your camera’s meta data can be, and a way that can make itself useful to you.  You can break these numbers down even further if you keyword your photos in your library.  For instance, if I populated the category field, I could further break these numbers down by what lens’s I use most often at “The Beach”, or on “Cruises”, or at a “Wedding”  How you sort your photos is a personal preference, how you use Lightroom is up to the you.  Keep active, and keep shooting!

 

 

 

Posted in Technical | Leave a reply

Fun With BASH Scripts – Randquote v1.1

Brent's World Posted on November 29, 2015 by Brent HendricksNovember 24, 2015

Some of the most popular posts on my blog have been my BASH scripting tutorials.  I am not sure if anyone is actually typing them in and using them, but they do come to read them.  One of the burdens of having successful posts, especially dealing with programing, is you feel compelled to come back and follow up on them.

So while reading about  “20 Funny Commands of Linux or Linux is Fun in Terminal” on Techmint ( http://www.tecmint.com/20-funny-commands-of-linux-or-linux-is-fun-in-terminal/ ). I stumbled upon ‘cowsay’  amd had the wild idea that it would make a great upgrade  to my Random Quote script!

First, let’s start off with the simple question.  What is Cowsay?  Cowsay is a pearl script that will take text and output it inside a cow’s cartoon speech bubble drawn with ASCII characters.  Like This.Cowsay
Now I know at this point there is a NIX guru out there jumping up and down, wanting to tell me that there is no need to modify my code at all, and this exercise is a waste of time, I could simply pipe the output of RandQuote to cowsay and be done with it.  While on one hand this person would be correct, however there are 2 reasons to press on.  The first being that due to the output being centered by the BASH Script, the output looks funny (Extra Spaces), second I want to be able to demonstrate how to write a BASH script that uses command line arguments.  So get a fresh cup of coffee, pull up your chair, and stay awhile.

The first thing we need to do is actually download and install the cowsay script, if you are running Linux in a GUI, simply go to the following URL ( http://www.melvilletheatre.com/articles/el7/cowsay-3.03-14.el7.centos.noarch.rpm ) to download the file.

If you are operating your system from the console or from a terminal you will need to use the wget command.

If it is not installed use sudo yum install wget first, then copy the url above, then cd to your Downloads directory. Ie ~/Downloads.  If you do not have a downloads directory you can either use /tmp (Though this is not considered best practice), or you can create the directory with the mkdir command.  Anyways.  Getting back on track, once you are sure your directory is set to the place you want to download cowsay to.
Copy the url above and enter sudo wget <PASTE>, you should end up with
$sudo wget http://www.melvilletheatre.com/articles/el7/cowsay-3.03-14.el7.centos.noarch.rpm .

Once cowsay has been downloaded, we next need to install it using rpm.  As we are still in the directory where cowsay was downloaded, simply perform an ls, and select and copy the filename,  cowsay-3.03-14.el7.centos.noarch.rpm .  Now issue the command
sudo rpm rpm –ivh cowsay-3.03-14.el7.centos.noarch.rpm . That’s it!  You now have cowsay installed.  Now comes the hard part. Now we have to modify randquote to incorporate cowsay, hence making it v1.1.

Lets test cowsay to make sure it is installed and working properly, at your shell prompt $ enter cowsay “The Quick Brown Fox Jumped Over The Lazy Dog.” If everything installed correctly, you should be presented with the screen below.

Cowsay_test

Now let’s go ahead and actually add the necessary lines to randqoute.sh, if you actually have the script installed and running on your system, let’s put it someplace where we can work on it, and not break the actual running copy.  The documentation called for the script to run from /opt/randquote, and we will place a copy in a folder called dev under your home folder.  If dev does not exist lets create it.  At a shell prompt type $ mkdir ~/dev <ENTER>
If you perform a ls of ~/ you should see dev listed.

Lets perform the actual copy.  So again at your shell prompt, type.$ sudo cp /opt/randquote/randquote.sh ~/dev/randquote_v1.1.sh <ENTER>

This will copy the file with the new filename randquote1.1.sh so we can easily differentiate between the two versions.  We will also most likely need to change owners so we can edit the file without having to use SUDO all the time.
$ chown <USERNAME> : <GROUP> ~/dev/randquote_v1.1.sh <ENTER>

Let us now go into NANO, and edit the script.

$ nano ~/dev/randquote_v1.1.sh

Add the following under the copyright message, <CR> Denotes Carriage Return.
#
# RandQuote v1.1 (C)22NOV2015 by Brent Hendricks
# Added the ability to display quotes through cowsay.
# cowsay is writen by Tomy Monroe (tomy@nog.net)
<CR>
COWSAY=0
<CR>
## Get Options
<CR>
while getopts “c” OPTION
do
          case $OPTION in
          c)
          COWSAY=1
          ;;
          esac
done
<CR>

Now cursor down to ## Read Quote from Quote file

After sed -n “${RECORD},+5p” $QUOTATIONS > $TEMP_QUOTATION

Highlight and cut sed -e :a -e “s/^.\{1,${TERMWIDE}\}$/ &/;ta” -e ‘s/\( *\)\1/\1/’ $TEMP_$

Then add the following.

<CR>
if [ $COWSAY -eq 0 ]
then
Paste the line you cut from above. ‘sed -e :a -e “s/^.\{1,${TERMWIDE}\}$/ &/;ta” -e ‘s/\( *\)\1/\1/’ $TEMP_$’
else
cat “${TEMP_QUOTATION}” | cowsay
fi

The rest of the file remains untouched.  The entire file listing should look like this.

1  #! /bin/bash
2
3  # BASH script to display RANDOM QUOTE and center text depending on terminal width.
4  # BASH script and quotations taken from CNET Amiga 2 AREXX PFILE
5  # AMIGA Version Copyright 1992 Jim Selleck and Beverly James Products
6  #
7  # BASH Script (C)24MAY2015 by Brent Hendricks
8  # Script and accompaning BLOG article (C) 2015 Brent Hendricks
9  # Script and quotes are public domain, the accompaning BLOG may only be
used with permission
10  # Contact brent.hendricks@catracing.org if you wish to republish the article.
11  # Please visit Brent’s World @ www.catracing.org\hendrb
12  #
13  # RandQuote v1.1 (C)22NOV2015 by Brent Hendricks
14  # Added the ability to display quotes through cowsay.
15  # cowsay is writen by Tomy Monroe (tomy@nog.net)
16
17  COWSAY=0
18
19  ## Get Options
20
21  while getopts “c” OPTION
22          do
23                  case $OPTION in
24                    c)
25                          COWSAY=1
26                          ;;
27                  esac
28  done
29
30  ## Get Terminal Width
31  TERMWIDE=”$(tput cols)”
32  ((TERMWIDE = TERMWIDE -3))
33
34  ## Set file path
35  QUOTATIONS=/opt/randquote/quotations
36  TEMP_QUOTATION=/tmp/temp_quotation
37
38  ## Get number of quotations
39  QUOTES=”$(cat $QUOTATIONS | wc -l)”
40  ((QUOTES = QUOTES / 5))
41
42  ## Pick a record
43
44  RECORD=$(($RANDOM % $QUOTES * 5))
45
46  ## Read Quote from Quote file
47  sed -n “${RECORD},+5p” $QUOTATIONS > $TEMP_QUOTATION
48
49  if [ $COWSAY -eq 0 ]
50  then
51          sed -e :a -e “s/^.\{1,${TERMWIDE}\}$/ &/;ta” -e ‘s/\( *\)\1/\1/’
$TEMP_QUOTATION
52  else
53          cat “${TEMP_QUOTATION}” | cowsay
54  fi
55
56  ## Remove TEMP_QUOTATION scratch file
57  # rm -f “${TEMP_QUOTATION}”
58 exit 0
We should now be able to test version 1.1.  make sure you are in the directory where v1.1 resides and at a shell prompt enter.

$ ./randquote_v1.1.sh –c

If all worked out right in the end, you should see.

Working_Randquote1.1

Let’s also do a quick test to determine if you can also generate the random quote without the output being piped through cowsay.

At the shell prompt execute randquote without the -c option, like this.

$ ./randquote_v1.1.sh

You should then only see the normal randquote output.

console_randquote

Once everything is tested me can replace randquote with v1.1

At the shell prompt, let us first rename the original randquote so we retain a backup copy. To do this we use the move (mv) command.

$ sudo mv /opt/randquote/randquote /opt/randquote/randquote_v1.0 <ENTER>

Now we move randquote_v1.1 from our dev directory, renaming it randquote. (Unless you want to keep the _v1.1 filename and change your login scripts.

$ sudo mv ~/dev/randquote_v1.1 /opt/randquote/randquote

We are now finished, if you have entered randquote for the first time, you will also need to download the quotations file attachment. https://www.catracing.org/hendrb/wp-content/uploads/2015/06/quotations.txt

I would like to thank the following people whose blog’s helped immensley with writing version 1.1

First I would like to thank Tomy Monroe who without cowsay, version 1.1 would not be possible.

Second I would like to thank Avishek Kumar for writing the blog 20 Funny Commands of Linux or Linux is Fun in Terminal, http://www.tecmint.com/20-funny-commands-of-linux-or-linux-is-fun-in-terminal/ . Who gave me the original idea.

Last but not least, for showing me the light regarding the getopts statement, this wonderful blog tutorial by rsalveti, Bash: Parsing arguments with ‘getopts’ https://rsalveti.wordpress.com/2007/04/03/bash-parsing-arguments-with-getopts/

I hope you enjoyed the blog, and please visit our forums, register and discuss this script, other Linux or technical topics, by visiting. www.catracing.org/hendrb/forums

Posted in Technical | Leave a reply

Wednesday Quickie – Bonnies Pizza in Haebangchong

Brent's World Posted on November 19, 2015 by Brent HendricksJuly 2, 2022

Wanted to do a restaurant review on some of the Pizza options in Seoul, after receiving tips from one of my co-workers.  So I set off to Haebangchong in search of Bonnie’s Pizza Pub.HAEBONGCHONBonnies Pizza Pub - frontThe restaurant is not difficult to find, if you take Seoul Metro Line 6 to Noksopyong Station and exit ‘Way Out’ #2 continue down the street, you will come to a small fork in the road and keep to the left.  You will then pass US ARMY Garrison Yongsan’s famous Kimchee Pot gate, the road will then fork and you want to keep to the left. Continue walking up the hill and you will find Bonnie’s Pizza Pub on your left.

Kimchee Pots
The Great Wall of Kimchee Pots

The restaurant is on the small side, and it does get busy. So if going later in the evening, or on a weekend plan on a bit of a wait.  I had heard from my coworker that they had thick crust pizza, but discovered they only had think crust for certain types of Pizza, which was a little disappointing. We ordered a half cheese, and half Hawaiian thin crust. The pizza was excellent, and was definitely enough for 2 people. The only issue I had was the thin crust was really difficult to eat without making a mess. I have never been one to eat Pizza with a fork.

Half and Half PizzaNot gracefulDrinks at Bonnie’s are self-serve, and they have a large drink selection of beer and soft drinks.

The following week, we ordered another Hawaiian (Thick Crust), and a conquistador pizza that had Chorizo on it, however again this was only available in thin crust. I really liked this pizza, as it was pretty spicy.

We also discovered that the Yongsan #2 (Ni-ban) bus stops right outside the restaurant. Which makes it very convenient to get to from our apartment.

Alternate directions – Using the Ni-ban (Green Yongsan #2 Bus)

From the Munbaedong side of the Samgakji bridge take the #2 bus towards Haebongchon (N Seoul Tower side of street.). Get off in front of Bonnies Pizza Pub.
You can also pick up the #2 bus in front of Namyeong Station, or Sookmyung Woman’s University Station.

Contact Information:
Address: 2 Sinheung-ro 3-gil, Yongsan-gu, Seoul
Phone:02-792-0303
Hours: Open today · 2:00 PM – 12:00 AM

Posted in Restaurant Reviews | Leave a reply

We Now Have Forums

Brent's World Posted on November 8, 2015 by Brent HendricksNovember 8, 2015

I have added phpBB forums to the website!  I feel it will better promote the mission of my blog, which is to provide information to travelers or expats in Korea.

If you have something to share about Korea, Photography, or your Technical interests.  Please consider dropping by the forums and registering!

forumsThe forums can either be accessed from the main page by clicking on Forums, or from the link below.

https://www.catracing.org/hendrb/forum

Posted in Blog News | Leave a reply

Post navigation

← Older posts
Newer posts →

Recent Posts

  • On The Road Again – Photo Day at The Lubee Bat Conservancy!
  • CQ Contest CQ Contest! – The Trials, Tribulation, and Triumph of Amateur Radio Contesting.
  • On The Grill – Sea Pak Moreys – Grilled Steakhouse Salmon
  • Blast From The Past – Jinhae Cherry Blossom Festival
  • On The Road Again – HamCation 2025

Recent Comments

  • Trials, Tribulations, and Triumphs – A look back at 2024 and looking ahead to 2025! - Brent's World on On The Road Again – The Lubee Bat Conservancy
  • Brent Hendricks on On The Road And On The Air – Installing the Yaesu FTM-500DR
  • Brent Hendricks on On The Road And On The Air – Installing the Yaesu FTM-500DR
  • Todd R. Smith on On The Road And On The Air – Installing the Yaesu FTM-500DR
  • Pensacola Restaurant Review - Miguel's Mexican Restaurant - Brent's World on San Diego Restaurant Review – Natis Mexican Restaurant

Archives

  • November 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • August 2023
  • July 2023
  • June 2023
  • August 2021
  • July 2021
  • June 2021
  • January 2021
  • December 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
  • December 2019
  • October 2019
  • September 2019
  • August 2019
  • July 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019
  • December 2018
  • October 2018
  • September 2018
  • July 2018
  • June 2018
  • April 2018
  • March 2018
  • February 2018
  • January 2018
  • December 2017
  • November 2017
  • October 2017
  • August 2017
  • July 2017
  • June 2017
  • May 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • September 2016
  • August 2016
  • July 2016
  • June 2016
  • May 2016
  • April 2016
  • March 2016
  • February 2016
  • January 2016
  • December 2015
  • November 2015
  • October 2015
  • September 2015
  • August 2015
  • July 2015
  • June 2015
  • May 2015
  • April 2015
  • March 2015
  • February 2015
  • January 2015
  • December 2014
  • November 2014
  • October 2014
  • September 2014
  • August 2014
  • July 2014
  • June 2014
  • May 2014

Categories

  • Blog News
  • Book Reviews
  • Korea
  • Movie Reviews
  • Photography
  • Recipies
  • Restaurant Reviews
  • Technical
  • Travel
  • Uncategorized

Meta

  • Register
  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org
©2025 - Brent's World - Weaver Xtreme Theme
↑