The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
1. The lounge is for the CodeProject community to discuss things of interest to the community, and as a place for the whole community to participate. It is, first and foremost, a respectful meeting and discussion area for those wishing to discuss the life of a Software developer.
The #1 rule is: Be respectful of others, of the site, and of the community as a whole.
2. Technical discussions are welcome, but if you need specific programming question answered please use Quick Answers[^], or to discussion your programming problem in depth use the programming forums[^]. We encourage technical discussion, but this is a general discussion forum, not a programming Q&A forum. Posts will be moved or deleted if they fit better elsewhere.
4. No politics (including enviro-politics[^]), no sex, no religion. This is a community for software development. There are plenty of other sites that are far more appropriate for these discussions.
5. Nothing Not Safe For Work, nothing you would not want your wife/husband, your girlfriend/boyfriend, your mother or your kid sister seeing on your screen.
6. Any personal attacks, any spam, any advertising, any trolling, or any abuse of the rules will result in your account being removed.
7. Not everyone's first language is English. Be understanding.
Please respect the community and respect each other. We are of many cultures so remember that. Don't assume others understand you are joking, don't belittle anyone for taking offense or being thin skinned.
We are a community for software developers. Leave the egos at the door.
So I've been wracking my brain trying to come up with a code generator for something significant that hasn't already been done, or even done to death in .NET.
One of the reasons I wrote so many lexer generators and parser generators is because they weren't necessarily well covered territory in .NET, and besides aren't very well understood in general. As code generation tools go, these projects were worthy of effort.
But code generation tools for data layers, entity generators, and typed XML and JSON generators are well covered ground. I'm coming up empty thinking of another tool to add to the arsenal of available generators out there. My parsers and lexers notwithstanding, I can't think of much else to add. And I've jumped the parser shark anyway, with Glory, the GLR parser generator I built.
All of that having been said, I really would like to do some more code generation tools. I tried implementing a visitor generator but I ran into some implementation issues that aren't easily rectified as far as it chasing spurious properties (like SyncRoot on old collection classes) and not handling chained indexer expression properties. I've shelved it for now.
So now I'm looking for some ideas. They'll come eventually. I don't want to do anything that involves wholesale generation of HTML or even ASP.NET code and such, more just tools that spit out C# (and possibly VB.NET like my other generation projects)
Anyone have anything they know can/should be automated and is general enough that it's useable outside of a very specific task? We might be able to help each other.
Software related, but not programming, so I didn't find another place to ask:
Time lapse photos have been fashion among photo nerds for some time - usually using a camera monted in the same position for hours, days or months. Results may be fascinating, or boring, but they are usually OK from a technical point of view. Then you have those who take a self portrait, or a photo of their kids, every day or week, and put together as a movie, which usually doesn't look like a time lapse at all - just a spastically flickering kaleidoscope of messy setups.
I really would like to make decent time lapse portraits! So I am considering two measures to improve the quality:
First, I need a camera that can be hooked up to a PC as a "viewfinder". In principle, any USB webcam satisifies, but I would prefer the quality of a decent DSLR. The viewfinder image would not be displayed directly, but XORed with the previous photo in the series. If the person is unchanged from the previous photo, and sits in exactly the same position, the screen would be pitch black. There will always be some differences - you would see some outline of the face, but the subject may be instructed how to move the head to make the image as black (i.e. as close to the previous one) as possible, before clicking the release button. I guess I would be able to program this myself.
Second... This alone would give me a lot better time lapse series that what we frequently see e.g. on YouTube. But I would like to improve it even further: Rather than displaying the original photos, I would like to use intermediate ones: Merging photos n and n+1 into an n+0.5. I would like to be flexible so that I could merge n-1, n, n+1 and n+2 into n+0.5 as well (with less weight on the more "remote" inputs than on the closer ones).
I've seen lots of talking about morphing photographs this way, but not many products. The products I have found have been far from freeware, mostly complex professional packages at several hundred USD or more. I may have overlooked some obvious cheap or free alternative .
What would you use to merge two+ almost-indentical photos into one that picks up elements from all the input sources?