I Think, Therefore I Code...
Adsense
Wednesday, August 10, 2016
Windows 10 Anniversary Edition Bash - Unsupported console settings. Error
I followed the steps on getting it setup posted on howtogeek. Unfortunately, when I clicked on bash, the console would just come up and disappear in a flash. Too fast for me to read the error. Super frustrating.
By spamming bash.exe I was able to make out the following error:
Unsupported console settings. In order to use this feature the legacy console must be disabled.
Now I had something to work with! A bit of looking around and I found the solution.
Open a CMD prompt and click the icon in the upper left corner. Choose properties. Uncheck Use legacy console. Try to open bash again.
After that, I was able to continue.
Hope this helps someone. Good luck and happy coding!
Thursday, April 30, 2015
Music Streaming Service GrooveShark Shuts Down For Good!
“This is an important victory for artists and the entire music industry,” the Recording Industry Association of America (RIAA) said in a statement. “For too long, Grooveshark built its business without properly compensating the artists, songwriters and everyone else who makes great music possible. This settlement ends a major source of infringing activity.”
I started using GrooveShark over 6 years ago and remember wondering how GrooveShark ever stayed in business. As a user, I remember feeling like they didn't have to follow the same rules as other music streaming services like Pandora and Spotify. I remember many discussions with friends and co-workers about how they could legally be offering the service that we enjoyed. No ads and commercials, playing full albums, not limited to random stations, etc...
ExtremeTech posted an article explaining events leading up to them shutting down. With possible fines in excess of $700 million, it makes sense why they would be shutting the service down.
In hind sight, it totally makes sense now. They were bending or breaking the rules to provide such a great experience to their users at the expense of music creators. GrooveShark was totally ahead of its time 10 years ago and continued to provide a compelling service. It's really unfortunate that they are gone for good!
With the sudden nature of the Shut Down, I'm sure most GrooveShark users are in the same boat as myself. I had collected and Favorited thousands of songs and had many finely tuned playlists that are all gone and inaccessible at this point. I wish I had an opportunity to at least export a list of my collection and favorites so that I could attempt to recreate them with another legit service.
Here are a couple of the features that I will miss the most and haven't been able to find with other services. Can anyone suggest a good replacement streaming service that comes close to GrooveShark?
Music Discovery!
I was able to perform a search on the site for not only Artist and Songs, but I could also peruse the playlists of other users. By searching for Workout and looking at other people's playlists, I could find all kind of appropriate songs.
User Broadcasts
After finding GrooveShark's broadcasts, I rarely spent my online listening time doing anythign else. Emmagician's broadcast called EDM Dance Time was one of my favorites. I hope she finds somewhere else to broadcast and that she didn't lose her playlists and data completely.
You will be missed GrooveShark, but let this be a lesson to all of us that bending and breaking the rules is rarely a sustainable business model for anybody!
Tuesday, April 09, 2013
SalesForce.com Custom Object Permissions
I started work on my first custom Sales Force app today and ran into a problem. The problem occurs when you create a new Custom Object in Sale Force and try to let another user create an instance of that object via a Javascript button leveraging the Sales Force API. When the user clicks your JavaScript button, they get the following error when the API call fails.
Sample Button JavaScript
{!REQUIRESCRIPT("/soap/ajax/13.0/connection.js")}
var obj= new sforce.SObject("YourCustomObject__c");
var result = sforce.connection.create([obj]); // Fails Here
”A problem with the OnClick JavaScript for this button or link was encountered:” With a fault code of INVALID_TYPE. The error mentions that you might have provided the wrong object name, which might be a problem, but I know that the button works for me. Just not the other user.
The solution is actually pretty simple. You have to give the user’s profile CRUD permission to your new custom object. You can do this from the settings screen for their profile. Setup->Manage Users->Profiles->Edit and look under the Custom Object Permission section. Give the profile Read and Create permission and the button should now work.
Wednesday, August 29, 2012
PowerShell script to Delete Temporary Internet Files
Friday, August 10, 2012
Why My Netflix Password is My Weakest Password!
I just spent the last hour and a half updating all of my passwords. Not a favorite task of mine, but something that definitely needs to be done occasionally. The task was pretty uneventful but something really annoyed, so I thought I would share. While updating my Netflix password, I got the following error.
“Your password must contain between 4 and 10 characters” |
I definitely understand setting a minimum password length to force a standard for password strength, but why would you ever impose a maximum length on users? Rather than being able to enter my strong password of 14 character, I have to shave off the last 4 just to conform to Netflix’s password rules. My password is now weaker and I’m much more likely to forget it because I was forced to make it different from all my others. *sigh*
And that, is why my Netflix password is my weakest password.
Wednesday, August 08, 2012
Microsoft Outlook Web App’s Annoying Quirks
I was initially impressed with the latest Outlook Web App. It looks fairly nice and the Outlook UX isn’t horrible. I was surprised that it even worked really well on my iPad via the Chrome App. Well, at least until I tried to change my password.
Upon reaching the password reset page, I noticed that I could enter my old password, new password and new password confirmation, but there was no way to submit the form. Repeatedly spamming the iOS keyboard “GO” button did nothing and there was no visible link/button to click on the web form. How exactly should I change my password?
No worries, I’ll wait until I get home and change my password on my PC… Log in from my PC, change my password and I get the following confirmation screen and message “Your password has been changed. Click OK to sign in with your new password.” Hrm, I’d love to, but where can I find this mysterious “OK” button you speak of? Perhaps I’ll just have to refresh the page…
Definitely not huge, issues, but it really makes the entire Outlook Web App feel unpolished. Which is a shame since my initial impressions were good.
Friday, May 18, 2012
Subversion/SVN 1.7 upgrade causes CruiseControl.Net to checkout instead of update
I upgraded my Subversion to 1.7+ and ran the svn upgrade command to update my working copy to the new format. As a side effect, my CruiseControl.Net builds started to fail with the following error when it tried to update my repository from source control.
Source control operation failed: svn: E155000: ‘c:\myRepo\repoSubDirectory’ is already a working copy for a different URL
After banging my head on my keyboard for a while, I finally found out why. I found the following snippet about CCNet 1.2+ releases which shed some light on the problem.
SVN Checkout
As of the CCNet 1.2 release, the SVN provider now supports automatic checkout of source. If the working directory does not contain a .svn folder (or _svn folder), the SVN block will automatically perform a checkout instead of an update. The trunkUrl must be specified for checkout to function.
In Subversion 1.7+ there are no longer .svn files in sub folders of the working directory. Because of this, if you have a <workingDirectory> defined for a folder in your repository other than the root folder Cruise Control thinks it needs to do a checkout rather than an update. This will fail because the directory you’ve specified is already part of a working directory.
In my case, I was able to change the working directory to the root of my repository so that cruise control would correctly update instead of trying to checkout. Does anyone know of a way to get around this so you can continue to use a sub folder in your working directory instead of the root? Another option could be to remove the <trunkUrl> from your ccnet.config so that the checkout feature wont work, but I didn’t actually give this a try.
Hope this helps someone.
Tuesday, May 15, 2012
Diablo 3 Launch - Error 37 - AutoIt Login Script
Like millions of other Diablo 3 fans, I decided to try and get a bit of Diablo 3 in tonight before getting some sleep. Unfortunately, when users try to log into the game the majority of them are being greeted by the following error screen (Error 37) stating that “The servers are busy at this time. Please try again later.”
What’s even more unfortunate is that Blizzard is making us all log into Battle.Net before we can even play Diablo 3 single player. Out of pure boredom brought on by this situation, I put together the following AutoIt script to assist with my login efforts so that I can focus on more productive activities, like watching a show or reading a book. Fire the script in AutoIt, replace YourPasswordHere with your password, hit F5, bring up Diablo 3 and press “=” to start the script. Press “-“ at any time to end it…
I take no responsibility for what you use the script for. Just posting it for educational purposes. Enjoy.
Global $Paused
HotKeySet("-", "Stop") ;script can be stopped by pressing -
HotKeySet("=", "Try") ;script can be stopped by pressing -
$go = True
$try = False
$password = "YourPasswordHere"
$sleepDuration = 500
While $go
if($try) Then
Send ($password)
Sleep($sleepDuration)
Send ("{ENTER}")
Sleep($sleepDuration)
EndIf
WEnd
Func Stop() ;to allow the script to stop
Exit
EndFunc
Func Try()
$try = True
EndFunc
Saturday, January 21, 2012
FormsAuthentication.Encrypt returns null
I was refactoring some of our ASP.Net authentication code this weekend and ran into a problem when calling FormsAuthentication.Encrypt(ticket) after creating my FormsAuthenticationTicket. Calling the Encrypt method kept returning null instead of the encrypted ticket.
After a quick Google search, someone mentioned that they would also get null if their userData was null when creating their ticket. I double checked that my userData was valid and continued to scratch my head for a minute. Luckily, it was enough to set me on the right path.
It seems that FormsAuthentication. Encrypt will also return null if the name you pass into your ticket is null.
Essentially, the two items in red above cannot be null if you want FormsAuthentication.Encrypt to return the valid encrypted ticket. Hope this helps someone!FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, principal.Name,
DateTime.Now, DateTime.Now.AddMinutes(30), rememberMe, userData, FormsAuthentication.FormsCookiePath);
Saturday, October 15, 2011
Motorola S305 Bluetooth Stereo Headset Review
Where I got It: Amazon.com
I wasn’t exactly in the market for a new set of headphones, but after several of my co-workers purchased these over the span of a few weeks, I figured I had to take a closer look. I’ve always liked the idea of having a wireless headset but have always been afraid of performance and connectivity issues. After purchasing and using the Motorola S305 Bluetooth Stereos Headset for about a month now, I couldn’t be happier with them.
I bought this headset to replace my wired ear buds that I wear each and every day at work. My ear buds sounded great, but being tethered to a laptop all day made it really easy to snag the wire on something ripping out your ear buds in the process. With a wireless headset you don’t have to worry about that pesky wire and can bring your tunes with you on your many trips to the local whiteboard, office water cooler or printer throughout the day (I can make it about 40-50 feet through the office for a caffeine refill without losing connection.)
The Motorola S305’s are very light weight which makes them pleasant to wear all day long. They are comfortable and plenty loud. More importantly, I have had no issues with connectivity or performance with these so far. Even with several other pairs of these headphones and many other Bluetooth/Wifi devices attached to my laptop and elsewhere in the office, I’ve had no issues.
Another great use of this headset has been to replace my iPod Nano/armband combo that I have been using for working out for the past few years. I purchased an iPhone about a year ago and have never use it for working out for fear damaging it. Now I can keep my iPhone in a safe place while working without wires or armbands getting in the way or restricting my range of motion. It’s also a great way to stream slacker or Pandora from my iPhone while I workout instead of just using my MP3s.
I am definitely not an audiophile, but the sound on these headphones is definitely more than adequate. They are plenty loud and don’t sound flat at all. They have performed well in every situation I have used them in. The bass and treble are adequate and sound great even during vigorous workouts. Having built-in controls on the headset to interact with your music player is a definite bonus. It’s nice to be able to adjust volume, play/pause and skip forward and back without having to interact directly with my music player (assuming the player supports it.)
The only negative impression I had at first was how flimsy/cheap they felt right out of the box. I was really worried to shove them into my backpack with the rest of my stuff and was extra careful while pulling them out for a while. After getting used to them, I have realized that they aren’t quit and fragile as they feel and it hasn’t been an issue. If you are rough on your electronics, you might want to avoid these headphones.
Another small issue is that I’ve only been able to get 5-7 hours of use out of a full charge. I would have ideally liked 8+ hours plus to get through a full work-day without having to recharge them, but that would probably be asking too much from a Bluetooth device. At least they charge somewhat quickly.
Pro’s
- Light Weight and Comfortable
- Build-In Volume, Play/Pause, Forward/Back Controls
- Plenty Loud
- Good Sound Quality
- Adequate Treble and Bass
- Price isn’t Prohibitive
- Good Range
- Works with iPhone/iPod
- Includes a Mic for Taking Calls
- Feel a Bit Flimsy
- < 8 Hour on a Full Charge
- Worried about their durability if I Continue to use Them for Workouts.
EatSmart Precision Digital Bathroom Scale Review
Link: Buy it on Amazon.com
I bought the EatSmart Digital Bathroom Scale to replace our existing scale. Our existing scale would give you 5 different reading if you weighed yourself 5 times. These different reading would be within a 5-8 lbs range. Definitely not a product you could rely on.
The main reason I decided to buy this product, over others, is completely based on it's customer reviews. It sounds like very few people have had issues with the EatSmart scale and those few that did have problems were quickly contacted by the company to rectify the situation. I was very impressed and was able to buy with confidence.
The other reason I bought this scale was the reviews raving about how accurate this scale was. If I weigh myself 5 times on this scale, I get the same reading each time. If I drink a glass of water, my weight changes accordingly. Assuming this doesn't change as time goes on, I love it.
The price is affordable and lower than the price I paid for my previous two scales that broke within the 1st year. I have only had the scale for about 6 months now, and have no complaints so far.
Pro’s
- Accurate.
- Consistent!
- Appealing Design.
- Company seems to care about customer satisfaction
- Dust shows up a bit too easily
Dynamics GP Tip - Changing Required Field Style
A co-worker showed me how to change the style of required fields in Microsoft Dynamics GP and I’ve found that it helps quite a bit. You can see before and after images below to illustrate just how helpful this could be.
- Click on the Home section
- Click the Microsoft Dynamics GP menu item
- Select User Preferences
- Click Display
- Change the Color and/or Font under Required Fields
- Click Apply and enjoy!
Select a list of sales_order attributes from Magento
No problem, just need to edit the order in Magento and fix the problem… Oh, wait, the original implementers of the client’s system figured it’d be OK to just disabled the Order Edit functionality because it was too much work to get it to work with their new “Features”.
Ok, looks like the only easy solution is to go straight to MySQL and make the change there. Not ideal, but will get this handful of orders to come through correctly. Playing around with Magento and the extensible nature of their database design, it’s a bit confusing to get at a list of the appropriate sales_order attributes. You can use the following MySQL query to get a list of the varchar attributes of a sales order.
value_id | entity_type_id | attribute_id | entity_id | value |
---|---|---|---|---|
796932 | 12 | 211 | 1 | Shipping |
796933 | 12 | 216 | 1 | John |
796934 | 12 | 218 | 1 | Doe |
796935 | 12 | 220 | 1 | |
796936 | 12 | 221 | 1 | 1345 King Street |
796937 | 12 | 222 | 1 | Lake Orion |
796938 | 12 | 223 | 1 | Michigan |
796939 | 12 | 225 | 1 | MI |
796940 | 12 | 226 | 1 | US |
IIS7 error when enabling Wordpress Permalinks URL Rewriting
/%year%/%postname%/
I added the following section to my web.config file.
<rewrite>
<rules>
<rule name="wordpress" patternSyntax="Wildcard">
<match url="*" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
After updating the web.config and browsing to one of my posts, I encounter the following IIS7 error:Cannot add duplicate collection entry of type 'rule' with unique key attribute 'name' set to 'wordpress'
When I’ve encountered this error in the past, it hasn’t been a direct problem with my web.config, but has been a problem with inherited sections or values from a parent website config or one of the default environment configurations. With that in mind, I added the following line to remove any existing rules with the name “wordpress” before trying to add my own.
<remove name="wordpress"/>
The complete web.config section looked like this and cleared up the error.
<rewrite>
<rules>
<remove name="wordpress"/>
<rule name="wordpress" patternSyntax="Wildcard">
<match url="*" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
Hope this helps someone!
WPF Visibility Binding Not Working
I was correctly referencing the BooleanToVisibilityConverter as a static resource.
<Window.Resources>
<BooleanToVisibilityConverter x:Key="BoolToVisiblity" />
</Window.Resources>
My binding was correctly set to the IsControlVisible property of my ViewModel.
<Grid Margin="0,30,0,0" Height="63" VerticalAlignment="Top"
Visibility="{Binding IsControlVisible,
Converter={StaticResource BoolToVisiblity}}">
<!--Content-->
</Grid>
The IsControlVisible property of my ViewModel seemed to be correct.
bool isControlVisible = false;
bool IsControlVisible {
get { return isControlVisible; }
set {
isControlVisible = value;
NotifyPropertyChanged("IsControlVisible");
} }
20 frustrating minutes later, I find the problem. 10 bonus points if you can spot it right away…
That’s right, I forgot to make the IsControlVisible property in my ViewModel public! *Face Palm*
bool isControlVisible = false; public bool IsControlVisible {
get { return isControlVisible; }
set { isControlVisible = value; NotifyPropertyChanged("IsControlVisible");
} }
Perhaps this can save someone else some time!
Friday, October 14, 2011
How to Enable/Disabled Recording Devices in Windows 7/Vista
It turns out my problem was caused by something else and was easily fixed, but now I have a new issue. How to I enable my recording devices. If you check the Recording Tab in the Sound window, there are no devices listed. Maybe I can enable them directly from the Device Manager. Nope, nothing listed there either...
The solution is fairly simple, but seems to be completely non-standard for windows. Go back to the Recording Tab in the Sound window and right-click in the now blank tab. You should get a context menu that has two options (Show Disabled Devices and Show Disconnected Devices.) Click on Show Disabled Devices and you should now be able to see and enable your devices.
Not a huge issue, but fairly annoying since it is done differently than most other places in Windows (i.e. The network device screen. Disabled devices are still visible but are disabled...)
Unable to Add user to SQL Error While Installing eConnect Microsoft Dynamics GP 2010
Problem
When trying to install eConnect for Microsoft Dynamics GP 2010 on a new Windows 7 machine, you might encounter an Unable to Add user to SQL error. I tried to fix the problem by using many combinations of local/SQL Server credentials during the eConnect installation process, but was unable to get past this error.
Solution
To get past the error I had to create a brand new Windows 7 user. I then had to use the new user when installing eConnect. It seems that the eConnect installation process is trying to setup SQL Server login information for the supplied user and has trouble if they already exist in SQL Server.
Hope this helps someone.
Services.msc – An error has occurred in this dialog. Error: 54 Unspecified error.
The Problem
Every time I brought up Services.msc and clicked on a service, I would get the following Internet Explorer error.Windows Internet Explorer
An error has occurred in this dialog.
Error: 54
Unspecified error.
The Solution
To correct his problem, install the latest version of Internet Explorer 8 (not sure if it will work with Internet Explorer 9+. If it does, please post a comment and I’ll update the article.)This problem was encountered on a Windows Server 2003 box with Internet Explorer 8 already installed.
Qwest Actiontec Q1000 in RFC 1483 Transparent Bridging Mode
I quickly found that I could setup my Actiontec Q1000 and then daisy chain my Linksys E3000 by connecting it directly to the Actiontec. I was then able to use the wireless of the Linksys E3000 rather than the Actiontec which seemed to work much better with much greater range. This seemed to work OK for most of my needs and I used it for about a month without a problem.
In this configuration the Actiontec would connect to Qwest and would assign IP addresses dynamically on the 192.168.0.1 network. My Linksys was setup to dynamically assign IP addresses on the 10.0.0.1 network. The Actiontec would assign the Linksys an IP address and the Linksys would then handle the needs of my actual LAN and all of my basic needs were met.
The problem came when I wanted to expose my server to the outside world and ran into a bit of a networking mess trying to expose by setting it’s IP address as the DMZ(There is probably a way to do it with this configuration, but I’m by no means a networking guru.) Fortunately, I found out how to put the Actiontec Q1000 into transparent bridge mode which effectively turned it into the modem I have been used to using with Comcast.
How to Do It?
(note: You will need your PPPoE username and password from Qwest to do this. I had to call them to get it.)- On the Actiontec Q1000
- Log into your modem by entering the modem’s IP into the address bar of your browser (in my case, 192.168.0.1)
- Click on Advanced Setup
- Click on Wan IP
- Select RFC 1483 Transparent Bridging
- Save the Settings
- On the other router (Linksys E3000 in my case)
- Log into your modem by entering the modem’s IP into the address bar of your browser (in my case, 10.0.0.1)
- Click on Setup
- Click on Basic Setup
- Change the Internet Connection Type to PPPoE
- Enter your PPPoE Username and Password acquired from Qwest
- Save the Settings
That’s all there is to it. Your Actiontec Q1000 should act as a Transparent Bridge and will assign your other router the external IP address and DNS information. With this setup I was able to correctly assign my server machine’s IP address as the DMZ. After updating my DynDNS, Viola, my server was exposed to the outside world.