Showing posts with label tech. Show all posts
Showing posts with label tech. Show all posts

Thursday, August 9, 2018

ESXi 6.5u2 and macOS High Sierra

I found this surprisingly easy to set up.
It doesn’t matter but the hardware is a Dell r210ii with 16gb of RAM. 
Installed the Dell ESXi image from the Dell website. 
WinSCP to move DrDonk’s Unlocker v2.1 to a datastore and ran the ESXi installer included. 
Downloaded High Sierra on a Mac using the App Store and made an ISO using instructions found online. 
Installed ISO - went without a hitch. 
Downloaded VMWare tools from VMWare website. Used latest version (10.1). Dug darwin.iso out of the zip file and installed the macOS tools. This enabled changing screen resolution. 
Everything is working perfectly, no problems so far.

EDIT (17-Sept-2018) - you must follow these instructions for High Sierra or your VM disk will keep filling up and crashing the machine.


Sunday, April 22, 2018

The Dell Poweredge R720

Certainly a beast of a machine. Problem is the lack of user configuration for fan speeds. Dell seems either not to care about sysadmins and their hearing; or users tweaking their hardware.

It's a shame, it's a nice box and prices are reasonable for a home server.

See also: information from the UnRaid forums

Update (19-July-2019) -
Here's a how you do it:



Friday, October 13, 2017

i haven't posted in a while, here's a nifty script

there are lots of queries everywhere about how to script PRAW and youtube-dl to download videos off Reddit subs (i use this to load my Plex server with relevant music videos). here it is (it'll take a CLI of the sub you want to scrape and get the "Hot" 10 links:


#!python2.7
import praw
import youtube_dl
import sys      
#import urllib
 
r = praw.Reddit(client_id='insert your info here',
                     client_secret='insert your info here',
                     password='insert your info here',
                     user_agent='insert your info here',
                     username='insert your info here')
        
        
urls = []
 
def yt() :
        for submission in r.subreddit(sys.argv[1]).hot(limit=10):
                urls.append(str(submission.url))
        return urls
 
yt_urls = yt()
ydl_opts = {'ignoreerrors': 'False'}
ydl = youtube_dl.YoutubeDL(ydl_opts)
 
for item in yt_urls:
        #print([item, ])
        ydl.download([item, ])


Tuesday, June 25, 2013

Blichmann Tower of Power reviewed

So, first off, this thing is expensive and I personally think there are WAAAAAY too many self-congratulatory reviews on the internet for expensive products. Like everything else, this thing has pluses and minuses. If you want the short-but-sweet version: it works, it has some nice features, several drawbacks and I think it's too expensive to give it a sound recommendation.

Positives:
Very small form factor
Stainless enclosure is nice
PID controller eliminates overshoot (but is of questionable utility)
Flame rectifier
Works for natural gas or propane setups

Negatives:
PID seems unstable
PC software is clunky, poor user interface, and only runs on Windows
Communications cable is overpriced
Programming your own mash steps is tricky
PID controller has insufficient documentation
Installation not straightforward

Some additional information that I've gathered and think is useful:

The PID they're using appears to be the venerable Love Series 16B. At least they appear similar in appearance and they're also using the same software! The "TOP-Link" software has the same appearance/look/feel of the "Love-Link" software from Love Controls. This is very disappointing to me because this software is a stinker, only runs on Windows and has a craptacular UI.

I'm reasonably confident that they're also using this Fenwal 120v ignition module (or a similar product from the same manufacturer), and here's an appropriate electrode.

I'm not saying this whole thing is a piece of cake, but I do think it's overpriced but by how much is hard to say. The PID is about $90, the ignition module is about $200, and the electrode is between $20 and $50. So that's at least $350 before you add wiring, a case, a solenoid valve, etc. It retails for about $575, so I guess it's a matter of how much you like doing this stuff and how much it's worth to you.



Wednesday, February 6, 2013

How to get EyeTV recordings into Plex

I like EyeTV, I have it set up with a Hauppauge HD PVR to do recordings of TV shows and movies. It's got lots of great features, it can wake your Mac from sleep to do a recording. In general it's a great piece of software. Plex is fantastic too. Getting recordings from EyeTV to Plex to watch on the Roku devices in my house didn't seem easy. Then I found this thread over at the Plex forums.

A huge thank you to everyone that worked on it. I tweaked it some for my setup...

UPDATE 23-Feb-2013
See this thread from Apple Forums for great comskip info.

-- Run the python MarkCommercials script for the given recording-- this must be run with the RecordingStarted script-- it will check if there were multiple PIDs for the recording and runs MarkCommercials for each pid-- requires updated MarkCommercials which allows specifying the pid-- by Ben Blake, September 2009
-- modified commander flatus 2/2013
-- remember that we're starting from the comskip post-processing script
-- i commented, documented a bit
-- this will directly export the H.264 that a Hauppauge HD PVR generates - very quickly
-- the resulting file is smaller than the iPad transcode and literally takes a minute if you generate recordings with this hardware
-- otherwise, this may be slower ymmv
-- Applescript is a dreadful language
-- Don't try to export directly to a network share unless you know what you're doing


-- as best i can tell etvcomskip doesnt do anything to my h.264 recordings
-- there is a donation version but from a cursory search it appears it wont work 
-- either. i mostly use this for movies and kids shows so it doesnt matter much for me

-- Some definitions below

-- variable thisTitle - raw title of show ie Seinfeldfrom eyeTV
-- variable ParsTitle - above with illegal filesystem characters removed
-- mcisrunning subroutine to check if markcommercials is running
-- parseout - subroutine to remove illegal filesystem characters
-- CheckMultiplePIDs - subroutine to check if multiple PIDs in one recording
-- variable rec - recordingID from EyeTV
-- variable theRec 
-- variable thisEpisode - text episode name ie The Puerto Rican Day Parade
-- variable EyeTvArchiveLocation location of recordings use colons instead of slashes
-- variable ExportLocation location where converted recordings go
-- variable TempLocation location for temporary files
-- variable fname location of eyetvp file for season and episode info
-- variable sid season number
-- variable eid episode number
-- variable tempEp episode title



global LogMsg

on RecordingDone(recordingID)
        
        set LogMsg to ""
        --CheckMultiplePIDs(recordingID)
        
        -- set up logfile
        -- disable this if you do not want a logfile written
        if (count of LogMsg) > 0 then
                write_to_file((short date string of (current date) & " " & time string of (current date)) & LogMsg & (ASCII character 13), (path to "logs" as string) & "EyeTV scripts.log", true)
        end if
        
        
        -- Grab some basics from EyeTV. RecoringID, Show name, Episode name. It'll be used later.
        tell application "EyeTV"
                
                set rec to recordingID as integer
                set theRec to recording id rec
                set thisTitle to title of theRec
                set ParsTitle to my parseout(thisTitle)
                set thisEpisode to episode of theRec
                
        end tell
        
        -- Customize this script for yourself. The next three variables are locations on your system where we will read and export to
        -- Use complete paths, dont put network shares in here
        
        -- Set this value to the location where EyeTV records to
        set EyeTvArchiveLocation to "Macintosh HD:Users:ted:Documents:EyeTV Archive:" as string
        
        -- Set this location to where you want your exports to write to
        set ExportLocation to "Macintosh HD:Users:ted:Desktop:Plex:" as string
        
        -- Set this to a temporary location. A file "temp.plist" is written and then deleted from here
        set TempLocation to "Macintosh HD:Users:ted:" as string
        
        -- Now we're gonna go to the finder, find the show and grab the file out of the package that has the meta data. It'll be written to a temp file and we'll grab the season and episode # from it.
        tell application "Finder"
                
                -- Set the alias for the show we just got done recording
                -- This gives the script the filename of the eyetv recording in the filesystem
                if thisEpisode is "" then
                        set fpath to EyeTvArchiveLocation & ParsTitle & ".eyetv" as alias
                else
                        set fpath to EyeTvArchiveLocation & ParsTitle & " - " & thisEpisode & ".eyetv" as alias
                end if
                
                -- The .eyetv file is a package. We're going to read it's contents and find the .eyetvp file. It'll be stored in the fname variable
                
                set eyetvp to do shell script "ls -1 " & quoted form of POSIX path of fpath & "/*.eyetvp" as string
                set eyetvp to every paragraph of eyetvp --   paragraph == line
                set fname to item 1 of eyetvp
                
        end tell
        
        -- Great! now grab Season number and Episode number out of this temp - eyetvp file and create the sedat variable. This will be used in the file export later.
        -- You can grab more meta data in this routine and also tweak the way the file name meta data is created.
        tell application "System Events"
                set fileRecord to (value of property list file fname)
                set sid to value of property list item "SEASONID" of property list item "epg info" of property list file fname
                set eid to value of property list item "EPISODENUM" of property list item "epg info" of property list file fname
        end tell
        
        tell application "Finder"
                
                -- set up directory for a show - ie Seinfeld directory to contain season directories and episode files
                -- if it doesn't exist, create it
                set fileLocation to ExportLocation & ParsTitle
                if not (exists folder fileLocation) then
                        make new folder at alias ExportLocation with properties {name:ParsTitle}
                end if
                
                -- set up directory for seasons and if it doesn't exist, create one
                set fileLocation to ExportLocation & ParsTitle & ":" & "Season " & sid
                set tempDir to ExportLocation & ParsTitle
                set tempFolder to "Season " & sid
                set tempSid to sid as string
                -- if season id is blank or zero just put shows in the main directory
                if (exists folder fileLocation) is false and tempSid is not "" and tempSid is not "0" then
                        make new folder at alias tempDir with properties {name:tempFolder}
                end if
        end tell
        
        -- Now, tell EyeTV to set the file name and location and export the file.
        -- TODO: I'd like to have an option to just rename the file in place here and/or export using Turbo.264 and/or export in HD720p format.
        tell application "EyeTV"
                set theDateStamp to (do shell script "date +%Y%m%d.%H%M%S")
                -- tempEp is the episode name
                set tempEp to thisEpisode as string
                if eid is not "" then
                        set tempEid to eid as integer
                else
                        set tempEid to 0 as integer
                end if
                
                set tempSeason to sid as string
                
                -- if title, season, and episode numbers are not blank or zero
                -- file will look like Seinfeld:Season 10:Episode 3:Seinfeld S10E3.mp4
                -- mp4 is hardcoded because i'm just sucking out the H.264
                if tempEp is not "" and tempSeason is not "" and tempSeason is not "0" and tempEid is not "0" and tempEid is not "" then
                        set fileName to ExportLocation & ParsTitle & ":Season " & sid & ":" & ParsTitle & " " & "S" & sid & "E" & eid & ".mp4"
                else if tempSeason is not "" and tempSeason is not "0" then
                        --have season number, use Date AND NAME ie no episode number
                        set tempEpDate to (do shell script "date +%m%d%Y") as string
                        set fileName to ExportLocation & ParsTitle & ":Season " & sid & ":" & tempEp & "-" & tempEpDate & ".mp4"
                else if tempEp is not "" then
                        --at this point, should have no season number, no episode number, so just use name
                        set fileName to ExportLocation & ParsTitle & ":" & tempEp & ".mp4"
                else
                        --No name, no season, no episode name just use  date for filename in directory of shows ie Seinfeld:03061999.mp4
                        set tempEpDate to (do shell script "date +%m%d%Y") as string
                        set fileName to ExportLocation & ParsTitle & ":" & tempEpDate & ".mp4"
                end if
                -- change this if you want, I just want the H.264 video
                -- if you're not capturing off of a Hauppauge HD PVR or similar this may make things slower, not faster!!!
                export from theRec to file fileName as "H.264"
        end tell
        
end RecordingDone

-- one more edit for plex export, only section below.
-- this subroutine isn't called from anywhere that i can tell-- if i remove it, something will certainly break because Applescript is a pain in the butt
on readFile(unixPath)
        set foo to (open for access (unixPath))
        set txt to (read foo for (get eof foo))
        close access foo
        return txtend readFile
-- this will not be called when triggered from EyeTV, but only when the script is run as a stand-alone script-- sets up a loop to run the export with all currently selected shows
on run
        tell application "EyeTV"
                set selectedRecordings to selection of programs window
                repeat with theRecording in selectedRecordings
                        --display dialog "theRecording ID " & (get unique ID of theRecording as integer)
                        set recordingID to unique ID of theRecording as integer
                        my RecordingDone(recordingID)
                end repeat
        end tellend run


on CheckMultiplePIDs(recordingID)
        --check if there are multiple Video PIDs in the file
        
        tell application "EyeTV"
                set input_text to my read_from_file((path to "logs" as string) & "ETVComskip" & ":" & recordingID & "_comskip.log")
                if (count of (input_text as string)) > 0 then
                        set logdata to every paragraph of input_text
                        set logdata_lastrow to (item ((count of logdata) - 1) of logdata) as string
                        
                        if (items 1 thru 19 of logdata_lastrow) as string = "Video PID not found" then
                                --multiple Video PIDs, rerun MarkCommercials until successful
                                
                                set recrdingIDInteger to recordingID as integer
                                set rec to recording id recrdingIDInteger
                                set LogMsg to "RecordingDone found multiple PIDs for recording ID: " & recordingID & ", Channel " & (channel number of rec) & " - " & (title of rec)
                                
                                set PIDs to (items 44 thru ((count of logdata_lastrow) - 2) of logdata_lastrow) as string
                                set delims to AppleScript's text item delimiters
                                set AppleScript's text item delimiters to ", "
                                set PID_List to {}
                                set PID_List to every word of PIDs
                                set AppleScript's text item delimiters to delims
                                
                                repeat with pid in PID_List
                                        my launchComSkip(recordingID, pid)
                                        repeat while (my mcIsRunning())
                                                delay 5
                                        end repeat
                                end repeat
                                
                        end if
                end if
        end tell
end CheckMultiplePIDs


-- read, write - self explanatory
on read_from_file(target_file)
        --return the contents of the given file
        set fileRef to (open for access (target_file))
        set txt to (read fileRef for (get eof fileRef) as «class utf8»)
        close access fileRef
        return txt
end read_from_file

on write_to_file(this_data, target_file, append_data)
        --from http://www.apple.com/applescript/sbrt/sbrt-09.html
        try
                set the target_file to the target_file as string
                set the open_target_file to open for access file target_file with write permission
                if append_data is false then set eof of the open_target_file to 0
                write this_data to the open_target_file starting at eof
                close access the open_target_file
                return true
        on error
                try
                        close access file target_file
                end try
                return false
        end try
end write_to_file

-- runs comskip on shows
on launchComSkip(recID, pid)
        if pid = "" then
                set cmd to "'/Library/Application Support/ETVComskip/MarkCommercials.app/Contents/MacOS/MarkCommercials' --force --log " & recID & " &> /dev/null &"
        else
                set cmd to "'/Library/Application Support/ETVComskip/MarkCommercials.app/Contents/MacOS/MarkCommercials' --force --log " & recID & " --pid=" & pid & " &> /dev/null &"
        end if
        
        do shell script cmd
end launchComSkip

--is markcommercials running?
on mcIsRunning()
        set processPaths to do shell script "ps -xww | awk -F/ 'NF >2' | awk -F/ '{print $NF}' | awk -F '-' '{print $1}' "
        return (processPaths contains "MarkCommercials")
end mcIsRunning

--Subroutine to remove troublesome characters
to parseout(stringtoparse)
        set illegals to (ASCII character of 60) & (ASCII character of 62) & (ASCII character of 58) & (ASCII character of 34) & (ASCII character of 47) & (ASCII character of 92) & (ASCII character of 124)
        repeat with i from 1 to count (illegals)
                set testletter to (text i thru i of illegals)
                set the_offset to 1
                repeat
                        set the_offset to offset of testletter in stringtoparse
                        if the_offset > 0 then
                                set stringtoparse to (text 1 thru (the_offset - 1) of stringtoparse) & "_" & (text (the_offset + 1) thru -1 of stringtoparse)
                        else
                                exit repeat
                        end if
                end repeat
        end repeat
        return stringtoparse
end parseout

Sunday, January 20, 2013

Hackintosh update

Running well 24/7. A few episodes of Finder freezing up and not properly responding to a restart (of the Finder).

Running a VirtualBox VM with XP (TinyXP with a license I own) all the time too.

Reasonable loads - Plex, Emit, iTunes, Sickbear and Couch Potato.

Running 10.8.2.

So far, so good.

Wednesday, January 9, 2013

Finally some Hackintosh success...

A year or so ago, I had a blog post entitled "Hackintosh Isn't Worth It" or some-such  Mostly expressing my frustration with the whole bag of poo that was OSX86.

Recently I had turned my attention back as my NAS lacks CPU power to run Plex and Sickbeard and Couchpotato (which brings up another rant about why in the hell are they putting those CPUs into NAS's with pre-installed software that requires much more power...)

My current Synology DS411J (which I love, BTW) wasn't cutting it for more sophisticated stuff.

So, following advice of Lifehacker, despite the fact that I hate them I got the following:
  • Gigabyte GA-B75M-D3P
  • Sandisk 120GB SSD
  • Corsair Vengence RAM - 16GB
  • some piece of crap plastic Corsair case somebody recommended
  • Intel i7-3770 (hat tip to my brother-in-law for employee discount)
Put it all together. Unibeast was pretty smooth, followed guides here, but had to boot safe mode a couple times - this was all with 10.8.2.

Also, HAD TO MAKE SURE VT-d was disabled in BIOS!!!

That's not in the guides.


Screen porn one, I'm downloading Ubuntu to run as a VM in Virtualbox. Unfortunately it isn't going to work as well as it could, because I have to turn off VT-d (see above).


And screen porn two.

Really went off without a hitch (to my surprise). Let's see how it goes running 24/7.


Tuesday, January 17, 2012

Online/cloud financial software with sync...

In 2012 we ought to be able to do this:

iPhone/Android financial software + Cloud platform for entering transactions from desktop computers anywhere. Why can't we? Let's review the contenders:

Mint.com - I still cannot figure out how to enter transactions and get them to consistently reconcile correctly. Anybody know how to? Feel free to post below. Otherwise, it's a lovely platform to keep track of things.

Clearcheckbook.com - They have a great online interface, support import/export in a variety of formats, but their iPhone client is garbage - very crashy and unstable. Look at the app rating - two stars at the time of this writing. I've also used their Android app and it's a bit better. Overall, the whole platform is usable on Android, but unusable on iPhone.

iReconcile - This is what I'm currently using, but the online interface is SLOOOOOOOW. Lacks import/export features. No support for your memorized transactions on the iPhone via the web interface. Clunky (and again, SLOOOOOOOW interface).

Also (added later) - toshl.com - tracks expenses, but can't split things up into accounts (weird).

Loyal reader (singular) what are you using?

Saturday, July 9, 2011

Saturday, May 21, 2011

Why I quit Wordpress

I used to run my blog on Wordpress and hosted my site at Dreamhost (I would recommend Dreamhost without reservation, BTW). But I found I was spending lots of time doing updates and I really don't have time for that. I also frequently noticed that my posts would get spam inserted into them to manipulate search engines via SQL injection hacks. Annoying.

So I closed up my Wordpress install over there and came to Blogger (who I can bitch about, but they're free). I've also used Google Webmaster Tools (also free) and I have used the webmaster tools since back in the Wordpress days. I liked Wordpress, it was fun. Learned some CSS skills. I liked Gallery for sharing images too (but now I use Picasa).

Anyway, upon setting up my blog on blogger, I noticed that my traffic logs had some strange guests (Ukraine and Russia? see below - click to zoom):


Weird, right? So doing some digging I checked the webmaster tools site for evidence of stupidity and there it was under my crawl errors (again, click to zoom):


Some script kiddie website had figured out a way to insert their serialz in my Gallery. WTF?

I love free software, I've licensed stuff under the GPL that I've written. The problems are: difficulty of necessary upgrades being performed regularly by casual users and the lack of commercial impetus to make a proper product.

I'm sticking with big names and commercial software for the foreseeable future.

Monday, May 16, 2011

The false economies of web reviews

Ever wonder why you never really read a negative review of a product on websites? I used to. In fact, I fell victim to purchasing a few less-than-spectacular products based on reviews posted on websites I trusted.

Take, for example (because this is really easy), any of the books by Timothy Ferriss. In particular, the book "The 4-Hour Body" is notable given the large amount of online hype it generated, particularly on high-traffic websites like gizmodo, and lifehacker.com (where it got a full week of excerpts and glowing reviews). Unfortunately, most serious book critics - like the NYT - considered the book to be nothing more than a laughable bad joke. Why, then, the disparity?

First of all, we should acknowledge that in addition to being a confirmed narcissist (based on his own writing), and a likely sociopath, Timothy Ferriss has been called the greatest self-promoter in the world by Wired Magazine in 2008. The guy clearly has a forcible personality which, coupled with nearly delusional lifehacking writings can sell lotsa books.

The bigger issue here is how advertising on the web is structured, particularly as it relates to product reviews. See that link to Amazon to purchase "The 4-Hour Body" (please don't click it). If you were foolish enough to actually buy this book, I would get a cut of the sale. Big websites like gizmodo and lifehacker make gobs of money this way, so tend to put out positive reviews of products so that people reading will click the linky-link and buy the product.

This is why I wanted to review this book here briefly: don't buy it, it's shit. And also to point out that you can't trust online reviews, even from great sources - they're all tainted by the almighty dollar.

Saturday, May 14, 2011

The Great Blogger Outage of 2011

Seems to have eaten two of my greatest posts ever. I am nagging them about getting me back up.

Friday, May 6, 2011

Eye-Fi Connect x2 Card

I recently purchased a second one of these - they're relatively inexpensive now. I really liked the one I got for a point-and-shoot camera, and wanted to try on in my Nikon D80.

Setup is pretty easy, though I thought setting up the direct mode access with the new Android and iPhone/iPad apps was a little confusing. The software is OK, could be a bit better - the EyeFi helper app keeps crashing on me. My D80 also seems to be unable to complete and upload of a large batch of photos (about 100 JPG high resolution). I've even set the power settings as their support pages suggest. Sometimes, you just have to plug the card into a computer.

The are where it really shines, though, is the ability to instantly put pics on Picasa or other sites to share with other family members.

Find it here at Amazon, about $40 as of this writing. Size is pretty unimportant since the card has a feature that deletes pics off the card after uploading once you've hit a user-specified capacity. That's pretty cool.

Overall I'd give it a reserved recommendation. The software needs some improvement.