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

Incidentally, there is plenty of ls alternatives like lsp: https://github.com/dborzov/lsp


Another alternative is lsp: https://github.com/dborzov/lsp

Unlike exa it fully supports Windows and does not have any external dependancies (as it is written in Go, everything is included already).


Start by reading the open issues, choose one you want to tackle and try fixing it. Code structure can be confusing and hard to understand, consider contacting contributors and asking them questions you have. Rinse, repeat.

Another good idea is to browse through the closed PRs, including the code's diff tab. Communication there has evidence on how friendly and helpful the maintainers are, what are some easy contributions you can make and so on.


Why would you need your own DNS?


Most people don't need it, but there are reasons it can be convenient. And some just like to do everything in-house either as a learning exercise or for control freakery reasons.

Control of TTL values is on example. Most registrars use 4 hours these days but it used to be that 24 hours was the value used by most (with not option of anything else). That can be a minor convenience if you expect to move things around much. I have all mine set to 5 minutes (not a great idea for anything high traffic, but nothing of mine is). If you know what you are doing running a small DNS service is no great hardship at all (though it is surprising how many people don't get it right). Custom dDNS is another reason you might want this (though I think some registrars and specialist DNS hosts offer this for little or no cost these days).

In my case it costs nothing as the three bind instances I run live on geographically separate machines that I already have for other reasons (home line, external web service, backup location) - if you have no external resources already then you'd need to pay for somewhere to host a secondary server of course (cheap, reliable enough, and fast enough VPS services are common so that needn't be much cost - though a specialist DNS services needn't any more expensive these days either and will likely be more scalable than anything we setup manually).


In addition to the other replies, which are also good reasons, remember that dns poisoning is a real thing. While running unbound[1] to check DNSSEC signatures HAS discovered invalid results, and you can bypass some (but not all[2]) of those problems if you bypass the bad (ISP/whatever) resolver.

There really isn't much of a performance hit by recursively resolving DNS - it all gets cached anyway.

[1] http://unbound.net/ (other servers may also work for this purpose)

[2] It protects against a resolver that lies, but race conditions (e.g. NSA/QUANTUM) are not affected. Hopefully, DNSSEC itself protects against poisoned results, regardless of the method.


To avoid DNS censorship, my ISP filters pirate bay, plenty of other sites.


You could just use Google's 8.8.8.8 and 8.8.4.4 though.


Plenty of people don't want to send all of their DNS requests to Google.


Google's DNS resolvers are 100% truthful?


I've never heard of them changing or blocking entries. They're on Wikileaks' list of censorship-avoiding DNS servers http://www.wikileaks.org/wiki/Alternative_DNS And Google claims: Google Public DNS does not perform blocking or filtering of any kind. https://developers.google.com/speed/public-dns/docs/intro?cs...


Not what I had in mind. Ignoring the NXDOMAIN results, what makes you trust the VALUE of the NS/A/AAAA/MX/whatever records you get from Google (or any other resolver)?

Because I have frequently seen provably-wrong results from other resolvers, and some highly-suspicious results from 8.8.8.8 on occasion (though I haven't checked particularly often).

The point being, unless you're proving the results with DNSSEC (or similar), you can't trust any source.


Is that the sort of thing that could be fixed by running your own DNS resolver? I mean it all comes down to DNSSEC eventually.


You can limit some of the simple abuses by resolving DNS yourself, but DNSSEC (or other crypo-auth system) is best, of course.

I use and recommend doing both, as there's very little downside to running your own resolver.


Originally as a learning exercise (but that was about 15 years ago now). Now just because it is not hard, and I don't have to put up with any arbitrary "rules" from a provider.


the company's website: http://et3.com/


Here are class projects for Machine Learning at Stanford: http://cs229.stanford.edu/projects2012.html

Should be a good start.


A basic spellchecker is extremely simple to implement:

http://norvig.com/spell-correct.html

An instance with a similar code could be run, say, at Heroku (it would even be for free for the low traffic) with, say, a Flask wrapper:

http://flask-restful.readthedocs.org/en/latest/api.html

If the output format is reproduced, all it would take is changing the reference url.


>A basic spellchecker is extremely simple to implement

That reminds me of this article: http://prog21.dadgum.com/29.html "A Spellchecker Used to Be a Major Feat of Software Engineering"


Every time I read a norvig article I can feel myself get a little bit cleverer

Edit: And dumber, until I work through the examples twice

NB Chrome's spell checker has an edit distance of one. I learnt something useful and immediately applicable from norvig - I tell you this guy is great :-)


It is simple in case of English. For highly inflectional languages [1] it is quite challenging.

[1] http://en.wikipedia.org/wiki/Inflection


You have not even glanced at the referred article, have you? It is not conceptually harder, pretty much the same thing.

I played with some similar tasks for my native Russian. You can just add up a layer of hash tables/dictionaries to link to the original word. There are inflections in English too (and it is even harder for spelling purposes as the difference is often by one character) so it is conceptually similar.


On the other hand, compounding languages (http://en.wikipedia.org/wiki/Compound_(linguistics)) such as Dutch and German are somewhat harder. Words of over 20 characters are fairly common in Dutch and German (hence, it is not surprising that Wikipedia's lemma on word length is only available in those languages (http://nl.wikipedia.org/wiki/Woordlengte))

If you meet a word that looks no way like anything you have seen before you must try and check whether you can construct it (or something similar to it) from constituent parts that each are in your dictionary. That can be difficult, because you must also know how compound words can be constructed. For example, a preposition can be a part, but (typically?) not at the end of a word, you (typically?) have at most one verb, adjectives (typically?) show up at the start only, etc. (the 'typically?' disclaimers show my ignorance)

A decent spelling checker needs to handle this, as it should signal missing spaces between words. For example, "blackeyed", "eyewhite", "blackkeyed", "grayblack" and "blackgray" are acceptable, but "eyedblack" is not.


I found the spell-checking in VIM to be quite awesome as well. I'm not sure the algo behind it, but it seems to give good results even when I totally butcher a word.


IIRC vim has been using/able to use the openoffice spell stuff, in turn based on hunspell which has extremely wide usage (OOo, OSX, Chrome, Opera, Eclipse, Mozilla etc)


Uh, not based on, OOo and LO uses hunspell.


Good idea if someone has a large amount of WP installs (for clients, etc)..


hey, thanks for the slides and the talk, they are stunning.

What tools did you use to create the presentation slides? What fonts are these? How did you decide upon this color scheme?



That's neat. It still leaves one related question unaswered for me. How would one go about making something like this [1] (but with arbitrary similar changes)?

[1] http://img803.imageshack.us/img803/6721/imagehy.png


This is very helpful and what I was looking for. Thank you.


Whoah, sounds interesting! What could it be for, any applications in mind?


maybe a birdwatcher app. because mostly birdwatchers do not see their targets but only hear it.

and of course a siri plugin: hey siri, what sound/song is that?


Consider applying for YC's Summer 2025 batch! Applications are open till May 13

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

Search: