HN user

showdead

33 karma
Posts0
Comments30
View on HN
No posts found.

x86 is notable in that you can cause a branch or jump without calling a branch or jump instruction.

I'm curious what you are referring to here. Are you talking about CMOV? Or INT/SYSCALL/SYSENTER? Or just the ability to trigger a fault handler? Or semantic games like push followed by ret?

Not disputing this, but the UX of navigating to a bank's website using Chrome on XP and getting redirected to a "Download Chrome" link when there isn't a newer version for your OS isn't a great experience either.

For N=104, if you look at the PDF and zoom in, you can see the blue circles have a line rather than a dot. Admittedly, it is hard to see why the blue circles do not have enough freedom to move slightly away and become magenta (particularly the one on N=108).

That might be true, but the reason for this recommendation is because botulism spores can exist in honey and the systems (mostly gut bacteria, from what I understand) of infants are not developed enough to deal with it, unlike older children and adults.

AFAIK, spores have not been observed in US-sourced honey, but that is no guarantee.

I basically gave up on twitch after it stopped working on the Xbox 360. The app just shows thumbnails but never streams. It doesn't work right in the browser for me either, probably due to running an old version of Chrome, but it used to work, and the browser hasn't changed, so I blame site "upgrades" (read: changes that break what was previously working.)

The Bloom Clock 7 years ago

The paper talks about dynamic networks where nodes are being added or removed. If m and k are fixed, does it set an effective upper bound on the number of nodes? How do you address the possibility of multiple nodes having colliding hash values?

If you have array @foo in perl, $#foo is the index of the last element of the array, which is just the size of the array -1. So if @foo is undefined, $#foo is -1.

Using a variable instead of 'foo' is a symbolic reference, so this is effectively using the symbol table as the associative array. This means that this solution also gets it wrong if your file contains a line that matches the name of a built-in variable in perl. That would be tough to debug!

If your file contains

    This is the first line of the file
then during execution of
    ++$#$_
the result is the same as if you had written
    ++$#{This is the first line of the file}
So the variable @{This is the first line of the file} goes from undefined to an array of length 1, turning $#{This is the first line of the file} to 0.

Incidentally, this is why the snippet fails to work for a line repeated more than once: for each occurrence of the expression, the value returned is in the sequence -1, 0, 1, 2, 3, ... so it is only false for the second occurrence.

Using preincrement instead of postincrement means the values returned are 0, 1, 2, 3, ... which means that inverting the test makes it false for every occurrence after the first.

The popularity of lobster is generally attributed to it being canned and served on the railroads (thinking that they could get away with serving cheap meat to customers in the midwest unfamiliar with it) and then people developing a taste for it.

Calculator is interesting in that there is a physical button on (many) keyboards to open it. Ironically enough, I encountered a bug with the Windows 10 calculator that caused it to crash upon opening: the window would draw, then a second later vanish.

Turned out that it was due to something profile related: re-registering the Windows App Store fixed the issue. Yes, that's right, a dependency on the app store can prevent you from running Calculator.

The US does have a television network called PBS (Public Broadcasting Service) which is a non-profit organization although it is only partially government funded (they generally ask for donations from viewers about once a year). The quality of the reporting is usually pretty good, but news is only a subset of their programming, so it doesn't compare to something like the 24-hour cable news channels.

Well, there is this approach:

    #include <stdio.h>
    #include <stdint.h>
    
    #define FIZZ(x)         (x & 0x0924)
    #define BUZZ(x)         (x & 0x0210)
    #define FIZZBUZZ(x)     (x & 0x4000)
    #define NONE(x)         (x & 0x34cb)
    
    void fizzbuzz(size_t n_max)
    {
        uint32_t x = 1;
        for (size_t i = 1; i <= n_max; i++)
        {
            if (FIZZ(x))
              printf("fizz\n");
            if (BUZZ(x))
              printf("buzz\n");
            if (FIZZBUZZ(x))
              printf("fizzbuzz\n");
            if (NONE(x))
              printf("%d\n", i);
            x <<= 1;
            x |= (x >> 15);
        }
    }
    
    int main(int argc, char **argv)
    {
        fizzbuzz(100);
    }
It's less costly than integer division, and I'm not sure it's what you had in mind. The output here still duplicates the strings.

Glad to see that this was not dropped! I did notice that matasano.com/articles/crypto-challenges/ has been returning a 404 for the past month or two.

Will there be a way to automatically submit / advance, for those of us that would like to do them without encountering spoilers?

That doesn't really do much for those of us with backgrounds that do not include Javascript / web development.

Such as embedded processors, just to use an example that might be exactly the type of people who would find this challenge extra interesting.

Full disclosure: I did several of these, but the browser issue is probably what kept me from doing more. It did not run in my (admittedly outdated) browser of choice, so I had to do some Chrome wrangling, which was the opposite of fun.

This is one of the points where British English and American English diverge. Candy in the US is the generic word with the identical meaning as what in the UK is just called "sweets". Same thing as trousers / pants, although not quite as amusing.

Stripe CTF Writeup 14 years ago

I got to level 6 before I quit. I'm certain I could complete it but I could not justify spending any more time on it.

In contrast to their previous ctf, this time the contest itself seemed less technically robust. The site didn't work in a browser without javascript support (elinks). On level 6, the "social network" app did not work with the (quite old) version of Chrome I have; Opera could post a single message after loading the page, but after that it would silently fail to post any further messages.

I still have the shirt from the previous ctf. Dealing with disassembly was a lot more enjoyable than trying to learn jquery.