
Show HN: A star map creation tool with Common Lisp - juanre
https://thestarmaps.com/
======
nabla9
This is a specialized market if anything is.

I can see that it could work beautifully if you can develop a customer base
100-200 customers who sell products based on these maps.

Incidentally this is where I think Common Lisp will win big. Small companies
or research groups who keep developing special products and expertise over
long time.

------
tsuru
Are you able to speak a little to the Lisp engineering without giving away
"secret sauce"? Is Lisp serving the web pages too or only generating the star
maps? Did you use CLOS heavily? MOP? FFI? Anything else "exotic" that I've
failed to ask and you can speak about?

~~~
juanre
I use some CLOS, but most of it is plain old Lisp trying to avoid side-
effects. Deploying is just dumping an SBCL core with the right functionality
in it. It lives in a private server inside a VPN, listening to a port. Nothing
fancy, really. I did consider at some point serving the web with Lisp as well
([https://edicl.github.io/hunchentoot/](https://edicl.github.io/hunchentoot/),
because I trust Edi Weitz's code) but I ended up doing it in python.

------
skosch
I had no idea what this did until I watched the video.

Suggestion: let people play with the map customization tool directly on the
landing page, then charge them for changing the date/location and for hi-res
exports.

~~~
juanre
Hmm, I may explore this idea. Thank you for the feedback. And I am glad I have
the video!

~~~
masukomi
yeah, I thought it created the cartooney ones shown on the home page.

------
juanre
Reading PG's ANSI Common Lisp was a pivotal event on my career as a
programmer. I wrote a high-resolution star map generation tool in CL about 14
years ago, and have been working on it and selling the maps it produces for
many years.

Now I am moving away from the things I don't do well (ranking in Google and
promoting) to what I think I do best (making beautiful maps) with this new
site, where I open the engine to people who want to add custom star maps to
their own products.

~~~
nnq
> PG's ANSI Common Lisp

Would you say PG's _ANSI Common Lisp_ is better or worse (as a zero-to-hero
intro to CL for an "experienced" programmer in other languages) than Peter
Seibel's _Practical Common Lisp_?

I'm curious because I'm currently teaching myself CL (slowly, as a leisurely
hobby), mainly because I realized that I need a hyper-flexible un-opinionated
language in my toolkit for some types of experiments I want to try on and CL
seems to fit the job. But I found the "practical" part missing from _Practical
Common Lisp_ with the non-plausible problems/examples and also missing stuff
about packaging/ecosystem and little on modern concurrency patterns...

~~~
snazz
Packaging and ecosystem has changed a lot recently, so On Lisp or ANSI Common
Lisp would both be outdated quickly (as would Seibel’s PCL; PG does not have a
book with that title). Most of that you can find online: practically
everything is available through Quicklisp and it’s a very intuitive piece of
software. Concurrency is harder and Bordeaux Threads might be too new for
detailed inclusion in On Lisp or PCL.

I would highly recommend On Lisp once you have gotten the syntax down. I
ordered a printed copy of the PDF (legal since PG released it) and have been
working through it. On Lisp won’t show you things that are easily done in
other languages; its goal is to teach the power of CL. Certainly by the time
you’re done you’d be comfortable with many types of macros, closures, the
REPL-based workflow, and other strengths if CL, able to find more about how
one uses it in practice without much trouble.

~~~
juanre
PG's Lisp books don't deal with packaging and ecosystem at all, do they? I
think they are still very much relevant, and I completely agree with your
recommendation.

~~~
snazz
I don’t think so. I only have On Lisp on hand and it deals solely with the
language itself.

------
halter73
I have no idea what a free account gets me, but the fact that the lowest
"Explorer" tier costs $39/month for 1 map per month causes me to lose interest
immediately.

I have two suggestions:

1\. Show a bunch of prominent examples of star maps on giftable items like
mugs and shirts memorializing various events like a birth or a wedding. The
more explicit you are about the stars matching the night sky on the day and
place of the event, the better. I could see these making for cool party
favors, but I think the concept will go over a lot of people's heads (pun
intended) unless it's spelled out for them.

2\. Offer a la carte pricing. The couple planning their wedding on a
shoestring budget might buy a star map for $40, but starting and cancelling a
$40 subscription could be too much of a hassle.

Longer term, I might look into partnering with a company like zazzle.com and
integrating into their create-your-own-shirt-or-mug-or-whatever pipeline for a
royalty.

~~~
juanre
I have just updated the Plans page. I hope with the new changes the pricing is
more clear, and also the benefits of subscribing. The rest will take a bit
longer...

Thank you again.

~~~
SamBam
It's still unclear to me who the plans are targeting. I'm guessing maybe
you're targeting creators (Etsy store owners, etc), and not the end consumers?
That isn't clear if so, and I would still expect to be able to use your site
to buy one-offs as a consumer.

~~~
juanre
I've tried again, thank you for the feedback. I have added the prices in the
Plans page, I hope this will make it crystal clear what you can do. Today is
being a very instructive day!

------
throwanem
I'd drop the tattoo example on the gallery page. You would have a very
difficult time finding an artist who'd even attempt that, much less one who'd
do it well - and you'd be wanting to have it covered up inside a decade, most
likely, in any case, given the way ink gradually migrates under the skin.

~~~
juanre
Point taken, example removed. Thank you for the feedback.

------
cossatot
This is really cool, and I'm heartened that you've formed a business around
this. What kind of projection do you use? DO you select the displayed stars
from the zillions in that azimuth by their distance to Earth, or brightness on
earth?

~~~
juanre
Thanks! It has been an amazing experience, if a bit exhausting (I am a single
founder and the only developer). I did it because it was cool, started giving
them to friends, and then it became obvious that they were making a very large
impact in some people's lives. So I decided to try to reach a larger audience,
which had the nice side effect that now I can make a living from it.

I am using the stereographic projection, and I display up to magnitude 7. The
conversion from magnitude to diameter is one of the key elements of getting a
beautiful result.

------
umvi
I keep hearing about Common Lisp, but I just don't "get it". Is it really as
mind-blowing as people say when you "get it"?

~~~
edejong
For me the Eureka moment with Common Lisp came when I read 'The Art of the
Meta Object Protocol' (Kiczales) [1], which made me rethink OOP, the power of
macro's and the power of Lisp.

Lisp is an extremely fundamental and deep language, but although it is
conceptually interesting, I find it rather unpractical. A language needs some
syntactic structure to help in pattern matching.

We read code more like a map than a book: scanning, skipping between files,
functions and expressions. And, like a good map, it should guide our eyes:
highways and byways are differently coloured and a quick glance tells us
whether we are seeing a forest or a city. Code should be similar and due to
the syntax of LISP, we have little to no guidance on what we are scanning,
except by manually reading the code.

I don't think Lisp is the only language suffering from this. There are similar
problems at the deeper end of the functional programming scene: we have to
_read_ map, flatMap, fold, apply, etc. in order to make sense of the code. We
cannot 'scan' the code to understand its structure. It does not help that, for
a syntax highlighter, these methods all get the same formatting.

The solution? Personally, I think we should seriously consider enhancing our
editors to project our code based on the type-classes it participates in to
enhance guidance.

[1]
[https://en.wikipedia.org/wiki/The_Art_of_the_Metaobject_Prot...](https://en.wikipedia.org/wiki/The_Art_of_the_Metaobject_Protocol)

~~~
reikonomusha
I program in Common Lisp professionally on a sizable team of other Common Lisp
programmers, and I find Lisp to be much easier to explore and navigate than
other languages, by a huge margin. Why? Lisp IDE’s don’t need to build indexes
of your projects that go out of date or anything like that. IDE’s participate
by interacting with the running Lisp image itself.

I’m not sure what you’re missing about syntax. Indentation by default gives an
excellent view of what’s going on, and most editors color important symbols as
needed.

I find the lack of syntactic noise makes you focus on the important aspects of
the program in the big picture.

