Hacker Newsnew | past | comments | ask | show | jobs | submit | tsuberim's commentslogin

Hey, I created this thing: https://graph-4d1ec.firebaseapp.com/


I got into Haskell a while back and dove deep into the purely functional, strongly typed, category theory rabbit hole. This small but very hard-core community exposed me to completely different (and radical) ideas about programming, software engineering and PL design after I was sure I've seen everything under the sun when it comes to PLs. I soon turned into one of those annoying zealots that keeps preaching functional programming. After a while, I wanted to write my own language/s and set out to build a compiler in Haskell, I kept wanting to make it more and more general brushing against the edges of what the type system could handle and thinking in more and more abstract category theory terms until I just gave up. I felt that the type system was restricting my thinking. Another example of this absurdity in the Haskell way of thinking is a very general scala library: https://github.com/slamdata/matryoshka .

TL;DR: Haskell makes you think in a deep, general and often very beautiful mathematical way which makes you write beautiful but unintelligible code for the non-mathematician programmer.

The switch came when I became increasingly fascinated by machine learning (which is written mostly in Python). Programming in Python felt extremely liberating to me, I could express complex ideas with minimal number of lines that was also obvious for others to read. This is not to say that I abandoned the ideas I learned from the functional land, on the contrary, I still think in a very functional way and Python only made it so much easier to express those concepts. A powerful middle-ground between the two approaches is gradual typing (ie. mypy or typescript) which lets you take advantage of type checker without letting it get in your way, this is the best of both worlds for me.

TL;DR: Strong types are for weak (or lazy) minds. Python FTW.


Isn't it O(n) where n is the length of the string to match? Because you can compile any regex to a DFA and run it over the string.


Not sure what you mean. For detailed complexity analysis, please read this excellent post by Russ Cox: https://swtch.com/~rsc/regexp/regexp1.html


So you think fusion reactors will be too expansive and hard to extract energy from to be economically competitive with coal? Then why are people investing huge amounts of money in it?


"Beating coal" is not the goal because we can't burn enough coal to increase human energy consumption without sinking our coastal real estate.

What you have to beat is both current-day sources of carbon neutral energy and also emerging sources. For instance if you drill a hole down a few miles into bedrock you might be able to withdraw heat for a century or more, possible advanced nuclear fuel cycles involving plutonium and thorium, space solar energy, etc.

Much research in fusion energy is driven by national security or pride interests. For instance the laser fusion facilities run by the US let the US develop nuclear weapons without nuclear testing. Projects like ITER are cultural "stretch goals" like the International Space Station; a lot of risk is involved but maybe there is a reward in 20+ years. Some people have always thought they could make an end run to a fusion reactor but so far it has not panned out. That doesn't mean it won't for somebody.


I think people overestimate the bad consequences and underestimate the good consequences of such things.

1. I see amazing potential in AI based content creation. Imagine a world where you can have all the music/movies you want, personalized to your specific taste. I would love to have an AI watch Avatar The Last Airbender and invent a few more seasons for me (find out what happened to Zuko's mom :))

2. It is true that we should be more careful about what content is genuine vs fake, but cryptography has you covered, anyone can easily digitally sign the content they create with their private key and be able to prove the authenticity of their content.

3. One thing to note is that AI cannot be used to distinguish reals from fakes because the fakes are generated (using GANs) precisely so they can't be distinguished from the reals.


Cool stuff. I wrote a simple Hindley-Milner type language interpreter in Haskell inspired by Haskell a while back. Consider using Parsec as a parser combinator library.


The idea is that anyone can upload a trained model into mlhub and it gets exposed as a REST API endpoint that anyone can use to enhance their app/service with ML without needing to understand the code, set up dependencies, maintain some infrastructure etc...

I would love to get some feedback on this. Does anyone find it useful? Any feedback is greatly appreciated!


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

Search: