Fork me on GitHub
#off-topic
<
2022-04-04
>
Cora (she/her)02:04:54

wow, anyone watching the grammys? jon batiste's performance was so amazing I couldn't stop smiling

Cora (she/her)02:04:59

blew my mind, so much joy

Chase14:04:24

I tracked it down after your mention (way more frustrating than I had hoped for in {current_year}) and that was a lot of fun! Thanks for calling attention to it

Ben Sless12:04:59

Organizational question: How would you slice the issue of gitlab ci for clojure CLI projects in a rather uniform way across an organization. One path could be a template which includes all dependencies and aliases in deps.edn and a detail gitlab ci file. Alternatively I could write a centralized yml where users could inherit various keys and configure them for their CI, including specifying the dependencies for tools inline (such as cloverage, antq, etc). The downside is it hides them and the ability to take advantage of them from users. The biggest benefit is it makes tracking changes easier. Thoughts?

javahippie12:04:20

If the centralized yml is updated, how do you ensure that you won’t break projects downstream? Is there a way to version the central configuration and allow projects to migrate at their own pace?

Ben Sless13:04:11

@U0N9SJHCH yes, you can refer to it by tag. up to me to make sure the releases are tagged

javahippie06:04:14

@UK0810AQ2 sounds very reasonable to me. There will always be a chance that configs are shadowed by the project, e.g. if you add a new config to the template and it already exists in the project file, If the template gets updated regularly and propagating the changes to the projects is desired, I would go for that solution.

Ben Sless06:04:31

That's the thing with templates, once a project is created from them, synchronizing changes becomes a chore for the project. Both will have to track changes, but one will need to just increment a revision for the template reference, while another will need to edit lots of yml and deal with horrible quoting and who knows what else

Ben Sless06:04:55

The way I think of building it is the central configuration everyone requires provides jobs which don't run by default, and you have to reach for them and run them in your CI. Then a template can include default configuration based on these

Ben Sless06:04:39

The question is what would require the least amount of code churn for developers and be both simple and easy

javahippie06:04:46

I’m not familiar with Gitlab CI, are you able to provide containers as build environments? In CircleCI I would include the defaults in build images or Orbs, if possible :thinking_face: Edit: Don’t mind this, this would not be transparent for local builds and is a bad idea when it comes to the Clojure CLI config

Ben Sless06:04:42

Some of what I'm playing with is running tools completely from CLI, saving the need to put them in the project's deps.edn. for example, you don't really need an alias for antq, you can invoke it directly from CLI

Ben Sless06:04:43

I don't provide containers, but defaults such as base image to run in, java version and more can be configured

Stuart14:04:24

Just had a job interview that was a disaster sigh

Stuart14:04:11

I dunno why people aren't just honest about what the job is, why advertise for a C# dev, then casually drop that they have VB too. Then when I ask how much of the job will actually be VB, and they say it could be 50%

Stuart14:04:27

So I just ended it there and then.

Stuart14:04:36

I'm not doing that

Asko Nōmm14:04:52

I’m actually surprised by how many jobs apparently want you do write 8 different languages, both back-end and front-end, and somehow magically be a senior with all of these things. It’s like somehow it became a norm to hire 1 person to do 8 people’s job.

Stuart14:04:13

yeah, at current job I have to do C# http://VB.NET Javascript for front end SQL Golang Powershell Possibly some PHP And I've been told we need to learn some graph-db stuff and specifically TigerGraph.

p-himik14:04:32

Because managers that are far from programming do the hiring, that's it.

☝️ 2
1
Stuart14:04:35

And I do all the devops, setting up github actions and stuff too

Asko Nōmm14:04:30

Yeah, like, “We need all of these 50 things” and “oh our budget? below market, of course”

p-himik14:04:00

To be fair, having to deal with a lot of stuff is not that uncommon, at least in my experience. And having to deal with some random non-critical VB code once a week is certainly better than to e.g. having to maintain some obscure and obtuse framework in your language of choice every day.

p-himik14:04:45

It's just that tangential "lot of stuff" shouldn't really be a part of the job description at all - as long as it's really tangential.

dgb2316:04:31

I’m surprised by how incredibly popular VB is though…

😆 1
dgb2316:04:59

Good luck at your next one!

brendnz06:04:26

I take it VB and C# are just two ways to get the same compiled code under the CLR? But then again, that is presumably the case with Java and Clojure too.

Stuart09:04:57

I have a final stage interview tomorrow and they want me to show some code I've written. My problem is it's a C# role (that's what I do day in and day out, I'm very confident in it). BUt I can't show code from work and all my personal projects are CLojure.

Stuart09:04:48

Would that be weird to show a project I've written, but in a different language ?

p-himik10:04:17

My crystal ball says: "Who knows". :D It depends on them, and I'd probably mention it in advance.

dgb2312:04:53

I would say show a project that you are proud of in any language. If you can convey the tradeoffs the good and the bad, the rationale etc. then that’s much more valuable than the language itself. If you have time and they are interested you can talk about some of the major differences in how this would be done in C# (without “bashing” on C#), maybe how using Clojure influences your usage of C# as well, this can lead to an interesting discussion even.

Stuart11:04:55

I think todays interview went well, I didn't get stuck on any questions they asked. They seemed happy enough with my answers, or at least if I got anything stupidly wrong they didn't say or let on.

🎉 1
Stuart12:04:09

Grr. Got turned down, they said I lacked enthusiasm... I have no idea what they meant by that. They said technical test was good but not good enough to overcame bad personality fit, as I lacked enthusiasm.. I have no idea what this means or how to fix it. ALso the interview that I ended less than 15 mins in also feedback that I lacked enthusiasm...

Stuart12:04:21

Am I supposed to go into these interviews and make believe that my life dream is to work at these companies ?

Stuart12:04:19

I mean, the one that I turned down said I lacked enthusiasm too... I don't get it, the interview started and the guy basically said "let me tell you about the role before we start", and then talked for about 13 mins before I interupted him and said it doesn't sound like its for me.

p-himik12:04:04

> I have no idea what this means or how to fix it. Don't sweat it. When a company needs X and doesn't exactly communicate that or even explain their vision of X - well, that's not a great sign.

Stuart12:04:58

Thing is, I'm sure they must know, when they ask questions like "why do you want to work here", that most answers they get are bullshit and people are just telling htem what they want to hear. The true answer is "because my bank insists I pay mortage!"

Stuart12:04:16

Especially at FinTech company!

p-himik12:04:22

> most answers they get are bullshit and people are just telling htem what they want to hear That is the current and sad state of the hiring market in general, yes. Two viable solutions: • Optimize not your professional skills but what the HR or whoever else responsible for your hiring wants to hear • Look for companies that don't subscribe to that crap And as a general recommendation - whenever possible, try to approach a company not from the HR side but from your contacts. It's not a guarantee - far from it - but it does increase chances of getting hired.

noisesmith18:04:46

I'm trying to remember the name of a clojure library for decoding packed bit structures (the kind of thing you find in file formats like jpeg or mp3) I thought it was a zach tellman library but I'm not seeing it on his github (now I am realizing it's probably used by aleph)

phronmophobic18:04:15

there are also other libraries that might help you interop with bits and bytes: • https://github.com/cnuernber/dtype-next/https://github.com/IGJoshua/coffi If you're specifically working on media formats, there's also https://github.com/cnuernber/avclj

noisesmith18:04:30

gloss was the one I was thinking of

noisesmith18:04:12

I am working with media formats but in a perverse way that would break the abstraction of a sane media format library

😎 1
noisesmith18:04:58

I was hand rolling a bunch of byte-seq -> bit-seq -> arbitrary bit-count int seq transformations for parsing out the raw data in mp3, but there are so many layers of "the size of this integer is derived from this other value previously parsed and the value is zero and no bits are consumed if the size is zero" that the whole thing got very messy and hard to debug

phronmophobic18:04:19

Are you sure that avclj wouldn't help with that? Not sure what you're trying to do with the data, but I think avclj might help.

noisesmith22:04:48

@U7RJTCH6J the functions in avclj go from linear data stream (grids of pixels or audio amplitude data over time) to encoded/compressed format or visa/versa. what I want is to do symbolic manipulation of the encoded/compressed format contents. for example, finding the frequency bins in the data stream, and moving the data so that the pitch is transposed by cycling the content of the bins

noisesmith22:04:42

tl;dr - weird glitch art but more precise than the shotgun approach of feeding random garbage to the decoder

🆒 1
phronmophobic22:04:39

ok, I'm not sure I follow all of that, but sounds cool!

noisesmith22:04:01

you are probably familiar with the way a compressor like zip finds repeated byte sequences and encodes them? at a similar level of "mostly true but misleadingly simplified" a format like mp3 or flv translates patterns over time into inputs to trig functions that will create the same pattern. I want to manipulate the input to the trig functions to see what pictures / sounds come out.

noisesmith22:04:38

but the decoder skips invalid data frames, so I can't just scribble on the data and see what comes out, I need to preserve a large number of invariants to get any output at all