Skip to main content

Posts

Photoshop math

When it comes to Photoshop, I'm an expert. Photoshop is designed, for the most part, for print design. It isn't exactly what I'd call web-friendly. Over the past few iterations Adobe has done things that help us web, icon, and what I call "scratch graphics" designers do stuff more easily. However, I'm working in Photoshop right now and just realized that I started calc.exe for the zillionth time. Looking back over the years, I've realized that every time I start Photoshop, I have inevitably started calc.exe or pulled out my graphing calculator (now dead - a huge nuisance - should probably replace it but my experience was that it regularly chewed through batteries). So, what I'd love to see in Photoshop is allow every field that takes a number to also take a mathematical formula and evaluate it. Real example of how I want it to work follows. Take the "Canvas Size" dialog: For this case, I want to increase the width of the canvas to 886*2-1 pix...

1and1.com dedicated servers...

So you are a small business like me and you have a Geocities/Yahoo/freebie website. Ads pop up all over the place and, well, it looks ugly. Or maybe you pay something like $10 per month for scripting abilities and get embarrassingly slow speeds with the site when visitors do their thing and, uh, visit. Or maybe you need some sort of customized setup. Or you are tired of paying tons of money for a few gigabytes of bandwidth per month. Or you run the web server on your Cable/DSL line and have an outage every month or two. Then let me point you at my provider: http://www.1and1.com/?k_id=9130514 If you visit forums, you will probably find users ranting about how horrible 1and1.com is. Those users are paying for the $2/month service. 1and1.com dumps something like 300 websites onto a single server blade and then moves onto the next blade, dumps 300 more websites, etc. They don't give a darn about you if you go with their shared hosting services. And why should they? You aren...

The world's first unified language

is source code. The various programming languages on the planet. It never ceases to amaze me, I can go to a page completely written in Japanese but the moment they get to source code, they start speaking a language I understand. I don't know a single word of Kanjii, but I do know C/C++ and even if the programming language isn't something I know, I can understand the gist of what the person is trying to get across. Unlike most languages that carry cultural baggage, source code is internationally independent. Sure it is "written in English", but that is inconsequential. Most of those same Japanese pages use unrecognizable variable names and comments, but it is really easy to figure out what they are saying based on the source code...even the Japanese parts. For some reason I see more Japanese results for really cool but slightly obscure stuff than any other country. And they seem to write better quality code than most American programmers. While businesses outsou...

VerifyMyPC works!

Despite the doubts people constantly send my way, VerifyMyPC works. Last night it caught an automated software installation of a Java-based application that was installed via a webpage _without_ my express permission. Needless to say, it got uninstalled. It was a pretty harmless application written by computer nerds. Math nerds who know how to write computer software, specifically. The program's name is GCalc. VerifyMyPC ( http://www.cubiclesoft.com/VerifyMyPC/ ) notified me that GCalc was installed, which immediately sent me on a panic to figure out what it was because I knew I hadn't installed it. Searched Google for 'gcalc' and came up with the page I had visited. Once I figured out that it was pretty harmless, I just ran the uninstaller. This is what makes VerifyMyPC so awesome. It catches things that wouldn't be found out otherwise. Sure it doesn't have a magical, happy "fix my system and make it better" button, but there is a reason for that: Mag...

TweakUAC

I constantly hear/read complaints about Windows Vista's UAC dialog. The complaint usually goes something like this, "Whenever I do Administrative task X while logged in as an Administrator, Vista asks me if I really want to do said task X." UAC, also known as User Account Control, is designed to not stop users from doing stupid things so much as to stop automated programs from taking over the computer system. But users do get annoyed when they want to do a series of administrative-level tasks and see dialogs popping up in their face constantly asking if they really want to do those tasks. Which is where a tool I found comes in really handy. I don't run Vista, but I have found a solution for the #1 complaint I hear from those who do: http://www.tweak-uac.com/what-is-tweak-uac/ TweakUAC allows system administrators to do administrativey things without being annoyed by the UAC privilege elevation dialogs. Of course, most users who own Vista are usually logged in as A...

The Internet brings out the weirdest people...

...And they end up on my blog. For some weird reason or other, this blog attracts the weirdest people. Not that it is bad, it just is weird. For instance, my last post caused a RentACoder troller to show up and start ranting, uh...trolling...about some RentACoder experience that happened years ago. I deleted the messages and turned on comment moderation. I figured normal people would show up but they haven't. Well, one exception: One of my posts _finally_ had a normal, everyday person who used it and actually appreciated the post. It was my "Lexmark Printer Driver Removal" post where I provided a tool (old-school batch file) to completely remove what Lexmark was unable to remove with their uninstaller. I suppose talking geek just automatically attracts the wrong crowd. If I started talking about how to use Windows Movie Maker 2 or did Photoshop tutorials on forum avatar creation (borderline geek) or how to safely lose weight (most weight loss programs are unsafe -...

Rent-a-Coder

Let me begin by saying, "100th post!!!!!!!!" And no one is probably going to read this now that I've trolled my own blog. A couple years ago I ran into a site called RentACoder, or more commonly seen on the site, RAC. RentACoder is a site where people can place bid requests and other people place bids for those bid requests and RentACoder holds escrowed funds until a software project is completed. Most requests have a cap put on them as to the limit of the bids. I've got a few hundred projects I would love to see done but don't have the time nor resources to do them. So, I decided to run a few small, semi-scientific experiments on RentACoder. My first project was for the coder to use MFC and several pre-made third-party open-source/freeware components and piece them together into a cohesive shell that will form the basis of a new software product. I'm pretty good at MFC, but it would have taken me weeks to figure each little library out. I paid $70 for ...

Mozilla Extensions and breakage...

One of my major pet peeves with Mozilla products is Extensions and how they break between versions of the products and how developers are not on top of releasing updates to those extensions. I'm not necessarily an early adopter of stuff, but I do have a tendency to be cutting-edge on certain applications. I don't run bleeding-edge stuff except for my own product line where I'm constantly adding a new feature here and there. Mozilla Thunderbird is the latest of major annoyances. Thunderbird 2 just came out a couple days ago and several of my extensions broke. For the most part, extensions break because a single string that says "I work with versions of Thunderbird from x to y" where y is less than the current version exists. Let's take a look at how Outlook would handle the scenario. You've got millions of happy Outlook users with their extensions implemented as COM objects (DLLs). The latest version of Outlook will attempt to load the extension and, i...

itoldyouso

I just discovered that dbghelp.dll has an undocumented export function called 'itoldyouso'. Those funny guys at Microsoft. Feel free to confirm it for yourself using Dependency Walker. I saw it and chuckled to myself. (I'd love to know who had the guts to name an export function 'itoldyouso'?)

SetForegroundWindow()!

Can't software developers respect the window ordering of users? The AttachThreadInput()/SetForegroundWindow() hack completely hoses the window order so badly any more that when you go to switch to another application, 40 others change position and come to the foreground as well - and sometimes the window focus doesn't change as expected. My message to all software developers: This hack is clearly labeled as such and you should NEVER use it more than very rarely. Seriously, watch the window stack order get hosed as you make those calls. People clearly don't understand what AttachThreadInput() does...nor HOW to actually call and use the function...they just copy the code and assume it works to steal the foreground window without any respect to how Windows operates. There is a proper way to use AttachThreadInput(), but most people don't realize how to use it. This message brought to you out of sheer frustration with application switching.

You know you are...

...in esoteric areas of an application/operating system/etc. when you go to use an API that has no documentation on it. Cutting-edge stuff that is bound to change and keep life interesting. Not that I really care in this particular case, but I needed some information from a DLL. In this case, the API was documented but whoever wrote it did a bad job. Read: Incorrectly documented and I had to hash my way through multiple debugging sessions to figure it out. Ironically, Google searches for sample source code turned up only VB examples. No C/C++ examples. My C++ version is about 1/10 the length of the VB versions. Oh, and I wrote a program today that helps me write quickie little throwaway projects. Visual Studio along with the other IDEs I use takes forever to set up for cheesy projects. So now I've got a nifty little utility that I can just copy and paste some files, run the utility, and I have a new console project set up. Cuts out about 15 minutes of work (I like to drag...

New Stuff!

I spent a good chunk of today updating this blog to use the latest features of Blogger. Lots of AJAX'ey drag-n-drop goodness is involved, but that's sort of what people expect from Google. Anyway, the right-hand column of this blog will always have lists of stuff I believe to be the best applications around and I've categorized them into various activities. For instance, I tend to be an application developer first but I also wear the hats of web developer, IT administrator, and graphics artist. For the most part I avoid putting stuff that costs money in the right-hand column just because most developers don't want to spend a lot of money on good stuff. And there's plenty of good stuff to be had for almost no cost if you spend the time looking for it. Which I've already done. I mentioned that I'm a graphics artist but didn't put up a category for it. That's because all the tools I use are well known: Photoshop. Make that one tool that I use. ...

Vista Disaster Stories

I'm already hearing all sorts of disaster stories involving Windows Vista, Office 2007, and non-Microsoft applications: Applications crashing. (LOTS of Explorer crashes being reported). Companies refusing to release updated drivers for things like 2 year old printers (and other hardware - e.g. video cards).* Application UI problems - ranging from visual artifacts to complete unusability. Applications refusing to run. VPN software not working right or at all. * Microsoft apparently hosed the Unified Driver model for Vista so one driver package can't be used for multiple devices. ATI and Nvidia are up in arms as is every hardware manufacturer...so the various companies are just making drivers for their latest devices to cut their losses. Hurts the consumer, but there is no way around it unless Microsoft fixes this big blunder. Idiots. Haven't heard of any data loss or BSOD scenarios yet, but given that a lot of hardware and software doesn't even work under Vista, I...

Start to stop, Install to uninstall...

An IT person's favorite joke about Windows is how you click "Start" to stop the computer. The Start button is perhaps the most joked about icon in Windows, but I suppose without some sort of text written on the screen, figuring out what to click in lengthy 2 hour technical support calls would only extend the painful experience. Of course, VerifyMyPC reduces technical support times from 2 hours to 5 minutes. And you have a more intelligent conversation with the person on the other end. And you don't end up having the user re-install Windows because you can't figure out what they did to mess up their computer. But that's not what I want to talk about. Instead, Add/Remove Programs finally drove me up the wall. I have a 3GHz PC. Even though it is about 3 years old, it is still a considerably high-end PC. How long does it take to figure out what is installed on my PC? About 1 minute. I've been on slower PCs where it takes several minutes before I can d...

Photoshop Tip...

Amazingly no one has figured out how to make a hollow rectangle with Photoshop. I recently needed to be able to do this and came up with a method of accomplishing this with shapes. Here's how: 1) Create a new document (or use the workspace you want the shape to be added to. 2) Select the shape tool you wish to use. Most people want a hollow rectangle (i.e. rectangle tool), but this works with any of the shapes: Hollow rounded rectangle, hollow circle, hollow ellipse, etc. Even hollow lines (but those are effectively rotated rectangles). You get the idea. 3) Draw the shape on the canvas. A new shape object should be added to the layers palette. 4) Double-click the shape object in the layers palette to open the "Layer Style" window. 5) On the "Blending Options" page, change the "Advanced Blending"'s "Fill Opacity" to 0%. 6) Next, go to the "Stroke" page. If preview is enabled, you should see what I'm getting at b...

Best Ramen...

Americans are idiots. There are so many good things around the world but we choose to import stuff that simply doesn't taste good and then American companies make cheap imitations of the real thing. Take ramen, for instance. You walk into your local grocery store and almost anymore there is 1/4 of an aisle dedicated to pre-packaged ramen. People, particularly students, buy the stuff because it is a cheap, quick, and easy meal. What those same people don't realize is that a Malaysian company named "Mamee-Double Decker" makes, IMO, the best pre-packaged ramen on the planet. Well, it is "Mi Goreng" (fried noodle product), but the first time you have it, you realize that the American idea of ramen is the worst stuff ever (i.e. tastes like cardboard). http://www.mamee.com/ (I'm sure real ramen tastes way better than the pre-packaged stuff, but this stuff is pretty awesome.) I think this sort of food product isn't imported because the foreign stuff i...

GYEEEEEEEAAAAA!

That is the word of the day that means "I want to strangle the nearest idiot." Spam seems to abound. There's e-mail spam. Snail mail spam. Fax spam. Television spam. And now the most annoying type of spam of all: Phone spam. And this isn't ordinary phone spam involving your average telemarketer. These are political ads. On automation. Basically someone feeds in a list of phone numbers to a computer program and the computer then goes out and dials every number on that list and plays the same message over and over again. If you don't hear the message in its entirety one time it will keep calling you until you do. And with the so-called national "do not call list" granting immunity to politicians, they can phone spam you a half-dozen times per day with the same (or different) message without any legal repercussions. It takes 20 minutes of silence and focus for a programmer to get back into "the zone" after an interruption such as a phon...

Making a web browser

After a recent run around with a whole bunch of JavaScript code, I now have new names for all the popular web browsers out there: Internet Explorer = Internet Exposer Netscape = Netscrape FireFox = Flaming Fart Safari = Roy Horn Opera = It's Over! Opera doesn't really need a name change. The name itself implies that "the fat lady" will sing or has already sung. Images of a large woman in a viking outfit singing really high notes, cracked glasses, chandeliers shattering, and general disaster ensuing is a sufficient enough association. The "it's over" is a reference to homestarrunner.com's various "issues" of "Teen Girl Squad" where everyone is usually killed off in fairly grotesque manners. Safari reminds me of Roy Horn. A Las Vegas magician with no brain cells - stick your head in a tiger's mouth, you'll get it lopped off for you. Tiger is also the name of the latest Mac OS. Hmm... A search for "Flaming Fart...

I learned something new!

I learned something new today. It is extremely rare for me to learn something that I either don't completely know already or have a general idea about. Today I received a HP LaserJet 1020 black&white laser printer. I did my homework on this printer in advance of getting it and so far it is everything I've read about. I've generally been dismayed with printers, mostly because they are inkjets and modern inkjets take forever and a day to warm up the ink to print the first page. My favorite inkjet was the HP DeskJet 500. If you ever wanted a rock-solid printer, that thing simply refused to die. A good, solid piece of engineering. The only reason we got rid of it was because no one carried ink cartridges for it 10 years after HP stopped making them. Until today, I've never actually owned a printer. Fixed plenty of other people's printer problems and used their printers to print stuff off. You'd be surprised what people will let you mooch :) I'm probably the ...

esnips.com: We ruin Google search results!

First, visit here: http://www.esnips.com/web/MyCPrograms And view the source code to the two programs that were uploaded by the creator Parul Goyal - or is it Goyal Parul? Whoever it is, they clearly don't know how to write code. Everyone who doesn't know how to write code should not be allowed to post their source code to any place but private, unsearchable forums until they get halfway decent. That way, people like me aren't annoyed. I suspect that websites such as these are the reason MSDN Library search results are dropping off the map. The first program (reversing a string) simply doesn't work. Well, it displays a string in reverse, but it doesn't actually reverse it. If he gets hired by Cisco, be afraid...very afraid. Here's how I would reverse a string: 1) Not use C. C is such a weak language. I would use C++ instead. 2) Not use C++'s basic stuff. ANSI Standard C++ is such a weak language. I would use Safe C++ instead. 3) To reverse a s...