HNHacker News
TopNewBestAskShowJobs

technomancy

3,634 karma · joined February 21, 2007

Hacker-errant, design and sell DIY keyboard kits: http://atreus.technomancy.us

Coding in Clojure, Fennel, and Lua.

submissionscomments
technomancy··on Squirrel Programming Language
From the wiki (http://wiki.squirrel-lang.org/default.aspx/SquirrelWiki/Lua%...) it looks like most of the reasons Squirrel was created stemmed from problems that have since been fixed in Lua.

The remaining differences seem pretty minor; IMO having the OO system baked into the language instead of implemented in user-space is a step backwards. The 0-indexing might be nice if you do a lot of FFI with C, I suppose. Hardly worth giving up the insane performance of LuaJIT for though.

technomancy··on Squirrel Programming Language
Lily's design is actually pretty unique; it feels a lot less "me too!" than the others.
technomancy··on Squirrel Programming Language
I would love to have something like Dialyzer to do static checks for Lua, but luacheck is a lot better than nothing: https://github.com/mpeterv/luacheck
technomancy··on Bussard: A space flight programming adventure
Thanks; following up on these things in the issue tracker: https://gitlab.com/technomancy/bussard/issues/127
technomancy··on Writing an editor in less than 1000 lines of code, just for fun
I think the whole point of this post was that it's a lot of fun to write code if you know it's not going to be taken seriously or used in the long-term, so what you're asking seems to be the exact opposite of why this was created.
technomancy··on Bussard: A space flight programming adventure
Sorry I wasn't clear--I thought he was talking about a bug that had been introduced since the release, but it turned out it was the other way around. The bug was present in the latest beta-1 release but fixed in git master since then.

I hope to have a beta-2 release out in the next week or so.

technomancy··on Luakit: Fast, small, WebKit-based browser framework extensible by Lua
Even if Luakit itself is getting commits, last I checked the underlying webkit code it's based on doesn't get security updates, so as much as I would like to use it; it's really not a good idea: https://blogs.gnome.org/mcatanzaro/2016/02/01/on-webkit-secu...
technomancy··on Bussard: A space flight programming adventure
I heard about 0x10ᶜ after I had been working on Bussard for a while. There are similarities, but they are accidental. I specifically want my game not to include combat, and while early on I thought it would be an open-world thing, as it's progressed I've decided it would be a lot more compelling with a good story behind it.

I may end up having an assembly language in the game, but it would be one of many languages rather than the only one.

technomancy··on Bussard: A space flight programming adventure
It would be pretty cool, but it would be a lot harder to pull off. At this point the thought of having to be responsible for another server doesn't sound like a lot of fun to me, and preventing users from writing programs that suck up all the CPU cycles is really tricky.

Plus I really want to focus on the storytelling aspects. Especially the end-game scenario (see spoilers/readme.md if curious) would be extremely problematic to implement in multiplayer.

technomancy··on Bussard: A space flight programming adventure
That's part of it, but it's also because I want to use it to teach people how to program, and Clojure is really not a good choice for beginners. Learning Lua is a lot easier because it is dramatically simpler. It's also much easier to sandbox, and that is a key part of the game too; there are several layers of sandboxing going on.
technomancy··on GitHub: Reorder issues in a milestone
The rationale I heard back then was "no one used it". My guess is that these days, even if "no one" means "less than 1% of users" it still amounts to hundreds of thousands of people.
technomancy··on Bussard: A space flight programming adventure
Thanks; I'm quite happy with LÖVE. I've actually been quite impressed with how easy it is to work with the whole time.

Though speaking of frontends, it is actually also possible to get the game to open a socket and connect to it from Emacs, programming your ship from the outside. It's not very polished at this point, but I intend to expose the in-game UI over the nREPL protocol so you can code other clients for it if the in-game editor doesn't suit your fancy: https://gitlab.com/technomancy/bussard/blob/master/bussard.e...

technomancy··on Bussard: A space flight programming adventure
Oh yeah, the word "scoop" is used to refer to a collector for asteroid mining, though the manual also refers to "fuel collectors" that are intended to be Bussard ramscoops.

The physics are non-relativistic; correct. I have a section in my dev notes labeled "crimes against science" where I list out all the places I can think of that the game diverges from realism, (and avoid adding to the list) but I hadn't considered that yet since all the interstellar travel in the game happens through artificial wormholes: https://gitlab.com/technomancy/bussard/blob/master/spoilers/... (edit: spoiler warning for the link)

technomancy··on Bussard: A space flight programming adventure
Oh, it looks like that specific problem has been fixed, assuming you were running into it on the beta-1 release from itch.io. Thanks anyway.
technomancy··on Bussard: A space flight programming adventure
> said command line behaves oddly

Yeah, there are some prompt bugs on master; try the beta-1 release linked in my other comment for a more stable version. Will definitely be fixed before the next beta release.

Edit: if you can provide repro steps for the prompt bug that would be super helpful.

> I gather your implementation language is Lua... is there for Lua anything comparable to PyGame for Python where you could leverage some graphics?

Sure; I could easily create a GUI for the ship, but that would be a different game than the one I'm trying to make. There are plenty games like that out there already. I want something that feels more like TIS-100 than Endless Sky. (Not to knock the latter, but they already do a better job at making that kind of game than I ever could.)

On the other hand, part of the point of the game is that if some players want to play a more GUI-centric game, all that you need is already included to turn the game into that kind of game from the inside. All the HUD stuff and the graphics libs are exposed to the in-game Lua sandbox.

> I zoomed out what seemed like quite a ways and didn't see anywhere to go.

You have to use a portal to get to another star system.

technomancy··on Bussard: A space flight programming adventure
Hi folks; author here. Definitely interested in getting feedback from playtesting either here or in the issue tracker.

As for status, the engine is probably at 85% completion or so; the remaining features are mostly just functionality that will enable additional programming challenges, like hooking in portal access control to an SQLite database or integrating a Forth interpreter for the finale. (There is already a lisp compiler functional in-game.)

There is still a lot to do in terms of story, programming challenges, and plotting though. I have a fairly detailed backstory and outline plotted out, (see the spoilers/ directory) but it's going to be a lot of work to flesh it out into the game.

My long-term goal is to make it a game that you can learn programming just by playing. I feel like most "learn to program" games end up feeling really contrived because they don't lay the groundwork to create a rich enough world to enable anything non-contrived. So my goal here is to create a fairly detailed simulation, and then find the places where you can use programming to overcome problems you run into.

Anyway, obviously the project is OSS, so if you're interested in contributing, please drop me a line.

Edit: if you're impatient and want to just download a single file and play, releases are at https://technomancy.itch.io/bussard

technomancy··on GitHub: Reorder issues in a milestone
> I thought this would be a useful feature at one point

You used to be able to do this ages ago. Reordering was one of the features that "no one used" and didn't make the cut when they rewrote "Issues 2.0" five years ago:

https://github.com/blog/831-issues-2-0-the-next-generation

technomancy··on No grades, no timetable: Berlin school turns teaching upside down
> Self-directed learning can take you really far, but it isn't right for everyone: mostly individuals who can truly direct themselves and have the kinds of interests that are condusive to broad understanding and knowledge.

I agree with the sentiment here, but I wonder if it wouldn't be more accurate to say it would be for everyone, except that some people have already had their natural driven curiosity ground out of them by sour experiences at school or poor home life prior to getting the change to try this.

technomancy··on Languages: Why we must save dying tongues (2014)
Bingo. I've learned more about English itself the past couple years studying Thai than I have since I was a young child; particularly how daft our orthography is: https://en.wikipedia.org/wiki/Phonemic_orthography#Defective...

One of the strengths of English is that it adapts by assimilation from other language; if it were the only language around it would stagnate.

technomancy··on Languages: Why we must save dying tongues (2014)
> I have yet to come across any concept in any human language that can’t be expressed in English.

And all turing-complete programming languages are technically equivalent; what's your point?

technomancy··on Lily Programming Language
Really glad to hear that about multiple return values. In my mind multiple return values are a solution for the problem of "oh, we haven't invented pattern matching yet", and matching against tuples is soooo much cleaner and more consistent.
technomancy··on Nike Open Source Software
The Eclipse Public License is a bit obscure off the JVM, but it actually has a good patent clause too.
technomancy··on Englebart's Violin (2012)
While it's interesting to look into chorded keyboards specifically, the take-away for me here was more the general idea that it's not terribly difficult to come up with interfaces that are objectively more effective than the status quo by a pretty serious margin and still completely fail to achieve large-scale uptake.

On the other hand, I believe there's lots of room for improving on the status quo in a way that isn't necessarily intended to ever supplant the conventional alternatives, just focusing on some subset of users who have a good reason to be willing to invest a little more time in becoming more effective. (This is part of the process that led me to design my own custom keyboard.) If you look at Emacs or Vim users, it's clear that some people are willing to spend a lot of time learning skills that improve their efficiency.

technomancy··on Announcing .NET Core 1.0
That's really only half of it; Java is also a programming language, a bytecode spec, and a binary executable that sometimes points to a JRE and sometimes refers to a JDK, depending on how you installed it. Arguably it's also now being used to refer to the API of the standard library too.
technomancy··on Announcing .NET Core 1.0
> Java JRE/SE/JDK... It's really not much more confusing than what others use

That's not saying much; "Java" means so many different things it's enough to make your head spin. At least these days it isn't a stock ticker symbol any more.

technomancy··on How to Make an RPG
Youtube is different because there's a monetization angle with the ads. The artwork in Solarus is certainly not legal to distribute in most countries, but it's so low-profile that no one has bothered to go after them.
technomancy··on How to Make an RPG
Solarus (http://www.solarus-games.org/) is both a very polished fan sequel to A Link to the Past, and also an engine for building your own action-RPG games in Lua.
technomancy··on Alan Kay has agreed to do an AMA today
So by that logic, would you say that the only reasons children should not be allowed to buy alcohol are biological development reasons?
technomancy··on The Story of Haskell at IMVU
Well the classic here is his book Mindstorms where he talks about how to construct learning environments for children that take into account that bridge between concrete and abstract thought and turn it into an asset instead of a liability.

If you want more on the topic that's not from the hands-on perspective of an educator, you might have to go further back to Piaget's papers, but unfortunately I haven't had the opportunity to dive into these much.

technomancy··on The Story of Haskell at IMVU
If you view it in terms of psychological development, understanding concrete imperative steps happens before children are capable of understanding abstract concepts like mathematics. The works of Seymour Papert describe how these findings relate to education.

That said, people who connect this to software in a professional context are doing a disservice since hopefully software professionals have progressed in their intellectual development beyond their teens and are capable of abstract mathematical thought.

← PreviousPage 3 of 34Next →