<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:thr='http://purl.org/syndication/thread/1.0' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-8192395</atom:id><lastBuildDate>Mon, 26 Apr 2010 15:10:14 +0000</lastBuildDate><title>tech</title><description>Technology reviews, tutorials and commentary.</description><link>http://www.daharsh.net/tech/</link><managingEditor>noreply@blogger.com (John Daharsh)</managingEditor><generator>Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8192395.post-3956363764112864499</guid><pubDate>Thu, 16 Apr 2009 17:55:00 +0000</pubDate><atom:updated>2009-04-16T11:11:51.145-07:00</atom:updated><title>Justifying a single line of text using HTML and CSS</title><description>If you have the need to match a single line of text to the width of its container, you may experience some of the frustration that I have gone through. There is a pseudo-fix for IE only, but since I generally oppose the very existence of IE I won't even bother mentioning it. (that is sarcastic, but IE gives me enough grief that I almost mean it)&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here is the issue: the css property text-align has an option of "justify" which causes inline text to flow to the full width of the container. Except for the last line. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you have a paragraph that is text-align:justify, all the lines will stretch to the full container width with the exception of the last, which will left-align.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I needed a tag line to match the width of a logo and I didn't want to use a graphic. The tag line was only one line of text and was supposed to match the width. Since it is just a single line, it was treated as the last line of a paragraph and not allowed to fill the width.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I played with the font size, letter spacing and padding, but in the end I used a little HTML to trick my page into working.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After the last word, I put a space in the HTML, and then 5 consecutive non breaking space characters back-to-back like this: &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; - this back-to-back string of these characters is interpreted by all current major browsers as a "word" and forced onto the next line, leaving the first line as just the tagline.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;DEMO:&lt;br /&gt;&lt;div style="text-align:justify;font-size:16px;height:23px; overflow:hidden"&gt;Here is my single line of text, text-aligned justify &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This isn't a perfect solution since it adds padding below the tagline, but I can accomodate that (I just put an overflow:hidden on my container and it kept it constrained properly). Also this is definitely a hack so not ideal, but I can be pragmatic and say I got what I needed working.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Leave any thoughts in the comments!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8192395-3956363764112864499?l=www.daharsh.net%2Ftech%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.daharsh.net/tech/2009/04/justifying-single-line-of-text-using.htm</link><author>noreply@blogger.com (John Daharsh)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8192395.post-7110587481728635933</guid><pubDate>Fri, 13 Mar 2009 17:58:00 +0000</pubDate><atom:updated>2009-03-17T12:00:32.900-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>support</category><category domain='http://www.blogger.com/atom/ns#'>cloud</category><category domain='http://www.blogger.com/atom/ns#'>problems</category><category domain='http://www.blogger.com/atom/ns#'>gogrid</category><category domain='http://www.blogger.com/atom/ns#'>hosting</category><category domain='http://www.blogger.com/atom/ns#'>rackspace</category><title>Problems I have had with GoGrid cloud hosting</title><description>&lt;div&gt;There are a lot of great things about GoGrid, and you can read about them all over the net. I am writing this post because what I didn't find all over the net was anyone who had any real problems, or anything critical to say about GoGrid. I, however, have had some very serious problems with GoGrid, and they have exposed - to me - things that really need to be public for others going through the decision-making process.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is not meant to be a "scathing" review. I &lt;em&gt;am&lt;/em&gt; a little sore over some of the support issues, but this post is purely so others can be more informed. GoGrid really is cool, and I recognize that more great features are coming.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For the past several months I have been working with several clients on migrating and creating applications to/on the GoGrid cloud. This post is written by someone with real-world experience on GoGrid with both Linux and Windows servers.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Before my decision to recommend GoGrid, I did as much legwork as I could to really understand how GoGrid worked and why it was a better or worse option than a Dedicated host, VPS, or another cloud option (like Mosso or Amazon)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My choice in the end for GoGrid really was based on several key factors: 1) ease of use, 2) recommendations of peers, 3) relative cost and 4) lack of any real complaints out on the net.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The great part of GoGrid is the ease with which you can deploy new servers. It really is as easy as I have seen. A few clicks and a few minutes later you can remote desktop to you Windows server or SSH to a Linux server. Neat!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I want to stop there with the praise though, because as I mentioned above, you can read all about how great and easy GoGrid is elsewhere.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here come the problems:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1) Your server is not really on a cloud - not really. I created and configured a CentOS 5.1 LAMP image, installed everything I needed, and configured all the sysadmin stuff. The server and the app were running perfectly. The night before the app running on the server was set to premier, I received an email from my client saying that the site was not working. Over the next 30 hours, I came to understand that a "node" on the gogrid cloud had gone down, and my server - and my app - along with it. &lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What Gogrid has done is abstracted any clients from the cloud by putting them into these "nodes." So &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;your server apparently isn't distributed in the cloud&lt;/span&gt;&lt;/span&gt;, it is sitting on a node that I assume &lt;span class="Apple-style-span" style="font-style: italic;"&gt;is&lt;/span&gt; distributed on the cloud. But when the node my server was on went down, GoGrid couldn't get my server back. I have been waiting nearly 2 days now and the server is still just lost. It still shows up in my GoGrid control panel, but this server does not respond to any requests of any sort (ping, ssh, etc.). What is somewhat amusing is that I can still restart this server in the control panel, which indicates that it goes offline and then comes back online - but the control panel seems to be the only thing that can communicate with the server.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The rationale for using this node model (as explained to me by support) is that if a client creates several servers, each one is guaranteed to be on its own node, and then you can use the free load balancers to distribute the applications on the servers. The immediate glaring problem is that you can't clone a server (although I am being repeatedly told that this feature is coming), so you have to manually create the servers and set them all up on your own - or use some third party tool to help you.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If a hosting environment takes a catastrophic hit, they can almost always bring everything back the way it was from a backup (at least in my experience). This has &lt;span class="Apple-style-span" style="font-style: italic; "&gt;not &lt;/span&gt;been my experience with GoGrid, my server has not been recoverable for almost 2 days now. On a true grid, backups would not be necessary from the host since the server would be on the grid and a failure of some part of the grid wouldn't result in the loss of your server. Of course a user would create their own backups, which they could use to repair any damage they did themselves.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;GoGrid, as it exists right now, should probably stop offering LAMP images or Windows images with included SQL Server 2005 Express; this leads potential customers like me to believe that these are good, easy choices on GoGrid. They are absolutely not good choices, until GoGrid makes creating custom images a reality, starts truly distributing the servers on the grid, or until GoGrid gets some sort of useful backup routine in place.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2) Your server is not scalable. The server you deploy cannot dynamically scale. I won't go into detail on this because you &lt;span class="Apple-style-span" style="font-style: italic;"&gt;can&lt;/span&gt; find this documented on GoGrid's site and on other reviews of GoGrid. There is a scalable storage option, but this doesn't help if you need more RAM on a server.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3) There are no tools to manage or even view DNS zone settings for the servepath name servers. If you want to use the nameservers from GoGrid, you can, but you have to create a help ticket and hope whoever creates the entries does it right (they didn't get it right the first time at least once for me). Once they are set, you can request that support emails you your settings, but until DNS propagation is complete you have no other way to verify your name server settings - nothing real time, and nothing easy. I was coming from Rackspace, who had a control panel built into their interface for viewing and editing zone settings. Again, in GoGrid you can create a nameserver of your own and administer it - but that is completely up to you - nothing easy.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;4) This brings me to my last big issue with GoGrid: support and support updates.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I was coming from a Rackspace dedicated hosting environment. My client was paying about 30% more for that Rackspace solution that they are currently paying for a comparable GoGrid solution. My experience with Rackspace has been absolutely fantastic. Rackspace support is really second to none. Rackspace understands that since they are in the business of leasing servers, it makes sense to provide as much information about how to best manage those servers to their clients as they can.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;GoGrid support is not Rackspace support. If you need OS-specific help working something out, you and Google are on your own - or you have to shell out more $$ for paid support from GoGrid. Hear me out; how many times have you set something up that you have set up a hundred times before, but there is one little problem and for the life of you, you can't see where the issue is coming from? You just need a second set of eyes, and 2 minutes of someone's time to help you see past the problem. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;With Rackspace, that sort of help was always there. With GoGrid it falls away very quickly. I had a couple of these little issues, and eventually worked them out and slapped myself on the forehead. But in the moment, when I could have used a quick answer from the host that my client was shelling out good money for - there was only the suggestion that I look into their paid support.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I will say that you can end up on chat or on the phone with some very helpful people at GoGrid. But you can also get someone who is far less helpful. It seems clear to me that there are support staff who are stakeholders in GoGrid's success, but there are other (probably contracted) support staff who are not.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When my server went down, I opened a support case, jumped on chat and started trying to get any information about what was going on. It took several chat sessions, a handful of emails, several phone calls, and about 4 hours to finally get someone to tell me that a node had gone down on GoGrid, which is why my server stopped responding. This still raises my blood pressure, because when I finally got an answer about what had happened, the person who told me said that there had been an entry made (into whatever system they use to track problems) around the time I first logged my case about the server problem. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have things go wrong with clients sometimes. Sometimes it is the result of something that I did or didn't do. It happens. But I don't try to hide it, and I don't run them around if they ask me what happened. This has been my biggest disappointment to date with GoGrid; I feel as though I was given the run-around by support staff until I talked to the right person. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;One interesting aside is that I was using Twitter to document some of my experience and several GoGrid folks started following me. Someone from GoGrid support called and left a message last night at midnight to see if there was anything they could do, mentioning that one of their superiors had seen my tweets. That felt kind of cool, but I still have not had anyone update me on the open ticket on my server status since yesterday when &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;I&lt;/span&gt; called to check. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In the saga of the lost server, we ended up recreating the application on a shared host and changing our domain's name server settings to point to the shared host. The app is not expected to need too much bandwidth as it is only the preview version. We will probably still use GoGrid for the final app, we will just set everything up differently.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;CONCLUSIONS:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;GoGrid is really only easy for the first 20 minutes of a server's lifespan, after that you may as well be on a VPS for a lot less money (unless you want a distributed app).&lt;/li&gt;&lt;li&gt;I am going to continue to recommend GoGrid for some clients. &lt;/li&gt;&lt;li&gt;I am going to recommend against GoGrid for far more clients.&lt;/li&gt;&lt;li&gt;I know now that having two 512KB (of RAM) servers, a separate database server with backups scheduled onto the cloud storage, and a free load balancer to distribute incoming requests to the 2 servers is better than a single 1GB LAMP server. &lt;/li&gt;&lt;li&gt;I have found that there are some great support people with GoGrid, it is just a shame that there are also some less-great support people.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Don't use GoGrid if you need a single server. Seriously don't.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;My suggestions to GoGrid&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Stop offering LAMP images and Windows Server with SQL 2005 Express images until you can offer truly distributed server instances, or work out real backups.&lt;/li&gt;&lt;li&gt;Provide at least read access to the zone settings for domains within users' accounts. Better yet let them manage the zone settings for their domain, on your name servers, on their own.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Make cloning servers, or creating custom, boot-able images easy (I am being told this is coming)&lt;/li&gt;&lt;li&gt;Allow scaling of servers (this is supposed to be coming as well)&lt;/li&gt;&lt;li&gt;Get more "stakeholder" support staff, and when something really bad happens &lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;be proactive on keeping clients updated&lt;/span&gt;&lt;/span&gt;. (I've waited long enough for my update, I'm deleting my servers in the control panel now)&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8192395-7110587481728635933?l=www.daharsh.net%2Ftech%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.daharsh.net/tech/2009/03/problems-i-have-had-with-gogrid-cloud.htm</link><author>noreply@blogger.com (John Daharsh)</author><thr:total>9</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8192395.post-1471976699717327464</guid><pubDate>Tue, 28 Oct 2008 23:50:00 +0000</pubDate><atom:updated>2008-10-28T16:57:00.030-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>layout</category><category domain='http://www.blogger.com/atom/ns#'>float</category><category domain='http://www.blogger.com/atom/ns#'>position absolute</category><category domain='http://www.blogger.com/atom/ns#'>IE7</category><category domain='http://www.blogger.com/atom/ns#'>bug</category><category domain='http://www.blogger.com/atom/ns#'>ie is from the Devil</category><category domain='http://www.blogger.com/atom/ns#'>IE6</category><category domain='http://www.blogger.com/atom/ns#'>css</category><title>IE6 OR IE7 Position Absolute not showing</title><description>I don't know why, but for some reason in IE6 or IE7 if there is a floated layout and you have an absolute-positioned div in the mix sometimes it just won't show up. I played with the developer toolbar and if I edit any CSS property in the tool, the div magically shows up, but if I implement all the CSS in the stylesheet then reload the page it won't show up.&lt;br /&gt;&lt;br /&gt;If you wrap your absolutely positioned element in an arbitrary div (we gave ours a class of 'positionFix') that ISN'T FLOATED, the absolutely positioned element should magically reappear.&lt;br /&gt;&lt;br /&gt;This assumes that you have already made sure that any wrappers around the absolutely positioned element are either relatively positioned or absolutely positioned (that is a freshman-level mistake)&lt;br /&gt;&lt;br /&gt;I'm only documenting this here so other lost souls don't spend so much time searching Google fruitlessly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8192395-1471976699717327464?l=www.daharsh.net%2Ftech%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.daharsh.net/tech/2008/10/ie6-or-ie7-position-absolute-not.htm</link><author>noreply@blogger.com (John Daharsh)</author><thr:total>16</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8192395.post-8335256171337190522</guid><pubDate>Fri, 29 Feb 2008 00:10:00 +0000</pubDate><atom:updated>2008-02-28T17:27:48.052-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>productivity</category><category domain='http://www.blogger.com/atom/ns#'>Base Camp</category><category domain='http://www.blogger.com/atom/ns#'>collaboration</category><category domain='http://www.blogger.com/atom/ns#'>Google Sites</category><category domain='http://www.blogger.com/atom/ns#'>Google</category><category domain='http://www.blogger.com/atom/ns#'>Google Apps</category><category domain='http://www.blogger.com/atom/ns#'>diy</category><category domain='http://www.blogger.com/atom/ns#'>time sheet</category><title>Using Google Sites to create a useful small-business intranet</title><description>I own &lt;a href="http://www.westernascent.com"&gt;Western Ascent Inc.&lt;/a&gt; - a small web-developement company located in Fort Collins, CO.&lt;br /&gt;&lt;br /&gt;Today I read the news that JotSpot had been relaunched under &lt;a href="http://sites.google.com/"&gt;Google Sites&lt;/a&gt; and saw that the Google Apps and Docs were able to be embedded into the web pages.&lt;br /&gt;&lt;br /&gt;I have already switched our email to gmail via Google Apps, and wondered what useful tool I could cobble together using Google Sites. When I saw the fact that you can embed &lt;a href="http://googledocs.blogspot.com/2008/02/stop-sharing-spreadsheets-start.html"&gt;forms from Google Docs&lt;/a&gt; into pages on Google Sites, and limit site access to members of your domain, I thought I would put together a little time-tracking application to test an idea I had.&lt;br /&gt;&lt;br /&gt;I have been using &lt;a href="http://www.basecamphq.com/?source=37s+home"&gt;Base Camp&lt;/a&gt; for quite a while now to manage projects and track time for our small team of developers and designers. It is generally useful, but I am not in love with it - meaning that if I find an adequate replacement for less money (or free) I will happily move on.&lt;br /&gt;&lt;br /&gt;So far, I think my time-tracker is working well and I can see how the sites and access control can allow me to create "extranets" for client projects that will allow us to share files and ideas with clients - which, along with time tracking - is our primary use for Base Camp.&lt;br /&gt;&lt;br /&gt;I will try and put together a quick tutorial of how I created our little intranet and how I made a form that all our employees are already using to track time on projects.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8192395-8335256171337190522?l=www.daharsh.net%2Ftech%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.daharsh.net/tech/2008/02/using-google-sites-to-create-useful.htm</link><author>noreply@blogger.com (John Daharsh)</author><thr:total>3</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8192395.post-8738739398882394738</guid><pubDate>Mon, 18 Feb 2008 23:07:00 +0000</pubDate><atom:updated>2008-10-19T17:01:10.847-07:00</atom:updated><title>Drupal 6 on 1and1.com</title><description>I successfully installed Drupal 6 today on a 1and1.com shared hosting plan.&lt;br /&gt;&lt;br /&gt;I created the MySQL db (mySQL Version 5) and uploaded the files for the site to a folder that was alone on a subdomain.&lt;br /&gt;&lt;br /&gt;I hit the site, the first step asked me to select a language. The next screen gave me an error saying that register_globals needed to be disabled.&lt;br /&gt;&lt;br /&gt;I checked .htaccess in the root and for php 5 register_globals was set to 0.&lt;br /&gt;&lt;br /&gt;After trying a handful of different things, all I needed to do was create a file called php.ini and add it to the root of the site. It only has 1 line of text:&lt;br /&gt;&lt;br /&gt;register_globals = off&lt;br /&gt;&lt;br /&gt;I found this on a Drupal.org comment &lt;a href="http://drupal.org/node/210311" target="_blank"&gt;here.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;hopefully this saves at least one other person some grief.&lt;br /&gt;&lt;br /&gt;2008.03.03 UPDATE: I kept running out of memory so I added the following line to php.ini:&lt;br /&gt;memory_limit = 40M&lt;br /&gt;&lt;br /&gt;I don't have a good reason to pick 40M, it seems to be running fine now though.&lt;br /&gt;&lt;br /&gt;2008.10.19 UPDATE: I am installing Uberart 1.5 Deluxe (running Drupal 5.11) and the same php.ini file was required.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8192395-8738739398882394738?l=www.daharsh.net%2Ftech%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.daharsh.net/tech/2008/02/drupal-6-on-1and1com.htm</link><author>noreply@blogger.com (John Daharsh)</author><thr:total>9</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8192395.post-5487110116138288033</guid><pubDate>Wed, 30 Jan 2008 19:02:00 +0000</pubDate><atom:updated>2008-01-30T12:11:30.221-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>ActionScript 3</category><category domain='http://www.blogger.com/atom/ns#'>solution</category><category domain='http://www.blogger.com/atom/ns#'>bug</category><category domain='http://www.blogger.com/atom/ns#'>Flex</category><title>Jumpy scrolling in Flex 3 application</title><description>We've been beating our heads against the wall at work trying to fix an extremely irritating bug in a flex project we're working on.&lt;br /&gt;&lt;br /&gt;The scenario was that we had a canvas with a background image, that would scroll when it exceeded the length of its container (a VBox in our scenario).&lt;br /&gt;&lt;br /&gt;If we add the background image inline using the backgroundimage property, with a background size of 100%, then started scrolling over our content, suddenly the scroll behavior would become erratic and jumpy.&lt;br /&gt;&lt;br /&gt;It was strange, because when we grab the drag handle, and stay over the "track" of the scroll area, it worked fine. Also, if we moved our cursor outside the container and kept dragging it worked fine. Finally, if we were dragging and went over a container INSIDE the jumpy canvas it would scroll normally.&lt;br /&gt;&lt;br /&gt;What fixed the issue was taking the backgroundimage property off the canvas, giving the canvas a stylename, then in the mxml document added a style block and defined the backgroundImage property with a value of Embed("imageName.png").&lt;br /&gt;&lt;br /&gt;This immediately stopped the jumpy-ness and it works great.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8192395-5487110116138288033?l=www.daharsh.net%2Ftech%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.daharsh.net/tech/2008/01/jumpy-scrolling-in-flex-3-application.htm</link><author>noreply@blogger.com (John Daharsh)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8192395.post-4577830115117819524</guid><pubDate>Sat, 26 Jan 2008 22:19:00 +0000</pubDate><atom:updated>2008-01-26T15:31:26.542-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>ASP.NET</category><category domain='http://www.blogger.com/atom/ns#'>solution</category><category domain='http://www.blogger.com/atom/ns#'>bug</category><category domain='http://www.blogger.com/atom/ns#'>updatepanel</category><category domain='http://www.blogger.com/atom/ns#'>jQuery</category><title>ASP.NET UpdatePanel, Ajax, and jQuery problems and solution</title><description>I am finishing work on an eCommerce application and there is some AJAX functionality that I had to add to several of the pages.&lt;br /&gt;&lt;br /&gt;Prior to this, I was adding some behaviors to elements of the page using jQuery's ready function:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;// inside my script.js file&lt;br /&gt;jQuery(function($) {&lt;br /&gt;$(document).ready(function(){&lt;br /&gt;   // code here&lt;br /&gt;}});&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I added several UpdatePanels that were being updated by some AJAX calls. Everything seemed to work great, until I noticed that once any of the AJAX updated the UpdatePanel that all the behaviours I was setting up using jQuery were gone!!&lt;br /&gt;&lt;br /&gt;I spent a while digging around and found a comment by "gt1329a" here:&lt;br /&gt;&lt;a href="http://forums.asp.net/p/1189519/2039138.aspx#2039138" target="_blank"&gt;http://forums.asp.net/p/1189519/2039138.aspx#2039138&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In his/her comment they mention that "pageLoad fires after every partial postback" - which was essentially resetting the page without re-initializing the jQuery $(document).ready()...&lt;br /&gt;&lt;br /&gt;So to clarify his/her "quick and dirty solution", I modified the code so it looks like this:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;// inside my script.js file&lt;br /&gt;/* // sorry jQuery&lt;br /&gt;jQuery(function($) {&lt;br /&gt;$(document).ready(function(){ */&lt;br /&gt;&lt;br /&gt;function pageLoad()&lt;br /&gt;{&lt;br /&gt;   // code here&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/*}});*/&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I have some concerns about doing this, but being a pragmatist, I am satisfied with the result. The AJAX calls all work, and all the behaviors I need to add into the page are functioning as expected.&lt;br /&gt;&lt;br /&gt;Please comment if this post is helpful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8192395-4577830115117819524?l=www.daharsh.net%2Ftech%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.daharsh.net/tech/2008/01/aspnet-updatepanel-ajax-and-jquery.htm</link><author>noreply@blogger.com (John Daharsh)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8192395.post-3435321754701762253</guid><pubDate>Thu, 24 Jan 2008 23:50:00 +0000</pubDate><atom:updated>2008-01-24T17:29:35.610-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>ActionScript 3</category><category domain='http://www.blogger.com/atom/ns#'>ASP.NET</category><category domain='http://www.blogger.com/atom/ns#'>IE7</category><category domain='http://www.blogger.com/atom/ns#'>form</category><category domain='http://www.blogger.com/atom/ns#'>solution</category><category domain='http://www.blogger.com/atom/ns#'>bug</category><category domain='http://www.blogger.com/atom/ns#'>Flex</category><category domain='http://www.blogger.com/atom/ns#'>Flash</category><category domain='http://www.blogger.com/atom/ns#'>ExternalInterface</category><title>Another day lost due to Internet Explorer 7. Thanks IE.</title><description>I've had to find this solution twice, and both times it has cost me dearly - so I am posting here for as much my benefit as anyone else's.&lt;br /&gt;&lt;br /&gt;Scenario: Calling a JavaScript function from within Flash using ExernalInterface when Flash is in a form.&lt;br /&gt;Problem: IE7 throws an error when we call ExternalInterface. The error says "player is not defined" - "player" is the id I use for my flash object.&lt;br /&gt;Reason: Apparently, IE can't find an object by ID within the DOM if that object is within a form.&lt;br /&gt;Solution: At the end of the javascript that I use to write out the flash tags, I put this line of code:&lt;br /&gt;player = document.getElementById('player');&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.deconcept.com/swfobject/forum/discussion/506/problem-using-externalinterface/" target="_blank"&gt;Here is a better explanation and the solution&lt;/a&gt; (see the comment by  IsaacTheIceMan from 19 Oct 2007)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8192395-3435321754701762253?l=www.daharsh.net%2Ftech%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.daharsh.net/tech/2008/01/another-day-lost-due-to-internet.htm</link><author>noreply@blogger.com (John Daharsh)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8192395.post-6530089128195713252</guid><pubDate>Tue, 21 Aug 2007 17:04:00 +0000</pubDate><atom:updated>2007-08-21T10:17:07.634-07:00</atom:updated><title>DotNetNuke, jquery.js and interface.js bugs and resolutions</title><description>I'm building a new DotNetNuke site that has all sorts of slick ajax-y stuff going on in the interface. I ran into some problems with prototype.js and scriptaculous early on so I opted to use jQuery.js and interface.js.&lt;br /&gt;&lt;br /&gt;I develop primarily in Firefox 2.x and check code in IE after the fact.&lt;br /&gt;&lt;br /&gt;I was making use of 2 interface objects: Slider and Resizable&lt;br /&gt;&lt;br /&gt;Everything was looking great in both major browsers until I logged into IE and got an alert saying "Internet Explorer cannot open the Internet site http://localhost/dnn455/&lt;br /&gt;&lt;br /&gt;Operation Aborted" - then the page went to a default IE error page.&lt;br /&gt;&lt;br /&gt;bummer.&lt;br /&gt;&lt;br /&gt;I was able to fix this by editing idrag.js (from the interface library) and changing the following 2 lines:&lt;br /&gt;jQuery('body',document).append('&lt;div id="dragHelper"&gt;&lt;/div&gt;');&lt;br /&gt;jQuery('body', document).append(jQuery.iDrag.helper.get(0));&lt;br /&gt;&lt;br /&gt;in both cases I changed jQuery('body', document) to jQuery('#wrapper')  and this cleared the problem up right away. This is consistent with some posts I've seen around the web related to appending directly to the body in IE if certain conditions are true.&lt;br /&gt;&lt;br /&gt;In my example, #wrapper is a the ID of a div immediately inside the body and everything goes inside it.&lt;br /&gt;&lt;br /&gt;The second problem I ran into was with Resizable objects.&lt;br /&gt;&lt;br /&gt;I was getting an error in IE when I assigned a handler: "Object does not support this property or method"&lt;br /&gt;&lt;br /&gt;The quick fix was to change this line in iresizable.js in the interface library:&lt;br /&gt;handle = jQuery(el.resizeOptions.handlers[i])&lt;br /&gt;&lt;br /&gt;to&lt;br /&gt;&lt;br /&gt;var handle = jQuery(el.resizeOptions.handlers[i])&lt;br /&gt;&lt;br /&gt;I changed is later so I declare a variable outside the "for (i in el.resizeOptions.handlers) {" loop and reuse it within the loop.&lt;br /&gt;&lt;br /&gt;In both cases the results were great and now I can use jquery.js and specific elements within interface.js. I am only using the specific libraries that I need rather than including all of interface.js.&lt;br /&gt;&lt;br /&gt;Please comment if this is helpful.&lt;br /&gt;&lt;br /&gt;DNN 4.05.05&lt;br /&gt;jquery 1.1.2 (there are more current versions but i was having some trouble with interface compatibility)&lt;br /&gt;interface 1.2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8192395-6530089128195713252?l=www.daharsh.net%2Ftech%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.daharsh.net/tech/2007/08/dotnetnuke-jqueryjs-and-interfacejs.htm</link><author>noreply@blogger.com (John Daharsh)</author><thr:total>3</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8192395.post-115533960373160619</guid><pubDate>Fri, 11 Aug 2006 23:40:00 +0000</pubDate><atom:updated>2006-08-11T16:43:08.056-07:00</atom:updated><title>IE6 bug with semitransparent png background and nested links not working</title><description>So I had a div that had a tall, wide semi-transparent png as the background image.&lt;br /&gt;&lt;br /&gt;Inside this div I had an absolutely positioned link.&lt;br /&gt;&lt;br /&gt;Since IE 6 cannot display semitransparent png's as background using the CSS "background-image" property, I had to use the IE-specific "filter:" property.&lt;br /&gt;&lt;br /&gt;For those of you unaware, the style declaration looks like this:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;.semitransparent {&lt;br /&gt;  position:relative;&lt;br /&gt;  background-image:url(transparent.png);&lt;br /&gt;  _background-image:none;&lt;br /&gt;  _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src='transparent.png');&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.semitransparent a&lt;br /&gt;{&lt;br /&gt;  position:absolute;&lt;br /&gt;  left:20px;&lt;br /&gt;  top: 20px;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;For a quick explanation, the background-image works fine in all other modern browsers with a semi-transparent png file - BUT NOT IE! - the underscore before the next line is a hack that only IE sees, so it renders the background-image:none in IE. "filter" is ignored by other browsers, but I hate this problem so much I don't even want to declare it correctly, so I used "_filter:..." for IE.&lt;br /&gt;&lt;br /&gt;A side note is that apparently in IE 5.x if you don't comma-separate the values in parenthesis after "AlphaImageLoader" the background-image won't work. I don't normally care about IE 5.x since if people are still using those browsers the internet looks like crap to them anyhow. (I don't like IE by the way, in case you were wondering)&lt;br /&gt;&lt;br /&gt;So after hacking all this together for IE, I went to my page in Firefox, clicked the link and everything looked great. I went to the page in IE and everything looked great until I tried to click the link. There was no cursor when I rolled over the link, and the link did nothing when I clicked it. I tried a few things (including adding cursor:pointer to the style) and nothing seemed to work.&lt;br /&gt;&lt;br /&gt;After much Googling, the solution came from the comments on this page:&lt;br /&gt;&lt;a href="http://www.daltonlp.com/daltonlp.cgi?item_type=1&amp;item_id=217" target="_blank"&gt;http://www.daltonlp.com/daltonlp.cgi?item_type=1&amp;item_id=217&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Here's what I had to do: I changed the position to static on the div, then the link worked fine, but the positioning no longer worked. SO I added another div inside the first div, gave it a position of "relative" and everything worked fine.&lt;br /&gt;&lt;br /&gt;Here's the CSS:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;.semitransparent {&lt;br /&gt;  position:static;&lt;br /&gt;  background-image:url(transparent.png);&lt;br /&gt;  _background-image:none;&lt;br /&gt;  _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src='transparent.png');&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.semitransparent div&lt;br /&gt;{&lt;br /&gt;   position:relative;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.semitransparent a&lt;br /&gt;{&lt;br /&gt;  position:absolute;&lt;br /&gt;  left:20px;&lt;br /&gt;  top: 20px;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Here's the simplified HTML:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;div class="semitransparent"&amp;gt;&lt;br /&gt; &amp;lt;div&amp;gt;&lt;br /&gt;  &amp;lt;a href="#"&amp;gt;Blah&amp;lt;a&amp;gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;I &lt;i&gt;hope&lt;/i&gt; this saves someone else from some grief.&lt;br /&gt;&lt;br /&gt;** one last note is that some folks found that by changing the size of the background png file the links started working in IE (you can read that on the page I linked to above) - but in my case I had a large png to begin with, so this wasn't an option. I get so frustrated with IE...**&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8192395-115533960373160619?l=www.daharsh.net%2Ftech%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.daharsh.net/tech/2006/08/ie6-bug-with-semitransparent-png.htm</link><author>noreply@blogger.com (John Daharsh)</author><thr:total>6</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8192395.post-114620622597178636</guid><pubDate>Fri, 28 Apr 2006 06:37:00 +0000</pubDate><atom:updated>2006-04-27T23:37:06.023-07:00</atom:updated><title>Better filing on Windows XP</title><description>I'm writing this in response to an article I read on &lt;a href="http://www.lifehacker.com/software/tags/metadata-as-a-filing-system-169971.php" title="Metadata as a filing system - Lifehacker" target="_blank"&gt;Lifehacker&lt;/a&gt;. There was no good option (that I felt fit the bill) for Windows XP users.&lt;br /&gt;&lt;br /&gt;I'm on Win XP Pro and started realizing that my huge collection of digital photos was getting out of hand in a hurry several years ago.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.picasa.com" title="Picasa by Google" target="_blank"&gt;Picasa&lt;/a&gt; makes managing them easier - I can apply tags to everything and when the app is open I can search by tag (actually they call them labels) or file name, date, folder, etc.&lt;br /&gt;&lt;br /&gt;What I've found though is that I do well to keep all my image files from a specific date range together in a single folder, then name the folder by YYYY.MM.DD followed by a list of "tags" as the actual folder name. This way, even if the contents of the folder vary wildly, I can search for folders using Windows' built in search and the naming convention makes finding things really easy. I always use the date that I pul the photos off the camera as the starting name for the folder (makes sorting really easy later). An example name would be "2006.04.28 family vacation summer friends swimming"&lt;br /&gt;&lt;br /&gt;So all my photos are in one big folder (My Pictures) with just one level of subfolders named by date and a list of tags.&lt;br /&gt;&lt;br /&gt;I think this principle would hold up well for documents in general. You could have all your files in your "My Documents" folder, create a single layer of folders that catches as many high-level breakdowns as necessary, then name the individual files by "tag" rather than just "06Qtr1Report.xls" - so you might end up with a filename more like "2006.04.28 [business name] report finance quarterly.xls" - this way you can easily search your My Documents folder using Windows' built in search and just list specific "tags" you are looking for.&lt;br /&gt;&lt;br /&gt;If Ahmed's suggestion for Search Spy works for you (from the comments on Lifehacker), then this is moot. But if more software running in the background is not your thing then using a system like this and the plain ole' Windows search may be a good alternative.&lt;br /&gt;&lt;br /&gt;Either way I'm finding more and more that tagging beats the heck out of all the other organization systems I've tried. Good article from Lifehacker.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8192395-114620622597178636?l=www.daharsh.net%2Ftech%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.daharsh.net/tech/2006/04/better-filing-on-windows-xp.htm</link><author>noreply@blogger.com (John Daharsh)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8192395.post-114444533973995935</guid><pubDate>Fri, 07 Apr 2006 21:28:00 +0000</pubDate><atom:updated>2006-09-14T13:55:54.470-07:00</atom:updated><title>Internet Explorer 6 :hover className bug</title><description>I just spent an agonizing hour chasing down a fix for an annoying Internet Explorer 6 bug.&lt;br /&gt;&lt;br /&gt;Here was the scenario:&lt;br /&gt;&lt;br /&gt;I have a small gallery with back and next arrows. I used &amp;lt;a&amp;gt;&amp;lt;/a&amp;gt; tags styled with background images that were arrows. Initially I had css id's of #leftarrow and #rightarrow as well as a series of classes. The arrows would disable once they reached either end of the list of images. &lt;br /&gt;&lt;br /&gt;Both "active" classes had a :hover pseudo-class that allowed the arrow to change background-image when hovered.&lt;br /&gt;&lt;br /&gt;What I did was change the classname for the id to one that did not have a :hover pseudo-class when the user reached either end of the list - so once they were on the last item the "next" arrow would be disabled, or when there were on the first image, the "back" arrow would be disabled.&lt;br /&gt;&lt;br /&gt;I used a small and easy JS function to change className for the ID when appropriate. This worked perfectly in Firefox 1.0.7, Firefox 1.5, and Safari 1.3.2 (Firefox on both Mac and PC) - it worked pretty well on Internet Explorer 6, but randomly, the images would disappear when the className was changed.&lt;br /&gt;&lt;br /&gt;I took away the :hover pseudo class and it seemed to fix the issue - but I wanted to use CSS for the rollover rather than onmouseover and onmouseout.&lt;br /&gt;&lt;br /&gt;After some experimentation, I found that by removing the ID, it worked fine in Internet Explorer 6 and everywhere else.&lt;br /&gt;&lt;br /&gt;I used  the getElementsByClassName() function to get the 2 links into an array.&lt;br /&gt;&lt;br /&gt;My updated code looked like this:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;div id="scrapbook"&amp;gt;&lt;br /&gt;	&amp;lt;img class="scrapimg" src="/images/sb_01.jpg" title="Here's a caption for the first image" /&amp;gt;&lt;br /&gt;&lt;br /&gt;	&amp;lt;img class="scrapimg" src="/images/sb_02.jpg" title="Here's a caption for the secnod image" style="display:none" /&amp;gt;&lt;br /&gt;&lt;br /&gt;	&amp;lt;img class="scrapimg" src="/images/sb_03.jpg" title="Here's a caption for the third image" style="display:none" /&amp;gt;&lt;br /&gt;&lt;br /&gt;	&amp;lt;img class="scrapimg" src="/images/sb_04.jpg" title="Here's a caption for the fourth image" style="display:none"/&amp;gt;&lt;br /&gt;&lt;br /&gt;	&amp;lt;div id="caption"&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;	&amp;lt;a class="arr scrapleftdisabled" href="javascript:void(0)"&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;&lt;br /&gt;	&amp;lt;a class="arr scrapright" href="javascript:void(0)"&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;script language="javascript"&amp;gt;&lt;br /&gt;&lt;br /&gt;	var scraps = document.getElementsByClassName("scrapimg","scrapbook")&lt;br /&gt;&lt;br /&gt;	var arrows = document.getElementsByClassName("arr","scrapbook")&lt;br /&gt;&lt;br /&gt;	var currScrap = 0&lt;br /&gt;&lt;br /&gt;	$("caption").innerHTML = scraps[0].title;&lt;br /&gt;&lt;br /&gt;	arrows[1].onclick=function(){changeScrap(1)};&lt;br /&gt;&lt;br /&gt;	function changeScrap(dir)&lt;br /&gt;	{&lt;br /&gt;		currScrap = dir&gt;0?(currScrap&lt;scraps.length-1?currScrap+dir:scraps.length-1):(currScrap&gt;1?currScrap+dir:0)&lt;br /&gt;&lt;br /&gt;		arrows[1].onclick=currScrap&lt;scraps.length-1?function(){changeScrap(1)}:function(){void(0)};&lt;br /&gt;&lt;br /&gt;		arrows[0].onclick=currScrap&gt;0?function(){changeScrap(-1)}:function(){void(0)};&lt;br /&gt;&lt;br /&gt;		arrows[1].className=currScrap&lt;scraps.length-1?"scrapright":"scraprightdisabled"&lt;br /&gt;&lt;br /&gt;		arrows[0].className=currScrap&gt;0?"scrapleft":"scrapleftdisabled"	&lt;br /&gt;&lt;br /&gt;		for(i=0;i&lt;scraps.length;i++)&lt;br /&gt;		{&lt;br /&gt;&lt;br /&gt;			scraps[i].style.display=i==currScrap?"inline":"none"&lt;br /&gt;&lt;br /&gt;			if(i==currScrap) $("caption").innerHTML = scraps[i].title;&lt;br /&gt;&lt;br /&gt;		}&lt;br /&gt;	}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8192395-114444533973995935?l=www.daharsh.net%2Ftech%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.daharsh.net/tech/2006/04/internet-explorer-6-hover-classname.htm</link><author>noreply@blogger.com (John Daharsh)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8192395.post-113701075064529526</guid><pubDate>Wed, 11 Jan 2006 20:19:00 +0000</pubDate><atom:updated>2006-01-11T13:19:10.646-07:00</atom:updated><title>blogging made even easier with w.bloggar</title><description>Mac users, this won't apply to you, sorry.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.wbloggar.com/" title="w.bloggar" target="_blank"&gt;w.bloggar&lt;/a&gt; is a free, lightweight standalone blogging tool that works well with &lt;a href="http://www.blogger.com" title="Blogger.com" target="_blank"&gt;Blogger &lt;/a&gt;and several other blogs (I have only tested it on Blogger blogs, but there is a long list that you can use it with)&lt;br /&gt;&lt;br /&gt;I have been using the &lt;a href="http://toolbar.google.com/firefox/" title="Google Toolbar for Firefox" target="_blank"&gt;Google Toolbar for Firefox&lt;/a&gt; plugin that integrates with Blogger, as well as &lt;a href="http://performancing.com/firefox" title="Performancing Firefox Extension" target="_blank"&gt;Performancing&lt;/a&gt;. They each have advantages, most obvious of which is blogging from within Firefox while viewing a particular page.&lt;br /&gt;&lt;br /&gt;The drawbacks for these are really just related to the speed of the browser.&lt;br /&gt;&lt;br /&gt;w.bloggar is nice, because on my machine at least it is very fast - it is written in vb (I think) and opens quickly and posts incredibly quickly (I'm on High Speed DSL). It is also nice because there are a lot of keyboard shortcuts for common things - for example linking is accomplished by holding down the control key and pressing "L", and the dialogue gives you the option of which window to target - something which I loathe about the Blogger.com interface (no option for target="_blank").&lt;br /&gt;&lt;br /&gt;There is a spell checker, all the normal WYSIWYG formatting options, a template editing option (for Blogger.com blogs at least) and several other nice features.&lt;br /&gt;&lt;br /&gt;The last reason that I love this is that I added a shortcut to w.bloggar in my shortcuts folder (which is in my PATH environment variables) - then I renamed the shortcut "blog" - so to open w.bloggar all I need to do is hit Windows Key &gt; r &gt; then type "blog" and I'm ready to post!&lt;br /&gt;&lt;br /&gt;The biggest drawback is the lack of an image uploader. Maybe for different types of blogs this feature exists, but with w.bloggar you have to put in a URL. For posting images, however, I recommend &lt;a href="http://picasa.google.com/index.html" title="Picasa" target="_blank"&gt;Picasa&lt;/a&gt; (with Blogger.com blogs at least)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8192395-113701075064529526?l=www.daharsh.net%2Ftech%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.daharsh.net/tech/2006/01/blogging-made-even-easier-with_11.htm</link><author>noreply@blogger.com (John Daharsh)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8192395.post-113233477644946379</guid><pubDate>Fri, 18 Nov 2005 17:24:00 +0000</pubDate><atom:updated>2005-11-18T10:42:04.360-07:00</atom:updated><title>VeriSign acquired by PayPal</title><description>I just called a VeriSign rep that I've been working with for the past few weeks. I have several clients who have wanted to move away from PayPal, so I've been trying to move them to VeriSign.&lt;br /&gt;&lt;br /&gt;The rep's voicemail informed me that effective today, November 18, VeriSign has been acquired by PayPal.&lt;br /&gt;&lt;br /&gt;I can't find any news links on this yet, so I will update as I know more.&lt;br /&gt;&lt;br /&gt;UPDATE** I just spoke with the rep and the sale was finaliized today, but the purchase happened a month ago. How did I miss that?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8192395-113233477644946379?l=www.daharsh.net%2Ftech%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.daharsh.net/tech/2005/11/verisign-acquired-by-paypal.htm</link><author>noreply@blogger.com (John Daharsh)</author><thr:total>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8192395.post-112685927573158233</guid><pubDate>Fri, 16 Sep 2005 08:24:00 +0000</pubDate><atom:updated>2005-09-16T01:40:51.413-07:00</atom:updated><title>Holomatix 3d goodness</title><description>I downloaded the demo version of Blade 3d Studio from &lt;a href="http://www.holomatix.com/" target="_blank"&gt;Holomatix&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I was able to monkey with one of their sample files and create &lt;a href="http://www.daharsh.net/tech/3d/" target="_blank"&gt;this&lt;/a&gt; (requires Java and Macromedia Flash Player).&lt;br /&gt;&lt;br /&gt;Pretty sweet. The model is a Nokia 7610, I just changed some of the image files associated with it and played with the Flash file.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8192395-112685927573158233?l=www.daharsh.net%2Ftech%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.daharsh.net/tech/2005/09/holomatix-3d-goodness.htm</link><author>noreply@blogger.com (John Daharsh)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8192395.post-112443567244615378</guid><pubDate>Fri, 19 Aug 2005 07:05:00 +0000</pubDate><atom:updated>2005-08-19T09:37:48.660-07:00</atom:updated><title>Hacking the System Properties</title><description>&lt;i&gt;Click the image for full-size view&lt;/i&gt;&lt;br&gt;&lt;a href="http://www.daharsh.net/tech/systemDarkstar.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; width: 300px; " src="http://www.daharsh.net/tech/systemDarkstar.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I built my machine last fall, but now I feel as though it's complete.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sanx.org/tipShow.asp?index=177" target="_Blank"&gt;Sanx&lt;/a&gt; posted an article about hacking the System Properties Popup, so I did.&lt;br /&gt;&lt;br /&gt;For those wondering, "herchenx" was an old screen name I used during my more active gaming days.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8192395-112443567244615378?l=www.daharsh.net%2Ftech%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.daharsh.net/tech/2005/08/hacking-system-properties.htm</link><author>noreply@blogger.com (John Daharsh)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8192395.post-112437778088880252</guid><pubDate>Thu, 18 Aug 2005 15:03:00 +0000</pubDate><atom:updated>2008-03-31T15:27:39.998-07:00</atom:updated><title>Cool desktop stuff</title><description>2008.03.31 update - The link to the file is broken. I just checked and the download tool offered by Alienware seems to be available &lt;a href="http://www.alienware.com/intro_pages/invader.aspx" target="_Blank"&gt;here&lt;/a&gt;. You will need to download the AlienGUIse software first (at the above link) and then you can get the themes and media player skins.&lt;br /&gt;&lt;br /&gt;I &lt;a href="http://www.daharsh.net/tech/2005/08/desktop-stuff.htm"&gt;previously wrote&lt;/a&gt; about my dekstop setup, but have made some recent changes.&lt;br /&gt;&lt;br /&gt;I installed &lt;a href="http://www.alienware.com/Standalone_Pages/darkstar.aspx" target="_blank"&gt;AlienWare's AlienGuise&lt;/a&gt; which allows you to easily change desktop themes, and includes several themes, one of which is Dark Star, which is what I am currently using.&lt;br /&gt;&lt;br /&gt;It looks cool, even though I have &lt;a href="http://www.daharsh.net/tech/2005/01/new-machine.htm"&gt;something other than an alienware&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Thanks &lt;a href="http://www.downloadsquad.com/" target="_blank"&gt;Download Squad&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Click the image for a bigger view, or &lt;a href="http://www.daharsh.net/tech/newdesktop.png"&gt;here&lt;/a&gt; for the full-sized view.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.daharsh.net/tech/newdesktopmed.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 300px; height: 240px;" src="http://www.daharsh.net/tech/newdesktopsmall.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8192395-112437778088880252?l=www.daharsh.net%2Ftech%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.daharsh.net/tech/2005/08/cool-desktop-stuff.htm</link><author>noreply@blogger.com (John Daharsh)</author><thr:total>13</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8192395.post-112293387049564854</guid><pubDate>Mon, 01 Aug 2005 22:01:00 +0000</pubDate><atom:updated>2005-08-05T10:09:14.676-07:00</atom:updated><title>Desktop stuff</title><description>&lt;a href="http://wwwdreamtoday.blogspot.com/2005/07/i-love-constantly-changing-desktop.html" target="_blank"&gt;Shane&lt;/a&gt; posted his latest desktop on his site.&lt;br /&gt;&lt;br /&gt;I like mine pretty well these days, so I thought I'd post a pic and where I found everything.&lt;br /&gt;&lt;br /&gt;I have no desktop or shortcut icons now because everything is accessble via quick &lt;a href="http://snarkhunt.blogspot.com/2005/04/dirt-cheap-macros.html" target="_blank"&gt;key commands&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I installed the free Windows theme "&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=15373C73-D5F6-4AF0-B583-D633CB021612&amp;displaylang=en" target="_blank"&gt;Royale&lt;/a&gt;"&lt;br /&gt;&lt;br /&gt;I installed Yahoo's &lt;a href="http://www.konfabulator.com/download" target="_blank"&gt;Konfabulator&lt;/a&gt; widgets.&lt;br /&gt;&lt;br /&gt;I change the desktop background reasonably often, but shown is what I currently have.&lt;br /&gt;&lt;br /&gt;Click the image for a bigger view, or &lt;a href="http://www.daharsh.net/tech/desktop.png"&gt;here&lt;/a&gt; for the full-sized view.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.daharsh.net/tech/desktopmedium.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 300px;height:240px;" src="http://www.daharsh.net/tech/desktoptiny.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8192395-112293387049564854?l=www.daharsh.net%2Ftech%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.daharsh.net/tech/2005/08/desktop-stuff.htm</link><author>noreply@blogger.com (John Daharsh)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8192395.post-111470081588436681</guid><pubDate>Thu, 28 Apr 2005 14:48:00 +0000</pubDate><atom:updated>2005-04-28T12:35:19.266-07:00</atom:updated><title>opening the optical drive tray using javascript</title><description>My &lt;a href="http://www.daharsh.net/tech/2005/01/new-machine.htm"&gt;new machine&lt;/a&gt; has been working pretty well since I built it. I have been building a lot of Flash, Flex, .NET and general web stuff on it with no problems.&lt;br /&gt;&lt;br /&gt;There is one flaw with the machine though. The button on my case for my optical drive does not match the button on the optical drive, so every time I want to open my drive tray, I have to go to My Computer &gt;&gt; right click on the drive letter and click eject.&lt;br /&gt;&lt;br /&gt;I found numerous examples of how to open the cd tray using vbscript, but doing so rendered the drive unusable until I killed the wscript.exe process(es) from Windows Task Manager.&lt;br /&gt;&lt;br /&gt;I re-wrote the vbscript into Javascript and it works great. Here is the code I am using:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;var WMP;&lt;br /&gt;var CDS;&lt;br /&gt;WMP = new ActiveXObject("WMPlayer.OCX.7");&lt;br /&gt;CDS = WMP.cdromCollection;&lt;br /&gt;CDS.item(0).eject();&lt;br /&gt;CDS = null;&lt;br /&gt;WMP.Close();&lt;br /&gt;WMP = null;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;To use it quickly, you can simply open a text editor, copy and paste the above text, and save the file on your desktop with a name like "cdopen.js." When you want to open the drive, just double-click the file on your desktop.&lt;br /&gt;&lt;br /&gt;I put the file in a folder called "shortcuts" on my c drive, which I have added to my PATH environment variables. I picked up this little trick from &lt;a href="http://lifehacker.com/software/productivity/cheap-windows-keyword-launcher-039890.php" target="_blank"&gt;LifeHacker&lt;/a&gt; last week, and it has been a great tool. This way I can hit my Windows key, hit "r" (for "run"), type "cdopen.js", hit enter and "ta-da" my drive tray opens.&lt;br /&gt;&lt;br /&gt;I actually took this even one step further by creating a shortcut to the js file in the shortcuts folder and naming it "cd". So now, I just hit Windows Key &gt;&gt; type "r" &gt;&gt; type "cd" &gt;&gt; hit enter and there I go.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8192395-111470081588436681?l=www.daharsh.net%2Ftech%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.daharsh.net/tech/2005/04/opening-optical-drive-tray-using.htm</link><author>noreply@blogger.com (John Daharsh)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8192395.post-111264108293754475</guid><pubDate>Mon, 04 Apr 2005 18:40:00 +0000</pubDate><atom:updated>2005-04-05T11:25:02.746-07:00</atom:updated><title>placing phone calls over the internet</title><description>I use primarily my cell phone for calls. We do not have a traditional "land line" due to the cost.&lt;br /&gt;&lt;br /&gt;There are occasions, however that I need something more stable than my cell phone. I participate in conference calls several times a month, sometimes more frequently. Using a cell phone for conference calls has proven to be a disaster. I would lose the call, I could not be heard on the other end, and I could only hear parts of what was said over the speaker phone.&lt;br /&gt;&lt;br /&gt;At the beginning of January I decided to give &lt;a href="http://www.vonage.com/" target="_blank"&gt;Vonage&lt;/a&gt; a try. I have a high-speed internet connection that I use for my occupation as a web developer. Vonage uses VOIP (Voice Over IP) technology, so it runs over my high-speed internet connection. &lt;br /&gt;&lt;br /&gt;Vonage has worked mostly great. The thing that they had that I really wanted was the "soft phone" -- which is a software-only telephone. I hook my headset up to my laptop and can talk over the internet while using my computer.&lt;br /&gt;&lt;br /&gt;I paid $15 a month for the basic service which includes 500 minutes anywhere in the US or Canada, plus $10 for the softphone service -- which has its own 500 minutes. There were also some costs for setup that I don't remember -- I think I had to buy the modem. &lt;br /&gt;&lt;br /&gt;Unfortunately Vonage did not -- and still does not have any phone numbers in my 970 area code. I also could not just buy the softphone service for $10 a month, I had to buy the normal "telephone" service (which I don't use) PLUS the soft phone service.&lt;br /&gt;&lt;br /&gt;Finally, they bill my credit card every month. They don't send paper bills. So the credit card we are trying to pay off gets charged $28+ every month.&lt;br /&gt;&lt;br /&gt;About a month ago I downloaded an application called &lt;a href="http://www.skype.com/" target="_blank"&gt;Skype&lt;/a&gt;. Skype uses similar technology to Vonage, but they also let you talk directly to other computer-based callers for free. They have a built in chat application and they allow you to send files over the chat application. I have been very happy with Skype -- it is free for me to use, it has been very reliable, and the voice quality has been better than Vonage.&lt;br /&gt;&lt;br /&gt;In addition to the free computer-to-computer calls, Skype has the option of buying credit for calls to "normal" phones in €10 increments that you use at the rate of 1.7 cents (Euro) per minute to any calls to the US, Europe, Australia and several other places around the globe. This means that I can buy service in advance, use it when I want (I think I have to use it within 6 months), and I get exactly what I need. &amp;euro;10 translates into a little over $13, and the rate is about 2 cents (US) per minute for calls all over the world.&lt;br /&gt;&lt;br /&gt;They do offer voicemail for an additional charge -- but I have that on my cell phone. They also allow you to buy a phone number if you want. They currently do not have any numbers in my area code.&lt;br /&gt;&lt;br /&gt;Today I cancelled Vonage. They charged me $40 to cancel. I don't think I'll be going back.&lt;br /&gt;&lt;br /&gt;If you have high-speed internet, use a cell phone heavily but need another option sometimes -- I highly recommend &lt;a href="http://www.skype.com/" target="_blank"&gt;Skype&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you have high-speed internet and are looking for unlimited calling within the US and Candada, get the $25 Vonage plan.&lt;br /&gt;&lt;br /&gt;Even if you go with Vonage, you should still download and try out Skype for computer-to-computer calls, chat and file transfer -- let me know if you do and we can talk for free!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8192395-111264108293754475?l=www.daharsh.net%2Ftech%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.daharsh.net/tech/2005/04/placing-phone-calls-over-internet.htm</link><author>noreply@blogger.com (John Daharsh)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8192395.post-111005946561142324</guid><pubDate>Sat, 05 Mar 2005 21:10:00 +0000</pubDate><atom:updated>2005-03-05T22:42:23.833-07:00</atom:updated><title>HELP I want to post stuff to the web but I don't know where to start</title><description>I've been having lots of conversations lately with folks who want to get a website, create a blog, post photos, or keep in touch via the Web. This post will cover some useful and fairly basic ways to get yourself online.&lt;br /&gt;&lt;br /&gt;I'd like to start by sharing my 2 cents worth about why I think it's important for the average person to have their life (or parts of it) posted online.&lt;br /&gt;&lt;br /&gt;First, it allows people to find you. If you search Google or some other search tool for "John Daharsh" you will find me. It helps that my name is somewhat rare, but I look people up this way all the time, and if they have put much about themselves out there, I can find them.&lt;br /&gt;&lt;br /&gt;Second, the web needs good people. More and more, as people post all their thoughts and ramblings online, the web "leans." Around election time here in the US, it seemed as though the web was leaning WAY left politically. A few years ago, it seemed that all you could find online was pornography. SO the more "average" people who get online help to bring some sense of stability. And there are those who live well, who live what I would call a beautiful life, whose thoughts can provide solace to weary souls on the web.&lt;br /&gt;&lt;br /&gt;Third, the web is becoming a very social space. You can join groups of people who are friends or family, or have similar interests, and share all sorts of useful information and experiences with them. You can develop friendships with people all over the world and help sort of "bring the world together."&lt;br /&gt;&lt;br /&gt;Finally, it's fun. The more you share, the more friends and family and strangers will interact with you. Getting comments posted on something you wrote or a photo you took is like getting a Christmas present in July.&lt;br /&gt;&lt;br /&gt;OK on to the technology. I am assuming that you have access to the web from home on a computer that you own. If you rely on the computer at the local library to access the web, you will be a little limited in what you can do.&lt;br /&gt;&lt;br /&gt;The basic level of using the web to communicate is by email. If you have an email account that you don't really use, I would recommend Gmail. Unfortunately if you do not already have an email account somewhere, you can't just "sign up" for a Gmail account. For those who have no email account, just go to &lt;a href="http://www.hotmail.com/" target="_blank"&gt;www.hotmail.com&lt;/a&gt; and sign up. If you already have an email account and would like a Gmail account, &lt;a href="mailto:john@daharsh.net"&gt;email me&lt;/a&gt; and I will send you an invitation. At the time I am writing this I have 50 invitations left.&lt;br /&gt;&lt;br /&gt;I recommend Gmail because they do a great job of tracking conversations, they allow you 1Gb (Giga-byte -- a whole lot) of storage, and it's really easy to search through past conversations.&lt;br /&gt;&lt;br /&gt;Once you get past sending and receiving email, I would recommend creating a blog. "Blog" is short for weblog, and is generally thought of as an online diary. I call &lt;a href="http://www.daharsh.net/west/" target="_blank"&gt;my primary blog&lt;/a&gt; an "Online Journal" because I think the word "Blog" sounds ugly. This post is part of my technology blog, I have a &lt;a href="http://www.daharsh.net/daharsh/" target="_blank"&gt;family blog&lt;/a&gt; and have started a &lt;a href="http://chcs92.blogspot.com/" target="_Blank"&gt;class blog&lt;/a&gt; to sort of reunite friends from my High School graduating class.&lt;br /&gt;&lt;br /&gt;To get started blogging, go to &lt;a href="http://www.blogger.com/" target="_blank"&gt;www.blogger.com&lt;/a&gt; and sign up and get started. It's pretty straightforward. One word of advice, if you start posting, keep posting. Don't be discouraged if people don't read or comment. As you continue to post, search engines will pick up your content, and if you post under your real name, eventually someone will look you up and get in touch with you or start reading. I won't cover all the different settings for blogger in this post, if I get any feedback on this article I can cover that in the future.&lt;br /&gt;&lt;br /&gt;You may notice that I have photos on this blog and my online journal. I can do this because I actually publish these blogs to my website's webserver. If you do not have a web site to publish to, you can't upload photos directly to the your blogger.com hosted blog. In this case, and for folks who just want to post photos, I would recommend Flickr. My flick account is &lt;a href="http://www.flickr.com/photos/herchenx" target="Blank"&gt;here&lt;/a&gt;. This topic is one that if you don't have your own computer you may be limited.&lt;br /&gt;&lt;br /&gt;Flickr currently lets you post up to 100 photos for free. You can comment on them when you upload them, and you can give friends and family who also set up flickr accounts access to photos that you don't want everyone to see. &lt;a href="mailto:john@daharsh.net"&gt;Send me an email&lt;/a&gt; if you want to use Flickr and I'll send you an invitation.&lt;br /&gt;&lt;br /&gt;Once you have a blog and start using Flickr, you can display photos that are hosted on Flickr in your blogger-hosted blog. &lt;a href="http://chcs92.blogspot.com/2005/03/week-one-roundup.html" target="_blank"&gt;This post&lt;/a&gt; on my class blog is an example of this.&lt;br /&gt;&lt;br /&gt;Well that should get you started. There is obviously much more to this whole online experience that you can get into, but the information above will get you online for free and is fairly easy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8192395-111005946561142324?l=www.daharsh.net%2Ftech%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.daharsh.net/tech/2005/03/help-i-want-to-post-stuff-to-web-but-i.htm</link><author>noreply@blogger.com (John Daharsh)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8192395.post-110599350043767580</guid><pubDate>Mon, 17 Jan 2005 20:41:00 +0000</pubDate><atom:updated>2005-01-17T13:25:00.436-07:00</atom:updated><title>new machine</title><description>Before the new year, I built a new PC to handle some of the bigger projects I was getting. The laptop that I bought last summer for development had been working fine until I started doing a bunch of Flash animation -- with working files that exceeded 380Mb in some cases. The disk speed, monitor space, memory, etc were simply insufficient for what I was doing.&lt;br /&gt;&lt;br /&gt;Looking at buying an adequate system was bewildering as machines were running into the thousands of dollars.&lt;br /&gt;&lt;br /&gt;I opted to build a system from scratch to save money -- and spend the money I had on parts that I needed.&lt;br /&gt;&lt;br /&gt;This is just a quick start-to-finish photo journal of what I built.&lt;br /&gt;&lt;br /&gt;Starting with my nearly empty office.&lt;br /&gt;&lt;img src="http://www.daharsh.net/tech/DSCF0049.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;all the parts (minus the RAM, thanks guys -- not going to get it live without the RAM!)&lt;br /&gt;&lt;img src="http://www.daharsh.net/tech/DSCF0053.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Nice hole in the monitor box, hope it still works.&lt;br /&gt;&lt;img src="http://www.daharsh.net/tech/DSCF0054.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Motherboard sans processor sitting on empty case (Power supply came with the case -- it was a great deal)&lt;br /&gt;&lt;img src="http://www.daharsh.net/tech/motherboardemptycase.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Processor and heat sync installed&lt;br /&gt;&lt;img src="http://www.daharsh.net/tech/processor.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;DVD-RW and 160Gb HDD installed in case&lt;br /&gt;&lt;img src="http://www.daharsh.net/tech/drives.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;All the main components in place, ready to wire it&lt;br /&gt;&lt;img src="http://www.daharsh.net/tech/gutsinplace.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;All wired up&lt;br /&gt;&lt;img src="http://www.daharsh.net/tech/wired.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;The next day the RAM showed up&lt;br /&gt;&lt;img src="http://www.daharsh.net/tech/ram.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Here's the case all together&lt;br /&gt;&lt;img src="http://www.daharsh.net/tech/mostlydone.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Here's the machine running -- pretty lights! If you look under the table, you'll see that the support is not locked in place. I found this out a few days after I took this when I finally uploaded these photos and was looking through them. Had the support given way, I'd have 2 19" FLat Screen Samsung Monitors laying on a crushed PC.&lt;br /&gt;&lt;img src="http://www.daharsh.net/tech/complete.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;I added a wireless PCI LAN card a few days later (see the antenna near the bottom)&lt;br /&gt;&lt;img src="http://www.daharsh.net/tech/wireless.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;It turned out that the video card I bought had trouble when I plugged the second monitor in, so I pulled another card I had out of a box and fixed it.&lt;br /&gt;&lt;br /&gt;This is an nVidia GeForce 4 Ti 4400 that had a bad fan on the heatsync&lt;br /&gt;&lt;img src="http://www.daharsh.net/tech/nvidia.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;This is the same card with a new fan and heatsync&lt;br /&gt;&lt;img src="http://www.daharsh.net/tech/newfan.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;I also added a 120mm exhaust fan to the back to help keep everything cool. So here's the finished system, with a good look at the unlocked table support.&lt;br /&gt;&lt;img src="http://www.daharsh.net/tech/alldone.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;In the end, here's what I have:&lt;br /&gt;&lt;br /&gt;Gigabyte Motherboard with nVidia nForce3 chipset&lt;br /&gt;AMD Athlon 64 3500+ processor&lt;br /&gt;160Gb Seagate 7200RPM HDD (soon adding a second Maxtor 250Gb 7200RPM HDD I got on sale)&lt;br /&gt;2Gb OCZ PC3200 RAM&lt;br /&gt;nVidia Geforce 4 Ti 4400 with 128Mb on-board RAM&lt;br /&gt;NEC DVD-R/DVD-RW optical drive&lt;br /&gt;400Watt Rosewill Power Supply&lt;br /&gt;Windows XP Pro&lt;br /&gt;2x80mm blue LED case fans (came with the Rosewill Case)&lt;br /&gt;1x120mm exhaust fan&lt;br /&gt;Logitech Wireless Keyboard and Mouse&lt;br /&gt;2x19" Samsung SyncMaster 997 Flat CRT Monitors&lt;br /&gt;&lt;br /&gt;Stable, quiet, and lightning-freaking fast.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8192395-110599350043767580?l=www.daharsh.net%2Ftech%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.daharsh.net/tech/2005/01/new-machine.htm</link><author>noreply@blogger.com (John Daharsh)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8192395.post-110180915216734260</guid><pubDate>Tue, 30 Nov 2004 09:55:00 +0000</pubDate><atom:updated>2004-11-30T03:05:52.166-07:00</atom:updated><title>more problems with Internet Explorer 6 and the doctype</title><description>A few months ago I posted a small bit of information about the doctype declaration's effect on some random image/padding display properties.&lt;br /&gt;&lt;br /&gt;Well tonight was a PAIN and the doctype declaration in IE6 was the culprit.&lt;br /&gt;&lt;br /&gt;I had content hidden by styles until the page loaded, at which point I was making adjustments to the position (and Yes, I did try every CSS method first, there were some problems that couldn't be worked around). In order to shove an item of the page to the very bottom of the window, I needed to get the clientHeight in IE6 (this is window.innerHeight in NN and Mozilla, FYI)&lt;br /&gt;&lt;br /&gt;Well, the numbers for clientHeight only matched the height of the content, not the actual height of the inside of the browser window. I finally found a few articles about this and discovered that the doctype declaration was what had caused the problem in IE.&lt;br /&gt;&lt;br /&gt;Rather than reinvent the wheel, I'll just link you to two articles &lt;a href="http://www.quirksmode.org/js/doctypes.html" target="_Blank"&gt;here&lt;/a&gt; and &lt;a href="http://www.evolt.org/article/document_body_doctype_switching_and_more/17/30655/index.html" target="_Blank"&gt;here&lt;/a&gt; that explain how to deal with this. The partial answer is that for clientHeight and some other properties (not all, mind you) you need to use document.documentElement.clientHeight. &lt;br /&gt;&lt;br /&gt;Another night of frustration thanks to Internet Explorer's whacky partial implementation of standards.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8192395-110180915216734260?l=www.daharsh.net%2Ftech%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.daharsh.net/tech/2004/11/more-problems-with-internet-explorer-6.htm</link><author>noreply@blogger.com (John Daharsh)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8192395.post-110060002831923259</guid><pubDate>Tue, 16 Nov 2004 10:05:00 +0000</pubDate><atom:updated>2004-11-16T03:32:28.393-07:00</atom:updated><title>problems displaying html in a Flash TextField</title><description>I had a bunch of scrolling content that I needed to put in a bunch of pages. Rather than wrestle with trying to make a nice-looking scroll area for all browsers in HTML, I decided to use Flash instead.&lt;br /&gt;&lt;br /&gt;Getting flash to load in a bunch of raw text and display it as HTML was not hard. &lt;br /&gt;&lt;br /&gt;Here's the ActionScript that works for this:&lt;br /&gt;&lt;br /&gt;// "output" is a Dynamic text field that I already created.&lt;br /&gt;// there is no variable name for this field, output is the instance name&lt;br /&gt;&lt;br /&gt;output.html=true;&lt;br /&gt;output.multiline=true;&lt;br /&gt;output.wordWrap=true;&lt;br /&gt;output.selectable=true;&lt;br /&gt;output.condenseWhite=true; // I like to have readable HTML&lt;br /&gt;output.mouseWheelEnabled=true; // makes it nice for scroll wheels&lt;br /&gt;&lt;br /&gt;loadedText = new LoadVars();&lt;br /&gt;&lt;br /&gt;// I like onData versus onLoad, that way I can have just HTML in a plain text file&lt;br /&gt;loadedText.onData = function(raw) { &lt;br /&gt;	output.htmlText=raw;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// "outputSource" is a variable passed in via &lt;br /&gt;// the object and embed tags containing the &lt;br /&gt;// name of the text file to be loaded&lt;br /&gt;loadedText.load(outputSource);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;My problems started when some of the characters went awry, then my image wouldn't show up.&lt;br /&gt;&lt;br /&gt;I'll address the image problem first. If you are trying to publish out for Flash Player 6 or earlier, don't even try to read in "img" tags, they won't work. But I was having problems in 7.0 player as well, and it about drove me crazy figuring out why.&lt;br /&gt;&lt;br /&gt;If the "img" tag is near the end of the html you are going to display, it can get chopped off. No image will display. If you don't have the condenseWhite property set to true, you can put a bunch of carriage returns then some throwaway character (like a period) at the end in your text file. I like to have clean HTML, though, so I leave condenseWhite set to true, then use "br" and "p" tags to set my carriage returns in the output. So I didn't put the image at the end (you could probably doctor the image so there's a margin that matches the background of the page)&lt;br /&gt;&lt;br /&gt;As far as the characters not displaying correctly, you can &lt;br /&gt;&lt;a href="http://www.w3.org/TR/REC-html40/sgml/entities.html#h-24.2.1" target="_Blank"&gt;go here&lt;/a&gt; for a reference. I was having problems with ndash and apostrophe. "[ampersand]apos;" was just showing a single quote ('), so I used [ampersand]#8217;, which showed up correctly (&amp;#8217;). For ndash, I used the standard [ampersand]#8211; ( &amp;#8211; )&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8192395-110060002831923259?l=www.daharsh.net%2Ftech%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.daharsh.net/tech/2004/11/problems-displaying-html-in-flash.htm</link><author>noreply@blogger.com (John Daharsh)</author><thr:total>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8192395.post-109426101497966761</guid><pubDate>Sat, 04 Sep 2004 01:16:00 +0000</pubDate><atom:updated>2004-11-30T03:11:14.616-07:00</atom:updated><title>internet explorer general css problems</title><description>I have spent the past several hours trying to understand why images on a page I'm building show no padding between the image and it's border in Internet Explorer. &lt;br /&gt;[Windows XP Pro SP2 IE 6.0.2900.xpsp_sp2_rtm.040803-2138]&lt;br /&gt;&lt;br /&gt;I was most frustrated because I have had this problem before and figured it out before. I had 2 identical pages with identical styles working differently in Internet Explorer. My primary browser, &lt;a href="http://www.mozilla.org/products/firefox/" title="You should be using Firefox if you aren't already -- trust me, it's WAY better for everyone" target="_Blank"&gt;Firefox&lt;/a&gt;, of course displayed everything correctly.&lt;br /&gt;&lt;br /&gt;The source of all the frustration?&lt;br /&gt;&lt;span style="color:red"&gt;&lt;br /&gt;The DOCTYPE declaration before the opening HTML tag!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here is the &lt;a href="http://www.daharsh.net/tech/IE_BAD.htm" target="_Blank"&gt;broken version&lt;/a&gt; and the &lt;a href="http://www.daharsh.net/tech/IE_BETTER.htm" target="_Blank"&gt;working version&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you are experiencing wierd problems with your styles in IE, it may be worth checking to see that the first line of you document matches what is in my working version above.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8192395-109426101497966761?l=www.daharsh.net%2Ftech%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://www.daharsh.net/tech/2004/09/internet-explorer-general-css-problems.htm</link><author>noreply@blogger.com (John Daharsh)</author><thr:total>0</thr:total></item></channel></rss>