MS Windows - Taming the Beast
The tyranny of UI ... 87% of desktop/laptop users.
http://en.wikipedia.org/wiki/Usage_share_of_operating_systems
Python
See: PythonTwisted, PythonTwistdServer
https://docs.python.org/2/using/windows.html
Python And Windows File Paths
The trick is to enter all of your filename strings using forward slashes, and then let os.path.normpath() change them to backslashes for you, this way.
myDirname = os.path.normpath("c:/aDirname/")
It takes a bit of practice to get into the habit of specifying filenames this way, but you’ll find that you adapt to it surprisingly easily, and you’ll find it a lot easier than struggling with The Wolf.
http://www.diveintopython.net/file_handling/os_module.html
http://stackoverflow.com/questions/2953834/windows-path-in-python
http://www.pitt.edu/~naraehan/python2/file_path_cwd.html
http://en.wikibooks.org/wiki/Python_Programming/Files
http://sluggo.scrapping.cc/python/unipath/Unipath-current/README.html
https://pypi.python.org/pypi/Unipath
https://github.com/mikeorr/Unipath
https://docs.python.org/3/library/pathlib.html
New in Python version 3.4.
The pathlib module offers classes representing filesystem paths with semantics appropriate for different operating systems.
Path classes are divided between pure paths, which provide purely computational operations without I/O, and concrete paths, which inherit from pure paths but also provide I/O operations.
http://stackoverflow.com/questions/19065115/python-windows-path-slash
However, for cross-platform compatibility, you should probably use os.path.join. I think that Python on Windows will automatically handle forward slashes (/) properly, too ...
Just using forward slashes will work under windows - os.path.join() is obviously the strongest solution.
Twisted On Windows
Not sure about specific PythonTwisted server on Microsoft platforms. File-like sockets are an issue. Permissions are a even bigger issue ... #Permissions
Need to workmore with PythonTwisted for starters ... then the 'Big If' PythonTwistdServer#TwistdConch.
Installing Twisted On Windows
Used to problematic ( if not an outright problem ), but now is primary source of top quality servers on Windows.
Install Python 2.7 from msi, Twisted from .msi, pywin32 from .msi, and run easy_setup.py for fun ...
Note the reference to PythonWindows#PyWin32.
Twistd FTP On Windows
Start Twistd FTP ...
twistd -n ftp -p 2121 -r C:\_data
... voila !
Still nagging issues of authentication. Potentially, can use as start-on-demand server with anonymous user.
Twistd Conch On Windows
Will Twisted SSH server run on Windows in a safe and sane way ? The 'twistd conch help' says:
... the default authentication methods are UNIX passwords, SSH public keys, and PAM if it is available ...
How does that translate ?
XAMPP for Windows
The old standard, actually easier to install and get running than Linux ... not as secure, obviously.
https://www.apachefriends.org/index.html
XAMPP is a completely free, easy to install Apache distribution containing MySQL, PHP, and Perl. The XAMPP open source package has been set up to be incredibly easy to install and to use.
https://www.apachefriends.org/download.html
Includes: Apache 2.4.10, MySQL 5.6.21, PHP 5.5.19, phpMyAdmin 4.2.11, OpenSSL 1.0.1, XAMPP Control Panel 3.2.1, Webalizer 2.23-04, Mercury Mail Transport System 4.63, FileZilla FTP Server 0.9.41, Tomcat 7.0.56 (with mod_proxy_ajp as connector), Strawberry Perl 7.0.56 Portable
Cygwin
Cygwin | https://www.cygwin.com/ |
Cygwin/X | http://x.cygwin.com/features.html |
It works and has good stuff but can I really depend on it ? What do I really need it for ? Cool but too much configuration ?
On the other hand ... it does provide something like a Linux-lie user dimension to Windows that doesn't really exist otherwise ( or maybe better to say kinda sorta but not really ). It's a major piece of functionality but it also can be a major piece of enhanced security as well ...
On the third hand ... I don't know. For all practical purposes, it's almost as if there are two distinct types of Windows systems - with or without Cygwin.
To Cygin or not to Cygwin, that is the question ! But maybe I'm over-dramatizing it :-)
SSH for Windows
There may be an important conclusion about Windows SSH servers here. Don't do it.
See - Security#IsSSHEvil
It is probably better to use invoke-by-message queuing backplates instead of SSH. Even XMLRPC is better from a security standpoint, and maybe much better from a development standpoint. In a pinch, use the somewhat limited capabilities of Twisted Conch if necessary.
Apart from SSH-specific issues, there is an overall issue of responsibility, that is Who is responsible for what on this machine ?.
See Architecture#UserPermissionsAsAnArchitecturalElement
Cywin SSH
SSH Access to Windows 7 Using Cygwin | http://www.howtogeek.com/howto/41560/how-to-get-ssh-command-line-access-to-windows-7-using-cygwin/ | All inside of Cygwin |
Installing an SSH server on Windows 2000 / XP | https://bscb.cornell.edu/about/resources/windows-installing-ssh-server | |
OpenSSH SSHD server on Windows using Cygwin | http://www.noah.org/ssh/cygwin-sshd.html |
There's still some hope here. It locks the user into the Cygwin the directory, which is good. Start a server on the public port and you're off and running ... on the other hand, that creates an absolutely requirement for Cygwin, which can be a fairly large hurdle.
Do I really understand this thing well enough to guarantee that permissions on the public port won't break loose somehow ?
OpenSSH
OpenSSH | http://sshwindows.sourceforge.net/ | Getting a bit old and funky. Included in Cygwin |
Install and configure OpenSSH on Windows | http://comptb.cects.com/install-configure-ssh-on-windows/ |
freedSSHd
How to create a Windows SSH server | http://www.daniloaz.com/en/how-to-create-a-windows-ssh-server/ | Plug for freessh |
freeSSHd and freeFTPd | http://www.freesshd.com/ | Definitely looks old and funky |
MobaSSH
MobaSSH | http://mobassh.mobatek.net/download.html |
Home Edition: Free
Full SSH server and Unix utilities
Remote shell commands
Secure file transfer (SFTP)
Start as a Windows service
X11-forwarding enabled
Users selection
Installation Uninstallation support
Advanced options for the SSH service
Bitvise
http://superuser.com/questions/64058/windows-ssh-servers
Xming
http://sourceforge.net/projects/xming/
Xming is the leading X Window System Server ...
http://www.straightrunning.com/XmingNotes/
From the download page:
Authorization Required
This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required.
MingW
MinGW, a contraction of "Minimalist GNU for Windows", is a minimalist development environment for native Microsoft Windows applications.
... If you want POSIX application deployment on this platform, please consider Cygwin instead.
From Wikipedia on POSIX:
POSIX for Windows
Cygwin provides a largely POSIX-compliant development and run-time environment for Microsoft Windows.
MinGW, formerly a fork of Cygwin, provides a less POSIX-compliant development environment and supports compatible C-programmed applications via Msvcrt, Microsoft's old Visual C runtime library.
Microsoft POSIX subsystem, an optional Windows subsystem included in Windows NT-based operating systems up to Windows 2000. POSIX-1 as it stood in 1990 revision, without threads or sockets.
Sounds better than actually is. Infrequent releases, unadvertised hurdles, hidden dependencies, etc. MSys 'bash' shell exists more in theory than practice.
GTK Applications
Geany, Gedit. Etc.
wxWidget Applications
There are a couple of good ones.
http://en.wikipedia.org/wiki/WxWidgets
Audacity
http://en.wikipedia.org/wiki/Audacity_%28audio_editor%29
Filezilla
http://en.wikipedia.org/wiki/FileZilla
Editra
http://en.wikipedia.org/wiki/Editra
Other Applications
http://en.wikipedia.org/wiki/Category:Utilities_for_Windows
Node JS
MongoDB
http://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/
Couch DB
https://wiki.apache.org/couchdb/Installing_on_Windows
Dependencies: None - the installer includes erlang, openssl, ICU, spidermonkey and everything else you need including Microsoft Visual C++ runtimes.
Seems to work well ...
Windows 10
First Impression: Believe it or not, supposedly it's real and it runs on the RaspberryPi !
Later Impression: Not ! It's not Windows 10, it's Windows 10 IoT Core, a specially developed developer's version for device hacking. Effectively no desktop.
Latest Impression: Not, as in no. Basically, a deployment option for Win10 IOT applications, if you're into it. Otherwise ...
There's some good news though ...
http://blogs.windows.com/buildingapps/2015/08/10/hello-windows-10-iot-core/
... This means full support for the standard UWP languages like C++, C#, JS and VB, but it also means bringing support – including full tools, debugging, and project systems – for Node.js and Python. The project templates for the standard UWP languages create projects that look like standard UWP projects, but for Node.js and Python we’ve worked hard to make these apps look and feel just like they do on other platforms ...
You should be grateful for whatever you get ;-)
http://ms-iot.github.io/content/en-US/win10/SetupRPI.htm
Learn how to set up the Raspberry Pi 2 and connect it to your computer.
http://ms-iot.github.io/content/en-US/win10/samples/PowerShell.htm
http://en.wikipedia.org/wiki/Windows_10
During its first year of availability, upgrades to Windows 10 will be offered at no charge for consumer users of Windows 7 and Windows 8.1.
Windows 10 is expected to be released in late 2015
On February 2, 2015, Microsoft announced that it would provide a free ARM port of Windows 10 for Raspberry Pi 2 devices ...
How about a better idea ? Run Linux#Raspbian on the RPi and extend Windows functionality via integrated Linux services ... sounds better to me.
Windows Issues
XForwarding on Windows
Xforwarding Linux->Windows is often flukey and funky.
Using X Forwarding on Windows | http://courses.cms.caltech.edu/cs11/misc/xwindows.html |
Linux XDMCP HOWTO | http://tldp.org/HOWTO/XDMCP-HOWTO/index.html |
SSH and X-forwarding on Windows | http://alexcappiello.com/15122-f12/win-ssh.php |
Permissions
What do you do ? It's just not the same as Linux.
Need to develop this one
#TO-DO
KDE On Windows
Last release May 2013, but there's still hope ... OSOL projects may dribble along for years, but they never entirely go away either.
Winux
A vision ? A dream ? Just another marketing buzz word ? Or what ?
Also See
- Servers#HTTPServer
- BizTalk
- DesignPatternsOrchestration#MSDNonOrchestration
- GTKApps#Windows-TryBeforeYouBuy
https://www.google.com/?gws_rd=ssl#q=migrating+from+windows+to+linux