1. 2

    Choosing a new office for our branch in Bydgoszcz, Poland. The current one is already too small after 3 months. Already did 3 viewings, gonna view another 3 and decide which one it will be on Monday.

    I have been traveling from Eindhoven to Bydgoszcz every 2 weeks now, exciting times!

    1. 5

      Company: Code Yellow BV

      Company site: https://www.codeyellow.nl/vacanCY.html

      Position(s): Medior / Senior Front-End Developer, Medior / Senior Backend Developer, and more

      Location: Eindhoven, Netherlands (ONSITE) / Bydgoszcz, Poland (ONSITE)

      Description: We build (web / mobile) applications that streamline critical business processes. Because each application is part of a critical process, it is used intensively by thousands of employees daily. The clients range in different fields: transport, sales, health, production and telecom. The range of different fields gives insight in problems unique to those fields, but also interesting overlapping problems.

      Tech stack: Django, Postgres, React, Flutter, Docker, Cypress

      Contact: contact@codeyellow.nl or DM me

      1. 3

        This affected a customer of mine. At least he had a server for backups; setting up everything to work on that machine. It’s a bit underpowered but it’ll have to do for the time being.

        1. 1

          How long does it take to get everything up & running again from backups?

          I moved the project which we worked on from Tilaa to Leaseweb, and just transferring data took 6 hours (at least I could prepared for it).

          1. 4

            Well, it is the backup server we’re abusing for hosting for now. So the data transfer itself is not a big issue. Restoring databases took ages because the disks are rather slow, but I’ve restored about 8 websites now, and I started around 8 o’ clock, so that took 4 hours, including some getting to grips with restoring. I had set up the server but forgotten a lot of details. And I also discovered my customer had added a new main directory which wasn’t being backed up… Really, you want to practice this stuff so you’re not caught flat-footed when shit hits the fan, and to make sure you have all you need.

            I expect the rest of the sites to be less work, but there’s a lot of manual stuff involved.

            1. 1

              Why did you relocate? Price?

              1. 2

                Price was indeed one aspect. Upgrading to a better virtual machine at Tilaa was about the same price as a dedicated machine at Leaseweb. The specs for the dedicated machine was waaay beter, so more for the same price.

                Another aspect was that we agreed to upgrade at a certain time window, and Tilaa missed that window and I couldn’t reach them whatsoever. A second window was painful to negotiate with the customer, and with a dedicated machine I didn’t have to rely on a third party to press a button.

          1. 5

            I’m starting to work on Dendron, a tool to make digital gardens of notes with a powerful VSCode plugin to query and refactor the notes.

            I have two wikis now, one with GitBook and one with Dendron where I plan to do more in depth note taking, using all the best features of the tool.

            Quite excited about working and making this digital garden space better for all. 🌿

            1. 2

              Sounds great, gonna check it out. Perhaps one day also available for Sublime Text?

              1. 1

                Certainly. Something I want to look into. :)

            1. 2

              Company: Code Yellow BV

              Company site: https://www.codeyellow.nl/vacanCY.html

              Position(s): Medior / Senior Front-End Developer, Medior / Senior Backend Developer, and more

              Location: Eindhoven, Netherlands (ONSITE)

              Description: We build (web / mobile) applications that streamline critical business processes. Because each application is part of a critical process, it is used intensively by thousands of employees daily. The clients range in different fields: transport, sales, health, production and telecom. The range of different fields gives insight in problems unique to those fields, but also interesting overlapping problems.

              Tech stack: Django, Postgres, React, Flutter, Docker, Cypress

              Contact: contact@codeyellow.nl or DM me

              1. 1

                Wrapping up various odds and ends, as this will be my last week at Code Yellow. Next week I’ll start at Bevuta! I’m happy and sad at the same time, after 7 years of working with my colleagues at Code Yellow I almost feel like I’m part of the furniture ;)

                1. 2

                  Really enjoyed working those 7 years with you, and I will definitely come visit you at Bevuta!

                1. 2

                  I’ve dropped a live database by accident as well, and seen a few colleagues do the same. Happens to the best of us, but mistakes like let you grow quickly.

                  Enjoy the journey in figuring out what went wrong!

                  1. 1

                    This is a tangent, but is there a good work on human factors in SRE? I’ve always done some informal things (prompt coloring, aliases to warn, trying to actually sleep, etc.) – but has anyone presented a more systematic approach?

                    1. 2

                      Fine grain ACLS. Only let one user from one location do drops. It should be like a ceremony to get a database dropped.

                      1. 1

                        I think the molly-guard (apparently named after the plastic cover that guards a physical flip switch) package is a good example. It prevents you from accidentally running shutdown or reboot on remote hosts by requiring you to type in the name of the host before actually running the command. Very useful when you forget that you’re ssh’d into a host on a certain xterm and absentmindedly want to reboot your own computer.

                        Would be nice if there were more things like this!

                    1. 4

                      Company: Code Yellow BV

                      Company site: https://www.codeyellow.nl/vacanCY.html

                      Position(s): Medior / Senior Front-End Developer, Medior / Senior Backend Developer, and more

                      Location: Eindhoven, Netherlands (ONSITE)

                      Description: We build (web / mobile) applications that streamline critical business processes. Because each application is part of a critical process, it is used intensively by thousands of employees daily. The clients range in different fields: transport, sales, health, production and telecom. The range of different fields gives insight in problems unique to those fields, but also interesting overlapping problems.

                      Tech stack: Django, Postgres, React, Flutter, Docker, Cypress

                      Contact: contact@codeyellow.nl or DM me

                      1. 2

                        Can you elaborate a bit more? Social sector + data / analytics is pretty vague. For example:

                        • Senority (junior / medior / senior)?
                        • Availability (part-time / full-time)?
                        • Remote (willing to relocate)?

                        More info is insightful to give tips about where to look for a job. Based on the little available info, I’d guess Itility might be something?

                        1. 1

                          thanks! sure, definitely: senior, full-time, we’re moving to the UK so remote or local is fine :)

                        1. 5

                          Company: Code Yellow BV

                          Company site: https://www.codeyellow.nl/vacanCY.html

                          Position(s): Medior / Senior Front-End Developer, Medior / Senior Backend Developer, and more

                          Location: Eindhoven, Netherlands (ONSITE)

                          Description: We build (web / mobile) applications that streamline critical business processes. Because each application is part of a critical process, it is used intensively by thousands of employees daily. The clients range in different fields: transport, sales, health, production and telecom. The range of different fields gives insight in problems unique to those fields, but also interesting overlapping problems.

                          Tech stack: Django, Postgres, React, React-Native, Docker, Cypress

                          Contact: contact@codeyellow.nl or DM me

                          1. 3

                            Is there more info available other than that single page? I’m for example interested in what the motivations are why this tool exists, what makes it stand out from other tools, what tech it’s using etc etc.

                            1. 6

                              Not quite yet. I would like to get a more detailed blog post out soon. I’m painfully close to something that I can release to a few brave souls to try out, so I’ve been focusing on wrapping it up. If you’re interested, please sign up (or follow me on Twitter if that’s your thing), and I’ll make sure to get some more details out there soon.

                              Super quick summary: This tool is meant to marry property-based testing with models, temporal logic specifications (much like in TLA+), and browser testing with webdriver. I want to make it easy to use this on any web page, without loads of boilerplating test setup. Basically write a spec, point at your website, off you go.

                              It takes a rather black-box approach to the SUT, although it needs to know about CSS selectors and other DOM attributes. But a web page can be React, server-side rendered, a mix, whatever. You can test multiple sites with one spec. It detects changes to relevant DOM elements so your state changes can be synchronous or asynchronous (like changing something after an HTTP request is completed).

                              It is different from PBT with models because you don’t write the simplified/abstract model. You write a specification (which is a bit different), and you can gradually make that specification more detailed. With models and PBT, in my experience, you need to capture all of the essential complexity of the SUT in your model.

                              It’s different from model checking as seen in TLA+, because this is testing the implementation. It’s also using finite traces which are much smaller. In TLA+ you can check huge state spaces in seconds. Here you might test a few hundred or thousand different cases with, say, 50 actions in each, and it’s currently in the order of minutes. But even if failing traces can be somewhat large, WebCheck tries to shrink it down (like QuickCheck does).

                              Regarding implementation, the current version is built in Haskell and the logic DSL is an adaption of PureScript. I’m using the PureScript compiler as a library, but interpreting the CoreFn representation and adding the temporal logic operators next and always, along with queryAll. The specification must be a pure expression, it doesn’t support Effect from PureScript. But it supports PureScript packages! You can use monad transformers in your specs, if you’d be so inclined.

                            1. 9

                              I don’t. They’re all (about 21GB) jammed into about twelve folders on my failing hard drive :(

                              1. 2

                                Ouch… Very recognizable, lost all my pictures. Not ideal, but now simply use iCloud.

                                1. 2

                                  If you want a free in-between while you get things figured out, Mega should give you enough gratis storage space to hold them. You’ll need a pretty modern browser, though.

                                1. 2

                                  Working and looking for a new job. Already have a couple of leads headed in the right direction, with one I’m quite interested in. It’s about time for a change of pace and to see if I can get a culture that better matches my style of work.

                                  (Note: it’s been a while since we’ve seen a “Who’s hiring?” post. I’d be very interested to work for some fellow crustaceans!)

                                  1. 1

                                    Last one: https://lobste.rs/s/wigiwx/who_s_hiring_q2y2020

                                    Ours is still open :)

                                  1. 1

                                    A test that I commonly write is for filtering / sorting, to see if complex combinations result in desired results. For this, the state of the db is quite important. I’m curious, how would approach such a test?

                                    1. 1

                                      So far I’ve handled that by limiting the scope to a single user. Another way would be to write the assertion as a property rather than checking for entries x, y and z - a bit more like a generative test. Maybe there are other ways depending on context. If nothing works you could fall back to a second backing store that was cleaned for that test run.

                                    1. 1

                                      Perhaps Gitlab might be something for you? Free for open source, and it might be feature complete enough for you:

                                      https://about.gitlab.com/solutions/open-source/projects/

                                      1. 1

                                        I did take a look at Gitlab, but their offerings seem to be closer to development tools; what our project is really suffering from is deployed servers. AFAICT Gitlab doesn’t seem to offer anything in that space unfortunately.

                                      1. 1

                                        Fighting with Gitlab CI to skip jobs based on results of previous jobs.

                                        1. 4

                                          Company site: codeyellow.nl

                                          Position(s): Senior Frontend Developer or Senior Backend Developer

                                          Location: The Netherlands, Eindhoven, on site

                                          Description: We build (web / mobile) applications that streamline critical business processes. Because each application is part of a critical process, it is used intensively by thousands of employees daily. Our projects span multiple years, and are technically challenging. Our focus is on stability and incremental improvements, since projects outlast popular trends regarding tech stacks. The clients range in different fields: transport, sales, health, production and telecom.

                                          Tech stack: Debian, PostgreSQL, Django, React + MobX + Semantic-UI, React Native + Native Base, Cypress

                                          Contact: contact@codeyellow.nl

                                          1. 2

                                            Company: Code Yellow

                                            Company site: https://www.codeyellow.nl/

                                            Position(s): Software Developer

                                            Location: Netherlands, Eindhoven (onsite)

                                            Description: We’re looking for a senior developer to join our small team. Our specialty is complex long running projects to optimize business processes. More details: https://www.linkedin.com/jobs/view/1680683405/

                                            Tech stack: Django, Postgres, React, React-Native, Mobx, Semantic UI

                                            Contact: contact@codeyellow.nl

                                            1. 1

                                              I would advise against using random generated data inside tests but use reproducible generated data instead. Example email generator: test + counter + @email.com.

                                              Random generated data might make tests flaky, and we even reached a point where random generated data produced same email and incorrectly caused tests to fail.

                                              1. 1

                                                OTOH, random data can help you uncover more bugs, provided you know what (random) data your tests failed on. I’ve been using mimesis and so far I can recommend it.

                                                1. 1

                                                  You might like QuickCheck; it’s been ported to many languages. It’s random but reproducible (give it a seed to replay a specific run), and it has generators for specific types that test edge cases that a home-grown data generator wouldn’t. You can also write your own generators, e.g. one that makes sure email addresses are unique (I’ve had to do this one a few times).

                                                1. 1

                                                  Going to revisit an old project which suddenly is going to be developed on (Freeswitch / Backbone + Marionette / PHP). First thing is to see I can it to run on my dev setup, then if I can add some basic integration tests / e2e tests up & running.

                                                  Also try to catch up on Game of Thrones for the final episode!