1. 2

    Oh..I need to make a proper blockchain testing.

    1. 1

      What do you mean by blockchain testing?

    1. 6

      I’m Oleg, occasionally I write about Go, would like to add more posts about unpopular algorithms and personal projects.

      Link: https://medium.com/@olegkovalov

      1. 1

        Do you mind giving a couple of examples of unpopular algorithms? That just caught my eye and I think learning something new never hurts.

        1. 4

          Glad to here :)

          I was thinking about Johnson’s algorithm, few primes algos(few my own prime sieves), union-find with additional data, well…plenty of them :D

          Well, maybe not all are unpopular, but not that common at least.

      1. 4

        I have overwhelmed myself with task during this week. Need to prioritize and resolve everything. Oh..

        1. 2

          Finishing my last week at the business team and returning to the core-team at current work.

          Contributing to different projects and suggesting changes found by go-critic.

          Pushing 1.5 projects forwards and maaaybe visiting a movie theater this week.

          1. 1

            Oh..it’s time to update docs for go-critic.

            Also I would like to push forward upcoming project for easier Go performance analysis.

            Maybe conquer few mechanical bosses in Terraria :sunglasses:

            Listen a lot of Perturbator and visit Balkan restaurant this evening :3

            1. 5

              Play Minecraft (and maybe some minetest) and Terraria with my five year old, fill up some more moving boxes, and try to get linux on my odd smartphone.

              1. 2

                What Minetest mods do you play with?

                1. 1

                  Dunno, let’s see:

                  sebboh⬢truth:~$ ls -l ~/src/minetest/mods/
                  total 0
                  lrwxrwxrwx 1 sebboh sebboh 30 Dec 30  2017 adv_spawning -> /home/sebboh/src/adv_spawning/
                  lrwxrwxrwx 1 sebboh sebboh 33 Dec 30  2017 animalmaterials -> /home/sebboh/src/animalmaterials/
                  lrwxrwxrwx 1 sebboh sebboh 33 Dec 30  2017 animals_modpack -> /home/sebboh/src/animals_modpack/
                  lrwxrwxrwx 1 sebboh sebboh 35 Dec 31  2017 loyall -> /home/sebboh/src/loyall-minetest-mod
                  lrwxrwxrwx 1 sebboh sebboh 27 Dec 30  2017 mobf_core -> /home/sebboh/src/mobf_core/
                  

                  Wow, it’s been longer than I thought since I touched this. The loyall-minetest-mod is locally developed. It implements a “stereo” item that can be placed, which plays music. You can toggle the music on or off by ‘hitting’ the block.

                  Doing this helped my son understand what a programmer does, I think. He immediately asked me to implement vehicles and other non-trivial things. :)

                  Since I’m talking about it, I might as well publish it. Note, there’s nothing in here that wasn’t cribbed from other existent mods. Except for the stereo/record player artwork, which was derived from photos of actual equipment in a way that I believe is fair use. You’ll note that the stereo is actually two distinct blocks placed next to one another, one of which is inert… :) It’s really just a proof-of-concept.

                2. 2

                  Hah, also have big plans for Terraria this weekend ;D

                  1. 2

                    So…we (my friend and me) have conquered almost all bosses ;D

                    1. 1

                      We had a set back this weekend… we lost our flying piggy bank due to a save error and/or cloud sync error. Steam on GNU is not really stable…

                      1. 1

                        oh :( do you play via standalone server? looks like it’s more stable

                        1. 1

                          I start Terraria on two computers with this invocation: steam steam://rungameid/105600, and then on one I select the Host & Play option, and I set the Steam Multiplayer option to ‘disabled’. Then on the other computer, I select Join by IP, and I provide a hostname (not FQDN, but it exists in /etc/hosts) and a port (the default).

                          Hm, some games have ‘headless’ servers. Is that what you’re referring to? Is that an option?

                          I do have the ‘save to cloud’ option selected for our players and worlds.

                          I may be mis-remembering the specific strings used to identify each menu option, sorry.

                          I think I caused the inventory items to be lost when I terminated a process. …Because it was just sitting there taking up CPU after we were done playing. My machines to literally nothing, not even update an on-screen clock when they are idle, so you can always tell when something is still running, because the fans become audible at all. So, I killed the Terraria and Steam processes…

                          1. 2

                            Hm, some games have ‘headless’ servers. Is that what you’re referring to? Is that an option?

                            yep, I’m referring to headless server. See Dedicated server at the bottom of the page: https://terraria.org/

                1. 5

                  I’m working on my book, Practical Elm for a Busy Developer.

                  1. 2
                    1. 2

                      Yes, thanks! Clearly time for a break.

                  1. 6

                    Need to make stabilisation of a few checkers for https://github.com/go-critic/go-critic

                    Have an idea for hyped blogpost(Go+Wasm), want to make a service not a tutorial at the end.

                    Hopefully will continue working on my personal SaaS :(

                    1. 6

                      This weekend I’m preparing a blogpost about new go-linter(and also adding few additional linters as-well). Basically my friends and me going to create an easy linter-sandbox for the community. We’ve made almost 20 linters atm and going to add few more.

                      1. 3

                        For me versioned std lib is the most powerful change in Go. Will be happy to see this in a few years.

                        1. 4

                          Going to finish small websocket to kafka project.

                          1. 2

                            But don’t forget that Binomial and Fibonacci heaps have bigger constant factor and aren’t cache friendly data structures.

                            1. 3

                              Creating a simple Go appengine service with datastore as a db for future project. Starting from CRUD, than adding integrations to Slack/Github.

                              1. 2

                                lmk if you have any questions/issues. The product I’m developing right now uses Go appengine with datastore and an Elm frontend.

                                I’m a big fan of the dev_appserver

                                1. 1

                                  dev_appserver

                                  yeah, dev_appserver is a beast and works like a charm :)

                                  I had an issue with context.Background(), before I’ve found solution appengine.NewContext(r) (r is a http.Requset).

                                  And one more: moving away from datastore.Client, ’cause cloud.google.com/go/datastore and google.golang.org/appengine are unequal things.

                              1. 3

                                It’s a mistake to write O(log32(n)) ‘cause logarithm base doesn’t matter in terms of big-Oh.

                                1. 3

                                  engineers apart from non-engineers

                                  • fire & ice

                                  I want the opposite, probably just as strongly.

                                  Everyone involved in a particular effort should be located as close as comfortable. This could mean anything from a war room, to adjacent offices, to all on the same chat room— depending on the organization, working styles, and other constraints. But I mean operations, testing, programmers, analysts, managers, et al. all together with as little special preference as possible.

                                  That said, there’s a difficult balance to be found in having, say, two engineers working on the related components adjacent to each other vs. cross-pollination like having your neighbor working on the front-end and you’re on the back-end…

                                  But, every time I’ve seen managers all off on one side; engineers all off on the other; and operations off in another building, I knew I’d have the “pleasure” of wasting some large percentage of my working hours on a toxic environment.

                                  We all have our own experiences and dreams born from them.

                                  I could be misinterpreting TFM and what author means by “non-engineers.”

                                  1. 3

                                    I’d take co-located end-users as the ideal. I only got to do it one project, but it really changed everything.

                                    1. 2

                                      I think non-engineers refers to the sales/support/marketing side of things. At least that’s how I interpreted it.

                                      1. 1

                                        By non-engineers I meant product managers, tech writers, UI/UX designers. From my observations their job is very communicative(not only chats/wikis) and it’s quite hard to be concentrated on some stuff. Maybe this is just my friends and me who’ve some troubles with a noise. (sorry for the late response) UPD: I agree that having someone closer to end-users is productive, but anyway.

                                        1. 2

                                          Thank you for clarifying. We definitely disagree.

                                          But, I definitely empathize as a response to disruptive teammates. I say this, too, having been a disruptive teammate before…

                                      1. 15

                                        What’s described isn’t a company, it’s a software project.

                                        1. 3

                                          Multiple projects with the same rules == company, isn’t it?

                                          1. 4

                                            Nope. I’m part of consulting company, so the “rules” in our project widely diverge, as we often support external projects.

                                            1. 3

                                              From what I know about Thoughtworks, they meet a lot of these requirements, and also are a mainly consulting-based company. Sure it’s a lot of work to ensure you can enforce your requirements when working with clients, but it probably pays off in the long run.

                                              1. 1

                                                Thoughtworks is often “we do the whole project from you”-consulting, because that sounds nicer then “team-selling”. We consult for specific technologies and are just 10 people, spread over 5 projects, most of the time.

                                                Sure, it makes sense, and they can do that, but I enjoy solving hard database problems where people have direct issues, I’m not gonna enter their building and start by introducing new development methodologies first. (unless they may be a source of the problem)

                                              2. 2

                                                Everything I wrote was about internal software projects, so I scaled this to the company. Maybe I’m wrong with these assumptions.

                                            2. 1

                                              This. I’m slowly thinking about career direction and while technicalities are interesting, the foremost thing is the business model and people - is it something I’m morally okay with? Do the people have a DNA where I feel like “the worst drummer in the band” (I.e. a feeling that I’m learning)? Will the work be spread such that I’m not just assigned things nobody else wants to do?

                                            1. 8

                                              I tried introducing a git submodule with one project and it went very poorly. I would definitely not want to see a whole company organized with them.

                                              That said, I 100% love the weather is a great reason to work from home :)

                                              1. 5

                                                Agreed, I would much rather a monolithic repo with everything to do with your product than annoying submodules that are hard to fork and integrate.

                                                1. 1

                                                  Really? I’m working with a couple of large open source projects that have everything in a single repo and it’s a pain every single time I fetch or pull from the upstream.

                                                  1. 2

                                                    In my experience if you try to split up your product repo forking becomes a huge pain in the ass. Especially if you do a fork per feature/fix and the changes span more than one project.

                                                2. 1

                                                  Can you provide more details? What problems have you encountered with submodules?

                                                  1. 4

                                                    I think the hardest part was having to educate my team on cloning recursively & moving around. If you git checkout to a hash that has a different submodule, you get a dirty git state which is really weird. So you’ve got to git checkout && git submodule update or something, which is also confusing for people who aren’t expecting it.

                                                    1. 2

                                                      Ah, got it. I thought problem was related to tech debt/duties(aka non-human)

                                                      1. 2

                                                        Right, but a whole company organised around them wouldn’t have that problem, since everyone would be familiar with them after a short adjustment

                                                        1. 2

                                                          People will still forget, and recovering from a single, momentary, monday-morning brain-fart is unintuitive when you’ve got submodules complaining about conflicting hashes and dirty states. It’s an ongoing productivity suck that provides very, very little benefit.

                                                        2. 2

                                                          Merge conflicts are a nightmare too, unless I was just missing something when I used them. A hash is nice for computers but not so nice for humans.

                                                          1. 2

                                                            I prefer using subtrees over submodules.

                                                      1. 42

                                                        Some of the ones I personally look for:

                                                        • Are the perks technologists get universal? If I have unlimited vacation, does everybody in the company get unlimited vacation, or is support treated like second-class citizens?
                                                        • Are benefits and salary transparent? Do I know how much everybody makes, and how that compares to the industrial average? Do I know what percentage of the company “ten shares” is? If we don’t have matching 401(k), do I know why?
                                                        • Are we appropriately handling issues of diversity and conduct? Does our hiring practice or work culture avoid implicitly discriminating against women and minorities? Nobody’s using “your mom” or “cafebabe” as strings in unit tests, right?
                                                        • Is there a process in place to handle abusive or aggressive coworkers? If a project manager made ten people cry and two quit in protest, will he be fired and not promoted?
                                                        • Are physical and mental health issues treated appropriately? Will anybody have problems if I go on a 20 minute walk? Will people respect my triggers or think they’re a joke?
                                                        • Can you guarantee that I’ll never, ever hear someone say “coding rockstar” unironically?
                                                        1. 4

                                                          Good points, thanks for your feedback. Can you explain ‘’‘people respect my triggers’’’ more detailed, please? I think I’m missing something.

                                                          1. 9

                                                            Generally it means: if you know I get upset about something, don’t bring it up when you don’t have to.

                                                            1. 1

                                                              Like what? Name some of your sensitivities, because I’ll be honest - my first thought was “or you could just man up, and learn how to deal with the fact that people don’t have to maintain lists of all the sensitivities people are trying to avoid.” But then I realised I’m not even sure what you mean.

                                                              So please understand that I’m not trying to berate you or flog you, not personally. Just that something about what you said just gives me the creeps. I hope I am allowed to say this because I am not talking about you. I am talking about the general idea that the universe owes anybody anything. It doesn’t. Neither do people. We can say that treating others with respect should be mandatory, but let’s be honest. It isn’t. Safe spaces are a reaction to this. In my opinion, these are toxic.

                                                              The planet is full of jerks. There’s also a rise of a victim-based mindset, soft spots must be avoided at all costs, hurt is blamed on the other, and heck, even saying “man up” is called sexist nowadays. We have these idiotic terms like “mansplaining”, people are placing blame all over the place, and criticising anything can instantly get you banned on social media groups.

                                                              “You’re either with us, or you’re with the terrorists” is what GW Bush once said.

                                                              I wish I had the vocabulary to explain what irks me about this and to explain what is wrong about this. But I don’t. I guess it comes down to one thing for me: I have always felt like bedng treated with respect by someone is a privilege, not a right. And to be honest, I feel more comfortable with this than with the social justice warrior / safe space mentality. So no, I think what you ask is a privilege, not a right. You can’t / shouldn’t be able to demand that people will avoid to talk about subjects that might bother you. On the other hand, you also don’t have to listen to what anyone says. You’re free to respond in whatever way you want. For me, the line that shouldn’t be crossed is with physical violence, or the threat of it, and there are a few other things that may cross the line. Sexual intimidation, to name one. Then again - this actually already fits into the “threat of physical violence” category, come to think about it.

                                                              Arbitrary restrictions of free speech will create the biggest chilling effect otherwise, so I think it goes too far to demand from anyone that they must avoid anything.

                                                              I hope people get what I’m trying to say, and hope no one takes this personally - I’m a bit allergic to the pro safe space mentality, but I am not trying to personally attack anyone here whose views are different from my own. Talking about triggers. I just guess this is one of my own.

                                                              1. 9

                                                                Maybe it’d help to hear one of my personal experiences with this. I’m a pretty mentally unstable person, for various reasons, and I treat it with extensive therapy and psychiatry. One of the ways this manifests is I have trouble handling the “Happy Birthday” song. It’s hard to describe exactly; the shape of people’s voices funnels into a punch to the gut that makes me feel trapped and in danger and need to escape.

                                                                At my company everybody sings happy birthday on your birthday. And for everybody else, that’s fine! They shouldn’t have to ruin the day just because I don’t like the song. I’m a big boy, I can quietly excuse myself for the singing or hang around the corner and look uncomfortable. But if it’s my birthday, and they’re singing to me… the world bends and everybody has razor sharp teeth and the panic kicks in run run they want to kill and eat you too close TOO CLOSE

                                                                So I ask them not to sing on my birthday and they think it’s weird but respect that. That’s what I mean by ‘respect my triggers’. I’m not asking anybody to bend over backwards for me, I just recognize that there’s a part of me that’s distorted and unstable and that sometimes, I may not have a rational motive behind a sincere request I make.

                                                                1. 1

                                                                  Understood. I can totally respect that. Thanks for explaining. Or as we say with No Agenda (the podcast): Tyfyc. Thank you for your courage.

                                                                2. 7

                                                                  I have always felt like bedng treated with respect by someone is a privilege, not a right.

                                                                  I don’t know about in general, but I’d expect it in a workplace setting at least. Coworkers don’t have to like each other or be friends (I don’t even necessarily like workplaces that try too hard on the “we’re all friends” thing with lots of social outings), but I’d expect some degree of professionalism and collegiality while actually at work.

                                                                  1. 1

                                                                    Well, yeah, of course I agree. But at the same time (in my expecience at least) the most rigid place where you have to earn to be treated like one of the team - and are considered a douche if you’re a similing, friendly, considerate person most of the time - is the workplace. Especially between my 16th and 26th it felt like this. Asking for anything felt futile in that period. For the most part I felt like the only thing I could do to gain a moderate amount of respect was to get old and bored with life, and shut up otherwise. It’s probably not like this everywhere, but I think it does apply to most places here in the Netherlands. If you stick your head out the crowd, especially by wanting to be treated in a certain way, is one of the surest ways to losing your job. I don’t like this culture at all, but it is what it is, and “don’t try to change it” has always been our culture’s motto, in a sense.

                                                                    Bedng

                                                                    (urgh. That’s one ugly typo I made.)

                                                                  2. 6

                                                                    I guess it comes down to one thing for me: I have always felt like bedng treated with respect by someone is a privilege, not a right.

                                                                    Surely the irony of what you just said, and what you espouse on your profile is apparent to you?

                                                                    Musician, writer, poet, annoyingly optimistic, respecting all life, pizza, and other stay at home parents relinquishing careerly life.

                                                                    Like what? Name some of your sensitivities […]

                                                                    Not sure what that’ll achieve in this thread, considering we’re talking about the principle in abstract and not literal line items. I’m more than happy to let you know my triggers in advance of any professional interactions–if we actually worked together.

                                                                    Arbitrary restrictions of free speech will create the biggest chilling effect otherwise

                                                                    Let’s for the moment forget the fact that we already have arbitrary restrictions of free speech in “Western democracies” (no need to bring up authoritarian governments as strawmen arguments), why does it even matter?

                                                                    This argument about “chilling effect” follows from an inane logic that one ought to be able to voice whatever opinion they want. Why? What good does that do? Sure, you can say that the grass is purple and the sky is zebra. What’s the point? What does that even mean? There’s infinite many speech that can be voiced, but add absolute zero value. Likewise, there are infinite many speech that can be censored while reducing absolutely zero value.

                                                                    There’s a happy medium somewhere between “censoring everything” and “not censoring at all”. Extremist positions are rarely tenable in the real world, thankfully.

                                                                    So no, I think what you ask is a privilege, not a right

                                                                    If it’s a privilege, as you say, then that means some authority can grant that privilege. So, why not the employer in this context?


                                                                    If I can use your own word, what “irks” me about your post is that you made a bunch of pontification and gesticulation while not making any logical sense (in short, your conclusion does not follow from your premises). Do you realize that what you said in one sentence is in direct contradiction with another sentence?

                                                                    Take, for example, what I just quoted above. You say that it’s a privilege, not a right. That implies the privilege can be granted. And that’s precisely what we’re talking about here. The granting of such privileges in a professional setting. No one is expecting this to be enshrined in some UN Declaration of Human Rights.

                                                                    1. 4

                                                                      (This is a deeply personal comment, and in no way, shape or form do I expect my experience to generalize. Nevertheless, my experience—for good or bad—forms my outlook on life and how I choose to interact with others.)

                                                                      I was raised in an environment where “man up” was said frequently, both to me and by me. Perhaps it’s a rationalization, but I think I’m better off for it. Complaining or crying was completely unacceptable. “Are you hurt? Do you need me to call 911?” I’d reply, “No” of course, and I’d get, “Then stop your complaining/crying/whatever.” And for the most part, I did, and it worked. On top of all this, when I was real young, I was bullied. A lot.

                                                                      When you put that all together, I (very fortunately) learned real fast that the only way I was going to live a fulfilling life was if I took responsibility for my own emotions. I wasn’t going to let someone else’s words ruin my day. And thankfully, I mostly did just that, although I’m not perfect at it. Words still hurt sometimes, it sucks, and then life goes on. I hold this philosophy to this day. I can’t really advocate for it, though, because it’s a deeply personal choice (perhaps not even a choice at all!) and I don’t really know how effective it is for others. Certainly, I know others have a similar practice, so I at least know the sample size is not 1, but still, you can’t just tell someone to “suck it up” if they aren’t already predisposed to that way of thinking.

                                                                      With all that said, I found your comment to be strangely off point. “Safe spaces” gets a lot of press on Twitter and perhaps on some college campuses, but the reality is a lot simpler than that. If someone is going to hurl an insult or make a comment that is too personal, all you need to do is ask, “Could you phrase that more productively?” Or perhaps, “What were you hoping to achieve with this?” Now, some people really are just trolls and want to watch the world burn, and whether they’re playing that as an act or not, I find them absolutely contemptible. But thankfully, most in my experience aren’t like that and they probably just didn’t mean to say something that you thought was unproductive. Most folks just apologize and move on.

                                                                      I have similar emotional reactions as you to words like “trigger” and “safe place.” They aren’t words I like using, precisely because they do play up the victim mindset (from my perspective, at least), and that’s just not my cup of tea. However, I do strongly believe in some of the ideas that those words tend to encapsulate, like respecting your fellow human. Someone doesn’t need to “earn” my respect. They get it by default because I want others to be their best selves. If I start playing some “earn my respect” bullshit with them, then all I’ve succeeded in doing is 1) started mind games with them and 2) put up barriers to collaborating with their best selves. At a minimum, I am going to be nice to people as best as I can. I don’t always succeed, and I apologize when I’ve failed. But I try. And you know what? I’m not afraid to say that it’d be nice if other people did the same. It’s the minimum we can do to ensure an open exchange of ideas. You can talk about free speech all you want, but if you encourage insults or jerky behavior (or perhaps more realistically, don’t discourage that behavior), then you wind up with a situation where people are afraid to stand up and speak their mind. That’s a bad thing. Whether it’s because they’re not able to “suck it up” or not does not matter.

                                                                  3. 1

                                                                    TDD - It Really Works

                                                                    I beg to differ. This is a baseless claim.

                                                                    1. 2

                                                                      This is just my personal experience, but I would say it’s a night and day difference between companies that TDD and companies that don’t.

                                                                      In my first week at a new I’ve fixed two long-term bugs (one was four years old, one was three months) that would never have made it into production had they been tested. They’re little things that a fully-fleshed out testing suite would’ve found.

                                                                  4. 2

                                                                    This…this is a great list. Does anyone know of any such companies?

                                                                    1. 1
                                                                    2. 1

                                                                      Can you guarantee that I’ll never, ever hear someone say “coding rockstar” unironically?

                                                                      My place of work nailed all your points until this one. Thankfully it never came from the development team itself.

                                                                    1. 3

                                                                      I’d like to recommend Competitive Programming by Steven Halim https://cpbook.net/

                                                                      1. 2

                                                                        Benchmarks are too…simple https://github.com/squeaky-pl/japronto/blob/master/benchmarks/japronto/micro.py https://github.com/squeaky-pl/japronto/blob/master/benchmarks/golang/micro.go

                                                                        and also: ‘To be fair all the contestants (including Go) were running single worker process’

                                                                        1. 3

                                                                          I mean, they did state as much in the text. And with only one graph, and that stark a difference, it’s obvious to any reader that they stacked the deck in their favor.

                                                                          I am certainly curious to see more robust (or at least more interesting) benchmarks, but I doubt I’d have that curiosity if their one benchmark hadn’t overpromised in that way.

                                                                          1. 2

                                                                            I’m not saying that this is senseless lib or they lie about performance. But given benchmarks are too simple IMO. By example bench their lib with Github routes would be much more interesting, by example: https://github.com/julienschmidt/go-http-routing-benchmark/blob/master/github_test.go Or adding sleeps for each request, to see how it’s behaves not as a simple echo.