9 ms·
Show HN: A star map creation tool with Common Lisp
- juanre 7y agoReading 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.
- dig1 7y agoThe site and overall feeling looks clean, focused and built with a lot of love and passion. Kudos! I'd be happy to see more products like this, instead of frequent mishmash where visitor has no idea what it is looking at. Are you able to sustain yourself with this app and selling maps?
- vallode 7y agoI was slightly confused at first due to the simplified map svgs on the right hand side thinking: "is this all that it generates?" Looking at your gallery had me very impressed, this is a very cool project and I hope that you get many more people taking a look at it :)
- juanre 7y agoThank you :-) I should probably feature the samples more clearly.
- nnq 7y ago> 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...
- UYChuH 7y agoPG's ANSI common lisp was one of the first books I learned to program from. I still prefer it over Practical Common Lisp, partly because I appreciated the greater depth (I felt) it covered the basics in, and in that it was slightly more abstract... But mostly because Appendix D gives a really succinct description of the language, key functions, all the different parameters to FORMAT and LOOP, and all the different read macros. Never underestimate the value of a good appendix!
- juanre 7y agoI learned with ANSI CL, then read PG's On Lisp (which I downloaded from somewhere and printed, I don't think it was available). ANSI CL is great, the chapter where he writes an OO framework is just amazing. And On Lisp blew my mind. Seibel's Practical Common Lisp is a good book, worth reading, but quite lacking in the "practical" aspect, which tends to be implementation-dependent.
- deleted 7y ago[deleted]
- snazz 7y agoPackaging 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.
- halter73 7y agoI 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 7y agoThank you for the feedback. The key addition that you get with the Explorer is access to bulk prices and bigger maps, but I probably don't say that clearly enough... you can actually buy and make maps with a free account.
- king_magic 7y agoEven after reading this and now knowing that you can make and buy free maps with a free account, it's still really not clear from your website that is the case. My recommendation: make it as stupidly easily possible to buy a single map whenever you want, with the option for no account at all (and make it clear you can do that through your website). I could conceivably see myself using this, the output looks really nice. But as soon as I need to sign up for an account, even if it's free..... ugh :-/ Make it easy for people like me who might be on the fence to give you my money :)
- juanre 7y agoHmm, I suspect you are right, thank you for the feedback. I think my customers will be business owners with some technical expertise (you need to at least understand what a transparent PNG is, and be able to paste it on your background), but I don't want to discourage end customers. I need to think about enabling map creation without accounts. I am requiring accounts now because you'll have to design a theme before you make your map (star colors, labels, fonts, etc) and I am assuming you'll want that to be saved. But I could make it optional...
- umvi 7y agoI 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"?
- z3phyr 7y agoWhat does "get it" mean? Do you use it?
- goatlover 7y agoI think they're asking what makes CL noteworthy among all the other PLs such that it keeps getting brought up, even though it's not new and shiny or widely popular these days. Same sort of question you'd get about Smalltalk or Haskell.
- umvi 7y agoLisp evangelists always talk about a moment of profound clarity where the beauty and utility of Lisp just clicks in their brain somehow. I've done a little functional programming here and there so I know what it is, but I just can't fathom why Lisp is so beloved. I can't help but wonder if I knew Lisp (or some other functional language) intimately if I would approach problem solving completely differently.
- flavio81 7y agoOnce in my life, I had a moment of profound clarity where the beauty and utility of Lisp just clicked in my brain somehow.
- z3phyr 7y agoObjectively, I felt the "power" when I learned macros. You can create any programming construct you like which will be executed at compile time / load time, and usable at runtime. You will see the magic when you actually try it. No other language family that I know of (except forth or prolog maybe) can do this. Lisp still has the best macro system of all.
- varjag 7y ago
- nabla9 7y agoThis 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.
- cossatot 7y agoThis 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 7y agoThanks! 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.
- tsuru 7y agoAre 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 7y agoI 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.
- throwanem 7y agoI'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 7y agoPoint taken, example removed. Thank you for the feedback.
- skosch 7y agoI 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.