2022-05-11

Remove Opaque Overlay and Label Button in Gmail.

Gmail now has an ugly overlay which obscuress any custom inbox image; this is a quick and dirty kludge for dealing with this $current_month Google UX mandatory decision (via developer console):

document.querySelector('.bkK>.nH').style.backgroundColor = "rgba(0,0,0,0)";

document.querySelector('.aAw.FgKVne').remove();

"transparent !important"; works for the backgroundColor, but not, for some reason, in a bookmarklet:

javascript:(function()%7Bdocument.querySelector('.bkK%3E.nH').style.backgroundColor%20%3D%20%22rgba(0%2C0%2C0%2C0)%22%3Bdocument.querySelector('.aAw.FgKVne').remove()%7D)()


Before:

After:

I have a lot of custom labels, so the second "More" is usually expanded, else that could go as well. 

2015-01-15

Thinking about how many poisoned mushrooms are red.

Question: In a forest 20% of mushrooms are red, 50% brown and 30% white. A red mushroom is poisonous with a probability of 20%. A mushroom that is not red is poisonous with a probability of 5%. What is the probability that a poisonous mushroom in the forest is red? ¹

Answer: 50%.

Which is well and good, but I wanted to understand why, and my ability at math is somewhere between 0 and taking off my shoes to count. 

This type of problem depends on being able to figure out probability, and is done using Bayes' Theorem.²

Let:

RM = Red Mushrooms

BM = Brown Mushrooms

WM = White Mushrooms

PX = Poisoned!

P(RM|PX) = P(RM) * P(PX|RM) ➗ P(PX|RM) * P(RM) + P(PX|WM+BM) * P(WM+BM)

P(RM|PX) = .20 * .20 ➗ .20 * .20 + .05 * .80

P(RM|PX) = .04 ➗ .04 + .04 = 4/8 = .5 = 50%

Yuck. Math.  

So, for anyone else struggling to understand it, my thought process using words is:

If you have 20 red mushrooms (20%), 4 (20% of 20%) of them may be poisonous. 

If you have 80 mushrooms (50%+30%) that are a combination of white and brown, but no reds, 4 (5% of 80%) of them may also be poisonous.

In a given set of 100 (100%) of these mushrooms, where 20% are red and 80% aren't, 8 total will have a probability of being poisonous.

And 4 of those 8 are red... or half.  

Same thing as the equation but with words and sentences and stuff.  Now I'm certain to make it through the forest and find out where these bread crumbs lead... no doubt certainly somewhere delicious.

¹ http://dlab.sauder.ubc.ca/sjdm/journal/11/11808/jdm11808.html

² https://www.mathsisfun.com/data/bayes-theorem.html

2014-12-07

Notes to Self: FreeNAS 9.3-Beta SMBD mDNS log spam

smbd[28586]: dnssd_clientstub ConnectToServer: connect()-> No of tries: 2
smbd[28586]: dnssd_clientstub ConnectToServer: connect()-> No of tries: 3
smbd[28586]: dnssd_clientstub ConnectToServer: connect() failed Socket:32 Err:-1 Errno:2 No such file or directory

Despite having mDNS turned off, smbd seems to want to talk to it. (Looking for avahi?).  Seems unchecking "zeroconf share discovery" (System -> Services -> CIFS) would fix -- doing so makes no modification to /usr/local/etc/smb4.conf (assuming it should - FreeNAS-9.3-BETA-201412062137).   

Adding "multicast dns register = no" to Auxiliary Parameters, however, seems to sort it. 

Or, one could do as is suggested by a wonderfully helpful FreeNAS developer, and just re-enable the service: even if you don't need it, cause, why not? (symlinking /usr/local/libexec/nas/register_mdns.py to /bin/true does nothing to fix this, of course...)

Bug #4562 - Logs full off "dnssd_clientstub ConnectToServer" errors

2014-07-28

Ugly Windows Batch Kludge - ffmpeg / tr /

Dealing with certain Youtube files (ie, from Rhino Entertainment) requires trimming off the 15 or so 'also recommended' seconds at the end of every video.   The number of seconds and starting position varies, so it'd be tricky to script (perhaps with -af silencedetect), so I'm doing it manually.  And on Windows, for some reason. (Obviously, this is all trivial on 'nix, without requiring any kludges.)

I have the unixtools for Windows installed; the version of tr and sed in it reads pipes or redirects at the end as additional input; Windows inserts "" around filenames by default with tab completion. tr -d "\"" (and the sed equivalent of s/\"//g) both barf removing it... (and, there doesn't seem to be a way of directly setting the output of a command to a variable with batch files...) This is ugly, inelegant, and mostly an exercise in unnecessary complexity, because after an hour, it was personal.  With a little more effort, this could be even more spectacularly nasty.

trkludge.bat:
@echo %1 | tr -d "\""

ytstrip.bat:
@echo off
call trkludge %1 >> temp.tmp
set /p output=<temp.tmp
del /q temp.tmp
ffmpeg -hide_banner -t %2 -i %1 -c copy -map_metadata 0 output\%output%
mv %1 pending_delete\

Usage example:

\tmp\in\mvid\inc>ytstrip "RhinoEntertainment-All_Saints-Black_Coffee_Official_Music_Video[v0Xej6Sz5nU].mp4" 4:14

To be more absurd, an improvement would be to use 'for' to loop through all the desired files, prompting just for the time on each one... or, prompting for both pre and post cut (to handle kontor.tv and Spinnin' Record files as well.)



2014-04-20

Uniform Server Zero + mod_wsgi + Falcon Framework on Windows 7

Setting up a local test environment before deployment on shared hosting (Dreamhost / Phusion Passenger) (assumes python already properly installed):
  • Install UniServerZ: Uniform Server - A lightweight mobile WAMP Server Solution.
  • Download1mod_wsgi library, extract,  and copy .so to UniserverZ\core\apache2\modules
  • Install Falcon: python -m pip install falcon
  • Edit httpd.conf:
  • add:
       LoadModule wsgi_module modules/mod_wsgi.so
       WSGIScriptAlias /app "${US_ROOTF_WWW}/passenger_wsgi.py"
  • Edit passenger_wsgi.py:
  • import falcon
    class Test:
       def on_get(self, req, resp):
          resp.status = falcon.HTTP_200
          resp.body = ('<h1>Test.</h1>')
    app = application = falcon.API('text/html')
    app.add_route('/', Test())
    
  • Hit local server(assumes default port): http://127.0.0.1/app/
1 Choosing the right library: match the version of python installed with downloads. Failure to do so results in the following errors:
\UniServerZ>httpd_z -t
httpd_z: Syntax error on line 187 of x:/xxx/UniServerZ/core/apache2/conf/httpd.conf: Cannot load modules/mod_wsgi.so into server: The specified module could not be found.
Occurs if the mod_wsgi.so version is different from python version installed. (What, the error should actually help you know that? ...)

\UniServerZ>httpd_z -t
httpd_z: Syntax error on line 187 of x:/xxx/UniServerZ/core/apache2/conf/httpd.conf: Cannot load modules/mod_wsgi.so into server: %1 is not a valid Win32 application.
Occurs if the .so is 64bit and installed UniServer is 32bit.

2014-04-01

Boar on Freenas


mount -uw /


cd /mnt/dataset

Method one (get valid token from 'Download')1:

wget "http://boar.googlecode.com/issues/attachment?aid=920000000&name=install_boar.sh&token=XXXXXXXX" -O install_boar.sh

Method two:

cat >> install_boar.sh
#!/usr/local/bin/bash
#
# Install boar on FreeBSD
# Writen by: Kellen Fox
#
if [ "$(whoami)" != "root" ]; then
echo "You need to be root for this."
exit 1
fi

### These variables can be changed for other systems ###
#Where to install the files. Since this is a python package site-packages works nicely
INSTALL_DIR=/usr/local/lib/python2.7/site-packages/
# Where to put the boar script
BIN_DIR=/usr/local/bin/
# Package url
BOAR_URL=http://boar.googlecode.com/files/boar.29-Jul-2012.tar.gz

cd $INSTALL_DIR
curl $BOAR_URL | gunzip | tar -xpf -
cd boar
echo "Editing setup.py"
# comment out the second line "import py2exe"
sed -i .tmp '2 s/[^ ]*/#&/' setup.py && rm setup.py.tmp
/usr/local/bin/python setup.py build
/usr/local/bin/python setup.py install

ln -s ${INSTALL_DIR}boar/boar ${BIN_DIR}boar

^D

vi install_boar.sh
  • Change BOAR_URL to current 2
chmod +x install_boar.sh
./install_boar.sh
mount -ur /


References:
1 - Issue 92: setup.py fails on FreeBSD
2 - Boar: Simple version control and backup for photos, videos and other binary files

2014-01-10

Using pre-formated text in a MediaWiki Template.

I needed to use <pre> tags in a MediaWiki template, which turned out to be non-trivial.  Using <code> and <poem> both fail to wrap single lines, as did the custom <div> styling.  It was easier to figure it out than add a bunch of <br>s to the source text.  For those looking for an ugly kludge, here you go. Enjoy.  (Non-salient bits removed: I do wrap the categories in <noinclude></noinclude>)

Template:P

pre style="margin-left:2em;font-weight: bold">

Template:PG

<{{p}}
{{{1|No Text Provided}}
</pre>

Usage:
{{PG|Some Text To Display Preformatted}}

Further Reading:

2013-06-12

Building a 14 Bay DISKLESS (Max 56TB) NAS For $480. (Reality &/|| Market Forces may apply.)

Like most people, I often find my high definition pornographic films - usually starring Scarlett Johansson in full Black Widow costume and Hayley Williams (in full clown costume) penetrating each other1 and simultaneously being explored by an assorted collection of ibices, Macrauchenia, and guitarists - take up a bewildering amount of hard disk space.2

As I post this in June of 2013, current prices for systems without disks are:
NETGEAR ReadyNAS Ultra 6 (6-bay, diskless) RNDU6000 : $638.99 ($1,323.99 with 6TB (3*2TB))
Synology DiskStation 12-Bay (Diskless) DS2413+ : $1,699.99 (12-Bay, no disks option -- and nice false advertising (you can connect another one, to get that 96TB))
Qnap Network Storage Server (TS-1079-PRO-US) : $2,545.00 (10-bay, no disks)

And for something with disks, how about:
Drobo® B1200I 12-Bay Storage Area Networking, 12 TB : $14,410.99

Definitely a bargain --- why, it's even got free shipping!

Sarcasm aside, pre-built NASes seem pretty overpriced.  On the one hand, you get support, hardware someone's vetted as being compatible, and some of the specs (read/write speed) are impressive.

However, you also get troublesome technology.

Here's what worked for me, to build a NAS on the cheap.

First, the system, without disks, for under $500.

Disclaimer: These prices are what I paid Black Friday, 2012.  I've noted the retail prices (then) in addition to the sale price, and the current price as of this blog, where applicable, for comparison. (Prices were either Newegg shell shockers/Black Friday eBlast specials/etc, or Amazon Lightning deals, or bought full price.) (Everything with free shipping/Prime shipping, except where noted.)
Diskless Total: $476.76
    View of Inside Chassis
     Case /  PSU / Motherboard
    Picture of Hot Swap Cage
    3x5.25" to 5x3.5" Cage
    For those looking at specs and wondering why there's only 14 bays, and not 15, it's because there're 6 SATA ports on the mobo, and the M1015 gives another 8, for a total of 14.   That leaves one 5 1/4 and one 3 1/2 bay unoccupied
    .  For a total of 16 bays, one would need a more expensive RAID card (allowing 12 devices) and a 5 1/4 <-> 3 1/2 bay adapter.

    Thoughts:

    Picture of an M1015 Raid Card
    M1015 Raid Controller
    I originally looked at the 6-bay cases, until I realized I didn't care about form factor. Having a lot of room inside is nice, and the Fractal is particularly well built.  The memory I bought is on the compatibility list for the C60M1, which I chose  particularly for the six onboard sata ports.   The M1015 is supported out of the box by FreeNAS, and easy to flash to HBA mode.

    The mobo/cpu are severely under-powered, and I needn't have gone with the ITX form factor, with my choice of case. However, since this is on all the time, I wanted the lowest power consumption I could get.  (With 8 disks, power consumption is ~40w idle, ~85w copying).

    Screencap of BIOS Showing Drives
    It's always nice when the
    BIOS detects your drives.
    Picture of populated hot swap cage.
    Hot Swap Cage Populated
    Because of the low end processor, you won't be using ZFS's dedup, and/or getting very good performance with any of the on-the-fly (de)compression.  Not an issue for me; to make this system more ballsy, if power consumption (or cost) isn't an issue, dropping in a bigger motherboard (like this beauty! 22 sata ports!) with a real processor and oodles of memory would make this a monster. (And add another $300-$500 to cost.)

    For storage, I'm using 5 3TB drives, in a RAIDZ2, which gives me ~8TB.  With RAIDZ1, it'd be ~11TB.  And, of course, JBOD would be ~14TB.  Also, I'm using a 120gb SSD for L2ARC cache, (wouldn't be worthwhile as ZIL for me) and 3*500gb in a ZFS mirror, to hold my most important stuff.  While I can still add 5 more drives, the next upgrade'll be just 4 4TBs, put in a vdev as a 2x2 mirror. (Redundancy being far more important than capacity, for my needs.)
    Storage Total: $664.91

    The Seagate drives are the same model, but apparently whatever the difference is, is enough for the price variation from Amazon and Newegg last November; oddly, it's reversed now.

    Picture of Flash Drive mounted internally
    FreeNAS loaded on a 4gb
    flash drive, mounted internally.
    Finally, I like having the flash drive with FreeNAS inside the chassis;
    Picture 02 of inside of my NAS Chassis
    The End Result
    I can't remember what I paid for the 4gb one I'm using, but I'd suggest that if you don't have a bunch of spare ones clacking about, this isn't the project for you. (Protip: Windows 8 would be an unwise choice here.)  I did end up buying this, though:

    StarTech USB A to USB Motherboard 4-Pin Header F/F 2.0 Cable, 6" (USBMBADAPT) - $3.75

    For a grand total of: $1145.42

    For my ultra-important data, I can lose 2 500gb drives, without losing a byte, and for storing my fellow primates coupling in varied and interesting ways (aka 'youtube') I can also lose 2 3TB disks without losing a byte. (Of course, that third one'll fail the second I start the resilver...)

    Useful References:
    Recommended SATA/SAS controllers
    IBM M1015 Firmware - What to flash with
    How-to Flash LSI SAS 2008 Controller with LSI IT Firmware

    1 That link is completely not safe for work. At all. This message is only here to caution people until I figure out how to get affiliate links with Amazon. ;-)
    2 Despite what Rule 34 has told you, I'm afraid that no, your search will be futile. There doesn't exist such porn as you are looking for, but try these droids, instead.

    2013-05-13

    Notes To Self: Attempting CIFS Performance Tuning

    Problem: Abysmal SMB peformance when using W7 as intermediate between EON and FreeNAS: 19.6MB/s.
    After Tuning: 25.8MB/s.
    (After Turning Direct W7 -> FreeNAS = 42.1MB/s)

    Wireshark Capture Filter:
    host x.x.x.x and (port 139 or port 445)

    Windows Registry:
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters\TreatHostAsStableStorage = 1
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters\SizReqBuf = 16384
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters\DisableLargeMtu = 0
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters\DisableBandwidthThrottling = 1
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters\FileInfoCacheEntriesMax = 65536
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters\DirectoryCacheEntriesMax = 4096
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\EnableWsd = 0
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Executive\AdditionalCriticalWorkerThreads = 2
    FreeNAS Server:
    • Enable EA Support
    • Enable Send files with sendfile(2)
    • Enable AIO
    • Minimum AIO Read/Write Size: 16,384
    • Auxiliary Parameters: max protocol = smb2
    FreeNAS Wishy-Washy-Me:
    mount -uw /
    vi /conf/base/etc/ttys
    'on' to 'off' for all but first two. (Logic: board supports max of 8gb; need the extra memory for I/O.)
    mount -ur /

    To potentially dealing with:
    re0: watchdog timeout
    re0: link state changed to DOWN
    re0: link state changed to UP
    Be conservative with:
    -rxcsum -txcsum -tso -lro -wol -vlanmtu -vlanhwtag -vlanhwfilter -vlanhwtso


    Reference:
    SMB Tuning for XenApp and File Servers on Windows Server 2008  - Wireshark screenshots, and settings applicable to more than just XenApp
    SMB Block Size Negotiation When Copying Files
    SMB/CIFS Performance Over WAN Links
    Poor Samba Performance?
    Performance Tuning Guidelines for Windows Server 2008 R2 (Has docx with descriptions, page 59 for smb2 start of relevance)
    Optimizing Operating System Performance
    AdditionalCriticalWorkerThreads Forum Thread
    Improve FreeNAS SMB Performance
    FreeNAS CIFS Page
    ifconfig manpage
    Potential Headache:
    Bug 8726 - SMB2 protocol crashes smbd inconsistently without any reasons
    FreeNAS irritation:
    Realtek 8111F fails at high traffic 're0 Watchdog Timeout Error'

    2013-04-20

    Notes To Self: FreeNAS / ZFS Settings / BSD Commands

    Commands and output...

     /# camcontrol devlist
    <ATA SAMSUNG HD502HJ 00E4>         at scbus0 target 0 lun 0 (pass0,da0)
    <ATA SAMSUNG HD502HJ 00E4>         at scbus0 target 1 lun 0 (pass1,da1)
    <ATA SAMSUNG HD502HJ 00E4>         at scbus0 target 2 lun 0 (pass2,da2)
    <KINGSTON SH103S3120G 502ABBF0>    at scbus1 target 0 lun 0 (pass3,ada0)
    <ST3000DM001-1CH166 CC43>          at scbus2 target 0 lun 0 (pass4,ada1)
    <ST3000DM001-1CH166 CC24>          at scbus3 target 0 lun 0 (pass5,ada2)
    <ST3000DM001-9YN166 CC4B>          at scbus4 target 0 lun 0 (pass6,ada3)
    <ST3000DM001-9YN166 CC4B>          at scbus5 target 0 lun 0 (pass7,ada4)
    <ST3000DM001-1CH166 CC43>          at scbus6 target 0 lun 0 (pass8,ada5)
    <SanDisk U3 Cruzer Micro 3.27>     at scbus7 target 0 lun 0 (pass9,da3)

    [root@afarstor /mnt/durance]# for i in $(sysctl -n kern.disks); do smartctl -a /dev/$i >>`date +%Y.%m.%d`-afarstor_smart_dump.txt; done;

    Example output:

    === START OF INFORMATION SECTION ===
    Model Family:     Seagate Barracuda (SATA 3Gb/s, 4K Sectors)
    Device Model:     ST3000DM001-1CH166
    Device Id: 5 000c50 04e0962ff
    Firmware Version: CC43
    User Capacity:    3,000,592,982,016 bytes [3.00 TB]
    Sector Sizes:     512 bytes logical, 4096 bytes physical
    Device is:        In smartctl database [for details use: -P show]
    ATA Version is:   8
    ATA Standard is:  ATA-8-ACS revision 4
    SMART support is: Available - device has SMART capability.
    SMART support is: Enabled

    === START OF READ SMART DATA SECTION ===
    SMART overall-health self-assessment test result: PASSED

    SMART Attributes Data Structure revision number: 10
    Vendor Specific SMART Attributes with Thresholds:
    ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
      1 Raw_Read_Error_Rate     0x000f   100   100   006    Pre-fail  Always       -       121624
      3 Spin_Up_Time            0x0003   091   091   000    Pre-fail  Always       -       0
      4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -       19
      5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       0
      7 Seek_Error_Rate         0x000f   100   253   030    Pre-fail  Always       -       1335
      9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       25
     10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
     12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       -       6
    183 Runtime_Bad_Block       0x0032   100   100   000    Old_age   Always       -       0
    184 End-to-End_Error        0x0032   100   100   099    Old_age   Always       -       0
    187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
    188 Command_Timeout         0x0032   100   100   000    Old_age   Always       -       0
    189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -       0
    190 Airflow_Temperature_Cel 0x0022   076   068   045    Old_age   Always       -       24 (Min/Max 23/26)
    191 G-Sense_Error_Rate      0x0032   100   100   000    Old_age   Always       -       0
    192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       5
    193 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       19
    194 Temperature_Celsius     0x0022   024   040   000    Old_age   Always       -       24 (0 21 0 0 0)
    197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       0
    198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       0
    199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0
    240 Head_Flying_Hours       0x0000   100   253   000    Old_age   Offline      -       40956808134661
    241 Total_LBAs_Written      0x0000   100   253   000    Old_age   Offline      -       21788
    242 Total_LBAs_Read         0x0000   100   253   000    Old_age   Offline      -       60760

     /# zpool status
      pool: chelestra
     state: ONLINE
      scan: none requested
    config:

            NAME                                            STATE     READ WRITE CKSUM
            chelestra                                       ONLINE       0     0     0
              raidz2-0                                      ONLINE       0     0     0
                gptid/981738af-cd71-11e2-949a-3085a93e10c7  ONLINE       0     0     0
                gptid/98dab7a8-cd71-11e2-949a-3085a93e10c7  ONLINE       0     0     0
                gptid/9a179f3c-cd71-11e2-949a-3085a93e10c7  ONLINE       0     0     0
                gptid/9ae54d94-cd71-11e2-949a-3085a93e10c7  ONLINE       0     0     0
                gptid/9ba55256-cd71-11e2-949a-3085a93e10c7  ONLINE       0     0     0
            cache
              gptid/9c3aab11-cd71-11e2-949a-3085a93e10c7    ONLINE       0     0     0

    errors: No known data errors

      pool: durance
     state: ONLINE
      scan: none requested
    config:

            NAME                                            STATE     READ WRITE CKSUM
            durance                                         ONLINE       0     0     0
              mirror-0                                      ONLINE       0     0     0
                gptid/e1f271a9-cc1b-11e2-a9a2-3085a93e10c7  ONLINE       0     0     0
                gptid/e2a6eb5f-cc1b-11e2-a9a2-3085a93e10c7  ONLINE       0     0     0
                gptid/e3541d6e-cc1b-11e2-a9a2-3085a93e10c7  ONLINE       0     0     0

    errors: No known data errors

     /# df -h
    Filesystem             Size    Used   Avail Capacity  Mounted on
    /dev/ufs/FreeNASs2a    926M    381M    470M    45%    /
    devfs                  1.0k    1.0k      0B   100%    /dev
    /dev/md0               4.6M    3.2M    973k    77%    /etc
    /dev/md1               823k    2.5k    755k     0%    /mnt
    /dev/md2               149M     15M    121M    11%    /var
    /dev/ufs/FreeNASs4      19M    973k     17M     5%    /data
    durance                452G     88G    364G    20%    /mnt/durance
    chelestra                8T    255k      8T     0%    /mnt/chelestra

    Useful Ref:
    FreeNAS Docs
    [ HOW TO ] Manage Automatic Daily Email Reports  - Deal with retarded daily emails. (FreeNAS devs took a lesson from Microsoft; no configurable option, and no trace of logic; instead of sending on an error or condition requiring attention, FreeNAS insists on telling you everything's okay... )

    2013-03-21

    Sledgehammer Kludge: Make nfs-common install.

    Disclaimer: I'm clueless. I'm also tired. Having gotten to the point of downloading the nfs-utils-1.2.6 tarball and making it (and installing it. and having it not work), I'm no longer concerned about The Right Thing(™) so much as "Just Fucking Work Already".

    Background: try googling up nfs-common FAIL. It's a good fun time, with bug reports years and years old, most mentioning portmap or rpcbind.  With no solutions, even in the SOLVED threads.  I'm certain there's some nasty interaction between the squeeze repos and backports, but I don't care. Also, this:
    apt-get -t squeeze-backports install nfs-common
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:

    The following packages have unmet dependencies:
     nfs-common : Depends: libevent-1.4-2 (>= 1.4.13-stable) but it is not installable
    E: Unable to correct problems, you have held broken packages.

    Um. No. I'm not holding shit back:
    dpkg --get-selections | grep hold

    Of course:

    apt-get install libevent-2.0-5
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    libevent-2.0-5 is already the newest version.
    0 upgraded, 0 newly installed, 0 to remove and 684 not upgraded.

    2.0-5 is greater than 1.4.13, right? Right???

    Anyway... for other people really sick of this or similar bullshit:

    apt-get install nfs-common
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    Suggested packages:
      open-iscsi watchdog
    The following NEW packages will be installed:
      nfs-common
    0 upgraded, 1 newly installed, 0 to remove and 684 not upgraded.
    Need to get 0 B/292 kB of archives.
    After this operation, 716 kB of additional disk space will be used.
    Selecting previously unselected package nfs-common.
    (Reading database ... 188676 files and directories currently installed.)
    Unpacking nfs-common (from .../nfs-common_1%3a1.2.6-3_amd64.deb) ...
    Processing triggers for man-db ...
    Setting up nfs-common (1:1.2.6-3) ...

    Creating config file /etc/idmapd.conf with new version

    Creating config file /etc/default/nfs-common with new version
    insserv: script vboxdrv: service vboxdrv already provided!
    [FAIL] Starting NFS common utilities: statd idmapd failed!
    invoke-rc.d: initscript nfs-common, action "start" failed.
    dpkg: error processing nfs-common (--configure):
     subprocess installed post-installation script returned error exit status 1
    Errors were encountered while processing:
     nfs-common
    E: Sub-process /usr/bin/dpkg returned an error code (1)

    Try this horribly ugly blindly sledgehammering of stuff I don't understand:
    vi /etc/default/nfs-common
    NEED_STATD=yes
    NEED_IDMAPD=no
    NEED_GSSD=no

    apt-get -f install
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    0 upgraded, 0 newly installed, 0 to remove and 684 not upgraded.
    1 not fully installed or removed.
    After this operation, 0 B of additional disk space will be used.
    Setting up nfs-common (1:1.2.6-3) ...
    insserv: script vboxdrv: service vboxdrv already provided!
    [ ok ] Starting NFS common utilities: statd.

    Since for whatever reason idmapd is shitting itself, this works... assuming you're okay with nfsv3.  I am. 

    (Note: I tried all the fun suggestions in the various threads with the error; none mentioned screwing with that file, so, if this breaks something horribly, do note it in the comments. My nfs shares don't mind being dirty, so I'm unlikely to care much at this point; especially since I should just do a clean install to Wheezy.  Still, this was frustrating enough to search on and not find any workable solution that... well, here we are.)

    Unhelpful References:


    2013-03-12

    Notes To Self: NFS / ReadyNAS 600 / Windows 7

    Microsoft's done the usual outstanding job of quality work with their NFS client.

    ReadyNAS end settings:
    Frontview: Share Listings->Share Name NFS

    Default Access: Read-Only
    Write Enabled Hosts: Self explanatory.

    Root privilege-enabled hosts: Blank (unneeded)

    Advanced Options: nobody/nogroup
    Set ownership and permissions ... -> Apply

    Squashing isn't needed on the ReadyNAS...
    Via ssh to check /etc/exports:

    NAS:/etc# cat exports

    "/pub" *(insecure,insecure_locks,ro,async)
    x.x.x.1(insecure,insecure_locks,rw,async)
    x.x.x.250(insecure,insecure_locks,rw,async)

    ReadyNAS's default nobody/nogroup = 65534.

    Windows end settings:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default\AnonymousGid = FFFE
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default\AnonymousUID = FFFE

    To check next time I screw with the Windows side: right click, properties, "NFS Attributes"-> see if setting attributes here actually work and take.

    To figure out:
    Network Error - 85 "The Local device name is already in use." (doesn't go away restarting NFS client (easy: nfsmgmt.msc) or workstation/server. (With mountpoints2 key removed in registry).  Where is Windows keeping the drive name until reboot, and is there a way of making it forget, so as to remount?

    Further notes: Windows 7 needs -o nolock with FreeNAS, else copying gives error 0x80070021.

    References:
    NFS Overview and Gotchas
    Configure Windows NFS Client With Write Permissions
    Steps To Disable Client For NFS Cache
    Client For NFS - Configuration And Performance
    Windows Mount Command syntax
    NFS Share Setup For Windows 7 and Freenas

    2013-02-13

    Engineer's Bench Gives Pleasant Trembling Tingles: Work At Intel (INTC) Still Wish I Do!!!!

    Froggie For Butt
    Sex Toys & Circuit Design!
    I <3 Intel!
    Well, it's been a duration of time which has passed and Intel hasn't yet hired me, despite my strenuous efforts to convince the hiring managers (who I'm absolutely certain are reading my blog with breathless anticipation) that I'm destined to be a valuable asset.

    I sought out further material to help my understanding evolve on this matter, and I believe it comes down to really knowing about the office environment Intel provides.

    I want to work at Intel, because they're a company where employees can pursue their passions, support wold-changing initiatives, and thrive intellectually.  Intel honors the values of discipline, quality, and risk-taking.  It's what the company was built on.  Intel even proves it's not all about profit, by making sure to hire women, minorities, and people with disabilities, in addition to normal employees.

    Music Vibrations
    Innovative Design Allows
    Music To Make Vibrations
    I know they don't mention it explicitly, but I think I qualify to be in the 'other diverse groups' Intel rightfully is proud of employing, and I want to show I truly get what it takes to be a part of this beloved industry leader - this worldwide company with countless opportunities, providing a professional and diversity nurturing environment where I'm convinced I'd be welcomed.

    As before, I've taken the liberty of uploading individual frames from this Intel video for the convenience of Intel hiring manager(s) and readers, as well as to relieve some of the burden on Youtube, who, being an up-and-coming company, likely doesn't need its growing infrastructure slammed by the immense amount of traffic my blog generates.

    I'm still waiting by the phone, waiting for you to call me up, and tell me I'm not alone, Intel!  Hire me! Please! I'll even wear underwear under my pants!

    References:
    Intel Headhunter Leaked Recruitment Video #2


    Had Sucky Sucky Now Sick
    Beautiful Blonde Women
    Walk The Halls Inspired
    To Pursue Careers In STEM!
    On The Prowl
    Un-Pretty Women
    Stay Out Of Way To Not
    Bring Attention And Break Motivation
    Pretty Woman Showing What Wants
    She Knows How Much
    Knowledge Economy She Wants!




    Highest Respect Intel Has For Female
    Intel's Green Computing Initiative
    Turns Off Women's Monitors To Keep
    The Group's Debugging Momentum Going
    Deeply Pondering Attention Focused
    Uncontainable Enthusiasm And Innovation
    Is The Lifeblood Of Intel
    Brokeback Chip Mountain
    Intel's Gay Cowboys
    Stay With It™ and
    Enjoy Pudding 
    Intel Employee Acting Professionally 01
    Quality Assurance
    Engineer And
    Cowboy Not
    Mutually Exclusive!

    Stick it Right Here
    Anticipating What
    Will Need To Be
    Provided For Growing
    Needs

    Yeah, More Thrusting
    Always Transform
    Positivity Forward
    Do Not Allow
    The Negativity

    Ready For Manager Meeting
    Bent Over
    Position Great
    Strategy For
    Promotions

    Thrusting
    Thrusting
    Intellectually
    It's All Possible
    At Intel!

    Diligent Working
    A Fit Tush Is The Foundation
    For Success In This Knowledge Economy
    And To Pursue Passions


    Orgy 1
    Experienced Executives Serve As
    Role Models
    Orgy 2
    Employees Are Encouraged To
    Speak Up And Expect A Timely
    Insemination.
    Orgy 3 - Hot Sauce
    Which Will Be First To Celebrate
    A Unique Point Of View?

    Respectful Of Women
    Not Just Everyone
    Can Be A Cherished
    Female Employee

    Engineer Retention Rates Increase
    Ready To Receive Rewards And Recognition For Further
    Development And Retain Strategic Initiatives

    Intel Buttplug Feels Good
    Now She Must Retrieve
    The Green Frog
    Which Has Now Become
    The Brown Frog

    2013-01-23

    PDE Malaise: How I wish I worked for Intel!!!



    Intell!!!!
    Stalwart and Dignified.
    Picture of Intel Hiring Wants You!!
    Managers are attentive and give
    personalized attention to every employee!
    Like any literate computer user, I've always been in awe of Intel.
    I've sometimes wondered, what if?
    What if I could work there?
    What if I could be a part of the company that brought us modern computing?

    Naturally, these fantasies are quick to dissipate, as Intel's such an established, big company, like Oracle or Google or even Microsoft.

    The people who work there must all be MIT grads, or freaky precocious children, or Californians: Surely, they don't actively seek out average people like you, or me, right?

    Picture of loving Intel!
    Kee Sim setting up the shot.
    Wrong! I thought the same thing, until I saw this amazing official Intel Recruiting Video!

    Produced by Kee Sim via his Kampung Studios, a private enterprise he operates concurrent to his employment at Intel, it brilliantly uses PSY's Gangnam Style to bridge any of the communication barriers inherent in conveying the highly technical nature of the tasks involved when you're a member of a Silicon Giant like Intel.

    Picture of Louis Receive Sucky!
     Starting the day with a stress
    relieving oral massage is a
    guaranteed employee right! 
    Not only does it really portray what it's like to be a part of the company, but it manages to lyrically sum up Intel's whole global identity, too!

    Leveraging his vast experience creating videos and utilizing the abundant company resources provided on site, Kee created this epic testament to Intel's awesomeness, and it has ignited a fire in me! One I've long been suppressing: The craving to be part of a company with no barriers or delays when it comes to FUN!!!!
    Picture Of An Empty Box
    Two time winner of National
    Geographic's "America's Best Doomsday
    Prepper Corporation"!


    Sadly, since at times links to videos on Youtube go down, no doubt due to minor flaws in their otherwise perfect infrastructure, I've taken the initiative to capture individual frames to illustrate the amazing corporate environment I've been deprived of working at all this time. I've had to trim some of them to fit into this blog, but they're otherwise completely unmodified: evidence of the wild and wonderful world of Intel!

    I really hate to be all gush-y, but I can't contain myself any longer and just need to erupt! So without further ado, check out these benefits and perks of working at Intel!!!

    Picture of a Sexy Lady!
    A girl who is warm
    and humane
    during the day.
    Picture of Geeky Girl with Fan
    She brings patience
    and a fan to every room.
    Picture Of Geeky Girl Lampshade
    Some Lessons Take
    Longer To Learn.
    A Picture Of A Sensible Girl Like That
    Louis appreciates what Pei San
    brings to the table.
    Picture Of Girl Who Puts Her Hair Down
    Combs distributed to facilitate
    adequate grooming and silky,
     lush hair.

    First, sexy geek girls!  I often feel as though I'm a man in a woman's body, so it's not surprising I want to start by commending Intel for how long they've been a champion of empowering attractive females in technology!

    From the recruitment video, you can tell Intel continues to allow, on a daily basis, the pretty women they employ to strive to achieve their full hotness and potential, to the best of their abilities, in a safe, nurturing, and enabling environment!

    Picture of a girl who bares it all.
    Underwear is always
    optional for Xin Hui!
    Fridays & Other Days!
    Pictures of Warm Guys
    Towels are accepted attire and show the fitness of
    nubile, eager young bodies!
    Intel is also an industry leader in promoting a rational, less restrictive dress code, in order to grow comfort and bugfree code in tandem.  This relaxed perspective on appropriate dress applies to all employees; not just the bosses!
    Picture of Diversity
    Diversity!
    Intel Employs Under 40 Year Olds
    to Honor And Celebrate Youth And Vigor!

    Which brings us to diversity!  Intel is renowned for its extreme diversity; for example, in 1994, they sanctioned one of the first corporate Gay, Lesbian, Bisexual, and Transgender groups within the company.  It is with anticipation and desire that I imagine this creates a space where men can show their emotion and engage in affirmation building cuddling, as well as productivity enhancing bonding.
     I expect the communal nature of the clean and well lit bathrooms, one of the many abundant amenities Intel lavishly provides for its employees, may cause some contention among the more competitive folk, but I've no doubt it's of the friendly kind! Intel doesn't just do lip service to tolerance!

    Picture of Classy Girl With One Cup
    Geek Girls are worshiped for excelling at
    performing all aspects of their jobs!
    Picture Of Proper Urinal Etiquette
    Kok Eon always impresses, be it in a
    cubicle or a stall! Condoms Optional!
    Pictures of Two Guys With Bulging
    Content Employees Smell Better, Code 
    Better, Test Better, And Get Along Better!
    Picture Of Chemical Delivery
    Left-Handed Wai Loon appreciates the
    corporate policy on being
    Green and eliminating waste.
    Picture Of Taking Matters With Hand
    All bathrooms are supplied
    with free lotion and
    allowance of time to use it!
    A policy of tolerance which includes their official operating procedure when it comes to work enhancing supplements:

    Whether it's regionally flavored caffeinated beverages ('the drink that cures a hundred lines of compiled code!') to help regenerate depleted libido, or having couriers available to make daily afternoon deliveries of awareness augmenters, Intel maintains the most broad-minded, objective corporate view!

    When it comes to employees tending to their individual chemical needs, balancing their energy levels and focusing attention, no other company even comes close to surpassing Intel's personnel, by any metric!  Rad!!!

    A Picture Of Giddyup Pony!
    Have you seen our cam site? Intel Insider(™)!
    Picture Of Workplace Compliance Behavior
    Mentoring Junior Employees on correct
    way to interact with geeky girls!
    Picture Of Implement Proper Bruce Schneier Security
    Security Can Be Fun And Safe! Robot Phalluses
    change color to indicate proper levels of
    aura shade and libido!

    A Picture Of Intel Abbey Road
    Intel Is Bigger Than Jesus!
    And at the end of the day? FUN!!!  You can see it's not all work! Intel encourages you to enjoy your job! Everyone I know thinks work should be fun! That if you have to do 'it', you should get pleasure out of it!  Intel makes this happen, whether it's using the lobby to contribute to the well respected Chatroulette website, or re-enact the Beatles' famous album cover, the excitement and play never ends!
    Picture Of After Work Practice
    Pole dancing is a good, 
    fun exercise to keep
    muscles firm and supple!

    A Picture Of Positive Attitude
    Golden umbrellas aren't
    worth much if you don't
    have rainmakers to give
    a golden shower in the
    elevator!!!
    I'm SO sold on Intel!
    Picture Of Pole Pleasure
    Pei San Enjoying
    Well Earned Play Time
    And Relieving Stress

    I wish I worked at Intel!
    Picture of Three Some Friends
    New Experiences Can Be Scary
    But Then Very Rewarding!

    SO BADLY!!!!

    I know there're job postings online, but I didn't see which one was best suited to my employment background: A junior high school dropout, with many years of gainful, fulfilling service in the food preparation, packaging and delivery sectors, as well as a full understanding of the intricate mysteries inherent in top notch
    Picture Of Puberty Onset
    Intel allows no discrimination
    but especially not when it
    comes to size!
    custodial endeavors, I can't seem to find which offering is most suited to my skills.

    But!  I really really wish I worked at Intel! I know you guys wouldn't put out that video unless you're truly willing to give everyone a chance, so, please, contact me!   I've had some (ex-)friends say that I'm deluding myself, but, I've got the passion that would make me a good fit!  Sure, some so-called competitors might bring the heat, but I know that you've got the intensity! And the sexy ladies!  Call me and hire me!!! Please!!!  
    Picture Of Group Happy
    Best Place To Work Ever Always Happy!


    Intel is Gangnam Style and so am I!

    References:
    Intel Official Recruitment Video