Zekka Nelson

@Zekka (40) • Dil Mil
I'm a backend developer at Dil Mil, a dating site for non-resident Indian people. In my spare time I do programming languages stuff!
Wildest programming language idea
posted to Ask by amasad

All updates to all variables (called "accounts") follow rules of double entry accounting -- each account is managed by an agent who is directed to bring the balance of each of a list of other accounts to zero by making transfers to or from them!

Those accounts follow an order of priority -- each account's balance has a positive and negative limit, meaning that not all agents' goals can be satisfied every iteration.

(I implemented a system with these rules a while ago for an unreleased virtual pet game! Later I got to show my system off to some friends at Google, but they didn't hire me over it.

If the perks aren't obvious to you, try implementing them. Also consider obvious changes to this design -- giving each agent a transfer limit, or giving agents more complicated patterns of behavior. You can still get some interesting behavior out of this design by keeping agents' decisions simple, mind.)

On the current view of technology, as influenced by the public media.

I want to race in NASCAR! Limitless speed is the name of my game. Show me the wheel and give me the wine. @CodeLongAndPros

What kind of REPLs have been getting you cycles lately?
posted to Ask by Zekka

oh, sorry!!! i shouldn't be too quick to assume trivial things of this kind have value! @Bookie0

On the current view of technology, as influenced by the public media.

As a Windows user, I want to learn how to use a computer!

Animated bats: attack!
posted to Share by Zekka

@Jakman I'm glad you liked it so much! I peeked at a few of the others and I felt like a lot of people were running up against some technical limitations that I thought I could bypass.

NASM Print Floating Point
posted to Ask by AmazingMech2418

Hey! Rather than call out to libc I decided to see if I could hack out just enough machinery to print a float using only the tools you used.

Here's the best I could do! https://repl.it/@Zekka/NASM-Pi-float-printing-demo

π in Haskell
posted to Share by AmazingMech2418

It's probably slow because of how you defined s and a -- each of them loops a large number of times every iteration!

Here's a faster implementation of the same algorithm! https://repl.it/@Zekka/A-faster-Haskell-pi#main.hs

Hey! How do you use a computer, anyway?
posted to Ask by Zekka

It is! It's a really good question. @TerrorbuildLuna

Hey! How do you use a computer, anyway?
posted to Ask by Zekka

i don't use a single language designed in the last 20 years and yet my criticism of Prolog is it "seems dated" @mwilki7

Hey! How do you use a computer, anyway?
posted to Ask by Zekka

every language other than ASM (in which I know how to write a bootloader but only the first stage and only for twenty-year-old hardware) generates "bloated executables" like Go @mwilki7

Hey! How do you use a computer, anyway?
posted to Ask by Zekka

scheme is the source of true power and unrelatedly it is 100% impractical for all problems @mwilki7

Hey! How do you use a computer, anyway?
posted to Ask by Zekka

@SpaceFire a razor-sharp barb pointed directly at @theangryepicbanana 's heart, no doubt!

Hey! How do you use a computer, anyway?
posted to Ask by Zekka

@theangryepicbanana
people who care about performance use profilers!

(am I insinuating that most people don't really care about performance despite claiming to? YES.)

Hey! How do you use a computer, anyway?
posted to Ask by Zekka

i tried this but now my screen says bat and i'm sad computer @Zavexeon

Hey! How do you use a computer, anyway?
posted to Ask by Zekka

@TerrorbuildLuna Yes, I'm very puzzled! I thought that since I worked as a professional programmer, it would turn out that I knew how to use a computer correctly, but apparently to be a computer expert I'd have to go around preaching the greatness of tools I don't even use.

(Apologies! This post is sarcasm -- I've seen a lot of people telling people that they are programming wrong or using the computer wrong because they do things that basically everyone does, and it really bugs me because it seems nakedly elitist.)

Wildest programming language idea
posted to Ask by amasad

H ( @TheDrone7 , I think!) from our humble Discord chat encouraged me to start a sidebar on this question: what makes a programming language good?

I yammered on for a while about this, but the short version of my opinion is that when someone judges a programming language, something like this happens:

  • they stare at it and come up with conclusions about its characteristics (Language => Characteristics)
  • they judge those characteristics according to their preferences and come up with some opinions (Characteristics + Preferences => Opinions)

Some people seem to want to go further -- rather than just arriving at personal opinions, they want to come up with conclusions that most people will accept whether or not they have similar preferences.

They seem to do this by:

  • finding preferences basically everyone has (for instance, most people dislike "languages that continue silently when an error occurs")
  • making a case that solving a problem the right way requires having a certain preference. (for instance, the "GC is more likely to produce correct code, which everyone should value" argument for why garbage collection is good)

I've seen a few people push the idea that "which programming language is good" is the result of other processes though. A few comments I saw:

  • there are many good programming languages (without further elaboration!)
  • you don't choose the programming language; the programming language chooses you

These seem to indicate that people see the process a little differently. I don't really understand these viewpoints well enough to criticize them -- does anyone want to hop in to make an attempt?

Animated bats: attack!
posted to Share by Zekka

@ZainJ Thanks! I wrote a ton of screensavers as a kid, but none of them involved bats, so they were all worse than this.

Animated bats: attack!
posted to Share by Zekka

@rediar Yes! Bats are my favorite animal by far.

🐶Introduce yourself! 🐶
posted to Announcements by katyadee

Hey, I'm Zekka! I'm a professional programmer and I like bats a lot. Good to meet you! 🦇

A really good chatbot template!!!!
posted to Templates by Zekka

@CodingCactus Hey, I'm glad you tried it!

I didn't put a lot of effort into providing quality responses -- I've gone down that route before and providing a complete chatbot inside this framework is a really thankless task, since there's about a thousand things users type which need to be handled individually. The file you have is really just "enough code to demonstrate all the things the API can do."

Most of the actual effort in this project went into supporting Flask-style routing rules and text processing. That's pretty nontrivial stuff and you might get a kick out of how I did it!

Some good starter tasks for someone else (or maybe even me) would be to provide an Eliza written on top of my library, or to translate (some subset of) the AIML Standard Reductions to Python via it.

FINANCIAL ADVISOR
posted to Share by tsana

Hey! Some minor notes:

  • Consider removing the line that goes if 1 == 1:
  • Consider that the else statement on line 15 can never be reached. It can be removed! (Line 12 can be written "else" -- if the condition on line 10 is False, the condition on line 12 is always true, so there is no difference.)
  • Consider that line 16 and line 12 have the same condition, so line 17 could be added to the same block as line 13.

Otherwise, this is really fine!

(One other note: Some people will not want the program to restart. In that case, you could also remove the line that says while True:)