HackerTrans
TopNewTrendsCommentsPastAskShowJobs

iafan

no profile record

Submissions

Show HN: The easiest way to run shell commands in plain English (no app needed)

github.com
1 points·by iafan·5 месяцев назад·0 comments

Show HN: Minespheres – a Minesweeper-like game with a twist

ittylab.com
3 points·by iafan·5 месяцев назад·0 comments

comments

iafan
·4 месяца назад·discuss
Some time ago I created a proof-of-concept reverse CAPTCHA[1] that actually presents a challenge that requires LLM assistance to solve, alongside with the instructions. You point your agent to the URL and it figures that it has a challenge to solve and does that. Seems more in spirit of what a CAPTCHA-like test for AI agents should do.

[1] https://github.com/iafan/botcha
iafan
·5 месяцев назад·discuss
One may still write C code as they did 40 years ago, but they still use the power of numerous libraries, better compilers, Git, IDEs with syntax highlighting and so on. The only true difference — to me — is the speed of change that makes it so pronounced and unsettling.
iafan
·5 месяцев назад·discuss
It makes me sad to read posts like this. If it is a necessary step for you on the journey from denial to acceptance to embracing the new state of the world, then sure, take your time.

But software engineering is the only industry that is built on the notion of rapid change, constant learning, and bootstrapping ourselves to new levels of abstraction so that we don't repeat ourselves and make each next step even more powerful.

Just yesterday we were pair programming with a talented junior AI developer. Today we are treating them as senior ones and can work with several in parallel. Very soon your job will not be pair programming and peer reviewing at all, but teaching a team of specialized coworkers to work on your project. In a year or two we will be assembling factories of such agents that will handle the process from taking your requirements to delivering and maintaining complex software. Our jobs are going to change many more times and much more often than ever.

And yet there will still be people finding solace in hand-crafting their tools, or finding novel algorithms, or adding the creativity aspect into the work of their digital development teams. Like people lovingly restoring their old cars in their garage just for the sake of the process itself.

And everything will be just fine.
iafan
·5 месяцев назад·discuss
Everything that is touching hardware, for example. Bluetooth stack, HDMI, you name it.

Everything W3C does. Go is evolving through specs first. Probably every other programming language these days.

People already do that for humankind-scale projects where there have to be multiple implementations that can talk to each other. Iteration is inevitable for anything that gains traction, but it still can be iteration on specs first rather than on code.
iafan
·5 месяцев назад·discuss
If I had a spec for something non-trivial, I probably would ask AI to create a test suite first. Or port tests from an existing system since each test is typically orders of magnitude easier to rewrite in any language, and then run AI in a loop until the tests pass.
iafan
·5 месяцев назад·discuss
> There are two main schools of thought in software development about how to build really big, complicated stuff.

> The most prevalent one, these days, is that you gradually evolve the complexity over time. You start small and keep adding to it.

> The other school is that you lay out a huge specification that would fully work through all of the complexity in advance, then build it.

I think AI will drive an interesting shift in how people build software. We'll see a move toward creating and iterating on specifications rather than implementations themselves.

In a sense, a specification is the most compact definition of your software possible. The knowledge density per "line" is much higher than in any programming language. This makes specifications easier to read, reason about, and iterate on—whether with AI or with peers.

I can imagine open source projects that will revolve entirely around specifications, not implementations. These specs could be discussed, with people contributing thoughts instead of pull requests. The more articulated the idea, the higher its chance of being "merged" into the working specification. For maintainers, reviewing "idea merge requests" and discussing them with AI assistants before updating the spec would be easier than reviewing code.

Specifications could be versioned just like software implementations, with running versions and stable releases. They could include addendums listing platform-specific caveats or library recommendations. With a good spec, developers could build their own tools in any language. One would be able to get a new version of the spec, diff it with the current one and ask AI to implement the difference or discuss what is needed for you personally and what is not. Similarly, It would be easier to "patch" the specification with your own requirements than to modify ready-made software.

Interesting times.
iafan
·9 месяцев назад·discuss
On iPhone, tapping an NFC tag with a URL opens a popup that allows you to navigate to that URL with a single click. If this URL is supported by an installed app, this app will handle this. For example, if you write a URL of a Spotify playlist onto your NFC tag/sticker (which you can also do from the phone via an app like NFC Tools), then bring that sticker to iPhone, it will show this as a Spotify URL, and you can tap on this notification and go to that Spotify playlist. So all you need to experiment with is a writable NFC tag and your phone, no other hardware required. I bet Android phones offer a similar experience.