Monday, December 01, 2008
Tuesday, October 14, 2008
I am presently having QuickTime plug-in not playing certain type of video formats. It launches the QuickTime player from the browser both in Safari and Firefox but it does not play the actual movie. Presently below are the notes I am taking for what to do to fix the issue.
Check The Location of The QuickTime Plug-In
Plug-ins are located under /Library/Internet Plug-Ins There is the same directory under ~/Library/Internet Plug-Ins as well. On a fresh out of the box Macs neither locations contain anything.
Check the QuickTime CODEC Installations
Extra and third party CODECS ones are usually installed at /Library/QuickTime
Popular CODECS and CODEC Utiity download sites:
- Apple QT component list: http://3ivx.com/download/macos.html
- 3ivx: http://3ivx.com/download/macos.html
- Perian.Org http://www.perian.org (Especially popular with people having problem with playing the AVI)
Friday, October 10, 2008
You know there is nothing wrong with the movie file that was on the server because if you save the movie locally from the plug-in or make a copy of the file directly from the server and play it back it plays back normally.
It appears that this problem occurs in the following manner:
- The web server starts to send part of the movie
- The QuickTime Plug-In starts to play any playable part
- But the play head catches up with the download
- The playing become jittery after that even even in the subsequent looping of the movie clip
In our case, we are not sending sound so we activated another QuickTime Plug-In parameter PLAYEVERYFRAME to TRUE. This may not completely fix your problem, however, at least by giving this a try, and the movie would play smoothly after it downloads all the frames then you know you have the exact problem as I had.
It appears that the reason this happens is that the plug-in will auto-adjust the play-back skip rate to preserve the audio playback sampling rate. Another way to try this is to set AUTOPLAY to off and try to play at different wait time (from almost no buffering to buffered full) and see you can duplicate this on your specific situation. This problem was worst when running on the Mac Safari on my MacBook Pro 17-in and lest on Microsoft Windows IE 7 under Windows XP. Also when the web server and video generation was on a very fast server this did not occur, but on a slower server this occurred more frequently.
Look in the latest Apple QuickTime Plug-In documentation (Google for) QTScripting_HTML.pdf for more information.
Time Took To Fix This
It took about 6 hours of time in front of the computer, visits to my customer site at night to qualify what is going on.
Tuesday, October 07, 2008
- Terminal service or console access your web server's OS as an administrator.
- First, IIS itself should allow anonymous access. This is done through the IIS administration feature (typically accessed from "My Computer->Manage").
- Open the proprty of the SharePoint IIS web, select the Directory Security tab, then press the Edit button for the "Enable anonymous access" to allow the IIS to access.
- When that is done, you need to go to the SharePoint Cnetral Administration web site. The easiest way to get there is from the IIS Manager then right click over the SharePoint Administrator web and select Browse.
- When the Central Administration page opens, select the Application Management tab.
- Look for "Authentication Providers" item, then you will find the Anonymous access enable check box on that page. Save it.
- Now log into your SharePoint page and then select Site Actions -> Site Settings and then select the Advanced Permissions. These steps are as described in the above mentioned Microsoft article, but you should now see Enable Anonymous permissions under the Settings menu bar.
Sunday, September 28, 2008
You followed the Microsoft KB article http://support.microsoft.com/kb/325375 and tried to get the "repair" option, but you do not seem to see it.
In my case, I had a USB drive connected to the server, which came up as the "C:" drive. It appears that the drive letter must match the original installation. You may also want to try restarting the CD after removing any attached storage outside of the C: drive.
Saturday, September 20, 2008
Incidentally, the 8525 had basically the identical problems as the iPhone users are complaining about. I have written about this before on this blog. But to summarize;
- Often the phone does not ring at all. I get the voicemail notification though so I know someone called just a minute ago.
- Anytime there was a 3G to GSM switch, it dropped a call and won't connect until I either reboot or bring the phone off-line and back online.
- Even in a very strong signal area (by the freeway in Redwood City), 3G did not connect up at all.
Then voice dialing. This I cannot go. It is a safety issue for myself and drivers and people around me.
So, it was really really hard to miss this opportunity to not to get the iPhone 3G. I am an avid Apple fan, but I really cannot buy into a phone that does not work as a phone like 8525 I had, but I did like a lot about 8525 and I decided to place my bet on the new AT&T Tilt.
Turns out that this is the best cell phone I've ever had.
- Now the calls never drops all the way from my home in Half Moon Bay area to Redwood City! I thought that dropping of the call was due to the ruralness of our area, but I was wrong. It was the phone.
- It now rings in my office and also at home without restarting.
- The GPS works with Google Maps
- I can tether it with my Macbook Pro and get on the Internet. No more hotel and Starbucks WiFi fees!
- The SIM card can be swapped without replacing the battery. This can be useful if I go out of country a lot and use the rental SIMs.
- I wish that the display tilt up all the way vertically. If it does I can leave the phone on my dash and see the Google Maps easily while driving.
- I miss the function buttons that were on top. Now they moved all the buttons and clustered them really close together at the bottom of the phone. I often hit a wrong button to end the call etc.
- So far I could not activate the Voice Command with Jawbone
Friday, September 19, 2008
Friday, June 27, 2008
An excellent practice in coding is to centralize and conseal data access code so that you do not have to reset configuration or in our case the "connection string" all over the places. You've probably experiencd that if you created a DataSet in the same project as all your main forms, connection string is in the Application's Settings file. And upon the form inialization, you can just change the connection string property then you are all set for the rest of the code.
What happens though if you placed the DataSet in a separate library. In this case you don't see the connection string any more in your Application's config file or Settings.
There are many different ways of doing this, from creating a factory class to overriding some config class objects that returns the correct (dynamically changed) connection string.
My solution is quite minimum compared to those but it does work and it does not require a lot of lines of code.
If you have created a Class Library on its own project then there is a namespace that is assigned to that project. If you create a DataSet in this project then it will create a local settings directory.
I usually have a database locally and so when I am developing I set my SQL hostname by default to (local) and when I go in production I just need to repoint the host name. The following code then will replace that with another hostname.
The property setting values are singletons (at least they seem to be) so if you run this once early on in your program execution, all the TableAdapters that use the connection string will take the new value from it.
public class DBConnections
static public void SetDBHost(string hostName)
string cs =
cs = cs.Replace("(local)", hostName);
Properties.Settings.Default["ConnectionString"] = s; }
You are using Microsoft Visual Studio 2005, and you have moved a DataSet (.xsd file set) from one location to another in your project on your Visual Studio 2005 and you get this kind of an error any time you want to add or modify a query in the Table Adapter, and you cannot add, delete, edit or modify the query that was previously defined.
Unable to find connection 'db1ConnectionString (MySettings)1' for object 'MySettings'. The connection string could not be found in application settings, or the data provider associated with the connection string could not be loaded. "
I had this issue and found out how to fix this in my case. Your case may vary.
- In the DataSet Designer mode click over the heading of the TableAdapter part and reveal its property.
- In the properties panel (usually on your right) you will see +Connection.
- Press the + icon
- Click the Value part of the connection and a pull-down menu will appear. (Re)select the proper connection string
- Now you should be able to modify the queries
Wednesday, June 25, 2008
When trying to access a file share (SMB share) from a Mac OS 10.4 (Tiger) to Windows 2003 Server which is in a Windows domain, you get a login screen, but it always fails on authentication.
The "Microsoft network server: Digitally sign communications (always)" is Enabled in the Security Options of Local Policies of Security Settings in the Default Domain Controller Security Settings.
This applies to Tiger which is running an older version of Samba software. A new version of it will not have this issue, and I have not checked that with Leopard.
Note that this may violate your general local security policy and may expose your windows server with additional security issues.
- From the Start Menu, open Administrative Tools
- Select Domain Controller Security Policy
- In the Default Domain Controller Security Settings applet navigate through Security Settings, Local Policies, Security Options
- Scroll down the list and find "Microsoft network server: Digitally sign communications (always)
- Disable it.
- From the command line tool type in "gpupdate" to load the change into the OS.
Time Took To Research and Fix This
About year and half.
Wednesday, June 11, 2008
I have been using ATT (Cingular, HTC) 8525 for sometime, but whenever it switches to and from 3G to GSM (EDGE) networks there have always been all sorts of problems like a call dropping, cannot connect re-establish data connections etc. It also seems to get worse from either other networks, towers or a situation where there is an GSM only tower near-by and 3G tower at a receivable distance.
I have disabled 3G from the phone and it operates much more stable. There is a registry hack you can do to show the bandwidth selector.
To enable the bandwidth selector tab in the Phone setup page.
And this disables it.
There is a freeware called MobileRegistryEditor that you can install it on your desktop and you can "remotely" alter the registry keys via a USB connection.
As with any registry hack, I cannot be responsible if you screw up your phone permanently.
Tuesday, June 03, 2008
You are hosting your own DNS on Windows Server 2003 or likewise. Occasionally (especially after rebooting the DNS server), hostmame lookup does not occur, for example, ping or http request to your local host(s) from a web browser.
I do not know why or what is happening with this and I don't have time to figure out really what's gogin on but what helps are two things,
From a command line, try typing in "ipconfig /flushdns"
If that does not work you can try the following;
- Allow Dynamic updates on your Primary DNS nodes from the DNS configuration applet.
- Create reverse lookup zones.
Tuesday, May 27, 2008
This is very symptomatic of people like me who started out in .Net Framework 1.0's DataGrid class. When first encountering the new paradigm in .Net Framework 2.0 we still wonder why it they still made it so hard to work with the underlying DataTable or DataSet, and it must be a common knowledge that no site will tell you what to do a simple Insert, Update and Deletes.
For example, to find out which row was selected in the corresponding row of the DataTable. You probably even tried to hide a key column as the column number 0, and dismayed to find out that as soon as it is hidden the DataGridView won't even return the hidden field (though on the web control that technique does work).
They actually did simplified it, but you do need to RTFM. You will find out that spending about an hour trying to understand the BindingSource class and utilizing it will significantly reduce or completely remove that grid and data sync problem headache.
Basically all you need to do is to drag the instance of BindingSource to the designer pane. Then using the DataSource property of the DataGridView, assign the newly created BindingSource.
Then in the BindingSource, assign the actual DataSet with the right table member and now they go magically in sync. For example, if you do an Insert and Update in the underlying DataSet's DataTable, it will automatically reflect the change in the grid. In other words, the DataGridView will automatically follow what you do with the underlying DataSet. I think finally that's significantly more convenient. Note that you should not invoke the Insert function of the TableAdapter class and hoping to the DataGridView to update. That do not go through the underlying DataSet, instead it directly fires the Insert SQL without going through any datasets.
This is a very typical thing we do, but at least in .NET Framework 2.0 there still is not an easy solution for this, and using the App.config approach, you will soon realize that you run into two problems (I am not going into the security aspects of it.)
- You could store the entire connection string as the Application level configuration parameter in app.config but if you do that then you cannot change and save the string from anything in the applications section.
- But you have to change the instance of that string in order to easily propagate the connection string to all TableAdapters
string s = Properties.Settings.Default.MyConnectionString;
s = s.Replace("(local)", "192.168.0.100"); // This can come from another user configuration string.
Properties.Settings.Default["MyConnectionString"] = s;
Monday, April 21, 2008
When you try to install (or re-install) the Microsoft Certificate Service you encounter the following error message and cannot continue. You did re-run the installation.
An error was detected while configuring Certificate Services.
The Certificate Services Setup Wizard will need to rerun to complete the
Certificate Services setup failed with the following error: Windows cannot
find the network path. Verify that the network path is correct and the
destination computer is not busy or turned off. If Windows still cannot
find the network path, contact your network administrator. 0x80070033
The most likely cause of this is that File and Print Sharing got disabled. In my case, when I changed the host name, it got disabled.
Just enable the File and Print Sharing from the network control panel for ALL ACTIVE network connections and then try again.
Sunday, April 20, 2008
This happens from time to time on my MacBook Pro and Firefox. Interestingly, when this happens I switch to Safari and Safari works fine.
What happens is that when accessing the Gmail, the screen shows "Loading...." and briefly flash the part of the page then goes back to "Loading..." again and this continues ad infinitum.
I don't know the exact cause of this. Apparently there is some issue with a corrupted cookie that may be causing this issue. One thing the corruption could occur is that I am using the Mac Mail via IMAP to download messages at home. Because Mac Mail allows sorting by the sender, I can weed out old news and newsletters quicker. I know, I know I have not completely subscribed to the Gmail paradigm (but it is a free country too!).
Anyhow, I think when I do these deletions on Mac Mail, things may go out of sync and that's when the problem seems to start.
You can try different URLs to access Gmail and this has fixed my situation. In my case if I just use https:// this will usually fix the problem, but then I will need to use https://
If you really need to fix this, you will have to remove Gmail related cookies. I don't know which is what so I usually remove all Google issued cookies. That will also fix it completely.
Took about 10 minutes to find and try the solution.
I typed in this search term into Google "Gmail problem FireFox loop" and no Google help message came up, instead this forum gave me the answer.
Friday, April 18, 2008
You have installed the CISCO ASA in your organization, configured the NAT so that all of your own computers are protected behind the NAT and Firewall but now some users want to use a VPN to connect to some network outside. For example, a visiting or partner employee may want to connect back to their corporate office via an IPSEC VPN.
The VPN login seems to work, but nothing gets connected.
Why Does This Not Work On Out of The Box Usually?
Because of Network Address Translation, the VPN IP addresses gets translated through the firewall.
The CISCO support web site has a very comprehensive information on this. The URL to the support article is this.
This article also shows you how to configure this situation using the ASDM User Interface. But I know you don't want to read that so in summary here is what you would do:
- Click Configuration on the Top Toolbar
- On the side tool bar is "Security Policy"
- Add the Following Access Rules (Access Rules Tab)
- Add and/or Activate esp protocol in IP from the outside to the inside interface, Source is outside and destination is inside.
- Add and/or Activate isakmp UDP protocol, source outside, destination the inside interface
- Add and/or Activate UDP port 4500 traffic from source outside, destination the inside interface
We've implemented this in April 08, it is June now and has been working very well in our environment. We've tried the "regular" CISCO VPN client connecting to the outside as well as CheckPoint ScruRemote VPN clients with it.
Monday, April 14, 2008
Typical User Complaints:
- I can log into an FTP site, but I cannot list the directory. It hangs.
- My FTP hangs
- FTP works from the office but FTP does not work from my home
- Typical of a Microsoft Windows product, FTP does not work (not entirely true)
- Microsoft Windows Server 2003 does not support Passive FTP (not true)
You have set up an IIS server on the Internet on Microsoft Windows 2003 R2 server. Everything appears to be going normally. You can FTP to "yourself" from within the same server, so you know FTP is working. Now you find out that people cannot see the directory when they connect to the FTP server. They can log in and connect but connection breaks as soon as the user tries to get a directory listing or try to send a file.
Your IIS Server, by default, does not support Passive FTP, and whoever trying to access your FTP server is opening the FTP server behind their own firewall and Network Address Translation (NAT). That's 99% of the case from Cable Modem and DSL users.
You will need to do two things.
Using wscript, you need to configure the IIS Metabase so that IIS allows the use of ports for Passive FTP, then restart the IIS.
Using anther batch script, you will need to add EACH port number in the Windows firewall exceptions list.
This site seems to give you the complete information on the whole issue and how to fix it step by step.
Thursday, April 03, 2008
When I was a kid in Japan and when I visited my grandfather's place. There was this telephone without any dial at all. To make a phone call he would pick up the receiver, then there is a crank on the right of the phone which he turns a few times. An operator answers. He will tell the operator, to "Give me Maeda-san." and the operator knows who this is, where this person is, and connects. Even more, if this Maeda-san was not at home, the operator will try again and when he is back at home, connected, the operator will call back my grandfather and connects.
Sounds awfully antiquated, classic or whatever you would say because what you would do today is to go to your computer, start Outlook, type in Maeda, and find the name of the person, then find one of the phone numbers, call the guy, he isn't there, leave a message etc. And we call that high tech modern age stuff.
What, however will happen next is actually we will all go back to what my grandfather had in the first place. Except that it is wireless of course.
Most of us will have cell phones with basically nothing but a green and red button. It will fit almost in any pocket.
What you will do with it?
You command it with voice only and the computer intelligence behind it will do all of the reset of the work. It is connected with a complex search engine with a voice recognition software both on the phone and also on the remote phone switch too.
So just say that I have said to the phone, "Order Pizza" Here is what happens in the background.
- The location service on the phone would know if I am at home or office. If I have ordered a pizza before both from my office or home at different outfits, it will basically know which pizza place I am talking about. It will perhaps ask me "Call Harbor Pizza?" if I am calling from my home in Half Moon Bay, or "Call Brick Oven Pizza?" If I am in the office. Of course, I can be in totally different city in that case the search engine linking would suggest other places near by.
- Of course it is 7 PM and line is all busy but no problem, like a human operator would do, it would try calling on your behalf and then connects you up when the line is open.
- Let's say that I was in the different city and ordered a pizza. I would want to go and pick up the pizza. I would say to the phone. "Gide me to the pizza place." Of course the historical information would know that which pizza place it was, and with the GPS phone and voice navigation, there is no problem phone doing the navigation. The user still has not touched any dial at all!
I think we will all be having a phone that do this. And you know your search engine provider is scanning all your emails and everything you store in remotely hosted applications. It can have a lot of context as to what you are asking about.
Sure enough, bits and pieces of the technology is already out there. I use VoiceCommand on my Pocket PC all the time, and I speak to the robot at United Airlines too. I think that the integration of these stuff will make a phone with dials obsolete in a few years.
Thursday, March 27, 2008
When you open an OpenOffice.org Writer document, the graphics are disabled, all graphics are showing the [X] mark and you cannot find where to turn this back on. This is likely to have happened accidentally (Can't blame you, that's how that happened to me, and don't know how this has happened either.... Makes my mother-in-law feel better for even a seasoned software engineer can be flabbergasted with things like this at times!)
- Go to Tools menu. Select "Options..."
- In the left panel of the Options dialog box, you should find a + sign on the left of OpenOffice.org Write/Web item. Click the + (if may already been open)
- Select View
- Find the Display section.
- Chcek the item Graphics and objects
Time Wasted To Find This Solution
I was looking for this option all over the menus and other places and Googling "Graphics mode on OpenOffice" would not find any article. It took approximately 30-40 minutes to finally found where this check box was hidden.
Thursday, February 28, 2008
VS 2005 ASP.NET GridView Give "Failed to enable constraints. One or more rows contain values violating non-null, unique,.." Error
You created a web page with a GridView using a DataSet designer. You had a simple or a bit more complex joins in the table. Then one day, it stops working with an exception of:
"Failed to enable constraints. One or more rows contain values violating non-null, unique..." error.You do know the target schema changed so you tried to re-configure the query but you still get the same error after re-compiling the dataset and associated DataAdapter.
My Root Cause:
This has happened in my case where the database schema changed drastically. After investigating the automatically generated code the failure occurs when filling the DataTable.
This meant that the the Query worked OK, but the DataTable did not get the necessary schema change.
What Fixed It:
Unfortunately I had to get rid of the entire DataAdapter associated with the query, rebuild the DataSet and then re-bind (re-cofnigure) the ObjectDataSource that binds to the GridView. The key here is that just configuring the query in the DataSet is not good enough, because the associated DataTable does not get the change of the schema and it will exception when the returned row set gets filled in.
I was at it for about two hours.
Monday, February 25, 2008
Micorosft SQL 2005 provides database mirroring with automated fail-over (if you are using a witness server). This is really a great feature and I use it quite a bit at work. But sometimes we don't have a domain controller.
Can we do Mirroring without a domain controller?
Yes you can! You can use the Certificates authentication. This is described in the MSDN article entitled.
How to: Allow Database Mirroring to Use Certificates for Outbound Connections (Transact-SQL)
at this URL http://msdn2.microsoft.com/en-us/library/ms186384.aspx
You can also find this information on SQL Books Online (BOL) on your SQL Server Management Studio at the local URL of ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.en/udb9/html/49239d02-964e-47c0-9b7f-2b539151ee1b.htm (To type in this URL, bring up the Index part of the help manual browser where you will see the URL field.)
We were able to get this configuration up and running, but there were two things that we ran into that stumbled us a bit.
- Initially the clocks of two machines were quite a bit off. This causes a havoc with certificates.
- Even though we did not have to rely on the Domain Controller, we still had to add the Fully Qualified Domain Name (FQDN) of the servers in our DNS server.
Tuesday, February 12, 2008
You have a voice mail system that can send out .WAV files as email attachments. The attachments play properly on Windows and Mac desktop computers (such as Windows Media Player), but if you try to play it with Windows Mobile or Windows Smartphone editions, you get "Invalid Format" error and the sound does not play.
It is very likely that your voice mail system encodes the WAV file requiring a special CODEC. For example, I have a SpeakEasy VoIP service and this service (and great many of other VoiceMail system vendors) encode the WAV file using IMA ADPCM format (i.e., not all the WAV files are coded the same, the most basic one is the PCM, that will and do play on Windows mobile devices out of the box.)
Install a third party sound player that can decode and play WAV files in IMA ADPCM format.
One such that I have found so far is PocketPlayer (30 day demo, approximately $20.00 purchase) and it worked fine with the SpeakEasy voice mail attachments. http://conduits.com/download_cabs.asp?product=Pocket+Player+3.51
So far I have not found any specifics from Microsoft web site about how you could provide a CODEC plug-in, in its Media Player. In fact Microsoft does not distribute Windows Media Player for Pocket PCs. That's left up to the device manufacturer. This probably has something to do with giving the manufacturer the ability to cripple some of the features they don't want for their users to have.
Friday, February 01, 2008
I just updated (in January 2008) my AT&T HTC 8525 phone's Windows Mobile 6 OS. Since then I was not able to sync with my host PC.
I get two errors:
Issue 1: Support Code:85020006
Issue 2: Support Code:80072f7d
Note that this involves registry changes so be careful with it.
Issue 1 can be fixed by;
- Open ActiveSync
- Choose File->Connection Settings...
- Change "This computer is connected to" to The Internet
The second one is nastier and requires a registry hacking on your Windows XP PC (i.e., not the phone). I suggest that you save current registry settings before you do this.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows CE Services]
This site has the registry file that you can double click and modify.
This disables the Layered Service Provider (LSP) that use the Windows TCP/IP stack. But by doing this, you are going to forfeit the support rights from Microsoft.
After doing above two things, all the issues were resolved for me.
This can save you at least 1 hour of hunting. These are not described in Microsoft web sites clearly.
Sunday, January 13, 2008
So you go to the Newsletter module, incorporate an image or two in the newsletter using the "image" tool that comes with the default editor (FTB Editor). Much to dismay, the images do not show up in email.
DotNetNuke had this nasty URL rewrite stuff built into it that if an URL is local to the installed directory of DotNetNuke, it will strip the root URL. This will work for contents that are within the site, but in email it won't work.
I have discovered this on DNN 4.8.0, but I think somewhere around DNN 4.5 or later this change was made. Unfortunately if you are using a much older version of DNN, there is not much hope except for working this around with domain remapping technique, also provided in this article.
- Go to the Newsletters Module, just as if you are writing a new newsltter
- Under the bottom of the editor panel, you should see "Show Custom Editor Options." Click that.
- A configuration dialog box will pop up. If it does not, check your pop-up blocker and try again.
- Under the Settings Type, select Module
- Click the + for "Other editor options"
- Check mark the"Full image path" option.
- Scroll down and select the pull down menu for Apply Custom settings to "Module" then click the Apply link.
Workaround for Older DNN Sites
The URL rewrite stuff does not apply to the URLs that do not match what's in the Portal Alias, so what I used to do was to map another domain on top of the existing domain and then I would go into the HTML and change the root domain for all included image URL before sending out the email. For example, for my site StokeMaster.com, I also mapped StokeMaters.com. I would cut the HTML code after editing the newsletter to a text editor on a local machine, do a global replace of StokeMaster.com with StokeMasters.com and re-paste back then send out email. A major extra work, but it does work.