Ask HN: What's the most underrated programming language? - <AUTHOR> Recently I started reading about erlang[1][2], And I started feeling why its not widely popular as python or go. Though I have very little knowledge about functional language and tradeoffs when it comes to using them. Just wanted to know more about it and any other languages which are underrated<p>[1]blog.whatsapp.com/index.php/2012/01/1-million-is-so-2011/ [2]https://stackoverflow.com/q/2708033/2577465 <comment><USER2> Java is really underrated. It is popular but it isn't thought of as powerful or cool as compared to python, haskell etc.. I disagree.

a. Object oriented code done right is the best way to handle production code.

b. Java has introduced streams, lambdas etc.. has any other language shown this type of adaptation to times ?

c. Python, Ruby etc.. don't have equivalent performance

d. c++ obviously beats it on performance but I know the pain of porting c++ code

e. Most of the boilerplate code is either auto-generated or you can use Lombok type framework to generate them for you

f. Java made a really good comeback with Android

So the new kids in the block might not like Java because it isn't cool but Java has stood the test of time.

<comment><USER3> Java's main strength is the jvm. C# as a language is superior to Java in pretty much every meaningful way.

All the things you mention about Java were done in C# and much more elegantly.

Where Java shines is not the language but the runtime behind it.

<comment><USER4> With C#, it's not _just_ the language. Typically, you'll pay for licensing costs of hosting the infrastructure required to run production grade C# applications. With Java, you can use open source infrastructure and servers.

<comment><USER5> That is only if you use C# with .Net framework over .Net core

<comment><USER6> .NET Core is still pretty immature though. The quantity of third party libraries that support it is tiny in comparison to what you get with Java.

<comment><USER5> From what I can tell it is mature enough for stack overflow to use it

<comment><USER6> I was referring more to the overall ecosystem than the core platform, which is solid. Stack Overflow uses Dapper rather than Entity Framework, and that alone makes transitioning much easier. EF on .NET Core still just isn't as good, and the third party library support isn't as good either. For most people, I don't really think moving to Core is quite worth it yet.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> Not underrated, but F# gets a lot of flack for what has proven an extremely usable and productive language.

* It is functional and succinct by default, but allows you to go mutable and fast when needed (see the alioth benchmarks).

* Open source culture

* The tooling (thanks to kcieslak and others) is fantastic

* Web story is covered well by suave/giraffe on the backend, with fable-elmish as a personal favorite if I need complex front-end functionality (most stuff I have is just regular pages though).

* Mobile story through Xamarin(Forms is not my favorite, but Native works fine) or Fable

* To mention javascript again, I think Fable has a ton of well thought out features compared to other transpiled languages

* Testing via expecto (and just github.com/haf in general)

* A whole wealth of libraries through .net integration

* I can compile a binary to execute on linux for easy deployments, or target osx to create convenience command line applications for my coworkers

There are some negatives (some C# interop gets inelegant, some tooling is left to the community as a responsibility, other minor things), but overall it has all of the important things.

</comment><comment><USER8> Nim. I understand some reasons for this, as I didn't pay attention to it very much for awhile myself. I think it's only the last year or two that it's reached maturity. Its primary alternatives also have the advantage of huge existing resource bases.

I'm someone who thinks there is room for lots of good languages, and each has its role, so I don't think languages should be pitted against one another necessarily.

However, with Nim you have something very similar to Python in its expressivity, but with performance comparable to things like Rust and C++. The metaprogramming is very well done as far as I've seen, and it seems very well thought out. It also has solid, useful compilation targets.

It just seems like the whole package for a lot of use cases and I'm not sure why it's not getting a lot more attention.

<comment><USER9> I've used nim in production and I even wrote a very small part of the language itself; and it's great in many ways, but unfortunately it lacks taste. When a language gets that complex it needs to be consistent and it needs to exhaustively cover use cases and nim is obviously better than C, no question, but it's no Ruby. Maybe it will be one day, but for now having a smaller amount of features like Rust allows for a cleaner more cohesive picture and building on top of that is easier. Though I hate Rust's syntax. Crystal looked promising for a while, but dev there is slow.

I still wish the coffeescript model had worked out where we could view or think about languages differently and compile them to a common one. But unfortunately it doesn't work without a great deal of effort.

<comment><USER10> >unfortunately it lacks taste

Taste is subjective ...

De gustibus non est disputandum:

[https://en.wikipedia.org/wiki/De_gustibus_non_est_disputandu...](https://en.wikipedia.org/wiki/De_gustibus_non_est_disputandum)

... so it is almost as though by default, you have to explain/justify your opinion on this :)

</comment></comment></comment><comment><USER11> D.

It really is a great successor to C++, with lots of new ideas taken from other languages too, and some very insightful language designers. I wish people would give it more of a chance and not stop at "it has a GC" and decide that this makes the whole language worthless.

It's been around for a while but hasn't gotten popular yet. I don't know if the weird license for the reference compiler is what slowed down adoption. At least for me, that's why I was hesitant to commit to D. After the license change, I've had so much fun with it.

<comment><USER12> >I wish people would give it more of a chance and not stop at "it has a GC" and decide that this makes the whole language worthless.

Seriously! I've never seen anyone complain that e.g. Go has a garbage collector, and Go's is not even optional. The only thing Go has over D is a large corporate sponsor.

<comment><USER13> That's mostly because the Go folk stopped calling Go a systems language. And they did that pretty quickly after public launch precisely because of all the people pointing out it had a non-optional GC.

</comment></comment></comment><comment><USER14> I'm going to riff on what Null-Set said about Ada, which people like to criticize for its complexity but which actually solved a lot of hard problems in very creditable fashion for its day. The complexity complaints are a joke, considering that that both Java and C++ have since become more complex than Ada _ever_ was by trying to solve some of the same problems -and in C++'s case largely failing. If Ada (or its relative Modula) were introduced today, it would seem like a breath of fresh air compared to those two.

Special runner-up: MOOcode, the native language of LambdaMOO. Still one of the most coherent and pleasant object-oriented languages I've used. It's especially notable for its "code runs as author not invoker" protection model and call-stack introspection. People could learn a lot from that.

My first thought was Nim, and o2348diuu already explained why. Second thought was Lua, but a couple of people beat me to that. Haskell and Elixir are definitely _not_ underrated. They're under _used_ , certainly, but that's not the same thing and IMO Haskell is often _over_ rated.

<comment><USER15> My thoughts exactly on the difference on underrated and underused. Lua is quite widespread in the industry in sneaky ways. It just doesn't get the love it deserves.

<comment><USER10> Do you know of some example areas, other than games and nginx/OpenResty? (IIRC it is used in the latter.)

</comment></comment></comment><comment><USER16> Can we call SQL a programming language, or no? (I was trying to think of someone who's been around for a while, but maybe doesn't receive his just due.)

SQL seems to power nearly everything at some level, has much code written in other languages for the sole purpose of interfacing with it (for better or worse), has inspired other concepts and technologies (even as they are defined against it as what they are _not_ ), etc.

I don't think anybody mentioned C yet either, another foundational case…

<comment><USER17> If SQL deserves consideration for being "underrated", Datalog certainly does.

Compared to SQL, Datalog makes recursive queries very natural[1], making it good for manipulating graph-like structures. For example, here's reachability in a graph:

      reaches(X,Y) :- edge(X,Y).
      reaches(X,Z) :- edge(X,Y), reaches(Y,Z).

That was easy!

Variants of Datalog pop up in unexpected places. Datalog dialects are often used for implementing code analysers (e.g. Semmle). Datomic's product is a variety of Datalog with S-expression syntax. UC Berkeley has a Datalog-based research language called bloom ([http://bloom-lang.net/faq/](http://bloom- lang.net/faq/)) aimed at implemented distributed systems. Datalog was also an influence on the recently-shuttered Eve ([http://witheve.com/](http://witheve.com/)) project.

In its original form Datalog lacks aggregations, which is probably a big part of why it didn't catch on - aggregations are important! Still, some Datalog implementations add support for aggregations. Unlike SQL, Datalog never really became a standard; more an academic ideal than a practical tool. I think this is a shame.

While Datalog doesn't have a canonical practical implementation, in terms of impact on how people think about data query languages, I think it's an academic gem.

[1] SQL has recursive queries ("Recursive CTEs"), but they're neither widely used nor particularly well-supported in most SQL implementations - they're basically tacked on. This is partly because they're hard to optimize due to a lack of restrictions; with Recursive CTEs, SQL is Turing-complete. Datalog deliberately isn't, and there's a large literature on optimizing evaluation of recursive Datalog.

</comment></comment><comment><USER18> Object Pascal (FreePascal/Lazarus/Delphi)

Many, many production applications have been written using these languages/environments, but the language has fallen out of favor since the early 2000s.

\- Code is easy to read and understand, and you can get a new developer up to speed quickly

\- Can be used as a high-level language, a low-level language (you can even include in-line assembler), or both

\- Blazing fast compilation

\- Statically-typed, and includes classes, records (structs), reference- counted interfaces and strings

\- Lots of implementations and platforms

<comment><USER19> I started picking Object Pascal up (FreePascal & Delphi varieties) and was amazed by it. It is rather simple and compiles to native code. Not only that, you can create mobile apps (and even macOS apps) with both Delphi and FreePascal.

<comment><USER18> I'm glad that you're liking it - it's a very "approachable" language. I discovered it 20+ years ago, and never looked back. I've written all sorts of software with it: manufacturing order entry configurators, payroll software, application servers, database engines/servers, ODBC drivers, .NET data providers, compilers, and a web application development IDE.

If you're looking to do web development (browser) with Object Pascal, then here's a shameless plug for our product, Elevate Web Builder:

[https://www.elevatesoft.com/products?category=ewb&type=web](https://www.elevatesoft.com/products?category=ewb&type=web)

</comment></comment></comment><comment><USER20> There once was a language that compiled in milliseconds - you pressed a single button and your changes were instantly in front of you. What's more a clever separation of data and code meant that this instant reload would show your newly compiled app with your data still in place, and you looking at the same screen as before, exactly where you had left it, except powered by your new code.

This separation between data and code also enabled trivial scaling for huge system, as well as the opposite - hundreds of apps, each belonging to a different customer could share the same system - decades before docker or k8 was born.

This language was written when Objects were the only thing people talked about. In a counter-cultural move, the language's author wrote the entire standard library as only functions. The language could be easily learned - just look at the list of functions for the one that does what you want.

It's cross platform - the user interfaces you build work on all platforms with a single codebase.

Its combination of scaling, quick development iterations, and ease of use powered the rise of fourth largest tech company in the world today. In fact, just a single app written in this language has more than a billion people using it every day.

Darkly, however, the name of this language may not be spoken here. Even by praising it obliquely, I risk censure, and my perceived value of my work being cut by eighty percent in penalty.

I will not name it.

<comment><USER21> The language is PHP.

The instant reload and not losing your place is because changes to the server do not affect what's in the browser.

Customers sharing a system works because you can just have directories of PHP files.

PHP was developed without any kind of object system.

PHP is completely cross-platform because the UI is in the browser.

PHP powered Facebook.

PHP has a very poor reputation here.

PHP is in the top 10 tags on StackOverflow.

<comment><USER20> Bingo! You got it!

<comment><USER22> PHP 4, maybe? My experience with PHP 5+ has not been any of the things you mention.

<comment><USER20> Most PHP frameworks these days are a horror show of overcomplexity, precisely because they are trying to write Java in a language that is not Java.

In my crotchety, old man opinion, people have been trying very hard to make PHP like a blub, overly verbose language, and trying to hide the things that made it great.

<comment><USER23> What kind of things make it great? I only see downsides or at the very least poorly implemented upsides that most other languages only have.

</comment></comment></comment></comment></comment></comment><comment><USER24> I think it's Haskell.

I know sometimes it gets some hype but Haskell and its ilk is just so above the quality of any other language it's mind bending. Whenever a hard language design problem comes up in any new language, Haskell has solved it more than 2 decades ago.

The ecosystem (Hackage etc) is pretty bad though.

<comment><USER25> _why_ is the ecosystem bad? While no metrics for "underrated" are proposed here, I would say, empirically Haskell does not seem like your go-to language if you want to develop useful and maintainable software.

<comment><USER26> Sounds a bit like a chicken and egg problem.

<comment><USER25> It's not like the ecosystem is non-existent. At all. Only are most libraries really hard to use (IMHO), and they don't compose well (too many complicated types), have terrible compile times...

The language might be elegant at the core, but it's too far removed from reality (efficiency on real computers is super hard to control from Haskell) and it's far too focused on types (which, while they catch some errors, slow development down, and _encourage_ unnecessary complexity ("easier" and "more type-safe")). After all, it's an academic language.

</comment></comment></comment></comment><comment><USER27> Wolfram Language / Mathematica. Probably not "underrated" since it is backed by an entire company with the sole purpose of developing it -- but as a programming language it is absolutely underappreciated.

* Essentially a Lisp. Data and program can be freely interchanged and is frequently done in completely normal code.

* The most impressive "standard" "library" in existence: everything from symbolic calculus, machine learning, UI building, graphics, signal processing, data import and export, foreign function interfaces and it just goes on and on.

* Incredible attention to consistency and interoperability. Everything behaves in predictable and orthogonal fashions. Right from the low-level pattern matching up to interacting with the build in database.

* The best documentation of any programming language. Nothing compares even slightly in breath, friendliness, consistency.

</comment><comment><USER28> I'll say PHP because it's so underrated that I'm somewhat afraid to mention it here.

It's far from the most sane language I've ever used, and as much as I love it, I'll admit there are parts of the syntax that straight up hurt my soul. Yet, despite all the drawbacks, if I need to write something fast, PHP and a micro- framework (I like Slim) is always my first choice.

<comment><USER29> Having worked in lot of languages (most recently — Go), I can say PHP by far is the best to get the job done especially when it comes to web related stuff.

PHP let's you be what you want to be. If you are an architect with years of experience building a suite of microservices where you would want to use lot of bells and whistles, testing, dependency management, etc. do it. If you are a novice programmer looking to create your wedding website and have a simple contact form, do that as well!

Best part, each request is a clean start and independent.

</comment></comment><comment><USER30> D - it could be a replacement for many languages right now, and in many aspects is superior to Go, but since it lacks a big brand behind it, people are afraid to use it (although some do, successfully).

Another one is Nim, with great potential, but still some rough edges here and there.

Last but not least: Red. If this language gains momentum, it will change the game forever. The current implementation take the concept of cross-compilation to a new level (although the current lack of View on Linux is somehow disappointing.)

</comment><comment><USER31> Clojure. It's built on top of JVM, it's dynamically typed but it makes so much sense, it's probably language that makes most sense out of dynamic type system. It really is language for solving problems, if you get past that initial brackets lisp barrier, it is amazing, very efficient and it feels really good to solve problems with it. I don't know why but it just feels great to use it. Plus it has really nice tools for Emacs. I am learning it and really enjoy it, astonishingly powerful.

</comment><comment><USER32> Nobody loves Perl _, but it holds the world together.

Perl is happily unoptimized for anything, and is usable for nearly everything. It's easy to write and easy to make it hard to read.

You can write Lisp in Perl, and some people insist on it.

The CPAN repository has a module for nearly everything, and an amazingly high percentage are well documented.

_There are some weirdos who love Perl.

<comment><USER15> I don't like perl a lot exactly because it's easy to make it hard to read, but I gotta give that CPAN is the best language specific package manager I've ever encountered.

<comment><USER33> I strongly disagree that CPAN is the best package manager. The CPAN repository might be one of the largest for a specific language, but the cpan comnand line is aegul, you can't even remove a package automatically with it. Don't get me wrong, because I love Perl, it was my main language for 10+ years, but the default package manger us awful.

<comment><USER34> cpanm

</comment></comment></comment></comment><comment><USER35> The whole Wirth family of languages. They had clean, readable syntax, proper modularity, fast compilation, good performance, safety, productivity, GNU compilers. But they were shunned because people apparently didn't want to type "begin" and "end" and preferred unintelligible, clever tricks in C.

<comment><USER36> Not just syntax. All of Wirth's languages are extremely poor languages with no possibility to grow them.

He was stuck in the structural programming world and never ever got out of it. Besides, there's no single ultimate Wirth programming language. All of them are re-hashes of each other with random additions thrown in (Modula, Pascal, Oberon, Active Oberon, Modula 2, you name it).

They are small fast programming languages. And that's about it.

<comment><USER37> > All of them are re-hashes of each other

Or more charitably viewed, successive refinements consisting of collections of proven ideas, with the ideas that didn't pan out in earlier iterations left out, yielding a body of languages that have had wide influence.

</comment></comment></comment><comment><USER38> To me it's Elixir. My company is a PHP shop, which results in complicated OOP stuffs (from most junior devs), as well as the inability to take advantage of concurrency. The syntax of PHP makes me sick just to look at.

<comment><USER6> PHP _can_ be nice to look at. Laravel is a pretty good example of that: [https://laravel.com/](https://laravel.com/)

</comment></comment><comment><USER39> Probably not underrated but not very well known. I'd say Julia as it easily one of the best script languages.

But I've also wondered why D is not more widely used as it is a much nicer version of C++ and integrates fairly well with it.

Also a bit odd that OCaml and SML isn't more widely used

<comment><USER40> I wouldn't use Julia for scripts because of its overhead. I wrote a udp packet flinger for work to test packet throughput in about 10 lines server, 10 lines client (yay!) But when I wanted to deploy to Amazon, the images took about an hour to build.

Generally speaking applicatio startup time in Julia is poor (maybe because of the number of symbols in Base?), I only recommend using it for its original purpose - mathematical computation - which, by the way, it's insanely good at and an absolute joy to code in.

</comment></comment><comment><USER41> This depends on your definition of "underrated" but I'd definitely throw Perl 5 into the ring here.

Edit: Specifically, Perl 5 + CPAN is what makes it so much better than many people think. The language itself is insanely flexible, which lends itself to extensions that greatly increase its expressiveness. IMO, if you start with Moose (from the CPAN) as part of your "core library" Perl 5 becomes a very powerful tool for writing very nice code, at any scale.

</comment><comment><USER42> Lisp.

Its the most powerful language that has been in existence and yet most modern programmers haven't heard about it or used it.

Almost everything to do with the ecosystem is magic, and its not even a programming language by many a measure, its a thinking paradigm so powerful that it could make many things that look impossible a walk in the park. I've only been learning it for more than a month now, and this is what I've seen.

1\. Unmatchable features when it comes to modifying structured data of any kind. Many eons ago our foregeeks seemed to have imagined everything in computer science as either a list or combination of lists on somekind. Tree, Queues, Heaps, Stacks, Vectors, Graphs, Sequences, Sets... You name it, these are all lists or a combination of lists. The programs too are lists(abstract syntax trees). Most modern day data structures you will will deal with XML, JSON, Tables, Matrices are lists or a combination of lists. And lisp is list processing. Once you get a hold of lisp and its paradigm of thought, even difficult algorithms and data structures feel like a walk in the park. I used to struggle with white board coding and algorithm stuff, these day most of it comes to me naturally or little work, when I think of it in terms of lisp paradigm.

2\. Recursion: For some reason, its very easy to think recursively in lisp. And that makes very easy to represent hard solutions.

3\. Functional programming: Full functional programming features, no holds barred.

4\. REPL: If you haven't used the Lisp REPL, you haven't seen a real REPL yet. I was completely blown away by the REPL. Combination of Emacs + SLIME is just too good. And you can hot swap code by attaching to a live process. Which is totally insane.

4\. Continuations: Makes it very easy to express a variety backtracking problems.

5\. Macros: Ability to extend and add any language feature and paradigm you want, at compile time at 0 costs. And anything you add becomes a part of the language.

6\. Libraries: Most lisps these days have libraries for most of the needs.

7\. Books: Lisp easily has the most eccentric, fun and enlightening books in all of CS history.

When you code in lisp it feels you are dropping tiny little recursive functions all over the place which grow like a small organism to a very intelligent being.

This is closest I have to come to programming Nirvana so far. The last time before this was when I used Perl.

<comment><USER43> I strongly concur with this. I'd like to point a very specific thing out, which you only implicitly refer to:

      homoiconicity

Anything else, you can pretty much bolt onto any other language, but that will _never_ happen with homoiconicity. The language has to be built with it in mind, or you won't get it. Ever. It boggles my mind that there are almost no non-lisp-like languages that try to do this. If I had to guess, I'd assume that any language like this that _could_ have been concieved was so similar to Lisp that it just wasn't worth reinventing the wheel.

It still makes me wonder though - here we are, the concept is 50 years old, and we're still bolting lexers together.

<comment><USER42> I think Perl 6 has this concept of using the language to modify itself. Not exactly through homoiconicity, but the concept is somewhat similar.

<comment><USER44>
      sub infix:<d> ( $count, $faces ) {
        (1..$faces).roll($count)
      }
      # from this point on the language has changed to have a
      # new infix operator

      say 5 d 20;
      # (13 5 3 3 14)

The Rakudo implementation also has macros and Slangs which are more powerful, but we want it to have a better interface; so they are not part of the Perl 6 spec yet.

</comment></comment></comment></comment><comment><USER45> NewtonScript was certainly underrated. Its use of frames with persistence (Soup) with queries was eye opening. I also loved the ease of UI development due to a proper prototype-based framework.

A further development of F-Script should have been the successor to Objective-C instead of Swift. It was fun and its APL influences really complemented the Objectice-C / Smalltalk collections. It also respected Objective-C conventions.

</comment><comment><USER46> I really enjoy Ruby, Lua, and Lisp.

I find it interesting none of them are really used a ton in industry, but I've written my own Civ V and Civ VI mods (and helped other people with theirs). Lua is pretty much a pleasure to work with everytime.

Lisp is one of those odd balls, that is both prelevant, but also rarely seen in industry. My primary interaction has been with Scheme, Racket, and elisp. Wiring modes for Emacs is always fun (in elisp) and amazingly short, consise, and powerful.

Ruby is a dream, mostly I use it for Rails, but the whole ecosystem is well thought out and worth the time (what little you need) to put in. I've setup websites at scale in Ruby on Rails, with components written in Ruby inline C to make it much faster, an NLP library and much more ([https://projectpiglet.com/](https://projectpiglet.com/)). Better yet, I've seen non-programmers pick it up in a few weeks. Honestly, when I hear someone is developing an app in Springboot (Java) or some other webframework, I'll often show them they can complete their whole app in a couple days with Rails.

</comment><comment><USER47> Prolog, Prolog, Prolog.

<comment><USER48> Genuinely curious - does the need for logic programming often arise in general software development? Or do I have a narrow view of what Prolog is good for? (I've worked a few toy problems with Prolog back in uni, but don't actually know the language very well.)

<comment><USER47> Logic programming is programming. It's like saying does the need for procedural or OOP or functional programming arise in software development.

It's a different style of programming, the mental state of the program when using prolog is to declare the rules that must hold true for the program to execute. You think less about state and more about logic.

In my opinion, here's what's amazing about this. There are programs that you might have a hard time solving via other means that you can easily solve with Prolog if you know the rule.

If you know the rules all you need to do is state the rules, and Prolog will find the solution for you. Besides being great for quick prototyping and application of rules. You can build complete systems with it. SwiProlog has HTTP, SSL, ODBC and even GUI support.

<comment><USER49> I'm pretty sure I'm the only person in the world who can say this, but I've been working with SWI-Prolog as my home automation controller for around 15 years. Last year I rewrote the system to make use of a library to allow SWI to publish/subscribe MQTT messages for communication between the components.

Logic programming just sounded like it would make sense for describing the behavior of a home automation system, and I think it works well.

<comment><USER50> Any chance you have anything publicly available on this? That sounds like an awesome application of Prolog.

</comment></comment></comment></comment></comment><comment><USER51> Forth. It's a procedural language stripped down to the absolute minimum amount of syntax. Somewhat like what lisp is to functional languages. Its low level and minimal overhead make it excellent for highly constrained embedded systems.

<comment><USER27> And absolute joy to implement! If anyone is curious: pick up "Threaded interpretive language" by R. G. Loeliger. It is old and only describes one kind of kinda-Forth -- but in a few readable lines of assembly and some neat memory structures you have an interpreted language.

</comment></comment><comment><USER52> I did some classes on the parallel language Occam-Pi back in uni. I really liked some of the designs - it's designed like a circuit diagram, with data flowing between segments in channels, and if no data is flowing, the channel and its attached segment blocks without consuming resources. It's also very easy to switch between series and parallel execution, and by designing it like an electrical circuit, it becomes possible to identify potential deadlocks and prove your program will function as expected. It's mostly an academic language, but it's worth looking at.

</comment><comment><USER53> I would have said erlang as well, or possibly smalltalk, but I guess it depends on how you define underrated.

<comment><USER41> Smalltalk is definitely underrated. It can be an extremely productive language, and has built-in capabilities you won't find in any "mainstream" language that make coding in it very pleasant. :)

</comment></comment><comment><USER54> [http://claylabs.com/clay/](http://claylabs.com/clay/)

Clay is a language that is no longer being developed, but it was a well designed substitute for C. It was built with templates in mind from the ground up and has modules, move semantics and no garbage collection.

Also Intel's ISPC. If you want real speed, ISPC makes it much more practical to take advantage of SIMD, though it seems not many people know about it.

</comment><comment><USER55> English.

You can write your requirements in this language, then send to a programmer to convert them to code.

</comment><comment><USER17> I think Racket is underrated. (Dunno about "most underrated".)

It's a batteries-included Scheme/Lisp dialect with the best documentation I've ever seen, a state-of-the-art macro system, and a very friendly community. It has performance better than your typical dynamic language (Python, Ruby) though not as good as the highly optimized ones (Javascript V8, LuaJIT).

<comment><USER42> Just to add to your comment, DrRacket is a very wonderful IDE.

</comment></comment><comment><USER56> C.

Often people don't learn anything about a language's internals, or a computer's internals, when they learn a "nice" language with garbage collection and dynamic typing and massages. IMO for long-term software engineering that stuff is important to know.

Many see C as this old, outdated, uncool language, and never even realise that so many other languages are written in it.

But really, when it comes to perf and correctness, it's still king:

\- Often you can try to optimize a simple python program to make it run faster... or you can rewrite it in C and get a 1000x boost for free

\- It has compilers that have proofs of correctness

\- There are many tools that can prove a C program's correctness

\- It's still the best way (IMO) to learn how the computer works while learning the language

\- It doesn't have OOP (which makes me sad), but you can get there by writing C++ as "C with classes"

\- It probably has the most job security guarantees of any language: it will be a looooong time before C goes away

\- It's so standard and supported, programs from 40 years ago still run today; I don't know if you can say that about any other language (except like, COBOL)

<comment> 52-6F-62 I'm presently working my way through Kernighan and Ritchie, and the more I dig in, the more I enjoy it.

I love the large feature sets with some other languages for certain projects, but the small size of C makes it easy to wrap one's head around the basics. The extended learning comes from problem solving due to specific limitations.

My biggest beef is probably a little to do with number sizes (64b ++), but I just haven't learned the best method for dealing with them.

I'd dabbled in it before, but this book really does open it up wide.

And the potential for working with embedded devices in a more profound way, it can't really be beat, no?

</comment></comment><comment><USER57> FreePascal/Lazarus.

</comment><comment><USER58> PostScript - just because I had some mind bending fun with it years ago in NeWS & HyperNeWS

</comment><comment><USER59> Have a look at Parallel U niverse's Quasar. It's q Java library that provides lightweight threads called fibers. They have some interesting older entries in their blog with benchmarka and comparisons to Akka etc

</comment><comment><USER60> Icon was a language I used in my youth. It took me a long time to unlearn some of the very neat features of the language.

if 1 <= x < 99 rather than if 1 <= x && x < 99 and a host of much more natural expressions

<comment><USER61> This is one of the things I like in Python

</comment></comment><comment><USER62> The Q Language: [http://code.kx.com/q4m3/0_Overview/#00-the-evolution- of-q](http://code.kx.com/q4m3/0_Overview/#00-the-evolution-of-q)

</comment><comment><USER63> I would say Erlang and OCaml are compared to Go despite being in a similar space and having particular advantages. It seems like Go gained traction over them largely due to Google's backing and having a Python-like philosophy of aesthetics - namely simplicity and readability over sophisticated features - and it seems like many Go developers came mostly from Python.

You can take my perception with a giant grain of salt though: I mostly write Scala these days, which has to be Go's polar opposite of popular languages in terms of design philosophy.

</comment><comment><USER64> Tcl

</comment><comment><USER65> Fortran. 60+ years and still useful code used widely thanks to netlib and certain BLAS implementations.

Has many superb (proprietary) compilers and handles math like it is nobody business without having to drop into manual vectorization tricks like C and C++.

Given good variable naming convention it is quite readable too. It is still being developed and enhanced as a language.

<comment><USER61> But only quite. As a physicist I had to deal with FORTRAN and moving to C was such a relief (just this sentence shows the amount of pain).

The next generation with their pandas is spoiled.

</comment></comment><comment><USER66> I think it's Crystal lang, it have a very nice syntax and performance compared to go / rust / c++

</comment><comment><USER67> I liked lua when I used it. It didn't seem to get much love at the time, though I think it's more popular. It's got a few neat things and it's good for embedding. And I think maybe D doesn't get the appreciation it deserves but there's a bunch of reasons for that.

<comment> 52-6F-62 I kind of wish D would pick up. It's very familiar and clean, and a few things are remarkably easy and fun to do.

Though reading through issues and threads about it, and maybe high performance programmers using it have more than a few things to say about the state of the GC. I'm not sure if that's changed or not. I've only dabbled yet.

I'd like to see a community grow around it. It, or something like it, seems to me like the path a modern, low-level language should be going. It's not there yet, but in terms of the feature-set, optional safety, syntax, typing, etc, it's an attractive space.

</comment></comment><comment><USER68> Did anyone mention parasail? It's a statically typed programming language with region based memory management, builtin parallelism of every expression, and a number of other quite entertaining design decisions. I think it's a shame nobody has heard about it.

</comment><comment><USER69> Smalltalk

</comment><comment><USER70> Programming language != runtime. Erlang-the-language is pretty flaky, but the VM where it runs (plus OTP) is pretty insane.

Same for Java, the language itself is pretty boring, but the runtime (JVM) is great.

C# is the opposite, the language is great but the tooling and runtime are not there yet.

</comment><comment><USER71> I would say Ceylon. Ok I never used it, but it looks like it has one of the cleanest type systems ever, and flow-based typing is a really clever idea that isn't really in any other languages.

Sad that it has been abandoned by Red Hat.

</comment><comment><USER72> Excel.

</comment><comment><USER73> Delphi

</comment><comment> Null-Set Ada

<comment><USER74> I thought (back in the 2000's) that due to security reasons system programming would go from C to Ada...

... then Java happened.

</comment></comment><comment><USER75> I'm going to say Groovy. It allows you to do all the nifty things Java does, but you just feel infinitely more productive.

<comment><USER76> Apache Groovy brought closures to the JVM in its day, something no other JVM language had at the time, kudos to its creator James Strachan who was dissatisfied with Beanshell. Now that Java 8, Kotlin, Scala, and Clojure also brought closures/lambdas mainstream, I'm not really sure what unique proposition Groovy brings to the JVM any more.

</comment></comment><comment><USER77> javascript too pop to be noticed.

<comment><USER78> I'd argue it's more misunderstood than underrated.

Given (historical) alternatives of flash and java:

Want some simple scripting on a web page? JavaScript, hands down

Want a full page takeover as an app? Java didn't make much sense here- the startup time was awful, and you might as well have literally just made a java desktop app. Flash too had limitations- you could (and I have) throw something together pretty quickly with flex, but the loss of the mobile market was unfortunate.

With that said, you are afforded many paradigms, from fully OO to fully functional (from GWT, to Angular, to React, to Purescript), with everything from static, compile time safety (typescript and flow) to runtime clojure-spec ish typing supporting ADTs (tcomb, io-ts, folktale, fantasyland).

There's canvas and webgl, but with the DOM having accessibility primitives built-in, you really don't need or want to go there unless you absolutely have to.

For every fault of the language, a third party came to the rescue- from module systems (require/amd => browserify/cjs => system/webpack/tsc/ => native modules) to macros (sweet.js) to DSLs (peg.js) to whatever you can think of, all on NPM (for better or worse).

There's a lot to hate about JS. There's a lot to love, if you give it a chance without carrying emotional baggage.

A lot of these things have absolutely ruined the modern web- I __hate __the popups on every news website wanting to send me push notifications, and every other blog pretending to be a SPA.

A lot of these things have made business advancements possible- I once took a downloadable part configurator app from a company, which could only be installed on windows, and converted it into a web site. Average quote turnaround went from 2-3 weeks to a salesperson could walk into a customer's office, walk them through the website on an iPad, and have a quote in 15 minutes.

JavaScript, and the web platform in general, have been maligned, misunderstood, inappropriately used, but it has also been a fundamental changing point in our usage of computers, in many cases for the better.

</comment></comment><comment><USER79> Modula-3

</comment><comment><USER80> Lisp, and dialects like Scheme, Emacs Lisp, and Clojure.</comment>


Moonlight Sonata Visualized (2012) [video] - <AUTHOR> https://www.youtube.com/watch?v=yojDu3E9jls <comment><AUTHOR> I love how this visualization reveals the geometrical and temporal structure of the composition. Plus, it's mesmerizing to watch.</comment>


Get the old Gmail compose back with a free browser extension - <AUTHOR> http://oldcompose.com/download.html

<comment><AUTHOR> I found a firefox version here:

[https://addons.mozilla.org/firefox/addon/restore-your- gmail-...](https://addons.mozilla.org/firefox/addon/restore-your-gmail- settings/)

Maybe if Google sees enough download on all the plugin versions they will restore it natively.

Checked out the source on the firefox version and it is as simple as can be, no code obfuscation.</comment>


Google Chrome kinda doesn't work. For almost 2 years now. - <AUTHOR> http://productforums.google.com/forum/#!topic/chrome/hsW8ls9XhQE

<comment><USER2> Ah, it's not just me. Chrome crashes several times a day, and 'goddammit, Chrome' has become a regular phrase in my vocabulary. I suppose I should remove all extensions and try to identify the problem by elimination, but I thought that was what chrome://crashes was _for_. Besides, the most common collapse seems flash related, and it doesn't make much difference whether I have Pepper or Adobe's Flash running.

This is why I switched from Firefox to Chrome int he first place - I didn't dislike Firefox, but it had just become slow and unrelaiable, and I have better things to do than becoming an expert in browser malfunctions :-/

</comment><comment><AUTHOR> My solution is to use Firefox with FxChrome theme and Omnibar extension.

</comment><comment><USER3> If it is a bug, try filing a bug report. Saying "it doesn't work" on a forum isn't an effective problem solving technique.

<http://crbug.com></comment>


Turning crack dealers into chief executives - <AUTHOR> http://news.bbc.co.uk/2/hi/business/7839957.stm

<comment><USER2> This is a really interesting idea. Seems to me to be worth it, having worked with that population (albeit with juvenile offenders for a few months) I can say that all these people need is someone to give them a blueprint to change their lives and the majority will do just that. But it's not easy and they need structure and a way to transfer those skills. I think it's a brilliant idea.</comment>


The Future of Startup Funding - <AUTHOR> http://www.paulgraham.com/future.html <comment><USER2> The logical next step is crowd-sourced, micro-equity. The only barrier so far has been legal and regulatory but these will be overcome soon.

</comment><comment><USER3> Isn't self funding the future of start-up funding, servers are cheap, software is cheap, who needs VC's to fund a start-up anymore? Sure once you have a proven business model and profits and you need to scale quickly a VC maybe an option but are you a "start-up" at that stage?

<comment><USER4> Not all start-ups can be launched with only a low end vps slice running a stack of open source software. There are still a whole bunch of business ideas that require at least some start-up capital.</comment></comment>


New year brings new attacks on evolution in schools - <AUTHOR> http://www.msnbc.msn.com/id/45840321/ns/technology_and_science-science/#.TwGU95gh95g <comment><USER2> Don't get me wrong, I love Indiana, but sometimes, reading some of the madcap schemes that go through their state legislature is like going back to ye olde Victorian times.

<comment><USER3> You know why the fringe nutbags propose this stuff, when it will (at least in Indiana) never go through? Because people like livescience are dumb enough to report on it, and people -- even in HN -- are dumb enough to post about it.

The best way to make your fringe belief not seem so fringe is to keep a steady trickle of attention on it, so people get used to hearing about it. It gives the illusion that the fringe belief has a bigger following than it does, and to people not educated in logic and rhetoric, the bandwagon approach can be pretty powerful.</comment></comment>


Ingenious UI Idea For Dragging Files From Your Computer To Phone - <AUTHOR> http://www.fastcodesign.com/1669665/watch-this-ingenious-ui-idea-for-dragging-files-from-your-phone-to-computer

<comment><USER2> There is nothing new about the idea, I've seen this in numerous sci-fi movies, most notable one being Avatar.

<comment><USER3> Agreed. This is not new at all. It is very easy to just think of a design. The problem lies in the actual implementation. That video is just copying from all the sci-fi movies out there.</comment></comment>


Youtube starts testing HTML5  tag - <AUTHOR> http://www.youtube.com/html5

<comment><AUTHOR> Works perfectly for me in Safari, but not in Firefox 3 -- Real FullScreen is not yet supported or allowed I guess</comment>


Request an invite for the new Google Maps - <AUTHOR> https://maps.google.com/maps/about/explore/

<comment><USER2> Think most of us did this as the address was uttered during Google IO. Annoyingly the wrong URL was given, but a bit of trial and error got the real one pretty soon!</comment>


Site for submitting/viewing/reviewing and discussing business/operational plans/docs - <AUTHOR>

here you go guys...
a small business opportunity. allow people to post their redacted business/operational plans for funded/non-funded entities.
allow people who are looking for live plans to be able to search through abstracts/text of the plans to get a feel for what's there... charge people something small, like $10/year for the rights to access/view x number of plans.
charge them something less if they post their own plans...
also, have the ability to have plans (anonymously) reviewed by given trusted people within the site...
to deal with someone's fear that a given idea might be "stolen" the actual idea portion of the doc can be left out... for the purpose of this site, it wouldn't be that important/critical...
thoughts/comments...
if you want to build something like this, let me know.. i'd probably be willing to personally throw a few grand into something like this....
-bruce firstname.lastname@example.com <comment><USER2> Check out AngelSoft: <http://www.angelsoft.net> and <http://www.open- deals.com>.

<comment><AUTHOR> thanks...

but 1) the two sites you posted, are really the same site.

and 2) i'm not talking of a site to bring investors/entrepreneurs together.. just a simple site to really refine/nail down the business/operational plan.

any other benefits would be great!!!

thanks

-bruce firstname.lastname@example.com

<comment><USER3> Bruce, I think you're on to something, but I wanted to provide some insight.

I work at Angelsoft and we have found that Angels do NOT read business plans until much later in the funding process. However, they are extremely interested in a company's one-page summary, and will usually make their decision on whether to purse further talks based on that. If you want to build a site around refining something, I would recommend focusing on the one-page summary. It is a less onerous thing to read and comment on for your community, and it is what investors really care about.

If you want a good template for a one-pager, goto <http://OPEN-deals.com> and register. Fill out all the questions and click Preview at the top of the page to generate a one page PDF summary. You can do that for free, you don't need to pay the $250 fee to submit to OPEN-deals to get it. Hope that helps.

-jason at angelsoft.net

</comment></comment></comment><comment><USER4> Ok... Let's start from the start.

What problem are you trying to solve here?

And how do you know the problem actually exist?

</comment><comment><USER5> Hi Bruce,

Please check out www.ES2F.org. The ESF is the kernel of a larger project.

If it's interesting to you, let's talk.

Best, Kevin Johansen</comment>


Satellite Harpoons Space Debris in Test - <AUTHOR> https://www.theverge.com/2019/2/15/18226051/satellite-spear-space-debris-harpoon <comment><AUTHOR> I was really impressed with this, while it is only a test it shows you can build a tungsten penetrator type harpoon and latch a line on to space debris. Once attached adding a small delta V even with something like an ion thruster could accelerate the deorbiting of space junk.

<comment><USER2> I dont think the delta-v for deorbiting is even necessary. You just need to agglomerate all the debris into one big mass. This will make it easier to track.

In the future, when we need some in-orbit resources, etc, we can use these. (much of the debris is spent booster stages)

<comment><USER3> You would still need a delta-V to agglomerate multiple debris. Depending on the context, it may be cheaper to just de-orbit them.

We're a long way from recycling stuff in orbit. We've not even started manufacturing anything worthy in orbit.

</comment></comment></comment><comment><USER4> This is awesome...robotic space whaling! The next "Moby Dick" will be about the quest for the Black Knight.

<comment><USER5> Life imitates art?

[https://www.youtube.com/watch?v=y6miuzFzonU](https://www.youtube.com/watch?v=y6miuzFzonU)

</comment></comment><comment><USER6> What's a bigger concern? Big space debris or small space debris?

<comment><USER7> The latter. There are more than 170 million objects with dimensions up to 1cm, while the larger ones are less than a million.

<comment><USER6> So might the risk of harpooning one big thing have a net negative effect by creating more tiny objects?

<comment><USER3> That's what is being assessed with this mission. If creating a few debris with he harpoon allows you to de-orbit the whole debris, which would have generated a certain amount of small debris over time, then it can be a win if the former is smaller than the potential latter.

Also, depending on the orbit considered, the debris generated by the harpoon may be less harmful: they have typically a high surface area/weight ratio so they will deorbit fast if the altitude is low enough, like for this mission.

<comment><USER6> Wouldn't it be easier to push objects down towards earth, so the small stuff burns up?

<comment><USER3> You need to push them in a correct and somewhat precise way so you need to grab the debris somehow before applying the push.

</comment></comment></comment></comment></comment></comment><comment><USER8> Predator Satellite. Other satellites will need protection

</comment><comment><USER9> Considering the amount of space debris out there, is a single harpoon the most practical way to get rid of it all?

<comment><AUTHOR> I don't think there is any one solution to "all" space debris (perhaps there is but it seems intractable with a single solution to me). However there is always benefit in removing space debris. If this technique was only successful on pieces 5" (10 cm) in size or greater it could still get a lot of stuff out of the way. Especially things that are prone to creating Kessler cascades.

<comment><USER3> This harpoon is designed to catch big debris. The target used for this demonstration is a honeycomb panel typical of bigger satellites.</comment></comment></comment>


MonkeyParking tells SF it's not going to kill its parking app - <AUTHOR> http://blog.sfgate.com/cityinsider/2014/06/26/monkeyparking-tells-sf-its-not-going-to-kill-its-parking-app/

<comment><USER2> > _It 's like a prostitute saying she's not selling sex — she's only selling > information about her willingness to have sex with you_

LOL, no. A woman's sexual acts are not city real estate. A woman owns her body, and _only_ that woman can decide what happens to that body, a pimp or the nanny state notwithstanding; someone parked on the street does not own that street.

Its more like a pimp using Craigslist to purportedly sell the sexual services of another--and then charging Craigslist with pandering.

<comment><USER3> No. Its more like me writing an app that lets anyone bid on having sex with your wife. Im not selling anything, I dont own anything, Im just providing this useful disruptive tool bro.

<comment><USER4> What? This analogy is so manipulative and misleading I don't even know what to say.</comment></comment></comment>


Female tech writer attacked in San Francisco bar for wearing Google Glass - <AUTHOR> http://sanfrancisco.cbslocal.com/2014/02/25/woman-wearing-google-says-she-was-attacked-in-san-francisco-bar/

<comment><USER2> So, she got mugged and the robbers dropped the glass because its worthless?</comment>


Investigatory Powers Act imminent as peers clear path for UK super-snoop law - <AUTHOR> http://arstechnica.co.uk/tech-policy/2016/11/investigatory-powers-act-imminent-peers-clear-path-for-uk-super-snoop-law/ <comment><USER2> After watching the film snowden there is a part in the film. Which goes that he was scared of a new leader been elected and flicking a switch. It looks like Teresa May flicked that switch and she wasn't even elected.</comment>


Time to Rethink Mandatory Password Changes - <AUTHOR> https://www.ftc.gov/news-events/blogs/techftc/2016/03/time-rethink-mandatory-password-changes <comment><USER2> My employer requires password changes every 3 months... It's ludicrous.</comment>


Static Languages: Rationalizations and Myths - <AUTHOR> http://steve.vinoski.net/blog/2008/02/05/static-languages-rationalizations-and-myths/

<comment><USER2> "monolingual" isn't.

s/monolingual/unilingual/g

(or)

s/monolingual/monoglottal/g

though for human languages I appear to prefer monoglot/polyglot and programming languages I prefer uilingual/multilingual. I don't know why.

Despite that obnoxious nitpick I agree with the author's point. In frequency, these days, I use shell/sed/regexps, common lisp, C, C++. By preference it would be Lisp, C++. I use the right tool (for me) for the job.

And like the author I have never really understood the point of an IDE (though I am less scathing about it). It's just so much simpler and faster to keep my hands on the keyboard and let the code pour out into a buffer as quickly as I can get it out of my brain.

But I suppose YMMV.</comment>


Ask HN: Do you protect your software copyright? - <AUTHOR>

I have once submitted my software to the U.S. copyright office and plan to do it on every new release. I am doing this though by my gut feeling for IP protection rather than as a result of professional advice. I would like to know, how do you protect your software from a copyright perspective?
Particularly;
1.) Do you submit your work to Copyright Office before each version release?
2.) Are there any other measures for copyright protection in case a conflict arises?
Submission probably helps, but I have never been in a legal conflict. Therefore I would only find out by experience if someone said, oh you had to do this and this as well not to get into this situation. Any such advice you can give before anything bad happens?
3.) In Copyright office site, do you register your work as "Literary Work"? How do you name your software on each release? Software version X.X? <comment><USER2> I have some stuff on my personal web site: <http://www.stratigery.com/>

I do not submit anything to the copyright office.

I do not know of any other measures for protection in case of a conflict.

I personally doubt that anything I've ever offered up has been of enough value to bother. I'd put it in public domain if that existed any more, but it doesn't. I'd rather that people use the stuff I've written, rather than I waste my time trying to pinch fractions of pennies out of it.</comment>


GopherCon 2016: Rob Pike – The Design of the Go Assembler - <AUTHOR> https://www.youtube.com/watch?v=KINIAgRpkDA <comment><USER2> At about 21 mins in, the awesome happens.</comment>


Feynman and the (Nanotech) Futurists  - <AUTHOR> http://online.wsj.com/article/SB10001424052748703580904574638160601840456.html

<comment><AUTHOR> It's very interesting to see the hijacking of Drexler's vision by the science establishment get an airing on the OPED page of _The Wall Street Journal_ , let alone one that's so honest.</comment>


Annual Performance Review: Albert Einstein - <AUTHOR> http://norvig.com/performance-review.html

<comment><USER2> In his real review he was given a second-rate raise with the promise of a better one the next year at the patent office [1].

His manager cited his lack of mastery of Mechanical Engineering as the reason for a second-rate review and raise.

[1] Einstein: A Life. Bryan, Denis. John Wiley & Sons; 1 edition (April 6, 1996)

{EDIT: Spacing and grammatic corrections]

<comment><USER3> right, is that a true story cus I am confused.

</comment></comment><comment><USER4> Hilarious!

"You seem to lack a flare for self-promotion. Lucky for us our PR department stepped in and changed your L/c2 equation into the much more marketable E = mc2"

Smart. ;)

<comment><USER3> I didn't actually get the point of this whole piece. It sounds like some fiction of course, but fiction which distorts reality and that is called illusion I believe.

Well in all truth it sounds like propaganda, propaganda by definition I use it, namely using language to change perception and that is what this article does. It seems to suggest that Einstain was a human, not perfect, not entirely knowledgeable or fully functioning person. Fine in his logic of course, but lacking all common sense.

Einstaine lived amongst us however, not even half a decade ago. We have stories of him, we have myths about him. We do not know if he was gullabile, I mean, he objected against the german-anglo war, which shows that he had some practical understanding of being a human and performing his tasks with common sense.

So my question, what is the purpose of this article? To suggest that he was not perfect, to suggest that his mind only understood logics but nothing else, to make us feel good that we have not achieved his heights for aftrall why would you want to if you would not be able to perform on a basic common sense level?

<comment><USER5> Looks like a critic to the job system (by mocking the annual performance reviews) to me.

</comment></comment></comment><comment><USER6> Seen this N times, but still couldn't resist to upvote this enough...</comment>


Hacker Breaches Securus, the Company That Helps Cops Track Phones Across the US - <AUTHOR> https://motherboard.vice.com/en_us/article/gykgv9/securus-phone-tracking-company-hacked <comment><USER2> I'd like to take this moment to remind everyone of the tale of HBGary[0]. When your security company is beholden only to earning more money, it isn't a security company

[0][https://en.wikipedia.org/wiki/HBGary#WikiLeaks,_Bank_of_Amer...](https://en.wikipedia.org/wiki/HBGary#WikiLeaks,_Bank_of_America,_Hunton_&_Williams,_and_Anonymous)

</comment><comment><USER3> This is ridiculous. Another day another Equifax.

<comment><USER4> I would argue that this is worse than Equifax; at least Equifax was pretending to offer a useful service to people.</comment></comment>


The first week-long Hackathon on a cruise ship - <AUTHOR> http://summithacks.com

<comment><USER2> $200 for a 7 day cruise? That's insane.</comment>


Show HN: ANSI art renderer in JavaScript/Canvas - <AUTHOR> http://atdt.github.com/escapes.js/

<comment><USER2> Ok, time for someone to do a Javascript version of TheDRAW.

</comment><comment><AUTHOR> If you can get past the naivete, there is a lot of really wonderful ANSI art up on <http://sixteencolors.net>. The severe constraints of the medium inspired ANSI artists to exploit perspective and color theory to create the illusion of detail. Check out artpacks from ACiD, iCE and DARK from the mid 90s, for example. There is also, of course, a lot of amateurish juvenilia, but even that has its own charm.

<comment><USER3> ATH1

<comment><AUTHOR> NO CARRIER

</comment></comment></comment><comment><USER4> I was doing some ANSI art stuff a few months ago and made a BDF font of the original DOS 437 codepage font, so I could view BBSes and ANSI art properly in xterm. I converted it to TrueType so it would also work in Terminal.app:

<https://github.com/jcs/ansiterm>

The TrueType version was easily converted to a WOFF font so, after writing an ANSI-escape-code-to-HTML parser, I could render ANSI art in most modern browsers with just normal HTML:

<http://jcs.org/tmp/go-east/index.html>

(HTML version on the left, static PNG exported from ACiDDraw on the right)

<comment><USER5> I wrote libfake437 (<http://libfake437.googlecode.com>) to create this effect in SDL, but your version is cooler and more general. Does it draw the low characters (smiley faces and stuff) correctly?

<comment><USER4> Yes, it draws every character properly.

</comment></comment></comment><comment><USER6> Awesome. Good times, good memories. Lots of my BBSing was done on slower modems, though - it would be cool if you could render them as an animated GIF with regions slowly typing into view... :)

</comment><comment><USER7> Not sure if you're aware, but the big "fork me on github" link at the top right isn't pointing at github.com/atdt, it's pointing at github.com/you.

<comment><AUTHOR> Eep, thanks. Fixed.

</comment></comment><comment><USER8> similarly, i wrote an XPM renderer in javascript: <https://github.com/bsdf/libxpm.js></comment>


Show HN: Extract links from webpages and download files, unzip and execute them - <AUTHOR> https://github.com/dogancelik/endl

<comment><AUTHOR> Hello all! Author here, I would like to give some info: This is a Node.js module but I also provide a command line tool to use same features the module supports.

There are 2 ways to use the command line:

1\. You can use a JSON file to download as many files as you want, unzip and execute them.

2\. You can issue a commnand like this:

      endl d "http://www.mp3tag.de/en/download.html" "div.download a"

The command above will download Mp3tag from their website with its original filename. (You can also set the filename yourself. Check the README file for more info.)</comment>


Rubular - a Ruby regular expression editor - <AUTHOR> http://rubular.com/r/xfQHocREGj <comment><USER2> I've been using Rubular for years and it's really a great tool for trying to quickly figure out where you went wrong in a complicated regex.

<comment><USER3> +1, it's really been a godsend for me

</comment></comment><comment><USER4> Rubular is one of my favorite examples of a perfectly designed site. It has everything you need and nothing you don't.

<comment><USER5> Totally agree. It inspired me to build <http://strfti.me>, and eventually the stamp gem.

</comment></comment><comment><USER6> Rubular is great. The only thing preventing it from being a 'one stop shop' for learning regular expressions is that it omits describing in the notes below some functionality (eg. the "?<"..">" shown in the example). <http://rubyxp.com/> is better for these descriptions.

<comment><USER7> Thanks. If you have any other ideas for improvement let me know. I've also open sourced the project at <https://github.com/oscardelben/rubyxp>

</comment></comment><comment><USER8> I also like using <http://www.gskinner.com/RegExr/>

Which I think is Flash/Flash Air...

Being able to permalink (which Rubular also does) to examples is a killer feature..I keep trying to convince non-programmers who work with data that they should at least learn regexes to make their life easier

<comment><USER9> Flash uses Perl Compatible Regular Expression Engine (PCRE) <http://www.pcre.org/>

Ruby uses Oniguruma <http://www.geocities.jp/kosako3/oniguruma/>

While the average regex will probably work on both, you should know there isn't a 1:1 correlation between the two.

</comment></comment><comment><USER10> Love rubular, use it every single time I write or edit a regex, just to test some weird cases while I think through the syntax.

</comment><comment><USER11> +1 - I love Rubular and use it whenever I have to write regular expressions for fun or profit.

<comment><USER12> How does one write regular expressions for profit? Do you mean using regex's to filter datasets or do you actually sell regex's?

<comment><USER2> He/she is probably referring to paid work that involves regular expressions.

<comment><USER11> Bingo

</comment></comment></comment></comment><comment><USER9> I love rubular too. Question though... Why isn't it open source?

<comment><USER4> What would be gained if it were? I suppose you could run it locally. Come to think of it, that would be nice.

<comment><USER9> \- Yes, run it locally. (Sometimes I want to test against sensitive information)

\- Learn how a regex editor is built.

\- Use a different regex engine (is that possible to swap)? [1]

I'm sure there are more reasons.

1 [http://en.wikipedia.org/wiki/Comparison_of_regular_expressio...](http://en.wikipedia.org/wiki/Comparison_of_regular_expression_engines)

<comment><USER13> as for [1] yes, you're just unable to use ruby's syntax.

Oniguruma (regex engine in ruby1.9) existed as an external library in the past (1.8) and you can get stuff like re2 for ruby this days[1]

[1] <https://github.com/mudge/re2>

</comment></comment></comment></comment><comment><USER14> I am new to programming and chose Ruby. I have found Rubular to be a fantastic way to learn about regular expressions through trial and error. This site has really helped me understand regex's. I was having a little trouble fully grasping the concept from simply reading books.

</comment><comment><USER15> I made a clone of rubular a while back for testing javascript regexes. It's up on <http://jsular.com/> Code available at <https://github.com/walle/jsular>

</comment><comment><USER16> That's very nice.

For Python users, there is: <http://www.regexplanet.com/advanced/python/index.html>

Example: <http://fiddle.re/22e5>

<comment><USER17> for python i use <http://re-try.appspot.com>

</comment></comment><comment><USER18> here's another regular expression editor. but for javascript <http://scriptular.com/>

</comment><comment><USER19> I use this quite a bit. Also displays named captures with values which is nice.

</comment><comment><USER20> I want this for sed / grep with optional shell interpolation

</comment><comment><USER21> Didn't know about this. Love it! Thanks for sharing.

</comment><comment><USER22> I've been using this since '09. I love it!

</comment><comment><USER23> i didn't realize that it was possible to name a capturing group. this is an awesome example.

<comment><USER24> ruby > 1.9

<comment><USER25> Also available in Python's re module, with a syntax that's just different enough to be irritatingly incompatible.

        >>> import re
        >>> r = re.compile(r'(?P<month>\d{1,2})\/(?P<day>\d{1,2})\/(?P<year>\d{4})')
        >>> r.search("Today's date is: 10/23/2012.").groupdict()
        {'month': '10', 'day': '23', 'year': '2012'}

</comment></comment></comment><comment><USER26> I can thank Michael Hartl for showing me this gem in the Rails tutorial.

</comment><comment><USER27> And this is why hacker news is terrible.

<comment><USER2> I wish I had enough karma to downvote this useless comment. At least have the decency to tell us why you think this is so awful. I for one love seeing things like this on HN. One of my favorite things about this site is it's not just news. On any given day, I might find a new tool, language, function, or just another way of looking at things that I hadn't considered before. This is why hacker news is awesome. You're why it's terrible.

<comment><USER28> Some people think HN is a startup aggregator, and the actual tech and toolkit and non-startup news is unimportant.

There was a post some time ago and one comment went into some detail about HN's overall demographic and how the segments of that aren't entirely compatible (well, if you removed the personal opinion from it, anyway).</comment></comment></comment>


What Cycling Taught Me About Teamwork - <AUTHOR> http://www.calvinfroedge.com/what-cycling-taught-me-about-teamwork-yesterday/

<comment><USER2> That's called a 'paceline', and is part of what makes cycling more interesting than something like running, IMO, because tactics matter a lot, and can vary a great deal with the terrain.

<comment><AUTHOR> I agree. It was pretty awesome to be in a paceline for the first time. Something I forgot to put in the blog post was that one guy told me..."You're not responsible for the guy in front of you. You can't do anything about what he does. You're responsible for the guy behind you."</comment></comment>


For the Greater Good? The Devastating Ripple Effects of the Covid-19 Crisis - <AUTHOR> https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3612622 <comment><AUTHOR> Quote: "the lockdown measures create a paradoxical situation in which not only sick people are negatively affected, but also healthy people."</comment>


Ask HN: Buying a used car vs. leasing? - <AUTHOR> What are arguments for buying a used car versus leasing a car?<p>- If you have $7-10k for a car, would it be smarter to lease or buy?
- For low mileage driver (10-15 minute commute drive on weekdays) and occasional long drives on weekends.
- Concerns about getting a lemon and car repair costs. - Expect to use the car for 3-4 years. Which is the best value option? <comment><USER2> Buy used. It's cheaper and you can find great deals. Before you buy anything do your research, find which models are most reliable, which engine in each model is most reliable (there can be big differences), find websites where you can check car history by VIN number and always check car with the mechanic (pay someone to go with you so he can check the car as well). Have someone with you that will cool you down if you happen to liked car that is obviously a lemon. Invest in your used car 1/3 of money you have for it in fixing anything that is wrong because even small things can lead to big problems. Those are general advises from a guy who is buying cars in probably the worst country to buy a car in Europe (Poland). There is so many bad cars in there that Polish version of Autotrader should be called Lemonade.

</comment><comment><USER3> Buy a used Toyota or Honda. Leasing a car doesn't make financial sense and is more done to make yourself feel better about being in a newer car.

<comment><USER4> The other side of that is reliability. If you need reliable transportation or you're someone who enjoys having the latest and greatest then leasing makes sense.

<comment><USER5> Leasing has nothing to do with reliability. You can buy a used car that's still under warranty and sell it when the warranty ends, if that's what you want to do. It's still cheaper.

Unless you value having a brand new car, the 10-20% of the value that the car loses as soon as you drive it off the lot is not worth paying for. You pay for it regardless of whether you lease or buy.

</comment></comment></comment><comment><USER6> I bought a used Grand Marquis for someone else. Got it from the estate of an old man that had died. Has 40k miles. Paid 3k. Put another 3k into it. Will probably run for 100k more miles with minimal maintenance.

It has really mushy suspension. It's like driving a big leather sofa. It's great.</comment>


Pakistan Criticizes U.S. Raid on bin Laden - <AUTHOR> http://online.wsj.com/article/SB10001424052748703922804576301124180651068.html?mod=WSJ_Home_largeHeadline <comment><AUTHOR> Sorry but when you're too corrupt and incompetent to find the world's most hated man living in a mansion near your most elite military academy--well you lose the right to complain that someone finally intervened and put down a mass murderer.</comment>


Facebook: The Failure of Localization - <AUTHOR> http://www.alexkates.com/2007/10/facebook-failure-to-capitalize-on.html The first of many posts about Facebook on my new blog.  I'd like to hear what you all have to say.
See the first one too: http://www.alexkates.com/2007/10/inevitable-fall-of-facebook... <comment><USER2> The revenue model proposed sounds much the same as yelp.com's.</comment>


A $10k Startup Retreat (Behind-The-scenes and Tell-All) - <AUTHOR> https://hackernoon.com/why-and-how-our-startup-spends-10k-on-our-annual-retreat-d23aa28b6f1 <comment><USER2> Interesting! I love the idea of a company retreat, and this seems like an awesome way to go about it. Kudos to you guys! Seems like a great company

<comment><AUTHOR> Thanks!

</comment></comment><comment><USER3> Interesting read, thanks for sharing!

<comment><AUTHOR> Thanks!</comment></comment>


Show HN: Denso - An Instapaper for Video - <AUTHOR> http://getdenso.com/ So I came across this really cool new service that works like Instapaper for video, and thought I'd share it with HN. Just got my invite today and I've been LOVING it so far. It lets me discover videos, bookmark them and watch offline on my iPad or iPhone.
(My hour long subway rides without internet aren't painful anymore. Phew) <comment><USER2> These services have some serious barriers to entry. I created one of these, <http://wacchen.com>, I think it was the first. When you search for instapaper for video, the first 2 results mention my app. I am not actively maintaining my thing anymore because I realized there was going to be a hiccup in any wide adoption; Youtube. Youtube does not, and probably will never allow people to download that content. 80% of what most people bookmark are youtube videos. Sure some sites out there can be scrapped, but at best your business will be in murky territory. I wrote about this on my blog as well. [http://alexkessinger.net/2010/11/15/why-instapaper-for- video...](http://alexkessinger.net/2010/11/15/why-instapaper-for-video-as-an- ios-app-is-a-long-ways-away/)

Someone is going to crack this nut, but they will need to figure out the youtube problem.

</comment><comment><USER3> I think this a great idea, and I've recently noticed a number of people doing things in more or less the same direction. I've been collecting them:

* Deja [http://itunes.apple.com/us/app/deja/id417625158?mt=8&uo=...](http://itunes.apple.com/us/app/deja/id417625158?mt=8&uo=4)

* Squrl <http://www.squrl.com/>

* Plizy <http://plizy.com/>

* Showyou <http://showyou.com/>

* Roadshow <http://fetchsoftworks.com/roadshow/>

I even wrote a really simple way to actually use a folder called "Watch Later" in Instapaper as a video queue (only works for paying Instapaper subscribers): <http://watchlater.radbox.org/> Mine focuses on trying to automatically discover HTML5-capable viewers for use on iOS.

Every one is slightly different, and this one looks particularly nice. Thanks for making it -- I look forward to trying it.

<comment><USER4> Does this service, or any of the competitors, actually scrape the video (like pinboard.in does with bookmarks) so you can watch it later, even if the site is taken down?

That's something I would _pay money for_.

<comment><USER5> Hey yes we do (including the Big You! ;)

We think we have an interesting twist on the way you can get videos on to your iOS devices.

We're working really hard polishing up the experience for the user right now, so we'll be sending out invite codes really soon. Thanks everyone for signing up.

<comment><USER2> The nature of the youtube problem isn't technical. Any hacker can figure out how to download a youtube video. The problem is policy. You will get thwarted, shutdown or sued.

You can't build a business on top of subverting youtubes TOS. It won't work.

</comment></comment></comment></comment><comment><USER6> Seems like there is a lot of competition in the field

<http://www.google.com/search?q=instapaper+for+video>

Good luck

</comment><comment><USER7> Saw you guys when I was in Singapore. I think this could be pretty cool, it's definitely very pretty already.

<comment><USER5> Thanks Sahil, was it at Echelon? I wasn't there during the conference (my teammates were) but glad you like it :)

</comment></comment><comment><USER8> Watchlr looks to do the same and more. Gregory Schnese gave a really good presentation at the most recent NYTM event this past Tuesday. You can sign up at <http://watchlr.com>.

<comment><USER9> seems to require facebook sign up though?

<comment><USER8> Yes, but it's the kind I can appreciate. Instead of a 'hey connect with facebook and then go through my signup process as well' he's using FBConnect as the authentication backend.

</comment></comment></comment><comment><USER9> Great video, explains the concept clearly.

Best of luck

</comment><comment><USER10> Doesn't YouTube have a Watch Later button?

<comment><USER11> Yes they do, but Denso allows you to bookmark across a lot more sources and they also allow you to get your bookmarked videos onto any iOS device using a custom podcast.</comment></comment>


Eve Online is in chaos after an unprecedented alien invasion - <AUTHOR> https://www.pcgamer.com/eve-online-is-in-chaos-after-an-unprecedented-alien-invasion/ <comment><USER2> I'm happy CCP is finally injecting some PVE into the PVP sandbox in the right way. I always felt the whole Jovian/Drifter/Triglavian arc was just boring since it didn't affect players in the least. Now it finally does have impact and now everyone has to keep their eyes peeled for more than the alliances or merc corporations knocking down your POS. Now you got Drifters who you don't know where or when they'll strike. It really raises the stakes. It's the kind of thing that I really wish MMOs would have where the NPCs can strike back rather than being just a loot farming thing.

</comment><comment><USER3> Wild idea... the creators of Eve introduced the "hostile" aliens (drifters) in order to unite the rest of the players against the common threat and then to make them shuffle the cards and make a fresh start. Like a universal war where humans come together and then after the war they make peace with each other (until the cycle is repeated)

<comment><USER4> Makes sense to me. I wonder if they will be able to fight the Drifters more effectively as a unified player force? As long as they are not attacking all of the largest structures simultaneously that would probably be the case.

I think it would be interesting if the game company just keeps slowly increasing the numbers to see if the empires will join up. If they don't and are destroyed then maybe that's what they deserve.

</comment></comment><comment><USER5> I love the term "snowglobe shaking".

</comment><comment><USER6> Something like this was not in the game files? How could they not have know? In Wow they always found everything within the first day of a new patch on the ptr.

But this is what I love about stories of Eve, massive wars across the stars

<comment><USER7> You can easily find the new 3D models, but the updated AI code?

I think that is unlikely

<comment><USER8> Especially since said code certainly runs server-side.

</comment></comment></comment><comment><USER9> epic. proper ballsy game devs. love it!

</comment><comment><USER10> Drifters... Drifters...

Is this a Universal Paperclips reference?

[https://universalpaperclips.gamepedia.com/Drifters](https://universalpaperclips.gamepedia.com/Drifters)

<comment><USER11> IIRC Drifters were added in a couple years before Universal Paperclips was around, it's just the recent behavior is new. Besides, it's not like the term "drifter" is a modern concept.

</comment></comment><comment><USER12> Is there any lore or rumors of lore so far to justify this Drifter onslaught?

</comment><comment><USER13> How will the spreadsheets survive?!?

<comment><USER14> Don't worry I'm sure high sec is safe</comment></comment>


Ask HN: Where to start to get back into philosophy? - <AUTHOR> Throughout highschool I had read many of the Greeks in my personal time and then in college, I had been introduced to a mix: Descartes, Kant, Hume, Locke, Spinoza, Nietzsche, Camus and lightly Chomsky plus a smattering across various schools of thought in certain classes whom I honestly don't remember. It's now been about 6 years and I feel like I often run into discussions online where people have a wealth of knowledge from certain authors and it makes me feel ill-equipped to engage.<p>What are some reccomendations to both round out my knowledge and also move the needle forward? <comment><USER2> I recommend to choose a field of current themes and look for the philosophical approach. For example, science, language, art, neuroscience... a field you already know something about and you like.

If you read short essays, one author/philosopher takes you to another author/philosopher, and so on.

Remember, the most important element in philosophy is the concepts.

Check this [https://aeon.co/philosophy](https://aeon.co/philosophy)

I hope this helps.

</comment><comment><USER3> Philosophize This! Is an excellent podcast that is worth checking out for those new or looking for a place to jump in. Highly recommend starting at some of the phenomenology episodes and follow it through.

<comment><AUTHOR> I will check this out, thank you!

</comment></comment><comment><USER4> Peter Sloterdijk

<comment><USER4> Gianni Vattimo Richard Rorty

<comment><AUTHOR> Thank you!</comment></comment></comment>


Ask HN: How to get a job without even getting an interview? - <AUTHOR> I'm constantly working on my CV and trying my best to write cover letters.
I know I have ability to impress most interviewers with my own way of thinking,
my technical skills, and 5-years professional experience.
The only problem right now is that I can't even get an interview. I'm pretty sure this is just about me being a Turkish Citizen. I've tried to apply with a
reference, by online tests, etc. I currently have 130+ applied jobs in my list
and only got 2 interviews after which they found excuses about not to offer
because it's hard to deal with visa issues I guess..
How can I get over it, what are the ways to get an interview for a job with visa support? <comment><USER2> I guess you're applying for jobs in the US? If so, they can't sponsor you... it is that simple. Applications for a working visa in tech were sent on April 1st this year. Because of a limited number of visa allocated every year, candidates got selected via a lottery mechanism. So this year, US tech companies can't hire you. It's not about your skills, CV, etc. No more visa available for 2018. They have to go with local candidates only until next year.

You'll become eligible early next year. Make sure to apply a few months prior to April 1st. That's how you'll increase your odds.

<comment><AUTHOR> Thanks for explanations about visa for US. I also tried European and Canadian companies, however there was no chance. I will try to apply for US companies on January to increase the odds.

<comment><USER3> Canadian companies are very insular and don't compete globally for talent. While some companies do recruit abroad its the rare exception.

</comment></comment></comment><comment><USER4> A lot of companies here in Austria will hire people from abroad. We just don't have enough programmers, and if you have a computer science degree it is very easy to get a visa, no matter where you are from.

That being said, companies might get a lot of applications from abroad. When I advertised a programming job in Austria on Stack Overflow, I got more applications from Egypt, India, etc than from local candidates. So you need to be good. You need to be better than all the other good people from abroad that apply for the job. Getting a Visa isn't difficult, but it still takes a few weeks or months, so companies only do it for really good candidates.

You say you have the ability to impress people -- how do you know that? Most junior developers I've met overestimate their own abilities, and don't understand when companies looking for senior candidates don't hire them.

Also: make sure that your applications are relevant and on point. Some people copy paste application letters and send almost identical applications to dozens of companies. When I get a low effort application like that, I just throw it out. If the candidate can't bother to explain in a few sentences why their experience is a fit for this position, they aren't worth my time.

Make sure to focus on relevant experience. If I'm looking for someone to build an online shop, I probably don't care about your robotics project in undergrad.

Finally, consider looking for smaller companies. Big, popular companies in major cities receive a lot of applications. Small companies in smaller cities don't get any applications at all and pay recruiters 15000€ per hire because noone replies to their ads.

</comment><comment><USER5> In my company, only certain positions can get sponsorship for a work visa.

Aside from a CV, I like to pay attention to a persons github account if they list one. Seeing their style of code, testing, naming, and documentation says a lot about them as a programmer

</comment><comment><USER6> I wrote a bunch about myself, then deleted it coz this is about you.

Get your foot in the door. It is extremely hard at the start. But it can happen. Take a challenge and don't be a reckless self-promoted, but let others know your achievements. That should put wind in your sails now you're on the sea.

Don't have a fixed target. Another poster mentioned Singapore, which is an excellent launching-ground for a lot of people from multiple nationalities. Include Australia, even KL, Asia is full of English speaking places.

</comment><comment><USER7> How much experience do you have? Or are you fresh out of college? In the later case it takes a while if you need a visa.

It is also possible that your resume is unreadable, or does not convey right information easily. You might need to have someone look at yours.

I am willing to help you. I have been on my seventh job and it took me frustratingly long time to find my first job. It hasnt been hard since then.

<comment><AUTHOR> Hey @phakding, thank you for your support! Could you please reach me by email? Just add @outlook.com to my username.

</comment></comment><comment><USER8> Besides EU, Canadian and US companies you might want to consider Singapore and Hong Kong. Especially in Singapore, people speak English well and both have ( to the best of my knowledge ) reasonable employment visa policies, specifically to draw outside talent.

</comment><comment><USER9> Try finding a few good recruiters. (They're not all evil!) They'll be able to put your resume in front of employers who are open to visa sponsorship.

</comment><comment><USER10> Try amazon they deal with h1b all the time</comment>


I put rails docs on my Internet pad. Thought I would share - <AUTHOR> http://tenderlovemaking.com/2010/04/12/rdoc-on-your-ipad/

<comment><USER2> This is a great idea. I can't tell much from the image you provided about how the code samples are distinguished from the rest of the text. Usually you want code samples in a slightly different font - say a monospaced font - from the rest of your text. And then there's the problem of line wrapping in code samples - in an indentation-sensitive language like Python, that could be more of a problem but even in cases where it doesn't mislead the reader about the way the language works, it could be unsightly. Perhaps you haven't gotten that far yet or someone else will improve upon it and contribute the patches back to you. Great start, though. I was resolute about not getting an iPad but this is the first really good argument I've seen in its favor.

<comment><AUTHOR> The code is monospaced, but the books are just XHTML and CSS, so I'll be improving the style. I just wanted to get this out for everyone!

</comment></comment><comment><USER3> Great idea! It looks like I'll be spending a couple hours tomorrow getting the Poignant Guide up and running on my iPad :)

</comment><comment><USER4> It seems like the Internet has killed the reference book format for a lot of programming subjects. Now okay, it's also killed the market, and that's not coming back, but the format can still be useful. Especially for the iPad, which in my opinion is a lot better suited for reference books than the traditional e-ink readers.

<comment><USER5> E-ink readers are already 'traditional'? I'd say they're cutting edge, and that LCD is the 'traditional' variety.

E-ink uses a very small fraction of the power of a backlit LCD and is a much newer technology.

<comment><USER4> Yeah, it seems funny, doesn't it? As a display technology E-ink is innovative, no doubt. But from the content perspective the E-ink paradigm has always been traditional. That is, E-ink is an innovation in the _context_ of the display (in sunlight, on paper, everywhere), not the content.

</comment></comment></comment><comment><USER6> How about we just rewrite the format/style/design of ruby docs to be something more readable in the first place?

Or you know, actually document shit beyond "the source code".

(I'm totally grabbing this, fyi)

</comment><comment><USER7> I think reference and other kinds of docs will be one way in which the iPad will work better than a netbook for a lot of the power user crowd. Having docs on the netbook isn't quite the same thing.

</comment><comment><USER8> I think this is the first time I've seen "Internet pad".

</comment><comment><USER9> I'm hoping ePub comes to replace many uses of PDF, like this. Having support in browsers makes sense, since it's basically HTML.</comment>


Ask HN: Is there any point in doing periodic releases for apps anymore? - <AUTHOR> Upon reading the recent Mozilla Developer Newsletter "Firefox 72 — our first song of 2020" [1]:
> [..] Now that we've moved to a 4-week browser release cycle, you'll see fewer new features in each individual release, but features will be added to Firefox more often. This gives you faster access to new functionality and bug fixes. [..]
I wondered why do we even bother with periodic point releases at all. Why don't we just do feature releases. that is, push a release out as soon as a feature is ready. Maybe even for each bug-fix.
For backend systems, I get that there may be upgrade/migration and related concerns. But with frontend user apps, it's mostly just a reinstall/restart/reload for most users. Even that can be automated and made transparent for users like on mobiles.
The point being, other than tradition/culture, why keep ready features and bug-fixes waiting.
Also, now that we're already doing continuous integration and delivery, there does not seem to be any technical reason other than cultural.
Or am I missing something? Thoughts?
[1] https://hacks.mozilla.org/2020/01/firefox-72-our-first-song-of-2020/ <comment><USER2> Typically there is a time between "pushed to development branch" and "shipped to users" when features and bugfixes go through QA and testing by both full- time testers and volunteer beta-testers. That's a large part of the reason they are not pushed to users immediately.</comment>


The Next Great Media Company Won't Have a Web Site  - <AUTHOR> http://www.steverubel.com/the-next-great-media-company-wont-have-a-web

<comment><USER2> It's an elegant idea.

However what it isn't (quite) is a _solution_ to the problem; where does revenue come from. :)</comment>