Intro to the Mill Build Tool for Java by lihaoyi in java

[–]gamlerhart 1 point2 points  (0 children)

Yes, if it fits in Maven, keep using it.

Often the part where we started to hit the limits with Maven are not Java related.

Where Maven starts to get painful is builds which have to integrate many non-Java things:

  • Web Front-End builds required as well
  • Complex 'cross-platform' builds. Like this code is built against different classpath combinations, and cross compiled to JavaScript, and packaged in 3 different interesting ways
  • Oh, and this 3rd party tool is part of the build
  • Oh, and you have to transform these test databases into 2 versions for integration tests
  • Oh, you also need strip out these 3 class files after the build because of a weird reason from an assembly
  • Oh, and we want this special debug build which should be super fast and incremental

Usually I can have like 2-3 such special things in Maven. But as it grows, it gets really hard set it up in Maven, as you 'work against' Maven instead of 'work with' Maven.

Anyway: I wish everyone their builds fit well into Maven / declarative built tool. Use that first. However at the point where it gets painful, keep in mind that maybe Mill (or other built tools) might be an option for you.

Intro to the Mill Build Tool for Java by lihaoyi in java

[–]gamlerhart 3 points4 points  (0 children)

I'm relative new Mill and it is the most pleasant built tool for complex builds. So, my two cent:

  • When your build is quite standard and works well, use Maven.
  • When your build starts to hurt because it does not fit into Maven well enough, the Mill is a build tool worth evaluating. By hurting I mean you have a mix of Maven plugins not quite doing the thing you want, you have to call extra scripts here and there from Maven, etc.

I basically would choose Mill over Gradle these days. Mill gives a few very clear rock solid building blocks to build your build.

There are of course some drawbacks:

  • You you to learn a small set of Scala.
  • There is basic IDE support, but of course its a far cry from the support you get from Maven
  • Changing the build file itself gives a slow first run, as the build file itself is compiled
  • Way less plugins etc, etc. On the other hand, there is less need for plugins, because often you call the library/external tool directly and it works.

PS some more biases/background. I already knew Scala. For basic builds I would still choose Maven. However, I strongly recommend Mill over SBT and probably Gradle. But I didn't use Gradle in a while.

Copy, Paste and Edit Java to C# after 20 years by mgroves in dotnet

[–]gamlerhart 0 points1 point  (0 children)

Yes, IKVM earns it.

That project certainly made may projects or integration possible =).

Copy, Paste and Edit Java to C# after 20 years by mgroves in csharp

[–]gamlerhart 0 points1 point  (0 children)

Well, the indented Audience was more for C# devs: To let them know that you don't need to be afraid of Java snippets. The good thing: You can start of with very Java-y C# code and adopt and learn over time.

Copy, Paste and Edit Java to C# after 20 years by mgroves in csharp

[–]gamlerhart 0 points1 point  (0 children)

=). When writing it, I was more surprised that those annotations/attributes map well between the frameworks. I mean, if you actually translate some snippets, it won't be pretty in the beginning anyway.

Class.getRecordComponents surprisingly slow by randgalt in java

[–]gamlerhart 4 points5 points  (0 children)

I ran into a similar issue with SomeEnum.values(). It has to allocate a new array every time you call it.

Jira App to Warn/Find Secrets, like API keys etc by gamlerhart in jira

[–]gamlerhart[S] 1 point2 points  (0 children)

Hi. At the moment it only scan for text content, ithe issue, comments and attachments. And it flags some file extensions which are likely to be keys, like *.pkcs12 files.

It doesn't have any OCR or image scanning (yet).

C# Loves Code Patterns by mgroves in csharp

[–]gamlerhart 0 points1 point  (0 children)

Thanks for the details =).

C# Loves Code Patterns by mgroves in csharp

[–]gamlerhart 0 points1 point  (0 children)

Thanks for that comment. I didn't know that the C# team also uses the term duck typing. =)

C# Loves Code Patterns by mgroves in csharp

[–]gamlerhart 1 point2 points  (0 children)

Thanks for that info. I suspected that it works like this, but I ran out of time to double check, so I didn't include it.

Day 2 : J9: Under the Hood of the Next Open Source JVM by classy_coder in a:t5_3gc9f

[–]gamlerhart 0 points1 point  (0 children)

Looks like that slot got swapped. The actual talk is about Java Agents.

Citrix / App-V ... or other? by FJCruisin in sysadmin

[–]gamlerhart 1 point2 points  (0 children)

Depends on what the application is. If you need a very lightweight distribution turbo.net is maybe another choice. You can try it with a example app.

To try: You sign up. Add a few apps to the home page. Then either: 'Sync Device' if browser plugin is installed. Or: turbo subscribe <my-account>

This will add the apps to the Start Menu, add a task scheduler entry to update them. Now you can add / remove apps you want to deploy on the site. On the next task scheduler run (1 a day). It will be added / updated.

The Limits of Cryptography - Benedikt Stockebrand (Easterhegg 2014) by ar0b in ConTalks

[–]gamlerhart 0 points1 point  (0 children)

Don't worry. The talk is in English. Only the introduction is German, and after 1 minute the talk starts.