Friday, April 28, 2017

Bill Nye Saves the World - Season 1 Comments

AstrologyReviewing the new Netflix show.
Trying to do what Penn & Teller's: Bullshit did, however, Netflix is doing a terrible job, less honest, less fact based.
Comedy is terrible as Bill is trying too hard to be funny, and just comes off as an idiot. I recently re-watched some of his original Bill Nye and he was silly, but forgivable as a kids show...also with more fact based arguments.

E01 - Earth Is a Hot Mess
This was very cringeworthy and terrible. A climate episode without a single climate scientist. Starting from a conclusion and not actually backing up the idea of anthropomorphic climate change.
The engineering around Venice is cool, but Venice has been known to be sinking for hundreds of years, so saying the issue is entirely climate change is appealing yo feelings and not science, and disregards facts.

I was also very annoyed by how they had a token nuclear power discussion  but dismissed it out of hand since many uninformed people don't like nuclear power. Instead of actually helping to educate and help restore public confidence. Nuclear power is significantly better than coal power yet the lack of understanding and fear has caused countries like Germany and France to revert to much less climate friendly power solutions.

Overall this was a very politically motivated episode with little educational aspects or scientific rigor.

E02 - Tune your Quack-o-Meter
Starts as just the Penn & Tellers episodes about crystal healing and other b.s. alternative medicines.
The panel was fairly good with two scientists discussing the relative validity if sound therapy, crystal therapy, sports medicine and placebos. There was another person who didn't add anything to the conversation except to criticize how things were being stated.

Then we had a comedy skit by an Indian making fun of white people for following other cultures alternative medicine. Didn't add anything.

Followed up with a fun display of antacid testing milk of magnesia vs some hippie dippy stuff from whole foods.
Better than 1x01

E03 - Machines take over the world
Simple review of some smart/IoT devices. and how machine learning is affecting us. The Veritasium Youtuber was brought in to do a story about an AI which through analysis of 16th century painters produced a unique work in the same style.

E04 - More Food, Less Hype
Starting with a nice little experiment to extract strawberry DNA and with Bill not trying to hard to be funny, I was really enjoying the middle school science class experience. It was also interesting, and unexpected, to me that Bill and his writers appeared initially to be in favor of genetically modified organisms (GMOs).

Derek Muller (@veritasium) was back again to do a quick story on the "science of feelings" interviewing people at a farmers market about their opinion of GMOs. Penn & Teller previously did a good episode which spoke to the same issues people talked about and thoroughly debunked ideas like "they're taking spider DNA and putting it int corn." All of the frankenfood fear mongers.

Overall a fine episode. I prefer when Bill is just playing the straight person without trying to do kiddy humor.

E05 - The Original Martian Invasion
This episode is about Panspermia. Wikipedia defines this as  the hypothesis that life exists throughout the Universe, distributed by meteoroids, asteroids, comets, planetoids, and also by spacecraft in the form of unintended contamination by microorganisms. Merriam-Webster defines this asa theory propounded in the 19th century in opposition to the theory of spontaneous generation and holding that reproductive bodies of living organisms exist throughout the universe and develop wherever the environment is favorable. The definition, or discussion in Bill Nye: Saves The World: The idea of panspermia is that an asteroid impact on Mars sent tons of materials into space, and teeny-tiny Martian microbes survived the trip and the landing, and started life on Earth.

Definitely another cringe worthy episode. There was some good discussions of the 2020 Mars missing by NASA to send another rover to Mars with better sample collecting systems. The plan is to hopefully plan for a secondary trip afterwards to retrieve the samples so that they can be analyzed on Earth for signs of live.

Celebrity appearances this time, Alton Brown, Hunter Pence, Will Wheaton, and Randy Couture. Hunter Pence hit a baseball to simulate an astroid (he wanted to be a comet) and hit a Mars globe which dropped goo on Earth. Definitely the best way to show Panspermia. Will Wheaton talked about aliens and Star Trek, as expected. Randy Couture played a "tough guy" Tardigrade. It was somewhat funny,  but mostly just terrible!

E06 - Do Some Shots, Save the World
An episode about vaccines. Penn & Teller's: Bullshit did a better episode on this. s08e10 - Vaccinations, more fact based, less hyperbole.

Bill tries to build an equivalency between seat belt laws and the laws forcing vaccines. I completely agree that people should be vaccinated, however, I don't agree with government authoritarianism forcing an action, however, the first thing they want to do in this episode is enforce an agenda that the federal government should force vaccinations. Local municipalities do have regulations around vaccines when trying to enter day-care or grade school.

Polio, they went to India and gave a quick review of a mass vaccination program there. The report used emotionally manipulative music, and hyperbole like, if even on kid doesn't have a vaccine then all kids are at risk.

Panel section; reformed anti-vaxxer mother, a sociology professor, a pediatrician. The anti-vaxxer mother was reformed when her family all got Rotavirus and she learned thy might have been able to avoid. A good discussion of the fact that many parents, mothers in particular, feel like they are becoming experts and either deciding not to vaccinate, or to "make their own schedule" for vaccinating.

No Bill Nye: Saves the World episode would be complete without a terrible sketch.

E07 - Cheat Codes for Reality


An episode focused on how games, gaming, and specifically video games are impacting how we live, work, and play. Starting with a discussion of medical training via video games. Next they discuss the impact on socialization, and personality with a focus on the hypothesis that video games may impact aggression. A quick review of eSports and gamers who play for a living. And finally VR.

This was the least chringy episode so far. But there are some of the tropes of todays attention defficit culture to get forced laughs. As always they must reiterate what the cultural norm of a gamer is, fat, teenager, basement...and say that, that is false and then remind us that people who play video games, casual mobile games all the way to hardcore PC FPS gamers include ~%50 women.

All in all, not a terrible episode. good review of the use of video games in laparoscopic surgical training. Basic psychological discussion the games don't have much if any correlated effect on agression, and then some simple fun with VR. Nothing mind blowing, nothing controversal.

E08 - This Diet Is Bananas
Fad Diets, forced jokes, nothing learned. Only one real scientist spoken too, a psyhcologist. Other persons on Bills panel were a comedian, and the host of The Biggest Loser, a show where people generally lose a ton of weight in a horribly unsustainable way and then gain it all back.

As you can tell I am getting tired of this show, glad it's not getting a second season. I'm only trying to complete the watching. Again, these were better dealt with on Penn & Teller's Bullshit!

E09 - The Sexual Spectrum
The Most cringeworthy, least science based episode. While trying to expand the discussion of sex (biological sex), gender indentity, sexuality, and gender presentation they choose to then talk about all items together and forget about the idea that they were trying to separate these ideas.

The big issues I have are

  1. Trying to define everything based upon 0.25% of the population. As stated in the episode, one (1) in four hundred (400) births has an abnormal number of sex chromosones, (1/400 =.25/100 = 0.25%).
  2. Mischaracterising opposing viewpoints regarding terminology used to talk about people. Saying that people should just get over the fact that we have persons who are intersexed, and those who have different sexualities, gender identities, and expressions. The argument is generally about whether or not one should be forced at gunpoint to accept and use a specific gender pronoun (ze/zer/zim/them/they/...etc). As the issues generally come from ideologies that require word police and enforcing how people speak at the point of a gun.
  3. The cartoon ice cream sexuality skit is absolutely the standard trope that people who disagree with someone elses lifestyle is secretly interested and ready to jump on that bandwagon. I agree that sexuality conversion therapy is a terrible, ineffective, and harmful activity. But I also feel that young people should not be inundated with sexuality selection, gender identification...etc. while still learning the basis of living, the need to sleep, the need to eat, the need to learn...etc.
  4. The sexuality song is utterly terrible. Just watch it!


E10 - Saving the World -- with Space!
Bill decides to complain about those who might think that space travel is no longer important. Let me say that I disagree with that assesment, and had not heard anyone espose the idea that we should not still explore space. In the US we have multiple private companies which are actively getting access to

E11 - Malarkey!
Penn & Teller did this better. Watch the Penn & Teller Bullshit Astrology episode, or the one on Mediums.

E12 - Designer Babies
In Vitro Fertilization (IVF) with screening, not very deep, basically introduced the idea of true designer babies and explained that we are not at the point of selecting traits. They didn't even start talking about the ethical dilemas of if we get to that point.

E13 - Earth's People Problem
I disagree completely with the idea that we should follow the China model of one child per family because of our carbon emissions. This shows the lefts desire to authoritarianism and I certainly disagree with that.

Then the biggest part is the standard leftist ideal that everything is the fault of the patriarchy. And they enjoyed making fun of guys who don't necessarily understand birth-control, this is a terrible way to educate. In the end when you make fun of someone like that they just shutdown.

Summary:
Bill Nye Saves the World is bad, It doesn't really talk to scientist or is very literate. Penn & Teller did all the same discussions, except the gender one as it only recently became a strong component of culture and politics. Unfortunately most of the discussion is infused with politics instead of facts, evidence, and building principals to form cohegent arguments. I was extremely happy when I understood this shwo was not renewed. However, it looks like it may have gotten a second season. I for one will not be watching.

Sunday, March 19, 2017

2017 Gaming PCs

Current Systems

Home Theater Gaming PC

This system is definitely better than my gaming system in all but one way, the graphics card is a bottleneck.

  • Case: Thermaltake CA-1D5-00S1WN-00
  • PSU: EVGA - 80 PLUS 600W -fixed
  • MB: ASRock Z170M Extreme4
  • CPU: Intel Core i7-6700K - 4.0GHz
  • RAM: GeIL EVO POTENZA 16GB (2x8GB) DDR4-2133
  • GPU: XFX FX-797A-TNFC AMD Radeon HD 7970 CE - 3GB
  • OS Drive: MyDigitalSSD 120GB (128GB) BP5e SATA III M.2 SSD

Gaming PC

I can't believe I was still running a Gen3 i7 from 2012 in this system. Five Years is quite the run for a gaming system

  • Case: SilverStone Fortress Series FT02
  • PSU: Thermaltake TR2 RX - 750W 80 PLUS Bronze - Modular
  • MB: ASRock X79 Extreme 4
  • CPU: Intel Core i7-3820 Sandy Bridge-E - 3.6Ghz
  • RAM: G.SKILL Ares Series 16GB (4x4GB) DDR3-1600
  • GPU: EVGA NVIDIA GeForce GTX 980 SC - 4GB
  • OS Drive: Plextor M5P Series 2.5" 128GB SATA III SSD

New Systems

Home Theater Gaming PC

I will replace the AMD Graphics with the Nvidia Graphics Card. PSU may also need to be replaced. This was my first mATX build and it looks pretty nice in the theater room.
  • Case: Thermaltake CA-1D5-00S1WN-00
  • PSU: EVGA - 80 PLUS 600W -fixed
  • MB: ASRock Z170M Extreme4
  • CPU: Intel Core i7-6700K - 4.0GHz
  • RAM: GeIL EVO POTENZA 16GB (2x8GB) DDR4-2133
  • GPU: EVGA NVIDIA GeForce GTX 980 SC - 4GB
  • OS Drive: MyDigitalSSD 120GB (128GB) BP5eSATA III M.2 SSD

New Gaming PC - Won

Handily beats my current gaming system. Also beats out my Home Theater system by moving to the Gen7 Intel chip, and upgraded graphics. The 1070 was what I was concidering for my next GPU.

  • Case: Phanteks Eclipse P400 Tempered Glass Edition
  • PSU: Corsair CX650M — 650W 80 PLUS Bronze - Modular
  • MB: MSI Z170A GAMING M5
  • CPU: Intel Core i7-7700K Kaby Lake - 4.2Ghz
  • RAM: Corsair Vengeance LPX 16GB (2x8GB) DDR4-3000
  • GPU: EVGA NVIDIA GeForce GTX 1070 - 8GB
  • OS Drive: Intel 600p PCIe M.2 SSD - 512GB




I may add images in the future.

Thursday, September 12, 2013

Firefox 23 broke the Address Bar Search

This is a short rant about the latest Firefox Release...23.0.x.
It appears that Mozilla decided to change the Address Bar functionality so that instead of always searching with a default search engine, it would search with the selected Search Bar engine. While I understand the idea it simply does not work, for my workflow. I have been dealing with it, silently cursing Mozilla for a week or so now when finally a Google search gave me a workable fix.
I installed the ad-don, Keyword Search which sets the address bar search engine and locks it. So far so good. When I type in the address bar I always get the Google search that I want. I hope this helps others.

Found the Ad-don here: http://superuser.com/questions/629530/firefox-search-behavior-changed-in-version-23-can-i-get-the-old-behavior-back

Friday, February 15, 2013

ReadyNAS NV+ v2 Transmission BT with flexget

This guide will cover the steps that I followed to get the Transmission BitTorrent client installed and working with my RSS feeder on a NetGear ReadyNAS NV+ v2 (ARM) I did all of this with RAIDiator 5.3.7 (the OS version)

1. Install the Root SSH Access plugin
http://www.readynas.com/?p=4203
To install plugins on the ReadyNAS
1) Download the .bin file
2) Navigate to the ReadyNAS configuration dashboard (https://ReadyNAS_IP) Select Configure from the header bar.
3) Navigate to the Add-ons section of the configuration dashboard (If you don't see it click on the double arrow (>>)
4) Click on the Add Add-on button (top right below Dashboard)
5) Browse to the bin file and Upload it.

2. Grab the Free Transmission plugin:
http://www.sergeysurba.com/projects/transmission
Install it the same wasy as the Root SSH plugin above.

3. Configure Transimission.
The transmission settings can be set via the webgui, for the most part. However some items can only be configured via the ssh connection, settings file is /c/transmission/settings.json
Information about the configuration variables: https://trac.transmissionbt.com/wiki/ConfigFiles

Example of my configuration
root@NAS:~# cat /c/transmission/settings.json
{
    "alt-speed-down": 50,
    "alt-speed-enabled": false,
    "alt-speed-time-begin": 540,
    "alt-speed-time-day": 127,
    "alt-speed-time-enabled": false,
    "alt-speed-time-end": 1020,
    "alt-speed-up": 50,
    "bind-address-ipv4": "0.0.0.0",
    "bind-address-ipv6": "::",
    "blocklist-enabled": true,
    "blocklist-url": "http://list.iblocklist.com/?list=bt_level1&fileformat=p2p",
    "cache-size-mb": 2,
    "dht-enabled": true,
    "download-dir": "/c/media/Torrents",
    "download-queue-enabled": true,
    "download-queue-size": 5,
    "encryption": 2,
    "idle-seeding-limit": 30,
    "idle-seeding-limit-enabled": false,
    "incomplete-dir": "/c/transmission/incomplete",
    "incomplete-dir-enabled": false,
    "lpd-enabled": false,
    "message-level": 2,
    "peer-congestion-algorithm": "",
    "peer-limit-global": 240,
    "peer-limit-per-torrent": 60,
    "peer-port": 15000,
    "peer-port-random-high": 65535,
    "peer-port-random-low": 49152,
    "peer-port-random-on-start": false,
    "peer-socket-tos": "default",
    "pex-enabled": true,
    "port-forwarding-enabled": true,
    "preallocation": 1,
    "prefetch-enabled": 0,
    "queue-stalled-enabled": true,
    "queue-stalled-minutes": 30,
    "ratio-limit": 2.0,
    "ratio-limit-enabled": true,
    "rename-partial-files": true,
    "rpc-authentication-required": false,
    "rpc-bind-address": "0.0.0.0",
    "rpc-enabled": true,
    "rpc-password": "password",
    "rpc-port": 9091,
    "rpc-url": "/transmission/",
    "rpc-username": "username",
    "rpc-whitelist": "*",
    "rpc-whitelist-enabled": false,
    "scrape-paused-torrents-enabled": true,
    "script-torrent-done-enabled": false,
    "script-torrent-done-filename": "",
    "seed-queue-enabled": false,
    "seed-queue-size": 10,
    "speed-limit-down": 100,
    "speed-limit-down-enabled": false,
    "speed-limit-up": 50,
    "speed-limit-up-enabled": true,
    "start-added-torrents": true,
    "trash-original-torrent-files": false,
    "umask": 0,
    "upload-slots-per-torrent": 14,
    "utp-enabled": true
}

To reload the configuration you must stop and re-start the Add-on. This can be accomplished by navigating to the Installed Add-on page, clicking on the name of the Add-on. Unchecking the enabled box, saving, then checking it again, and saving.

For easy torrent control I recommend flexget and the transmission-rpc plugin.
4. How to install flexget and the transmission-rpc plugin. Follow the guide for Linux here:
http://flexget.com/wiki/InstallWizard/Linux/Environment
1) Install python and python-pip
root@NAS:~# apt-get update
root@NAS:~# apt-get install python python-pip

2) check that the python installed is 2.6/2.7
root@NAS:~# python -V
Python 2.6.6

3) Install FlexGet
root@NAS:~# pip install flexget

4) Install the FlexGet transmission-rpc plugin
root@NAS:~# pip install transmissionrpc

6. Configure FlexGet: http://flexget.com/wiki/Configuration
Example of my configuration (simple because I have a webserver do the real filtering for me)
root@NAS:~# cat .flexget/config.yml
presets:
  tv:
    all_series: yes
    set:
      path: /c/media/Torrents
    transmission:
      host: localhost
      port: 9091
      username: username
      password: password

tasks:

  showRSS:
    rss: http://showrss.karmorra.info/rss.php?user_id=getYourOwn&hd=null&proper=null
    preset: tv

It is recommended to use a symbolic link to place the configuration files into the RAID area (/c)
e.g.
lrwxrwxrwx  1 root  root    11 2013-02-12 18:45 .flexget -> /c/flexget/
To create this link do the following
root@NAS:~# cd ~
root@NAS:~# mkdir /c/flexget
root@NAS:~# ln -s /c/flexget/ .flexget

7. Test that FlexGet works, and doesn't show any errors
root@NAS:~# flexget --test
I recommend using this test action anytime you make changes just to be assured that the configuration is still valid.

7. Schedule FlexGet to run following this guide:
http://flexget.com/wiki/InstallWizard/Linux/Environment/FlexGet/Scheduling
root@NAS:~# contab -e
insert and paste:
@hourly /usr/local/bin/flexget --cron
Or the following equivalent expression
0 * * * * /usr/local/bin/flexget --cron
In cron the values are as follows
min hour day month day-of-week
If you set divisions it runs when there is a zero remainder or you can think of it as every multiple of the divisor. e.g. */10 = 0,10,20,30... or */2 = 0,2,4,6,8...



Thursday, December 20, 2012

Get iperf3 (new version) source code

There is a new version of iperf, iperf3 at code.google.com/p/iperf/. I am not sure if it is any better than iperf2 but it is cool to have a new source to play with. Anyways if you want to build this code on Ubuntu you may encounter a failure due to missing libraries.

Here is a quick review of my attempt to build this tool.

1. Download the latest beta code
user@localhost:~$ wget http://iperf.googlecode.com/files/iperf-3.0b4.tar.gz

2. Extract the code
user@localhost:~$ tar -xvzf iperf-3.0b4.tar.gz

3. With most source code you then have to run the configuration tool for the makefile to be properly built

user@localhost:~$ cd iperf-3.0b4/
user@localhost:~/iperf-3.0b4$ ./configure
This is the output that I got
./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for ranlib... ranlib
checking whether ln -s works... yes
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/bin/ld option to reload object files... -r
checking how to recognize dependent libraries... pass_all
checking for ar... ar
checking for strip... strip
checking for ranlib... (cached) ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for ANSI C header files... (cached) yes
checking for uuid_create... no
checking for uuid_generate... no
checking for uuid_generate in -luuid... no
configure: error: libuuid is not available
What I noticed is that libuuid is not available. So how do we find where we can get libuuid? A google search lead me to this page:
www.debian-administration.org/article/334/Finding_which_package_contains_a_file
and the apt-file tool

4. So let us use apt-file and figure it out and then install the necessary library.
4a. If you don't have apt-file follow the guide available at the link above to install it and prepare, or just do the following
user@localhost:~/iperf-3.0b4$ sudo apt-get install apt-file && sudo apt-file update

4b. Search using apt-file for libuuid
user@localhost:~/iperf-3.0b4$ apt-file search libuuid
cruft: /usr/lib/cruft/filters-unex/libuuid1
drizzle: /usr/lib/drizzle7/libuuid_function_plugin.so
drizzle-dbg: /usr/lib/debug/usr/lib/drizzle7/libuuid_function_plugin.so
fp-units-base-2.4.4: /usr/lib/fpc/2.4.4/units/x86_64-linux/uuid/libplibuuid.a
fp-units-base-2.4.4: /usr/lib/fpc/2.4.4/units/x86_64-linux/uuid/libuuid.o
fp-units-base-2.4.4: /usr/lib/fpc/2.4.4/units/x86_64-linux/uuid/libuuid.ppu
fpc-source-2.4.4: /usr/share/fpcsrc/2.4.4/packages/uuid/src/libuuid.pp
libdata-uuid-libuuid-perl: /usr/share/doc/libdata-uuid-libuuid-perl/changelog.Debian.gz
libdata-uuid-libuuid-perl: /usr/share/doc/libdata-uuid-libuuid-perl/copyright
libuuid-perl: /usr/share/doc/libuuid-perl/changelog.Debian.gz
libuuid-perl: /usr/share/doc/libuuid-perl/copyright
libuuid-tiny-perl: /usr/share/doc/libuuid-tiny-perl/changelog.Debian.gz
libuuid-tiny-perl: /usr/share/doc/libuuid-tiny-perl/copyright
libuuid1: /lib/x86_64-linux-gnu/libuuid.so.1
libuuid1: /lib/x86_64-linux-gnu/libuuid.so.1.3.0
libuuid1: /usr/share/doc/libuuid1/changelog.Debian.gz
libuuid1: /usr/share/doc/libuuid1/copyright
libuuidm-ocaml-dev: /usr/share/doc/libuuidm-ocaml-dev/README
libuuidm-ocaml-dev: /usr/share/doc/libuuidm-ocaml-dev/changelog.Debian.gz
libuuidm-ocaml-dev: /usr/share/doc/libuuidm-ocaml-dev/copyright
libuuidm-ocaml-dev: /var/lib/ocaml/lintian/libuuidm-ocaml-dev.info
libuuidm-ocaml-dev: /var/lib/ocaml/md5sums/libuuidm-ocaml-dev.md5sums
libuuidtools-ruby: /usr/share/doc/libuuidtools-ruby/changelog.Debian.gz
libuuidtools-ruby: /usr/share/doc/libuuidtools-ruby/copyright
libuuidtools-ruby-doc: /usr/share/doc/libuuidtools-ruby-doc/changelog.Debian.gz
libuuidtools-ruby-doc: /usr/share/doc/libuuidtools-ruby-doc/copyright
libuuidtools-ruby1.8: /usr/share/doc/libuuidtools-ruby1.8/changelog.Debian.gz
libuuidtools-ruby1.8: /usr/share/doc/libuuidtools-ruby1.8/copyright
libuuidtools-ruby1.9.1: /usr/share/doc/libuuidtools-ruby1.9.1/changelog.Debian.gz
libuuidtools-ruby1.9.1: /usr/share/doc/libuuidtools-ruby1.9.1/copyright
mingw-w64-dev: /usr/i686-w64-mingw32/lib/libuuid.a
mingw-w64-dev: /usr/x86_64-w64-mingw32/lib/libuuid.a
mingw32-runtime: /usr/i586-mingw32msvc/lib/libuuid.a
pandora-build: /usr/share/aclocal/pandora_have_libuuid.m4
uuid-dev: /usr/lib/x86_64-linux-gnu/libuuid.a
uuid-dev: /usr/lib/x86_64-linux-gnu/libuuid.so
wine1.4-amd64: /usr/lib/x86_64-linux-gnu/wine/libuuid.a

I look at this list and choose uuid-dev

4c. Install the chosen package
user@localhost:~/iperf-3.0b4$ sudo apt-get install uuid-dev

5. Re-run ./configure to confirm success
If no other errors run make to build the tool.

6. user@localhost:~/iperf-3.0b4$ make
Now you can look in the src directory for iperf3 which is a compiled version you can use on the same architure of linux...enjoy the iperf tool

Here is a good site on how to use iperf basics linhost.info/2010/02/iperf-on-windows/. Note: it was written with iperf2 on Windows. Perhaps I will write a quick guide, later, regarding my primary use case for iperf, validating VPN performance.

Monday, December 10, 2012

Proper upstart script for the No-IP DNS Update Client

Updated script again, better error handling and readability. Only looked at it due to a little bit of rebuilding my HTPC which runs this tool.
#!/bin/bash
### BEGIN INIT INFO
# Provides:          noip2
# Required-Start:    networking
# Required-Stop:     networking
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts instance of noip2
# Description:       No-IP DUC (DNS Update Client) start stop service script
### END INIT INFO
#
# copy to /etc/init.d
# run "update-rc.d noip2 defaults" to install
# run "update-rc.d noip2 remove" to remove
#
# Version 1 by Craig Lorentzen
# Version 2 - Added LSB INIT INFO
# Version 3 - Improved error handling and readability
# Version 4 - Added status (to check if the service is running and with what PID

NAME=noip2
PATH=/usr/local/bin
DAEMON=$PATH/$NAME
PID=$(/bin/pidof -s $DAEMON)

do_start()
{
        echo "Starting $NAME."
        echo
        if [ $PID ]; then
                echo "   WARNING: $NAME is already running."
                echo
                PID=
        else
                $($DAEMON)
        fi
}

do_stop()
{
        echo "Stopping $NAME."
        echo
        if [ $PID ]; then
                kill $PID
                PID=
        else
                echo "   WARNING: $NAME is not running."
                echo
        fi
}

do_status()
{
        if [ $PID ]; then
                echo "$NAME is running as $PID"
        else
                echo "$NAME is not running"
                echo
        fi
}

case "$1" in
        start)
                do_start
        ;;
        stop)
                do_stop
        ;;
        restart)
                echo "Restarting $NAME."
                do_stop
                do_start
        ;;
        status)
                do_status
        ;;
        *)
                echo "     Usage: $NAME (start|stop|restart|status)"
                echo
                exit 1
        ;;
esac

exit 0

If you have a No-IP Dynamic DNS account, free at no-ip.com Then you likely want to use the DUC (Dynamic Update Client) to automate the process of keeping it up-to-date. No-IP provides a client for Windows, Mac, and Linux. I have an Linux host running 24x7 at my house, so I decided to try the Linux version.

http://www.no-ip.com/downloads.php?page=linux

This tool used to be in the Ubuntu repositories but has been removed, so No-IP provides the source to be compiled, however, they don't provide a good start script and do not use the upstart method to install the automatic starter. So I decided to create a proper script to follow the upstart method. I understand that this script is not following all LSB standards, however, it should do what people need after following the process that No-IP Provides to compile and install.

Thursday, November 22, 2012

Mac OS X: Disable auto iTunes load on Audio CD insertion

If any of you have been frustrated as I was by not being able to configure iTunes to ignore inserted Audio CDs I have found the solutions. What we do is configure the CD and DVD handling preferences to not load iTunes. Here is how:
Access the 'CDs & DVDs' System Preferences Page
Apple->System Preferences, CDs & DVDs
Original Screenshot:

Now select Ignore for the option when inserting an Audio CD. We can also see that we can accomplish similar changes for DVDs and Picture CDs. Hope this helps others as it helped me.

Tuesday, October 16, 2012

Latest GIMP for Ubuntu

If you are interested in keeping up-to-date with GIMP (the GNU Image Manipulation Program) on your Ubuntu install, look no further than the otto-kesselgulasch/gimp PPA (Personal Package Archive)

Process:
sudo add-apt-repository ppa:otto-kesselgulasch/gimp
sudo apt-get update
sudo apt-get install gimp
One command at a time, or add a double ampersand (&&) between each item and concatenate it onto one line.

I find GIMP to be a good professional style image manipulation program, however, it doesn't beat simple tools like IRFanView for simple resize/cropping activities. I found this PPA useful, so just posting for others.

Thursday, May 31, 2012

Mac OS X 10.7 show the Users Library

http://osxdaily.com/2011/07/04/show-library-directory-in-mac-os-x-lion/

Show User ~/Library in OS X Lion

Launch Terminal from Spotlight or Launchpad -> Utilities, and enter the following command to show or hide the directory:
chflags nohidden ~/Library/

The users Library folder will immediately become visible again. Reverting this back to the standard Lion setting is simple too:
Hide User ~/Library in OS X Lion (default setting)

This returns to the default setting of hiding the user Library directory:
chflags hidden ~/Library

Changes take effect immediately again, and Library becomes invisible to the user.

Update: temporary one-off solutions are also available for quick access to User Library in Lion

Wolfenstein: Enemy Territory Available for Windows/Mac/Linux

Mac install instructions taken from http://forums.warchestgames.com/showthread.php/14517-ET-OSX-2-60d?p=383459&viewfull=1#post383459 Tested and working for me too (MacBook Pro 15-inch, Late 2011).
-----
How to run Wolfenstein ET on OS X Lion: (Tested on Macbook Pro 2011)

1. Download (Wolfenstein Enemy Territory 2.60d)
2. Drag the Wolfenstein ET folder to your Applications folder.
3. Run the punkbuster installer.
4. In ~/Library/Application Support/ create "Wolfenstein ET" folder and therein "etmain" folder.
5. Download a punkbuster etkey
6. Put the etkey in the following location: ~/Library/Application Support/Wolfenstein ET/etmain
7. In ~/Library/Application Support/Wolfenstein ET/etmain/ create a file: "autoexec.cfg"
8. Paste the two lines of this file:

seta r_colorbits "32"
set r_allowExtensions 0

9. Run ET.

10. Set screen resolution via the following commands in the game console (press ~ after launching the game to view game console):

/r_customwidth XXXX
/r_customheight XXXX
/r_mode -1
-----

Here is the proper link to download WolfET for Any OS
http://www.splashdamage.com/content/download-wolfenstein-enemy-territory

I'll see you on the battlefield. Enjoy!!!

Monday, May 28, 2012

AppCleaner

For those who are interested in cleaning out all traces of an Apple "App" when removed from the OS.

http://www.freemacsoft.net/appcleaner/

Sunday, May 27, 2012

com.apple.quarantine

If you are like me, you may have gotten annoyed in both Windows and Mac OS X by the warning window.

Mac OS X Example Screenshot

These warnings come from a metadata source that the OS is evaluating. On Windows, Microsoft uses a NTFS feature called Alternate Data Streams. In Windows when you open the file you get a warning...You can click OK and the ADS will remain, or you can uncheck the box "Always ask before opening this file". Unchecking that box and clicking Open/Run will delete the ADS which tells Windows that this file was downloaded from a network location. For more details on the ADS associated with a file, and/or to delete the ADS check out the Sysinternals Streams tool.


In Mac OS X, Apple uses a feature called extended Attributes. You can see that a file has extended attributes via the List Long output (ls -l) and looking for the at (@) symbol.

I downloaded synergy 1.4.8 from http://synergy-foss.org/ as an example
user:~$ ls -l synergy-1.4.8-MacOSX107-x86_64.dmg
-rw-r--r--@ 1 user group 13783645 Apr 25 17:42 synergy-1.4.8-MacOSX107-x86_64.dmg
Now let's see what Extended Attributes are associated with this file.

user:~$ xattr synergy-1.4.8-MacOSX107-x86_64.dmg
com.apple.metadata:kMDItemWhereFroms
com.apple.quarantine

Note: When opening the Disk Image we do not get a warning, however, some of the attributes follow any file copied from the Disk Image. Also, new attributes are added after opening thanks to some checks performed on Mac OS X. Just Notes, I haven't looked into these other items.

I extracted the Synergy.App so that I can use it to example the filewarning

user:~$ xattr Synergy.app/
com.apple.quarantine

If you do not want to receive this warning we need to remove (delete) the Extended Attribute com.apple.quarantine

user:~$ xattr -d com.apple.quarantine Synergy.app/
user:~$ xattr Synergy.app/
#Note: No Output since the one attribute was removed.
user:~$

When I am working with a large amount of data downloaded for tech-support purposes, and I trust the source, I will tend to remove this attribute manually from the Terminal just so that I don't have any trouble with any files not opening.

user:~$ xattr -rd com.apple.quarantine folder/

I hope this helps others dealing with there Mac and improves our knowledge. Thanks to this Macworld Article as the stepping stone to my understanding of Extended Attributes.
http://www.macworld.com/article/1145324/filewarnings.html

Tuesday, May 15, 2012

Get QuickSilver

Get quicksilver
http://www.blacktree.com/

This tool is similar to the built in Spotlight but is a little different. Many people find is more efficient for them.

After installing the tool then use Control+Space to launch and type what you want.

Monday, May 07, 2012

Lock Me Now

Those who have used Windows or Linux before are probably used to the Super+L or Control+Alt+L actions to lock your screen. The utility of this is noticeable when you work in a Cube Farm and need to ensure that no one access your workstation when you are away from it.

By Default the way to Lock the screen, not very intuitive if you ask me, is to hit Control+Shift+Eject on your Mac Laptop. Now how do I map this to a USB keyboard that I use when at the office? Not possible you might say.

Solution:
There are a couple solutions I have tried. One is okay, the other is good. The Okay method, which I do not recommend can be found here
I don't recommend it because it is a little finicky and does not directly address the concern.

The good way is to use Lock Me Now (iTunes Store) it's free. After installing and running it you will find a small lock icon in the System Tray (not sure if this is the proper Apple term). Edit the Preferences to configure the key combination you want and confirm that the Application starts at boot. The only complaint I have is that the "Paus iTunes Music" Option will start iTunes, even if it is not running, so that it can Pause the nothing that is playing.

Another Option Using BetterTouchTool (Read my previous post on how to get BetterTouchTool Setup)
http://www.tech-recipes.com/rx/9930/bettertouchtool-and-mac-os-x-lock-your-mac-with-a-touchpad-gesture-keyboard-shortcut-and-more/

Thursday, May 03, 2012

Mac OS X Manage Login Applications

Log in as the user who wishes to have a login item or as an admin user.
Choose System Preferences from the Apple menu.
Choose Accounts from the View menu.
Click the name of the user.
Mac OS X 10.3.x: Click the Startup Items button.
Mac OS X 10.4 or later: Click the Login Items button.
Click the "Add {+}" button.

Wednesday, May 02, 2012

MD5 sums

Mac OS X has a really awful MD5 tool. On Linux we have the md5sum tool which outputs the following when you run it against a file

#md5sum file
8c45b25f15362fb3a74959bb7056df5f *file

On Mac we have a wrapper for openssl md5 which provides the bellow output
#md5 file
MD5 (file) = 8c45b25f15362fb3a74959bb7056df5f

On Linux I can then sort the output numerically and then very easily see what files are duplicates. I can also use the wonderful -c option to take in a file containing MD5s and file-names in the same style as the output of md5sum so that I can -c Check that the files are the same.

On Mac OS X neither of these simple and effective uses can be completed without bending over backwards with manual work or coming up with some script to do the same thing. I tried to install md5sum from ports, however, it doesn't exist there. So for now I am stuck with an inferior tool which does not accomplish my goals of using the MD5 hash to both remove duplicate files and confirm that moved files haven't been corrupted.

This Rant is brought to you by Craig

Tuesday, May 01, 2012

Installing Applications

I have seen this problem since even before I got my Mac. Most Mac OS X Applications are packaged in dmg (Disk Image) files. By opening this file the Disk Image is mounted and the contents displayed in Finder. At this point I see some users double-click the Application and run it from there. They then keep this App icon in the Dock. When they do this, everytime they open the App it re-mounts the dmg and runs. This is an incorrect way to install your App and could easily cause problems when you clean up your Downloads folder.

Instead follow these steps
1. Mount the dmg (Open it)
2. Click and drag the App to the Applications folder (or any folder you wish to "Install to")
Mac OS X Apps are pretty cool in that they are a single file containing all needed libraries.
It is an archive that you can even navigate it, not that it is very useful, but you can by right clicking (Secondary Click in Apple lingo) and select "Show Package Contents".
3. Run the App from the folder that you installed it to. Add to Dock if you like.
Use the Finder to confirm that all Disk Images are un-mounted (click the Eject Icon) and then run the App again to confirm you accomplished the above steps and no longer have the OS doing double duty to run the App.

Just a quick tutorial, I hope it helps noobs get used to their Mac.

Monday, April 30, 2012

Get BetterTouchTool

Click here for the home of BetterTouchTool (Direct Download).

BetterTouchTool

Is necessary if you want to make Mac OS X work with the keyboard like Windows 7 and many Linux window managers.

By default after installing BetterTouchTool it will start at login so it should be always available unless you quit it.  I need BetterTouchTool to provide Windows 7 like (actually better than) window snapping. So that when you pull a window to the edge of the screen it automatically makes that window take up a known section of the screen. I generally use Left and Right side (50%) of the screen so that I can work on two things at once.

To enable Window Snapping, first you must enable the Advanced view in BetterTouchTool (BetterTouchTool options are opened via the Control+Alt+Super+O keyboard shortcut). When Advanced in enabled you wil have Gestres, General Settings, and Action Settings. Select the Action Settings tab and check the box for "Window Snapping Enabled" if I remember correctly all of the while dragging options are enabled by default when you enable Window Snapping.

Many Mac OS X users will be happy with this as they may tend to like using a mouse. For me, however, I must be able to do a lot of this without removing my hand from the keyboard.  To add "Gestures" to BetterTouchTool do the following

  1. Select the input device you wish to use for the Gesture
  2. On the bottom right select the action you wish to accomplish (Maximize Window Left)
  3. Click in the Shortcut area, use the input device to record the geture which will affect the action. (Control +Super+Left)
Example from top line of my keyboard shortcuts below.

Keyboard Shortcuts:
Shortcut Action / Shortcut
⌘⌃←
Maximize Window Left
⌥⌃←
Move Window to Next Monitor
⌥⌃→
Move Window to Next Monitor
⌘⌃↓
Restore old window size
⌘⌃↑
Maximize Window
⌘⌥⌃O
Show BTT Preferences
⌘⌃→
Maximize Window Right

Normal Mouse Buttons: Global
Modifiers Gesture Action / Shortcut Notes
(null)
Button 3
⌘[
Back
(null)
Button 4
⌘]
Forward

Happy BetterTouchTool tweaking.

Sunday, April 29, 2012

Home/End

In every OS I have worked with Home/End takes me to the Begging/End of a LINE. In Mac OS X to be different they made it be the Beginning and End of the page.

Control+A/Control+E like in the Terminal can sometimes work instead, however it is not fool-proof and can create a very frustrating environment where you either have to hold the Arrow for an eternity or use your mouse. And like most Linux users I have grown to ignore the mouse for most work.


Update: Linux/Windows Home/End functionality with full support in all text applications is Super+Left/Super+Right. Also, Mac OS X Home/End can be reproduced with Super+Up/Super+Down.

Just learned this today and thought I would share it.