My travel packing checklist

I wrote this list mainly for myself, but thought maybe others could benefit from this. No matter how much experience you have traveling, I think you’ll always run into something you forget. Hopefully this list can help you minimize those things and allow you to enjoy your trip more rather than you needing to get out and get something because of an emergency.

Medicine – obvious #1 on my list. It’s not always easy to get medications, especially in foreign countries. Bring the ones you need – anything that you’re prescribed. For me, luckily, I don’t take any prescription medicines except for Montelukast (Singulair) if I have an allergy. I guess you can’t predict allergies. For that reason, I carry Loratadine (Claritin) as well. At my last doctor’s visit, he asked me to try Zyrtec instead of the combination of the two, so I will do that next time. Aside from the allergy medications, I would recommend some of the common ones. These include Tylenol or Ibuprofen, NyQuil, etc. If you need pills for motion sickness, sleep aid, caffeine, etc., you probably want to bring some of those as well. Don’t assume that you’ll be able to buy medications abroad. Some over the counter medications in the US are not sold over the counter in other countries. I was shocked to hear that Ibuprofen was considered a strong medication in another country. I also carry stomach medication just in case I eat something bad. I use the Japanese one pictured below. If you have asthma, even if you haven’t had an attack in a long time, be sure to keep an inhaler and if you use a nasal rinse, you might want to bring a bottle and some salt packets. I usually just mix mine with cold bottled water, but most hotels have water kettles to boil water.

Glasses/contacts – I recommend having an extra set of each just in case. What can you do if you can’t see?

Toiletries – toothbrush, toothpaste, floss, maybe a small bottle of mouthwash. Unless you’re staying in Asia, your hotel will not likely have these available for you. They may have some available for sale, but I like to carry my own.

Charging cables – you don’t want to be desperate without a cable. Do whatever you can to avoid paying the tourist price for a crappy cable. In Las Vegas, they were trying to sell generic iPhone cables for $40! Bring your own cable. I like Anker cables, but will carry super cheap cables I get off Amazon as spares as I lose cables pretty often. I also have couple of cables that charge both, my watch and phone.

Nail clipper – I cut my nails almost every week and I’ve bought countless nail clippers abroad. I think it’s good to keep one with you just in case.

Shaving Razors – I’ve also bought many of these abroad. If you’re staying in Asia, most hotels will probably provide you some disposable ones. I would recommend that you have at least one set with you.

Noise-cancelling Headphones – Bose QC35II – I don’t travel without them. I turn them on while I’m on a plane even if I’m not listening to anything just to cancel out the noise. Like a friend said, “They’re expensive, but they’re worth it.”

Humidifier – I keep a little mini humidifier with me when I travel because hotels don’t usually have them. This one works great for me.

Travel power adapter – I keep one of these even if I’m traveling domestically. I recommend you get one of those that has usb charging. I use mine for a night light and usb charging. Additionally, most plugs on airplanes are universal and they tend to stay in much better than standard U.S prongs. The one I use is this one.

Shoes/Slippers – If I’m traveling for work, I always keep a pair of sneakers in the luggage or the dress shoes in the luggage if I’m not heading for business the same day. Always have a set of sneakers or slippers just to be comfortable. I might also bring a pair of flip flops if I plan on swimming.

Extra underwear/socks – I always bring a couple of extra just in case there’s a flight delay or you get dirty for some reason, etc.

Workout clothes/Bathing suit – if you know that where you’re going will have a gym/pool, you should bring a set even if you don’t think you’ll have time to use the facilities. Many times, I’ve gone and been up at 5 am wondering what I should do. The gym is a great way to help you get over jet-lag.

WiFi hotspot – I have one of these so that I can share WiFi among my multiple devices – laptop/iPhone/iPad, but it’s becoming less and less necessary. United airplanes allow you to switch devices as you wish.

First aid kit – if you’re going to be outdoors and not staying at a nice hotel, bringing a first-aid kit with you. Your first aid kit should have things like alcohol, Neosporin, itch cream, bandages, etc.

Portable battery – I don’t usually need/use it, but I carry a portable battery with me most of the time just in case. If you get one, get one that can charge with multiple interfaces – micro-USB and iPhone if you can find it. I use this one. It’s a bit heavy, but it has a high capacity and it charges very quickly.

Laundry detergent – I’m pretty cheap, so I almost never use the hotel laundry service. If I’m staying for more than a week or so, I would look for a laundromat and do the laundry myself if laundry machines are not available in the hotel. If they are, all the better. For this reason, I usually keep a couple of detergent pods in my suitcase as well.

Hope this helps! Please tell me about some of the things you pack in the comments. 🙂

Use yum to manage your packages and stop using rpm!

I hate seeing the RPMDB altered message when doing yum updates!

Transaction Summary
=======================================================================================================================
Install 1 Package
Upgrade 1 Package

Total size: 309 M
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.

For that reason, I tell sysadmins when installing or upgrading rpms to use:

yum -y install <rpm file>

and to use

yum -y remove <rpm name>

to remove the rpm you want.

Solaris pkg upgrade fails with “maximum number of instances of the package which may be supported at one time on the same system has already been met” message

This message is pretty awesome, isn’t it? You can get this message when trying to upgrade a package. At least that’s what happened to me.

username# pkgadd -d .

The following packages are available:

  1  pkgname          pkgname

                          (sparc) version.sol5.sparc

Select package(s) you wish to process (or 'all' to process all packages). (default: all) [?,??,q]: 1

Processing package instance <pkgname> from </tmp/ven/solaris>

pkgname(sparc) version.sol5.sparc Illumio

Current administration requires that a unique instance of the <pkgname> package be created.  However, the maximum number of instances of the package which may be supported at one time on the same system has already been met.

 No changes were made to the system.

This issue is pretty easy to get around. You just need point your admin file that has the right options. In my case, my admin file needed the instance=overwrite:

mail=
instance=overwrite
partial=ask
runlevel=ask
Require that our dependencies are met when installing.
idepend=quit
However, if someone tries to uninstall us but another package depends on us,
we should just warn them & ask if they want to proceed anyway.
rdepend=ask
space=ask
setuid=ask
conflict=ask
action=nocheck
networktimeout=60
networkretries=3
authentication=quit
keystore=/var/sadm/security
proxy=
basedir=default

If you’re using instance=ask, it works also. It’ll just ask you before overwriting.

Fooling around with pkgadd (Solaris packages)

I basically had a Solaris SVR4 package that I needed to install. I didn’t care if the package worked or not after it installed. This is what happened when it first failed.

pkgadd: ERROR: checkinstall script did not complete successfully

The installer said that I was missing a package, so I went into the pkgname/install/checkinstall script and just commented those lines out. After doing that, this happened.

root@alton-solaris:/tmp# pkgadd -d .
The following packages are available:
1 pkgname pkgname
(i386) version
Select package(s) you wish to process (or 'all' to process
all packages). (default: all) [?,??,q]:
Processing package instance from
pkgname(i386) version
company
Executing checkinstall script.
OS Release = 11.4
Processing package information.
Processing system information.
pkgadd: ERROR: packaging file is corrupt
file cksum <26912> expected <26914> actual
Installation of failed (internal error).
No changes were made to the system.

Obviously, there’s some sort of check for integrity of the file. To get around that, I went in and edited the pkgname/pkgmap file to make the changes from 26912 to 26914.

After doing this, the package magically installed. Fun!

Changing root password on Solaris 11.3 x86

I’m posting this only because the process has changed a bit since I did it back in the days. Because I’m not using Solaris on SPARC, there’s no STOP-A, boot -s, etc.

Just like back in the days with Solaris 8, you would need to boot with a cdrom or PXE or jumpstart, whatever method you have. Afterwards, you take the shell option. Obviously, you’re not installing the OS.

Solaris 11 uses ZFS, not UFS so you can’t directly mount a partition. You need import a pool instead.

mkdir /b
zpool import -f -R /a rpool
zfs set mountpoint=legacy rpool/ROOT/solaris
mount -F zfs rpool/ROOT/solaris /b
vi /b/etc/shadow

Edit the shadow file

Find your username and remove the password hash

Change your user id
username:whateverthehashis:12345::::::23456
to
username::12345::::::23456

Then we will need to allow empty passwords at login

$ vi /b/etc/default/login
Change the line:
PASSREQ=YES
to
PASSREQ=NO

umount /b
zfs set mountpoint=/ rpool/ROOT/solaris
zpool export rpool
init 6

When the system boots, you should be able to log in as root and just press return for the password. If you’re logging in through SSH, you won’t need to enter a password.

Hope this saved you some time!

Install .NET 2.0 in Windows 10

What!? Why would you want to do that!? A friend of mine recently brought a computer to me for him to install some old software on. This happened to be some custom software that was written and required .NET 2.0. I tried installing the software and it wouldn’t install because it .NET 2.0 was required and if you go to Microsoft’s website, it looks like the only version you could get is .NET 4.8 and it already came with the OS that his laptop came with! What gives!?

I managed to find this command only that allowed me to continue the install:

DISM /Online /NoRestart /Enable-Feature:NetFx3

Turns out there are tons of YouTube videos and other posts about how to install it. I just didn’t think to look. You could actually just go to the control panel and install it from there as well.

image

Anyway, hope this post can save you some time!

FATAL: invalid value for parameter “TimeZone”: “America/Los_Angeles” with DBeaver

I got that message when trying to use DBeaver to connect to a PostgreSQL DB.

FATAL: invalid value for parameter "TimeZone": "America/Los_Angeles"

I found the fix here. The first thing to check is the timezone you have set on the Postgres db itself. You can do this by running “SELECT * FROM pg_timezone_names;”.

Here’s an example:

avenger_agent_prod=# SELECT * FROM pg_timezone_names;
name | abbrev | utc_offset | is_dst
------+--------+------------+--------
UTC | UTC | 00:00:00 | f
(1 row)

The fix is to make a small change the dbeaver.ini file in DBeaver root directory. If you installed this on a Mac, the file is in /Applications/DBeaver.app/Contents/Eclipse/

Just add:

-Duser.timezone=UTC
-startup
plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.551.v20171108-1834
-showsplash
# START: change jre version, not using the one in %JAVA_HOME%
-vm 
D:\ArPortable\Java\jdk1.8.0_171\jre\bin\server\jvm.dll
# END
# JVM settings
-vmargs
-XX:+IgnoreUnrecognizedVMOptions
--add-modules=ALL-SYSTEM
-Xms64m
-Xmx1024m
# time zone
-Duser.timezone=UTC
# language
-Duser.language=en

When you restart DBeaver, it should connect.

Don’t buy/give gift cards! Store bought Visa gift cards are unsafe!

Unless someone really wants a gift card like the ones in the photo, I would not recommend it! They’re unsafe and prone to hacking. I’ve been burnt twice now for over $600 with no recourse. I bought these because I wanted to pay off some bills with American Express. Because those providers didn’t take AMEX, I bought Visas to do it with. I left the cards sealed and unopened in my drawer figuring that I would just use them later.

The first time I ran into an issue was when I logged into the website and saw that my $500 gift card had only $2 on it! Turned out that somehow, it was used at Gamestop for $497.xx. I had no idea how that could’ve happened! The card was in my drawer and I had just opened it! I emailed the company to file a dispute and I got this response:

  
CONTENT SOLUTIONS COMPANY
Communication Update    Subject: charge dispute  Hello,   Our team is currently working on your Case CS2767575 and has the below update. Thank you for your patience with this matter.   Comments:
Hello,

As stated in your Account Agreement, account discrepancies are to be communicated to us no later than 60 calendar days after the transaction history was first made available to you. Unfortunately, we did not receive your inquiry within this time limit. We have no recourse to recoup these funds for you.

Therefore, we are unable to credit your account, thus closing this dispute. Although we are not able to assist you further, we urge you to pursue this matter directly with the merchant.

We appreciate your business and value you as a customer. If you have any questions about this matter, please contact our Customer Service Department at the number or website address listed on the back of your card. This inbox is used strictly to receive documentation, or information requested related to the disputes processes. We are unable to provide account or disputes updates and apologize for any inconvenience this may cause.

Thank you,
Customer Dispute Services
   Case Status Tracker (Resolved)    What Next? Our customer service team will reach out to you shortly regarding your issue.     Any Questions?   Click here to reply.                                                                      
 

Sure, I let the card sit in my drawer for a long time, but the card hadn’t expired. How did it get used!?

My best guess as to how the card got used: Their website sucks. Now, it has a little stupid check to see if you’re human – shows you a picture of a toy that you need to rotate and when you finally get it, you could check your cards – register the card to use online, check balance, etc. I think maybe the theft happened prior to this security measure was put in place. Maybe it wasn’t. Anyway, I think someone had a script that generated numbers against their website for CVV matches and return the gift card values.

I was unlucky. Hope you’re not next. If you must buy gift cards, definitely have a plan on using them. If someone gave you one, try to use it asap. Some ideas on how to use them – obviously, it’s best to get cash for them if possible. It’s possible, but not easy. I’ve traveled to different places where Walmart cashiers are oblivious and would sell money orders for them. Most Walmarts will not. I’ve also loaded a bluebird card with one as well. Unfortunately, none around me will do it. I think it’s just how lucky you are. The way I use the cards is by doing my regular spend and all of my bills. T-Mobile takes them, I’ve used them for my water bills and energy bills as well. It’s great that I could use them to the penny.

Hope this helps!

By the way, if you’ve been screwed like me and think this is worthy of a class action lawsuit, please let me know and I would love to join.

How to test open ports w/o telnet or nc

Found this out of necessity when a security team didn’t allow the installation of either telnet or nc. I initially thought ssh would work, but it doesn’t really work.

The command is simple. Just do this:

/dev/tcp/<host>/<port>

Replace the <host> and <port>. Here’s how it would look if successful:

SV-LT-1361:~ altonyu$ > /dev/tcp/192.168.0.11/2049
SV-LT-1361:~ altonyu$ echo $?
0

Here’s how it would look if unsuccessful:

SV-LT-1361:~ altonyu$ > /dev/tcp/192.168.0.11/2047
-bash: connect: Connection refused
-bash: /dev/tcp/192.168.0.11/2047: Connection refused
SV-LT-1361:~ altonyu$ echo $?
1

Obviously if the command hangs, it probably means it won’t work either.

Hope this helps someone!

Use update-ca-trust! Or update-ca-certificates.

Don’t just append the /etc/ssl/certs/ca-certificates.crt or the /etc/ssl/certs/ca-bundle.crt.

Not long ago, I thought that it didn’t matter. I figured since the update-ca-trust command just updated the bundle, I might as well skip a step and go directly. I was wrong. Don’t do it. I guess that’s why people actually have processes and directions to follow.

The files are not meant to be edited manually. They are generated by the update-ca-trust or update-ca-certificates commands, which scan the /etc/pki/ca-trust/source/anchors or /usr/local/share/ca-certificates directories for custom CAs, and then concatenate them with the system CAs into a single file. If you edit these files directly, your changes will be overwritten the next time these commands are run. This could mean that your changes would not survive a patching if the ca-certificates package is updated.

The reason why you want to put the certificate issuers in /etc/pki/ca-trust/source/anchors/ or /etc/ssl/certs/ and use the update-ca-trust enable/extract commands is so that it can survive an update. If someone decides to patch the machine and there are other certificates being updated, the one that you appended to the bundle will get deleted.

Follow the process! For me, that’s basically:

1. Copy your custom CA file (in PEM format) to the /etc/pki/ca-trust/source/anchors directory on Red Hat-based systems, or the /usr/local/share/ca-certificates directory on Debian-based systems. Make sure the file has a .crt extension.
2. Run the update-ca-trust or update-ca-certificates command as root. This will regenerate the /etc/ssl/certs/ca-certificates.crt or the /etc/ssl/certs/ca-bundle.crt file with your custom CA included.
3. Restart any services or applications that use SSL/TLS connections, such as web servers, browsers, curl, etc. They should now trust your custom CA.