nightrain – PHP packager for native applications on Windows, Linux, and Mac OS

PHP Nightrain is a packager written in Python for the PHP Programming Language. Using this tool you can convert your PHP/HTML/CSS/Javascript application to a Native Desktop Application. Currently, PHP Nightrain supports the Windows, Mac (OS X) and the Linux operating systems.  This is basically PhoneGap for desktop.

Chrome Remote Desktop goes mobile

I missed the announcement last month, but these are good enough news to share even later: Google Chrome Remote Desktop now works with your Android device.

chrome remote access


This is obviously for Windows and Macs machines, but these are usually the ones needing remote access anyway.  Linux people have always known how to access their machines remotely.

On the price of the operating systems is running a good piece on the price of the operating systems.  It covers a bit of history and shows how things are now and how it all came a full circle – from free operating systems of the past, all through highly profitable years of Microsoft and Apple, and back to free operating systems of today’s mobile world.

In a way, operating systems are returning to their roots as a kind of loss leader. Before the personal computer revolution of the late 1970s, operating systems were just one piece in a vertically integrated stack of technology, a stack that also included hardware and support services. Operating systems like Unix and VMS were used to sell minicomputers and workstations, and companies made their profits on hardware and support contracts. OSes such as BSD UNIX were completely free, and programmers would pass them around at will. Under the same philosophy, Apple gave away new versions of its Macintosh operating system until the crisis years of the late 1990s, when hardware sales slowed dramatically.

In the rapidly developing smartphone and tablet markets, tightly-coupled stacks are once again dominant, so OS makers can subsidize their operating systems with profit from the products integrated into them. Google, for example, subsidizes its mobile OS by selling online ads, and, in theory at least, by selling Motorola-branded hardware. Apple’s iPhone profits come from hardware and service sales, not the OS.

The article also shows how problematic is this new situation for Microsoft.

Microsoft’s OS sales once generated 47 percent of its revenue, but they contributed just 25 percentlast year on decelerating Windows licensing (and even that figure is inflated by ad revenue from Windows Live). In response, Microsoft is restructuring as a “devices and services” business — meaning a company that sells hardware like the Xbox and web services like Azure. In other words, it’s becoming more like Apple. Apple isn’t really a software company. It makes software and services that run on its own hardware devices.

However …

Yes, even Microsoft is moving towards the vertical stack. It recently acquired phone maker Nokia and sells its own tablets. But this game of cross-subsidizing the operating system will be tougher for Microsoft, since the company is no Apple when it comes to hardware — and no Google when it comes to online services. The company rose to prominence in the horizontal PC era, when Microsoft could play one hardware vendor against another, dictate prices, and keep a computer’s hefty OS markup hidden from consumers. Those were the days.

And more specifically:

So to the average consumer, the 21st Century sea change in OS pricing might not be particularly apparent. But to Microsoft shareholders, it will look very real and very scary. The company must make up that 25 percent somewhere else.

It’ll be interesting to see how it plays out.

On Windows 8 user interface

This Slashdot comment made me laugh out loud:

The entire interface is an unmitigated disaster. DOSSHELL looked prettier and was more functional than Windows 8. The OS has multiple personality disorder and the interface looks like it was gang-banged by Crayola. Nobody wants to touch it even with a 10 foot pole.

Microsoft takes password security to the next level

Microsoft takes password security to the next level

I’ve spotted this link somewhere online, and I think this is funny.

Error Message: Your Password Must Be at Least 18770 Characters and Cannot Repeat Any of Your Previous 30689 Passwords

The solution is, as always, obtain the latest service pack.

Workaround for Cygwin path issues

A colleague of mine had a problem with his Cygwin setup.  For some reason, he couldn’t just run “mysql” to start his MySQL command-line client.  The error that he was getting back was:

$ mysql
sh.exe: mysql.exe: command not found

Typing the full path to mysql.exe every time is more than annoying.  After searching the web for a bit, I learned that the problem might be with the msys/cygwin terminal, which doesn’t like the backslashes that Windows uses in the PATH variable. I’ve tried a few different variations of setting up the path, but eventually gave up. It just didn’t work.

But since there is more than one way to do it, I solved the problem in a completely different way – an alias.  Just edit the .bashrc file and add the following line:

alias mysql="/c/full/path/to/your/mysql.exe"

Obviously, replace the fake path with the full path to your mysql.exe and restart the terminal.  From now on, every time you type “mysql“, it’ll be like you’ve typed the whole thing again.

P.S.: The same solution is applicable to the other similar problems.

Closing the Microsoft vs. Linux chapter

Slashdot reports:

After years of battling Linux as a competitive threat, Microsoft is now offering Linux-based operating systems on its Windows Azure cloud service. The Linux services will go live on Azure at 4 a.m. EDT on Thursday. At that time, the Azure portal will offer a number of Linux distributions, including Suse Linux Enterprise Server 11 SP2, OpenSuse 12.01, CentOS 6.2 and Canonical Ubuntu 12.04. Azure users will be able to choose and deploy a Linux distribution from the Microsoft Windows Azure Image Gallery and be charged on an hourly pay-as-you-go basis.

Microsoft has been known to use Linux before, but this, I think, is one of those major milestones in accepting that Linux ain’t that bad after all. All these years, Open Source advocates have been known to quote Gandi (arguably):

First they ignore you, then they laugh at you, then they fight you, then you win.

And they were right.  I hope now we can close that chapter and move on to the next holy war.  Vim vs. emacs anyone?

Microsoft vulnerability, now served with plain text files

It is the year 2011 and we learn that even opening plain text files in Microsoft Windows is not as safe as you thought.

The vulnerability could allow remote code execution if a user opens a legitimate rich text format file (.rtf), text file (.txt), or Word document (.doc) that is located in the same network directory as a specially crafted dynamic link library (DLL) file. An attacker who successfully exploited this vulnerability could gain the same user rights as the local user.

You’ve got all your buzz words here: remote code execution; legitimate rich text, text, or Word document; network directory; local user rights, etc.  It’s good to know that it’s fixed.  Yet it’s still worrying as to what else is there …

The purpose of an operating system

I came across a good reminder of the operating system’s purpose in this Slashdot comment:

The point of an OS is to make the software independent of the underlying hardware. Windows lost that independence a LONG while ago (Windows NT / 95). Linux still has it because of the underlying design of the whole thing.

The same comment also brought back some memories of the times when I was working as a system administrator at what is now known as PrimeTel.

Move a Windows server – you can be in for a world of hurt unless you want to fresh-deploy it every time. Move a Windows-client, historically you’d be prepared for blue-screens because you have the “wrong” processor type (Intel vs AMD – requires disabling some randomly named service via the recovery console, for example), reinstalling the vast majority of the drivers (probably from a 640×480 safe mode) and even then can’t be guaranteed to get anything back and working – not to mention activation, DRM, different boot hardware (e.g. IDE vs SATA), etc.

Move a Linux server – unless your OWN scripts do something incredibly precise and stupid with an exact piece of hardware, it will just move over. At worst, you’ll have to reassign your eth ports to the names you expect using their MAC address (two seconds in Linux, up to 20 minutes in Windows and a couple of reboots).

It’s been a few years since I did that.  But I remember vividly how we used to move servers from one piece of hardware to another, and since we used a mixture of Windows and Linux servers, the difference was obvious.  With everything else being equal, we could migrate a dozen of Linux servers in two-three hours, moving them in parallel.  Windows machines took days and had to be approached with very little concurrency.