|
-
January 20, 2025, 03:13:00 am
- Welcome, Guest
News:Official site launch very soon, hurrah!
31
on: August 10, 2019, 10:48:07 pm
|
Started by Dakusan - Last post by Dakusan
|
I recently tried to install Slackware 4.2 64-bit (Linux) onto a new mini PC I just bought. The new PC only supports UEFI so I had major issues getting the darn setup on the install cd to actually run. I never DID actually get the install cd to boot properly on the system, so I used an alternative. While the slack install usb key was in, I also added and loaded up an ubuntu live cd usb key. The following is what I used to run the slackware setup in Ubuntu. #Login as root #sudo su
#Settings InstallDVDName=SlackDVD #This is whatever you named your slackware usb key
#/mnt will contain the new file system for running the setup cd /mnt
#Extract the initrd.img from the slackware dvd into /mnt cat /media/ubuntu/$InstallDVDName/isolinux/initrd.img | gzip -d | cpio -i
#Bind special linux directories into the /mnt folder for i in proc sys dev tmp; do mount -o bind /$i ./$i; done
#Mount the cdrom folder into /mnt/cdrom rm cdrom mount -o bind /media/ubuntu/$InstallDVDName/ ./cdrom
#Set /mnt as our actaul (ch)root chroot .
#Run the slackware setup usr/lib/setup/setup
#NOTE: When installing, your package source directory is at /cdrom/slackware64
|
32
on: June 26, 2019, 09:53:33 pm
|
Started by Dakusan - Last post by Dakusan
|
It’s a bit of a pain reading results from batch requests to Mailchimp. Here is a quick and dirty bash script to get and pretty print the JSON output. It could be cleaned up a little, including combining some of the commands, but meh. #Example variables BATCHID=abc1234567; APIKEY=abcdefg-us11@us11.api.mailchimp.com; APIURL=us11.api.mailchimp.com;
#Request the batch information from Mailchimp curl --request GET --url "https://dummy:$APIKEY@$APIURL/3.0/batches/$BATCHID" 2> /dev/null | \
#Get the URL to the response grep -oP '"response_body_url":"https:.*?"' | \ grep -oP 'https:[^"]*' | \
#Get the response xargs wget -O - 2> /dev/null | \
#The response is a .tar.gz file with a single file in it. So get the contents of this file tar -xzvO 2> /dev/null | \
#Pretty print the json of the full return and the “response” objects within php -r '$Response=json_decode(file_get_contents("php://stdin"), true); foreach($Response as &$R) $R["response"]=json_decode($R["response"], true); print json_encode($Response, JSON_PRETTY_PRINT);'
|
33
on: April 08, 2019, 09:31:09 pm
|
Started by Dakusan - Last post by Dakusan
|
Part of my workstation’s audio setup uses the RME Babyface Pro. Until the most recent update of their software, the built-in Window’s sound’s master volume for the device was ignored. So while this script isn’t as important as before, I still find it very useful. So the following is an AutoHotkey script which modifies the master volume in the TotalMix FX window via the mousewheel (when alt+ctrl is held down). This expects the TotalMix FX window to be sized as small as it can, and to have a channel selected for the control room’s Main Out. It should look like this: The script is as follows: ;Function to create lparam/wparam for SendMessage CalculatePARAM(w1, w2) { IfLess, w1, 0 w1 := 65535 + w1 + 1 IfLess, w2, 0 w2 := 65535 + w2 + 1
return (w2<<16 | w1) }
;Send a mouse wheel action to a window SendMouseWheel(WindowHWND, Steps, XPos, YPos) { ;Constants WM_MOUSEWHEEL := 0x20A WheelStepAmount := 120
;Calculate and execute the message WinGetPos, ScreenX, ScreenY,,, ahk_id %WindowHWND% wparam := CalculatePARAM(0, Steps*WheelStepAmount) lparam := CalculatePARAM(XPos+ScreenX, YPos+ScreenY) SendMessage, %WM_MOUSEWHEEL%, %wparam%, %lparam%,, ahk_id %WindowHWND% }
^!WheelUp:: ControlGet, ControlHWND, Hwnd,,AfxFrameOrView100s1,RME TotalMix if ControlHWND SendMouseWheel(ControlHWND, 1, 36, 428) return
^!WheelDown:: ControlGet, ControlHWND, Hwnd,,AfxFrameOrView100s1,RME TotalMix if ControlHWND SendMouseWheel(ControlHWND, -1, 36, 428) return
|
34
on: January 30, 2019, 12:52:47 am
|
Started by Dakusan - Last post by clowg
|
PS: There is a new API available for Playlist importing:https://forums.plex.tv/t/can-plexamp-read-and-use-m3u-playlists/234179/32 G.
|
35
on: January 30, 2019, 12:38:42 am
|
Started by Dakusan - Last post by clowg
|
Hi @Dakusan
I have come back to your script/.exe because Plex threw away one of my previously imported m3u Playlists.Im getting this error: PlexPlaylistImporter.exe -p "D:\PlexServer\Plex Media Server\Plug-in Support\Databases\com.plexapp.plugins.library.db" "D:\7mc\plexplaylistimporter\top 550 songs.m3u" Top550SongsPlex playlist is not already created. Would you like to create it now (y/n)? y DB Error: no such collation sequence: naturalsort
This is on Windows 10 x64, on the Plex Server console. The exe worked really hard for about 10 minutes before coming up with the playlist creation question, and then immediately failed with the error.Any ideas on that one? G.
|
36
on: December 29, 2018, 04:48:03 am
|
Started by Dakusan - Last post by Dakusan
|
#This script takes a newline delimited file list from STDIN for md5 hashing #This script requires the `md5sum`, `pv`, `paste`, `bc`, and 'numfmt' commands
#The output of the md5s are stored in the file specified by the first parameter #The format for each md5 hash to the output file is "$FileName\t$Hash\n"
#File sizes are always output in megabytes with 3 decimal places #While calculating the hashes the script keeps the user informed of the progress of both the current file and all the files as follows: #1) Before file starts: "Hashing: $FileName ($FileSize MiB)\n" #2) During transfer: The progress of the hash of the current file ran through `pv` #3) During transfer: The progress of the hashing of all the files, ran through `pv` #4) After transfer: "Finished $TotalProgressPercent% ($ProcessedBytes/$TotalBytes MiB)\n\n"
#Get $Outfile from the first argument and the $FileList from STDIN (newline delimited) OutFile="$1"; FileList=`cat /dev/stdin`
#Format a byte count in MegaBytes with comma grouping and 3 decimal places MbFmtNoExt () { echo "scale=3; $1/1024/1024" | bc | echo -n `xargs numfmt --grouping` }
#Add " MiB" to the end of MbFmtNoExt MbFmt () { echo `MbFmtNoExt $1`" MiB" }
#Calculate and output the total size of the file list echo -n "Calculating total size: " TotalSize=`echo "$FileList" | xargs -d"\n" stat --printf="%s\n" | paste -s -d+ | bc` MbFmt $TotalSize echo #Add an extra newline
#Create a fifo to keep track of the total complete TotalDoneFifo=$(mktemp) TotalDoneBG=0 rm "$TotalDoneFifo" mkfifo "$TotalDoneFifo" cat > "$TotalDoneFifo" & #Do not close read of fifo Cleanup() { rm "$TotalDoneFifo" kill $TotalDoneBG exit 0 } trap Cleanup SIGTERM SIGINT
#Start the TOTAL line tail -f "$TotalDoneFifo" | pv -s $TotalSize -F "%b %t %p %e" > /dev/null & TotalDoneBG=$!
#Run over the list (newline delimited) CalculatedBytes=0 IFS=$'\n' for FileName in `echo "$FileList"` do #Output the file size and name to STDOUT FileSize=`stat --printf="%s" "$FileName"` echo "Hashing: $FileName ("`MbFmt $FileSize`")"
#Output the filename to $OutFile echo -n $FileName$'\t' >> $OutFile
#Run the md5 calculation with `pv` progress #Output the hash to $OutFile after the FileName and a tab cat "$FileName" | pv -s $FileSize -c | tee -a "$TotalDoneFifo" | md5sum | awk '{print $1}' >> $OutFile
#Output the current progress for the entire file list #Format: "Finished $TotalProgressPercent% ($ProcessedBytes/$TotalBytes MiB)\n\n" CalculatedBytes=$(($CalculatedBytes+$FileSize)) echo -n "Finished " printf "%.3f" `echo "scale=4; $CalculatedBytes*100/$TotalSize" | bc` echo "% ("`MbFmtNoExt $CalculatedBytes`"/"`MbFmt $TotalSize`$')\n' done
Cleanup
|
37
on: December 07, 2018, 03:29:27 pm
|
Started by Dakusan - Last post by Dakusan
|
On my primary computer (whose harddrive is encrypted) I always have Windows auto logging in to help with the bootup time. However, my bootup time can be rather slow; and if I needed to have my computer booted but locked, I had to wait for the login to complete so I could lock the computer. This has been becoming a nuisance lately when I need to get out of my house quickly in the morning. For the solution I created a windows boot entry that auto locks the computer after logging the user in. This also requires a batch file, to run for the user on startup, to detect when this boot entry was selected. Here are the steps to create this setup: - Create the new boot entry:In the windows command line, run: bcdedit /copy {current} /d "Lock on Startup"
This creates a new boot option, duplicated from your currently selected boot option, in the boot menu labeled “Lock on Startup”. - (Optional) Change the bootup timeout:In the windows command line, run: bcdedit /timeout 5
Where 5 is a 5 second timeout. - Create a batch file to run on login:In your start menu’s startup folder, add a batch file. You can name it anything as long as the extension is “.bat”.
Add the following to the file: bcdedit /enum {current} | findstr /r /c:"description *Lock on Startup" && rundll32.exe user32.dll,LockWorkStation Note that there are 2 spaces in the description search string to replicate the regular expression's 1 or more quantifier “+”, since findstr only supports the 0 or more quantifier “*”.
|
38
on: October 11, 2018, 09:27:26 pm
|
Started by Dakusan - Last post by Dakusan
|
It is not possible with the program, and would not be easy if the image size was different than the original.
However, if I recall (this project is almost 15 years old, so I could be remembering wrong) they are stored in 24bit uncompressed bitmap format in the container file, so if you search with a hex editor in the original file for a byte string from the extracted picture, you can find it, and replace it with another bitmap of the same size.
If it isn't stored in 24bit uncompressed format, the extracted images will probably still be the same as the original in the container file and you can still search for them in there with a hex editor. And as long as you replace it with a bitmap of equal or less size, it should work.
When replacing, make sure to replace the entire bitmap file in the container, including the bitmap header.
|
39
on: October 06, 2018, 08:46:58 pm
|
Started by Dakusan - Last post by bl4ck0ut07@gmail.com
|
Hi, i asked on inbox , i was meaning if is possible to mod files with hackxtract , like replacing
|
40
on: August 30, 2018, 01:56:04 am
|
Started by Dakusan - Last post by Dakusan
|
I wanted a simple setup in Symfony where the programmer could define their ide in the parameters file. Sounds simple, right? Just add something like ide_url: 'phpstorm' to parameters.yml->parameters and ide: '%ide_url%' to config.yml->framework. And it worked great, however, my problem was much more convoluted. I am actually running the Symfony server on another machine and am accessing the files via NFS on Windows. So, it would try to open PHPStorm with the incorrect path. Symfony suggests the solution to this is writing your own custom URL handler with %f and %l to fill in the filename and line, and use some weird formatting to do string replaces. So I wrote in 'idea://%%f:%%l&/PROJECT_PATH_ON_SERVER/>DRIVE_LETTER:/PATH_ON_WINDOWS/' (note the double parenthesis for escaping) directly in the config.yml and that worked, kind of. The URL was perfect, but IntelliJ does not seem to register the idea:// protocol handler like PHPStorm theoretically does (according to some online threads) with phpstorm://. So I had to write my own solution. This answer on stackoverflow has the answer on how to register a protocol handler in Windows. But the problem now was that the first parameter passed to IntelliJ started with the idea:// which broke the command-line file-open. So I ended up writing a script to fix this, which is at the bottom. OK, so we’re almost there; I just had to paste the string I came up with back into the parameters.yml, right? I wish. While this was now working properly in a Symfony error page, a new problem arose. The Symfony bin/console debug:config framework command was failing with You have requested a non-existent parameter "f:". The darn thing was reading the unescaped string as 'idea://%f:%l&...' and it thought %f:% was supposed to be a variable. Sigh. So the final part was to double escape the strings with 4 percent signs. 'idea://%%%%f:%%%%l&...'. Except now the URL on the error pages gave me idea://%THE_PATH:%THE_LINE_NUMBER. It was adding an extra parenthesis before both values. This was simple to resolve in the script I wrote, so I was finally able to open scripts directly from the error page. Yay. So here is the final set of data that has to be added to make this work: Registry: HKCR/idea/(default) = URL:idea ProtocolHKCR/idea/URL Protocol = ""HKCR/idea/shell/open/command = "PATH_TO_PHP" -f "PATH_TO_SCRIPT" "%1" "%2" "%3" "%4" "%5" "%6" "%7" "%8" "%9"parameters.yml:parameters:ide_url: 'idea://%%%%f:%%%%l&/ PROJECT_PATH_ON_SERVER/> DRIVE_LETTER:/ PATH_ON_WINDOWS/'config.yml:framework:ide: '%ide_url%'PHP_SCRIPT_FILE: <?php function DoOutput($S) { //You might want to do something like output the error to a file or do an alert here print $S; }
if(!isset($argv[1])) return DoOutput('File not given'); if(!preg_match('~^idea://(?:%25|%)?([a-z]:[/\\\\][^:]+):%?(\d+)/?$~i', $argv[1], $MatchData)) return DoOutput('Invalid format: '.$argv[1]);
$FilePath=$MatchData[1]; if(!file_exists($FilePath)) return DoOutput('Cannot find file: '.$FilePath);
$String='"C:\Program Files\JetBrains\IntelliJ IDEA 2018.1.6\bin\idea64.exe" --line '.$MatchData[2].' '.escapeshellarg($FilePath); DoOutput($String); shell_exec($String); ?>
|
|
|