HNHacker News
TopNewBestAskShowJobs

cyansmoker

342 karma · joined February 16, 2012

[ my public key: https://keybase.io/cyansmoker; my proof: https://keybase.io/cyansmoker/sigs/qhReou3eDtWC8jOmRKO40u5Kb8h8x8f1QxbU17s-_rY ]

Verifying my Blockstack ID is secured with the address 16hJTdGrk2Re3THokXHXi4oJZj1TeNUeHk https://explorer.blockstack.org/address/16hJTdGrk2Re3THokXHXi4oJZj1TeNUeHk

submissionscomments
cyansmoker··on Incident with Github.com [resolved]
As an enterprise user I can tell you that:

- we are getting no benefit beyond getting excuses replies to our emails - right or wrong, but we depend heavily on GitHub actions so this has a very real impact on us

cyansmoker··on Show HN: I bought Big Interview's .ai domain to roast their negligence
Average pricing for a .ai domain is $150

You appear to have too much time on your hands, and no, not everyone should have to live in your reality.

cyansmoker··on Instant AI Response
3bit is a bit ridiculous. From that page I am unclear if the current model is 3 or 4bit. If it’s 4bit… well, NVIDIA showed that a well organized model can perform almost as well as 8bit.
cyansmoker··on FBI tries to unmask owner of archive.is
My thoughts exactly. This title is needlessly editorializing.
cyansmoker··on A memory safe C framework, RAII, I/O, coroutine and other concurrency primitives
Thanks for that!

Yeah their static site generator seems to be a bit deficient.

cyansmoker··on MySQL transactions per second vs. fsyncs per second (2020)
dude literally has a BUNCH of repos I want to explore, now.
cyansmoker··on AI Is Robbing Jr. Devs
The problem I see with this is: no-one is born a senior developer. One starts as a junior-level dev, and through trial and error, mistakes and mentoring, grow into an increasingly senior person. You are not just investing into a person who will leave; you are investing in your future senior devs.
cyansmoker··on Gah – CLI to install software from GitHub Releases
`gogo` get it right :)
cyansmoker··on Gah – CLI to install software from GitHub Releases
This is so funny and also a commentary on my inability to perform searches in github I guess.

A month ago I was looking for something like this, so I created https://github.com/fusion/gogo

Now this thread is revealing an abundance of alternate tools.

I'm considering creating a "list of fetching tools" just to help folks find the one they want, since some features described here are very interesting.

cyansmoker··on Multi-Array Queue
Hi @vitpro2213 it's very interesting (at least to me) to find about this data structure a few months after I had a need for its somewhat distant cousin: https://github.com/Fusion/slotmachine

In my case, I needed a way to book and release two-ports tuples really fast to accommodate a RTP simulator. So, I wrote that slotmachine data structure and have been running in in production for months and can confirm: yes, performance is good.

Note: I should mention that my approach is almost exactly opposite to yours: I create a final backing slice, then create the traversal slices.

cyansmoker··on Coding4Fun Hardware Boneyard – Using the CueCat with .NET (2006)
Related, to make the CueCat "speak English:" https://nexus.zteo.com/posts/sunday-hacking-cuecat-delicious...
cyansmoker··on Show HN: SIPGO – A library for writing fast SIP services in Go
I use SIPGO in a simulator I wrote for my work. With this and GoRTP (heavily patched) it handles 2000+ CPS, with media.

So... yeah. Well done!

cyansmoker··on Show HN: I built a website editor for TailwindCSS
It's a UI builder, not a set of components.

But you're right that they built a pretty ugly landing page. Especially the color palette and fonts selection. I don' think this should detract from the service offered, so I hope they fix this quick.

cyansmoker··on WordPress Is an Absolute Nightmare
Summary:

storyblock storyblock storyblock storyblock storyblock storyblock storyblock storyblock storyblock storyblock storyblock storyblock storyblock storyblock storyblock storyblock storyblock storyblock storyblock storyblock

Cool "article."

cyansmoker··on We Just Gave $260k to Open Source Maintainers
When reading the project list, I thought there was a project called "fapbot" lol
cyansmoker··on Poll: Which Chat Solution Does Your Company Use
OK but then don't go anywhere near Google Spaces. Although it's more despair inducing...
cyansmoker··on Ask HN: NDA for Interview
NDA for a government job? OK

NDA for a private job? They need to pay for a lawyer to review it for you, so you don't end up in a silly non-compete situation.

cyansmoker··on Bocker: Docker implemented in around 100 lines of Bash (2015)
I was part of this, it was a fun project. I have a final pull request that never made it though, and that's too bad as it addressed some hardcoding issues and added a few helpful commands: https://github.com/p8952/bocker/pull/23

Revisiting the project, it looks like more people tried submitting PRs for the following couple years. Funny, for a project that was definitely an exercise in "do X in 100 lines of code"

cyansmoker··on Wails: Build cross-platform applications using Go
A while ago, I had posted about an app I made, - using Wails, - using Webview.

You can compare both: https://github.com/fusion/pngsource

Spoiler alert: it works, but... "meh."

cyansmoker··on Bun: Fast JavaScript runtime, transpiler, and NPM client written in Zig
Congrats!

This is making me reconsider using the node ecosystem in some of my projects.

cyansmoker··on Show HN: A framebuffer console viewer, pure Go
Some day, I will remember to submit a link, then add a comment, and not the other way around...

https://github.com/Fusion/modernfbv

cyansmoker··on DNS Toys
Shameless plug:

Since I was in the process of implementing plugins for kittendns (https://github.com/fusion/kittendns), I felt I should at least implement the timezone toy as proof of concept. This forced me to implement 'fetch' in the javascript plugin so, I guess, everyone wins :)

cyansmoker··on Show HN: KittenDNS – Easy to setup, rule engine, LetsEncrypt compatible
I hate you.

Or more accurately, I should hate you. Thanks for the reference, I am going to look into it as it's definitely something I would like to make work.

cyansmoker··on Show HN: KittenDNS – Easy to setup, rule engine, LetsEncrypt compatible
Good idea. Yes.
cyansmoker··on Show HN: KittenDNS – Easy to setup, rule engine, LetsEncrypt compatible
Authoritative first but it is also recursive if you specify a parent.

Query logging can be easily implemented.

I don't expect to ever make this as full featured as BIND. Then again, this also was true of Glauth, and correctness-as-a-goal ends up forcing us to roll lots of functionality in the software.

cyansmoker··on Show HN: KittenDNS – Easy to setup, rule engine, LetsEncrypt compatible
I suppose this is something you could do if you are in a local network and configuring all clients to use the DNS directly. In any other scenario, this will fail.
cyansmoker··on Show HN: KittenDNS – Easy to setup, rule engine, LetsEncrypt compatible
As I expected, HN delivers :)

I am going to try to address the input I've received so far:

# Licensing

Arg. How could I forget? The project is now licensed under Apache 2, which is compatible with the BSD licenses that @d_meeze listed. I've used it in many previous projects, including RootTools, and some projects were included in multiple commercial projects.

# Data in the configuration file

@drdaeman yes this is definitely with simplicity in mind. Right now, the updates the server accepts are limited to RFC2136 for LetsEncrypt's ephemeral TXT fields. If this becomes a necessary feature, I may do the same as with Glauth and introduce database plugins (SQLite would remain a light, but not as simple approach)

# Toml

Controversial as always. @dhzhzjsbevs, I found that if I provide an amply documented template file, folks find it easy to use. Is this a great configuration option? No, not it is not. I personally dislike all of them.

# Record reuse

@drdaeman making another valid point. It's going to be an easy fix, which is good.

# Split horizon DNS

And then we get to @jchw and one of my unstated goals. Right now, I am using the rule engine to alter responses. Obviously, a nice demo of what it can do, but a bad idea overall. Can anyone think of a way to implement split DNS other than filtering based on which interface the query came through? I do extract the query source's IP address, but this only tells me which server is recursing.

cyansmoker··on Omega Swatch Speedmaster
As someone who's not a marketing guy, this makes me feel dumb: there must be some genius thinking behind this thing, but I cannot figure out what it could be.

I agree that this cheapens the brand.

Fun fact: Bulova is the "other" moon watch, after an unfortunate mishap with David Scott's Speedmaster.

cyansmoker··on Show HN: Jig – Live coding your business dashboards (now with demo video)
Hello. Where can I report issues?

I download jig on my M1 Macbook and:

1. It is not notarized, therefore you will find it difficult to get significant adoption on this platform, unless you explain what's going on (as other devs have)

2. It did not launch properly and I got this exception:

    Uncaught Exception:
    Error: Cannot create BrowserWindow before app is ready
    at createWindow (/Applications/Jig.app/Contents/Resources/app/.webpack/main/index.js:34614:22)
    at App.<anonymous> (/Applications/Jig.app/Contents/Resources/app/.webpack/main/index.js:34712:5)
    at App.emit (events.js:315:20)
Update: I hard killed the process and was then able to launch it.
cyansmoker··on Sciter, the 5 MB Electron alternative, has switched to JavaScript
I see, in this thread, talks about what Sciter does and does not offer.

It's not the only alternative to Electron, but it might be one that offers predictable and repeatable results.

I released a small open source project on HN last week (https://github.com/Fusion/pngsource) and I wrote its backend logic in Go. I built the frontend using Tailwind (https://tailwindcss.com) and DaisyUI (https://daisyui.com) and, using Go compiler flags, I can release the app using both WebView (github.com/webview/webview) (which, yes, does require the host OS' collaboration) and Wails (wails.app) (which also does.)

On Linux/AMD64, the binary's size is 3.7M when building for WebView, and 6.8M when targeting Wails.

The way the app works is I drag/drop files to the UI, magic happens, and I use github.com/ncruces/zenity to prompt the user for a save location.

I cross-compile the apps using xgo (https://github.com/karalabe/xgo)

It's been working pretty well on Linux, Windows, MacOS. I think WebView's approach of limiting the feature set is working well as it feels more "native" than Wails (better refreshes and resize operations for instance)

However, I already have a few tickets reporting that, for instance, the app is displayed as a blank window in some environments. And it's hard to debug remotely, obviously. So, this is where Sciter may be a better option.

Page 1 of 4Next →