HNHacker News
TopNewBestAskShowJobs

gchq-7703

77 karma · joined October 11, 2018

submissionscomments
gchq-7703··on Ask HN: Why did my free tools site with 600 tools make almost $0 after 2 years?
CyberChef has been around for many years now, which definitely helps. It also has no plans for monetization and runs entirely locally, so there's no chance of a 'rug pull'. It was a long journey to the current ~800k monthly users though. I suspect it was just time and place, as opposed to any technical reasons.
gchq-7703··on Open-source utils for devs who don't like ads
There's a lot of CyberChef hosted domains that aren't hosted by GCHQ. It's open source, so they're doing nothing wrong, but we can't provide assurances about the code on those sites. The official URL is https://github.com/gchq/CyberChef.
gchq-7703··on TOTP tokens on my wrist with the smartest dumb watch
Example recipe to do it for you:

    https://gchq.github.io/CyberChef/#recipe=To_Upper_case('All')To_Base32('A-Z2-7%3D')
It looks like 'cryptii' also appears to do all processing client-side.
gchq-7703··on Show HN: VS Code Extension to skip the noisy web tools (JSON Prettify, and more)
CyberChef supports offline usage, just save the page!

If you want a "quick" way to add a bunch more operators, all of ours are available via the 'cyberchef' NPM package[0] and the license permits embedding into other applications.

[0] https://github.com/gchq/CyberChef/wiki/Node-API

gchq-7703··on NSA Ghidra open-source reverse engineering framework
This was released March 2019 as part of the RSA conference[0]

[0] https://www.rsaconference.com/Library/presentation/USA/2019/...

gchq-7703··on Updating Gov.uk’s crown
I'll pop them a message, assuming you haven't found their contact details already. :)
gchq-7703··on CyberChef from GCHQ: Cyber Swiss Army Knife
It uses a combination of magic bytes (like the `file` command), entropy analysis and character frequency detection to determine whether an output is likely to be of interest to the user.

The file type mechanism is written here[0]. There's a list of all signatures we detect here[1]. The magic implementation is here[2].

[0] https://github.com/gchq/CyberChef/blob/master/src/core/lib/F... [1] https://github.com/gchq/CyberChef/blob/master/src/core/lib/F... [2] https://github.com/gchq/CyberChef/blob/master/src/core/lib/M...

gchq-7703··on My Node.js is a bit Rusty
I don't believe that's true. Consider this infinite generator:

    async function* infinite() {
      while (1) {
        yield 'example'
      }
    }

    (async function () {
      for await (const value of infinite()) {
        console.log(value)
      }
    })()
If the generator was consumed all at once, this would never print (because the generator is infinite). `for await... of` should only consume a single step of the stream / generator at a time. It's just syntactic sugar for the usual calls to .next() and etc. See the docs here[0]

[0] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...

gchq-7703··on Two GitHub bots not talking to each other on a PR
We use both Dependabot and CLA Assistant on one of our projects. It's an easy setting in CLA Assistant to whitelist Dependabot, although it did catch us out in the beginning.
gchq-7703··on DeArrow: Crowdsourcing better titles and thumbnails on YouTube
This is from the same person who made SponsorBlock[0] for YouTube, which strips in-video advertising and sponsored segments.

[0] https://addons.mozilla.org/en-GB/firefox/addon/sponsorblock/

gchq-7703··on Anything can be a message queue if you use it wrongly enough
Interesting. What makes you want to switch to the file system? I wrote one for a project[0] a while back (for MongoDB) and it didn't seem like the database introduced too much complexity. I didn't write the implementation from scratch, but the couple hundred lines of code were easy to reason about.

[0] https://github.com/gchq/Bailo/tree/main/lib/p-mongo-queue

gchq-7703··on [dead]
> If thse are DIV what they hell are you setting tabindex — a value for focusable elements — on them for?

Seems to be because in the original example each of the divs have an 'onClick' assigned to them, so 'tabindex' is the right way to make them focusable by a keyboard user.

          <v-list-item @click="method">
            <v-list-item-title>Option 1</v-list-item-title>
          </v-list-item>
gchq-7703··on A 'CSS reset' for TypeScript, improving types for common JavaScript API's
This is possible with a single `tsconfig.json` change[0]. This is also the default mode if you've set the 'strict' flag.

[0] https://www.typescriptlang.org/tsconfig#noImplicitAny

gchq-7703··on Germany opposes EU plans for client-side scanning
False positives / false negatives are important to note. It is likely that they're saying that out of 100,000 scanned files, 10,000 to 20,000 will not include child sexual abuse.
gchq-7703··on Making the Gov.uk front end typography scale more accessible
This is documented under the 'video' section on the publishing guidelines[0]. Videos are heavily dissuaded for a large number of reasons.

[0] https://www.gov.uk/guidance/how-to-publish-on-gov-uk/images-...

gchq-7703··on Making the Gov.uk front end typography scale more accessible
I've worked for a few UK departments and been very impressed with not only their adherence to WCAG 2.1 AAA on user-facing tools, but also on internal administration tools. Accessibility is strictly required and your project will not be allowed to be released without it.
gchq-7703··on How I built currency conversion tooltips
> I want to cache a guide until it changes, but update the exchange rates every few hours.

We've found that NextJS's Incremental Static Regeneration[0] hits the sweet spot for when we have needed to do this. Specifying a regeneration time allows us to say 'this data can be at most X seconds old' but if thousands of users hit a URL at once only one request is made.

[0] https://nextjs.org/docs/basic-features/data-fetching/increme...

gchq-7703··on CyberChef – The Cyber Swiss Army Knife
It should be set up to change the URL hash field with each different recipe you create. For instance, the URL for 'From_Base64' is:

https://gchq.github.io/CyberChef/#recipe=From_Base64('A-Za-z...

Let us know if it's not working on your device, :)

gchq-7703··on Trilium Notes: note taking application for large personal knowledge bases
Been using Trilium to store all my notes for the past few years. Been exceptional. Easily scales to a tremendous number of notes and allows fast searching and creation of notes.

The built-in plugin system allows me to automate tasks that would be impossible in other note taking applications. I'd likely only recommend Trilium for super-users intending to extend it with their own functions. For simple note taking, other apps are more polished. None are more powerful though, I feel!

gchq-7703··on YOLOv7: Trainable Bag-of-Freebies
YOLO in this case stands for "You Only Look One".
gchq-7703··on Show HN: Build and push container images without Docker Daemon based on BuildKit
Does this solve a similar problem to img[0]?

[0] https://github.com/genuinetools/img

gchq-7703··on CyberChef – The Cyber Swiss Army Knife
We might need to try fine tuning some limits. If CyberChef thinks it will have an issue rendering some text, we'll stop trying to display it and offer the user the ability to render only a part of the result or download the file.

Here's an example of me trying to format a 100mb file.

[0] https://imgur.com/a/3DtqnuL

gchq-7703··on CyberChef – The Cyber Swiss Army Knife
It's a static website. If you want to use it as an application you can download the compiled page (https://gchq.github.io/CyberChef/CyberChef_v9.32.3.zip) and create a shortcut to the 'Cyberchef.html' file contained within.
gchq-7703··on JSON5 Data Interchange Format
HJSON [0] is also another format that tries to make it easier for humans to read / write json.

[0] https://hjson.github.io/

gchq-7703··on Turing-NLG: A 17B-parameter language model
I'm fairly sure that these models don't work solely on the previous word, but instead are able to remember some level of information from history.

Otherwise, you'd reach a word like 'and' and couldn't possibly follow it with a logical statement that follows on from the previous part.

gchq-7703··on Stroom – a scalable data storage, processing and analysis platform
I feel maybe the best comparison might be to Elasticsearch? It takes in mostly log data, parses it (ala Ingest Nodes) and then makes it searchable / shown as dashboards.
gchq-7703··on Stroom – a scalable data storage, processing and analysis platform
It supports arbitrary data formats, including binary data. It sends corrupted data or data that fails to parse to an 'error' stream where you can complete further processing on it. I don't think Stroom is right for you if you're processing data like images and other large 2d data sets. It is primarily made for data that can be transformed to XML.
gchq-7703··on Sourcehut welcomes Bitbucket refugees
I wouldn't consider the repository name any more technical in nature than the name of a CD or film. I think it makes sense to have the title be more prominent than the description of what it does.
gchq-7703··on Tesla Posts Big Quarterly Loss as Its Electric-Car Sales Lag
Sorry, what does `FSD` refer to?
gchq-7703··on Ask HN: If you were to switch career, what would you do?
Money isn't the be all and end all to some people, you can live cheaply if need be and still have fun.
Page 1 of 2Next →