Recent submissions

Comment · 6 months ago
My preferred workflow is to start with a new change, pick the changes I want, then use jj commit to describe the change and create a new empty one on top. Feels very similar to my old git workflow.

If I end up with multiple features or abstractions in one change (equivalent to the “dirty repo”), jj split works very well as an alternative to the git add/git commit/repeat workflow tidying up one’s working copy.

Comment · 6 months ago
jj edit is the biggest jj footgun I can think of, as other comments said just use jj new. But also if you do accidentally edit or change something jj undo works surprisingly well.

I found when using jj it worked best for me when I stopped thinking in commits (which jj treats as very cheap “snapshots” of your code) and instead focus on the “changes”. Felt weird for me at first, but I realized when I was rebasing with git that’s how I viewed the logical changes I made anyway, jj just makes it explicit.

jj auto-rebasing doesn’t matter until you push changes, and once you do it marks them immutable, preventing you from accidentally rebasing changes that have been shared.

Comment · 9 months ago
I’m trying Gleam out right now, and having most recently been writing Go, I’m really loving: - No nil, instead Option and Result - ADTs - Pattern matching + destructuring - Immutable everything by default - `use` syntactic sugar (weird at first, but once you’re used to it it’s pretty elegant) - LSP server works great for such a young language

But most of all I think the overall simplicity of the language is really what’s standing out to me. So far I think the lack of ad-hoc poly and macros are a plus - it really reduces the impulse to write “magical” code, or code with lots of indirections. In the past I’ve definitely been guilty of over-abstracting things, and I’m really trying to keep things as simple as possible now. Though I’ve yet to try Gleam with a large project - maybe I’ll miss the abstractions as project complexity increases.

I suspect Gleam will be a great language for small to medium sized projects written with LLM assistance (NOT vibecoded) - the small language, strong typing and immutability gives good guardrails for LLM-generated code, and encourages a simple, direct style of programming where a human programmer can keep the whole structure in their head. Letting an LLM run free and not understanding what it’s written is I think where projects run into big problems.

Comment · 2 years ago
The “Signal protocol” only specifies how encryption is performed, but WhatsApp and Signal have very different protocols for actually transmitting the encrypted messages (I think WhatsApp was at one point based on XMPP, vs Signal is a bunch of protobuf blobs over a websocket)
Comment · 12 years ago
That's exactly it. I've been waiting for this since Dash first came out. At the time I was doing iOS dev in a lot of coffee shops and airports with spotty wifi on an 11" MacBook Air. This would have been perfect then, having searchable offline docs on a second screen! Even though I'm working in an office most of the time now, I still bought it to use on my iPad.
Comment · 12 years ago
It's not competing with CocoaPods. Alcatraz gives you a nice UI for installing Xcode plugins, color themes, etc. to customize your editor, while CocoaPods is management of libraries for iOS and OS X development.
Comment · 13 years ago
"iOS 7 Optimized" is Apple's way of saying "built with the iOS 7 SDK".

Apps that are built for iOS 7 get the new shiny keyboard and some different behaviour when run on iOS 7, but can still run fine on older versions of iOS if the app developer is willing to support older versions of iOS. This is done by setting an option called "deployment target" to an older iOS version when building in Xcode (and testing a ton on older versions of iOS, and not calling newer APIs on versions of iOS that don't support them).

So this announcement means Apple is dropping support for older versions of Xcode (with older iOS SDKs), but older versions of iOS are still technically supported as long as you're building with the iOS 7 SDK.

Comment · 13 years ago
Yeah, I found myself visiting the Kickstarter page today hoping there was some way I could fund the project months after it completed. Needless to say I couldn't. Seems like it would be a useful feature for projects like this - I doubt they couldn't find a use for more money.
Comment · 14 years ago
This is amazing. It's exactly what I wanted to build when I was living in Japan, but I never got around to it. Congrats! I'll definitely be taking this with me the next time I go to Japan.
Comment · 14 years ago
Also bought a copy - good work!
Comment · 14 years ago
I used to pay for prepaid phone credit from Fido's website using Interac online payment. One time Fido's server failed right after the Interac server accepted my payment. As far as my bank could tell everything went through fine, but Fido had no record of any attempt at payment. I only use my credit card online now.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton