There are many reasons to want a real hardware UART on a desktop PC. In my case, we use a number of embedded systems and devices (e.g. Cisco 678 DSL modem, UARTs on TStik) which require an asynchronous serial connection at up to 115200 baud. In addition we need to be able to use some legacy software (e.g. javaxcomm which is recently changing under Oracle), as well as scriptable serial terminal software (e.g. RealTerm) to communicate with embedded systems, sensors, and devices.
Similarly, we have the need for a true hardware IEEE1284 parallel port with EPP mode to use with ;egacy JTAG adapters for Xilinx and legacy hardware such as JStamp and JStik.
BUT most new PCs have only USB (and things like RS232 handshaking signals are sometimes not properly functional on USB virtual COM ports) and Windows 7 no longer includes Hyperterminal (no great loss IMO). So the common (mis)perception is that hardware UARTs and software to access them are difficult or impossible under Windows 7. Ditto for IEE1284 true parallel ports with EPP mode (not just printer-capable ports).
Today I am building new Windows 7 64-bit PCs and wanting a solution for this, along with many of our customers. I'm using the MSI 890FXA-GD70 motherboard
And I am happy to say that real hardware UARTs are possible under Windows 7.
Here is the Rosewill RC303 at Newegg. This under-$20, PCI-bus card has two serial and one parallel port. So far I am able to use the hardware UARTs with RealTerm. I will add to this with more information as it develops.
Random bleatings about technology misunderstood, misused, misunderestimated, misappropriated, or just plain missing.
Wednesday, March 9, 2011
Monday, February 28, 2011
Eudora 7.1.0.9 under Windows 7, vs Eudora OSE
So I am finally building a nice Windows 7 machine to replace the old reliable Dell 670 which is my main workstation. The 670 BTW just got brought back to life, sort of, but that's another post topic.
Yes, Eudora 7.1.0.9 (now called 'Eudora Classic') CAN be used under Windows 7. See
this Eudora forum post for some tips and helpful links. More relevant: I just installed Eudora Classic under Winodws 7, pointed it at the NAS folder holding all my mail, and it seems to be off and running.
Eudora OSE is an enhanced wrapper around Thunderbird, but also includes changes to Thunderbird, if I understand the remarks at https://wiki.mozilla.org/Eudora_OSE
I run it this way (mail files on NAS) so that they get back up along with other data, and also so that another PC on the company network can access the files if my desktop is down or otherwise occupied.
The OSE version looks promising but lacks some of the Classic features I have come to like: e.g., outgoing mail filters, cascading of open mail folders, right-clicking to make a current mail the basis for a new filter, etc. OSE documentation leaves a lot to be desired. I would be happy to help write some of that if I can first figure out how to get OSE usable enough for me.
Classic also has some bugs/issues (automatic filters don't seem to work correctly for me; I have to periodically manually filter my main in-boxes to get it all filtered) and it sometimes crashes and then spends forever rebuilding indexes. And it just seems like I should upgrade. But in the meantime I have to get work done...
So maybe I will try OSE on a home Win7-64 machine and hope that the rough edges get smoothed soon.
Some users reported that they had to manually install the Microsoft Visual C++ 2008 runtime to get Classic to work under Windows 7 64 bit, but I didn't.
Friday, October 22, 2010
Microsoft .NET Security Update Fail
So Windows Update keeps wanting to load a Security Update KB2418241 for .NET 2.0 SP2 and 3.5 SP1.
But it fails every time with unhelpful messages.
Great. So what to do? Well, it turns out I cannot uninstall, repair, or reinstall .NET 2.X using Windows Installer or Windows Install Cleanup. Swell.
So it gets me wondering: what uses any of these .NET runtimes? Why can't windows tell me?
Perhaps by deleting the .NET 3.5 SP1 I can wait to see what fails: Evernote 3.5 crashes ungracefully with no helpful message at all. Reinstalling it forces a reinstall of the missing .NET 3.5 SP1. But I still can't install the Security Update.
KB2416473 is a Security Update for .NET 3.5 SP1 only - will it install now? Yes.
.NET 2.0 shows up in Add/Remove Programs, but cannot be uninstalled:
The obvious thing to do is look at the article URL (which is not clickable and can't even be selected for copy and paste... aargh.... http://support.microsoft.com/support/kb/articles/q312/5/00.asp which redirects to http://support.microsoft.com/KB/906894 but sadly this is no help. I am advised to "To resolve this problem, uninstall the .NET Framework 2.0 Service Pack 1 before you install the .NET Framework 2.0." but this is not possible on my system.
Time to try the registry? I tried to delete the values in LEGACY_CLR_OPTIMIZATION_V2.0.50727_32 but could not. So instead I searched for all .Net references and found a few to .Net 2.0 such as
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\ASP.NET_2.0.50727 which has Performance->Library value c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_perf.dll.
So all the keys using .Net 2.0 include
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\aspnet_state\Performance
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\clr_optimization_v2.0.50727_32
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\.NET Runtime 2.0 Error Reporting
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\.NET Runtime Optimization Service
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\ASP.NET 2.0.50727.0
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\SyncToy
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\System.ServiceModel.Install 3.0.0.0
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\WMI.NET Provider Extension
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\System\MSDTC Gateway
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\System\MSDTC WS-AT Protocol
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\aspnet_state
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Enum\Root\LEGACY_CLR_OPTIMIZATION_V2.0.50727_32\0000
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\ASP.NET\Performance
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\ASP.NET_2.0.50727
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\aspnet_state
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\aspnet_state\Performance
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\clr_optimization_v2.0.50727_32
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\.NET Runtime 2.0 Error Reporting
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\ASP.NET 2.0.50727.0
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\Business Connectivity Services(Legacy Provider)
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\idsvc
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\SyncToy
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\System.ServiceModel.Install 3.0.0.0
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\System\MSDTC Gateway
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\System\MSDTC WS-AT Protocol
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Enum\Root\LEGACY_CLR_OPTIMIZATION_V2.0.50727_32\0000
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Services\ASP.NET\Performance
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Services\ASP.NET_2.0.50727
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Services\ASP.NET_2.0.50727\Performance
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Services\aspnet_state
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Services\aspnet_state\Performance
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Services\clr_optimization_v2.0.50727_32
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Services\Eventlog\Application
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Services\Eventlog\Application\.NET Runtime 2.0 Error Reporting
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Services\Eventlog\Application\ASP.NET 2.0.50727.0
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Services\Eventlog\Application\Business Connectivity Services(Legacy Provider)
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Services\Eventlog\Application\idsvc
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Services\Eventlog\Application\SyncToy
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Services\Eventlog\Application\System.ServiceModel.Install 3.0.0.0
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Services\Eventlog\Application\WMI.NET Provider Extension
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Services\Eventlog\System\MSDTC Gateway
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Services\Eventlog\System\MSDTC WS-AT Protocol
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_CLR_OPTIMIZATION_V2.0.50727_32\0000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ASP.NET\Performance
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ASP.NET_2.0.50727
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ASP.NET_2.0.50727\Performance
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state
OK this is getting tiresome and I can see a pattern here.
In fact, 2.0 seems to be installed at C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727, and likewise C:\WINDOWS\Microsoft.NET\Framework\v3.0
What Next?
Google for some other solution such as
http://blogs.msdn.com/b/astebner/archive/2005/04/16/408856.aspx
Tuesday, September 21, 2010
JavaOne 2010 San Francisco
Oracle knows how to throw a party without scrimping!
Even in JavaOne's heyday I don't recall things being this well-planned, at least as far as facilities, food, and drink are concerned.
...but you kind of expect that from the man who spearheaded the development of the A17 trimaran which won the 33rd America's Cup race and is capable of sailing at up to five times the wind speed!
Shown here: BMW/Oracle racing team with the Cup, apparently repaired after the sledgehammer attack by a Maori tribesman (really).
Sunday, August 9, 2009
Synch files with multiple PCs
Do you carry files around between work and home on a thumb drive, or a notebook? You have a repository for code but don't want to put everything in it (for example: vendor data sheets which will seldom change)? Do you need to synch files between two or more PCs? You tried Microsoft's interesting SynchToy app but wonder why it has not been maintained or open sourced since 2006? Me too.


Sunday, August 2, 2009
Occam Pi - alive and well: links to current work
I know what you're thinking: what are Occam, Occam Pi, or the Transputer (RIP)? Wikipedia my friends, and perhaps a discussion for another day. In the meantime, thanks to a post from P.H. Welch on the Java-threads and occam-com mail lists, here on one handy place is a collection of links to several related web sites, in response to the question of whether occam was "dead" or not:
To see some life, you could look at the CoSMoS demo pages:
http://www.cosmos-research.org/demos
all of which are programmed in occam-pi. This is a *funded* project
(almost 1.5M GBP), starting nearly two years ago and continuing
through March, 2012. occam-pi is flying, :).
We're also maintaining:
http://pop-users.org/wiki/occam-pi (general start page)
http://www.cs.kent.ac.uk/projects/ofa/kroc/
http://transterpreter.org/
http://www.cs.kent.ac.uk/projects/ofa/sei-cmu/ (the course)
https://www.cs.kent.ac.uk/research/groups/sys/wiki/OccamPiReference
https://www.cs.kent.ac.uk/research/groups/sys/wiki/OccamPiStyleGuide
https://www.cs.kent.ac.uk/research/groups/sys/wiki/OccamDoc
https://www.cs.kent.ac.uk/research/groups/sys/wiki/OEP
https://www.cs.kent.ac.uk/research/groups/sys/wiki/KrocInternals
https://www.cs.kent.ac.uk/research/groups/sys/wiki/OccBuild
http://occam-pi.org/occamdoc/frames.html
http://frmb.org/occ21-extensions.html
http://projects.cs.kent.ac.uk/projects/kroc/trac/wiki/Installation
(open sources - svn repository)
https://projects.cs.kent.ac.uk/projects/kroc/trac/
https://projects.cs.kent.ac.uk/projects/transterpreter/trac/
https://projects.cs.kent.ac.uk/projects/tock/trac/
https://projects.cs.kent.ac.uk/projects/nocc/trac/
And there will be quite a few developments reported at CPA 2009:
http://www.wotug.org/cpa2009/
What - you want some of the wikipedia links to save you a minute of typing/searching? OK:
Occam Language: http://en.wikipedia.org/wiki/Occam_(programming_language)
Inmos Transputer: http://en.wikipedia.org/wiki/Transputer
Many of the early Occam and Transputer concepts have been reborn in current technology. Please post comments with links to any of which you are aware.
best regards
Bruce
To see some life, you could look at the CoSMoS demo pages:
http://www.cosmos-research.org/demos
all of which are programmed in occam-pi. This is a *funded* project
(almost 1.5M GBP), starting nearly two years ago and continuing
through March, 2012. occam-pi is flying, :).
We're also maintaining:
http://pop-users.org/wiki/occam-pi (general start page)
http://www.cs.kent.ac.uk/projects/ofa/kroc/
http://transterpreter.org/
http://www.cs.kent.ac.uk/projects/ofa/sei-cmu/ (the course)
https://www.cs.kent.ac.uk/research/groups/sys/wiki/OccamPiReference
https://www.cs.kent.ac.uk/research/groups/sys/wiki/OccamPiStyleGuide
https://www.cs.kent.ac.uk/research/groups/sys/wiki/OccamDoc
https://www.cs.kent.ac.uk/research/groups/sys/wiki/OEP
https://www.cs.kent.ac.uk/research/groups/sys/wiki/KrocInternals
https://www.cs.kent.ac.uk/research/groups/sys/wiki/OccBuild
http://occam-pi.org/occamdoc/frames.html
http://frmb.org/occ21-extensions.html
http://projects.cs.kent.ac.uk/projects/kroc/trac/wiki/Installation
(open sources - svn repository)
https://projects.cs.kent.ac.uk/projects/kroc/trac/
https://projects.cs.kent.ac.uk/projects/transterpreter/trac/
https://projects.cs.kent.ac.uk/projects/tock/trac/
https://projects.cs.kent.ac.uk/projects/nocc/trac/
And there will be quite a few developments reported at CPA 2009:
http://www.wotug.org/cpa2009/
What - you want some of the wikipedia links to save you a minute of typing/searching? OK:
Occam Language: http://en.wikipedia.org/wiki/Occam_(programming_language)
Inmos Transputer: http://en.wikipedia.org/wiki/Transputer
Many of the early Occam and Transputer concepts have been reborn in current technology. Please post comments with links to any of which you are aware.
best regards
Bruce
Wednesday, July 15, 2009
Using small Java commercially: bring your checkbook
For the last decade I have been a strong supporter of Java. And still am, especially on small embedded system devices. My company (Systronix) has been a developer of such devices (TStik, JStamp, JStik) for about 10 years - back when embedded Java first became possible and practical. Read my "Why Java" page and download the white paper for more details about that. I'm grateful for many opportunities to speak at JavaOne, Embedded Systems Conference, and other venues. I've personally written a fair amount of embedded Java code on hardware from a variety of vendors. Employed appropriately (don't pound in screws with a hammer and then blame the hammer for doing a crappy job) Java can have huge benefits over languages such as C.
I have enjoyed personal and professional relationships with a lot of great folks at Sun for many years. All of this is to say that the point of this rant is not to bash Sun or Java, but to plead for Sun to wake up to the realities of 2009 and stop missing opportunities.
We are living in the time of Open-Sourcing of Almost Everything. Attorneys get paid to write open-source license agreements, too, and there's a reason you don't get a law degree in nine months of online courses. The devil is in the Fine Print. And: don't make the obvious/common mistake of equating "open source" with "free to use as I please". Enough preliminaries.
So: is Java open sourced? Yes. Can it be freely used? In a commercial product? Can you call your product - which includes your deployment of open source Java - "Java"? It depends. JavaME, PhoneME, and Squawk all lack the so-called "classpath exception" (GNU explanation) (Sun Open JDK example) with which other editions of Java are licensed. In general, as I understand it, this means that you either must also freely open source all the software you "bundle" or "link with" with these no-classpath-exception-products, or you must negotiate a commercial license with Sun. Commercial licenses typical start around $100,000 per year, plus royalties on each device shipped) for Java ME. That's for a small company with less than a $1M per year in revenue. Larger companies can expect to pay a lot more. If you are shipping Java on a cell phone and will be shipping millions of units, maybe you get a better deal.
But here we are concerned with the Little Guy trying to launch an innovative product. There are many reasons Little Guy, Inc would want to use a widely supported development platform like Java.
Even if you do want to open source all your code (like Bug Labs), if you want to use the name "Java", you must test your conformance. How do you do that? With a Technology Compatibility Kit (TCK) which is only available from Sun, and only as part of a commercial license. "Huh?" you might be thinking.
Here's an example. Bug Labs got surprised by this in 2007 when they found out late in their development that they needed a commercial license for their use of open-source Java, even though they were open-sourcing all their Java-based software. See this blog for some discussion of the path they took as a result.
Today it's hard to sell a word processor for $500 when you can get a great one for free. Electronic CAD tools which were $12,000 two years ago are now selling for $4000. IrDA stacks once sold for $250,000. TCP/IP stacks were commonly $10K or more. Now that all seems pretty laughable. It also seems like vendors of such products have a lot harder time making money the way they used to.
So why does Sun seem to be stuck in the 1990s?
Imagine what could happen if every small company nearly free or affordable access to important software such as an operating system, a modern IDE, or a smartphone platform? Oops - they can... and none of these are Sun products.
Sun used to be four guys with some interesting ideas. They went on to change the world. If those four guys were starting over today, what would they think about licensing Java from Sun?
I have enjoyed personal and professional relationships with a lot of great folks at Sun for many years. All of this is to say that the point of this rant is not to bash Sun or Java, but to plead for Sun to wake up to the realities of 2009 and stop missing opportunities.
We are living in the time of Open-Sourcing of Almost Everything. Attorneys get paid to write open-source license agreements, too, and there's a reason you don't get a law degree in nine months of online courses. The devil is in the Fine Print. And: don't make the obvious/common mistake of equating "open source" with "free to use as I please". Enough preliminaries.
So: is Java open sourced? Yes. Can it be freely used? In a commercial product? Can you call your product - which includes your deployment of open source Java - "Java"? It depends. JavaME, PhoneME, and Squawk all lack the so-called "classpath exception" (GNU explanation) (Sun Open JDK example) with which other editions of Java are licensed. In general, as I understand it, this means that you either must also freely open source all the software you "bundle" or "link with" with these no-classpath-exception-products, or you must negotiate a commercial license with Sun. Commercial licenses typical start around $100,000 per year, plus royalties on each device shipped) for Java ME. That's for a small company with less than a $1M per year in revenue. Larger companies can expect to pay a lot more. If you are shipping Java on a cell phone and will be shipping millions of units, maybe you get a better deal.
But here we are concerned with the Little Guy trying to launch an innovative product. There are many reasons Little Guy, Inc would want to use a widely supported development platform like Java.
Even if you do want to open source all your code (like Bug Labs), if you want to use the name "Java", you must test your conformance. How do you do that? With a Technology Compatibility Kit (TCK) which is only available from Sun, and only as part of a commercial license. "Huh?" you might be thinking.
Here's an example. Bug Labs got surprised by this in 2007 when they found out late in their development that they needed a commercial license for their use of open-source Java, even though they were open-sourcing all their Java-based software. See this blog for some discussion of the path they took as a result.
Today it's hard to sell a word processor for $500 when you can get a great one for free. Electronic CAD tools which were $12,000 two years ago are now selling for $4000. IrDA stacks once sold for $250,000. TCP/IP stacks were commonly $10K or more. Now that all seems pretty laughable. It also seems like vendors of such products have a lot harder time making money the way they used to.
So why does Sun seem to be stuck in the 1990s?
Imagine what could happen if every small company nearly free or affordable access to important software such as an operating system, a modern IDE, or a smartphone platform? Oops - they can... and none of these are Sun products.
Sun used to be four guys with some interesting ideas. They went on to change the world. If those four guys were starting over today, what would they think about licensing Java from Sun?
Subscribe to:
Posts (Atom)