Fork me on GitHub
#off-topic
<
2020-03-24
>
vemv13:03:09

Wondering if there's a screen filter (like macOS Night Shift) that will dim only the brightest colors of the spectrum? Especially white, but also colors in the "angry fruit salad" category Point being, to decrease contrast between a predominantly white/flashy app, and a predominantly dark app. The sudden switch can be a bit harsh on the eyes. And importantly I wouldn't want to change a bit of my IDE theme, i.e. the filter should be able to leave untouched a quite large portion of the color spectrum. Have tried various software filters, and my monitor's settings of course.

Thomas Moerman18:03:54

I sometimes wear these yellow gunnar glasses. I know, they're a bit overhyped but somehow I still like them. They also have a slight magnification. If i remember correctly they were about 50$. There are probably cheaper alternatives that work just as well.

borkdude13:03:36

@vemv I'm sure you already tried f.lux? it's configurable although I never configured it myself

vemv13:03:48

fair call, just tried out again to be sure :) sadly there's just one fader apparently

borkdude13:03:25

I can select a profile "custom colors" although I have no idea how to customize those colors

vemv13:03:16

I think that simply refers to setting a specific value of the fader --- Looks like I have to create a ColorSync profile - that's exactly what f.lux does. No idea how to achieve that.. might be a fun research :)

Mitch13:03:05

A coworker of mine wears a special pair of glasses that he says helps

👀 4
Mitch13:03:13

they are the type that are typically marketed towards gamers, I think

hindol14:03:05

@vemv What's your OS? Assuming Linux because now-a-days both Windows and MacOS come with this feature by default. EDIT: I thought wrongly that you are looking for a blue light filter.

vemv14:03:59

it's macOS... not sure macOS bundles this. From what I've found now, I'd have to craft an ICC profile (http://www.color.org/creatingprofiles.xalter ), which is what f.lux does

hindol14:03:27

Sorry, my bad. I assumed you are looking for a blue light filter.

dominicm14:03:18

Those sometimes also have a little magnifying glass in.

dominicm14:03:11

If you really care about your eyes though, just use a light (not white) theme everywhere. Make sure the brightness isn't too high.

vemv14:03:18

I've considered this kind of solution (all light or all dark) but websites will have arbitrary css anyway

dominicm15:03:45

Yeah, not many dark ones around

👀 4
dominicm17:03:58

I'm considering getting an ultrawide as an alternative to dual monitor. I normally use a single monitor, but I'm finding the 28" too tall to be able to read it clearly at the bottom. What should I know? Does anyone have experience with these and can recommend a good size/brand?

Albert Eng17:03:06

if a screen is too big, try to push the monitor further away. It helps if you have a higher resolution as well, usually there’s a sweet spot where it’s close enough to do detailed work up close, but not so big you’re moving your head around a lot to see everything that’s on your screen

dominicm18:03:44

It's 4k, but I'm working in a vm which may not be. I'll have to confirm whether that's it.

Stefan09:03:08

@U09LZR36F When looking at these monitors, my advice is to pay attention especially to the resolution in terms of pixels per inch (ppi). Last year I bought a new screen, and some of the screens that I considered (and were widely recommended) had a dot pitch / ppi rate that was almost equal to my old 14 year old 1080p screen, even though it was 4K. For me, that wouldn’t work, because I like the enhanced sharpness of 4K, it makes things easier to read. If you spread the pixels to thin, you loose that.

dominicm10:03:17

Ah, interesting.

seancorfield17:03:14

Time for new glasses? 🙂 (I have progressive lenses so I have to move my head to track screen position but have no problem reading text anywhere on my 27" monitor)

dominicm18:03:33

They're brand new!

seancorfield17:03:12

Monitor position is fairly key, IMO. I have mine raised several inches up off my desk so "mid-screen" is a comfortable resting position for my eyes/head.

dominicm18:03:06

The monitor arm I have is pretty terrible for verticals. Maybe that's the problem I'm having.

aaelony18:03:00

hopefully this isn't an abuse of the off-topic forum, but if interested my cousin (guitarist of the Funky Knuckles) is doing guitar lessons via skype so if stuck indoors due to covid, maybe improve on that guitar? https://m.youtube.com/watch?v=MbAsM7hD6OU&amp;feature=youtu.be

jjttjj18:03:02

I'm trying to implement something like emac's window system. A window can be either "split right" which creates a new window next to it, or "split down" which creates one under it. I then need to have some coordinate system, so that i can use arrow keys to navigate up/down/left/right. Is there some data structure that lends itself well to this?

Mitch18:03:30

I think a common pattern is to represent the layout as a binary tree

Mitch18:03:57

where leaves are windows and all the ancestors are either right split or down split

Mitch18:03:36

and each split keeps track of which branch is focused

jjttjj12:03:53

After a few days of messing with this, I'm kind of stuck. I currently have trees that look like this:

{:axis :|,
 :kids
 [{:axis :-,
   :kids
   [{:axis :-,
     :kids [{:axis :|, :kids [{:id "root"} {:id "d"}]} {:id "c"}]}
    {:id "b"}]}
  {:id "a"}]}
(`:-` being a horizontal split and :| being vertical) I'm navigating this with a zipper. I'm always on a window, and can split along an axis from the current location. But I'm having trouble figuring out how to do the spacial navigation (ie move to the window to the north/south/east/west of the current one). I think I'm missing the data in the tree to describe this? Do you happen to have any thoughts on what else I might have to put in the tree to accomplish this?

Mitch18:03:56

so if you select a different side of the layout, you follow the focused branches all the way down to the bottom to get your selected window

jjttjj18:03:36

interesting, thanks!

jsn18:03:07

(or you can ditch the binary part and just keep the split orientation and arbitrary number of panes in the split, and then movements are much more intuitive, imho)

Mitch18:03:58

I agree that there are probably better ways to do it

jjttjj18:03:08

would you to keep the downsplits as well as the rightsplits though?

jjttjj18:03:28

as seperate things

Mitch18:03:50

I think the binary tree is probably a simpler way to do things in the background, but that the user will want something slightly more sophisticated

jsn18:03:58

as in: if we move along the same axis as the current split and there's a neighbor in the current split in that direction, go there, else go up till you find a split like that

Mitch18:03:31

ace window is a cool ui for window selection

hindol20:03:53

Anyone know how to set up a personal blog with stasis, Asciidoc, syntax highlight etc. Found a tutorial that's quite a bit old and uses Markdown.

Alexander Heldt20:03:04

@jjttjj look at bspwm for inspiration

jjttjj20:03:04

Awesome, the charts on its github are exactly what I need to look at https://github.com/baskerville/bspwm

Alexander Heldt20:03:24

yeah it explains their thoughts on it pretty well 🙂

lilactown23:03:19

are there popular system designs other than event-driven, CQRS these days?

adamfeldman23:03:26

I’m quite curious about this as well.

adamfeldman23:03:22

Would you bundle event sourcing into what you’re thinking about? As in building systems around a log

adamfeldman23:03:14

These “Data Management” patterns may be relevant here: https://microservices.io/patterns/index.html#data-management

adamfeldman23:03:39

I also enjoy what I can find from Martin Fowler, this is one decent entrypoint into all the content there: https://martinfowler.com/architecture

adamfeldman00:03:18

Was there an underlying question that got you wondering what else is out there?

lilactown00:03:21

I’m finding it difficult to map events to a running process that I need both the status and the result of

lilactown00:03:26

it feels very low level

lilactown00:03:53

honestly I’m working on the UI side, not the distributed systems / microservices side, so it changes some of the tradeoffs

lilactown00:03:03

since all communication is in-process

lilactown00:03:12

it just gets difficult to coordinate an event, a process, and the results of that process into something that is easy to manage coherently at the application layer

phronmophobic00:03:38

are you using any libraries right now? on the UI side, there’s a bunch of options, but I can think of few libraries that have decent docs on their design • https://netflix.github.io/falcor/https://relay.dev/https://github.com/Day8/re-framehttps://elm-lang.org/https://svelte.dev/

lilactown00:03:58

I have a lot of experience with re-frame but I’ve read the docs on all of those

lilactown00:03:54

I’d like a framework similar to relay, but I’m trying to figure out if GraphQL is strictly necessary

lilactown00:03:03

the big difference between relay/falcor and other frameworks are that the way of describing the query on the cache is the same way you describe the request to get that data

phronmophobic00:03:15

it seems like one of the main goals of relay is to minimize round trips to the server. depending on your use case, that may not be that big a win

lilactown01:03:33

I’m less worried about round trips, and more about: how does a component know whether its data has been loaded into local cache or not?

slipset06:03:23

Bobby Calderwood gave a talk or two about his implementation of CQRS https://youtu.be/B1-gS0oEtYc There is even an implementation at https://github.com/capitalone/cqrs-manager-for-distributed-reactive-services

didibus06:03:03

I also find the list of behavioral and concurrency patterns can be a good source of inspiration

adamfeldman13:03:45

@U4YGF4NGM load status is one of the (many) things Fulcro is able to provide as part of its functionality, largely due to its client-side normalized database. http://book.fulcrologic.com/#_tracking_specific_loads, http://book.fulcrologic.com/#_fulcro_client_database

lilactown16:03:03

yeah fulcro uses EQL/Pathom, which again provides that coupling between request and cache query that allows much better reasoning on the in-flight status of your data

👍 4
lilactown16:03:50

ah, I didn’t know about fulcro’s “load markers”

fulcro 8
lilactown16:03:53

that’s interesting

jjttjj12:03:53

After a few days of messing with this, I'm kind of stuck. I currently have trees that look like this:

{:axis :|,
 :kids
 [{:axis :-,
   :kids
   [{:axis :-,
     :kids [{:axis :|, :kids [{:id "root"} {:id "d"}]} {:id "c"}]}
    {:id "b"}]}
  {:id "a"}]}
(`:-` being a horizontal split and :| being vertical) I'm navigating this with a zipper. I'm always on a window, and can split along an axis from the current location. But I'm having trouble figuring out how to do the spacial navigation (ie move to the window to the north/south/east/west of the current one). I think I'm missing the data in the tree to describe this? Do you happen to have any thoughts on what else I might have to put in the tree to accomplish this?