News for hackers. Stuff that matters.

sedro

Re:Rating 26 years of Java changes on Saturday October 11, 2025 @07:10PM (#45553540)
That's another gotcha-- interning of strings and boxed primitives.

Are there linters for this sort of thing? I don't write Java much any more.

Re:Rating 26 years of Java changes on Saturday October 11, 2025 @04:52PM (#45552587)
Autoboxing's evil twin, auto-unboxing should knock the score down a few points.

  Integer a = null;
  int b = 42;
  if (a == b) {} // throws NullPointerException
Re:A Better Maybe for Java on Saturday February 08, 2025 @02:02AM (#42981052)
It's useful and very common to use. For example, you could concatenate together command-line argument flags that may or may not be present.
A separate VLAN, if your router is capable
The PDF metadata says it's PyPDF2
That's how java.io.File#deleteOnExit works under the hood. The DLL is still loaded at that point and can't be deleted.
According to JNA it's not safe to unload the DLL:

https://github.com/java-native-access/jna/blob/40f0a1249b5ad...

  Do NOT force the class loader to unload the native library, since
  that introduces issues with cleaning up any extant JNA bits
  (e.g. Memory) which may still need use of the library before shutdown.
Following the blame back to 2011, they did unload DLLs before https://github.com/java-native-access/jna/commit/71de662675b...

  Remove any automatically unpacked native library.  Forcing the class
  loader to unload it first is only required on Windows, since the
  temporary native library is still "in use" and can't be deleted until
  the native library is removed from its class loader.  Any deferred
  execution we might install at this point would prevent the Native
  class and its class loader from being GC'd, so we instead force 
  the native library unload just a little bit prematurely.
Users reported occasional access violation errors during shutdown.
You would also need to learn about Maven profiles and activation. And for other build tools, you'll be delighted to know they have partial support.
This wouldn't work on Windows, because you can't delete a DLL while it's in use
Native libraries are typically packaged inside a jar so that everything works over the existing build and dependency management systems.

For example, each these jars named "native-$os-$arch.jar" contain a .dll/.so/.dylib: https://repo1.maven.org/maven2/com/aayushatharva/brotli4j/

JNA will extract the appropriate native library (using os.name and os.arch system properties), save the library to a temp file, then load it.

Re:What if null was an Object in Java? on Sunday April 28, 2024 @06:20PM (#40192491)
> I can't think of another statically typed language that screws this up so badly. It just keeps getting worse with stuff like Optional and @NotNull.

Java might be the only language where a simple assignment `x = y` can throw a NullPointerException (due to auto-unboxing)

Re:Java JEP 461: Stream Gatherers on Friday November 03, 2023 @01:00PM (#38131585)
Or more succinctly

  val num = words.count(_.nonEmpty)
Re:TypeScript NPM Packages Done Right on Sunday September 24, 2023 @12:36PM (#37634620)
This cheatsheet would have you publish dist/*.{js,d.ts}. Presumably you would use "files":["dist"] in package.json to exclude sources from being published.

The OP recommends to additionally package src/*.ts along with sourceMaps and declarationMaps.

What's actually the best practice here?

Re:If You’ve Got a New Car, It’s a Data Privacy Nightmare on Friday September 08, 2023 @02:26PM (#37437427)
California Code Regulations, title 10, Section 2632.5 - Rating Factors

It carves out an exception for "using a technological device to collect information about the location of the insured vehicle as part of an emergency road service, theft service, map service or travel service."

Re:If You’ve Got a New Car, It’s a Data Privacy Nightmare on Wednesday September 06, 2023 @12:33PM (#37407487)
It's the same in parts of the US. In California, insurers are only allowed to collect the mileage.
Re:How to stay safe and happy on an electric unicycle on Monday July 24, 2023 @04:41PM (#36853911)
Maybe a foldable e-bike would be a good compromise?
Re:Things that improved between Elasticsearch 1 and 7 on Wednesday January 25, 2023 @01:11AM (#34514981)
You can use G1 on Java 8 with -XX:+UseG1GC
Re:Retrofitting null-safety onto Java at Meta on Tuesday November 22, 2022 @02:47PM (#33710389)
You can use ?. or assign to a nullable type. Or you can get a NPE at runtime. Which is to say, it's not null-safe.
Re:Retrofitting null-safety onto Java at Meta on Tuesday November 22, 2022 @11:56AM (#33707884)
Kotlin interops nicely with Java but it's not null-safe (all references from Java are assumed non-null).
This seems to work:

  document.querySelectorAll('video').forEach(v => v.playbackRate = 1.5)
Re:TypeScript is terrible for library developers on Wednesday August 24, 2022 @12:57PM (#32582303)
And the purpose of "T extends string" is to carry the value of a string literal. For example, there's the string value "foo", but there's also a type "foo" which extends string and has only the one possible value.
There's a mechanism: if people want their bulbs to match, they might pick the same brand/model as a replacement
Re:Favor real dependencies for unit testing on Friday January 14, 2022 @10:34PM (#29943299)
now you have N+2 problems?
Re:You don't need that CORS request on Monday January 03, 2022 @02:16AM (#29778213)
Are you conflating CORS with some specific product?
Re:We check our node_modules folder into source control on Sunday December 12, 2021 @12:40AM (#29527428)
> Pinned versions don't mean anything when sub-dependencies can have transient versioning resolution occur.

That's the purpose of lockfiles-- to pin the entire dependency tree.

Re:I work on code search at GitHub – what needs to improve? on Saturday January 30, 2021 @11:00PM (#25975773)
When I search for an identifier it comes up with usages, tests, docs, etc. I have to dig several pages to find the declaration/definition.
To clarify, the arrested individual sells a swatting "service" [1]. One of the CoD players hired him to swat the other over a twitter argument. The other CoD player taunted the swatter and gave him a random address [2]. The police showed up at the address and killed an unrelated person.

No parties involved are without blame.

[1] http://archive.is/Ixezf#selection-6279.0-6288.0 [2] https://i.imgur.com/n3Q53nL.png

Look closely. Or, equivalently

  > n=12345678910111210
  > n+1 === n+2
  true
Re:Learn Kotlin in Y Minutes on Thursday May 18, 2017 @11:24PM (#14372817)
Kotlin has its own standard library

Older »