Hacker Newsnew | past | comments | ask | show | jobs | submit | more mikeokner's commentslogin

I would personally discourage you from incorporating as a Delaware C corp unless you absolutely have no other option. On top of the registered-agent fees, Delaware charges a minimum of about $700/year in taxes. For a company with no revenue, no liability, and no investors, it's extremely expensive and offers no benefit over any other corporate entity registered elsewhere.

You're probably far better off filing for something like a Wyoming LLC[0] for about $150 initially and $75/year after that (if an LLC will work for you internationally).

I'm not an accountant or attorney and I strongly suggest paying one for at least an hour of their time to get some professional advice.


I think Delaware has no state corporate income tax and that's why a lot of businesses incorporate there.


> We don't solve problems, but we create some amazing products that people want.

Sure sounds like you're solving someone's problem ;)


You have to find a broker that will sell them to you. Usually these things aren't vanilla options, they're some sort of quasi-option derivative.


> Usually these things aren't vanilla options, they're some sort of quasi-option derivative.

Options are derivatives.


It's tricky for interviewers because a lot of candidates claim to be "senior" yet can't even solve fizzbuzz on a whiteboard. Look for jobs with "Lead" or "Architect" in the title, but beyond that, expect that you'll have to go through some sort of stupid process as a bullshit screen.


Can confirm, have interviewed people for a senior position with a wonderful resume with 20+ years of experience, who seem to have never seen a computer before. Flip the bit endianess of a word was one of the problems, and I saw a guy who literally (supposedly) did embedded software for the space shuttle just grind for 45 minutes and somehow not make any progress. Like it was impressive. I would have expected a random walk to make more progress.


Do you mean a word by 8 bits? Or 16 or whatever the architecture defines as a word?

So 1000 gets flipped to 0001 ?


It was a uint32_t in this case (we do a bunch of ARM stuff mainly so without any other context, that's what 'word' means to me). And yeah, exactly, 1000 to 0001. We had an environment setup with a bunch of test cases and a stub function to fill in. When you come in, push the button, everything compiles, but most of the tests fail because the function is just

    uint32_t flip_bit_endianess(uint32_t word) {
      return word;
    }
I think there's actually a couple passing tests initially that flip to the same thing.

And like I said, this is for an experienced embedded software position. Ironically enough I care less about showing that you can code in junior positions. Those are more "does it seem like you can learn?"


Is there an efficient solution to this? I'm relatively used to switching byte orders, but I've never encountered a situation where I needed to flip bit orders before. I could certainly do it with a bunch of shifts and ors, but that seems awfully inelegant for an interview question. (A quick search indicates that there isn't any instruction that makes this easier than bit twiddling, but I'm not sure if I'm missing something.)

Where would this be used in the real world?


> Is there an efficient solution to this?

To be real, I'm not even looking for a particularly efficient solution; just "can you make the tests all turn green with ors and shifts" is what I'm looking for.

There is a O(log(N)) N is the number of bits solution where you swap each pair of bits, and then swap pair of pairs, and then each pair of pair of pairs, and so on. I want to say that we clocked it to 15 cycles for a 32 bit word on a semimodern superscalar core that can do each half of each pair in parallel until you or them back together.

All of that being said, I'm really just looking for a for each bit, shift and or it into the right place, O(N) solution. It's mind boggling how many people with wonderful resumes can't do that in an interview time block. Hence why I don't have a lot of patience for the whole "well I'm senior and have a great resume, so you shouldn't have to make me do a stupid coding thing that's beneath me" mindset.

> Where would this be used in the real world?

Yeah the problem itself is a little contrived, but it's a good use of the sort of logic and putting the pieces in the right place at the right time sort of skills you use in embedded programming, and more so HDL, which we require of our software engineers too. And I have seen it in the real world a few times on a serial line that has the wrong bit endianess.


I haven't used bitwise operators since college (approaching 8 years ago) but wanted to try this as a fun exercise during the NFL playoff game. Here's what I came up with -- mostly untested.

[edit] Note this is obviously for 16-bit integers.

int flip_endian_helper(int num, int i) {

    if (i == 16) {
     return 0;
    }

    int shift = 15 - 2*i;
    int workingBit = num & (1 << i);
    int partial = shift > 0 ? workingBit << shift : workingBit >> (shift * (-1));
    
    return partial | flip_endian(num, i + 1);
}

int flip_endian(int num) {

  return flip_endian_helper(num, 0);

}


> 2017 was a pustule of a year, politically and personally; the general anxiety around the degradation of American democracy made it hard to get much done.

If you're the type of person to make excuses for your lack of personal achievement due to the Twitter ramblings of politicians, then I have news for you: you're never going to be successful.


Totally uninformed comment. Signal the app relies on centralized servers to route messages & discover contacts. Signal the protocol (which is what Skype is rolling out) is a messaging encryption library that encrypts messages on the client using the other client's public key. Central servers (and anyone else in between the two clients) only sees encrypted gibberish, never plain text.


I was right there with you for a long time, but the touchpads on PC flagships have largely caught up. I switch between a Dell XPS 15 and a late-model MBP daily, and while I still give a slight edge to the mac, the Dell works well too and doesn't cause any frustration/pining.


That's coming from the client because the client has received a new public key with which to encrypt messages.


Looks like someone with a lot of money watched the third Matrix film and thought "I want one of those suits."


Cool, is there a way to use it to dynamically generate data (for streaming)? Would be nice to be able to just call something like .next() and get another record so a simulator can run for an indefinite period of time.


if you create a template and keep calling .gen_record(), i think it will do what you want. Template() does not implement python's __next__ or __iter__ at the moment, but that's a good idea - i'm very open to diffs :-D


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: