Hey Guys,
to get rid of booting to Windows or typing the whole mencoder options, i wrote a little bash-script.
It converts videos, given as parameters to a subfolder called "converted" (can be changed simply). Multiple files are handled one after another. I know it's nothing amazing, but a little helper for me and maybe some others.
With "nautilus-scripts" i can use it with a rightclick on a video (or multiple videos).
Please send me Suggestions or Feedback.
P.S.:
I'm using LinuxMint 9, should work on every linux with gnome-terminal and mencoder
Sorry for thread ressurection, but this is the only place I could find for working mencoder options to encode videos for the built-in video player in the HTC-Desire. And with decent quality (800x480) too.
(I simply dont want RockPlayer and Wuhzena or VLC are not ready yet).
To avoid ghost joins in xda-developers just to download this tiny(!) file, I paste the source here, so that people passing by can use it without the need to go through the whole registration process.
Have fun!
Code:
#!/bin/sh
NEWDIRNAME='converted'
mkdir -p $NEWDIRNAME
while [ $# -gt 0 ]
do
ENDING=${1##*.}
FILEPATH=${1##}
FILENAME=$(basename "$1" .$ENDING)
gnome-terminal -x mencoder -of lavf -lavfopts format=mp4 -vf dsize=800:480:0,scale=0:0,expand=800:480:-1::::,harddup -sws 9 -ovc x264 -x264encopts crf=24:force_cfr:bframes=0:nocabac:no8x8dct:global_header -oac faac -faacopts br=128:mpeg=4:object=2:raw -af volnorm=1 -channels 2 -srate 44100 -delay 0.3 "$1" -o "$NEWDIRNAME/$FILENAME.mp4"
shift
done
Oh and: If you use Ubuntu and not Mint, you have to get mencoder from the medibuntu repositories!
ps: @board admins: I hope this is okay, if not simply delete my post I just wanted to help people out.
I use Ubuntu so I can recommend you make your life easy:
Go download the .deb package for Handbrake (Google it,think it's http://Handbrake.fr) and then use the iPhone preset (or make your own preset)
Thanks for the tip
GUI Tools are nice, but I prefer mencoder because I usually know my way around it. But finding a good set of options for a specific device is often a very demanding task.
@summ: Thanks for doing this for browsers...it's very helpful!
@refl3x0r: Thanks for the script. Trying now on gentoo.
No problem, was a pleasure to help this community. Didn't thought of posting the code, but it's alright. Have fun
Sent from my HTC Desire using Tapatalk
Related
Hey everyone,
I'm working on a program to enhance the usage of my HD when flashing or doing other crazy stuff with it.
[Program description]
Load in a m3u file and get all it's music content in one single MAP to copy to for example your storage card of you mobile phone!?
[m3u]
This file is used a lot by me and I believe many others. You can create playlists and save them this way. Opened by many programs like WinAMP VLC-Player and so on....In these files all the directory's of your mp3s are saved!
[Why Why Why WHY!?]
Well, I like to experiment that is why I'm becoming a creepy doctor. But the main reason: Format your SD card and wanting to upload my latest playlist I am using in WinAmp took ages, and I hate IT!
[Nerdy Talk]
I'm using Delphi 2010 cause pascal is my best known language that implements everything I need and I am to lazy to create my own GUI. For the moment it will be open source and using pretty lame coding skills. I will try to make an obvious layout and make a lot of notes next to the lines.
STATUS: Development
Last edit: [11 - 01 - 2010]
Program Development:
1. Open only .txt files cause m3u is annoying. (Change .m3u to .txt)
2. Search and save all file directory paths (No max. encountered)
3. .....
4. Copying MP3's only on same disk!!...
Error:
Problems converting TString to a String for some annoying String editing. Damn this is not a strong point from Pascal....
Hope some peepz will help me a hand with the probs I encouter!
Bye for now!
Sugocy
P.S. Very busy student, so don't expect any speed. Just like to know if someone is waiting for something like this. I didn't find any software doing so......
Hey all,
I am not sure if this is the right place to post this or not, but being I have a captivate, I figured I would start here...
I wrote a small little application called MyTunesExtract.
Basically what it will do is read your itunes library file, create a list of all of your playlists and then let you extract those playlists to m3u files and folders to a locating of your choosing.
For example, you configure your Extract point to be E:\Music ( e:\ is the mount point for my phone)
I then select a playlist, and hit export. It will copy over all of the tracks (retaining directory structure) and build an m3u playlist that IS compatible with the Stock Samsung music player. I haven't tried any other players out yet.
Import things to note:
- This is a ROUGH RELEASE somewhere between beta and final.
- The itunes library is treated as READ-ONLY!!
- This app seriously lacks error handling, but should work pretty consistently once it's setup.
- Depending on how many people use it will determine my support plan. I currently and planning a v2 of this app that will be a complete re-write, done right with error handling and multi-output support at runtime, along with multi-playlist formats.
- This app is FREE and COMES WITH NO/ZERO/NONE Warranty.
- Donations are always welcomed and certainly appreciated.
- I will try to help people regardless of donations, but please remember this is a pet project for me and I can only work on this once my son is down to bed.
- I would keep itunes CLOSED when running this, just to prevent any possible hick-ups.
- This DOES work over network drives, my itunes library is on a different machine and I can give my library path as: \\machine\music\itunes\itunes library.xml
Installation!!!
- Very easy, open the MyTunesExtract.exe.config there are two paths there... the first one: defaultiTunesLibrary points to the location of your itunes library XML, I repeat, XML file, not the itl. The other one: defaultSyncFolder points to the output location for creating playlists and folders.
- There is no install process other than that. Just configure it and run the exe.
Notes
- I try to be a bit smart about playlist extracting, it will only copy files if it doesn't already see it in the output directory.
- Because of that the Files to Copy count is only files MISSING in the output folder. If your playlist has 20 songs, and 8 are already there, the Copy Count will be 12...
- I've tested this with the latest version of itunes.
I've attached 3 screenshots that show what it looks like.
Hope you guys get some use out of this!
Thanks and enjoy,
Rich
Excellent idea - the one thing stopping my daughter getting an android is iTunes.
Sent from my GT-I9000 using XDA Premium App
Thanks, it was born out of the same scenario. My wife and I have a large iTunes library with tons of playlists, and I couldn't figure an easy way to get them out...
Tried DoubleTwist, Winamp and a couple others, nothing was simple, complete and fool-proof, (and free!).
Either way, if you use it, let me know! I would love some feedback.
Thanks,
Rich
This is a really nice idea and thanks for the effort in creating this. Is there any way to repackage this app for mac?
Hey, thanks for the feedback. The only mac I have is an Ipad, so I don't think I will be able to help you so much there. It's written in .Net 4, I don't think there is any compatibility layer you can run AFAIK. Maybe Boot camp?
Thanks,
Rich
Hi, I am trying to start B&N Reader app from ADW (or any other launcher...).
I found the 'am' command that should be able to send an intent to an app but, being an absolute beginner with Android coding and its inner working I am not able to use it as I want.
What I am doing is:
Code:
# am start -a android.intent.action.VIEW -n com.bn.nook.reader.activities/.ReaderActivity
but, while it doesn't give any error, it doesn't do anything ...
As I told before, I am an absolute beginner with this stuff, so I could have totally misunderstood everything.
Any hints?
If you look into the AndroidManifest.xml the answer is simple enough
Code:
am start -a android.intent.action.VIEW -d file:///media/Digital\ Editions/George_R_R_Martin_-_A_Dance_Wit.epub -t application/epub -n com.bn.nook.reader.activities/.ReaderActivity
ros87 said:
If you look into the AndroidManifest.xml the answer is simple enough
Code:
am start -a android.intent.action.VIEW -d file:///media/Digital\ Editions/George_R_R_Martin_-_A_Dance_Wit.epub -t application/epub -n com.bn.nook.reader.activities/.ReaderActivity
Click to expand...
Click to collapse
If you know how to read it, yes It was the second/third AndroidManifest I look at...
Any hope to launch it without an explicit book and make it open the last one, as it does when you tap on the "reading now "icon in the status bar?
...lol. I'm spending so much time just with the hacking that I haven't gotten around to reading ADWD
met67 said:
Any hope to launch it without an explicit book and make it open the last one, as it does when you tap on the "reading now "icon in the status bar?
Click to expand...
Click to collapse
No, not directly in Reader, but you can do it like this:
Code:
am broadcast -a com.bn.nook.launch.LAST_BOOK -n com.bn.nook.home/.HomeBroadcastReceiver
ros87 said:
No, not directly in Reader, but you can do it like this:
Code:
am broadcast -a com.bn.nook.launch.LAST_BOOK -n com.bn.nook.home/.HomeBroadcastReceiver
Click to expand...
Click to collapse
NICE! It works, thank you so much!
Now, any suggestion for a GScript alternative to launch this command with less flickering?
met67 said:
NICE! It works, thank you so much!
Now, any suggestion for a GScript alternative to launch this command with less flickering?
Click to expand...
Click to collapse
Why GScript? What are you trying to do?
met67 said:
Hi, I am trying to start B&N Reader app from ADW (or any other launcher...).
I found the 'am' command that should be able to send an intent to an app but, being an absolute beginner with Android coding and its inner working I am not able to use it as I want.
What I am doing is:
Code:
# am start -a android.intent.action.VIEW -n com.bn.nook.reader.activities/.ReaderActivity
but, while it doesn't give any error, it doesn't do anything ...
As I told before, I am an absolute beginner with this stuff, so I could have totally misunderstood everything.
Any hints?
Click to expand...
Click to collapse
I can build you an app that will send broadcast.
Sent from my SAMSUNG-SGH-I777 using xda premium
ros87 said:
Why GScript? What are you trying to do?
Click to expand...
Click to collapse
I want a button/widget/big icon in adw home that launches the last book, Ala the Reading Now box in B&N home.
I found Manual Intent Shortcuts, will try it tomorrow ...
XorZone said:
I can build you an app that will send broadcast.
Sent from my SAMSUNG-SGH-I777 using xda premium
Click to expand...
Click to collapse
Thank you for your offer, but Manual Intent Shortcuts works just fine
Actually I'm trying to out together a poor man's implementation of your dedicated launcher
met67 said:
Thank you for your offer, but Manual Intent Shortcuts works just fine
Actually I'm trying to out together a poor man's implementation of your dedicated launcher
Click to expand...
Click to collapse
Oh well, I had already written the app (shortcut)
http://www.multiupload.com/I2SW3LSI4B
Feel free to use it as you want.
---------- Post added at 10:52 PM ---------- Previous post was at 10:07 PM ----------
Also forgot the source:
Code:
package com.bitloom.nst.readingnow;
import android.app.Activity;
import android.os.Bundle;
import android.content.Intent;
public class ReadingNowActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent broadcastIntent = new Intent();
broadcastIntent.setAction("com.bn.nook.launch.LAST_BOOK");
sendBroadcast(broadcastIntent);
finish();
}
}
So, I wanna try playing Binding of Isaac on the surface RT when it gets shipped later.
Yes, yes, its a x86 program, but there seems to be an exception with the linux version being bundled with the humble bundle-- its a .swf file.
Is there anyway to play this .swf file, since surface rt supports flash?
Thanx!
Embed it in a local HTML page?
GoodDayToDie said:
Embed it in a local HTML page?
Click to expand...
Click to collapse
I apologize for my ignorance. How do you do that?
Disclaimer: I am not an HTML guru (just a noob actually, googled for this) nor have I tested it with binding of isaac (I did have another swf that worked though on x86 windows).
Open notepad.
Copy and paste this in:
Code:
<html>
<head>
<title>The Binding Of Isaac</title>
</head>
<body>
<object width="800" height="600">
<param name="movie" value="flashmovie.swf">
<embed src="flashmovie.swf" width="800" height="600">
</embed>
</object>
</body>
</html>
Change flashmovie.swf to match whatever the filename is for the binding of isaac is in both line 7 and line 8.
Save it in the same folder as your binding of isaac swf, any name really as long as it ends in .html so will open in internet explorer.
I dont know what the window size is for binding of isaac off the top of my head, I think it is 800x600 though. If not you may have to adjust the width and height parameters in lines 6 and 8.
Should then play from within internet explorer. It might not, I'm not even sure if it plays nicely being embedded into web pages like that.
SixSixSevenSeven said:
Disclaimer: I am not an HTML guru (just a noob actually, googled for this) nor have I tested it with binding of isaac (I did have another swf that worked though on x86 windows).
Open notepad.
Copy and paste this in:
Code:
<html>
<head>
<title>The Binding Of Isaac</title>
</head>
<body>
<object width="800" height="600">
<param name="movie" value="flashmovie.swf">
<embed src="flashmovie.swf" width="800" height="600">
</embed>
</object>
</body>
</html>
Change flashmovie.swf to match whatever the filename is for the binding of isaac is in both line 7 and line 8.
Save it in the same folder as your binding of isaac swf, any name really as long as it ends in .html so will open in internet explorer.
I dont know what the window size is for binding of isaac off the top of my head, I think it is 800x600 though. If not you may have to adjust the width and height parameters in lines 6 and 8.
Should then play from within internet explorer. It might not, I'm not even sure if it plays nicely being embedded into web pages like that.
Click to expand...
Click to collapse
Thanks for the reply, but this doesn't work. Odd because I could just play SWF files on regular windows using the browser simply by opening the file through either internet explorer or Chrome.
Just to make sure: are you fully up to date? You need to have a recent enough version of RT (last ~8 months, I think) that it doesn't have the Flash whitelist any more.
I just gave it a try out of curiosity. First, I didn't see any Linux Humble Bundle download that gave me a swf. I just ran the Windows version and pulled the swf from the temp folder the game creates. Using the same HTML code posted above, the swf runs in desktop IE10. It does not,however, run in Metro IE10. But lastly, it's not worth anyone's time trying this, because even at the lowest details, the game runs so slow as to be unplayable.
jhoff80 said:
I just gave it a try out of curiosity. First, I didn't see any Linux Humble Bundle download that gave me a swf. I just ran the Windows version and pulled the swf from the temp folder the game creates. Using the same HTML code posted above, the swf runs in desktop IE10. It does not,however, run in Metro IE10. But lastly, it's not worth anyone's time trying this, because even at the lowest details, the game runs so slow as to be unplayable.
Click to expand...
Click to collapse
Wow, something I wrote worked???
I just went on my humble bundle account, set platform to linux. It gave me the option of .tar.gz, .deb and flash. Flash being a swf.
SixSixSevenSeven said:
I just went on my humble bundle account, set platform to linux. It gave me the option of .tar.gz, .deb and flash. Flash being a swf.
Click to expand...
Click to collapse
Weird, I see .tar.gz, 32-bit rpm, 64-bit deb, and 32-bit deb, even when I view it on my Surface RT.
jhoff80 said:
Weird, I see .tar.gz, 32-bit rpm, 64-bit deb, and 32-bit deb, even when I view it on my Surface RT.
Click to expand...
Click to collapse
This is what I see on my humble account (I forgot to drop image res before uploading so I wont embed it, not everyone wants a nice big picture): http://imgur.com/I9nqf7g
Better way than IE10
Hey,
I just discovered another Option to Play *.SWF- games on winows rt devices:
Switch to Desktop -> Charm Bar -> Systemsettings -> System & Security -> Flash Player
Go to the advance tab & scroll down,
-> Settings for trustworthy Files or something -> add -> add file -> select *.swf accept and Close everything.
To Launch the game, double clicking the file should do the Job.
Guide might be inaccurat, my surface rt is running with german as Default language. You can see where I am too tierd to fight autocorrect, can't you?.
please report,I think your Idea of running Flash games locally is great.
best regards,
kalle.
Hmm don't know anything about playable fps but what wrote in my first post is working i Desktop mode. You can open the *.swf file with IE10 and then Need to Switch to the Desktop and allow ActiveX to start playing. Fullscreen is not working.
Best regards.
kalle
Background
Mostly inspired by DOS and the 1200+ batch files I was gifted in early 2017, CLI Productivity Config is a project to port the concepts over to the Linux shell (whether it be for Bash or fish shell). This project has been developed and tested on Debian 9 (Stretch), but should also work great on Ubuntu 17 (Zesty Zapus, Artful Aardvark).
If using the Ubuntu Xenial LTS or any derivative (e.g. Linux Mint 18.x), you may find that the columnar expression for the 'dirw' command is not aligned. This is due to a package (BSDMainUtils) being ever-so-slightly too old (9.0.6) for the required feature to appropriately handle escaped characters (9.0.7). Since Ubuntu and the derivatives are currently catching up to a newer version (first LTS being Bionic Beaver), instead of making anyone face an upgrade path, I built from source an updated (9.0.7) package, for both i386 and amd64 architectures for Ubuntu 18.04 and derivatives. Or you can make your own update with 'debuild'.
Installation
Getting these tools is relatively easy. The method used below assumes the 'git' package is installed. If not (and don't care to install it either) you can download the package directly.
Code:
git clone https://github.com/joelmaxuel/cli-productivity-config.git
cd cli-productivity-config
./INSTALL.sh
For the last command, you can either choose which shell you use (or both) as part of the guided script. Will also prompt for installation of standalone scripts (below), if desired.
Functions
Currently, every function available for Bash is available for fish, and vice versa. Arguably the only exception to this is fish has a function called 'sudo!!' where Bash already has the equivalent 'sudo !!'.
cdb
cdfl
cdh
clihelp
dirw
dirlast / dirprev / actlast / actprev
editadd
mked
sudo!!
timer
Scripts
The theory is that all of these will be built from Bash. They deploy differently (which have it's perks and drawbacks) than functions. Also, the scripts will likely fit a more specific purpose than functions.
wakessh
Support
I am finding myself very delayed in adding features or finding/fixing issues. Either can be nudged along to my attention by either an issue, posting in this thread (being thorough pays off here) or better yet, a pull request if you have code to back up a particular solution.
Source
Found on GitHub: https://github.com/joelmaxuel/cli-productivity-config
Functions/Scripts in Detail
cdb
Performs a search (based on name) below the current working directory to change to any specified matched directory. As this uses a live search, you may not want to use this when then there is a very deep directory structure below, or you will find yourself waiting on the search results.
Code:
[email protected] ~/B/g/android_kernel_asus_msm8916> cdb arm
a 1) ./virt/kvm/arm
b 2) ./arch/arm
c 3) ./Documentation/devicetree/bindings/arm
d 4) ./Documentation/arm
e 5) ./Documentation/zh_CN/arm
f 6) ./sound/arm
g 7) ./tools/perf/arch/arm
h 8) ./drivers/scsi/arm
Select directory by letter or number: 2
[email protected] ~/B/g/a/a/arm>
cdfl
Move anywhere in the filesystem without having to type out or tab through a full path - enter the first letter of every path level instead. '~' and '/' can be used as a prefix (to start with home or root, respectively), or use '.' anywhere in the parameter to go up one level.
Code:
[email protected] /u/l/bin> cdfl ~B.
[email protected] ~> cdfl .
[email protected] /home> cd
[email protected] ~> cdfl Bg
a 1) ./Build/github
b 2) ./Build/genymotion
c 3) ./Build/git:
Select directory by letter or number: 1
[email protected] ~/B/github> cdfl ..
[email protected] ~> cdfl /ulb
a 1) /usr/lib/blt2.5
b 2) /usr/lib/binfmt-support
c 3) /usr/lib/binfmt.d
d 4) /usr/local/bin
Select directory by letter or number: 4
[email protected] /u/l/bin>
cdh
Displays a history of visited directories to allow changing back to one of them.
Code:
[email protected] ~/B/g/a/a/arm> cdh
c 3) ~/Build
b 2) ~
a 1) ~/Build/github/android_kernel_asus_msm8916
Select directory by letter or number: 3
[email protected] ~/Build> cdh
d 4) ~/Build
c 3) ~
b 2) ~/Build/github/android_kernel_asus_msm8916
a 1) ~/Build/github/android_kernel_asus_msm8916/arch/arm
Select directory by letter or number: 3
[email protected] ~>
clihelp
A helper message about common keyboard shortcuts. Can also be invoked by pressing ^h (CTRL + H)
Code:
[email protected] ~> clihelp
Keyboard Shortcuts:
CTRL + C – Cancels current command
CTRL + S – Repeats the last command with sudo
CTRL + L – Provide directory listing in current working directory
CTRL + U – Cuts text up until the cursor
CTRL + K – Cuts text from the cursor until the end of the line
CTRL + W – Cut word behind cursor
CTRL + Y – Pastes text
CTRL + E – Move cursor to end of line
CTRL + A – Move cursor to the beginning of the line
ALT + Backspace – Delete previous word
CTRL + Left – Move cursor one word to the left
CTRL + Right – Move cursor one word to the right
Home – Move cursor to beginning of line
End – Move cursor to end of the line
Tab – Autocomplete current command/argument
[email protected] ~>
dirw
A compact listing of the current directory with colour. Long names are truncated in the listing. Can also be invoked by pressing ^l (CTRL + L)
Code:
[email protected] ~/B/g/android_kernel_asus_msm8916> dirw
android/ AndroidKernel.mk arch/ block/
COPYING CREDITS crypto/ Documentation.../
drivers/ firmware/ fs/ include/
init/ ipc/ Kbuild Kconfig
kernel/ lib/ MAINTAINERS Makefile*
mm/ net/ README REPORTING-BUGS
samples/ scripts/ security/ sound/
tools/ usr/ virt/
[email protected] ~/B/g/android_kernel_asus_msm8916>
dirlast / dirprev / actlast / actprev
These functions either display or act (copy, move or remove) upon files that match a certain age (modified date), whether they are newer than a specific week/day/hour/minute (dirlast/actlast) or older (dirprev/actprev). The searches can also include a (wildcarded) name search as well.
Code:
[email protected] ~/B/g/cli-productivity-config> dirlast D 5 '*.fish' -rl
-rw-r--r-- 1 joel joel 2850 Sep 1 17:53 ./fish/functions/dir-core.fish
-rw-r--r-- 1 joel joel 50 Sep 1 17:05 ./fish/functions/actlast.fish
-rw-r--r-- 1 joel joel 3826 Sep 1 17:53 ./fish/functions/act-core.fish
-rw-r--r-- 1 joel joel 50 Sep 1 17:13 ./fish/functions/dirprev.fish
-rw-r--r-- 1 joel joel 50 Sep 1 17:15 ./fish/functions/dirlast.fish
-rw-r--r-- 1 joel joel 50 Sep 1 17:12 ./fish/functions/actprev.fish
-rw-r--r-- 1 joel joel 2634 Sep 4 09:25 ./fish/functions/cdh.fish
[email protected] ~/B/g/cli-productivity-config> actprev W 2 cp ..
Action: cp
The following files will be affected:
./README.md
./INSTALL-fish.sh*
./LICENSE
./INSTALL-Bash.sh*
Do you wish to continue? [yes|no]: y
[email protected] ~/B/g/cli-productivity-config>
editadd
Opens a file in your default editor, and then marks it for inclusion in the next git commit ('git status' is also run to verify the addition).
Code:
[email protected] ~/B/g/cli-productivity-config> editadd Bash/.bash_functions
M Bash/.bash_functions
[email protected] ~/B/g/cli-productivity-config>
mked
Makes and enters a specified directory (or several nested ones when applicable).
Code:
[email protected] ~/B/g/cli-productivity-config> mked examples/Bash
[email protected] ~/B/g/c/e/Bash>
sudo!!
Repeats the last command, with sudo preceeded. In bash, this already exists as 'sudo !!'. Can also be invoked in either shell by pressing ^s (CTRL + S)
Code:
[email protected] ~> apt-get update
Reading package lists... Done
W: chmod 0700 of directory /var/lib/apt/lists/partial failed - SetupAPTPartialDirectory (1: Operation not permitted)
E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/
W: Problem unlinking the file /var/cache/apt/pkgcache.bin - RemoveCaches (13: Permission denied)
W: Problem unlinking the file /var/cache/apt/srcpkgcache.bin - RemoveCaches (13: Permission denied)
[email protected] ~> sudo!!
[sudo] password for joel:
Ign:1 http://mirror.its.dal.ca/debian jessie InRelease
Ign:2 http://mirror.its.dal.ca/debian stretch InRelease
Hit:3 http://mirror.its.dal.ca/debian stretch-updates InRelease
Hit:4 http://mirror.its.dal.ca/debian jessie-backports InRelease
Hit:5 http://mirror.its.dal.ca/debian jessie Release
Hit:6 http://mirror.its.dal.ca/debian stretch Release
...
timer
A cut down 'time' command showing only the "wall clock" time a command has run for.
Code:
[email protected] ~> timer sleep 1
Ran for 0:01.00 min:sec
[email protected] ~>
wakessh
Invokes Wake-On-LAN (WOL) for a PC defined by a profile, then remotes into the system once online.
Code:
[email protected] ~> wakessh android
192.168.1.111 not turned on. WOL packet sent at 19:23
Waiting a Minute...
Trying again.....
192.168.1.111 is UP as on 19:24
Attempting to SSH [email protected]
Linux terminatrix 4.14.0-0.bpo.3-amd64 #1 SMP Debian 4.14.13-1~bpo9+1 (2018-01-14) x86_64
Last login: Sat Mar 10 11:33:38 2018 from 192.168.1.101
[email protected]:~$
I love the topic! Command-line for life! Lets work together!
I too have become re-acquainted with my life-long friend the Command-line. My history with my keyboard goes way back:
In 1985, I inherited a Commodore VIC-20 computer which plugged into the bunny-ears antennae of my 13" television in my bedroom. Its operating system was Commodore BASIC with access to 3kilobytes of its advertized 20KB of RAM.
In 1989, I received an 80286-12 MHz PC/generic with 512kb of RAM and a 40MB Hard drive for my 8th birthday, first coming with DOS 3.2, gradually upgraded to MSDOS 5 after a motherboard replacement to a 386-SX 16 MHz and a whole 2 MEGABYTES of RAM.
At some-point after years of begging for more RAM and a C compiler, I was happily bestowed with a 486-sx 33 and an SVGA card. The new-fangled Windows 3.1 software annoyed me, because other than the pretty colors, my favorite software ran better under the command line, and I had written my own OS extensions as batch scripts to provide me multitasking and shortcuts.
Fast forward through many boring years of high school, windows machines (self-built AMD machines all), my friend, Dom introduced me sometime my senior year (class of 1999) to Slackware Linux, by bringing a floppy disk to one of my Doom LAN-parties (I proudly had a 100MB ethernet switch and a Cable modem, in the days of 14.4kbaud)...
At my University, I never went to classes because I spent freshman & sophomore years working through the LinuxFromScratch.org guide & flirting with girls. Fortunately, dropping out of school freed up my schedule the next year to build an industrial grade FreeBSD server from scratch, and configuring the software exactly how I wanted to keep it, for Co-location at the HE.net Network Operations Center in Freemont California, at only $88/month. This was potentially my version of Command-line heaven, with 8 friends offering to pay $10/month for their own websites, and the nude-modeling website of my fiance fast growing in monthly subscriptions.
Unfortunately, fate conspires against the honest, as after 12 months the co-location fee doubled to $168/month, my fiancee abruptly realized that people could see her nude photos on the internet, after her sister told her mom who blamed me, and ordered me to abandon my first successful business and refund the 200 subscribers their $10 monthly fees. My web-hosting customers quickly realized that they could just post to a public blog or photo-site for free, and stopped paying me, so their websites (and hours of tech support) became a charity I provided. My entrepeneurial ambitions of 2000-2005 of a public database showing the graph network of the photos and interactions of my friends, called buddylist.org (pending AOL negotiations), including its special messaging modes which integrated group texting across web and sms text messages, were set aside to pay for my obscenely high rent.
Through working at Microsoft-only employers, I remained familiar with the progress of Command.com and the features of Microsoft's Developer Command Console (might have forgotten the name)...
For the past decade, Debian Linux & Bash has been my OS command-line, and after falling in love with Computer Algebra, then, seeking the most openly licensed platform for my Scientific Computing Ambitions, and a more marketable programming language for my resume, I discovered Python.org & SageMath.org . The Computer Algebra luminaries who I followed developed their own command console called IPython.org which has now caught-on as the highly popular JuPyTer (Julia and Python Terminal), that supports this elegant console-style of programming in many more programming languages!
Most recently, I discovered a shell (and its fork) that proposes to offer the features of Bash & the Python programming language on top of the JuPyTer environment, as a suitable replacement for any Unix Login shell!
These 2 are named "xonsh" & "xosh", one is at http://xon.sh and the other is in the http://pypi.python.org index. The easiest way to install for a python user is: pip install xosh xonsh
I hope that by telling you this, you can practice one of my favorite Design Patterns of the Unix philosophy: "Don't Reinvent the Wheel". You can investigate the state of progress of xonsh to see which of those batch scripts is advantageous,
I am also in the early stages of evaluating the terminal features of the "terminology" sub-project of the Enlightenment GUI project, because I am building some foundational tools for a standardized client experience centered around an elegant Linux keyboard + console experience to mentor & inspire bright young adults into participation with the sophistication of the Unix tradition as a core element of my mission to teach International Collaboration on Open Source & Open Content Projects to all of Asia, China especially. I realized that they have an enormous amount of engineering talent in China, and a fledgling young Open-Source movement emerging alongside the emergence of capitalism. I hope to spread the wisdom of the immense value of public knowledge crystallized in the form of Open Source Projects as essential to the intellectual progress of the world, and the cross-pollination of ideas across the globe produces immeasurable value in the form of common wealth available to all who are aware of how to find it.
The elegant text console experience I am developing is relevant to Android, because these devices are suitable clients for remotely-booting (either through an unlocked bootloader or a root-mode package) my platform which will load a slick color Unicode console that is also an IDE built around my polyglot ideas for mixing many programming languages together with LLVM tooling that feels interpreted but is fully capable of being compiled into a distributable app, a Firefox fullscreen browser, and a remote terminal viewer, each fullscreen in a Wayland windowing system (Weston for now, rustc built "way-cooler" eventually), switchable by the volume keys. This project is competing for my attention among my several other ambitious projects, including REPOS to help unify the dozens of software repository tools I use, and STARS to help sort my favorites/bookmarks within individual projects (think GitHub, GitLab, Mercurial, Firefox, Chromium, Alternatives) in a unified manner.
I realize that one lifetime may not be long enough to finish all of my ambitions, so I have a project idea for that as well: Open Ambitions github.com/open-ambitions is my proposal to form a community where people can learn how to be thorough with their due-diligence of discovery about which aspects of their project idea are already being worked towards, have already been proposed, or already in existence, and which aspects are feasible or infeasible and why, and then a process for communal contemplation of the merits and costs of each proposal, including honest advocacy for contributions to existing projects, mergers of complementary or redundant projects, and prudent council on the process of forking an existing project with the least harm to the principle of reuse of code, and minimizing duplication of efforts.
Maybe you are perfect to be a co-founder of my Charitable Open Source Mentoring Non-Profit Organization, named Dandelion Labs? ( dandelionlabs.org & a dozen subdomains coming soon)
merbst said:
I hope that by telling you this, you can practice one of my favorite Design Patterns of the Unix philosophy: "Don't Reinvent the Wheel". You can investigate the state of progress of xonsh to see which of those batch scripts is advantageous
Click to expand...
Click to collapse
Hmm, as I understand it, since a good deal of what CLIPC does is modify the current environment (typically within that change the working directory), forking out to another environment to do something is well and good in a fork, but I am not aware of the voodoo needed for the changes resulting in that fork coming back. This is a big reason why I work on Bash and fish in parallel. It would be nice to be able to call on other interpreters and have it mean something later on, but this is quite different than calling on a 4DOS function while in DR-DOS.
There is probably a way to shim, but that provides the next problem. I want to be able to provide CLIPC with as few extras not already found in a vanilla install. Even if extras need to be installed, it can be a quick package grab away. According to Debian, xonsh is currently not yet mature enough to be mainline.
Don't get me wrong, I appreciate the alternative perspective. At this time however, since this hobby has slowed to a crawl due to other hobbies (a collection of servers, most of which are not mine; Commodore 64 repair; teasing possibilities with Soekris net4511 & Linksys WRT54GS network devices; odd soldering jobs) and being reasonably satisfied with the effect currently.
At some point I will revisit the old batch files for more ideas; and I will check out what xonsh can do as well. But when it comes to actively leveraging it, seems doubtful, at least for the moderate time frame.
Thanks for the info.