Topic: WindowsAll Posts

Symbolic Links Revisited

I think they're broken. On #Windows anyway. As far as my logic understands, any running program should not know that they even exist. But #xampp can tell. Or at least, I think Windows is just feeding it directories as if it could tell. This is a little rough to explain.

Say we have a #PHP file on an #Apache server in a directory, but that directory is actually what Windows calls a junction (A type of symbolic link). If I 'require' another php file with a relative link like '../', where is the server going to look?

My first guess? The directory above the junction. It took me nearly an hour to determine that it was looking in the directory above the TARGET of the junction. Maybe that's the way that should work for some reason. But I do not know what that reason is. If Windows had any kind of proper sandboxing, it'd be a major security hole.

I do seem to be good at finding the #CornerCases.

Posted 8 Mar 2019 by Brian

Symbolic. Links. Are. Awesome.

Have you ever wished you could have multiple folders on your system that contain the same files? And update in both places automatically? No? Oh, well then don't bother reading the rest of this.

For the cool people, symbolic links allow an operating system to treat files or folders as if they exist in multiple places. This is very useful for organization. In my case, I use them a lot for #WebDevelopment on my local server. I want to place all related project files in one place, but I need the actual web site to sit in the folder of the local server. Thanks to symbolic links, I can have both without manually updating the local site.

This works on a lot of operating systems, but for info on using them on #Windows, check out this HowToGeek article. I mostly use junctions to create folder links for entire websites, but the standard link type is also useful for single files. Just be careful, because a single file symbolic link looks EXACTLY the same as a shortcut in windows #explorer. But they are very different, as you can see if you check the properties. Also, the /H hard link seems to only make a copy, without auto updating the contents, so I don't ever use that.

You're welcome.

#tips #productivity

Posted 1 Feb 2019 by Brian

About

You found me! I'm Brian Bogedin. This is my website and blog. Obviously. Anyway, I'm a full stack web developer and game programmer operating in Southeast Michigan. I do freelance, too, so feel free to contact me with business inquiries. Thanks for stopping by!

Ping me: brian@bogedinbr.com

Projects

This blog!

I'm making this blog from scratch. No CMS, frameworks or libraries! Just MySQL, PHP, JS, HTML and CSS. Is it necessary to create a blog from scratch? No, but it is great for learning, and customization. Does your blog have hashtags?

DrawingWiffWaffles.com

Website for a youtube channel that creates instructional and entertainment videos about illustration. I built the site and manage giveaways there from time to time. Currently working on a miniature custom CMS so that the site owner can administer the giveaways without my assistance.

SECO Tools

I do some work here and there for a company that sells mill tooling. Most recently built a batch processor for their tool converter. Basically, it takes a bunch of competitor product numbers and returns the information on tools offered by SECO with similar specs. Still needs some user friendliness enhancement, but it's currently only for internal use.

Geospin

This is a small couch multiplayer game made in gamemaker for a game jam I organized with some friends. Up to 6 players use controllers or the keyboard to fire rockets on the side of their city to rotate a planet and avoid incoming missile. The trouble is, everyone else is trying to rotate the same planet! Download it on itch.io!

Showpony

Mulitimedia engine being developed by my friend, Josh Powlison. Plays audio, video, comics, text, and kinetic novels. Cool stuff. I'm helping out a tiny bit. See the demo here.