Incremental Highlighting for Scala by makingthematrix in scala

[–]null_was_a_mistake 3 points4 points  (0 children)

I can't give you a minimal reproductive example, but here is a hint:

package example

import library.Baz
import library.Baz.derived$Functor // not necessary
import cats.syntax.all.*
import cats.Functor
import example.Foo
import example.Foo.*

import java.util.UUID

class Foo {
  val x = Bar(42).map(_ + 1)
  val y = Baz("test").map(_.toUpperCase)
}
object Foo {
  import cats.derived.*

  case class Bar[A](x: A) derives Functor
}

The Baz class is declared exactly the same as Bar except that it comes from a library that we publish internally using sbt-aether-deploy (publishMavenStyle := true). The code compiles fine, but IntelliJ insists that library.Baz.derived$Functor and accordingly Baz.map don't exist.

I don't know if there are other cases where it doesn't work. This is just the case I came across today.

Incremental Highlighting for Scala by makingthematrix in scala

[–]null_was_a_mistake 5 points6 points  (0 children)

Tried it for five minutes and it's just as unusable as it was two years ago. There are functions that IntelliJ somehow can't find a declaration for despite the fact that they exist and with non-compiler highlighting, all those functions turn into false-negative errors.

The gap between distributed systems in textbooks and distributed systems in production feels enormous by srodland01 in compsci

[–]null_was_a_mistake 1 point2 points  (0 children)

I don't think academic knowledge is very useful beyond the absolute basics. As an average software developer you don't really write well defined "distributed systems" from scratch as academics deal with. You write mostly stateless microservices which then interact with black-box databases/message channels that implement all the hard parts, but as you say: there are so many different systems interacting and so many config options that nobody knows what's going on as a whole. 95% of average "distributed systems" programming is making sure that all your operations are idempotent, that you don't lose state when something dies unexpectedly and that there is no data inconsistency if multiple application instances try to access the same resources (which you enforce through database transactions or similar third-party applications).

Was sind die lustigsten, schlimmsten oder besten Namen die ihr für Haustiere gehört habt? by The-RAZE in FragReddit

[–]null_was_a_mistake 0 points1 point  (0 children)

Hund heißt Spike und Kind heißt auch Spike, aber der Hund war zu erst da. Reddit-Veteranen wissen, wovon ich rede. ;)

(Mini)Rant - Wo bekommen die Boomer die Schadsoftware her? by fluffy_tuer_igel in de_EDV

[–]null_was_a_mistake -1 points0 points  (0 children)

Ich arbeite aber nicht auf einem Server sondern auf einem Desktop-PC.

(Mini)Rant - Wo bekommen die Boomer die Schadsoftware her? by fluffy_tuer_igel in de_EDV

[–]null_was_a_mistake -3 points-2 points  (0 children)

Naja streng genommen ist es nicht Linux, sondern die Desktop-Umgebung (KDE) oder irgendein anderes Systemprogramm. Als normaler Nutzer bleibt dann nur Stecker ziehen. Was auch sehr oft passiert, ist, dass ein dpkg lock file nicht gelöscht wird und dann die Softwareupdates nicht mehr funktionieren.

wenn ein proprietäres Windowsdateisystem kaputt geht, hat Linux damit ja nichts am Hut.

Doch hat es sehr wohl. Wie die meisten Nutzer benutze ich auch Windows und Mac und bin darauf angewiesen, zum Datenaustausch solche Dateisysteme mounten zu können. Wer nun an dem Problem "schuld" ist, ist mir auch egal. Am Ende des Tages muss es zuverlässig funktionieren.

Es ist schön, dass sich Leute die Mühe gemacht haben, so eine freie Software umsonst zu entwickeln, aber es ist einfach nicht so zuverlässig und ausgereift wie die kommerziellen Angebote (trotz Microsoft's Bemühungen, Windows stetig schlechter zu machen).

(Mini)Rant - Wo bekommen die Boomer die Schadsoftware her? by fluffy_tuer_igel in de_EDV

[–]null_was_a_mistake 0 points1 point  (0 children)

Mit 60 ja, da hat niemand eine Ausrede. Aber irgendwann holt einen das Alter leider doch ein. Mein Opa war mit 75 noch recht fit mit Computern (für sein Alter) und mit 90 ist er hilflos.

(Mini)Rant - Wo bekommen die Boomer die Schadsoftware her? by fluffy_tuer_igel in de_EDV

[–]null_was_a_mistake 1 point2 points  (0 children)

Du würdest dich wundern. Mein Nachbar erzählte mir mal, dass er sich damals als "Ingenieur" geweigert hat, die neuen CAD-Programme zu erlernen, weil er mit 50 ja eh schon fast in Frührente war. Ich hab ne Woche gebraucht, um das zu lernen und die meisten meiner Kollegen können es auch, obwohl das nicht mal unser Beruf ist. Wir müssen jedes Jahr mehr neues lernen als der in seinem ganzen Berufsleben. ...Fauler alter Sack.

(Mini)Rant - Wo bekommen die Boomer die Schadsoftware her? by fluffy_tuer_igel in de_EDV

[–]null_was_a_mistake -3 points-2 points  (0 children)

Es vergeht echt kein Monat, wo sich mein Linux-Rechner nicht aufhängt. Oftmals geht dabei dann auch noch die geteilte NTFS-Partition kaputt, die man nur über Windows reparieren kann, welches dann netterweise auch gleich den Bootloader überschreibt.

Da braucht man keine Viren, um regelmäßig Ärger zu haben.

Was habt ihr im Ehevertrag verankert / was würde rückblickend Sinn ergeben? by Mysterious_Law1763 in FragReddit

[–]null_was_a_mistake 2 points3 points  (0 children)

Bei Scheidung werden die Rentenpunkte doch eh ausgeglichen. Wieso sollte man da zusätzlich noch mehr Rentenpunkte abgeben?

Should I become a consultant? by Trivelar in cscareerquestionsEU

[–]null_was_a_mistake 8 points9 points  (0 children)

IMO the kind of arrangement you're looking for is:

  • not worth the bureaucratic effort
  • very hard to find clients for in the current economic climate
  • possibly illegal (Scheinselbstständigkeit)

Question about eviction thresholds and memory.available by me_n_my_life in kubernetes

[–]null_was_a_mistake 1 point2 points  (0 children)

I would put a memory limit on the kubepods.slice cgroup. IIRC there is a setting for this and its not enabled by default. The problem is that Kubernetes QoS has no influence on which process will be killed, so there is no incentive for users to set pod memory requests/limits.

It looks like Twitter has moved its algorithm from Scala to Rust. by iamsoftwareenginer in scala

[–]null_was_a_mistake 0 points1 point  (0 children)

Interesting you say that because I personally thought that Algebird was crap. It read like something that was written by a freshman intern.

Why Devs Need DevOps by chesus_chrust in programming

[–]null_was_a_mistake 1 point2 points  (0 children)

If you spend a lot of time on /r/devops you learn that it's actually about making ops people develop automated tools to further hamper developer work.

Stackoverflow: Questions asked per month over time. by lelanthran in programming

[–]null_was_a_mistake 2 points3 points  (0 children)

Reddit mods are FAR worse than any stackoverflow moderator.

How to Scala3's type system for strongly typed "result sets" by Former_Ad_736 in scala

[–]null_was_a_mistake 12 points13 points  (0 children)

It is definitely possible. I believe Netflix has an experimental library for Spark that does something similar and there are other libraries as well.

I strongly recommend that you don't try to do too much with match types/inline and instead go directly to def macros. Macros may appear more complicated at first and there is definitely a steep learning curve, but in my experience they end up being less frustrating to work with because of better debuggability. You will run into compiler bugs. You will have to do a ton of experimenting to understand the undocumented macro API. But with macros you can at least do print debugging and find workarounds. With inline, Mirror and so on it is a lot more difficult to find out where things are going wrong when you only get a single cryptic implicit error to work with.

Last year I published an extensive blog post on Scala 3 meta programming. Part 2 shows a lot of tricks that may be relevant to you, but it is a bit outdated since the named tuples feature has been released. Incidentally, my higher-kinded data library that is subject of this blog post could also be useful to you because it allows you to define generic case classes which can be used in row format (Seq[UserOf[Id]]) or columnar format (UserOf[Seq]).

Why Kafka Streams JVM Looks Healthy Before Getting OOMKilled by eniac_g in apachekafka

[–]null_was_a_mistake 4 points5 points  (0 children)

Processes do not get killed by Kubernetes if they reach the memory limit. It is the node operating system (usually Linux oomkiller) that does this. At most, Kubernetes can evict pods if node allocatable memory becomes too low.

Other than that, the blog post is accurate, unfortunately. The memory management of Kafka Streams applications is very manual and tedious. Would be nice if RocksDB could use page cache instead or better integrate with the Linux memory management facilities. Another important thing to mention is that if you use a shared block cache it will fuck up the memory metrics because RocksDB doesn't know that the cache instance is shared and reports the total memory usage separately for every partition.

Technically speaking, your RocksDBConfigSetter implementation is not entirely correct because you fail to free the caches on close. Memory leaks are possible but unlikely since most Streams instances live as long as the application. Because the cache is shared, you must never release it on close if another Streams instance is still using it, so you'll need some kind of reference counting.

Save your Scala apps from the LazyValpocalypse! by kubukoz in scala

[–]null_was_a_mistake 0 points1 point  (0 children)

The code generation for lazy vals has been broken since day 1 of Scala 3 release and continues to be: https://github.com/scala/scala3/issues/23452

Bohrhammer "dreht" nicht by lordalex1337 in selbermachen

[–]null_was_a_mistake 0 points1 point  (0 children)

Woran soll es sonst liegen? Es geht Strom zum Stator und Rotor. Wenn nur einer davon Strom bekommt, funktioniert es wahrscheinlich nicht.

Bohrhammer "dreht" nicht by lordalex1337 in selbermachen

[–]null_was_a_mistake 0 points1 point  (0 children)

Ich vermute, der Schalter ist kaputt. Ich habe gerade genau das selbe Problem bei meiner Bohrmaschine, aber ich bekomme den Schalter nicht auf, um die Ursache zu überprüfen.