1. 2

    Nice effort. It pushes me to complete my lisp implementation too

    1. 1

      Wow. Why does Postgres use IP for talking to its own local stats collector, and not, like, a unix socket?! o_0

      1. 1

        Maybe for compatibility with systems without Unix sockets, like Windows?

        1. 1

          I think it should be at least configurable.

        1. 6

          As the years go by, I am lowering my expectations from my work. There is only so much stuff you can accomplish and only so many spoons to move during a day. So yes, since it puts food on the table it is meaningful. No I am not working to save lives in general and my work by extension cannot be used in such a context (I mean a programming language designer may end up developing a language that could be useful to biologists; my work is not even that).

          My worry is that other people always do more interesting work. But the thing is when you get the chance to go to the place that does interesting work, you see that in the general case it is not as exciting as when you were observing from the outside.

          What makes me happily worried is that certain people look at me and have directly told me they consider me as a kind of mentor. So if I live up to their standards they may fly off and do some more meaningful work than mine.

          1. 2

            When I see questions about [ vs [[ I tell people to execute the command “which [”

            1. 7

              This is not a .engineering problem. It is more of a problem with hardcoded fixed lists of what is a valid TLD (and sometimes a ccTLD). IANA maintains a list of valid TLDs and it is good practice to validate against it from time to time if you need to make sure that a submitted URL or email address points to at least something that is under a TLD.

              http://data.iana.org/TLD/tlds-alpha-by-domain.txt

              1. 2

                My guess would be regex validation with a maximum TLD length, considering the author said it accepted a shorter but invalid TLD.

              1. 5

                While I have personally not used it, is this not something orgmode (emacs) does?

                1. 4

                  Org could be one component of a solution for this, but on its own it lacks: a way to edit via mobile/other devices, any means of uploading images, a blessed rendering path (there are many ways to render/export org files into something for display).

                  For instance, one solution might be to use Org’s “publish” feature. You could render to HTML, push that to some web host somewhere with rsync (that handles viewing on other/mobile devices). For editing you could sync your org source files (and any org-rendered images via things like plantuml, as well as static images) with something like syncthing/git/Dropbox/Box/iCloud/OneDrive etc. in combination with a non-Emacs editing app like Beorg (iOS) or Orgzly (Android).

                  That would be a workable and powerful system, but I think we have to admit it’s not as simple to use as just clicking “edit” in a wiki page from something like dokuwiki/mediawiki :-)

                  1. 2

                    I’ve found I don’t do any significant note editing on the phone - just capture.

                    So I use Google Photos + Orgzly + Syncthing + emacs. It used to be MobileOrg, and I started with org ~2005, so these files got bones.

                    1. 2

                      I have been looking for something like beorg for a long time. Thanks!!

                    2. 1

                      I love orgmode and use it on and off but last I looked sharing it was read-only and meant exporting the static document or running something (node, ruby) that parses the format on the fly.

                    1. 5

                      Well, it depends. If they cache object files that do not need recompilation and thus only compile anything changed, then times should drop down considerably.

                      1. 4

                        That doesn’t help with first builds, and doesn’t help if you’re changing headers which are included by most files (such as changing whether debug mode is on or off, or changing log levels, or simply changing a core abstraction).

                        1. 4

                          First builds are a lost cause anyway. But after them, with proper binary caching I guess you can have faster loops. As for changing core abstractions, how often would that happen? How often will that header file change?

                          Also, do not forget that this is an organization with too much computer power and unlimited disk space. So keep those object files there for some time, have them tagged properly with regards to the changes that you mention and eventually the build will be fast.

                          Is such a system a lot of work? Definitely? But (a) they have lots of people to work on such a problem and (b) they do devote actual time on it, instead of being like us, thinking about it for 5 minutes on a work break without that much information about their internals.

                          1. 9

                            First builds are definitely not a lost cause. As I said, crass compiling Linux, a rather big project, takes just over 5 minutes.

                            Header files need to change annoyingly often; remember, in C++, even adding a private member requires changing the header file.

                            1. 6

                              Linux is an equivalently-complex project, but in a significantly simpler language (C). This might be more of a damning indictment of C++ than it is of Chrome.

                            2. 4

                              Languages such as Modula-3 and Go were designed to compile fast on the first time. Far as metaprogramming, the industrial LISP’s compile faster than C++. The D language compiles way faster. The C++ language was just poorly designed. Sacrificing reasonable compilation speed, either first or later build, better be done to obtain a different, worthwhile benefit. That’s not the case with C++.

                              Edit: An organization with piles of computer power and disk space could use the time wasted on compile overhead to do stuff such as static analysis or property-based testing with that time.

                        1. 5

                          ETH Zurich is the home of so many amazing, if sadly often lesser-known, software and hardware projects. Niklaus Wirth developed Oberon, Lara, and (I think) Modula-2 there.

                          1. 2

                            Pascal also

                          1. 1

                            I seem to remember there was a company that sold a spreadsheet to python converter. Can’t recall their name right now.

                            1. 1

                              Do you mean xlwings?

                            1. 1

                              A micro:bit would be cheap and nice. I

                              1. 3

                                Going through Thorsten Ball’s book about writing an Interpreter in Go

                                1. 2

                                  Hey I’m reading this too! :) Currently on chapter 2

                                1. 1

                                  I am keeping mine in Evernote. I wanted to learn org-mode to do this, but in the meantime I bought something that came with an Evernote subscription and stayed with that since.

                                  1. 2

                                    Just came upon Simplenote the other day. I don’t know if I’ll start using it for this kind of work but for distributed note taking I believe it’s the solution for me.

                                    1. 2

                                      You might want to reconsider Evernote in case you didn’t notice their update about employees being tasked with manual reviewing of notes.

                                    1. 1

                                      OpenDNS already does this… how is this service better?

                                      1. 1

                                        And NortonDNS also. Competition is this area is nice.

                                        1. 1

                                          Is running your own DNS server that hard?

                                          1. 3

                                            Not every user on the Internet understands RFC1034 and family. Most do not even know what a DNS server is. They are the potential users for such services.

                                            1. 2

                                              Weird argument there—someone who doesn’t know what a DNS server is, so this DNS service is for them?

                                              While running a program like bind would be a bit beyond most people, a DNS server that does nothing but resolve should be easy enough to install and run. The primary root servers are at well known addresses, and for resolving, there’s not much to configure for the simple DNS server itself. Okay, getting the computer to use the simple DNS server is an issue (DHCP? What’s that? /etc/resolv.conf? What’s that?) but that’s the only problem I can see.

                                            2. 1

                                              Running your own DNS doesn’t help you stop malware

                                        1. 3

                                          Reading “Writing an Interpreter in Go” https://interpreterbook.com/

                                          1. 3

                                            Reviewing a book on Go. Really excited because it is the way I want it written

                                            1. 1

                                              I still want to do cryptopals. Ever since they were mailed to people who asked for them. These days I want to do them in Groovy. Watching the live stream would be an interesting thing once I decide that I will definitely not attempt them :(

                                              1. 2

                                                It happens to me when I may type something like “git !!” or “git !$” while on the wrong terminal. Nice.

                                                1. 2

                                                  J. I’ve always wanted to try it out, but never made it :(

                                                  1. 3

                                                    About once every couple of months I try to learn it again, getting a little further each time. Currently on a kick now. One thing that really helps is writing the J code by hand. That way you can do things like use different colors for adverbs, space out the verb clusters, circle points of notes, etc. Consider the legibility difference between

                                                    >./@:((0&{ - <./)\.)
                                                    

                                                    and

                                                    >./  @:  (( 0&{   -  <./ )   \.)
                                                    -----^-------------------------
                                                    
                                                    1. 5

                                                      Well, in order to make myself give it a more serious look, I got “J for C programmers” from Lulu (the ebook edition).

                                                      1. 1

                                                        I liked that book, although I found the discussion of array shapes and ranks slow going. I bought the physical book, it has a lovely cover. I also got the J Fractals physical book through Lulu - it’s very nice. There’s a number of J books and PDFs covering learning particular subjects like calculus, statistics, fractals, etc. It seems like a good tool for learning by discovery and play.

                                                  1. 1

                                                    Nice. I used to have OpenBSD as my desktop in the 4.x days

                                                    1. 4

                                                      Would you happen to know of more blogs like this ? This blog is absolutely a treasure.

                                                      1. 3

                                                        Not sure exactly what you’re asking for, but here’s a good list of blogs:

                                                        http://danluu.com/programming-blogs/