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

CTF stands for Capture the Flag. So with that definition you have exactly zero more information about the article then without it. So I assume next you want a short description of what it actually means, like "CTF (Capture the Flag) are security competitions where the objective is to break...", which is completely ridiculous to include in an article aimed specifically at the CTF crowd.


It is easier to search for keywords (Capture the Flag) vs acronyms (CTF) which likely resolve to other terms as well. Child trust fund is the first result when I put CTF into Google. Admittedly searching CTF security solves that issue. A quick link to an article on CTF to make the post digestible by outsiders seems reasonable enough.


So right click on HCKSYD and Google search that to get there! The rest of us don't want to be treated to infants that need to be spoonful.


Why should the author care to make it digestible to the crowd who is clueless on the matter? Their goal is to capture attention and start discussion within the community.

To me it doesn't seem reasonable at all. It's just entitled at best.


I read it as a suggestion vs a demand but I can see why you felt it was entitled. The author doesn't need to care and can take or leave the advice. In many ways it is a shame we don't have the concept of the Semantic Web as an extension to simple Hyperlinks.


Good communication should be the goal of all writing.


You wouldn't spell out URL, SSH or HTTPS on hacker news either. I understand it's frustrating, but you can't accommodate everyone.


No one is in a position to dictate individual people what their goals are. That's another example of entitlement.

As an individual author they are entitled to write whatever they want in their blogpost. I as a consumer of their writing am not entitled to anything


Good communication for who?


   ...which is completely ridiculous to include in an article aimed specifically at the CTF crowd.
What compels you to hold this belief?


For people who are confused by this comment: lol = laughing out loud!


Lots of love!


ROTFLMAO made my day!


That's the main reason, why I hope Google does not win this AI war.


I mean the inner select uses "limit 1", right? So it will usually (but not always as I said in another comment) only delete and return a single task.


Hmm, yep I didn't see that, thanks!

It's a confusing way to do do things to me, like, why not select ordered by task date limit 1? Still using for update and skip locked etc... hold the transaction, and update to 'complete' or delete/move the row when done? What's the advantage of the inner select like that?

And I'm still totally confused by:

    const [{ usr_id } = { usr_id: null }] = await sql`
        with usr_ as (
          insert into usr (email, password)
          values (${email}, crypt(${password}, gen_salt('bf')))
          returning *
        ), task_ as (
          insert into task (task_type, params)
          values ('SEND_EMAIL_WELCOME', ${sql({ usr_id })})
        )
        select * from usr_
      `;
This looks to me like usr_id would always be null?

I think the idea is great, I think I'm just struggling a bit with the code style, it seems to be "clever" in a way that increases cognitive load without a real benefit that I can see, but I suppose that's pretty subjective.


We use a similar approach.

Fun fact: A query like this will, once in a blue moon, return more than limit (here 1) row, since the inner query is executed multiple times and returns different ids, which is surprising for a lot of people. If your code does not expect that, it may cause problems. (The article seems to, since it uses a list and iteration to handle the result.)

  delete from task
  where task_id in
  ( select task_id
    from task
    order by random() -- use tablesample for better performance
    for update
    skip locked
    limit 1
  )
  returning task_id, task_type, params::jsonb as params 
You can avoid that by using a materialized Common Table Expression. https://stackoverflow.com/questions/73966670/select-for-upda...

Also, if your tasks take a long time, it will create long-running transactions, which may cause dead tuple problems. If you need to avoid that, you can mark the task as "running" in a short-lived transaction and delete it in another. It becomes more complicated then, since you need to handle the case that your application dies while it has taken a task.


This file from chapter 1 cannot be opened: arch/x86/kernel/entry_64.S ("Failed to load file").

It's also not visible in the directory tree on the left.

(Oddly enough another comment mentioned this already and is voted dead. Why?)


It must be a typo. The path should actually be arch/x86/entry/entry_64.S


I would also really like to know that!

It generally seems to be a thing in trading: https://databento.com/pcaps

There is also this (though this page does not specify what pcap means): https://www.lseg.com/en/data-analytics/market-data/data-feed...


Look up Corvil devices by Pico.

Commonly used in finance.

https://www.pico.net/corvil-analytics/


"For this initial test I’ll be comparing the free version of ChatGPT to the free version of Google Gemini, that is GPT-3.5 to Gemini Pro 1.0."

The free version of ChatGPT is 4o now, isn't it? So maybe Gemini has not gotten worse, but the free alternatives are now better? When I compare ChatGPT-4o with Gemini-Advanced (wich is 1.5 Pro, I believe) the latter is just so much worse.


It now says "GPT inaccessible or not found", when I follow the link. Would someone share the prompt here? I am also very interested.


Seems like the OP may have accidentally made it private.

I accidentally deleted the originally prompt message conversation I got from it, but here was the essence:

~~~ When the user gives a coding request, first respond with a text explanation list of files and/or functions that will meet the user's request. Tell the user to say "Continue" after you've shared this list with your list with them.

Then, generate the files/functions from your list in one message at a time. Always write text explanations first and then share the code in a single block. Ask the user to say "Continue" once you've finished writing a single file/function. Do this until you have completed your list. ~~~

I get pretty similar results from this prompt as I was getting from OP’s.


Oops sorry, made the wrong one private, it should be back on now


Thank you!


The removal of the parentheses does not change the behavior of the program. I guess that would not be considered "breaking" the code.


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

Search: