Tcoz Tech Wire

Discoursing on trends and technologies interesting to Tim Consolazio, sole proprietor of Tcoz Tech Services, specializing in Flash/Flex/Air, iPhone, Facebook, Twitter, and related technologies.

"Technology from an indie software developer's perspective".

Tuesday, August 11, 2009

(To Unix guy) Yes, it does...Windows Has Symlinks.

This is one really started to irk me lately, so here we go.

Qualifier: I am not a Windows fanboi at all. My primary machines are Macs, with a Windows box for Windows-only games and testing, and a remote one for development (I have two, one Centos, the other Windows Server). However, I am not a Mac fanboi either. The primary reason I own Macs is that in my field, most people work on Macs. Mac is also ruling the roost of UI-think these days, and I'm a UI developer. If and when the wheel turns, depending on the wants and needs of my clients, I will too. The ability to reinvent yourself is what keeps you viable and current; just ask David Bowie or Will I Am.

That said, to all the Unix guys who wave symlinks in the face of the Windows developer:

WINDOWS HAS SYMLINKS. YES IT DOES. THEY ARE CALLED NTFS JUNCTIONS.

I post this because recently, a friend who runs a business got shafted by some PHP developer, who got in over his head, screwed up his site, and suddenly "wasn't available". He got the entire site zipped up and sent it to me. It didn't work when I just dumped it into XAMPP on a Windows dev box I have running; the pages were requesting directories that didn't exist in the file structure I was sent.

I contacted him, and he responded, "what are you running it on", I said, "oh, a Windows box". He said, "you can't do that, the site uses symlinks".

While I understand the "why" of why he did this (easily point at other directories to try other versions), I don't really think it's in the interests of the client (and therefore, isn't a good idea). You can just rename directories to try alternate versions of a codebase. It also defeats the purpose of the whole "can run on anything" mantra; as far as this developer knew, he had tied a basic PHP site to Unix-based OSs, with the thought that, "you shouldn't run Windows". My friend (the business owner) had no knowledge of this decision whatsoever, as far as he knew, PHP ran anywhere, mySQL ran anywhere, the site was portable.

So here's a pro note: don't tie your websites to a particular platform unless you have to, and inform your client if you do, that "you will not be able to move this to Windows", or ".Net is, in practical terms, Windows technology. Your site will not be directly portable, if at all, to Unix/Linux".

Anyway, I responded, "that doesn't matter, Windows has symlinks".

He responded, and I have heard this from people at a particular startup I did some work for not long ago, who considered themselves superior to anybody that touched a Windows machine, "Windows doesn't have symlinks".

And like I said then:

YES IT DOES. THEY ARE CALLED NTFS JUNCTIONS.

So, either get the Windows Server Resource Kit to get the "linkd" tool, or just get the small, free Junction tool that's been around for a few years. If you have either of them though, it's a breeze.

With Junction (which is what I use), it's as easy as:

- Create an empty directory (your "symlink").
- junction c:\path\simlinkname c:\path\actualdirectory.

That's it. There's also commands to inspect directories for symlinks, delete them, and so on.

Note that, as far as I know, symlinks to directories on remote shares are not supported by Windows. This may not be true on the newer server versions, I dunno.

Here's a list to Junction (which I use now instead of moving around the whole Windows Server Resource Kit, which you can look up if you're so inclined):

http://technet.microsoft.com/en-us/sysinternals/bb896768.aspx

Happy Windows symlinking!

Labels: , , ,

Wednesday, May 27, 2009

Meebo Chat: browser-based universal client. I use it, I like it. The new notifier has Email notifications now...Windows only though (argh!)

I'm a longtime fan of Meebo, click here to check 'em out. In a nutshell, they are a browser-based chat client that allows you to connect to just about any chat service in a single view: Yahoo, AIM, Jabber, Facebook chat, and more. You can use them all nice 'n neatly, with all your contacts mixed 'n matched as needed, in a single browser tab.

Meebo has announced the following via their blog (which pops up in a chat window when you start Meebo), this version shortened to highlight the important bits:

"Mail notifications for the notifier (plus proxy and ssl!)

We have something pretty cool to announce - the Meebo Notifier now supports email notifications!...Meebo Notifier for Windows can now alert you when you get new emails for your Gmail, Yahoo, Hotmail, and AIM accounts.

Whenever you get a new email, the notifier will show a popup notification just like it already does for IMs, and will also create an icon in the system tray next to the Notifier icon (as shown below) so that you can easily access your email accounts.

A simple click on a mail notification or its corresponding icon will take you right to your mail web page.

By the way, in case you missed them, we introduced a couple other new features in the Notifier a few weeks ago: HTTPS support...Proxy access."

The notifier is a native app, which at this point, unfortunately only runs on Windows, so I don't use it (MAC CLIENT PLEASE). It looks like this:






Why I started using Meebo is actually sorta funny. I was on a big account in NYC--you've all seen the work more than likely--and needed to communicate with some developers about external video feeds.

Naturally, you send URLs back and forth; we were using AIM to do so. Security had decided they didn't want URLs going back and forth through their routers; don't ask me why, it's ridiculous I know. Everybody got around it just by typing, "go to www dot domain slash dot" and so on. Dilbertian corporate thinking at its best; hinder an employee's ability to do a job, call it security, and check something off your list.

One day I was walking around the floor, and an employee was using some browser-based chat client. I saw a URL pop up in one of the chat windows.

I queried, "WTF is that?". He replied "Meebo. It runs over HTTP/port 80 so security doesn't block it".

Five minutes later I had a meebo account, and I've been using it ever since; that's probably at least three years, maybe more.

Meebo has evolved quite a bit since I started using it as a humble way to beat corporate security. The notifier is a recent thing (but again I don't use it MAC CLIENT PLEASE). It also didn't have advertising; it does now, and I must say, if you must have advertising, their model is an example of how to do it without pissing off your users. Ads appear as a slide-up panel at the bottom of the window, which you can click an arrow to close into an unobtrusive bar at the bottom. They tried one or two other more intrusive models, users didn't like it, they ditched it. We recognize they're a startup and need money, but if any service compromises gets pushy about premium access by destroying the original experience, I'll drop you the same day.

Pic below:




They've also got a browser-based Mobile client, which works fairly well, a screenshot from the iPhone of the contact list is below; you sign in, you see your contact list as pictured below, you tap a contact, you go to a window dedicated to that conversation. You can run multiple conversations by tapping back 'n forth to the contact list.




You can set some nice options, like backgrounds and such, turn notification noises on and off, add/remove accounts, use hide/invisible on each of them, use custom status messages, review chat history, and so on. All the things that you'd expect these days from a chat client. Meebo even implemented file transfer a little while back.

Meebo also has a nice little service feature; you can actually create your own Meebo room on your own web page. Think of it as a turnkey chat solution. You go to their Meebo widget configurator page, set some options, and blammo, you have a dedicated Meebo room that other people can visit. If you look at the first page, you can see the un-blurred "tcoz's room" entry at the top of the contact list. When you double click it, you see this:




Notice the "embed" button at the top. When you click it, you get a window that lets you copy markup for pasting into your own web page, and blammo, your site is chat-enabled with your own Meebo room. I don't use them because I dislike the advertising integration, and there may be a way to turn it off that I haven't found, but if you're looking for something fast that works, it's a good option.

So, Meebo has gotten more interesting. If you're on Windows, try the notifier.

One more time...

MAC NOTIFIER CLIENT PLEASE ok plz ty.

As always, thanks for visiting.

Labels: , , , , , ,