1. 8

    Morning all!

    I’m keeping busy, it seems.

    I’ve got more changes in progress for the Z3 theorem prover to clean up some more platform support issues. I’m also working on expanding my Rust bindings as well.

    In Zircon / Fuchsia land, I got a lot of my backlog of changes cleared out and then went and submitted a bunch of new changes. One day, Zircon will be the OS kernel with the best spelling.

    My client work is progressing. The devil is in the details and I’m trying to get everything nailed down in the next day or two.

    I’m still reading up and learning about things going on in the materials world with cellulose and lignin. This led me to the interesting world of using chitin from shrimp and crab shells, producing chitosan, and then using that to make biodegradable plastics. So fascinating! A lot of this seems like it needs further work to bring it into affordable production processes though. I’m trying to find some local chemical or materials engineers to meet up with and learn more about this.

    I’m also reading about some ideas from the 1990s on what might be better than a REPL. Also pretty fascinating.

    And this coming weekend, we undergo 30 or so hours of door to door travel to head to the US for a couple of weeks.

    1. 2

      I’m also reading about some ideas from the 1990s on what might be better than a REPL. Also pretty fascinating.

      Sounds very interesting, can you share some links and/or thoughts?

      1. 3

        Right now, I’m looking at the thesis of Wolfgang Weck: ftp://ftp.inf.ethz.ch/pub/publications/dissertations/th11817.abstract

        This is rooted in the Oberon world. This was also similar to how MPW worked way-back-when.

        @nickpsecurity also posted a link to a paper from the Oberon world on ActiveText recently. That’s related to this as well.

        1. 1

          Thanks for credit. That’s this paper for folks wondering. Honestly, I haven’t read it yet due to lack of time/energy: it just looked really good as I skimmed it seeing ideas I’ve seen in other good work. I guess I should bump it up on my backlog since you’re recommending it. Might do Weck’s at same time since you say they’re related.

          Note: Weck’s stuff is paywalled but I found a page with links to dissertations that was broken. I’ll email admin in case any of those links were free PDF’s and they fix it.

          1. 2

            I’ve had the Active Text paper around for a while myself … but you re-brought it to the front of my mind as I was looking into similar things again. :)

            As for Weck’s thesis: ftp://ftp.inf.ethz.ch/pub/publications/dissertations/th11817.ps.gz

      2. 1

        I’m also reading about some ideas from the 1990s on what might be better than a REPL. Also pretty fascinating.

        I love this stuff! It’s really interesting to see the things that were tried, and that…well, not that failed, but that didn’t become popular. I think by the 1990s we were pretty doubled-down on the edit-compile-debug cycle, and sufficiently burned by CASE tools to be sceptical of anything more complex than a text editor with a “build” button.

        Some stuff never left academia, some didn’t get traction, and some was genuinely not a good idea :). Trying to work out which is which is fascinating.

      1. 3

        Just downloaded and installed this in a VM on MacOS after seeing this post. Basically ubuntu with an actually pretty nice UI toolkit effort and all the ubuntu repos. No doubt some other differences under the hood too. Default browser seems reasonably slick, and firefox runs smoothly. Interestingly as soon as it booted up I got a warning from Oversight on MacOS that the microphone was in use. Which seemed a bit odd for an OS touted for privacy; maybe just a VM thing. Anyway, seems like a pretty viable option for bringing older machines back to life. Thanks for posting, I never remember to check for updates on these sorts of projects and at this point Elementary seems pretty solid, from the (elementary!) check-out/test I did.

        1. 3

          VM doesn’t really do it justice, I would recommend that you at least try it using a live USB.

          The microphone thing is weird, do you remember any more details? when did it happen during the boot process?

          1. 3

            Hiya, was just going to update this thread that I did try it in a live USB this morning, on a non-retina Macbook Air 13” and a retina 15” MBP. Looks great and works really well, especially on the higher res. Pretty impressed really - it seems really viable as a day-to-day OS, the UI toolkit and a lot of the OS-level touches are great, especially for a Mac user. Great work!

            Tried the VM again just now to check the microphone alert, it happens right before the desktop picture displays for the first time.

            1. 1

              Awesome!

              Interesting, I’ll experiment to check if that was due to the kernel/underlying system checking USB/devices. Which virtulization software did you use on the mac?

              1. 2

                Cool - Virtualbox, latest version installed via brew on a new High Sierra install at the weekend.

                1. 1

                  Circling back on this - just noticed the same audio warning during the boot process when running another VM. So that seems like it’s nothing to do with Elementary :-)

          2. 2

            Thanks for mentioning Oversight, I was just looking for something like this.

          1. 6

            I think it is great that they are trying to polish the Linux desktop and bring in donations for Linux developers. However, I am ambivalent about how they do it. They have their own GNOME 3 fork (Pantheon), their own human interface guidelines, their own app store, etc. Further splintering may give some local optima, but I don’t think it is useful to the Linux desktop in general.

            1. 4
              • Pantheon is not a fork, it uses libmutter which is also used by gnome-shell.
              • The app store is open source, any distro can use it

              Further splintering may give some local optima, but I don’t think it is useful to the Linux desktop in general.

              That’s the beauty of Linux and open source software in general, if something doesn’t fit an individual or groups needs, they are free to modify it.

              1. 5

                Personally, I think one of the contributing factors to Linux’s failure to capture the desktop is fragmentation. That said, I’m looking forward to playing with Juno.

            1. 3

              I, like many fellow engineers, wrote my own called muda. Why “Muda”? Because productivity is waste. It’s web-based and completely written in C++. Unfortunately, it doesn’t compile with the latest version of Wt

              1. 2

                a screenshot in the readme would be helpful.

                1. 2

                  Thanks, good idea. Will do that when i get it runnig with the new version of Wt.

              1. 6

                “promotion decisions come from small committees of upper-level software engineers and managers who have never heard of you until the day they decide on your promotion”

                While that has been true until now, it just changed, at least for Sr. Software Engineer and below.

                1. 1

                  Whats the new method?

                  1. 2

                    Now it’s a set of sr. engineers who work in the same product area and will know what every candidate worked on.

                    1. 1

                      Both the procedures are eerily similar to my current company. I guess people take cultures with them to their new workplaces.

                1. 3

                  Yes, my work enables me to achieve my non-work life goals (or that’s what I tell myself when doing boring tasks). I work at one of the humongous tech companies sometime the work is interesting and sometimes it frustrating to deal with the politics but this is my first full time job.

                  I used to be a very regular contributor to OSS and my day-job isn’t nowhere close to that rewarding.

                  1. 4

                    Really want this to happen, i used to write and maintain lots of apps for elementary OS and all are written in Vala. Most new contributors were turned off due to so few resources available.

                    Do reach out to @elementary on twitter, they would be more than happy to help/support the effort.

                    1. 2

                      I was at Poor till a couple of week ago and started getting burnt out so i am trying to progress to Average.

                      1. 2

                        Pony is a pretty interesting language, i really enjoyed reading the paper. Definitely on the “to learn next” list.

                        1. 1

                          If you run into trouble, you can ping us on IRC, mailing list or twitter. I think you’ll find it a very welcoming community.

                          1. 1

                            Thanks!

                            I have been bugging you on irc for a couple of weeks now :)

                            1. 1

                              I’m good with faces. Not so good with nicks and names.

                        1. 3

                          So I can either copy-paste or run git submodule, or.. install Java to install Facebook Buck (whatever that is) to ‘manage’ my C++ projects?!

                          The cottage industry of single-header libraries is actually a good thing; it keeps us C++ programmers from adding too many dependencies.

                          1. 3

                            Neither git submodule nor copy paste saves you from transitive dependencies on same library but different versions.

                            I tried buck, it’s actually quite fast. I’ll experiment more with it and buckaroo and report back in the ‘what are you working on’ thread.

                          1. 3

                            I am working on a small C++ cli application that will basically act as a download manager front end. curl/wget/aria2 already handle downloads quite smoothly the only thing that i miss is launching them and let them intelligently handle retrys, failures, etc. Right now i have a bash script that creates a .down file in the current folder and download <url> appends the url to the file along with the flags, then i run download do which does for url in .down; wget -c url this is single threaded and to continue a partial download i have to run the command again.

                            This application will create all the download processes (limited by max-concurrent-downloads) and manage them, and when i call the –progress flag, display the current progresses/failures/pending etc.

                            There isn’t much code there right now but i am adding it and also learning how to do other stuff in C++ along the way.

                            1. 2

                              I am Akshay, just graduated from college last month, after attending a 6 month internship at amazon i’ll be joining fulltime next month.

                              I used to participate in national level karate competitions, i learn in my free time (from throwing shurikens to oragami) and travel whenever i can (preferably alone), listen to a ton of podcasts and make straw man arguments for fun.

                              I am interested in building programs that are smart, so i don’t have to do the bulk of the work :) languages are another passion of mine, right now i’ve settled on C++, Go, Python and Kotlin. I use them whereever they make sense.

                              1. 3

                                qfind & qselect: fast, flagfree find . -iname foo with steroids and fuzzy-finder/filter to find exactly what I need interactively.

                                1. 2

                                  looks neat, doesn’t it bother you that you’ll only see the list of files when the search is complete?

                                  1. 2

                                    Not really, qfind is lot faster (or it feels so at least!) than find. On my first generation SSDs it gives subsecond filters for Linux kernel and mozilla-central repos, so it hasn’t been bother. It also feels very intuitive when combining with qselect for extra filtering, especially when using it inside other programs. For example my open file in vim.

                                    1. 2

                                      hmm, weird. it isn’t as fast on my mac book air so i created a pull request that prints the file as soon as it’s found.

                                      do you mind trying my temporary fork?

                                1. 2

                                  I am playing with various algorithms to figure out the similarity between two strings, turns out it’s a pretty complex problem but fun nonetheless.

                                  1. 1

                                    Nice to see this posted here, thansk /u/Snocrash

                                    1. 3

                                      @work: using pdfium which is pretty nice for rendering PDF’s as images, text is a bit tricky but i think i have found a way to make it work, trying to finish that.

                                      @home: learning rust, evaluating using gn for my c++ projects which is pretty nice and i love that fact that i can generate Xcode and qtcreator projects from it to use with my ide, even though cmake provides similar functionality but i am trying to experiment with monorepos.

                                      1. 7

                                        Learning rust by watching live coding sessions, writing a small GUI for pngquant

                                        Turns out libpng isn’t very straight forward if you don’t want to use malloc or new in your c++ code, once that was figured out, libquant just removed 50% of my image. Need to get a better understanding of how images are represented.

                                        1. 2

                                          I too am currently learning rust, the rust book is pretty good also there is a person who is also learning rust and does live screencasts of him writing rust code and learning, and the viewers send pull requests live too.

                                          Here is his livecoding page and github (https://github.com/tsoding)

                                          1. 2

                                            Been working on evaluating a few libraries for work and stuck in a rut at home.

                                            I haven’t been writing code at home at all, i don’t feel motivated to do so which is weird since that is all what i used to do earlier. Need some interesting problem to solve.

                                            Basically i want to create or contribute to something, just don’t know what. this is a weird problem to have. :/

                                            1. 6

                                              Going to package Firestr in the new Ubuntu snap package format. See what that is all about.

                                              1. 2

                                                please write about it somewhere, i am really interested!