What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 145 Stack Exchange communities.

As per Jeff's suggestion in this comment:

You can use this question as a formatting sandbox. You can

  • edit this question itself (Community Wiki questions such as this one require 100 reputation to edit)
  • post answers to this question (Since this question is protected, this requires earning 10 reputation on this site)
  • post comments to this question or its answers
  • test suspected bugs with the editor

Beware that since the changes to syntax highlighting in December 2010, and the inline hints added March 2011, no syntax highlighting is applied unless the question's tags or an inline hint enable it. So, to test highlighting here in the sandbox:

  1. On the start of a line, specify a language inline using <!-- language: lang --> hints, and indent the code 4 spaces as usual. There is a full list of hints (scroll down a little).

    <!-- language: lang-html -->
    
        While not hinted otherwise: <html></html> source <b>goes</b> "here".
    
    <!-- language: lang-js -->
    
        var a = 3;
        while (not (a > 0)) {
            alert("JavaScript code <b>goes</b> here.");
        }
    
  2. Or set some language tags to this question:

    • See the explanation and the list of languages.

    • Adding clashing tags, such as both and , enforces a fallback to default, which is different from "no highlighting". (These tags are currently set on this question.)

  3. Or:

    • Save your post.

    • Use something like Firebug (Firefox), Web Inspector (Safari, Chrome) or Developer Tools (Internet Explorer 8) to edit the resulting HTML. To open Chrome Dev Tools, press F12

    • Find the <pre> element and add the attribute class="prettyprint", or change it into something more specific, like class="lang-vb prettyprint".

    • Run the following in the location bar: javascript:prettyPrint();

share|improve this question

352 Answers 352

<table>attempting to inject a *not supported tag</table>

<p>or an allowed one?</p>

*http://meta.stackexchange.com/a/135909/179635

edit: it is pointless, they are escaping &lt; and &gt; correctly

but well, I managed to find a way to prevent them to stripe off non supported tags :)

share|improve this answer

On my E8200 box this doesn't occur, but on my Atom N450 netbook (both running OpenSuse 11.2), whenever I read the CPU's TSC, the returned value is mod 10 == 0, i. e. it is without remainder divisible by 10. I'm using the RDTSC value for measuring times that interesting pieces of code take, but for the purpose of demonstration I've made up this little program:

        .text
        .global _start

_start: xorl    %ebx,%ebx
        xorl    %ecx,%ecx
        xorl    %r14d,%r14d
        movb    $10,%cl
loop:   xchgq   %rcx,%r15          # save to reg
        cpuid
        rdtsc
        shlq    $32,%rdx
        xorq    %rax,%rdx          # full 64 but of RDTSC
        movq    %r14,%r13          # save the old value
        movq    %rdx,%r14          # copy current
        movq    %r14,%rsi          #  argv[1] of printf()
        subq    %r13,%rdx          #  argv[2] (delta)
        leaq    format(%rip),%rdi  #  argv[0]
        xorl    %eax,%eax          #  no stack varargs
        call    printf
        xchgq   %rcx,%r15
        loop    loop

0:      xorl    %eax,%eax
        movb    $0x3c,%al
        syscall

        .size   _start, .-_start

        .data
format: .asciz     "rdtsc: %#018llx = %1$llu -- delta: %llu\n"

(I usually use my own routines for converting, but to prevent readers from suggesting that the error might be there, I'm just using printf() here.)

With the above code, the output is (for example):

rdtsc: 0x000b88ef933ffd06 = 3246787292822790 -- delta: 3246787292822790
rdtsc: 0x000b88ef9342fcf4 = 3246787293019380 -- delta: 196590
rdtsc: 0x000b88ef93435dca = 3246787293044170 -- delta: 24790
rdtsc: 0x000b88ef9343b43c = 3246787293066300 -- delta: 22130
rdtsc: 0x000b88ef93440c34 = 3246787293088820 -- delta: 22520
rdtsc: 0x000b88ef9344604e = 3246787293110350 -- delta: 21530
rdtsc: 0x000b88ef9344b4d6 = 3246787293131990 -- delta: 21640
rdtsc: 0x000b88ef9345085a = 3246787293153370 -- delta: 21380
rdtsc: 0x000b88ef93455d96 = 3246787293175190 -- delta: 21820
rdtsc: 0x000b88ef9345b16a = 3246787293196650 -- delta: 21460

As can be easily seen, the delta varies in reasonable amounts. But conspicuous (not to say conspired ;-) is that the least significant decimal digit is always 0.

I've observed this phenomenon for more than two years now, and stackoverflow.com is not the first address where I make this issue public. But nowhere I got a reasonable answer yet. The ideas we (me and other people out there) came up with, are that

  • the TSC is incremented only every 10th cycle, but then by 10, or
  • the TSC is internally updated correctly, but reflected to the outside only every 10th cycle, or
  • the TSC is incremented by 10 each cycle.

None of these points really make sense, however. I should have actually run a program like that on the E8200 (which is currently out of order) to see if the order of magnitude of the deltas is the same or only a tenth of those in the above output. (Any volunteers?)

Googling didn't help, Intel's manuals did neither.

When discussing with other people, there was no-one else who experienced the same behaviour. If it had to do with the kernel, then at least 3 versions were affected, but then... what does the kernel have to do with it?

I've also had the netbook in service, and it came back with a new motherboard — implied a new CPU, so at least two individual entities of N450 must be affected.

I've also took measures against clock frequency changes (and no matter what frequency I fixed the clock to, the values varied only in the expected range (the same as shown)), and switched off HT, though these should actually help to get some other least significand digits, rather than preventing them. But just to be sure.

Well, if anyone wants to run the program on their machine, the command line is (provided you save the source in a file rdtsc.s):

as rdtsc.s -o rdtsc.o
ld --dynamic-linker=/lib64/ld-linux-x86-64.so.2 rdtsc.o -L /lib64 -l c -o rdtsc

In order to build it with the gcc frontend, i. e.

gcc -l c rdtsc.s -o rdtsc

you must add (or replace the _start: label with) a main: label and make it global.

share|improve this answer
#include <unordered_map>

int main() {
    std::unordered_map<int,int> m;
}

Testing two edits without a second edit summary. This is the first edit. This is the second edit. A third unsummarised edit.

share|improve this answer
1  
Bold text = Bold text and Italic text = Italic text or Italic text = Italic text –  TheLQ Jun 30 '10 at 19:15

And this is a...

Spoiler!

share|improve this answer

Multi-line spoiler:

Spoiler line 1 (note the two spaces at the end of this line and the next)

Spoiler line 2

share|improve this answer

URLs cannot contain parentheses?

Is it the space?

It works with urlencode though

share|improve this answer

testing slashes escaping in backticks code in answers \, \\ and \a, \\a

share|improve this answer

Code:

this is
a test

Result:

this is a test

share|improve this answer

Testing markdown. Thanks Arjan

valid XHTML

unfunny.

unfunny.

Oh gee look, you can so too underline in Stack Exchange sites:

 ̲u̲n̲d̲e̲r̲l̲i̲n̲e̲ ̲

 ̳u̳n̳f̳u̳n̳n̳y̳

 ̳u̳n̳d̳e̳r̳l̳i̳n̳e̳ ̳

  ̲̅M̲̅C̲̅M̲̅X̲̅C̲̅I̲̅X̲̅ ̲̅

  ̲̅m̲̅c̲̅m̲̅x̲̅c̲̅i̲̅x̲̅ ̲̅
share|improve this answer
share|improve this answer
1  
​​​​​​​​​​​​​​​ –  brasofilo Sep 10 '13 at 23:29

Mouse over the left of the tower of hello

Yay you can follow instructions hello

Apparently <kbd> is immune to spoilers

hi

hi again

hi yet again

potato

why is this text drifting out

help

! spoilers don't work now?

! hey that's messed up


now they do?!?!

share|improve this answer

I've always wondered how to put a backtick in a backtick, now I know. Use 2 backticks as delimiters. ``.

SELECT `a` from `table` where `b`=`c`;

share|improve this answer
1  
Documented here, Rocket. –  Arjan Feb 4 '13 at 17:52
starts with codez

w00t woot

share|improve this answer

Testing lists with large code blocks

  1. Test

    0
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    

    Next one has no leading text

  2. 0
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    
share|improve this answer

<pre><code> has highlighting too:

Look ma, <em style="xyz">highlighting<em>!
share|improve this answer

what is this magic dust that causes things to appear

share|improve this answer

Acabáis de entrar en una de nuestras góticas basílicas, y es la hora en que con toda pompa se oficia ante los fieles. Los cánticos sagrados y las plegarias fervorosas adquieren resonancia en los ángulos del templo. Las flores silvestres esparcidas por todo el pavimento «ofrecen mil olores al sentido». El incienso que arde en los pebeteros del altar suspende por algunos instantes vuestro pensamiento, y os pone en deseo de reclinar la cabeza para recibir en plácido desmayo las tristes y graves melodías del órgano. Todo es paz y sosiego. Los ruidos mundanales no quieren vibrar en aquella atmósfera seráfica.

Si oís al orador de que ahora estoy tratando, experimentaréis sensaciones análogas. Parece que no vive en medio de la lucha de creencias y doctrinas cuyo fragor conturba nuestros ánimos, y su oratoria es, pudiéramos decir, extramundana. En los momentos más críticos de la contienda, cuando el coraje inyecta de sangre los ojos de los héroes y la muerte cierne sus alas sobre el campo de batalla, levántase un orador con severo continente, saca del bolsillo una encíclica romana, y da comienzo á su lectura, que impasible y tranquilo hace prolongar un buen lapso de tiempo. ¡Quién lo diría! Esta lectura es la lluvia copiosa y refrescante que apaga los ardores de la tierra. En adelante, los oradores se levantan á hablar entumecidos, y la sesión figura padecer de reumatismos.

Sigamos con el agua. No escucháis los ruidos medrosos y solemnes de poderosa catarata que se despeña, sino el susurro monótono del arroyo que serpea entre yerbas aromáticas, y al cual acompaña el no menos triste y monótono rumor que el viento produce en los árboles. En vano anheláis nuevas y variadas emociones. El orador, como la Naturaleza, languidece sin morir jamás. Navegamos por el mar Muerto, sin que un soplo de la brisa hinche nuestras velas.

Muchas veces me he preguntado: ¿qué actitud pensaría tomar el Sr. Perier dentro de la Convención francesa? Después de las enrojecidas palabras de Marat, ¿cómo sonarían sus discretas disertaciones? De aquella Montaña partían torrentes espumosos y violentos huracanes. ¡Qué cefirillos tan suaves llegarían si el Sr. Perier se viera en ella!

Las distancias que de su homónimo Casimiro Perier le separan son inmensas. Aquel orador, cuya energía borrascosa tiranizaba á todas las fracciones de la Cámara, se hubiera visto en grave aprieto ante la cristiana mansedumbre de su tocayo. ¡Bienaventurados los mansos, porque ellos poseerán la tierra!

Para figurarse con cierta exactitud á este orador, es indispensable haber contemplado mucho tiempo un cielo siempre límpido, que si primero serena y dulcifica nuestro espíritu, luego empezará á causarnos tedio y concluirá por abrumarnos. ¡Con qué ansia pedimos entonces á ese cielo que en sus senos profundos condense los vapores que recibe y un momento nos cubra al astro del día! ¡Ay! ¡en el cielo del pensamiento del Sr. Perier jamás ha estallado tempestad alguna!

La dicción es correcta y el ademán sosegado; pero le falta color y animación.batallador, ni mucho menos para engolfarse en el laberíntico juego de la ironía y la sátira.

Nada hay que nos disguste tanto como el gracejo del Sr. Moret cuando graceja. Con aquel rostro afeminado, con aquellos ojos que, aun queriendo reflejar malicia, siguen expresando la misma amable inocencia, con aquel aire soñador, con aquella voz conmovida y temblorosa que frecuentemente se anuda en la garganta, produciendo un movimiento de simpatía en el auditorio, ¿aspira el Sr. Moret á ser zumbón? ¿No comprende que el chiste que sale de su boca suena como un suspiro?

Abandone el ilustre orador esa forma, que se hizo para almas más revueltas y tempestuosas que la suya; nagrias que puedan herir ninguna susceptibilidad.

share|improve this answer

Some code formatting for testing of the problem outlined here: What is Wrong with Code Formatting.

asyncTask.ContinueWith(task =>
{
    // Check task status.
    switch (task.Status)
    {
        // Handle any exceptions to prevent UnobservedTaskException.             
        case TaskStatus.RanToCompletion:
            if (asyncTask.Result)
            {
                // Do stuff...
            }
            break;
        case TaskStatus.Faulted:
            if (task.Exception != null)
                mainForm.progressRightLabelText = task.Exception.InnerException.Message;
            else
                mainForm.progressRightLabelText = "Operation failed!";
        default:
            break;
    }
}

This does not format correctly.

share|improve this answer

Just testing:

Code formatting doesn't work well with NO-BREAK SPACE

-38 y1  +  35 y2  +  31 y3  = -3047

  11 y1 + -13 y2 + -34 y3 = 784

  34 y1 + -21 y2 + 19 y3 = 2949

But works with space (ASCII 32)

-38 y1  +  35 y2  +  31 y3  = -3047

11 y1  + -13 y2  + -34 y3  = 784

34 y1  + -21 y2  +  19 y3  = 2949
share|improve this answer

This is a test for strikethrough.

share|improve this answer

The original standard for mailto: links, RFC 1738, says this:

A mailto URL takes the form:

mailto:<rfc822-addr-spec>

where <rfc822-addr-spec> is (the encoding of an) addr-spec, as specified in RFC 822 [1].

Under that definition, no proper name could be included.

But the mailto: section of RFC 1738 has been superseded by RFC 2368, which allows (among other things, including predefined subject lines) for an RFC 822 mailbox specification—which includes a proper name.

TL;DR: mailto:Fred Foo<foo@example.com> should work (and does, for me; you may have to encode the space, i.e., mailto:Fred%20Foo<foo@example.com>).

share|improve this answer

I'd like to see if this causes a formatting problem as described here (this answer is thus a word for word copy of this answer):


I generally get a bad feeling about code that has one view model directly communicating with another. I like the idea that the VVM part of the pattern should be basically pluggable and nothing inside that area of the code should depend of the existence of anything else within that section. The reasoning behind this is that without centralising the logic it can become difficult to define responsibility.

On the other hand, based on your actual code, it may just be that the ApplicationViewModel is badly named, it doesn't make a model accessible to a view, so this may simply be a poor choice of name.

Either way, the solution comes down to a break down of responsibility. The way I see it you have three things to achieve 1) Allow the user to request to connect to an address, 2) Use that address to connect to a server 3) Persist that address. I'd suggest that you need three classes instead of your two.

public class ServiceProvider
{
    public void Connect(Uri address)
    {
        //connect to the server
    }
} 

public class SettingsProvider
{
   public void SaveAddress(Uri address)
   {
       //Persist address
   }

   public Uri LoadAddress()
   {
       //Get address from storage
   }
}

public class ConnectionViewModel 
{
    private ServiceProvider serviceProvider;

    public ConnectionViewModel(ServiceProvider provider)
    {
        this.serviceProvider = serviceProvider;
    }

    public void ExecuteConnectCommand()
    {
        serviceProvider.Connect(Address);
    }        
}

The next thing to decide is how the address gets to the SettingsProvider. You could pass it in from the ConnectionViewModel as you do currently, but I'm not keen on that because it increases the coupling of the view model and it isn't the responsibility of the ViewModel to know that it needs persisting. Another option is to make the call from the ServiceProvider, but it doesn't really feel to me like it should be the ServiceProvider's responsibility either. In fact it doesn't feel like anyone's responsibility other than the SettingsProvider. Which leads me to believe that the setting provider should listen out for changes to the connected address and persist them without intervention. In other words an event:

public class ServiceProvider
{
    public event EventHandler<ConnectedEventArgs> Connected;
    public void Connect(Uri address)
    {
        //connect to the server
        if (Connected != null)
        {
            Connected(this, new ConnectedEventArgs(address));
        }
    }
} 

public class SettingsProvider
{

   public SettingsProvider(ServiceProvider serviceProvider)
   {
       serviceProvider.Connected += serviceProvider_Connected;
   }

   protected virtual void serviceProvider_Connected(object sender, ConnectedEventArgs e)
   {
       SaveAddress(e.Address);
   }

   public void SaveAddress(Uri address)
   {
       //Persist address
   }

   public Uri LoadAddress()
   {
       //Get address from storage
   }
}

This introduces tight coupling between the ServiceProvider and the SettingsProvider, which you want to avoid if possible and I'd use an EventAggregator here, which I've discussed in an answer to this question

To address the issues of testability, you now have a very defined expectancy for what each method will do. The ConnectionViewModel will call connect, The ServicePRovider will connect and the SerttingsProvider will persist. To test the ConnectionViewModel you probably want to convert the coupling to the ServiceProvider from a class to an interface:

public class ServiceProvider : IServiceProvider
{
    ...
}

public class ConnectionViewModel 
{
    private IServiceProvider serviceProvider;

    public ConnectionViewModel(IServiceProvider provider)
    {
        this.serviceProvider = serviceProvider;
    }

    ...       
}

Then you can use a mocking framework to introduce a mocked IServiceProvider that you can check to ensure that the connect method was called with the expected parameters.

Testing the other two classes is more challenging since they will rely on having a real server and real persistent storage device. You can add more layers of indirection to delay this (for example a PersistenceProvider that the SettingsProvider uses) but eventually you leave the world of unit testing and enter integration testing. Generally when I code with the patterns above the models and view models can get good unit test coverage, but the providers require more complicated testing methodologies.

Of course, once you are using a EventAggregator to break coupling and IOC to facilitate testing it is probably worth looking into one of the dependency injection frameworks such as Microsoft's Prism, but even if you are too late along in development to re-architect a lot of the rules and patterns can be applied to existing code in a simpler way.

share|improve this answer

You must log in to answer this question.

protected by Oded Nov 17 '14 at 15:36

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged .