Here is a little svg file that I created for what I would hope browsers would be able to render.
The rendering to the left points to the linked svg file source.
It uses some rather simple shapes, an interesting texture, and lots of transparency.
It is a texture test for a little personal pet project I have been refining and would like it to look right across all major browsers. I created it in Inkscape then edited it down to size by hand.
There is one thing about it though. Most browsers crop it at it’s canvas edges and I can see how that would be useful, but I would prefer it to not be cropped in this instance, so I’m wondering how to do that without changing the canvas size. I want the shadow to spread past the edge of the canvas and onto the page its on.
Hmm.
[Update: The image now direct links to the svg file.]
Wednesday, March 31, 2010
My SVG Wish Test
Posted by
Shkyrockett
at
12:11 AM
0
comments
Friday, March 26, 2010
IE UA String Fun
So, after reading the IE blog post about the new UA string to be used in IE9 and the general rejection by many in the web development community I thought I would have a little fun trying out a version of the string to see who uses browser sniffing.
First, the default UA string:
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Win64; x64; Trident/4.0; SLCC1)
For comparison, the new one one from the blog post:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/5.0)
And the one I thought would be fun to try:
Trident/5.0 (MSIE 9.0; Windows NT 6.1; WOW64;)
I thought I would try it on the following few websites:
| Default UA | IE9 UA | Trident UA | |
| google.com | Looks good | Looks good | Looks good |
| bing.com | Looks good | Looks good | Looks good |
| wolframalpha.com | Looks good | Looks good | Looks good |
| yahoo.com | Looks good | Looks good | Looks good |
| msn.com | Looks good | Looks good | Looks good |
| microsoft.com | Looks good | Looks good | Looks good |
| apple.com | Looks good | Looks good | Looks good |
| gmail.com | Looks good | Looks broken | Looks broken |
| ymail.com | Looks good | Not supported, won’t load. | Not supported, won’t load. |
| hotmail.com | Looks good | Looks good, but can’t read emails. | Looks good, but can’t read emails. |
| linkedin.com | Looks good | Looks good | Looks good |
| facebook.com | Looks good | Looks good | Looks good. no chat though. |
| youtube.com | Looks good | Looks good | Looks good |
| reader.goolge.com | Looks good | Looks good | Looks good |
| maps.bing.com | Looks good | Warning page only | Warning page only |
| maps.google.com | Looks good | Looks good | Looks good |
| maps.yahoo.com | Looks good | Looks good | Looks good |
| mint.com | Looks good | Looks good | Looks good |
| shkyrockett.blogspot.com | Looks good | Looks good | Looks good |
First I created three instances of IE8 and set the UA strings for each using UAPick to change the string and the website http://www.enhanceie.com/ua.aspx so I could tell if the string had been changed.
I then duplicated the tabs in each browser instance to see if the tabs would keep the same UA string which they did. I kept the first tabs open for reference to which string was being used, then visited the different web sites in turn to see the results.
I’m curious what other sites break with these UA strings. But the fun one would be:
Trident/5.0 (MSIE 9.0; Windows NT 6.1; WOW64; SLCC2; Made You Look!)
Posted by
Shkyrockett
at
9:11 PM
0
comments
Saturday, January 23, 2010
Virtual Boot?
I set up my Laptop to dual boot 32 bit Windows and 64bit Windows. I find I'm spending more time in the 64bit version where everything just seems to run smoother. But I have software installed on the 32bit partition that I don't have on the 64bit partition which I either don't want to install there or it won't work in a 64bit environment (KQ7 anyone?).
Dual booting has been working okay, but it is becoming a pain to switch between partitions when all I want to do is use one piece of software installed there. Especially when all of my settings and bookmarks are on the 64bit partition. I'm starting to wish there was something like Boot Camp for Windows so I could just run the 64bit system and then virtual boot the 32bit when I want to use that software. A Dosbox VPC hybrid interface might even work.
Sure I could set up a virtual machine, but I already have everything set up and working right on the other partition. Sure I could possibly convert the other partition into a vhd but that would just be over duplicating what is already there.
Maybe if someone working on Windows 8 could get the same idea here and throw in iso support too…
Posted by
Shkyrockett
at
2:36 AM
0
comments
Labels: Ramblings
Wednesday, January 20, 2010
Not supposed to be there?
I keep wondering what might have happened to cause facebook to send http headers which say "Server: MochiWeb/1.0 (I'm not even supposed to be here today.)".
Posted by
Shkyrockett
at
7:35 PM
0
comments
Labels: Weirdness
Wednesday, November 25, 2009
Quick and Dirty Filtered Copy
Have you ever found that you needed all of a certain type of file in a file path only to discover that they are among dozens of other file types in varying levels of folders in the path? Did you want to copy only these files to another drive so you could work with them independently?
Set Files=*.txt Set DestDrive=X
For /f "delims=" %%i in ('dir /a-d/s/b %Files%') Do md "%DestDrive%:%%~pi" & copy "%%i" "%DestDrive%:%%~pnxi"
This is a fairly simple script where you loop through each of the items found in a dir then create the directory structure on the new drive to mirror the original and copy each file.
This is more the kind of script to come up with when you just need to get something written quickly to just get it done and don't need to think of how fast or slow it runs. Robocopy provides all interfaces to copy quicker, though it requires a little more work in understanding the command.
Posted by
Shkyrockett
at
4:35 PM
0
comments
Labels: Geeky, Programming
Friday, November 20, 2009
The Browsers
A long time ago a then young company had come up with this awesome browser a window into another world. Everyone who saw it was entranced with what they saw including things they had never dreamt to be possible.
They had developed this browser on a platform that almost everyone had and could use. Now when the platform creator found out about this new browser thing they decided it made perfect sense and that such a thing should be included as a basic part of the platform so they made their own browser.
The company who had made the first browser now had competition but the new browser wasn't as good so they didn't worry too much they just kept making theirs better.
It didn't take long for the creator of the first browser to get all puffed up thinking the browser on it's own was better than the platform it was built on and soon declared to take over the platform and make everything else on it obsolete by making it's browser the foundation of everything on the platform. Let's just make the browser the platform.
Well the platform maker didn't like that to much. This was a threat to everything they had done so they took took the step to do just what the creator of the first browser had said they would do, only to make their browser the new foundation of the platform. It would be the new browser and the new platform. Everyone could build on this new platform and could write code which could be used everywhere and there wouldn't be a threat anymore.
Soon people were using the new browser more than the first because it was now included in the platform. The creator of the old browser tried to keep up but the new one was everywhere. No one had to go look for the old one to add it anymore so it was loosing ground. The creator of the old fought back against the new taking them to court. But now the new browser was so much a part of the platform that they couldn't remove it without destroying the platform. So the creator of the first mostly gave up, handing the code to volunteers to keep it going.
Now that this threat was gone the platform creator didn't need to keep working on their browser quite as much, it could now be a stable piece of it's platform that didn't need to change so they stopped working on it and with the lawsuit on their heads they couldn't really do anymore of what they had planned to do to move everything to be written as the browser as the platform.
So they decided to start from scratch with the platform and rewrite it with a new language that was similar to what the browser used but was written in a way that was more uniform and could work better with the platform. Who needs a browser when your platform can be what was on the other side of the browser?
But as they worked on it they just kept adding and adding to it and then delaying and delaying it. It was getting better but it was nowhere near where they needed it to be to be what the old platform.
Those volunteers by now, had been working hard on the old browser, they had it up to the level and beyond of the new one. And they started to convince many to start using theirs instead and people were using it.
While deep in trying to work out the flaws of the new platform the platform maker looked up to see that the browser they had made was starting to loose ground, and they also started to realize their new platform wasn't coming together all that smooth. So they put aside the new platform and picked back up the old one and worked to make it better, while they also did their best to fix their browser which had stagnated.
But that uniform vision of a platform based on a different all encompassing browser is still the vision, it will just take more time to slowly dish out.
The revamped platform wasn't quite what was originally envisioned but it was better than what they almost ended up with. The new browser was now somewhere along the lines of being as good as the one the volunteers had done but it still needed more work.
Then comes along a late comer huffing and puffing and screaming foul play, you can't make your platform a browser! I won't be able to play! His call goes to the courts and the courts decide the platform must provide a choice in which browser is used.
Again another new platform and a new browser from the volunteers and the platform maker. And the new platform has to conform to the new rules while the others wag their tongues and point laughing.
Now the platform maker and the volunteers were in competition neck and neck with the little guy puffing up from behind, when a slick new guy steps in and looks around, he decides to make a browser of his own; He starts by pulling together pieces of other browsers that other volunteers had created and then makes it faster than any of the competition.
The two who where fighting neck and neck over features had to stop, the new guy could over take them if they weren't careful, so they all four are now racing to see who has the best.
Then while pulling ahead the new guy gets all smug and declares that his is the best browser of them all. Hey, it's even better than the platform so why do we need a platform at all? Why don't we just make the browser the platform?
So this new guy goes off and pulls together from among the works created by more volunteers, a new platform; one made almost entirely out of his new browser and one that doesn't work with the everything built on the other platform, except for what can be viewed through a browser. Even the other browsers won't work with this new platform, everything must be the browser.
Now we end up with volunteers with a browser which relies on other platforms and a platform maker with a platform which is forbidden from integrating a browser into the platform having to compete with someone who is doing what the other two had been trying to do in the first place.
We are still in the midst of the battle, who knows what will happen. The playing field is changing and the rules are no longer fair. It's certain that something is going to happen, what I do not know. But it will be an interesting race to see what comes of it.
But should the browser be the platform?
Posted by
Shkyrockett
at
12:18 PM
0
comments
Wednesday, November 18, 2009
Office 2010 Beta.
Ooh yeah! Office 2010 Beta was released today! I spent far to much time downloading and installing it. And I'm having fun. All of the apps seem to run much faster than Office 2007 too.
This first screen shot is one of the first things which impressed me. For the first time since I can remember I actually have two separate Excel spreadsheets open at the same time and they don't share the same window! That's right, you can look at two spreadsheets at the same time! Woo, hoo!
This second screenshot shows the second thing I was excited about. See those buttons labeled New, Open and Save? Well Using the new Ribbon editor I was able to add them right where I thought they should have been the whole time.
And Here is is the ribbon editor all set up with my new custom File panel.
I also downloaded the betas for Visio and MS Project. Visio is still the mostly flow-chart oriented design that I find soo frustrating but this version does have at least one new redeeming quality that I have found.
That is Visio can now save as svg! Woo hoo!
Now if only Visio was a standard part of the suite…
Anyway It's looking good so far.
Posted by
Shkyrockett
at
11:27 PM
0
comments
Labels: Software
My Hope for the Future of Laptops
Way back when Natural Keyboards were all of the rage and gelled wrist rests were new, I was looking at the advancements in human interface input devices and started thinking about what my dream interface would be.
At the time there was this cool keyboard I saw advertised in the gaming magazines which had removable templates which would give you a themed lit keyboard. I was fascinated with it, what if instead of templates you could stick one of those really thin screens in there? Wouldn't that be cool? And what if it had some sort of touch interface to it? What if you could have programmed keys that you could reprogram and move around anyway you want? What if you could even raise the surface of the keyboard screen so you could touch type with it? Wouldn't that be cool?
The Idea I ended up with would have packaged it all up into a two monitor laptop with one defined as a screen and the other a keyboard. Then there would be a stylus for interfacing with the screen. You could type on the keyboard screen then pop up a different keyboard scheme for gaming, even have two sets of arrow keys for letting two gamers play at once.
I seem to remember making a little tiny mockup of the idea though I drew the keyboard using pencil and it had a track ball drawn on it as they were all the rage back then.
Later I started wondering why the screen should even be opaque? what if the screen was transparent and you could selectively make parts opaque or transparent/translucent at varying degrees. Then, what if you could even selectively make the screen reflective so a window could act a a mirror? Wouldn't that be cool?
Over time it has been fascinating to watch and see the advancements that have occurred to bring it closer to reality.
Screens have been getting thinner and thinner, more efficient and usable. LCDs now come in color and You can now look at from multiple angles. The advancements in OLED screens and color electronic ink display displays makes me drool at the possibilities if they could just be combined.
The advancements in touch to the point that it is now built into major operating systems around and with support for multi-touch it makes the dream even more interesting.
The only thing missing today is implementing a way to raise the surface of a transparent material so that it could be used to provide tactile clues and feedback for touch typers. [Update: This Brail E-book Looks Cool!]
I was excited when I found out OLPC was thinking along the keyboard screen for the XO-2. Microsoft working on the Courier tablet is excitedly similar as well.
Awhile back I read about a Sony VAIO laptop which has a transparent screen.
Now if the displays could also be 3D…
Posted by
Shkyrockett
at
4:42 PM
0
comments
Thursday, October 29, 2009
Where is that SQL Management Studio?
Have you have Installed SQL Server Express Edition only to discover that SQL Management Studio did not get installed with it? Or when you try to install it you can’t find it in the options?
Well, for some reason, if an application such as Visual Web Developer Express, which installs a minimum install of SQL Express, is installed first those settings are used for all subsequent installs of SQL Express on the OS and since SQL Management Studio was not an option for the first install it won’t be permitted for any of the latter.
The solution is to install SQL Server Express Edition first, before any other software is installed.
Should you find yourself in this predicament you may need to wipe the machine and reinstall everything again. Fun.
Posted by
Shkyrockett
at
7:06 PM
0
comments
Labels: Software
Friday, October 23, 2009
Poor Mouse
Grr. It looks looks like my mouse is starting to wear out, the left click is beginning to not respond. This mouse has served me well for about three years and though it has visible signs of wear it will be sad should it die.
So it might be about time to look into buying a new one. The Microsoft Bluetooth notebook mouse 5000 looks interesting. But I should do some shopping around to see what I can find. And wait to see if I can get a job soon…
Posted by
Shkyrockett
at
11:02 PM
0
comments
Labels: Computers
Deseret Translator Prototype
With Windows 7 being released, which along with the latest in Apples OSs, can display Deseret characters I thought I would have a little fun with it and see if I could make a Latin alphabet English to Deseret alphabet English translator. I made it as far as being able to replace all of the consonants preserving capitalization and a handful of token combinations before I realized the huge problem would be in trying to figure out how to translate the vowels. If it weren't for all of the exceptions to rules in Latin alphabet English it might be a bit of a simple task.
I had thought it might be a fun and simple project to put up, but it looks like it will take some extra thought and work before it is ready. At least it sort of works.
Posted by
Shkyrockett
at
12:08 AM
0
comments
Labels: Programming
Monday, October 5, 2009
Intentional Software
Woah! This is a fascinating video! (http://msdn.microsoft.com/en-us/oslo/dd727740.aspx) A few years ago I wished that .net code could be saved in some intermediary language which could be swapped between syntaxes on the fly. This looks like my dream come true! Woo hoo!
Posted by
Shkyrockett
at
3:19 PM
0
comments
Labels: Geeky, Programming
Tuesday, September 29, 2009
Microsoft Security Essentials
Woo! Hoo! It's available!
I have been waiting for this for some time. At last Microsoft has released a free antivirus! You can go and pick it up now at: http://www.microsoft.com/security_essentials/
I've heard good things from the Beta; like it is supposed to be really light weight and it is supposed to be easy to use and unobtrusive. I'm uninstalling AVG right now and I'm installing Microsoft Security Essentials. Let's see how it goes!
Posted by
Shkyrockett
at
9:52 AM
0
comments
Monday, September 28, 2009
RoboCopy
So you have a huge number of files that you want to copy from one place and put them somewhere else. Perhaps you have updated some of the files and want to make sure the changes are copied but you don't remember which files were changed.
The easiest way to do this would be to drag and drop the folders to merge them but if you have done this before you probably know that this is likely to take long enough that you wonder if there might be a better way.
Fortunately for those using Windows Server 2008, Vista or Windows 7 there is. Robocopy to the rescue! For Windows XP and Server 2003 you can get it via a download from Microsoft.
For this purpose robocopy has some advantages over it's predecessors copy and xcopy and it's alternate bitsadmin in that it copies folders, it has the ability to check to see if a file needs to be copied before copying and it is relatively easy to use.
In my example I will take clipart stored on c:\ and copy it to z:\ I want to log the results and I don't want to copy the thumbnail database so here is my command line.
Set Source=c:\Images\Clipart
Set Dest=z:\Images\Clipart Set LogFile=ClipartCopyLog.txt
Set SkipFile=Thumbs.db
robocopy "%Source%" "%Dest%" /E /LOG:%LogFile% /TEE /V /FP /XF %SkipFile%
The /E switch tells robocopy to copy empty folders. /LOG is the switch which tells where to write a log to. /TEE logs the results both the the log and displays in the console window. /V presents verbose output which is good for debugging but not needed to run. /FP is also for logging instructing to use full path names. /XF is what allows Thumbs .db to be skipped in the file copy. For more information type robocopy /? in an open command window.
The biggest advantage by far is that if the file already exists and is up to date then it won't try to copy the file which speeds things up quite a bit when merging folders.
Posted by
Shkyrockett
at
11:00 AM
0
comments
Labels: Geeky, Programming
Thursday, September 17, 2009
Office Web
Whoot! From the tiny Thumbnail you might not be able to tell exactly what the screen shot is of, but it's something I'm excided about.
I opened up my SkyDrive today and found I had been accepted to the Office Web Apps Technical Preview. Which means I get to be one of the first to be able to view Word Docs, view and edit Excel spreadsheets all in side of SkyDrive in the browser.
The one thing which has really surprised me so far, is that it could actually handle opening my almost a ream of paper document!! I'm impressed. It is limited though, I tried a few of my crazier spread sheets which wouldn't open online. It isn't designed to replace Office in any right anyway but is a nice offering so far.
Posted by
Shkyrockett
at
3:39 PM
0
comments
Thursday, September 10, 2009
Filtering the Path
This is a little project I have been trying to figure out ever since I read a line in the help for the "For" command:
%~$PATH:I - searches the directories listed in the PATH
environment variable and expands %I to the
fully qualified name of the first one found.
If the environment variable name is not
defined or the file is not found by the
search, then this modifier expands to the
empty string
Running multiple scripts that continually add to the path list can muck up the path list. I hoped I could design a function that searches to find out if a path exists in the path list and if it does it wont add the new one.
@Echo Off
PATH=C:\WINNT\system32\;C:\WINNT\;C:\Program Files\Test1\
Call :AddToPath "C:\Program Files\Test1\"
Call :AddToPath "C:\Program Files\Test2\LICENSE.txt"
Call :AddToPath "C:\Program Files\Test3\"
Call :AddToPath "C:\Program Files\Test4"
Echo %Path%
GoTo :EOF
:AddToPath
If Not ""=="%~x1" Call :SetToPath "%~dp1"
If "%~1"=="%~dp1" Call :SetToPath "%~1"
If "%~nx1"=="%~n1" If Not ""=="%~nx1" Call :SetToPath "%~1\"
GoTo :EOF
:SetToPath
Set t=%path%
@Rem Deleting the path if it exists
Call Set t=%%t:%~1=%%
If "%path%"=="%t%" Path %Path%;%~1
GoTo :EOF
This is as far I have been able to get the script. For the most part it works except if the new path is already part of the path of another path in the path list. There may be better ways to implement this.
One thing to note is that it is best that the path being added has already been created. Sometimes splitting out the different parts doesn't work if it doesn't exist.
Posted by
Shkyrockett
at
8:30 AM
0
comments
Labels: Geeky, Programming
Wednesday, September 9, 2009
32 Bit on 64 Bit Program Files
When 32 bit programs install on a 64 bit Windows they are dumps %ProgramFiles% into %ProgramFiles(x86)% and the default command line in 64 bit Windows is the one that is 64 bit which directs %ProgramFiles% to %ProgramFiles%. So if you want to access a 32 bit program you have to use %ProgramFiles(x86)%. This can really complicate matters if you need to access the same program on both 32 bit and 64 bit Windows. So what can you do? Try this:
@Echo Off
Set Programs=%ProgramFiles%
If "%PROCESSOR_ARCHITECTURE%" == "x86" Set Programs=%ProgramFiles%
If "%PROCESSOR_ARCHITECTURE%" == "AMD64" Set Programs=%ProgramFiles(x86)%
If "%PROCESSOR_ARCHITECTURE%" == "IA64" Set Programs=%ProgramFiles(x86)%
CD /d %Programs%
This method is extensible so that you can add any additional operating system processor types as they become available and it allows you to select the correct path for each one.
One little fun note is in the dummy CD call I'm using /d which changes the current drive as well as changing the directory for the drive. Fun!
Posted by
Shkyrockett
at
9:09 AM
0
comments
Labels: Geeky, Programming
Tuesday, September 8, 2009
Popups
Dear Netflix, University of Phoenix, and others who blatantly continue to use the blight of popup advertizing,
I wanted to let you know that I will personally continue to abstain from use of your services so long as you continue to use popup advertizing.
Thank you.
~____
Posted by
Shkyrockett
at
11:59 AM
0
comments
Labels: Ramblings
Wednesday, September 2, 2009
Rebooting a Remote Machine
It is quite common for me at work to be remoting into a computer working on it and realize I need to reboot it for one reason or another only the machine I'm remoting into is a client OS (Windows XP, Windows Vista, Windows 7) that has the reboot icon removed from the start menu in the remote desktop window.
If the machine is under my desk I can just switch over to it to reboot or hard reboot with the button on the front but sometimes the machine is in another room in another building in another city in another state or another country. Then I have no access to the physical machine.
On occasion if I'm using a Lab machine they will have some interface that I can use to reboot but not always. So what do you do?
It's actually quite simple, open up an elevated command window and run the following command:
Shutdown /r /t 0
The flag to restart is /r, then the flag /t plus a number sets the time delay before the command restarts the machine, a value of "0" reboots immediately.
For more information on this command run "Shutdown /?" from a command prompt.
Posted by
Shkyrockett
at
5:00 PM
0
comments
Labels: Geeky, Programming
The Geeky Workplace
One of the cool things about working at Microsoft is just how geeky people are. You can be in a meeting and there might be one or two people who follow sports (strangely it is possible they would be mostly women) and one of them would say something like how about that game last night and most of the people in the room would look at them confused thinking of World of Warcraft or some other sort of video game rather than a ball game.
Oh so much fun.
Posted by
Shkyrockett
at
6:05 AM
0
comments