Can there be such a thing as forward in time (explicit scheme) and forward in space as well (downwind) for any transport equation? - explicit

I have come across a lot of cases of FTCS (forward in time and centered in space) for any type of advection and/or diffusion equations.
Now, I know this is a silly question. I apologize, but I really don't know the answer to this!!!
Is there any way possible to have a forward in both time and space explicit scheme for any transport equation containing either advection or diffusion or both?
This is a very basic knowledge that I feel I really need to know!
If it is not possible to have a explicit scheme of forward difference in space for any transport equation, then why not?
Please and thank you very much.
Mousumi

Related

Slash or Backslash culture assistance

This isn't a technical question... I've been a programmer for years but I've never figured out a sure-fire way of remembering or "explaining to people over the phone" what the difference is between a forward slash and a backwards slash (/ or ).
I always end up saying "the one with the top bit going to the left/right" or vice versa.
I know it can't just be me that struggles with this pretty simple thing on a day to day basis, so has anyone got any methods or ways of remembering/explaining which you mean (I'm looking for a "stalactites hang on tightly to the ceiling" type analogy)
Also, this question is based purely on curiosity, I can live without the answer and if this is an inappropriate type of question please accept my apologies in advance if so.
Some ideas:
Forward
"It is what you see when you use your web-browser."
"It's the same one most people make when writing."
"Hold down shift and hit the question mark."
"It points towards your left elbow."
Back:
"You probably don't see this one much. Look between your "Enter" key and the "Backspace" key."
If the guy is running left to right (ie in the same direction you read text, so this is intuitive) then the forward slash is leaning forward, and the backslash is leaning back.

How do you correct repetitive typing mistakes?

I find myself making repetitive mistakes typing keywords and sentences in my code comments. I notice its getting worse since my fingers just keep "practicing" incorrect words.
Is there any solution to this? Like a typing tutor designed to help correct repetitive mistakes?
The only way to correct this is to retrain your muscle memory. If it's important enough to take the time, the only way to retrain muscle memory is repetition.
For example, I tend to spell the word "the" as "teh" because of the same scenario you're asking about. To retrain the memory I would just spell the word over and over, starting slowly, striving for 100% accuracy, and increasing the speed. It's the same technique I use to get better at Guitar Hero.
Try a different keyboard layout. That way you start from scratch and completely retrain your fingers. Done properly you should be able to type just as fast as you could with qwerty in a few weeks. For example Dvorak.
</shameless promotion of dvorak>
If this were SMBC, the alt-text drawing thingy would be a giraffe hooker fluttering her eyelashes.
Try texter from one of LH's editors.
Maybe a book? Mastering Computer Typing: A Painless Course for Beginners and Professionals I hadn't read that, but in amazon has good reviews
One of the best websites to avoid repetitive mistakes is http://www.keybr.com/
It will actually keep track of the letters with which you are making more mistakes and generates typing lessons accordingly.
I would recommend practice on TouchTyping.guru - you can choose there the test with most popular words, so you'll quickly improve your general performance - making a mistake will make this app to generate next words with the letter you were wrong with.
And if you have problems with given letters you can try learning there putting restriction to the number of letters used to form the words. It puts focus on the last letter you choose, and they are also ordered by frequency of occurence in given language.

Uses for Wolfram Alpha in programming

Now that Wolfram Alpha is released, I am interested in finding out if it can be used as a time-saver in daily programming.
What would you use Wolfram Alpha to do, that earlier took you more time to do manually?
I guess the "Web and Computer systems"-examples is a good start, but there must be more hidden gems that will be really practical for us programmers.
A short list of examples:
MD5-hashing / SHA-hashing
Quick lockup of unicode and HTML-codes for symbols
Color-codes
Please only include one search query per answer, then we can rate them to get the best ones to the top.
(I made this one a community-wiki, since we will be using the voting for ranking)
Note: If some of the links in the answers don't work (eg: wolfram doesn't find any results, then replace all + with spaces..
I might 'save time' by not playing around with it and doing real work instead. :)
Calculating lift coefficients of NACA profiles (example).
(I made a program for this, but it's nice to have the option to do it quick)
I probably won't use it for anything. I don't know about you, but I deal with enough black boxes on a daily basis, and I'd rather use the ones that have been tried and tested thoroughly.
This might come back to haunt me later, but it strikes me that although there might be a point to WA used in a mechanical manner, from my perspective I'm thinking it's not the hard calculable information questions which are the problem which needs to be solved, it's the soft human data which defies classification or rigid modelling. Google seem to understand this, not sure Stephen Wolfram does.
OTOH it could be that anyone can be Colin Laney now.
Someone double check me here:
The MD5 hash of "Wolfram Alpha" (no quotes) is:
882b 0be2 79eb 7e88 86cd 3dae 19c1 d267
And not:
a615 9984 9aee b7be 3091 68bc 0ab7 ?
EDIT: The hash changes every time given the same query...what kind of hash is this?
http://www14.wolframalpha.com/input/?i=MD5%22Wolfram+Alpha%22

What is the best way to learn Touch Typing? [duplicate]

This question already has answers here:
Closed 13 years ago.
Duplicate
How do I improve my Typing Skills?.**
I tried the test on http://speedtest.10-fast-fingers.com/. I reach only:
You type 337 characters per minute You
have 58 correct words and you have 1
wrong words
How can I improve my typing speed? What free resources do you know of?
Should I learn the Dvorak Keyboard?
Practice is the best way to get faster. I've found TypeRacer to be a fun and easily accessible game. Using it I quickly got from around 55 words per minute to over 70.
I removed all of the key caps from my IBM Model-M. Since I can't see the letters, I was forced to learn their positions and type without looking at the keys other than to initially orient my hands. When you're not able to take shortcuts, you tend to learn very quickly.
Mario taught me.
I also took the test and reached 371 characters with one mistake. However, for programming, I would not see this as a bad result. I'm more worried about how to use tools like Intellisense and code templates better to speed up my coding. The jedi coding demo shows that you can get much higher gains that way than by doubling your typing speed.
No need to learn Dvorak according to XKCD (and more here).
I also remember reading in The Design of Everyday Things that QWERTY actually does quite a good job or spreading the commonly used letters across your fingers and whilst the Dvorak keyboard is a little better than QWERTY the benefits aren't significant enough to justify making the change. (If I can find my copy I'll try and put up an exact quote.)
As with all things: practice makes perfect. Making posts on StackOverflow is a start :)
Unless if you want to win typing contests, a Qwerty or Azerty keyboard will work just fine.
You don't need to learn Dvorak. I can type 600+ Chars/minute on a querty pad, no problem.
The key is: Repetition, repetition, repetition.
What you're doing while you learn typing is creating new 'highways' straight form your brain's spelling center through your spine to your fingers.
Hence, a good typist will spell a word in his mind, and his fingers 'automatically' type those characters because there's a 10 lane highway from his brain to his fingers. In your case, it's a modest 3 lane highway.
Practice, practice, practice.
Good training for if you already know how to type : www.play4traffic.com
There's also loads of typing tutor programs available online, but the key is repetition and persistance.
My native language is Dutch, so in english it's not as good. I tried the test you gave:
317 points, so you achieved position 194065 of 2927935 on the ranking list
You type 476 characters per minute
You have 80 correct words and you have 4 wrong words
Why?
Why do you want to type more quickly? I seldom find that my fingers or typing speed are the issue when it comes to software development. Sure I have a fair speed, but programming is about SO much more than typing speed. I've been using a QUERTY keyboard since about 1983 so I guess repetition helps.
But learning to hold back on typing and thinking about what it is you're about to do is far more valuable IMHO.
Having said that, I would expect any developer to be able to type reasonably quickly using most fingers, or at least more than their two index fingers ;)
This game taught me a few years back.
The Typing Of The Dead
I can now type fairly quickly without looking at the keyboard. You need to learn to use the correct hand position. Then you must have good discipline and only use the correct finger to type the correct letters. I even went so far as to delete correct chars typed with the wrong finger.
It takes time, and you will almost definitely go slower before you go faster, but it is worth it.

Antialiasing alternatives

I've seen antialiasing on Windows using GDI+, Java and also that provided by Photoshop and Gimp. Are there any other libraries out there which provide antialiasing facility without depending on support from the host OS?
Antigrain Geometry provides anti-aliased graphics in software.
As simon pointed out, the term anti-aliasing is misused/abused quite regularly so it's always helpful to know exactly what you're trying to do.
Since you mention GDI, I'll assume you're talking about maintaining nice crisp edges when you resize them - so something like a character in a font looks clean and not pixelated when you resize it 2x or 3x it's original size. For these sorts of things I've used a technique in the past called alpha-tested magnification - you can read the whitepaper here:
http://www.valvesoftware.com/publications/2007/SIGGRAPH2007_AlphaTestedMagnification.pdf
When I implemented it, I used more than one plane so I could get better edges on all types of objects, but it covers that briefly towards the end. Of all the approaches (that I've used) to maintain quality when scaling vector images, this was the easiest and highest quality. This also has the advantage of being easily implemented in hardware. From an existing API standpoint, your best bet is to use either OpenGL or Direct3D - that being said, it really only requires bilinear filtered and texture mapped to accomplish what it does, so you could roll your own (I have in the past). If you are always dealing with rectangles and only need to do scaling it's pretty trivial, and adding rotation doesn't add that much complexity. If you do roll your own, make sure to pay particular attention to subpixel positioning (how you resolve pixel positions that do not fall on a full pixel, as this is critical to the quality and sometimes overlooked.
Hope that helps!
There are (often misnamed, btw, but that's a dead horse) many anti-aliasing approaches that can be used. Depending on what you know about the original signal and what the intended use is, different things are most likely to give you the desired result.
"Support from the host OS" is probably most sensible if the output is through the OS display facilities, since they have the most information about what is being done to the image.
I suppose that's a long way of asking what are you actually trying to do? Many graphics libraries will provide some form of antialiasing, whether or not they'll be appropriate depends a lot on what you're trying to achieve.

Resources