Advent of Code 2017

I've joined the Advent of Code, and I'll be doing it in JS. Got my 2 stars for the day.

For good discipline (or as a handicap), I'm building a halfway-decent set of pages, unit testing framework, and sort of doing things right (good ES6 practices) instead of easy (hack some inline JS in compatibility mode). I'll link it in the sidebar tomorrow, when challenge 1 expires: My Advent of Code

Go on and do it yourself! I say "easy mode is for babies" and make it hard on myself, but really you can do this in anything. There's a perfectly nice Chipmunk BASIC or FreePascal if you're old-school.

Note: The leaderboard reset time is ridiculous, and I don't care about speed-coding or leaderboards. Don't stress about competing for first 100 completions, just do the thing.

RIP Jambox mini

RIP Jambox mini which I have been using for 4 years, 8 hours per night, as my white noise speaker, despite weak power supply and shitty bass. Last year Jawbone stopped software updates. This summer Jawbone went bankrupt. Now it won't even turn on, and they can't replace it.

Animal Crossing: Silent Night Deadly Night Edition

via @animalcrossing@twitter.com:

Animal Crossing Xmas

'Tis the season! We've got a fun holiday event planned for you, starting tomorrow, 11/30, at 10:00 p.m. (PST). I can't wait! #PocketCamp

If you want to peek at some of the new presents, Gamepress has a datamine

… Sadly Pocket Camp doesn't have a usable axe, so I can't put on a Santa suit and reenact a holiday movie.

Java EE Abandonware

From the latest Nov/Dec 2017 Java Magazine (viewing of their terrible reader, or downloading a PDF with no bookmarks, only works in Chrome):

In an unexpected and widely applauded move, Oracle announced just before the JavaOne conference this year that it would be moving development of Java EE to the open source community.
This action, efectively unthinkable a few years ago, is being done by giving control of development technologies and of project governance to the Eclipse Foundation. Included in this transition are the full source code of the diferent reference implementations and of the many test suites that ensure conformance and compliance with Java EE speciication requirements.
This migration shows emphatically that Oracle is giving the technology to the community. That is, this move should not be confused with the occasional dumping of technologies to open source foundations by companies no longer interested in supporting them—a phenomenon known as “abandon-ware.”

Spin, spin, spin the Oracle death spiral! But given the state of J2EE, I can't really mourn its impending demise.

I only rarely have to touch Java anymore, and the JavaFX front-end stuff is pretty weird from my old AWT/early Swing perspective, but my old Java games still work, and all the server side and image processing, which are all I use it for now, had been nice and stable.

But look at this nonsense for CDI (Context and Dependency Injection) 2.0 replacing JSF/Spring/Hibernate (which weren't lovely to start with), they want you to use:

public class CdiExtension implements Extension {
    public void afterBean(@Observes AfterBeanDiscovery afterBeanDiscovery) {
        afterBeanDiscovery
            .addBean()
            .scope(ApplicationScoped.class)
            .types(MyBean.class)
            .id("Created by " + CdiExtension.class)
            .createWith(e -> new MyBeanImpl("Hi!"));
    }
}

The actual work is new MyBeanImpl("Hi!"), which you could do in one line in a startup script/class, without this giant framework. At least with all the XML nonsense in Spring or JSF, you could change it at runtime instead of recompiling the project.

Animal Crossing: Pocket Camp Notes

  1. Build all of the level 1 tents ASAP, they don't have to be displayed to increase the max level of that style's animals, everywhere in the world. Upgrade to level 2 when you have money, then level 3 when you have a lot of time (when you sleep, for instance).
    I foolishly only did Cool and Cute level 1 first, then went ahead on Cool level 2 & 3, and had several Sporty and Natural animals stuck at max level 7 for 12 hours.
  2. Don't ever vend (sell to the bank) any fruit or the uncommon (100 bell) fish or bugs. Animals will request those at higher levels, and pay 10x what the bank does. If you have too many, put them in the Market Box at a reasonable price, under 10x price so people can make a profit!
    I'm selling fruit & common shells for 40 bells each, uncommons for 400 each, and doing good business now. I vend most common bugs & fish down to 6 each, but sometimes put them in my Market Box.
  3. You can layout your nice furniture, and use Auto-Arrange when you finish an animal's invite quest, then Clean Up, and it'll restore your furniture layout. Do not sell furniture, multiple animals will request the same items.
  4. Hit the cat icon in your campsite to change who's stuck inside with you. I keep those who give good resources (Tex, Apollo) and leave out the ones I need to level faster.
  5. Check the Able Sisters market every 6 hours, it changes from Mabel selling shirts, to a skunk selling shoes, to Sabel selling pants and hats (is Labelle in here? I've not seen her). There's no dialogue story like in Wild World, where over the course of weeks or months you learn about their background.
  6. Check Timmy Nook's store for furniture you might need in a quest, far cheaper than crafting it. There's no furniture inventory limit AFAICT, shop till you drop!
  7. First thing in the morning, request help with the quarry from everyone on your friend list, and anytime you see a shovel icon by their name click in and Lend a Hand; you get 10 or 100 bells when they use it. Once you get 5 friends to help you, wait for a resource you want to be focused, it changes every hour. Don't waste leaves on the quarry, it's just a little cash and a stack of up to 10 resources.
  8. Shake all the non-fruit trees, one a day will drop a bag of 100-1000 bells.
  9. I always log out in my camper, so the area outside will be reset when I come back.

More detailed info at these longer, often too long sources: