HNHacker News
TopNewBestAskShowJobs

lerax

551 karma · joined July 17, 2015

(aka 'ryukinix) I love Lisp, mathematics, classical music and 2D platform games. There are other things that I like, but that list is not that long.

[ my public key: https://keybase.io/lerax; my proof: https://keybase.io/lerax/sigs/nZ6Eqevc1Aos7-Jk-heCv-X64AMbnZpAm3p74Ddinws ]

submissionscomments
lerax··on An Idiot’s guide to Support vector machines (2003) [pdf]
I used at work as part of a NLP system to extract valid relations between named entities on context of politics. Since I didn't have labeled data before, I annotated some hundreds by myself, and because was not much label data SVM outperforms other models (compared with ANN, Gaussian Process, KNN, Naive Bayes, and others that I forgot). The best kernel for this approach was a Linear one.

The system has a compound set of machine learning models and parsers to finally extract from the government official public news (http://in.gov.br) documents with the following structured info:

- who was/will hired and fired (PERSON entity)

- which job role it will/did have. (JOB entity)

- when will happens¹ (DATE entity)

Each entity is extracted individually using a custom trained NER and each sentence is passed to the Relation Extraction system, which is built using SVM. Features are concatenated word vectors² compound by the slices of the text in the form (entity1, entity2, before, between, after).

The system is being alive for almost two years. It produces great results. Just did need retrain the entity recognizer twice in all that time (built using spacy which uses a averaged perceptron).

The SVM part (Relation Extraction) was not retrained since the first day deployed and it still works gracefully :D

¹this info is on the text as natural lang, sometimes is different from the post date ²gensim.Word2Vec custom model trained on this corpus.

lerax··on Ask HN: Am I the longest-serving programmer – 57 years and counting?
No. Coding JS on keyboard is already bad enough.
lerax··on The Hard Part of Learning a Language
Magit is great! I use everyday. The more useful feature for me is partial staging by simple text selection. Help so much to create better atomic commits
lerax··on The Hard Part of Learning a Language
Or Makefile, or Meson, or autotools... And beyond to infinite.

Man, that type of stuff don't motivates anyone to learn a new language. If all what we should do it is code a solution and deploy with one command, oh God, will be a dream.

But no, beyond all this clusterfuck, by doing cloud stuff will be need probably Docker too, Kubernetes. Maybe ansible too? Oh, no, your team use terraforms.

D:

lerax··on The Hard Part of Learning a Language
For me the worse part of every new language is deal with ecosystem. Holy fuck. It is so annoying. Scattered info, standards, many solutions for the same thing and none is good, style guide, plugins and editors, debugging, packaging, testing, libraries, environment quirks, deployment compatibility, vendoring/semantic-versioning etc.

Ironically, learning the language itself in general is the easy part, that other stuff that are just pain.

I just love learning new languages, but I hate to deal with new ecosystems and all their bullshit. It is just terrible, always seems totally wrong for a outsider (ex.: JS with npm, .Net with versioning hell, Scala with sbt bugs, Haskell with Cabal Hell, Mobile dev with all complex setup)

Fun thing: to make anything useful, dominate the ecosystem is essential.

FucK.

lerax··on Linux Sucks 2020
That is sad and wish it could be a joke. But there are days I think the same... today I cannot not even run zsnes without problems on most of distros (Arch/Ubuntu/Etc). Linux backward compatibility it's so terrible.
lerax··on Linux Sucks 2020
Brian makes me laugh everytime. Although the humorous critics that he do, almost point he raises there is an underlying truth on it. Linux Sucks not entirely, but some parts sucks so hard. I use Linux daily for almost ten years, and oh hell, it's pretty much better than Windows, but there is no way to deny the problems on it.

But Linux is getting better! <3

lerax··on Today’s Javascript, from an outsider’s perspective
This is so shitty and sad. I wish front-end dev could be more fun, with less pain, confusion and suffering. I'm losting the hope over the years about any browser stuff. :[
lerax··on Today’s Javascript, from an outsider’s perspective
I wish that type of experience would be uncommon, rare, exceptions... But in my perspective is the real true state of front-end today. Everything is broken from a outside perspective, so much changes happened that for me learning the overall Common Lisp specification (from 1000+ pages) it's more easy to do JS dev stuff on browser.
lerax··on Running Lisp in Production (2015)
On reddit I found that following questions. I would be glad for some possible answers.

---------

That was a good post.

I wonder if the tech stack still uses Common Lisp after these 5 years, considering all other languages described in the post?

Are there any new lessons learned after running Common Lisp for another 5 years, if it is still actively used?

Would you pick up Common Lisp again or something else, if you can go back in time and get a chance to start fresh?

Thanks!

lerax··on Self Supervised Learning in NLP
Even humans fails on this very often.
lerax··on Tutorial on building a desktop app with Go and Goey
> If you are suggesting that you need a Mac to even write code that interacts with it then I would be shocked to find out that is true

That's true. For iOS too. Sorry.

lerax··on Google confirms microformats are still a supported metadata format for content
If this take care of JavaScript together, I'll not be so mad.
lerax··on Launch HN: Datasaur (YC W20) – data labeling interface for NLP
This name is the best part of the project (and the project itself it's already an awesome tool).
lerax··on Fuchsia Programming Language Policy
Basically... Dart and C++ only?
lerax··on The Roots of Lisp (2001)
Clojure is always the wrong option to get into the principles of Lisp.

* Clojure utilizes non-standard Lisp syntax like []{}, weird function declaration and differ semantics of some forms (like cond usage, a powerful specie of switch-case of Lisp);

* Clojure don't have cons pairs, neither car and cdr operators. Cons pairs are fundamental Data Structures to build compound data, very well explored in SICP and any LISP text book.

* Clojure has the batteries of Java, so you will own a giant ecosystem to build complex software, but the evil parts of jvm will be inherited too. For the first contact with Lisp, this can be a unnecessary pain in the ass.

I would recommend to start a LISP journey with Land of Lisp or Practical Common Lisp (PCL), both focused in Common Lisp. Land of Lisp has a lot of history about the beginning of Lisp and the author write the book in a fun way, lot of charges and xkcd-like humor. The book has a collection of game projects per chapter, one at time, teaching principles of the language. PCL it's very useful for understanding specific parts of the language, I used as complement when Land of Lisp was not sufficient (loop topic on PCL is very good).

lerax··on SOLID principles and how I was breaking them
Nice examples.
lerax··on Ask HN: A New Decade. Any Predictions?
2020-2029: New AI winter.
lerax··on Ask HN: How do you keep your programming motivation up?
It's hard to work on a product that you didn't even use... or do not want to use.

Maybe the fundamental key is to work on a product that you care, that you want to use... I think it's important being proud of your job to keep motivation high.

Something like that I think.

lerax··on No CS Degree – Interviews with self-taught developers
Nice to see that reference about projecteuler. Although I study Computer Engineering, which is very close to Computer Science with Electrical Engineer grade, I really focus too much in the subjects which interests me.

BTW, I reforce a lot of aspects about analysis, optimization and programming with ProjectEuler by doing Polyglot programming with some friends: https://github.com/DestructHub/ProjectEuler

lerax··on How to pick a random number from 1-10
Very easy to predict.
lerax··on The Tragedy of the Common Lisp: Why Large Languages Explode
[hyperbolic] Common Lisp deserves more love. People are just too much jealous to admit that CL is one of the best language of the world. How someone can think that JavaScript, PHP, Java and other stuff alike are at least non-miserable in comparison with something so powerful as Common Lisp? [/hyperbolic]

Keeping the humor-ish stuff aside, actually taking CL here as example it's someway ignorant. That's doesn't make any sense to me. Seems that all that opinion are based in nothing more that nothing when it concerns about Common Lisp literature experience and personal experience with the language.

Some languages are popular, but they being popular doesn't proofs that they are good languages. This is a fact based on the type of problems most of the people are trying to solve.

CL being big it's some way comparable to C++, but for big problems, sometimes we need complex tools. CL is not for kids, neither C++. Common Lisp it's a language for hackers.

lerax··on Integer multiplication in time O(n log n) [pdf]
> I think there are already time O(log n) multiplier circuits out there.

This only can be magic! It's not possible!

lerax··on On Learning Rust and Go: Migrating Away from Python
> I don’t think Haskell or OCaml are more verbose than Python.

I love Haskell computing model, but holy hell, why is so difficult using things like State Monad or even a trivial thing like a global counter [1] ? Why something so simple should be so difficult? Don't say it's because functional programming, Scheme/Racket is not that difficult!

Haskell and OCaml has their own problems, I agreed with you that both languages are more expressive but the code density is not necessary a good thing neither.

[1]: https://github.com/scotty-web/scotty/blob/master/examples/gl...

lerax··on Lisp Macros, Delayed Evaluation and the Evolution of Smalltalk
As always, lispm given a free lession...
lerax··on Ask HN: How to learn best practices when you have no one to teach you?
Actually this it's a good advice. For me 5 years worked.
lerax··on Lem: A Common Lisp editor/IDE with high expansibility
Interesting setup! Thanks for answering!
lerax··on Lem: A Common Lisp editor/IDE with high expansibility
Yeah... Unfortunately or not, that type of person in the internet is so common that after years I learnt a little about it. Thanks for the support :) let's continue the good discussions on the thread o/
lerax··on Lem: A Common Lisp editor/IDE with high expansibility
Totally, I don't think even that it's possible being productive with Common Lisp using vim. Just don't fit in my mind. I use vim to edit my /etc/fstab and works really wonderfully. But Common Lisp? D: maybe there is some magical stuff, unicorns plugins and so on...
lerax··on Lem: A Common Lisp editor/IDE with high expansibility
That was fast. Just because something is not popular, it's not crapware. Nodejs libs are worse: they are proud to develop crapware software and have a extreme popularity by doing that.

Why we should support this type of software and attitude? There is something wrong with it.

← PreviousPage 2 of 5Next →