tag:blogger.com,1999:blog-59284930326376491192024-03-05T07:00:33.923-05:00BenFinnigan.comA little peek inside Ben FinniganUnknownnoreply@blogger.comBlogger35125tag:blogger.com,1999:blog-5928493032637649119.post-7251614324022605422015-03-02T08:40:00.002-05:002015-03-03T23:05:58.087-05:00Easy UndeleterSo you look at the files in your Dropbox account... you look again. Something is missing. You're not sure if a sync went sideways, kids got a hold of one of your connected devices or if maybe this happened during the excitement of that spilled coffee.
Regardless, you need to restore files. As you start to restore some folders your realize there are a lot of files to restore and it will take you hours through the Dropbox web site. Isn't there an easier way? Yes, it's this simple app (currently in review with the Dropbox team) that makes finding and restoring loads of files as easy as possible.
<a href="https://googledrive.com/host/0BzalpPp0ImRDUXhqd0pnRVIyd2s/easyundelete.html">https://googledrive.com/host/0BzalpPp0ImRDUXhqd0pnRVIyd2s/easyundelete.html</a>
Enjoy!Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5928493032637649119.post-15003454112640463262011-03-05T23:43:00.003-05:002011-03-06T00:11:36.865-05:00How to set up a public or private RSS feed for a private Blogger BlogspotSo, you've been looking at <a href="http://analytics.google.com/">Google Analytics</a> for your personal blog lately and you can't help but wonder "who is from Thailand that keeps looking at my blog?" In the end, you decide it's time to wrap just a little more security around your blog and "go private"<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJ-00sC2y1cA8OFk4wKN0HDqCwJJjFSRev5pP4sXBjiJrGfs25n1t0Drkrjp3NQFPGB2-Nth1wSpsGr4hnnsLBC3iLKSgcK1vh3WGI8Gs9e5eqy5WOvrPkVyxpeEhQ7PSN6XF0Bg7s7Qw/s1600/OnlyPeopleIChoose.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="387" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJ-00sC2y1cA8OFk4wKN0HDqCwJJjFSRev5pP4sXBjiJrGfs25n1t0Drkrjp3NQFPGB2-Nth1wSpsGr4hnnsLBC3iLKSgcK1vh3WGI8Gs9e5eqy5WOvrPkVyxpeEhQ7PSN6XF0Bg7s7Qw/s640/OnlyPeopleIChoose.PNG" width="640" /></a></div><br />
But then, you remember reading an article somewhere that described going private as akin to Blogger Suicide. Apparently without seeing when there are new posts to your blog, your readers eventually get in the habit of just not checking anymore. If only there were a way to make the blog private and still let people know when you publish new posts.<br />
<br />
If you're like most people you'll find the email notifications first:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhez9dUXDpexGtoLamcWTsbygg3GEd3Tc6VXxGySi-gIAkASKw-8NmFdnakDs1EagVQz8Xy2x4wnEPP7ldwLQu2B_B8czbw0TREg8WX6SVaHs7wM6ppQVmcWzPGfHOdqQ_JSzi7vVqYjBM/s1600/EmailNotifications.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="372" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhez9dUXDpexGtoLamcWTsbygg3GEd3Tc6VXxGySi-gIAkASKw-8NmFdnakDs1EagVQz8Xy2x4wnEPP7ldwLQu2B_B8czbw0TREg8WX6SVaHs7wM6ppQVmcWzPGfHOdqQ_JSzi7vVqYjBM/s640/EmailNotifications.PNG" width="640" /></a></div><br />
There are a couple of problems with email notifications. First, you are limited to 10 email addresses. Second, did I mention you are limited to 10 email addresses?! Why would anyone write a blog for only 10 people? Needless to say, this isn't a viable option for most people.<br />
<br />
This is when geeks get involved and when there's a will, there's a way. Google offers another great service called <a href="http://feedburner.google.com/">Feedburner </a>that can help us out. The first thing you'll need to know is where to find the rss feed for private blogs. It's easy, you just need to add /rss.xml to the end of your blog address. So, for example, if your blog is http://myblog.blogspot.com then it's RSS feed URL is http://myblog.blogspot.com/rss.xml<br />
<br />
If we go to <a href="http://feedburner.google.com/">Feedburner </a>and we put in the now private blog's rss url here's what we see:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0YDnWiKkS9PGjinY2QkRxFNzRJNKYtY88JhOSPY564yLYeMhdN_jJ79rsWQcfzsdkj8jo1J_geMEM0LZZemwDQeZcR1K1UvDtP5RzbpjJksm8mOp2f-zR5E2V-Tvtnb7P6A7D4U0NOgQ/s1600/passwordProtected.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0YDnWiKkS9PGjinY2QkRxFNzRJNKYtY88JhOSPY564yLYeMhdN_jJ79rsWQcfzsdkj8jo1J_geMEM0LZZemwDQeZcR1K1UvDtP5RzbpjJksm8mOp2f-zR5E2V-Tvtnb7P6A7D4U0NOgQ/s1600/passwordProtected.PNG" /></a></div><br />
Now, there's really nothing stopping you from using your own real personal <a href="http://gmail.com/">Gmail </a>credentials in there, but let me just say that I'd rather not have my real credentials sitting in there. Instead, go ahead and create a new <a href="http://gmail.com/">Gmail </a>account and send it an invitation to your private blogger blogspot. Be sure not to use special characters in the password because it has to be URL-safe (you get an error "<span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; line-height: 20px;">invalid leading or trailing character in the hostname</span><span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 20px;">" if you have things besides letters and numbers</span>).<br />
<br />
Continuing the example from above and assuming you created a new Gmail account named myrssreader@gmail.com with the password mypass1 then the URL would become http://myrssreader:mypass1@myblog.blogspot.com/rss.xml<br />
<br />
After successfully entering your feed into <a href="http://feedburner.google.com/">Feedburner </a>it let's you pick a name and URL for the feed:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfdgNdTq_4tUSuWQz0rFsrjrZkX-hvlmt3bjojFjP3T2MfAW_iAc7gtcVLueB4rTJAWEmg5s-jxa1IwVehvBYC2IC4FlSP2DwrHDXBPR8dgNZLMPHsKu8A4fqmAvy-0KZmWcPD86NV-Bc/s1600/FeedburnerVerified.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="388" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfdgNdTq_4tUSuWQz0rFsrjrZkX-hvlmt3bjojFjP3T2MfAW_iAc7gtcVLueB4rTJAWEmg5s-jxa1IwVehvBYC2IC4FlSP2DwrHDXBPR8dgNZLMPHsKu8A4fqmAvy-0KZmWcPD86NV-Bc/s640/FeedburnerVerified.PNG" width="640" /></a></div><br />
Afterwards it takes you through some options and lets you pick and choose what to turn on for your feed. This is probably a good time to point out that <a href="http://feedburner.google.com/">Feedburner </a>also allows you to password-protect your feed under Publicize there is a Password Protector option:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBCIkjPQwqE-LTHDd5rTxXUypyktX1JwpVpkA40R0_nli3ksB8-gpdDow0MGNfKI8MXHcB8Uing2jLhNj3W_OKIjK8wneFZQg1OstMwqUa-BUqsc6CI_KiEUIINCIbYxKLeFgrVKlwIdQ/s1600/FeedburnerPasswordProtector.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="388" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBCIkjPQwqE-LTHDd5rTxXUypyktX1JwpVpkA40R0_nli3ksB8-gpdDow0MGNfKI8MXHcB8Uing2jLhNj3W_OKIjK8wneFZQg1OstMwqUa-BUqsc6CI_KiEUIINCIbYxKLeFgrVKlwIdQ/s640/FeedburnerPasswordProtector.PNG" width="640" /></a></div><br />
You would have to share that username and password with all of your readers, but it would give you a little more security seeing as the RSS feed is going to contain everything from the blog that you just made private.<br />
<br />
Finally, you can go back into Blogger and set the <span class="Apple-style-span" style="font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 14px; font-weight: bold; line-height: 20px;">Post Feed Redirect URL</span><span class="Apple-style-span" style="font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 14px; line-height: 20px;"> Under Settings>Site Feed</span><span class="Apple-style-span" style="font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 14px; line-height: 20px;">:</span><br />
<span class="Apple-style-span" style="font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 14px; line-height: 20px;"><br />
</span><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYl3tu-cMLM94VSJJEeQy8U1pA7vJqtX05dcrdgLig2OlclCRjE5lDKa4Iu7nRkspCcFGud1pYft4Q3vF1ofrXCCk8eZn8dcqIEjb9AUjSo4ORpwunAdOYNFSIvWSJoWQ3g_TjdH58N1M/s1600/SettingsSiteFeed.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="388" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYl3tu-cMLM94VSJJEeQy8U1pA7vJqtX05dcrdgLig2OlclCRjE5lDKa4Iu7nRkspCcFGud1pYft4Q3vF1ofrXCCk8eZn8dcqIEjb9AUjSo4ORpwunAdOYNFSIvWSJoWQ3g_TjdH58N1M/s640/SettingsSiteFeed.PNG" width="640" /></a></div><span class="Apple-style-span" style="font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 14px; line-height: 20px;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 14px; line-height: 20px;">Then, that's it. Tell people they can subscribe to the RSS feed and pass around the Feedburner URL and optionally a username and password for it if you opted into the Password Protector functionality at Feedburner. Now people can see your new posts through your new RSS feed and you (hopefully) won't lose all your readers to going private.</span><br />
<span class="Apple-style-span" style="font-family: 'trebuchet ms', verdana, arial, sans-serif;"><span class="Apple-style-span" style="font-size: 14px; line-height: 20px;"><br />
</span></span><br />
<span class="Apple-style-span" style="font-family: 'trebuchet ms', verdana, arial, sans-serif;"><span class="Apple-style-span" style="font-size: 14px; line-height: 20px;">Edit: If you're reading this post and are truly geeky, I went one step further and added the new gmail account to the Email Notification list and pointed Feedburner to the Gmail RSS Feed formatted thusly: https://username:password@mail.google.com/mail/feed/atom for a couple reasons. First, it's using https. Second, The feed that Gmail provides only shows the title and a short snippet from the beginning of the post.</span></span><br />
<span class="Apple-style-span" style="font-family: 'trebuchet ms', verdana, arial, sans-serif;"><span class="Apple-style-span" style="font-size: 14px; line-height: 20px;"><br />
</span></span><br />
<span class="Apple-style-span" style="font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 14px; line-height: 20px;">Disclaimer: </span><span class="Apple-style-span" style="color: #625b5a; font-family: arial, helvetica, sans-serif; font-size: 11px;">IMPORTANT: The statements, technical information and recommendations contained herein are believed to be accurate as of the date hereof. Since the conditions and methods of use of the products and of the information referred to herein are beyond our control, Ben expressly disclaims any and all liability as to any results obtained or arising from any use of the products or reliance on such information; NO WARRANTY OF FITNESS FOR ANY PARTICULAR PURPOSE, WARRANTY OF MERCHANTABILITY OR ANY OTHER WARRANTY,EXPRESS OR IMPLIED, IS MADE CONCERNING THE GOODS DESCRIBED OR THE INFORMATION PROVIDED HEREIN.</span>Unknownnoreply@blogger.com7tag:blogger.com,1999:blog-5928493032637649119.post-91927713506003700662010-12-18T12:11:00.000-05:002010-12-18T12:11:52.155-05:00Android application permissionsI saw this in the news earlier and figured it warranted a response:<br />
<br />
http://online.wsj.com/article/SB10001424052748704694004576020083703574602.html?mod=googlenews_wsj<br />
<br />
At least for android, an application's required permissions are displayed while downloading and installing apps. Here is a walkthrough:<br />
<br />
http://www.google.com/support/mobile/bin/answer.py?hl=en&answer=168572<br />
<br />
Here is a list of permissions developers can request:<br />
<br />
http://developer.android.com/reference/android/Manifest.permission.html<br />
<br />
The consumer of an app is always presented with a list of permissions before the app is downloaded and installed. It is up to the consumer to read that page and decide how much they trust the developer. Anything that requests access to location, contacts, phone state or phone identity should be scrutinized. Here is a tutorial someone wrote up on the subject:<br />
<br />
http://www.brighthub.com/mobile/google-android/articles/91280.aspx<br />
<br />
As long as a phone user can read and takes care when they get to the permissions portion of installing an app they won't take any risks they're unaware of. The wsj has tried to sensationalize a topic by claiming users don't know.<br />
<br />
If you own an android device just remember to read while you shop for apps and enjoy other's work safely.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5928493032637649119.post-37593157257336990252010-07-01T22:22:00.004-04:002010-07-01T22:26:48.556-04:00android frf91 what's newSo i just received frf91. The very first thing i noticed had to do with the car dock. It seems like new in this version the home screen will rotate when the phone is in the car. This means that the landscape use in a table for the home screen. I'm very excited about this feature. What else is new? I will post pictures as i find out. Post a comment if you make another discovery.Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-5928493032637649119.post-66021095314974434942010-06-28T23:40:00.002-04:002010-06-28T23:44:28.420-04:00Android 2.2 FRF85BIt's funny with all of these system updates I'd like to see a what's new in each one. Or maybe I don't want to know? Anyway, just received FRF85B, seems to be legitimate so I've installed. Noticeably faster in the camera app. Hard to tell, but I think the browser may have eeked out a little faster too (though that may be attributed to the recent restart only). Aside from that I've not noticed anything new, and have not noticed one piece I'd like to see fixed in Froyo... The soft keyboard swipe down to hide the keyboard doesn't work the way it used to. I always have to use the back key to hide the keyboard now. The swipe left-to-right for voice input also seems more touchy... have to get it just right. Anyway, aside from that I didn't notice anything new at all? What about you? Spot something new and different?Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5928493032637649119.post-69921273681750296642010-06-24T07:23:00.004-04:002010-06-24T09:28:10.240-04:00FRF83 Official Froyo Update Started June 23<p>Screenshots to follow in about an hour.<br />--Update--<br />I've already noticed lots of new changes. A new darker template for both Gmail and email applications, the browser is noticeably faster, and updated camera application. Something weird happened first reboot after the update- Google Voice disappeared from my home screen (changed to the default icon and said app not installed) so I had to delete it and drag it out from the app drawer again. As promised, here are some screenshots:</p><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1Zro8zKuRW_zlHhifp8ESKMsOJdOgI2eEuVVSgj6DEiRD0R9rcVf0fLQFajlzBFkJSgxhN8Q7WLdOXguoc2dnpvRHJF6la5DPe5yJYF-yXqAMxi05a9VhMMeFGt2zrbQJxhMmCWe4SZc/s1600/Home.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 400px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1Zro8zKuRW_zlHhifp8ESKMsOJdOgI2eEuVVSgj6DEiRD0R9rcVf0fLQFajlzBFkJSgxhN8Q7WLdOXguoc2dnpvRHJF6la5DPe5yJYF-yXqAMxi05a9VhMMeFGt2zrbQJxhMmCWe4SZc/s400/Home.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5486330033783688466" /></a></div><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIhF3CeKZslmGdj0CNEWuBh_RKS10A_eXtGdhwV_bcfV-wuU-Tjnu69VQQevU7QWs6W9CTEYl6Tm7JB4wbiQ4g1Go2lm-F0vRtAMkO48899OvlZDnb9-9CVXH9tv05h93gjt9zjvkjaqo/s1600/proof.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 400px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIhF3CeKZslmGdj0CNEWuBh_RKS10A_eXtGdhwV_bcfV-wuU-Tjnu69VQQevU7QWs6W9CTEYl6Tm7JB4wbiQ4g1Go2lm-F0vRtAMkO48899OvlZDnb9-9CVXH9tv05h93gjt9zjvkjaqo/s400/proof.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5486330031462904290" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDGvex4h0IQCZFckAQZpIW5kJSu129sTXMJGYhrvKZJ_0sHIEqnTuEwCJZuljSG9JUw72c4Iokv9osbmhgT6_M0svD8QKNpwx2rv6tIp9mL-zh6BIgDhGDFyLN8rpAAuj8HuxSVE3698A/s1600/device6.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDGvex4h0IQCZFckAQZpIW5kJSu129sTXMJGYhrvKZJ_0sHIEqnTuEwCJZuljSG9JUw72c4Iokv9osbmhgT6_M0svD8QKNpwx2rv6tIp9mL-zh6BIgDhGDFyLN8rpAAuj8HuxSVE3698A/s400/device6.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5486330650600701234" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjH9S3x7DYpCWWqAIESw4sGZSjD-hTnDTq6JpzZy3v2PO86UZy2EfQ1_qbdTuOe-jsMlPbMfeA7VrX_yWAz1lJ60wmYpRID2zkSVHq9EIrnUgOi9M4HfdoAjy3rMVmyXydeBMvLVzjlUtw/s1600/device5.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjH9S3x7DYpCWWqAIESw4sGZSjD-hTnDTq6JpzZy3v2PO86UZy2EfQ1_qbdTuOe-jsMlPbMfeA7VrX_yWAz1lJ60wmYpRID2zkSVHq9EIrnUgOi9M4HfdoAjy3rMVmyXydeBMvLVzjlUtw/s400/device5.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5486330639658728626" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisyIxB60qQ_tjVHEFSqwQseTYe5mGcORMAy2KEpb4W900ogYtdFVbdg7Uqdd_8ObW0oNpWyy3yMw9Sbs4JRN_hzfOE9FtEk3tGNISfhPSwKZKaW5Lx5bb511JNFhsKzKkQuLyJbrp-R1g/s1600/device4.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisyIxB60qQ_tjVHEFSqwQseTYe5mGcORMAy2KEpb4W900ogYtdFVbdg7Uqdd_8ObW0oNpWyy3yMw9Sbs4JRN_hzfOE9FtEk3tGNISfhPSwKZKaW5Lx5bb511JNFhsKzKkQuLyJbrp-R1g/s400/device4.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5486330629230565250" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgn9EATdDpQBjQe-WrCmVeQzERtK-wGPELaS9Py-4MPhiNLljsgyLUUHZPDVyOkS7NASZRNQ403ncP9bLwHdtyRtgy9PyGYxpJnjamKnm7ElgSYw5vA-p2d5p7edmoX_38BtWPkYGbj0RI/s1600/device3.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgn9EATdDpQBjQe-WrCmVeQzERtK-wGPELaS9Py-4MPhiNLljsgyLUUHZPDVyOkS7NASZRNQ403ncP9bLwHdtyRtgy9PyGYxpJnjamKnm7ElgSYw5vA-p2d5p7edmoX_38BtWPkYGbj0RI/s400/device3.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5486330613286290834" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5sIfhXMQ3aeFS1-pNKD6O4L1i8ejA2vojhLa8UBkGikNpfZTXABux5imLxmB4-u-wwyp5i1Wm_xKKuSCgimEGKhF57AA6VLp6AJDy71MEx61Ua3Vaa4kVNrVgbwRIAewWBxyW6BgDL_M/s1600/device2.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5sIfhXMQ3aeFS1-pNKD6O4L1i8ejA2vojhLa8UBkGikNpfZTXABux5imLxmB4-u-wwyp5i1Wm_xKKuSCgimEGKhF57AA6VLp6AJDy71MEx61Ua3Vaa4kVNrVgbwRIAewWBxyW6BgDL_M/s400/device2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5486330594301818402" /></a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5928493032637649119.post-21011546968265130742010-05-27T17:17:00.003-04:002010-05-27T17:25:56.514-04:00Goo.gl URL Shortening CallNeed to shorten some URLs? I put together a quick and dirty page to do it:<div><br /></div><div><a href="http://goo.gl/5EkB">http://goo.gl/5EkB</a></div><div><br /></div><div>I wanted to use goo.gl for my android app links and had to do some digging to find out how to make the call, but in the end had some success.</div><div><br /></div><div>For now, if you go to the Goo.gl Caller you can see what's going on if you look at the JavaScript for the page. I have the look-up posting back to my page to prevent the cross-domain issue, but if you're running it say from your local machine you could just change the url in the JavaScript to http://goo.gl/api/url and it should work with IE.</div><div><br /></div><div>HTH!</div>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-5928493032637649119.post-54167824947116178522010-05-25T19:39:00.022-04:002011-02-22T00:29:45.441-05:00Android Market Update WoL Wake On Lan Wan Now Available<div>WoL Wake On Lan Wan is my newest Android Application.</div><div>I was looking for a WoL app that wouldn't FC on me and would support any UDP port, IPs and Domain names, multiple packets, multiple profiles, one-click widgets... so I made my own. The application is robust, extremely flexible, and powerful.</div><div>Want to know <a href="http://blog.benfinnigan.com/2008/11/wol-wake-on-lan.html">more about WoL</a>? <a href="http://blog.benfinnigan.com/2008/11/wol-wake-on-lan-through-linksys-router.html">Have a Linksys Router you're having trouble configuring</a>? <a href="http://www.depicus.com/">Depicus</a> is also a great source of information and tools.</div><div><br />
</div><div><a href="http://goo.gl/qcIf">Check out the new help.benfinnigan.com forum for more help from other users and a direct line to the developer (*ahem* me).</a></div><div><br />
</div><div>Here is the current feature-set:</div><div><ul><li><b>Multiple Profiles</b> - It can store as many as your external storage can handle. Saving the profiles on the external storage also allows the user to share profiles with other phones if desired. Just look in the WoLANWAN directory and copy any .dat file to another phone's similarly named directory to share a profile (I use Astro for my Android File Explorer needs)</li>
<li><b>Profile Grouping</b> - Want one widget for both your WiFi and WAN configurations for the same computer? Now you can group them and create a group widget that sends packets to all the computers in the group. Have a data center with loads of computers? Group them and wake up your entire data center with one touch.</li>
<li><b>IP and Domain Support</b> - Not everyone has a dedicated external IP for WoW and so they turn to dynamic DNS like dyndns.org to provide a fully-qualified domain name that resolves to their machine. On the other hand when using WoL on an intranet there's probably no need for domain name because the IP is fixed or known.</li>
<li><b>UDP Ports 0-65535</b> - OK, I didn't test ALL of them but, I did test a non-standard port for my own implementation and it worked like a champ. Why limit a user to 7 or 9? You know what your firewall needs!</li>
<li><b>Toggle Broadcast</b> - With the ability to turn broadcast on for profiles to use while connected to WiFi and turn it off for profiles to use while connected to 3G/Edge/G etc WoL Wake on Lan Wan has you covered.</li>
<li><b>Send Multiple Packets</b> - It's UDP... meaning connectionless. Packets can lose their way sometimes in the internet, so sending a configurable number of packets at a configurable interval is a great way to make sure the message gets to the remote computer. This is also great for testing your router and machine configurations (I use a tool called <a href="http://www.depicus.com/wake-on-lan/wake-on-lan-monitor.aspx">Wake On Lan Monitor</a>).</li>
<li><b>One-Touch Widgets</b> - Do I really have to open the application and pick a profile every time I want to wake up my computer? No! Of course not, we know how lazy... er.. busy you are so with One-Touch Widgets you can save your precious energy. This is also really handy if you have loads of profiles and frequently use one at the bottom of the list.</li>
<li><b>Sorting</b> - With a bunch of different profiles, it's nice to be able to see them alphabetically, or reverse alphabetically, or more recently changed - you get the idea.</li>
<li><b>Localization</b> - The application is now localized in French and Spanish... very poorly. If you would like to submit a change to some of the poorly localized UI feel free to email me or leave a comment on my blog here. Also, if we're not localized in the language that you're interested in please email me so that I can give you a list of strings to translate.</li>
<li><b>CSV Export and Import</b> - As wonderful and amazing as phones are, it sure is a pain to type on them. That's why with the new CSV export and import you can export a sample and then type a bunch of them in from a computer. Import the new CSV and voila no need to peck away on your phone for hours on end. For those of you who may be having trouble here is the order the columns should be in the CSV: Name, MAC, IP or Domain Name, UDP Port, Broadcast ("true" or "false"), Subnet Mask, Send Multiple ("true" or "false"), Packet Count, Interval (seconds). Also, please note that every column must be filled with a value.</li>
<li><b>Tasker task export</b> - But wait, there's more! I finally had a chance to purchase Tasker (cool app!) and added a Tasker export to the context menu (long-press) in the main screen. You can also create it yourself by using the Action Intent in Misc. The settings are Action=com.benfinnigan.wol.widgetlaunch Cat=Launcher Extra=CPATH:<Enter the name of the profile or group profile here></li>
<li><b>NO ADVERTISING</b> - Seriously? For something as simple as a wake on lan app, no one wants to be bothered by ads.</li>
</ul></div><div>Here are some screenshots and the QR Code:<br />
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiL9aupyhczeC5SRIDMFW6NknVqXK33OphRYKuUeAroU9pVeFiQrkepugCNrH946q3xI50sF7uUKL470t0dWlkFsu7hlQ2F5BSsBBsFk-hqdDN5Vfbs_v2fK6KIlWd8U8D7nMRdr2AGDpQ/s400/WOLqrcode.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 280px; height: 280px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiL9aupyhczeC5SRIDMFW6NknVqXK33OphRYKuUeAroU9pVeFiQrkepugCNrH946q3xI50sF7uUKL470t0dWlkFsu7hlQ2F5BSsBBsFk-hqdDN5Vfbs_v2fK6KIlWd8U8D7nMRdr2AGDpQ/s400/WOLqrcode.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5475361114567319746" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWvlOUOAVwpjfiqU3caqEwT-67AYNziJZRpYgbTXJlmYzbCM-fTSIn2k35BfB0yDW2HoCMGTsg4_lRLHyDyEvq5GWlRttaR_Syl_kkKF6HVx-QULFA0heHqbBCkvgwVoXuieAS_1Vj3Jc/s1600/WOL_Screen4.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 267px; height: 400px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWvlOUOAVwpjfiqU3caqEwT-67AYNziJZRpYgbTXJlmYzbCM-fTSIn2k35BfB0yDW2HoCMGTsg4_lRLHyDyEvq5GWlRttaR_Syl_kkKF6HVx-QULFA0heHqbBCkvgwVoXuieAS_1Vj3Jc/s400/WOL_Screen4.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5481893593841086050" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8wQrplmVe7gki8aAhrttJ9bcmjCSghN4js1J7ryaplPvGyJCycI7hASDuNoUVQZ9W9w9YJwNr8xyt_JY6ToqFxMS8Aeks0siEgQXqo7opVKtWG5ejAk99rb5wKQbEUFzmAb5hq-yKlTQ/s1600/WOL_Screen3.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 267px; height: 400px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8wQrplmVe7gki8aAhrttJ9bcmjCSghN4js1J7ryaplPvGyJCycI7hASDuNoUVQZ9W9w9YJwNr8xyt_JY6ToqFxMS8Aeks0siEgQXqo7opVKtWG5ejAk99rb5wKQbEUFzmAb5hq-yKlTQ/s400/WOL_Screen3.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5491710326537971042" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPcac8n3XJvTppLf1n9eM2aB9C0SSnyumusY3aF-uH89dXE4tWA6xGXHA7rSRlDIoOpLBI-3xjEL5NJ96MeBgV63CiMuh7PWLK-rld7oJF2fMvha8sBStg4_vnYic9sg112PhVaL87ovY/s1600/WOL_Screen2.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 267px; height: 400px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPcac8n3XJvTppLf1n9eM2aB9C0SSnyumusY3aF-uH89dXE4tWA6xGXHA7rSRlDIoOpLBI-3xjEL5NJ96MeBgV63CiMuh7PWLK-rld7oJF2fMvha8sBStg4_vnYic9sg112PhVaL87ovY/s400/WOL_Screen2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5481893582303994754" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiH1vog-1Jk_Fks3avncBOKfUQiiYknDrVu-926NM_q_-uuPl-UFYp0gjpqUXNiYKXFgqfTgWF5rVJ8MRmHZ-4w9Gus-rnTG5YTVxHRqd0rcPm0Zq_xhrZVGVrwpFhoQMNjEZ99GJa1WJ0/s1600/WOL_Screen1.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 267px; height: 400px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiH1vog-1Jk_Fks3avncBOKfUQiiYknDrVu-926NM_q_-uuPl-UFYp0gjpqUXNiYKXFgqfTgWF5rVJ8MRmHZ-4w9Gus-rnTG5YTVxHRqd0rcPm0Zq_xhrZVGVrwpFhoQMNjEZ99GJa1WJ0/s400/WOL_Screen1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5481893581379666226" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitWel5PDyu9_MF-AkTl-SmlswZEuT25IdWd9P-ah2yGorafHj7F4rfW2rFSE1a4lLUAaMgoMxpykpMC7-vUycFCs-PUw-uFQiO7lAsIPN68d_Qm-TUzuF0QIwzHwKER7jHicUOzfumCWc/s1600/WOL_Screen0.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 267px; height: 400px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitWel5PDyu9_MF-AkTl-SmlswZEuT25IdWd9P-ah2yGorafHj7F4rfW2rFSE1a4lLUAaMgoMxpykpMC7-vUycFCs-PUw-uFQiO7lAsIPN68d_Qm-TUzuF0QIwzHwKER7jHicUOzfumCWc/s400/WOL_Screen0.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5481899119879653106" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsFVHIkMfYmRX42-bfHhlnS-U6tmgAHdGSGjEQCDkLS6Gqe9BW9QISa2qpGqXUY5ox1Lo7qi5YnEjud6OBbOQmW8LA3HdPvacWtBfYD5HlAA9dIf5mojCbH_DoWukQuaTNmB9fQejWaqk/s1600/WOL_Screen5.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 267px; height: 400px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsFVHIkMfYmRX42-bfHhlnS-U6tmgAHdGSGjEQCDkLS6Gqe9BW9QISa2qpGqXUY5ox1Lo7qi5YnEjud6OBbOQmW8LA3HdPvacWtBfYD5HlAA9dIf5mojCbH_DoWukQuaTNmB9fQejWaqk/s400/WOL_Screen5.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5481894044271139794" /></a></div>Unknownnoreply@blogger.com32tag:blogger.com,1999:blog-5928493032637649119.post-77866133463488924232010-05-21T17:22:00.000-04:002010-05-20T22:14:09.376-04:00New Car Dock Screen in Android 2.2 (froyo)<p>While looking through the Froyo Emulator I found something else interesting. It looks like the card dock screen has been changed as well.</p><br /><p>It looks like there is a difference between a day and night mode (and automatic which I assume senses ambient light to determine screen brightness). There are a lot of empty slots which I assume we can get custom shortcuts into, but I haven't figured out how yet.</p><br /><p>Here are some screenshots:</p><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4cBZSYncaShmgsBDYl-Jz39RiscWNqwq9Di7dY8HDFmVJQwjqv3qbjK-Wsz8lepIU-a10XugwDT7WDqzfQiqhjs7xnQTfUwsMQWqWj46IZJfTMKxz6vAOs_rdAbMFILru29QELc6LtJs/s1600/carDockSettings.PNG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 281px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4cBZSYncaShmgsBDYl-Jz39RiscWNqwq9Di7dY8HDFmVJQwjqv3qbjK-Wsz8lepIU-a10XugwDT7WDqzfQiqhjs7xnQTfUwsMQWqWj46IZJfTMKxz6vAOs_rdAbMFILru29QELc6LtJs/s400/carDockSettings.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5473467111271137714" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1iQKDCbW1TkrBIBzpJoL1YV0f2M8D6d6J4QBc2xx43VlEDpZzkzmT5dN4VsO1wyuEAjUuE7PR6HKnE2UaB-xdbO_qkKT98mc8GEJdd0ULf5ssVhzkJ_pZ7t7wWQoJsE3baQgmgLwS_AY/s1600/carDockDay.PNG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 281px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1iQKDCbW1TkrBIBzpJoL1YV0f2M8D6d6J4QBc2xx43VlEDpZzkzmT5dN4VsO1wyuEAjUuE7PR6HKnE2UaB-xdbO_qkKT98mc8GEJdd0ULf5ssVhzkJ_pZ7t7wWQoJsE3baQgmgLwS_AY/s400/carDockDay.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5473467100971427490" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjx3u2QGpZ1WHFayJDfwQFvxV3F1aCkRJDLKLuqKbMZgybCQoJa7Sm5-TRRMBBA_rNtTTmS6Q7idHIObOrKvolhyphenhyphenMLdXcSojtqm536z6xwaA8Z2HRWhK_Mx8WjOd9SMhAG9YuQFZ_XbmLY/s1600/carDockNight.PNG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 281px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjx3u2QGpZ1WHFayJDfwQFvxV3F1aCkRJDLKLuqKbMZgybCQoJa7Sm5-TRRMBBA_rNtTTmS6Q7idHIObOrKvolhyphenhyphenMLdXcSojtqm536z6xwaA8Z2HRWhK_Mx8WjOd9SMhAG9YuQFZ_XbmLY/s400/carDockNight.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5473467095491522146" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzMrlSXsLfA_Zjly1C3pJvk5fSbSCQFmZtqV6OGRP61GHOQhGrFmEWPeK8Hs67dWXvsSv4rkCHjTxhD7g09tq3YbtDGusNI5-ltmK7HxLBRNI3B2V0W_jMM2C_ITAWq8jLdrwYc5tQMNY/s1600/carDock2.PNG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 281px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzMrlSXsLfA_Zjly1C3pJvk5fSbSCQFmZtqV6OGRP61GHOQhGrFmEWPeK8Hs67dWXvsSv4rkCHjTxhD7g09tq3YbtDGusNI5-ltmK7HxLBRNI3B2V0W_jMM2C_ITAWq8jLdrwYc5tQMNY/s400/carDock2.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5473467087363929458" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEw3uKpY0mbf_wx504Obdv2hveHiRzWyO6WPwdarnJNhhsCM_LJoUJkAIEIUFSTFaFGcDe_qUdBdYUMdsjpv6hwfYzLChQ3a2OU-U_BqE2HxbzeuHjGaTs_7kyQOJQxOFmWzTUE9osIIk/s1600/carDock.PNG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 281px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEw3uKpY0mbf_wx504Obdv2hveHiRzWyO6WPwdarnJNhhsCM_LJoUJkAIEIUFSTFaFGcDe_qUdBdYUMdsjpv6hwfYzLChQ3a2OU-U_BqE2HxbzeuHjGaTs_7kyQOJQxOFmWzTUE9osIIk/s400/carDock.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5473467077767783234" /></a>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-5928493032637649119.post-56882964086050907152010-05-20T17:07:00.000-04:002010-05-20T22:14:30.160-04:00New Pin and Password Screen Lockout in Android 2.2 (FroYo)<p>While everyone else is out tooting their horns excitedly about tethering built into the new Android 2.2 (Froyo) release I've found something else to get excited about.</p><br /><p>That pattern screen lock was a real deal-breaker for even enabling screen locking on my Nexus One because I didn't see much point. Anybody with enough time could look at the grease lines on the screen and come up with a likely pattern. Thankfully, it looks like Android 2.2 (Froyo) has PIN and Password screen locking options (why wasn't this in there at the beginning?). Anyway, here are some screen shots from the emulator: </p><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4pfGPymvXqRx6ZyMZfeiUKBxfz15365BLQao9Un1FY5q00ySnS4rS0yTb3GGXhVHGrtpVD_baZ2w6q2HJyVhzU22_9w2mZp25PX6zCZfXgplGdwxqKN03T2xCRUHFC9owAS-lM68V0jw/s1600/finallyAPasswordLock.PNG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 281px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4pfGPymvXqRx6ZyMZfeiUKBxfz15365BLQao9Un1FY5q00ySnS4rS0yTb3GGXhVHGrtpVD_baZ2w6q2HJyVhzU22_9w2mZp25PX6zCZfXgplGdwxqKN03T2xCRUHFC9owAS-lM68V0jw/s400/finallyAPasswordLock.PNG" border="0" alt="" id="BLOGGER_PHOTO_ID_5473433422288642274" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuLCB5w3DT8pNb-Jv1YHZXoyrNocZoOh7IjMZp4YExvfcbUUEO_5QEeeEpCgZeS7CmE2wkg5lIFNeeDR_AHrqutHjJlN5G5bnUuxWKHT-k1-KM4H_d_Xd3CL0pyqBf5Nij0WnxEO0Y0Oc/s1600/PasswordUnlock.PNG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 281px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuLCB5w3DT8pNb-Jv1YHZXoyrNocZoOh7IjMZp4YExvfcbUUEO_5QEeeEpCgZeS7CmE2wkg5lIFNeeDR_AHrqutHjJlN5G5bnUuxWKHT-k1-KM4H_d_Xd3CL0pyqBf5Nij0WnxEO0Y0Oc/s400/PasswordUnlock.PNG" border="0" alt="" id="BLOGGER_PHOTO_ID_5473465079980326370" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNNveZKGpibUL3p4dD8aWWKh3AgwXKxBb_JFJJITVMgZuN9Ie_AiXDF707UXiEUecWesEKXrT0ldHX2q5OcdGRt5-tgFRtUhYM8Z6gmElDqHfuuZZggHYIPKbykQth2HEcL2lIxRTYEZc/s1600/finallyAPinLock.PNG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 281px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNNveZKGpibUL3p4dD8aWWKh3AgwXKxBb_JFJJITVMgZuN9Ie_AiXDF707UXiEUecWesEKXrT0ldHX2q5OcdGRt5-tgFRtUhYM8Z6gmElDqHfuuZZggHYIPKbykQth2HEcL2lIxRTYEZc/s400/finallyAPinLock.PNG" border="0" alt="" id="BLOGGER_PHOTO_ID_5473433412888728962" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimhKNZi51gSIesMNSEPyUGJ4PMx6cz4efanBVqgdWTwp4b4QBd6SMTKukEfCi087eQiejRjVG3_j-LEuFzF_uZspBAT-s-xjTLKsVyFEwDgjEkbqOhajJDuN3Pe8zx9uAQwp6WSVqugQM/s1600/PinUnlock.PNG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 281px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimhKNZi51gSIesMNSEPyUGJ4PMx6cz4efanBVqgdWTwp4b4QBd6SMTKukEfCi087eQiejRjVG3_j-LEuFzF_uZspBAT-s-xjTLKsVyFEwDgjEkbqOhajJDuN3Pe8zx9uAQwp6WSVqugQM/s400/PinUnlock.PNG" border="0" alt="" id="BLOGGER_PHOTO_ID_5473465088178088258" /></a><br /><div><br /></div><div><br /></div>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-5928493032637649119.post-74195752528090253312009-03-31T08:50:00.004-04:002009-04-07T08:31:22.176-04:00Label TagsA very easily forgotten tag that makes a website more usable. The tag makes for more intuitive clicking for regular users and for those users leveraging screen readers it makes it much easier. Here's an example:<br /><br /><input type="radio" name="ageband" id="ab25" /><label for="ab25">0-25yrs</label><br /><input type="radio" name="ageband" id="ab45" /><label for="ab45">26-45yrs</label><br /><input type="radio" name="ageband" id="ab46" /><label for="ab46">45+yrs</label><br /><br />Notice how you can change your selection by clicking the text describing the option? Here is the same example <span style="font-weight: bold;">without</span> labels:<br /><br /><input type="radio" name="ageband2" id="ab25wo" />0-25yrs<br /><input type="radio" name="ageband2" id="ab45wo" />26-45yrs<br /><input type="radio" name="ageband2" id="ab46wo" />45+yrsUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-5928493032637649119.post-16204709102663826152008-11-28T15:12:00.004-05:002008-11-28T15:22:17.271-05:00Super-Sharable, Self-Installing WidgetThere are not many people that will appreciate this, but I just finished coding up a widget form that will install itself on other blogger blogs automatically. Then after it's been installed on someone else's blog it contains the same form so that their readers can add the widget. See it in action on my sidebar for the petit elefant. Here's the code:<br /><br /><form id="supersharingwidget" action="http://www.blogger.com/add-widget" method="post"><!-- This is the beginning of the real widget content /--><a href="http://petitelefant.blogspot.com"><img border="0" src="http://img81.imageshack.us/img81/5783/elefantsc0.gif"/></a><br/><br /><div>To add this button to your blog, copy and paste the text below into the HTML/JavaScript page element on your blog or simply press the button below.<br/><textarea onclick="this.select()">&lt;a href="http://petitelefant.blogspot.com"&gt;&lt;img border="0" src="http://img81.imageshack.us/img81/5783/elefantsc0.gif"/&gt;&lt;/a&gt;&lt;br/&gt;</textarea> </div><!-- This is the end of the real widget content /--><input value="http://petitelefant.blogspot.com/" name="infoUrl" type="hidden"/> <input name="widget.title" type="hidden"/> <!-- Do Not Change anything below this line /--><input id="pewc" name="widget.content" type="hidden"/> <input value="&lt;data:content/&gt;" name="widget.template" type="hidden"/> <input style="border: 0px none ; background: rgb(255, 255, 255) url(http://www.blogger.com/img/add/add2blogger_sm_b.gif) repeat scroll center center; width: 104px; height: 17px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" value=" " onclick="var wc = (document.getElementById('supersharingwidget').outerHTML)?document.getElementById('supersharingwidget').outerHTML + '<!--endssw/-->':document.getElementById('supersharingwidget').parentNode.innerHTML.match(/<form id=\u0022supersharingwidget\u0022(.|\n)+<\!--endssw\/-->/)[0].toString();document.getElementById('pewc').value = wc" type="submit"/> </form><!--endssw/-->Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5928493032637649119.post-13843164685978768972008-11-25T17:00:00.001-05:002008-11-25T17:04:53.814-05:00Count Controls in a Page in C#<!-- code formatted by http://manoli.net/csharpformat/ -->Here is a simple method I created to count all the controls in a C#.NET page recursively.<br /><pre class="csharpcode"><br /> <span class="kwrd">int</span> ControlCount( Control parentControl )<br /> {<br /> <span class="kwrd">int</span> current=0;<br /> <span class="kwrd">foreach</span>( Control c <span class="kwrd">in</span> parentControl.Controls )<br /> {<br /> <span class="kwrd">if</span> (c.Controls.Count > 0)<br /> {<br /> current += ControlCount(c);<br /> }<br /> <span class="kwrd">else</span><br /> {<br /> current++;<br /> }<br /> }<br /> <span class="kwrd">return</span> current;<br /> }<br /></pre>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5928493032637649119.post-73231636164128040612008-11-13T10:01:00.004-05:002008-11-14T00:08:45.064-05:00WOL Wake On LAN<a style="font-weight: bold;" href="http://blog.benfinnigan.com/2008/11/wol-wake-on-lan-through-linksys-router.html">Have a Linksys Router you're trying to get working with WOL?</a><br /><div style="text-align: center;font-family:arial;"><span style="font-weight: bold;">Wake On LAN</span><br /></div><span style="font-family:arial;">Wake On LAN (Local Area Network, this is your group of computers) is functionality that allows you to turn your computer on by sending a specially built message to it.<br /><br /></span><span style="font-family:arial;">If you're a computer geek Wake On LAN is functionality supported either by your motherboard or your operating system and your NIC (Network Interface Card - this is what you use for your Internet Connection) that listens for special packets called Magic Packets that it then uses to power on or wake up from a non-interactive state.<br /><br />Wake On LAN can wake up windows from sleep (s3) or hibernate (s4) but you're looking for motherboard support if you want to power on your computer from a shut down state (s5). </span><a style="font-family: arial;" href="http://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface#System_states" target="_blank">What are those s numbers?</a><br /><br /><div style="text-align: center;font-family:arial;"><span style="font-weight: bold;">Magic Packets</span><br /></div><span style="font-family:arial;">Magic Packets are specially formed UDP packets that signal a specific NIC to send a wake command to the computer. The structure of these packets is </span><span style="font-family:arial;">a 6 byte header (all ones - so FF FF FF FF FF FF in hex) and the MAC address of the computer to be woken up repeated 16 times for a total of 102 bytes.</span><br /><br /><div style="text-align: center;font-family:arial;"><span style="font-weight: bold;">MAC Address</span><br /><div style="text-align: left;">A MAC address (Media Access Control address) is a special and mostly unique identifier for NIC Cards. Typically it is 6 Bytes long with the first 3 bytes being used to identify the make of the NIC Card and the last 3 bytes being used to identify your specific card. It's important to note that these MAC addresses or Physical addresses are not guaranteed to be unique, or in other words they can be reused.<br /></div></div><br /><div style="text-align: center;font-family:arial;"><span style="font-weight: bold;">Finding your MAC Address and Subnet Mask</span><br /></div><span style="font-family:arial;">The first thing you want to do if you're interested in WOL (Wake On LAN) is get some information about your computer. You can do this a couple of ways, through a command prompt, or through Windows Network Connections, and you may need help from another computer on the internet for your external IP address.</span><br /><br /><span style="font-family:arial;">First go to Start>Control Panel>Network Connections. There should be a default one named Local Area Connection. Right-click this icon and choose Status. The choose the Support tab. Then click the Details button. Write down your Physical Address (This is your MAC Address) and Subnet Mask.</span><br /><br /><span style="font-family:arial;">If you're doing it from a command prompt I'm going to assume you know what one is and how to launch it etc etc. The command you want to type in is </span><span style="font-weight: bold;font-family:arial;" >ipconfig /all</span><span style="font-family:arial;"> and you will see information about the various NICs installed in your computer. Look for </span><span style="font-weight: bold;font-family:arial;" >Ethernet adapter Local Area Connection:</span><span style="font-family:arial;"> as this is the default for a windows internet connection and find the Physical Address (something like 00-00-00-00-00-00), and the Subnet Mask (something like 255.255.255.0).<br /></span><br /><div style="text-align: center;font-family:arial;"><span style="font-weight: bold;">Finding your Internet-Exposed IP Address</span><br /></div><span style="font-family:arial;">The easiest way to do this is to go to </span><a style="font-family: arial;" href="http://www.benfinnigan.com/WOL/whatismyip.asp" target="_blank">http://www.benfinnigan.com/WOL/whatismyip.asp</a><span style="font-family:arial;"> and write down the IP address it returns. There shouldn't be anything else on the page.</span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5928493032637649119.post-68319427924853020252008-11-10T08:10:00.006-05:002010-05-27T11:31:45.340-04:00WOL - Wake On LAN through Linksys router<a href="http://blog.benfinnigan.com/2008/11/wol-wake-on-lan.html">Want to learn more about WOL before starting?</a><br /><br /><div style="text-align: center;font-family:arial;"><span style="font-weight: bold;">How I got my Linksys WRT54G to Broadcast WOL Packets to my LAN</span><br /></div><span style="font-family:arial;">In my particular set up I have a cable modem, piping internet to a VOIP router piping internet to a wireless Linksys WRT54G router piping internet to my machine.</span><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJwQzyZbCztH4Rr_dC-p8E608-5aVjC9WFERVhKadwdbXoRDYH46YeMdrrzdFYYTKukG2L93I0Ob_K5xA94mI3kcAx_j8xhEh38Bk_wCYczfpHrWE1mqt-MgJpvSwLioyMaLL21Zaxymo/s1600-h/NetworkDiagram.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 241px; height: 400px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJwQzyZbCztH4Rr_dC-p8E608-5aVjC9WFERVhKadwdbXoRDYH46YeMdrrzdFYYTKukG2L93I0Ob_K5xA94mI3kcAx_j8xhEh38Bk_wCYczfpHrWE1mqt-MgJpvSwLioyMaLL21Zaxymo/s400/NetworkDiagram.jpg" alt="" id="BLOGGER_PHOTO_ID_5268163902622027730" border="0" /></a><br /><br /><span style="font-family:arial;">I wanted to be able to turn on my computer at home without having to call my dear wife and ask her to march downstairs and fire it up.</span><span style="font-family:arial;"> Here are the steps that I performed to make it work:</span> <ol style="font-family:arial;"><li><span style="font-weight: bold;">Prep the NIC Card:</span> Start>Control Panel>Network Connections>Local Area Connection>Properties>Configure> Then looked around for Wake Up, Wake On LAN, settings under the advanced tab and made sure that everything was enabled for magic packets.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzknwtIbkfMLRTBh4Mn7D3LJvKf-LFq_S4YGAzwvnwMm6THqe7OILE9AsxPczOCcLQWMng5mPh-vRLtOJmdXeJ095t0hy_Mxkefj-ruGRbwN7LbM9SKGI7bvuO4IVeW-204q46zHaTy8Q/s1600-h/NIC.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 361px; height: 400px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzknwtIbkfMLRTBh4Mn7D3LJvKf-LFq_S4YGAzwvnwMm6THqe7OILE9AsxPczOCcLQWMng5mPh-vRLtOJmdXeJ095t0hy_Mxkefj-ruGRbwN7LbM9SKGI7bvuO4IVeW-204q46zHaTy8Q/s400/NIC.JPG" alt="" id="BLOGGER_PHOTO_ID_5268164436038756402" border="0" /></a><br /><span>Then I went into the power management tab and unchecked the "Allow the computer to turn off this device to save power" checkbox.</span><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYuefwS44_HFZf4v9j73PKzLLwOEJ_cdxDxAx9morWuwBiUkYQ4_u-1s5pEQrKJxwlUjKTVJmEDCtarB_PcAEGpH2C_G28bTWqiAkiv0HZ_QJitV269WdmnWftDmc3o38guKAnG35o3iA/s1600-h/NIC2.JPG"><br /><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 361px; height: 400px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYuefwS44_HFZf4v9j73PKzLLwOEJ_cdxDxAx9morWuwBiUkYQ4_u-1s5pEQrKJxwlUjKTVJmEDCtarB_PcAEGpH2C_G28bTWqiAkiv0HZ_QJitV269WdmnWftDmc3o38guKAnG35o3iA/s400/NIC2.JPG" alt="" id="BLOGGER_PHOTO_ID_5268164866347991362" border="0" /></a><br /></li><li><span style="font-weight: bold;">Prep the Motherboard:</span> While my computer is booting I see the Dell logo and some text about how to get into settings or BIOS (typically F2 or F10 or F something). Once I was inside the BIOS I looked around for settings in regard to Wake on LAN sometimes abbreviated WOL. I made sure that WOL was enabled.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1gfZIafyKr9xfWmqEi0FMCCfZo2WrH0-iRLzaoLQGrXO5p68bOqfWJaaMp4x3_b_hmKMXQSkH7GOFm9pekNDGDVsT1GdyeJ7Y7uWvjJk9IP93_eb6eYL1v-5xE01MQa6K1wR6lXtpJAg/s1600-h/bios-wake-on-lan-2.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 369px; height: 304px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1gfZIafyKr9xfWmqEi0FMCCfZo2WrH0-iRLzaoLQGrXO5p68bOqfWJaaMp4x3_b_hmKMXQSkH7GOFm9pekNDGDVsT1GdyeJ7Y7uWvjJk9IP93_eb6eYL1v-5xE01MQa6K1wR6lXtpJAg/s400/bios-wake-on-lan-2.jpg" alt="" id="BLOGGER_PHOTO_ID_5268165466847055058" border="0" /></a></li><li><span style="font-weight: bold;">Prep the Routers:</span> This is where it gets interesting. Linksys doesn't natively support forwarding ports to the broadcast IP of 255 (you get some JavaScript error "IP value is out of range [0 - 254]"), so to get around it you can try one of two methods (they both worked for me):<br />1) I used firefox and DOM Inspector to change the value of the IP for port forwarding thereby circumventing the Javasacript validation. You have to have <a href="http://blog.benfinnigan.com/2008/06/firefox-30-domi-dom-inspector-is.html">DOMI installed</a> in Firefox, then inspect the page with the port forwarding for applications and gaming, then right-click the value in DOMI, choose edit, and set it to 255. After that is complete just save the settings.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjynb4suq1sRuhFRUuIwK4f_Uoib_VMxdgNaTNw8VksflycVFkFFLwv0wAxtFd5NGG2-GzSip30oZx4-usbC9Wm7qlaY08Cf3XHfHXRNSDwe0tZPZ1sx4AJTj_rKyylI9zr8613WuH8fkE/s1600-h/DOMI.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 152px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjynb4suq1sRuhFRUuIwK4f_Uoib_VMxdgNaTNw8VksflycVFkFFLwv0wAxtFd5NGG2-GzSip30oZx4-usbC9Wm7qlaY08Cf3XHfHXRNSDwe0tZPZ1sx4AJTj_rKyylI9zr8613WuH8fkE/s400/DOMI.JPG" alt="" id="BLOGGER_PHOTO_ID_5268371801523572034" border="0" /></a><br /><br />2) I also tried saving the html page and modifying the form manually. This also worked like a charm. You need to remember to change the action property of the form to prepend the url of the router. If your router was 192.168.1.1 then your form tag might be <span style="font-weight: bold;"><form name="portRange" action="http://192.168.1.1/PortRange.tri" method="post"></span> assuming PortRange.tri was what you orginally found in the form. You also need to change the value of the IP you're forwarding to be 255. This is what my HTML looked like when I was done:<br /><span style="font-weight: bold;"><input class="num" onblur="check_valid_value(this,0,254,errmsg.err34,this.defaultValue,lanip,networkip,broadcastip)" maxlength="3" size="3" value="255" name="ip1"></span><br /><br />On the VOIP router I just forwarded the port I decided to use as the Linksys WRT54G which forwards to the broadcast on my LAN.<br /><br />Wait, what UDP port am I forwarding you ask? It doesn't really matter. Typically WOL is on 7 or 9 but as long as you pick a port that isn't being used by another application (in other words pick something really high) then you're probably just fine.</li><li><span style="font-weight: bold;">Test the setup:</span> So, to test the Wake on LAN settings I used this <a href="http://www.depicus.com/wake-on-lan/wake-on-lan-monitor.aspx">WOL monitor</a> and <a href="http://www.benfinnigan.com/WOL/">wrote my own application</a> for sending packets. Why would I write my own packet sender? Because I couldn't find one out there that didn't apply the subnet mask to the IP and broadcast the message. With my setup I wanted the packet to go directly to my VOIP router, so I built my own WOL application. It's pretty simple:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvMoMBfO2kBh2B5gk4PLlSIbO1CxunefaIW5qUpZrdjE-7Iqkpf2d_Pat1A19pQRsXBE4GJFe6KS1wvzrn7OwD8tAyKbDq9150FDCwerNIgu6LXvM83DmkMe5bBl9TmN91hrLE6vBBzf8/s1600-h/Screenshot.bmp"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 350px; height: 210px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvMoMBfO2kBh2B5gk4PLlSIbO1CxunefaIW5qUpZrdjE-7Iqkpf2d_Pat1A19pQRsXBE4GJFe6KS1wvzrn7OwD8tAyKbDq9150FDCwerNIgu6LXvM83DmkMe5bBl9TmN91hrLE6vBBzf8/s400/Screenshot.bmp" alt="" id="BLOGGER_PHOTO_ID_5267076259109040690" border="0" /></a></li></ol><span style="font-family:arial;">I also added functionality to send the packet every few seconds so that I could power down my machine while I had a remote machine sending packets to me every 60 seconds and see if my machine turned back on. If you don't want the click once installer you can download it from </span><a style="font-family: arial;" href="http://www.benfinnigan.com/WOL/WOL.zip">http://www.benfinnigan.com/WOL/WOL.zip</a><span style="font-family:arial;"> Like usual, if you find the app useful, please drop me a line.<br /><br /></span><span style="font-family:arial;">If you're having a hard time getting WOL to work for you, then try </span><a style="font-family: arial;" href="http://www.annoyances.org/exec/show/article04-101">this forum</a><span style="font-family:arial;"> to get your particular issue sorted out.</span><div><span style="font-family:arial;"><br /></span></div><div><span style="font-family:arial;">Update:05/27/2010</span></div><div><span style="font-family:arial;">New! I have an Android App available for WoL and WoW. It's called WoL Wake on Lan Wan. Check it out here: <a href="http://blog.benfinnigan.com/2010/05/android-market-update-wol-wake-on-lan.html">http://blog.benfinnigan.com/2010/05/android-market-update-wol-wake-on-lan.html</a></span></div><div><span style="font-family:arial;"><a href="http://blog.benfinnigan.com/2010/05/android-market-update-wol-wake-on-lan.html"></a>Download it:</span></div><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="market://details/?id=com.benfinnigan.wol"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 280px; height: 280px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiL9aupyhczeC5SRIDMFW6NknVqXK33OphRYKuUeAroU9pVeFiQrkepugCNrH946q3xI50sF7uUKL470t0dWlkFsu7hlQ2F5BSsBBsFk-hqdDN5Vfbs_v2fK6KIlWd8U8D7nMRdr2AGDpQ/s400/WOLqrcode.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5475361114567319746" /></a><br /><br /><div><span style="font-family:arial;"><br /><br /><span style="font-weight: bold;">Disclaimer: The views expressed in this blog entry are provided "as-is" with no guarantee expressed or implied. If tweaking this stuff bricks your box or your router I'm not responsible. Any sites I've linked to are not to be construed as an endorsement and I cannot be held responsible for anything that goes on within other internet sites and their products or forums.</span><br /></span></div>Unknownnoreply@blogger.com39tag:blogger.com,1999:blog-5928493032637649119.post-19673730539633758132008-11-04T15:21:00.004-05:002008-11-04T15:24:41.055-05:00Where is settings.settings user.config?Looking for the user.config file used to hold your user-scoped settings.settings? Try looking in %USERPROFILE%\Local Settings\Application Data\(AssemblyCompany from AssemblyInfo.cs if exists)\(exe name_Evidence Type_Evidence Hash)\(AssemblyVersion from AssemblyInfo.cs)\user.configUnknownnoreply@blogger.com1tag:blogger.com,1999:blog-5928493032637649119.post-92165250361542520052008-10-02T10:29:00.007-04:002008-11-04T10:38:24.627-05:00VBScript Adding Large Hex StringsThis function is an example of how to add two large hex strings together keeping them as string values:<br /><!-- code formatted by http://manoli.net/csharpformat/ --><pre class="csharpcode"><span class="kwrd">Function</span> HexAdd(<span class="kwrd">ByVal</span> strNum1, <span class="kwrd">ByVal</span> strNum2)<br /> size1 = Len(strNum1)<br /> size2 = Len(strNum2)<br /> <span class="kwrd">If</span> (size1 <> size2) <span class="kwrd">Then</span><br /> <span class="kwrd">If</span> (size1 > size2) <span class="kwrd">Then</span><br /> strNum2 = <span class="kwrd">String</span>(size1 - size2, <span class="str">"0"</span>) + strNum2<br /> size2 = size1<br /> <span class="kwrd">Else</span><br /> strNum1 = <span class="kwrd">String</span>(size2 - size1, <span class="str">"0"</span>) + strNum1<br /> size1 = size2<br /> <span class="kwrd">End</span> <span class="kwrd">If</span><br /> <span class="kwrd">End</span> <span class="kwrd">If</span><br /> <span class="rem">' Begin adding</span><br /> <span class="kwrd">Dim</span> i<br /> <span class="kwrd">Dim</span> ret<br /> <span class="kwrd">Dim</span> carry<br /> <span class="kwrd">Dim</span> sum<br /> ret = <span class="str">""</span><br /> i = <span class="kwrd">CDbl</span>(0)<br /> carry = 0<br /> <span class="kwrd">For</span> i = 1 <span class="kwrd">To</span> size1 <span class="rem">'199999999999999999999998</span><br /> a = <span class="str">"&H"</span> & <span class="kwrd">CStr</span>(Mid(strNum1, size1 - i + 1, 1))<br /> b = <span class="str">"&H"</span> & <span class="kwrd">CStr</span>(Mid(strNum2, size1 - i + 1, 1))<br /> sum = <span class="kwrd">CInt</span>(a) + <span class="kwrd">CInt</span>(b) + carry<br /> ret = Hex(<span class="kwrd">CStr</span>(sum <span class="kwrd">Mod</span> 16)) & ret<br /> carry = Fix(sum / 16)<br /> <span class="kwrd">Next</span><br /> <span class="kwrd">If</span> (carry > 0) <span class="kwrd">Then</span><br /> ret = <span class="kwrd">CStr</span>(Hex(carry)) & ret<br /> <span class="kwrd">End</span> <span class="kwrd">If</span><br /> HexAdd = ret<br /><span class="kwrd">End Function</span></pre><br />Call it like this:<br /><br />ret = HexAdd("FFFFF", "123456789ABCDEF")Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5928493032637649119.post-78737082914066562772008-10-01T11:50:00.009-04:002008-11-04T10:40:40.952-05:00Handling Large Hex in VBScriptVBScript doesn't inherently support hex constants over 8 bits in length so I made a little function that attempts to handle large Hex strings and convert them to Decimals. It should be noted that Doubles lose precision in the E15 range of magnitude so beware using anything too large:<br /><!-- code formatted by http://manoli.net/csharpformat/ --><pre class="csharpcode"><span class="kwrd">Function</span> HexToDec(strHex)<br /> <span class="kwrd">Dim</span> i<br /> <span class="kwrd">Dim</span> size<br /> <span class="kwrd">Dim</span> ret<br /> size = Len(strHex) - 1<br /> ret = <span class="kwrd">CDbl</span>(0)<br /> <span class="kwrd">For</span> i = 0 <span class="kwrd">To</span> size<br /> ret = ret + <span class="kwrd">CDbl</span>(<span class="str">"&H"</span> & Mid(strHex, size - i + 1, 1)) * (<span class="kwrd">CDbl</span>(16) ^ <span class="kwrd">CDbl</span>(i))<br /> <span class="kwrd">Next</span><br /> HexToDec = ret<br /><span class="kwrd">End</span> <span class="kwrd">Function</span><br /><span class="kwrd">Function</span> DecToHex(dblNumber)<br /> <span class="kwrd">Dim</span> Q<br /> <span class="kwrd">Dim</span> ret<br /><br /> ret = <span class="str">""</span><br /> Q = <span class="kwrd">CDbl</span>(Fix(dblNumber))<br /> <span class="kwrd">While</span> Q > 0<br /> ret = Hex(Q - Fix(Q / 16) * 16) & ret<br /> Q = Fix(Q / <span class="kwrd">CDbl</span>(16))<br /> <span class="kwrd">Wend</span><br /> DecToHex = ret<br /><span class="kwrd">End Function</span></pre><br />Called like this:<br /><br />ret = HexToDec("0C0BA715B2223D47A8CAC87BE5D9679")<br />ret = DecToHex(CDBL(16843216856846468461654862))Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-5928493032637649119.post-62888578296719865802008-10-01T09:08:00.003-04:002008-10-01T09:57:41.554-04:00Big Progressive is WatchingI’ve thought about <a href="http://progressive.com/myrate/">this kind of device</a> on more than one occasion, but it seems like it would raise privacy concerns. The device hooks into your OBD2 and transmits data to Progressive about how much you drive, how fast you turn, start, or stop, and what time of day you are driving.<p></p><p>They assure the consumer that unless legally obligated they will keep the information about your driving style to themselves, but I'm guessing it won't be long before the culpable driver in accidents will be determined with a device such as these. Beware consumer - Big Progressive is watching!</p><br />http://progressive.com/myrate/Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-5928493032637649119.post-5729463421834327912008-09-24T15:16:00.003-04:002008-09-24T15:23:03.726-04:00Male Chauvinist Pigs Make More Money?That's what this article says on the livescience website:<br /><br /><a href="http://www.livescience.com/culture/080922-traditional-men.html">Men With Traditional Views on Sex Roles Earn More Money</a><br /><br />Isn't that interesting? The comments at the bottom gave some interesting ideas as to why there may be a correlation.<br /><br />I would question whether it's just a simple issue of age of theology, because older individuals tend to have more traditional beliefs and they tend to be further along in their career hence making more money. I wonder what the trend will look like in about 50-60 years.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5928493032637649119.post-54686280028815833102008-09-24T08:01:00.004-04:002008-09-27T10:54:45.977-04:00Star Wars: The Force Unleashed - Manual poorly printed for Wii<span style="font-size:180%;">For those of you reading this post in the hopes of finding <a href="http://www.google.com/search?q=define%3Awalkthrough">a walkthrough</a> please check this one out (starts on page 4):</span><br /><br /><span style="font-size:180%;"><a href="http://guides.ign.com/guides/823667/index.html">IGN Guide</a></span><br /><br />First let me say, I like to play Force Unleashed on the Wii. I think that despite it's shortcomings as a game the story is entertaining and I like the force powers enough to enjoy it and recommend it.<br /><br />One thing that is driving me absolutely crazy is the lousy printing job done on the manual. I'll scan some pages in and add them to this post later.<br /><br /><span style="font-weight: bold;">UPDATE</span>: Here they are:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTDRLKuobrGa26HNGImfEDizI6XrUZaLFQFDSwUHRIHPp-mON1LQRAIu1ETwIqbIilSOx8iP9Rkoe2XW6MCLGdSRLvbys80IPBZHTtLpsy2t3qDGjPkEvV20-w-bTlM6hFoD416bIiPL4/s1600-h/Wii_Manual.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTDRLKuobrGa26HNGImfEDizI6XrUZaLFQFDSwUHRIHPp-mON1LQRAIu1ETwIqbIilSOx8iP9Rkoe2XW6MCLGdSRLvbys80IPBZHTtLpsy2t3qDGjPkEvV20-w-bTlM6hFoD416bIiPL4/s400/Wii_Manual.JPG" alt="" id="BLOGGER_PHOTO_ID_5250714246364584802" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP_uUA8qjY3EXtvyEYsCJtHbEFXqqdSBYQDDrgf46-5DKqferTmiuviEhhv103MbTZ0gqdtyGUPkdOtBAqPp0f6QMfGo6Uw0Gkhn2cKI6cjjQxv22mZZ-07yWpQyske92eZViNmBtQsQU/s1600-h/Wii_Manual0001.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP_uUA8qjY3EXtvyEYsCJtHbEFXqqdSBYQDDrgf46-5DKqferTmiuviEhhv103MbTZ0gqdtyGUPkdOtBAqPp0f6QMfGo6Uw0Gkhn2cKI6cjjQxv22mZZ-07yWpQyske92eZViNmBtQsQU/s400/Wii_Manual0001.JPG" alt="" id="BLOGGER_PHOTO_ID_5250714246259613746" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_y4VG8zguoD8BL-ExVmkHwsl4oKdKa9WYaOB0qjan30i04BL6wk_JRGIdtKcZOjgYGKOGyGgv49TNL6tbbB-tP0hbkK54be61K9YeWl6dBZS2grbRipYddnmOBa8nBAmCQpUqCUdXMWE/s1600-h/Wii_Manual0002.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_y4VG8zguoD8BL-ExVmkHwsl4oKdKa9WYaOB0qjan30i04BL6wk_JRGIdtKcZOjgYGKOGyGgv49TNL6tbbB-tP0hbkK54be61K9YeWl6dBZS2grbRipYddnmOBa8nBAmCQpUqCUdXMWE/s400/Wii_Manual0002.JPG" alt="" id="BLOGGER_PHOTO_ID_5250714245562301218" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAKOdWoanJWneN1Gq87qVg5rBPZ6q4_Tb4JrWarlds08QtswRgimY1TYSB5LV0ZMM4Zn8UYAbd72b-dwDPWz22wM3PMrJqA9srEkbMTkPmLNse0M75_8AXG-jf1i6fzUuGkSi9AEKdc6U/s1600-h/Wii_Manual0003.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAKOdWoanJWneN1Gq87qVg5rBPZ6q4_Tb4JrWarlds08QtswRgimY1TYSB5LV0ZMM4Zn8UYAbd72b-dwDPWz22wM3PMrJqA9srEkbMTkPmLNse0M75_8AXG-jf1i6fzUuGkSi9AEKdc6U/s400/Wii_Manual0003.JPG" alt="" id="BLOGGER_PHOTO_ID_5250714252154341474" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRxuNFZkmthz6nMiFdHs5U-pP8wB9JlCmTQDVCH1-CSHd-irD_tSo9DEQVUMDFCNBLpxDcOPE5Rw22GH142Ul9qaoTIE7EinFrZFT8PRa5dnCsL2zthw7kifxtkMyC81Z_IUhyphenhyphenUkR-zKE/s1600-h/Wii_Manual0004.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRxuNFZkmthz6nMiFdHs5U-pP8wB9JlCmTQDVCH1-CSHd-irD_tSo9DEQVUMDFCNBLpxDcOPE5Rw22GH142Ul9qaoTIE7EinFrZFT8PRa5dnCsL2zthw7kifxtkMyC81Z_IUhyphenhyphenUkR-zKE/s400/Wii_Manual0004.JPG" alt="" id="BLOGGER_PHOTO_ID_5250714250291073874" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4lE1TeP_qs7P75ZcY2l6EGBAduVcGYc3PKA-9kij7wokLslZ9Gp7Ja-_q_NFczcNTi0YC8OE6tT93lhxmMkPw0RiVqZO3ERmlTXQXjBJ94AAxdd45tK98d5gzHRMQFBlLNrRHezyAmJ4/s1600-h/Wii_Manual0005.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4lE1TeP_qs7P75ZcY2l6EGBAduVcGYc3PKA-9kij7wokLslZ9Gp7Ja-_q_NFczcNTi0YC8OE6tT93lhxmMkPw0RiVqZO3ERmlTXQXjBJ94AAxdd45tK98d5gzHRMQFBlLNrRHezyAmJ4/s400/Wii_Manual0005.JPG" alt="" id="BLOGGER_PHOTO_ID_5250714398452885282" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-VTUsV1EBKIU4YZFTeakIwNjjNnXeEjP1f2OO_-g-PM6rHjIP8iLZeACPBoyxnmBVyNJCzFX3BpLZrDEAC_YeobtkyVkvJpfE1yk5m-bh4wH3LUFKwls6Me9l3hPmMkPiFFQJ6vM-LQg/s1600-h/Wii_Manual0006.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-VTUsV1EBKIU4YZFTeakIwNjjNnXeEjP1f2OO_-g-PM6rHjIP8iLZeACPBoyxnmBVyNJCzFX3BpLZrDEAC_YeobtkyVkvJpfE1yk5m-bh4wH3LUFKwls6Me9l3hPmMkPiFFQJ6vM-LQg/s400/Wii_Manual0006.JPG" alt="" id="BLOGGER_PHOTO_ID_5250714406354547218" border="0" /></a><br /><br />Honestly though, it's all black and white. I can't see half the pictures as anything besides black squares and the descriptions on how to work things is so limited it's a real let down. I guess all the time they should have been pouring into the manual ended up as the tutorial section of the game and all the helpful tips.<br /><br />Please next time let's use the color printer - Lucas Arts are you listening?Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-5928493032637649119.post-13750510882497138162008-08-24T13:54:00.010-04:002008-09-02T09:11:31.059-04:00Gosette.com selling minimonkey, silly billyz, B, slurp and burp<iframe style="width: 1px; height: 1px; overflow: hidden; border-width: 0px;" src="http://picasaweb.google.com/noellesolange/JAimeMonMinimonkey"></iframe><br /><br />Well, my sister has found a product that both her and her baby enjoy called a mini monkey that she now imports and makes available at<span style="text-decoration: underline;"> </span><a href="http://www.gosette.com/EN/home.html">www.gosette.com</a>. Anyway, I thought I would put up some pictures with a link to pictures from her <a href="http://picasaweb.google.com/noellesolange/JAimeMonMinimonkey">album of minimonkey travels</a>.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh6.ggpht.com/noellesolange/SK8mkKiOkdI/AAAAAAAAARY/6Ned3a8B8vk/s144/premierjour_minimonkey.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 109px;" src="http://lh6.ggpht.com/noellesolange/SK8mkKiOkdI/AAAAAAAAARY/6Ned3a8B8vk/s144/premierjour_minimonkey.jpg" border="0" alt="" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh6.ggpht.com/noellesolange/SK8mkXrF1zI/AAAAAAAAARg/HrMTMl_0uzA/s144/haarlem.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 109px;" src="http://lh6.ggpht.com/noellesolange/SK8mkXrF1zI/AAAAAAAAARg/HrMTMl_0uzA/s144/haarlem.jpg" border="0" alt="" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh6.ggpht.com/noellesolange/SK8mkukos6I/AAAAAAAAARw/pgZ3yi7xpMU/s144/donkeys.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 144px;" src="http://lh6.ggpht.com/noellesolange/SK8mkukos6I/AAAAAAAAARw/pgZ3yi7xpMU/s144/donkeys.jpg" border="0" alt="" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh3.ggpht.com/noellesolange/SK8mkl8hdpI/AAAAAAAAARo/9Wd9l2JEQLo/s144/glaces.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 144px;" src="http://lh3.ggpht.com/noellesolange/SK8mkl8hdpI/AAAAAAAAARo/9Wd9l2JEQLo/s144/glaces.jpg" border="0" alt="" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh3.ggpht.com/noellesolange/SK8mkm5JFlI/AAAAAAAAAR4/jBAPnK1p-ZQ/s144/cereals.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 144px;" src="http://lh3.ggpht.com/noellesolange/SK8mkm5JFlI/AAAAAAAAAR4/jBAPnK1p-ZQ/s144/cereals.jpg" border="0" alt="" /></a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5928493032637649119.post-30684258076623761322008-07-17T16:54:00.002-04:002008-07-17T17:03:56.560-04:00Copy Generated Source Bookmarklet or FaveletI wanted something simple to allow me to copy the generated source:<br /><br />javascript:(function(){ var y = document.createElement('TEXTAREA');y.value = '<pre><html>\n' + document.documentElement.innerHTML + '\n</html>';y.createTextRange().execCommand("Copy");})();<br /><br />Works in IE only.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5928493032637649119.post-58346392814351950752008-07-14T21:32:00.003-04:002008-07-14T21:42:09.245-04:00Livecycle ES - ALC-DSC-110-000: com.adobe.idp.dsc.registry.endpoint.EndpointStoreException: endpoint registry failure.Well, this error was the bane of my existence this evening. Anyway, when you get this error you'll find that workbench will not allow you to delete or remove the endpoints or category associated with the processes you were trying to remove. To clean out the rest of the data, you have to turn to the database and write some custom SQL to get the orphaned records out of tb_sc_endpoint where the name is the one you're trying to get rid of manually and tb_sc_service where id is the name of the one you're trying to delete.<br /><br />To recap, if you get the ALC-DSC-110-000 error when trying to remove a process / orchestration and need to manually remove the remaining records delete from the tb_sc_endpoint and tb_sc_service tables where name or id is the process you were trying to delete when you got the error.<br /><br />I hope that makes sense, feel free to post any questions you may have as comments.Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-5928493032637649119.post-27459191237901328292008-07-05T10:02:00.004-04:002008-07-05T11:22:29.002-04:00VW 1-liter Car - It's Coming by 2010!The 1-liter car from VW is so named because it takes a mere .99 liters to propel the vehicle 100 km. That translates to about 235 MPG! Hypermilers move over, hybrids and fuel cells hide in shame, this car was originally prototyped in 2002! Now the car will be produced in small quantities by 2010, I've not found anything that says if it will be sold in the US, but if it is I'm getting one!<br /><br />Back in 2002 I emailed Volkswagen and offered to drive a slightly-modified version coast to coast in the United States on a single tank of gas. It would only need 12 gallons of gas to get from New York City to Los Angeles! If I could get my hands on one I'd drive it with one of those mini-laptops and a pcmcia card for broadband access and set up a digital camera on the dash so that the world could see the entire drive from coast to coast (accellerated of course). I'd have to make sure that the camera also showed the fuel gauge and the odometer. I'd blog about the trip and post the videos. Long story short, they wrote me back and told me that they appreciated my interest in the car.<br /><br />Now, the big news is the car is greenlit for production at the automaker's prototype shop, which can only produce 1,000 cars per year max. They're aiming for pricing 20,000 and 30,000 Euro ($41,200 to $61,800). They've made a few changes from the prototype; however, the stunning mileage numbers are not expected to change hugely.<br /><br />Well if anyone from Volkswagen is reading this post, the offer still stands. Let me show that car off from New York City to Los Angeles!<br /><br /><div style="text-align: center"><embed type="application/x-shockwave-flash" src="http://picasaweb.google.com/s/c/bin/slideshow.swf" width="600" height="400" flashvars="host=picasaweb.google.com&RGB=0x000000&feed=http%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2FBenFinnigan%2Falbumid%2F5219541367583129585%3Fkind%3Dphoto%26alt%3Drss" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></div><br /><br />If you're as passionate about the 1-liter car as I am you may want to check out:<br /><a href="http://vw.tekgroup.com/article_display.cfm?article_id=9009">The Original 1-liter Press Release</a><br /><a href="http://en.wikipedia.org/wiki/Ferdinand_Pi%C3%ABch">Ferdinand Piëch - The car exec that made it all possible</a><br /><a href="http://media.vw.com/article_print.cfm?article_id=10121">Ferdinand Piëch - 70th Birthday Press Release</a><br /><a href="http://blog.wired.com/cars/2008/07/laugh-at-high-g.html">The Wired Article About the Re-release</a><br /><a href="http://www.myfoxdfw.com/myfox/pages/News/Detail?contentId=6914899&version=5&locale=EN-US&layoutCode=TSTY&pageId=3.3.1">The Dallas Fox Article About the Re-release</a><br /><a href="http://www.carcentral.com.au/200807041894/concept-cars/volkswagen-reportedly-sending-1-litre-concept-to-production.html">The CarCentral Article About the Re-release</a><br /><a href="http://www.autoblog.com/2008/07/01/vw-1-liter-eco-friendly-car-set-to-make-a-return/">The Autoblog Post About the Re-release</a><br /><a href="http://www.vw.co.za/about/conceptcars/onelitre/">A VW page about the 1-liter car</a>Unknownnoreply@blogger.com1