HN user

steeleduncan

2,587 karma

Working on https://cowleyforniastudios.com

Posts64
Comments263
View on HN
cowleyforniastudios.com 4mo ago

Show HN: Eyot, A programming language where the GPU is just another thread

steeleduncan
79pts18
www.cowleyforniastudios.com 1y ago

I wrote a commercial game in C in 2025

steeleduncan
50pts19
arstechnica.com 6y ago

Uber, losing billions, freezes engineering hires

steeleduncan
50pts13
www.bbc.co.uk 7y ago

Ryanair to cut flights after 737 Max delays

steeleduncan
2pts1
arstechnica.com 8y ago

Butterfly MacBook Pro keyboards require more frequent, more expensive repairs

steeleduncan
1pts0
arstechnica.com 8y ago

Are external GPUs for Macs viable in macOS 10.13.4?

steeleduncan
2pts0
www.texpad.com 8y ago

Open Beta of Texpad 1.8, macOS LaTeX editor with integrated realtime typesetting

steeleduncan
120pts44
www.spacesofplay.com 8y ago

Why we built our own tech for Future Unfolding (2015)

steeleduncan
1pts0
arstechnica.co.uk 9y ago

If you think NASA is frustrated with SpaceX, you’re probably right

steeleduncan
22pts3
www.bbc.co.uk 9y ago

Nokia 3310 mobile phone resurrected at MWC 2017

steeleduncan
2pts0
www.bbc.co.uk 9y ago

Elon Musk: I'm Trump's voice of reason

steeleduncan
3pts0
fanf.livejournal.com 10y ago

Coroutines in less than 20 lines of standard C

steeleduncan
3pts0
www.timeshighereducation.co.uk 10y ago

Mass Closure of Liberal Arts and Humanities Courses in Japan

steeleduncan
6pts0
www.rubicondev.com 11y ago

Rubicon development: Can anyone help us become successful developers?

steeleduncan
1pts1
www.texpadapp.com 12y ago

UI reboot for iOS LaTeX editor

steeleduncan
1pts0
slidetocode.com 12y ago

Type systems : a new campaign for functional programming rebels without a cause

steeleduncan
1pts0
www.texpadapp.com 12y ago

iPad onscreen keyboard designed for LaTeX [video]

steeleduncan
96pts33
www.texpadapp.com 12y ago

What is the difference between tex and latex? Format files

steeleduncan
1pts0
slidetocode.com 12y ago

Show HN: Raskell, a Haskell interpreter and editor for iPad

steeleduncan
16pts2
www.texpadapp.com 12y ago

Show HN: Realtime LaTeX synchronisation service with native iOS and OSX apps

steeleduncan
1pts0
slidetocode.com 12y ago

Under the hood - how Git works

steeleduncan
13pts0
www.pcpro.co.uk 12y ago

Instagram likes worth more than stolen credit cards

steeleduncan
1pts0
github.com 13y ago

An API for typesetting LaTeX onboard your iOS device

steeleduncan
5pts3
texpadapp.com 13y ago

Show HN: A framework to enable any iOS application to typeset LaTeX onboard

steeleduncan
2pts0
slidetocode.com 13y ago

The Great Programming Language Continuum; or why C++ is dying

steeleduncan
10pts12
github.com 13y ago

TinyClojure : a project to build a minute and embeddable Clojure interpreter

steeleduncan
2pts0
texpadapp.com 13y ago

BibTeX ported to iPhone

steeleduncan
1pts0
slidetocode.com 13y ago

Should software come with an expiry date?

steeleduncan
13pts5
slidetocode.com 13y ago

Marble mazes, edge detection and an iPhone 3g : the birth of an entrepreneur

steeleduncan
1pts0
slidetocode.com 13y ago

My DNA needs refactoring

steeleduncan
2pts0

In princple JJ has non-Git backends, but the only backend they state as being production ready is the Git backend. JJ without the Git interop is more a concept than a reality right now.

I love JJ, and the mental model of source control it presents, and I will continue to use it. However, still needing to "drop down" to Git every now and again to get something done makes it feel very much like a convenient wrapper on top of Git rather than a new SCM.

If Git adds commands to support the JJ workflow, it would be hard to justify having JJ installed any more.

I think there is a strong argument that Gerrit is the current evolution of the patches workflow, many prefer it, and there are a lot of good blog posts explaining why.

I don't know what the justification for emailing patches around is though, that seems needlessly painful in the face of alternatives

Tiny CC doesn't have its own runtime, it uses whatever you specify (falling back to system standard), same as GCC or Clang. For low runtime footprint you are probably better off with one of those two compilers as they generate smaller, more optimised code.

Why Objective-C 5 months ago

I tried this with an old iOS only game a few years ago. It is clearly not a heavily used library, but it seemed to work ok

- There was a bug or two I had to patch, but the code is readable, so it wasn't a big deal

- OFString, etc aren't intended to be 1:1 replacements for NSString, etc. This wasn't a real problem. They mostly match, and all I needed to do was write a few categories

- The runtime functions are not compatible at all, but most projects wouldn't touch those

- CoreFoundation and the other C APIs are not there at all, so you'll need replacements

- It is a replacement for Foundation framework, not AppKit, so if it is a GUI app you still have a lot of work to do

Discord if you don't mind something proprietary, Mattermost or Rocketchat if you do, Zulip if you want something slightly different . . . and no doubt many other alternatives

Slack is easy to replace with something cheaper and better on a product or technical level. The network effects are strong of course, but they won't sustain it forever

package.lock is JSON only, Nix is for the entire system, similar to a Dockerfile

Nix specifies dependencies declaritively, and more precisely, than Docker (does by default), so the resulting environment is reproducibly the same. It caches really well and doubles as a package manager.

Despite the initial learning curve, I now personally prefer Nix's declarative style to a Dockerfile

I do the same with Nix as it works for macOS builds as well

It has the massive benefit of solving the lock-in problem. Your workflow is generally very short so it is easy to move to an alternative CI if (for example) Github were to jack up their prices for self hosted runners...

That said, when using it in this way I personally love Github actions

Exe.dev 7 months ago

None of this actually matters. If you want to keep your data private, host it on your own hardware. Countries, company policies, etc are all essentially irrelevant

Exe.dev 7 months ago

Sorry if I missed this in the docs, but how robust is the persistence? ie is it the disk that comes with a standard AWS VM? or is it a share backed by e.g. Ceph with multiple redundant copies?

It doesn't seem to be their focus, but this could be amazing for macOS build machines, and servers. There have been a number of changes in recent years focussed on improving the security of macOS when used as a Desktop OS. These work well for their intended purpose, but they have made macOS harder and harder to deploy headlessly, and use as a server.

I hope to see this become an open source OS that runs the full xcode command line suite, deploys easily to headless machines, and inherits FreeBSD's server hardware compatibility.

you need Consul for service discovery

Kubernetes uses etcd for service discovery. It isn't that Nomad does things differently or less simply, it is just that they are more explicit about it.

The real difference is that Kubernetes has a wide array of cloud hosts that hide the complexity from users, whereas Nomad can realistically be self hosted

SQLite could be recoded in Go

Sqlite has been recoded (automatically) in Go a while ago [1], and it is widely deployed

would probably introduce far more bugs than would be fixed

It runs against the same test suite with no issues

and it may also result in slower code

It is quite a lot slower, but it is still widely used as it turns out that the convenience of a native port outweighs the performance penalty in most cases.

I don't think SQLite should be rewritten in Go, Rust, Zig, Nim, Swift ... but ANSI C is a subset of the feature set of most modern programming languages. Projects such as this could be written and maintained in C indefinitely, and be automatically translated to other languages for the convenience of users in those languages

[1] https://pkg.go.dev/modernc.org/sqlite