1. 18

This is the weekly thread to discuss what you have done recently and are working on this week.

Please be descriptive and don’t hesitate to champion your accomplishments or ask for help, advice or other guidance.

  1.  

  2. 15

    I’ve written two Wikipedia articles during the past few years, one on an obscure mathematical subject, and one on a relatively minor gaming celebrity. My experiences writing these two articles have been very different for each, and overall quite illuminating of Wikipedia itself.

    This week I will write a blog post comparing my two experiences and what I’ve learned about Wikipedia.

    1. 2

      My experience with Wikipedia is that succeeding as an editor depends on topic.

      For example, there is almost a zero chance to add to anything that involves multiple paradigms. For instance adding to Vitamin C page anything not main stream knowledge seems to be next to impossible even if you do everything correctly (provide good references from high index factor journals etc.). The reason is that C is controversial topic - there is alopatic, natural, orthomolecular etc. point of view - so agents of dominant paradigm remove the inputs of others.

      I edited 50 or so pages and I found out that some edits were completely reverted with unsound reasoning. On the other side, my edits of some a bit more obscure but very related topics done in the same manner - such as GULO gene - are almost never changed.

      This behavior depends also on discipline - medicine is for example notoriously in the resort to authority zone while some other sciences are more open minded.

      1. 1

        For the most part I didn’t have problems adding or changing the Wikipedia entry for CHICKEN Scheme, but getting the logo on Wikimedia (so it can be shown on the Wikipedia page) was a horrific experience I never want to go through again. I had to go on IRC, explain the origin of the logo and “prove” that it was really unencumbered by any copyright. If I remember correctly, the uploading process itself was also a hassle, by having to put it on some FTP site and then have the person move it to the actual Wikimedia. It’s been a while, so I might misremember the details.

      2. 1

        My experiences writing these two articles have been very different for each, and overall quite illuminating of Wikipedia itself.

        Would you mind elaborating on this?

        1. 4

          I will, over the course of this week. :-)

      3. 14

        Myself this week. I’ve only gotten 5 hours of sleep per night in the last week. It’s getting bad.

        1. 7

          That sucks, enjoy catching up sleep.

          1. 1

            I absolutely plan to enjoy every moment of it.

          2. 4

            Update: I’m in the hospital :(

            EDIT: I was discharged and told to not do something again. I’m okay otherwise.

            1. 1

              Oh shit, what?

              1. 2

                Apparently my anxiety is that bad

                1. 3

                  Sending my support. Anxiety is really tough - i’ve been there.

                  1. 2

                    That sucks, I hope you feel better soon.

                    1. 2

                      They gave me lorazepam, I feel peaceful but my body isn’t calming down yet

                      1. 2

                        Glad you got some treatment relatively quickly.

                        I’ve made my rounds around here and I think the Jewish has a very well-oiled machine in emerg compared to the others. Wherever you are, it looks like it’s going better for you.

              2. 2

                Here’s some empathy and some advice. Feel free to take or leave either as you see fit.

                Damn I hope you feel better soon. I’ve been enjoying reading your blog posts and I selfishly want you to get your sleep so I can keep enjoying your work.

                Intense exercise works for me. When I physically exhaust my body, sleep comes more easily. Also it helps with my motivation and general sense of well-being.

                1. 2

                  Thanks! I think the lorezapam at the hospital helped the most.

                2. 2

                  Buff yourself. Like in World of Warcraft. Life is just like that just different magic.

                  While you don’t have potion of rejuvenation IRL, there are some nice buffs for sleep optimization - you could do any/all of Ubiquinol, Piracetam, Spirulina, Vitamin C, K3 MK7, Retynol, ALCAR.

                  Or you can be boring and sleep :)

                  1. 3

                    I generally try to avoid giving specific medical advice unless invited to, as there’s no way to know a person’s situation unless they volunteer it, and people with chronic health issues are generally well aware of the options that people are prone to suggesting. If I were asked to suggest medical treatment to look into for this scenario, it would most likely be treatment aimed at improving sleep duration and quality, as that’s generally probably the highest priority for a sustainable lifestyle.

                    I am not trying to make you feel bad for weighing in - I can see that you’re trying to help - but I do think it’s important that things like this should be opt-in rather than opt-out, so I’m hoping you’ll reflect on it.

                    1. 1

                      Recommending OTC supplements is in the domain of nutrition, it should not be generally considered as ‘medical treatment’. Potential for harm is virtually non-existent here, the worst case I can think of is that no effect happens.

                      1. 3

                        My concern is more about the psychological harm that people often experience as a result of hearing the same advice over and over, to the point that it’s too exhausting and burdensome to even reply to it most of the time. Longer-term, it is often the case that the potential frustration of receiving unsolicited advice becomes an incentive to not talk about health issues at all. When nobody talks about health issues because of the potential reactions, existing societal stigmas are reinforced.

                        1. 0

                          What concerns me is this self-appointed babysitting of grown up people. Maybe that works where you work at, but your deduction about this really concerns me. Furthermore, as far as I can see, our pony dude is more then capable to speak for herself.

                          People should rise their own kids and do that stuff at home. Picking up on random strangers on the internet and trying to re-educate them is not a virtue in my world.

                          1. 1

                            I offered advice that you can think about, or not, as you wish.

                  2. 1

                    Wednesday update: I had 6.5 hours of sleep and a happy dream instead of a horrific nightmare. Things are getting better.

                  3. 7

                    Well, this will be an interesting week it seems.

                    It’s already Monday night here, so I’ll include what’s already begun:

                    • I’ve started working on a new feature for an OSS project (I originally asked the author about it, and it didn’t seem particularly high priority/a priority at all for him) the likes of which I’ve never dealt with before, It’s C++, (egads!) but so far it still compiles, and the feature works, so break out the champagne! All going well (i.e. the author is willing to look at a PR for the feature) I’ll have it submitted this week.

                    • Seems like I’ll be taking on another short-ish term client for some tooling work.

                    • The “should we or shouldn’t we migrate off mysql” conversation/thinking has been done, and it’s going ahead so that’ll hopefully start this week too.

                    • Probably a pretty sizeable code review and subsequent testing for a client’s app related to a major change to payments & purchasing that’s about to land.

                    1. 6

                      Non-Work:

                      • I’m almost done with the new iteration of my notebook tool (think a bit of bookmarking and static site generation). The old version was written in Haskell using Pandoc, but no framework, the new version is using Yesod. I used Haskell both out of curiousity and because I wanted Pandoc to handle my org-mode files[0]. Yesod in particular and Haskell in general has been really rough–I’d have surely gotten something working much much faster without it. I’ve certainly learned a bit, but I’m not sure it’s been worth it for me (and “for me” is really important there. I make no general claims about Haskell).
                      • I’m reading through the Alice database book.

                      Work:

                      • It’s release week.
                      • I’m also doing a bit of work to untangle some obnoxious dependencies that are complicating our testing story. We have a new manager who’s really encouraging us to improve our testing situation, but there are a lot of obstacles.

                      [0] The history here is that I started with a bunch of org-mode files on one computer, then had the idea that I could make them sync between machines and/or make additions from my iPhone, so I started building a web server, then postponed sync and went to entirely managing things server-side–sync is still something I’d like to do, but it’s going to wait.

                      1. 2

                        Yesod in particular and Haskell in general has been really rough

                        Can you elaborate on this point? I do all my work in Yesod, so I’m wondering what you think could be improved, or if perhaps you were stuck on something and I could help.

                        1. 1

                          I should keep track of examples, so I can reflect on whether they’re real issues or just growing pains.

                          The most recent one is that I had trouble with not getting output from $logInfo. I found https://stackoverflow.com/questions/20870699/yesod-loginfo-no-output. I tried making the mentioned change, with no effect. I’m running using stack run instead of stack exec -- yesod devel because I get the no space left on device error mentioned at https://github.com/yesodweb/yesod/pull/1305#issuecomment-262813624, so I figured that I couldn’t rely on the author’s comment that all levels were enabled with devel. Testing revealed that $logWarn and $logError worked for me, but not info.

                          I was concurrently trying to figure out what logging was enabled when starting from the yesod scaffolding. It seems as if it’s only warn and error for my project (so I “solved” the problem by upgrading $logInfo to $logWarn). I failed to find any documentation or the source of configuration. After I got to work, someone slacked me about shouldLogIO in Yesod, so I’ll have to check into that when I get home, but I still don’t know what piece of the puzzle I’m missing, because I didn’t know to look for that method.

                          1. 1

                            The most recent one is that I had trouble with not getting output from $logInfo.

                            Here’s what I have in my Foundation, under instance Yesod App where:

                              shouldLogIO :: App -> LogSource -> LogLevel -> IO Bool
                              shouldLogIO app _source level =
                                return $ appShouldLogAll (appSettings app)
                                  || level == LevelWarn
                                  || level == LevelError
                            

                            You could try adding || level == LevelInfo at the bottom.

                            You should also check appShouldLogAll in config/settings.yml, and src/Settings.hs.

                            Also, yesod devel is very slow, and you’d be much better off developing with GHCi. This is non-obvious though, so I should probably write a guide for this.

                            1. 1

                              Thanks, changing the shouldLogIO method worked. I haven’t yet tried the settings, though I probably will at some point.

                      2. 6

                        Since embarking on rewriting my toy interpreter, I’ve managed to create a largely-working literate program in a single ~1.6Kloc file. My week will consist of flitting between writing a REPL (and/or useful programs) and attempting to complete the “literate” part in order to release it.

                        1. 6

                          I am at the Open Source Firmware Hackathon in Bochum learning about Coreboot from a lot of very smart people, and flashing it onto my X230!

                          1. 2

                            I just librebooted (but soon to switch to coreboot) my x200… definitely a sigh of relief on seeing the bootscreen pop up.

                          2. 5

                            I’m working on an Elm project for class, building a clone of Hive, which is kind of like chess but with bugs on a hexagonal grid.

                            • Everything, including the tiles, is drawn with svg and I’ve had to learn a lot about svg in order to sorta kinda make things work. It’s surprisingly difficult to place external svg files in a page while still being able to manipulate their properties or even style.
                            • I’m learning JavaScript because of another class, and boy the development processes are so different. I’m already biased against JS, but the Elm compiler and its static typing are so nice. The compiler saves me from myself!
                            • I severely underestimated how much time it would take to implement a game with movement logic. Still super proud of the results so far, and I’m pretty sure I’ll continue working on it for fun after this class ends.
                            1. 5

                              Last week of classes for me, so I’ll be demoing for several of my project classes. Some of the stuff I’ve worked on this quarter:

                              • A toy compiler for, you guessed it, Compilers
                              • A tweet search engine (using an 8GB corpus of tweets) for Information Retrieval
                              • An article summarization app for Natural Language Processing
                              • An airline management system for Databases

                              Happy to talk details about these projects, it was a great time building them!

                              1. 5

                                I finished writing a massive compare and contrast of all the semi-serious Rust game engine projects and I’m kinda at loose ends. I really should buckle down to a week of crunch time at work before I head off for a couple weeks of vacation, but my head is still spinning with event API’s and Vulkan bindings.

                                1. 4

                                  At work I’ve just about finished the work to embed extra metadata into portable globe files, and today I’m starting work to use that extra metadata in our Android plugin. The extra info should drastically speed up importing and loading large files, so it should be a high impact change.

                                  Outside of work I’ve been reading “Object-Oriented Programming in Common Lisp - A Programmer’s Guide to CLOS,” and should finish this week. Good book so far - it’s well written and to the point, and CLOS has some esoteric features and flexibility I haven’t seen in any other languages, so I’m learning quite a bit.

                                  And I need to get some miles (and climbing) in on my bike in preparation for riding the Colorado Trail in July.

                                  1. 4

                                    I’m finishing up my bachelor’s thesis: Iterative Programming in ML with Type Classes and Associated Types.

                                    I promised y’all a blog post two or three times throughout this past academic quarter, and just never did it. Once it’s all done (due Wednesday), I’ll make it available, and write up a blog post about my experience. For real this time!

                                    Also, any Chicago-based Lobsters are cordially invited to attend the talk - Wednesday, 4pm CT. PM me for details if you’d like to attend!

                                    1. 4

                                      A side project for my Dad.

                                      He’s a cardiologist, and does echocardiograms. He just purchased a new machine, a different brand to the ones he already has. He has some software to turn these echo studies into a report using a word doc as a template. But it doesn’t work with this new model (because they are all proprietary and locked down). So I’m building something that can work generically, with the aim to sell it onwards. It’s fun so far.

                                      1. 3

                                        Since taking on an engineering management role I’ve finally managed to wrap up the engineering tickets that I had in-flight. Now I am actually able to start doing the management job properly.

                                        I’d be curious to know what kind of tools other engineering managers are using to help them manage their teams. I have the usual ones - Jira and Slack. I’ve been wanting some kind of a personal knowledge-base. It’s needs to have good search, and tagging, and if it had a to-do list built in I wouldn’t complain. I’m on a Mac and I’m not opposed to buying an application if there’s something that just works.

                                        1. 2

                                          Maybe try notion.so, but it doesn’t have tagging. I also use CherryTree.

                                          1. 2

                                            We use Dropbox Paper: search, tagging, to-do lists, LaTeX, markdown…

                                          2. 3

                                            Today: released a web shop I’ve been working on for quite some time as a side project (for a friend/client): www.tapetorama.se. (In Swedish only, for now.) It’s based on Solidus with a bunch of customizations. One thing I discovered along the way: it seems there are no great OSS e-commerce frameworks. Solidus is pretty good (Rails based) and very malleable if you know your way around Rails and various Ruby trickery. Saleor is interesting as well. There are several proprietary platforms that seem good (both the self-service variety and the ones that come bundled with consultants building your site) but given how important and lucrative this market is, I’m surprised there aren’t any more mature OSS projects. (Of course, there are a few popular ones, mostly in PHP land.)

                                            1. 1

                                              I don’t know Solidus (yet :) ) but I have experience providing SaaS companions to ECommerce solutions paid & OSS alike.

                                              Magento is, honestly, decent if you require advanced, large scale, capabilities which basically leads to Magento Enterprise & having a couple team members certified. Many of my customers have been burnt by the breaking changes of Magento 2.X but things are getting easier with every iteration.

                                              However Magento now belongs to the same category as SAP Hybris, Intershop, Salesforce Commerce & al: big, costly solutions than handle complex workflows

                                            2. 3

                                              I’ve been thinging about how to technically implement “Direct Democracy”. In 2019 with all the tech available and everyone on the net citizens show be able to more directly participate. No easy task, technically, legally, securely or politically, but POSSIBLE

                                              1. 2

                                                I am finishing work on the first alpha version of my toy programming language tinySelf. I need to add support for file operations and sockets and do some stdlib improvements.

                                                I am also thinking about first application - personal wiki. For this, I’ll need some kind of GUI library / approach in the tinySelf, and that will take me a while. It also leads me towards thinking about some kind of approach how to provide GUI support for hipster languages. Doing Qt bindings seems to be really time-consuming, doing your own HTML GUI seems to be annoying and you have to reinvent all kind of widgets and using X directly seems difficult.

                                                On top of that, I am slowly translating some of my czech blogs / articles to english.

                                                1. 2

                                                  In my spare time, I’m continuing to develop and improve my browser-based, casual, multiplayer game (early access at https://alpha.sneakysnake.io). I’m currently adding webgl text rendering for player names that hover over player’ heads.

                                                  I was stuck for several hours trying to understand why texSubImage2D was complaining about not having the right amount of data for some glyphs but not others (when updating a glyph atlas cache texture). Eventually I come to realize (through trial and error) that texSubImage2D can only update regions that are aligned to 4x4 texel boundaries. This seems to be due to a misreading of the spec (for uncompressed textures), but since all browsers seem to require it, I have no choice but to implement it… So that’s my next step.

                                                  1. 2

                                                    I’ve just finished with exams (!) and have been back at home working on my side projects and playing emulated playstation 2 games (:

                                                    Also, just shipped a feature I’ve been working on for a long time so that’s got me feeling pretty good. My next idea has me pretty hyped since it works with a part of the language that I have little experience with and thus I get the opportunity to learn while making something cool.

                                                    After this week I’m going back out to my university city for an internship where I’ll be working on an app to help anxious people navigate train stations. It’s just the thing I like doing: using my skills for social and societal good. Lots of front-end and design stuff too that I have so far been lacking experience with coming from a C background.

                                                    1. 2

                                                      Trying to do at least 1 github ticket a day on Janet Shell, while also working on a product which I neglected the past few weeks.

                                                      I am a bit burnt out on the product to be honest, but it needs to get done somehow.

                                                      1. 2

                                                        More #100daysofcode - this week I want to move my Pomodoro timer as close as I can to having all the code that makes sense covered. Need to focus on really grokkiing patch and mock because I struggle with these every time I need to use them at work.

                                                        1. 2

                                                          Work: We are short staffed and there have been way too many fires to fight.

                                                          Personal: I installed StayFocusd and have set limits on all of the discussion forums.

                                                          1. 2

                                                            Personal: my ~7 year old colo server failed this week, and I have to migrate over to another. I’m switching over to OpenBSD (and I switched my Thinkpad over), which I haven’t run in a few years so there’ll be some learning. I also wrote a Go version of signify and included the ability to encrypt using curve25519 (the same idea as this article) to scratch an itch.

                                                            Work: releasing my first real feature at the new job, which has taken a lot of learning in a new field and adapting to the work culture here. There’s a tight deadline (tomorrow!) that I’ve been trying to meet, which has been a little stressful.

                                                            1. 2

                                                              I’ve been working on my weird shell, it’s called rwsh. It’s an attempt at implementing a shell with a fresh syntax with built-in text manipulation tools using structural regular expressions. I still have to implement control structures (I only have if for now and code blocks / brace expressions). The structural regexps are all here though!