Skip to main content


Personal growth is hard when you leave no room (time) for it.


First time I've poked around in a #JVM heap dump in a long time. :P #Java #Kotlin

Neil E. Hodges reshared this.


I used to love #Python, but dealing with the honestly kind of scary #multiprocessing library was a reminder of the #GIL #threading situation really hurts working with #parallelism. 😰🫠

I've started learning #Kotlin after honestly really enjoying the threading library it provides. It's so's easy to work with when you understand it! 😀 (I would prefer to stay away from some of the #Java conventions after working with them for so long. 👍) #JVM #programming


Had quite the time working on a personal project recently. It changed my life forever.
  • Learned the hard way that the (default on most POSIX) fork context is bad news.
  • Wrote a Unix domain datagram based log infrastructure.
  • Wrote an algorithm that operates kind of like concurrent.futures.as_completed(), except it has a priority queue and doesn't eagerly load the list of futures.
  • Discovered that it's possible to overload concurrent.futures.ProcessPoolExecutor with futures, preventing any actual background processing after a point.
  • Got TONS of practice optimizing stuff for large datasets.
  • Learned that taking breaks is important for reasons than most people are aware of.
  • My life was permanently altered by this project. I basically nerd-sniped myself.

#Python #programming


This entry was edited (1 month ago)

reshared this




I actually really like the JVM, and #Java itself has improved a lot lately. I'm also glad for all of the JVM language options. :3c
#java


Man, #Java versions newer than 11 really fuck with commonly-used functionality. :/
#java
in reply to Ghost Letters

The maintainers have been stripping out this and that and tightening down security within the JVM.
in reply to Neil E. Hodges

Ya, I am aware of that. Sounded like you had some specific things in mind.
in reply to Ghost Letters

Just stuff that around sun.nio.ch that breaks Pyspark 3.x.
in reply to Neil E. Hodges

I wouldn't say that sun.nio.ch is "commonly-used" functionality among Java developers.

But yeah, nailing down the sun stuff has made it a long and difficult road for some.

in reply to Neil E. Hodges

Java runtime 11.0.23 introduced a real bug as far as I can tell. JDK-8220818 bugfix fixed too much. Now completely correct keyrefs give exceptions. We had to revert to 11.0.22 to fix this.


Who remembers the most recent #log4j vulnerability? #Java



I'd still like to write a #Fediverse server in #Java, but I don't have the time or energy to do so solo. #programming

reshared this

in reply to Neil E. Hodges

I would participate ( 10y+ java backend exp). Contact me!
in reply to Bob

Cool! Are you aware of any good JSON → Java code generators? Manually writing the AP DTOs is more boilerplate than I have patience for.
in reply to Neil E. Hodges

well if then it would be openapi to Java which is straight forward; however I discovered there is already at least 1 ActivityPub-compatible Java implementations out there (https://fediverse.party/en/miscellaneous/)
This entry was edited (1 year ago)
in reply to Bob

I noticed Smithereens a while back, too. Could be a good starting point for a fork. Definitely would want to port it over to Postgres, though.
in reply to Neil E. Hodges

yes, totally. I'm going to check it out and boot it up to see how far it is yet
in reply to Bob

not the programming style I would do in 2022 however it seems a good starting point really
in reply to Bob

not. It's not. I'd rather start from scratch with micronaut or quarkus. This codebase is nothing we want to maintain
in reply to Bob

Thanks for looking into it. I've never worked with either of those frameworks, but they do sound promising.

Any ideas on a JSON → Java code generator for the AP object boilerplate?
in reply to Neil E. Hodges

there are so many out there we can just try some
in reply to Bob

because it's so obvious for the java implementation of the fediverse I suggest the name jediverse
in reply to Bob

See https://github.com/jediverse/coruscant which I just created. The models are there. No page is served yet, must be a config issue. http://localhost:8080/swagger-ui/ works

Neil E. Hodges reshared this.

in reply to Bob

Thank you for kicking this off. I can add the JSON DTOs, but I won't be able to get to it until the weekend.
in reply to Neil E. Hodges

I think it's already all set, see the model package
in reply to Bob

You might need something like this to handle polymorphism via the type field documented here. My code is under the BSD license, so it can be used elsewhere. Perhaps it would be a good idea to have a separate library since the other ones I've seen are very outdated.

I can handle the polymorphism, but I still won't have time until the weekend.
This entry was edited (1 year ago)
in reply to Neil E. Hodges

@Christine Lemmer-Webber I saw your name on a number of things related to ActivityPub test suites. Do you know if one still exists?
in reply to Neil E. Hodges

I'd help if it were Go! 🙃

But I would probably want to design a new protocol from scratch first.


No Google, I don't want a #Java library from 2008. #programming


Upgraded my JDK version from 11 to 17 because I wanted some features added in 12. #Java #programming


When you're using Apache HttpClient 5 but all of the tutorials are using HttpClient 4. #Java #programming


#Java takes forever to write, but the structure it enforces does make maintenance easier. #programming



I haven't been uploading a couple of big trips' worth of #photos because I've been working on a new tag editor. With it, I won't need to mess around with #Flickr's uploading UI as much. (Photo)

I wrote it in #Java since it's what I've been writing the most because of work. As much as people love to hate on it, there are a number of things I like about Java 8+. #photography #programming #photog

in reply to Neil E. Hodges

While writing this, I discovered a bug in SWT’s ImageLoader where the resulting image was always incorrect. For example, a 1×1 white JPEG loaded correctly via SWT’s ImageData was turned into a yellow 1×1 JPEG when saved again via ImageLoader. I had to use AWT’s BufferedImage and ImageIO to save files correctly.