1.  

    For work: Refactoring my own bad code. Fighting with d3 again.

    For fun: Figuring out how to index Chinese, Pinyin and English words. I’ve got Chinese and searching works pretty fast (bigrams + inverted index). Now figuring out how to do Pinyin and English.

    1. 5

      For work I’m making a nicer API to combine and filter streams of numbers so they can be easily visualized (in d3). After some experimenting I’ve finally got something that doesn’t requires much boilerplate code when using it. Besides that I’m wrestling with d3 to get something on the screen.

      For otherwork I’ve been figuring out how to print receipts with Chinese characters on a receipt printer using the Windows API. After some days of looking through the incomplete API docs and Notepad++ source I’ve got it working. There must be an easier or better way, but I’m not familiar with Windows.

      For fun I’m reading through Clean Code.

      1. 5

        It says it’s written in C++, but the repo is 99% Haxe..?

        1. 2

          I can’t find any references to Wren in that repository. Maybe it’s old code?

          1. 5

            Yep, apparently between Luxe’s “alpha” and not-yet-released “preview” versions it has changed considerably.

            On https://luxeengine.com/alpha/ it says:

            All the details of this transition are being expanded in the development logs!
            In short: The alpha code base was temporary and is going away.

            1. 3

              if it was a deliberate strategy to use haxe to develop the alpha quickly and experiment with strategies, and then port to c++ once the code had crystallised, i would love to read a blog post about it.

        1. 1

          Hey, I just send a request to join. I’m curious what’s going to be posted.

          1. 1

            I’m thinking most jobs and people announcing availability for jobs, but I’m not frequent LinkedIn user so whatever’s normal there is also welcome.

            ETA: Also, I’m going to automatically approve all requests at least until I start seeing professional recruiters starting to join. If your approval takes a few hours or even days, it’s because I’m running some errands today and I’m not a heavy LinkedIn user.

            1. 1

              Am starting to see recruiters trying to join now, FWIW

          1. 3
            1. 1

              Nice! Did you build it yourself?

              1. 1

                Slow response… but yes! I may put together a build log at some point but it’d be an after-the-fact thing

            1. 1

              West of Eden by Harry Harrison and OCaml from the Very Beginning by John Whitington.

              1. 1

                Just a week into Programming Languages, Part A and I like it. I also like Standard ML so I started looking at OCaml, because I don’t think SML is used a lot outside of these kind of courses.

                For work more C++. I started to maintain an embedded Linux application that’s written in C++/C.

                1. 2

                  Learning C++ for work, reading Clean Code by Robert C. Martin and looking into different ways to make apps for Android. Anyone got suggestions?

                  1. 3

                    Honestly, I’ve learned a fair bit by reading the C++ FQA, even though it’s not totally up-to-date. I’ve been thrust back into C++ with my work on LLVM and it’s helped a bit (I’m nowhere near done the whole thing, mind you, nor am I anything approaching an expert).

                    Also, A Tour of C++ is helpful.

                  1. 10

                    Yet another Electron app :(

                    1. 4

                      What’s wrong with using Electron?

                      1. 9

                        A lot of overhead compared to a native application.

                        1. 5

                          I imagine it’s a nightmare to port. I haven’t seen a single electron app ported to OpenBSD. Additionally like mentioned by others - the overhead (resources) and complexity of the whole platform (security) that is not required for most apps.

                          1. 1

                            Is Chromium available on OpenBSD? I assume Node.js is.

                            This feels like a good Google Summer of Code project for Electron. Getting on more platforms is probably more of a question of removing platform-specific ops code more than anything else.

                            1. 2

                              Is Chromium available on OpenBSD? I assume Node.js is.

                              Yes we have both Chromium & Node.js.

                              This feels like a good Google Summer of Code project for Electron. Getting on more platforms is probably more of a question of removing platform-specific ops code more than anything else.

                              This might be much harder than you make it sound. Take a look at the amount of Chromium patches we maintain ourself as upstream isn’t happy about BSD support.

                              I’m sure the code is portable but the task is not small.

                              1. 2

                                It is, but it takes hours to compile. If 36 copies of chrome show up in the form of electron, that can substantially delay new sets. I also have my filesystem partitioned to a certain size. There’s a limit to how many apps like this I can install.

                                1. 2

                                  Personally hoping someone makes an “Electron Runtime”, like how the JVM works (or Python, or Ruby…), and we could just distribute the web file….

                                  1. 1

                                    Ditto, I think the problem with that is that Chrome (and to a slightly lesser extent node.js) are such rapidly moving targets that having a single “Electron VM” for multiple apps may be tricky, at least at the moment.

                            2. 3

                              I’ve seen it break some of the accessibility tools (screen readers mostly) in strange ways.

                              1. 1

                                I don’t know what this says about Electron itself, but the two Electron-created apps I’ve used most, Slack and Atom, are, IMHO, not great. They’re sluggish, eat memory and have a sizeable disk footprint.

                                I can see the thinking behind creating desktop apps using web technologies, but is Chrome really the best engine to use (yes, I know Electron uses node.js which needs v8) and do we really need a full-fat browser to run a web-based desktop application? Chrome is a slow resource hog as a web browser, so why would I want to be running local apps that use it? But maybe that’s just me being a grump.

                            1. 3

                              Whoah! This is very nice. Especially the fact that it supports autotagging/plugins. I already looked at TMSU, but it doesn’t have support for plugins (or I didn’t look good enough).

                              1. 1

                                It would have been really nice if it was using a fuse implementation to mount these files.

                                  1. 1
                                1. 1

                                  At work: Finishing up a big Angular related ticket. I don’t really like the framework (maybe it’s because I don’t have much front-end experience) and I’m slowly removing logic from the Angular code to plain JavaScript.

                                  Home: Not much. I just moved to a new place and I’m still figuring out what I need to do.

                                  1. 12

                                    On Android I’ve tried many different apps that provide terminal and/or ssh access. And while some are pretty decent, they didn’t get me beyond thinking ‘ok, this will have to do.’

                                    But then I found Termux. It’s the best - sorry, I had to say it, because it provides even more than I wished for: a full blown terminal with its own package manager (apt!), a good number of packages that are kept up to date, and as such it gives you pretty much the terminal environment you prefer. I use zsh plus my own set of zsh config files, .ssh/config actually works, and it even has a (passwordless, key based) openssh server that runs under user privileges.

                                    Another thing that makes Termux so nice is the intuitive key binding system: for ctrl use the volume down button, and use the volume up key as a meta key for numerous useful other keys, e.g. vol-up+e is escape, vol-up+t is tab, vol-up+p is PgUp, +n is PgDn.

                                    It has multiple session support, various color schemes, fonts, you name it. It’s portable, so with another tool like TitaniumBackup, duplicating your whole setup becomes a breeze. And it’s incredibly fast as well.

                                    1. 5

                                      Another great thing is the source is available: https://github.com/termux which may lessen concerns around ssh access into certain servers.

                                      1. 3

                                        I recently discovered this too when a user of my Python package asked if it works in Termux. I was really surprised that installing Python packages worked most of the time (some C-based packages didn’t work).

                                        1. 2

                                          I really agree. It works really great, and is the only one that works reliably for me. The bulit-in terminal is great, and the software repo has a great selection.

                                          One thing I regret, is that a shell script that has the shebang #!/bin/sh does not work, but this is due to Android not following the standards, not to termux.

                                          It was really a good surprise :)

                                          1. 2

                                            Definitely agree, i found it a couple of moths ago by total accident and was amazed to see that i could not only install ssh but the latest version of GCC, go, node.js, python, ruby, emacs, vim, etc.

                                            Typing on an phone is not the most convenient but plenty useful when you need it.

                                            1. 2

                                              And even if it doesnt use your sd card as home. You can still access your termux files from the file discovery dialog. I’ve been using it to manage my ssh key on my phone.

                                            1. 2

                                              For work (new job):

                                              • Adding features and trying to refactor a lot in our Angular application.
                                              • Crying, because our Selenium tests always fail.

                                              At home:

                                              • Reading about a bit about OpenGL and playing with nanovg (I made a tiny Go-binding).
                                              • Writing code for a Django application that keeps track of stored procedures and triggers in Postgres.
                                              1. 3

                                                I’ve found that using BrowserMob + a real web browser (not phantomjs) fixed a lot of the pain for me.

                                              1. 3

                                                Started implementing design patterns (GoF) and algorithms, because that’s my weak point.

                                                1. 2

                                                  Ooh, if you want to dive deep on software design patterns (not just modern enterprisey stuff), be sure to check out the WikiWikiWeb at c2.com. It’s the original wiki software - older than Wikipedia! - and is very programmer-oriented. The creator (Ward Cunningham) and his friend (Kent Beck) were part of the original software design patterns movement.

                                                  http://c2.com/cgi/wiki?DesignPatterns

                                                  http://c2.com/cgi/wiki?SoftwareDesignPatternsIndex

                                                  1. 2

                                                    Cool! I’ll make sure to check that out.

                                                1. 5

                                                  Finished the dutch translations of Hear the Wind Sing and Pinball, 1979 by Haruki Murakami last week.

                                                  This week I’m starting with The Castle by Franz Kafka and Game Programming Patterns by Robert Nystrom.