Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
tef
May 30, 2004

-> some l-system crap ->

mnd posted:

tef learning Ruby? :aaaaa:

Good talk by the way. :waycool: I was only a bit surprised you didn't cast glyph as a media type after having explained how really it's an encoding (I guess I'm thinking encoding ~= media type in REST terms).

You're right.

The talk wasn't really aimed at those who understand representational state transfer, I tried to avoid the specific nomenclature, such as media type. The rest people seem to have a different meaning for RPC too.

So instead of hearing 'It's not REST', i've been hearing 'It isn't RPC'.

Adbot
ADBOT LOVES YOU

tef
May 30, 2004

-> some l-system crap ->

musclecoder posted:

I just launched my first startup/product - Accthub.

I dunno whose thesis you've been reading, but that isn't a REST api. :3:

tef
May 30, 2004

-> some l-system crap ->

musclecoder posted:

the responses it delivers are hypertext (or hypermedia) by providing links to other consumable resources (or themselves, at the very least).

Didn't see any examples of this from the api I saw. I saw a bunch of instructions on how to manufacture URLS for requests. :3: I am happy to be wrong

tef fucked around with this message at 23:01 on Jul 22, 2012

tef
May 30, 2004

-> some l-system crap ->

SlightlyMadman posted:

Nice, you type the line numbers in with your code, so you can go back and overwrite a line, or insert between them with a number between them? Something about that really made you think about what you were doing, and I'm sorry for people learning to code with text editors that they miss that.

Suffering is character building :eng99:

tef
May 30, 2004

-> some l-system crap ->

SlightlyMadman posted:

Internet Janitor's emulator has me thinking that it would be interesting to write something similar, but that also has a full and verbose API. Hell, you could probably write it in flash or javascript and put it on a website along with the tutorials. Just disable paste so you make those little shits type it in because that's the only way you'll learn.

Rote learning is possibly the worst way to get people to think about what they are doing, and your 'learn to program by copy and paste by hand' lures them into spending their time fighting the environment to get it to work.

I really don't think your combination of rose tinted nostalgia and thinly veiled hatred for learners makes for a constructive course on learning. I learned despite these things, not because of them. Please don't confuse your misanthropy for insight into education.

You're basically advocating abuse. I hope no-one ever has to suffer under you as a teacher, and that you lose your hands in a industrial accident, so that you never inflict your ignorance upon the keyboard again.

tef fucked around with this message at 18:26 on Oct 20, 2012

tef
May 30, 2004

-> some l-system crap ->
You see, kids today learn to cycle easy. They have training wheels, safety helmets. In my day they learned to cycle on penny-farthings, and that's the best way to learn to cycle. I haven't moved on since 1890, so why should I let them take advantage of progress - I certainly haven't.

People should learn from my mistakes by repeating them exactly, because my mistakes have been refined and polished over the years.

Who wants to learn javascript? Making simple things that they can share easily and show to others? They should be learning to program in my home-brew hello world environment. What do you mean you want to do something fun? I never got to do that. I spent the first five years writing guessing games.


I hope you drown in your own bile.

tef fucked around with this message at 18:41 on Oct 20, 2012

tef
May 30, 2004

-> some l-system crap ->

tunah posted:

Are you okay, man? You sound kinda angry.

Someone is advocating that the only way to teach people programming is to treat them as an unthinking dysfunctional photocopier, because they hate other people. In the hope that manually grinding through copy and paste will prevent them from copy and pasting in future. It's beyond ignorant, it's malicious.

If you're not angry, it's because you're a sociopath, a misanthrope, or a sperglord happily functioning without empathy.

tef fucked around with this message at 18:51 on Oct 20, 2012

tef
May 30, 2004

-> some l-system crap ->
If you want to pick a fight about teaching, I'll respond in one of the other threads. I'll leave this one or pictures of neat things.

tef
May 30, 2004

-> some l-system crap ->

Internet Janitor posted:

Scaevolus: Thanks! I went with recursive descent mainly because it's easy to keep hacking new features on, but I ought to look into operator-precendence parsing. Best way to find out whether it simplifies things is to give it a shot.

Precedence climbing is quite straight forward, http://www.engr.mun.ca/~theo/Misc/exp_parsing.htm#climbing

quote:

The first week of putting the tool in the hands of kids went very well. Everybody had a lot of fun and while I did uncover a handful of bugs, there were no showstoppers. I spent a good chunk of today patching bugs and addressing feature requests, like an EDIT command to make it easier to modify previously entered lines of the program and additional intrinsic functions.

From my early days with BBC BASIC, I recall 'RENUMBER', and 'AUTO' being rather useful. RENUMBER is kinda obvious, AUTO was a command that means number the following input as I type it in.

quote:

I've taught classes to this age group with Java and Processing in the past, and I'm pleasantly surprised by how well my students took to BASIC. Line numbers and GOTOs can be hell in large programs, but they seem to make the flow of programs very intuitive.

You could always approach this by adding new structured programming concepts (while, for) to your interpreter, and explaining them in terms of GOTO. Admittedly, the BASIC I used also had GOSUB/RETURN as well as functions.

(I'm also rather nostalgic towards turtle graphics too)

quote:

I'm sure my students will outgrow this environment in a few weeks and be ready for a "real" language, but but the tool has definitely served the purpose of introducing core programming concepts and being unintimidating.

I'm really curious to know if you let them peek behind the scenes, and plan to let them start playing with forth too. It sounds like you and your students are having fun, and it's rather interesting to hear about. Keep posting :3:

tef
May 30, 2004

-> some l-system crap ->

Internet Janitor posted:

It's not completely done yet, but my toy Logo interpreter is essentially feature-complete:

:hf: logo implementing buddy

quote:

Source (Forth).

This is a fair bit more complicated than MASICA, (since Logo is essentially a dynamically-scoped Lisp with syntactic sugar) ... Since Logo has no official standard I based my version of the language on Apple ][ Logo, with some minor variations.

Wondering if you did "run-parsing" at all? It is hard to parse logo because you need to know the number of arguments a function takes to parse an invocation of it, but you don't require the function arguments to be known beforehand.

fwiw: UCBLogo is somewhat the defacto implementation of Logo.

quote:

I'm hoping that Loko will be an easy step up from MASICA. Logo will allow the kids to learn about breaking their programs up into procedures and writing recursive procedures, and if they do well we can even get into higher-order programming and list processing. We'll just have to see.

Related: Computer Science Logo Style http://www.cs.berkeley.edu/~bh/v1-toc2.html

tef
May 30, 2004

-> some l-system crap ->
Run parsing is a terrible, terrible hack. :3:

When you encounter a function, read the arguments, and read the tokens in, but don't parse the function contents. When you call a function, you parse it, now knowing the values. Alternatively you can two passes to get it to parse.

It's probably entirely unnecessary, and might be a stupid thing I did without understanding the logo grammar properly. I can't remember enough to know.

tef
May 30, 2004

-> some l-system crap ->
I gave a talk a couple of months back, at EMF camp. The recordings finally surfaced, so I put it online.

http://programmingisterrible.com/post/41880113409/a-bad-programmer-talks-about-bad-programming

tef
May 30, 2004

-> some l-system crap ->
:toot:

I'll be working on this next month!



Code Club: A worldwide network of coding clubs for children aged 9–11

http://www.codeclub.org.uk/ and http://www.codeclubworld.org

tef
May 30, 2004

-> some l-system crap ->

nuvan posted:

I never thought of it that way, but it's the PERFECT explanation for why it takes me so long to do ANYTHING on personal projects

It isn't really OCD, it's procrastination. You're avoiding writing your game by making meaningless tweaks.

(At a code review I got pulled into, my coworker said "That's the tidiest source code i've ever seen. This worries me".)

tef
May 30, 2004

-> some l-system crap ->

seiken posted:

Nonsense. It's not procrastination, it's not meaningless. Tidying up source code is like a kind of micro-refactoring and helps keep it readable. The bigger the project, the more important it is.

The only effective way of tidying up of source code is deleting it. Everything else creates more work.

tef
May 30, 2004

-> some l-system crap ->

Rottbott posted:

Clearly it is possible to improve code.

Yes, by getting rid of it :v: If you 'improve' your code by writing more code, you increase the maintenance, documentation and testing burden as a result. If you end up writing more code, building more abstractions, you're making a tradeoff, rather than just an improvement.

If you want to continue this argument in another thread i'm happy too, but let's not poo poo up the neat thread of cool stuff with agonising over a cheap joke :3:

tef
May 30, 2004

-> some l-system crap ->

Thermopyle posted:

You use the emoticon a lot and I don't know what it means! Is tef mad? Is tef confused? Does tef's teeth hurt? I don't know!

I guess I just like cats :confused:

It might be a marker to mean "I'm not trying to be an rear end in a top hat it's just how I speak"

tef
May 30, 2004

-> some l-system crap ->
so I gave a talk in a field :3:



and I ran a tiny workshop to prototype python lessons. :3:



teaching is hard. improvising lessons is hard. python is actually quite hard to teach to beginners, but not for the reasons I thought

tef
May 30, 2004

-> some l-system crap ->

Otto Skorzeny posted:

Care to elaborate, teffu? :3:

I'll make a thread in the project.log forum I guess

tef
May 30, 2004

-> some l-system crap ->
:toot: :siren: http://forums.somethingawful.com/forumdisplay.php?forumid=265 :siren: :toot:

tef
May 30, 2004

-> some l-system crap ->

unixbeard posted:

I mean sitting there and looking at console output is something that takes getting used to. It is second nature to us, but for someone used to seeing a computer respond visually to everything they do it can be quite foreign.

I started them on turtle graphics, most of them have used scratch before. I did get them using a repl for a bit but they asked me to switch to an editor asap and we used IDLE (because it was there).


quote:

for x in thing: is very particular to python.

(Similar iteration concepts are in many other languages :eng101:)

A couple things came up, not all of it was python related.

- Why is there a ':' at the end
- People confused '-' for '_' a lot of the time.
- Things that seemed obvious to me were hard to explain in terms
- Error messages make people cry (esp if their brother is being a showoff next to them)
- Indentation is weird and awful outside an editor, and still weird and awful when i'm asking people to copy/paste. I'm sure semicolons would be the bugbear in other languages.

and a bunch of other stuff

tef
May 30, 2004

-> some l-system crap ->

unixbeard posted:

What was the average age? That kid in the foreground looks kinda small/young

As young as 7 and as old as 13.

quote:

I'm just a dumb C programmer forced to work in a cruel and unfamiliar world.

It must be weird to have libraries and not just including files all over the place.

quote:

The pain of indentation can be useful for new people, if only to help keep things vaguely readable. The aesthetics of a well written program take some time to realise. But hey it's PEP8 not PEP88 :hitler:

On the other hand I am yet to see a scratch programmer argue about tabs vs spaces

tef
May 30, 2004

-> some l-system crap ->

SupSuper posted:

I want those slides.

The slides aren't much, most of my talk is actually me talking. It was very similar to the talk I gave last year at emfcamp, but more coherent, more organized and more optimistic. To a larger crowd too. The Q&A as per usual, was the best part of my talk, as the audience catches my mistakes and contributes some important ideas I missed or skipped over.

The earlier talk was recorded, I'm not too sure if this was recorded (there were /many/ fuckups) on site.

https://www.youtube.com/watch?v=csyL9EC0S0c

I started with my terrible code, moved onto some group mistakes, then went onto what makes a good and bad programmer in my eyes. I then made fun of other people's definition, talked about corporate problems with interviews and culture, and conways law. Finally I talked about teaching — Seymour Papert, Mindstorms, Logo, view-source and the remix culture, before concluding with the work I'm now doing at CodeClub.org.uk and CodeClubWorld.org.

I have my keynote file kicking around, but if you can read it and guess the content of my talk, I'll be amazed.

tef
May 30, 2004

-> some l-system crap ->

lord funk posted:

You can check out a video of it's sibling app, TC-11 here: https://vimeo.com/66472167 I don't have a video of this one yet; still a ways to go.

this owns.

also this other thing you did is neat as heck too http://vimeo.com/16253741

tef
May 30, 2004

-> some l-system crap ->
I decided to implement a shunting yard based calculator in scratch http://scratch.mit.edu/projects/15179790/

(click on the cat when it is thinking)

tef
May 30, 2004

-> some l-system crap ->

Internet Janitor posted:

How long did that program take to drag-and-drop together, Tef?

Far too long :sigh:

edit: this "clone" of super hexagon took far far less time http://scratch.mit.edu/projects/15191304/#player

tef fucked around with this message at 01:59 on Dec 9, 2013

tef
May 30, 2004

-> some l-system crap ->

Internet Janitor posted:

I'm building a new Logo interpreter to serve as the heart of an educational puzzle game I'm working on.





It's still in development, but the current release is fairly usable. Check it out: https://github.com/JohnEarnest/MLogo

Neat! I note you're looking at cloning apple ][ logo, but I think UCBLogo is probably the most recent defacto language. Which would mean all the examples from 'Computer Science, Logo Style' would work.

I wrote a logo interpreter once, but abandoned it when I got sick of make "a :a + 1, and "run-parsing" to handle the lack of forward definitions.



Internet Janitor posted:

This new one is written in straight Java, I'm afraid. See above for the github page. My older Logo interpreter, Loko, was written in Forth and ran on a VM I designed which happened to be implemented in Java, and did qualify as "Logo in Forth on Java" or perhaps "a vm in a vm in a vm".

This new one is written in a more conventional language because it's a small part of a very ambitious video game concept I'm pursuing wherein the player learns to speak the forgotten tongue of an ancient turtle-oriented civilization by exploring a series of ruins and solving (programming) puzzles.



It's sort of the same idea as my earlier game Forth Warrior, except with more story, more puzzle variety and (hopefully) accessible to complete beginners. I have a lot of work ahead of me.

Working title,


I'm curious if you've ever played with scratch or byob/snap at all?

tef
May 30, 2004

-> some l-system crap ->

Internet Janitor posted:

code:
to f :x
  if (:x = 0) [ forward 14 stop ]
  f (:x - 1) left  120
  g (:x - 1) right 120
  f (:x - 1) right 120
  g (:x - 1) left  120
  f (:x - 1)
end

to g :x
  if (:x = 0) [ forward 14 stop ]
  g (:x - 1)
  g (:x - 1)
end

to sierpinski
  showturtle
  f 4
end
source

For amusement value, i ported this to mine

Run at logo.twentygototen.org

tef
May 30, 2004

-> some l-system crap ->

Scaevolus posted:

Many indie developers choose to use Java or C# because they represent a good balance between development effort and performance.

(Most of the indie devs I know tend to use Unity, Flash and other platforms. The only ones who manage their own memory are the ones who port things to iOS)

Adbot
ADBOT LOVES YOU

tef
May 30, 2004

-> some l-system crap ->

Tres Burritos posted:

L-Systems are so much fun. They're a great way to familiarize yourself with whatever graphics api / language that you're using.

Same.

A → B-A-B
B → A+B+A

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply