Rob Pike explains Go at Google: Language Design in the Service of Software Engineering, or, Why go?
Wednesday, December 19, 2012
Thursday, December 13, 2012
Passing of an era: No more i386
Thus spake Linus Torvalds:
Pull "Nuke 386-DX/SX support" from Ingo Molnar:
"This tree removes ancient-386-CPUs support and thus zaps quite a bit
of complexity:
24 files changed, 56 insertions(+), 425 deletions(-)
... which complexity has plagued us with extra work whenever we wanted
to change SMP primitives, for years.
Unfortunately there's a nostalgic cost: your old original 386 DX33
system from early 1991 won't be able to boot modern Linux kernels
anymore. Sniff."
I'm not sentimental. Good riddance.
Tuesday, December 04, 2012
Guicing your jars, part 2
In Guicing your jars I mention using Java's service loader feature to automate finding modules for Guice, along these lines:
public class MetaInfServicesModule
extends AbstractModule {
@Override
protected void configure() {
for (final Module module : ServiceLoader.load(Module.class))
install(module);
}
} What I did not mention was the secret sauce, Kohsuke's MetaInfServices annotation processor which creates the META-INF/services file for you:
@MetaInfServices(Module.class)
public class FooModule
extends AbstractModule {
@Override
protected void configure() {
// Awesome foo-ness here
}
} Now using your Maven runtime dependencies to control the classpath, Guice automatically installs your modules:
Guice.createInjector(new MetaInfServicesModule());
(Dependencies between modules is beyond the scope of this post!)
Subscribe to:
Comments (Atom)