This is a quick tip. If you experience too much jaggies or pixelation when scaling a bitmap image up or down, try Perfect Resize from OnOneSoftware. It comes either as a stand alone program or as a plugin for Photoshop and other graphics software. In some instances, it does a much better job than Photoshop’s resizing feature. The company offers a 30 day fully functional download.
I was researching some commercial Magento themes (templates) this week. Magento is a PHP based e-commerce (shopping cart) solution. My favorite site for providing templates is Themeforest. They have affordable high quality mostly web 2.0 style themes. The site itself is very clean, high quality, simple yet very usable. I sorted the Magento themes by number of sales. This usually means the first themes in the result listing are of polished high quality themes and that’s why they sell well. One statistic Themeforest provides for each theme is the number of sales. I looked at the first theme, Fortis and quickly determined the revenue:
Price $80 x # sold 1639 (as of now) = $131,120. Wow! That’s a lot of money from selling a single digital product. The template was added to Themeforest on March 6th, 2012. Not bad for less than a year display and more to come.
minus Themeforest’s average commission, say 35%, what’s left is $85,228 (rates schedule)
minus taxes, pure profit is at least $50,000.
What do I do to reward myself from a side job which put $50,000 in my pocket?
A brand new exciting Tesla model S car!
So if you want to make some extra money and you’re a good web designer, consider selling templates. Not just html templates but a full theme for a CMS or shopping cart or platform. These templates sell for more and have less competition.
I upgraded BlogEngine, the software which runs the blog, to the latest v2.7. The major enhancement is the extension-less URLs. So no more .aspx extension. The BlogEngine website mentions a security fix also.
The look of the website is still the same.
I haven’t been blogging since May (about 7 months) and I got a new computer since then. I use Microsoft Live Writer for writing this blog. When I tried to install Windows Essentials, and chose Live Writer only, I got an error during installation. It was error 0x80040605 and the source was wllogin-amd64. I looked at the installation log at C:\ProgramData\Microsoft\WLSetup\Logs and looked for the first occurrence of an error and it was error downloading wllogin-amd64 file. I am running the offline installer which means all files should be included in the msi file. Downloading in a log file sometimes does not mean doing an actual download of a file over the Internet. It could mean searching and getting the file locally.
I did some research on the web and read about similar issues and tried some troubleshooting tips. The annoying part is I would the same error every time I repeat the install but with a different source! Sometimes it’s crt110-i386 or Watson-x64 or d3dx10-i386. This is confusing when the source changes randomly. It’s not straightforward to troubleshoot when different errors occur for the same action. One time it was another error than 0x80040605.
I decided that doing research and reading a lot will be more productive. When I do a web research, I include Chinese pages translated into English. Google automatically provides translated web pages in their search results. I came across a tip which solved my problem which I found in one of the Chinese sites.
I logged in using a different admin user and the installation went through without a hitch. I relogged in into my normal admin account and Live Writer worked just fine. I don't have an explanation why the earlier installation didn't finish properly other than something running under my regular account was inteferring with the installation.
I spend a lot of development time in Visual Studio (VS) and I am a fan of using any product which increases my productivity and makes my work more fun. That's why I use products like Resharper, Tabs Studio & Mole 2010. These are commercial products I purchased. I also use some free add-ons like RightHand Dataset Visualizer which is the best dataset visualizer around. (Even though it's 35M! The author uses third party components which are packaged into a single dll)
Recently I came across a new add-on called BugAid from bugaidsoftware.com. It's an add-on for Visual Studio's debugger inline watch and adds some nice features to it. It's still in beta and this review is based on version 0.5.1206.6134_456.
Some of the features which BugAid adds:
- Star important members. Show properties you're interested in at the top of the watch window including properties from base classes. More...
I was working with the web ReportViewer in ASP.NET and I had a need to make it display in a certain way. This is a server control which, for the most part, behaves like a blackbox. It produces HTML which you have little control over. Before the Visual Studio 2010 version, the ReportViewer displayed incorrectly under non IE browsers. Even in VS 2010, it has some issues with non IE browsers. For example the ReportViewer toolbar displays in several lines under Google Chrome.
The HTML produced by this control is just huge and it seems to produce different HTML under different browsers. To fix some issues, I had to create some jQuery code to manipulate the HTML after the page renders.
I had to target some elements which are way way deep in the DOM hierarchy. Some of these elements do not have any IDs.
This is how you can target any DOM element regardless of their position in the DOM and whether they have an ID:
- Fire up Firebug in Firefox More...
I use a firewall which is set up to allow Internet access by any app on my system manually. Unless the app has been granted trusted access previously by me, I get a prompt whenever an app is trying to access the Internet. It displays the ip address it’s trying to connect to plus the port number. I download and install a lot of software and I need to know when & why a software is trying to connect to the outside. If the software is from a trusted application and I know it needs access, I give it a permanent permission. I can revoke it later if needed. When a piece of software wants access, my initial reaction is to deny it and see what happens. If it runs fine without the access, I know access was optional. The software vendor is probably collection some information for statistical purposes. Hopefully nothing more! And they do know that some users run software behind firewalls or on systems which physically have no Internet access.
Some software need to need have Internet connectivity for activation or registration purposes which is fine. I let the firewall remember their access on a case by case basis. If there’s software which has no business demanding Internet access, I most probably refuse it and uninstall it.
Here’s a little tip when trying software from untrusted sources. Install the software in a virtual operation system like VMware or Virtual PC or use a sandbox like SandBoxie which I have been using for years. I can right click on an .exe file and tell Windows to run the app inside Sandboxie. Sandboxie can show the registry keys the app tried to use. Sandboxie uses a virtual file system and you can view the contents of the system.
Play it safe.
Everything is a very simple small tool and it does its job perfectly. It's searches for files and folders and get instant. I prefer it over the built-in Windows search. It's super fast and it works in real time. If a software is creating new files, I can see what's being created in real time. For example I can know which files are being created and deleted during an installation.
I use it mostly to locate files. There are many times when I forget where a certain file is located or I don't remember the full name of a file. Everything helps me find it in seconds using wildcards ore regular expressions. I can sort by file name or date or size and pinpoint which file I am interested in. I open different files many times during the day and instead of wading through folders in the open file dialog, I locate the file using Everything and right-click and copy its full path and paste in the dialog. Save me a few seconds. Using tools to shave seconds from every operation during the day adds up a lot. Don't underestimate the time savings. I always seek to be highly productive, even in the mundane daily tasks.
Everything also helps me locate duplicate files. For example when I am searching for a certain file and instantly notice I have more than one copy of it. It helps me also troubleshoot issues when a piece of software is actually using the wrong version or wrong location of a file.
It's a tool which is useful in ever increasing disk drive sizes and having potentially millions of files scattered all over the place.
I got an iPad mainly for reading books in pdf format. I also convert other document formats to pdf to be read on the iPad. For this it was crucial for me to find a pdf reader which satisfied my reading needs.
My requirements for a pdf reader:
- Continuous smooth vertical scrolling for moving between pages. Horizontal scrolling doesn't do it for me. I like having parts of a page positioned at my eye level. This is specially more convenient when I am laying down reading.
- Ability to expand and lock the width of the document. This setting should be remembered every time I reopen the pdf.
- Remember the last document and page read when launching the reader.
I consider these requirements very important for myself.
The big problem with the iPad and the AppStore is that most of the non free apps are available for purchase only. They are not available as trial software or expire after some period of time like software on a PC. I guess when most apps cost $.99, people don't mind buying them and dispose of them when not needed!
I purchased a few readers and downloaded all the free ones and tested all of these.
Here are my findings:
- GoodReader is a popular one. I purchased it when I first got the iPad. That's when I noticed I didn't like horizontal scrolling. So that reader was out. The included iBooks iPad app was out too for the same reason.
- After GoodReader I did some research to find a vertical scrolling one and purchased PDFReader Pro. Worked fine and I liked it until the next upgrade which I hated. Vertical scrolling in the upgrade automatically brings in the next page when I scroll the second half of a page to the top of the screen. I hate software updates which change a previous behavior which worked just fine. Width locking is not remembered anymore between reader launches which meant I had to adjust the width every time I opened a pdf! Plus other new bugs which they introduced. It was a botched upgrade and I complained to the vendor about all these issues. They promised to fix these issues. I do know there were at least a couple new updates but I never bothered to check after I switched to another reader.
- Among all the free ones I tested, iRead from AJI was the best. Actually it was so good I purchased their $9.99 commercial iAnnontate pdf reader which enables me to add annotations and bookmarks and other nice features. I can also open several pdf's at the same time and be displayed in tabs. They claim the pdf’s with the annotations can be read also on a PC but I haven’t tested that yet. It is a very nice feature though.
iAnnontate is an excellent pdf reader. The only annoying feature in it is if you touch the screen for more than a second the scrolling gets locked. So to scroll you have to swipe and lift your finger quickly. PDFReader Pro doesn't suffer from this
In my previous post I mentioned I run a firewall which 'intercepts' every connection call to the outside and asks the user for permission to allow the connection to go through. The user can allow once or every time, block once or every time or isolate the app. I use Comoro firewall which is a free firewall which has these capabilities. The firewall allows me to find the programs which make Internet connections. There are programs which make connections to look for updates. These are valid requests. However if I have an app which has no business making any connections, I can decide what to do about it. So far I haven't experienced any rogue programs. Key loggers are popular in this category where they try to harvest sensitive information from a computer and send the information to the outside using an Internet connection. A good firewall would catch and block these types of malware.
I recommend Comoro Firewall. It's free and effective.