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


>You need to stay on top of things and communicate regularly, even if your client doesn't.

you have to tell them that they have to communicate regularly too. otherwise, how can business be done. how can issues be sorted out. they will blame you for the issues later, although they did not discuss them with you. aka cya syndrome.

if they continue not to do it, you should fire them. or use reverse signoff protocol.

"we mutually agreed at the start of this engagement, that if you don't sign off on acceptance of a given deliverable within x days, it is understood that you have accepted it and will pay for it".

If it happens more than once, leave them. it indicates they don't take you seriously.

all such terms should be put in the contract, initially.

if they don't agree to such mutually protective terms, don't sign the contract at all.

Negotiate a kill fee for the contract too.


Been there, seen that, got the t-shirt (and the scars), for many of the above points.

The kill fee idea, I got from this video:

"fuck you, pay me" by mike monteiro

https://youtu.be/jVkLVRt6c1U


>I would absolutely not offer freebies. That telegraphs desperation. Instead, offer a free initial consultation for a 1 hour meeting,

that is still a freebie, though, by definition. if you offer anything for free, it is a freebie.

and, offering a freebie does not necessarily signal desperation. i am not saying that one should not offer freebies, or even that one should. it all depends. and many variations are possible.

For example, escrow, via a services marketplace.


And I bet emacs has a mode for that too.

I've heard it's called falling, er, failing upwards.


looks like slashdot effect is ongoing for the site.


355 / 113

( = 3.1415929204 )

is one approximation I have read about, attributed by some, to ancient or medieval Indian or Chinese mathematicians.

https://en.wikipedia.org/wiki/Approximations_of_pi


How does it do the proving?


Spawns and calls z3 under the hood, I did let it cheat there because otherwise it's rabbit holes below rabbit holes all the way down :)


thanks.


Can Raku do something like this? I was lightly exploring it recently, and I thought I saw that something like this may be possible with it.


I'm not super familiar with Raku, but if RakuAST is what you had in mind it looks a bit different:

    use experimental :rakuast;
    
    my $ast = RakuAST::Call::Name.new(
      name => RakuAST::Name.from-identifier("say"),
      args => RakuAST::ArgList.new(
        RakuAST::StrLiteral.new("Hello world")
      )
    );
Looks more like "low-level programming an AST" (which I believe other languages offer as well), rather than using a bidirectional transform. I don't know how you'd get Raku code back out, for example.

Edit: I should have looked deeper, `DEPARSE` does exactly this:

https://docs.raku.org/type/RakuAST

Neat!


It also goes from source code to AST:

  $ raku -e 'say Q|say "Hello World!"|.AST'
  RakuAST::StatementList.new(
    RakuAST::Statement::Expression.new(
      expression => RakuAST::Call::Name::WithoutParentheses.new(
        name => RakuAST::Name.from-identifier("say"),
        args => RakuAST::ArgList.new(
          RakuAST::QuotedString.new(
            segments   => (
              RakuAST::StrLiteral.new("Hello World!"),
            )
          )
        )
      )
    )
  )


thanks, all.



Consider applying for YC's Summer 2026 batch! Applications are open till May 4

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

Search: