Fork me on GitHub
#off-topic
<
2019-05-18
>
sova-soars-the-sora05:05:50

Hi, can y'all help me boost my startup project on hacker news? https://news.ycombinator.com/item?id=19945910

sova-soars-the-sora05:05:22

it's for a new project called https://nearhe.re

sova-soars-the-sora06:05:22

well you don't have to upvote it, but why flag it? lol ;_;

vemv12:05:50

perhaps the graphic design (which, has to be said, looks from 90's) lead people to believe this was some kind of spam also, startups per se aren't interesting to HN: for them to be relevant they would have to show some kind of tech innovation that can spark discussion, etc

8
todo19:05:35

Genuine non-trolling question: Does Racket beat Clojure for designing DSLS? I just worked through the first 3 chapters of Beautiful Racket (stacker, funstacker, stackerizer) -- and it seems like Racket provides alot more "hooks" for hijacking the parsing process / building DSLs.

carkh19:05:18

it does, but i think we're not so much about doing DSLs around here, or rather data is the DSL

carkh19:05:27

code is data, but more importantly data is code

carkh19:05:52

though one might argue that defining a function is already building a dsl

andy.fingerhut19:05:18

I've never created a DSL in Racket, so no expert there, but Clojure is definitely not about creating new syntax within Clojure source files, except to the extent that writing macros creates new syntax. There are no reader macros, for example, which is intentional by design.

todo19:05:34

Clojure macros are clj sexp -> clj sexp; whereas Racket DSLs is doing stuff like: https://beautifulracket.com/bf/intro.html

henrik19:05:48

Why are they so coy about calling Brainfuck "bf"?

dominicm21:05:49

Because family friendliness

henrik04:05:21

Fair enough, though it's of little use when you want to search for it on the web.

carkh19:05:50

can't wait to do database access with a brainfuck syntax =)

andy.fingerhut19:05:46

I agree that cli sexp -> cli sexp is not nearly as monumental a change of syntax as those described there. Many people consider macros as defining "new syntax", in the sense that you often must learn that particular symbols or keywords within the sexp mean different things within an invocation of the macro, than they mean elsewhere.

andy.fingerhut19:05:25

With a parsing library like Instaparse, you can certainly write parsers for arbitrary context free grammars, and transform those languages into something else. It isn't "built in" to Clojure, though. The result of the transformation could be Clojure code/data, or anything else you wanted.

Daniel Hines20:05:25

What's a good way to get started with lightweight sprite animation for making browser based games?

todo20:05:46

I recommend Canvas/WebGL

Daniel Hines20:05:20

Can you draw with that? Like vectors in illustrator?

hmaurer20:05:54

@d4hines what do you mean?

Daniel Hines20:05:29

In Adobe Photoshop or Illustrator, or Affinity Designer, I can make 2D vector art (I have no particularly skill in it, but others do, and they’re the standard tools). What’s the standard for making animations of 2D sprites? I think a while back it would have been Flash, but that’s lost favor.

Daniel Hines20:05:39

I don’t want to have to code every shape and movement.

hmaurer20:05:40

@d4hines I don’t think there is a “standard” per se. I would say SVG is what people would commonly go to for vector animations. Canvas/WebGL are pixel-based but vastly more performant, so you would go to that if you are going to have a lot of elements on screen.

hmaurer20:05:15

Those are the underlying techs though, there are of course librairies to simplify interactions. e.g. you could check out https://www.pixijs.com/

Daniel Hines20:05:36

How are people cranking out these thousands of mobile games? Stuff like pixijs?

Eric Ervin02:05:29

Aren't they done in Unity? Unity can export to a ton of platforms

hmaurer20:05:35

no idea; I would guess various different librairies, all using canvas/webgl

Daniel Hines20:05:34

Wow, that’s nuts. I would have thought people would have rallied around some sort of professional studio software (a la Adobe Photoshop)

hmaurer20:05:23

I’m sure there exists software to simplify development, but I am not aware of a super standard one like photoshop

hmaurer20:05:49

I mean, with WebGL you can import 3D models designed in Blender etc

hmaurer20:05:55

it’s not like the tech is isolated

seancorfield21:05:17

As someone who worked at Adobe, I would probably recommend all sorts of things over PhotoShop 🙂

😄 4
seancorfield21:05:19

Once I left, I was very happy to uninstall all those suites and get several GB of disk space back.

lilactown23:05:30

what’s the adage… Any system will eventually be (or be replaced by) one that can send and receive e-mails?

Daniel Hines23:05:55

Oh my. Do explain this proverb to me.

lilactown00:05:07

hehe… I’m trying to find the source 😄

lilactown00:05:49

but my interpretation of it was that, any system will need to be extended, and when it cannot be extended any further, will be replaced by one that can be extended

lilactown00:05:06

e-mail was kind of just a near-at-hand, reasonably complex requirement at the time of writing

Daniel Hines00:05:17

This is good to remember. I think it could also be summed up in the phrase, “Emacs” 😛

andy.fingerhut00:05:01

I guess you are not thinking of Greenspun's Tenth Rule? https://en.wikipedia.org/wiki/Greenspun%27s_tenth_rule

Daniel Hines00:05:30

Ha, I guess any computer adage reduces to Greenspun’s 10th, but only by begging the question 😛

lilactown00:05:43

@U0CMVHBL2 no but it was linked in that wiki article! 😄 😄 😄

seancorfield00:05:57

The man who called C++ "an abomination".

seancorfield00:05:07

He's right about software bloat tho'. If we only ever add features to software, it will grow.

seancorfield01:05:31

But it is good to see Clojure libraries get to a stable "finished" state. Clojurians seem much better than most other communities at building well-defined, narrowly-focused "things", that compose well.

andy.fingerhut01:05:49

I don't know enough about C++ to call it an abomination with thorough knowledge and conviction, but it certainly seems to have a fair amount of complexity that boggles the mind.

seancorfield01:05:18

I was on the ANSI Standards committee for C++ for eight years. Yeah, it's a seriously complex language.

seancorfield01:05:01

(and there are parts of it I have to put my hand up and say "Yeah, I own this weird feature" 😐 )

emccue01:05:16

...what features do you own?

seancorfield01:05:12

Parts of the template specialization model.

seancorfield01:05:01

And although the weird extended lookup of friends via namespaces is often referred to as the "Koenig lookup", I was the one that originally proposed the concept (partly as a joke -- I thought it was too complex to be taken seriously, but then Andy said it solved the problem and he turned it into the formal proposal to the committee).

seancorfield01:05:52

There's a few other bits but I no longer remember the details. We worked in several groups on different aspects of the core language and the library.

seancorfield01:05:57

So I feel responsible and guilty about the Koenig lookup rule 🙂

emccue01:05:05

It seems like you have narrowly escaped historical blame

emccue01:05:29

though this is my first time hearing about that feature (I have never seriously worked with C++)