Hacker News new | past | comments | ask | show | jobs | submit | btbytes's comments login

If you want to talk to someone who has been in the industry (both non-tech industry, to tech industry, to tech industry giants) for 20+, you can reach out to me. I'm happy to hop on a zoom/teams call. Contact info in bio.


Here's an implementation using plain javascript and a JSON file to store short-codes and target URLs: https://www.btbytes.com/posts/url-shortener.html


You don't have to override the template in the lua code to include the mvp.css file. use --css argument to set the location of the css file. it can even take multiple arguments (one for mvp.css and one for chartss.css).

In the current state, your "function Doc(" block upsets existing pandoc workflows.

Edit: didn't want to sound harsh with only the criticism :) Thank you for showing how to use lua-filters to do really cool stuff. I've playing with lua-filters, but your code is a clear example of how to extend markdown with a mini-DSL.

Edit 2: Sent you a PR on github with what I was suggesting here.


As user dvt mentioned, this is built using bookdown[1], an R library (with the help of Pandoc). You can see that the example chapter of this book looks exactly like the bookdown output[2]. The bookdown PDF explains in detail how to use Rmd+RStudio+R+Pandoc+Markdown to publish this.

[1]: https://bookdown.org/yihui/bookdown/ [2]: https://bookdown.org/yihui/bookdown/bookdown.pdf


Here's the complete source for the last text I authored using this pipeline: https://github.com/bgweber/StartupDataScience/tree/master/bo...

You can use the same tooling to create an epub output, but the formatting will be substantially different.


D's default package manager already allows you to write code like this which 1. runs the code like a script 2. downloads dependencies if they are required.

    #!/usr/bin/env dub
    /+ dub.sdl:
        name "allthepythons"
        dependency "d-glob" version="~>0.3.0"
    +/

    import std.stdio : stdout;
    import glob : glob;
    
    void main () {
        foreach (entry ; glob("/usr/local/bin/python*")) {
            stdout.writefln("%s", entry);
        }
    }


Dub's documentation should use some love...


This is good advice. I'm collecting websites like this ("handmade") here - https://www.btbytes.com/websites.html

My own website is compiled together with a python script, but aesthetically close to what you describe.


Consider adding https://www.gwern.net/



I got lost for almost an hour in this little collection of yours. Bookmarked.


http://rusrs.com/

Compatible with Mosaic 1.0, Netscape 1.0, 3.0, 4.0, and IE 5.5, Links, Lynx, and NetSurf, among others tested.


There is a whole book on the ill effects of too much light in modern times -- Lights Out (https://www.simonandschuster.com/books/Lights-Out/T-S-Wiley/...)


I have a whole page on nim here - https://www.btbytes.com/nim.html

Edit:typo


I'm the author. You are right. I think the above are all "mainstream" enough for me.

At the least, I've installed and played with them all at one time.


You know you're on Hacker News when a language like Prolog is considered to be too mainstream :-).

Great list, thanks!


Too mainstream? Then have a look at T3X (http://t3x.org/t3x) or mLite (http://t3x.org/mlite) or Klong (http://t3x.org/klong). :)


I've been meaning to check out Klong for ages and the accompanying book. Thanks for doing this work Niles!


Picolisp being considered mainstream in any capacity is a pleasant surprise. Might I suggest two more Lisps that I use: Carp and TXR? I also like Picat as an evolution of Prolog.


I guess we need to distinguish between mainstream and HN mainstream haha.

I like PicoLisp and wish it was more popular. There are some decent resources on it and the mailing list is pretty active.

I kinda disagree with the primary author's "need for speed" article on why performance doesn't matter anymore. I think there is definitely the majority of common uses in the business where he is right, but we're getting to a point (think data science) where faster is better and necessary. Using C++ is still too painful for most (pointers anyone), so I'm betting languages like Nim, Rust, and D will continue to grow in popularity to some degree.


I would have included Picat and Kitten. Picat is a descendant of Prolog that has some rather nice differences in semantics. Kitten is a statically-typed concatenative language.


I've talked with the author of kitten before and he's responded before when it was put on HN. I haven't looked at it in awhile, but I do like the concept.

I've read a little on Picat.


Would you say that people interested in languages should first look at certain "mainstream" languages Scheme/Racket, Common Lisp, Haskell, OCaml, Smalltalk, and Prolog, before looking at less-mainstream ones?


Lol nope, not gatekeeping programming languages :)

The above are all pretty cool though and each (as Larry Wall would put it) are the perfect examples of modernism. Each one takes a single idea to a fault.

Lisp => lists, Haskell => functions, Scheme => lists and recursion, Prolog => logic, Smalltalk => objects, Forth => concatenative and extreme minimalism, and APL => arrays.

Most post-modern languages combine many of the above in more practical and less elegant ways. Python is OO at heart, but can be written in a functional style, and can do array programming with Numpy.

So there is value (I think) to looking back at those languages from an educational point of view even if you're not using them in your personal projects or production.

The more novel ones that the author posted are probably also educational in their own way, but probably don't ram just one idea home. I think we're mostly past that now as Wall has stated. Perl6 might not run very fast or be very mature or popular, but it is a very interesting language that does a good job showing the post modern system. It pulls what the language designers felt were the best features from all the past languages (Perl5, Python, APL, Haskell, Smalltalk, Awk, Java, C#...etc).


That list of "modernism" languages has some bits of truth to it, but I think it's misleading to people who aren't already familiar with those languages, and "to a fault" sounds dismissive, and maybe discourages people from learning for themselves.

Perl is an interesting language (and I defended Perl's merits in a language forum within the last year [1]). But people who've mostly done Perl for a long time might want to question cute sayings about other languages, and discover that, today, for example, the evolution of Scheme (especially Racket) has different ways of doing those best features from other languages that you list for Perl6.

[1] https://www.mail-archive.com/racket-users@googlegroups.com/m...


I do think "to a fault" is subjective, but things like Prolog make a great example. Prolog is really cool and useful, but it makes anything except for the queries a real nightmare and will therefore never takeoff as a general purpose language. That's all I'm trying to say. Languages like Perl allow you to do logic programming with logic programming libraries, but also make text processing a breeze.

Take it with a grain of salt of course. Smalltalk is amazing, but the way you store code in an image isn't for s everyone.

I don't understand your last paragraph...can you please elaborate? What cute sayings are you referring to?


I meant the cute saying about modernism and "to a fault".

I agree about Prolog being logic-only. (Though it was once included as the query language of the complex data model of a commercial CAD-like system I worked on.)

Now Scheme (not lists and recursion to a fault) and other languages have logic programming as library or language extension: https://en.wikipedia.org/wiki/MiniKanren

Incidentally, I don't want to sound dismissmive Prolog. It's worth learning a bit, such as with now-free books like: https://mitpress.mit.edu/books/art-prolog


Hey, I like your list. Now, tell us, from that list, is there a favourite language? Some you'd pick up to write simple tools for your own personal usage...


nim/zig/red.

* I already use nim and I'm very productive in it. * Would like to use Zig for "system programming" when and if something like Nim (and D) are inadequate. * Red because its a REBOL and it can be a mind blowing experience to read some clever REBOL/Red code.


Is mainstream just measured by popularity? Ballerina has a pretty mainstream syntax, but I guess it's not well known enough.


Ah that makes sense then, and I have no issue with the list. I learned of a few new ones to try too!


Same with Tamil, Kannada, Bengali, Malayalam etc.,


Tamil is a classical language like greek, hebrew, chinese etc. Its much older than telugu and the other Indian languages. Malayalam and kanada is derived from tamil


Malayalam diverged from Tamil. But, Kannada is not a derivative of tamil.


Of course Kannada evolved from ancient Tamil. If you know both the languages, you can easily find root words for most current day Kannada words in ancient Tamil sangam poetry (like ooru=>oor referring to town, kaaveri=>kaaviri, etc.) https://en.wikipedia.org/wiki/Dravidian_languages

Kannada, Telugu, Malayalam all have higher degrees of impact due to Sanskrit but they are all dravidian languages, derived from ancient Tamil.


Your Wikipedia link disagrees that all of the Dravidian languages are derived from ancient Tamil. It describes them as common descendents of Proto-Dravidian. It cites the attested literature of Tamil as being 2,000 years old.


Calling Tamil much older than Telugu is probably not appropriate. They both developed during the same time.


The Tamil language currently used is not same as the one when the other Dravidian languages separated, So calling other languages 'derived' from the Tamil is not correct. All Dravidian languages have same root, so calling it 'Dravidian Language' and Tamil, Kannada, Malayalam & Telugu etc. derived from that language is more accurate and avoids the confusion


Modern-day Greek, Hebrew, and Chinese are all very different from their "classical" versions.


[flagged]


"Tamil is the eldest" is not a propaganda but the truth. A truth that is actively buried by the central Government of India, by spreading propaganda that Sanskrit is the oldest language and by doing things like stopping funds for excavation projects like Keezhadi to hide the truth, etc. http://www.thehindu.com/news/national/tamil-nadu/keezhadi-ex...


My comment was about the presence of culturally rich languages in India, including Tamil. You and the original commenters have made this about Tamil's antiquity. Why the low self-esteem and victim complex? This is not forum/thread for that discussion..


Disclaimer: A Tamilian but doesn't know to read or write it (lived in the northern states)

I didn't know that it came before Telugu or neither about the fact that Malayalam or Kannada is derived from it. So yeah, it was a new information for me.


> an enormous literary corpus reaching back to before English even existed

Certainly true of Telegu, Tamil, Kannada, and Malayalam. But because Bengali is, like English, an Indo-European language, not true of it. Also, not sure what you mean by "etc".


Sanskrit is also Indo-European, and definitely had a large literary corpus before English became separate from Old Norse.


Let the regional language wars begin.


Aren't most wars about regional languages, when you get down to the nuts and bolts?


English is less than 1,000 years old in its identifiably modern form.


Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: