<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Infinitum on Brave New Geek</title><link>https://bravenewgeek.com/category/infinitum/</link><description>Recent content in Infinitum on Brave New Geek</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 25 Jan 2019 10:52:38 -0600</lastBuildDate><atom:link href="https://bravenewgeek.com/category/infinitum/index.xml" rel="self" type="application/rss+xml"/><item><title>Implementing Spring-like Classpath Scanning in Android</title><link>https://bravenewgeek.com/implementing-spring-like-classpath-scanning-in-android/</link><pubDate>Sat, 05 Jan 2013 02:53:36 -0600</pubDate><guid>https://bravenewgeek.com/implementing-spring-like-classpath-scanning-in-android/</guid><description>&lt;p&gt;One of the things that Spring 2.5 introduced back in 2007 was component scanning, a feature which removed the need for XML bean configuration and instead allowed developers to declare their beans using Java annotations. Rather than this:&lt;/p&gt;
&lt;script src="https://gist.github.com/tylertreat/7688bafe73aa1eaeaa24.js"&gt;&lt;/script&gt;
&lt;p&gt;We can do this:&lt;/p&gt;
&lt;script src="https://gist.github.com/tylertreat/937b3e36d6ecdcbc7c3b.js"&gt;&lt;/script&gt;
&lt;p&gt;It’s a pretty simple idea since Java makes it very easy to introspectively check a class’s annotations at runtime through its reflection API. Spring’s component scan feature also allows you to specify the base package(s) to scan for beans.&lt;/p&gt;</description></item><item><title>Introducing InfinitumFramework.com</title><link>https://bravenewgeek.com/introducing-infinitumframework-com/</link><pubDate>Fri, 04 Jan 2013 01:36:36 -0600</pubDate><guid>https://bravenewgeek.com/introducing-infinitumframework-com/</guid><description>&lt;p&gt;&lt;a href="http://www.infinitumframework.com/"&gt;&lt;img alt="rendering" loading="lazy" src="https://bravenewgeek.com/wp-content/uploads/2013/01/rendering.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.infinitumframework.com/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.infinitumframework.com/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here’s a dose of shameless self-promotion. It’s coming up on a year since I started development on Infinitum, and I’m targeting its first full release on its birthday, February 11. Shortly before I moved the project to GitHub, they deprecated the downloads service, so I needed to fine a home for distributing the binaries as well as the Javadoc.&lt;/p&gt;
&lt;p&gt;GitHub offers its pages service, but I figured I’d just host it myself. I threw together a website in a couple days and the result is &lt;a href="http://www.infinitumframework.com/"&gt;www.infinitumframework.com&lt;/a&gt;. This website will be used to host the latest (and previous) releases of the framework, its documentation, and, in the future, announcements and updates for it.&lt;/p&gt;</description></item><item><title>Modularizing Infinitum: A Postmortem</title><link>https://bravenewgeek.com/modularizing-infinitum-a-postmortem/</link><pubDate>Thu, 27 Dec 2012 16:04:16 -0600</pubDate><guid>https://bravenewgeek.com/modularizing-infinitum-a-postmortem/</guid><description>&lt;p&gt;In addition to getting the code migrated from &lt;a href="https://code.google.com/p/infinitum-framework/"&gt;Google Code&lt;/a&gt; to &lt;a href="https://github.com/infinitumframework"&gt;GitHub&lt;/a&gt;, one of my projects over the holidays was to modularize the Infinitum Android framework I’ve been working on for the past year.&lt;/p&gt;
&lt;p&gt;Infinitum began as a SQLite ORM and quickly grew to include a REST ORM implementation,  REST client, logging wrapper, DI framework, AOP module, and, of course, all of the framework tools needed to support these various functionalities. It evolved as I added more and more features in a semi-haphazard way. In my defense, the code was organized. It was logical. It made &lt;em&gt;sense&lt;/em&gt;. There was no method, but there also was no madness. Everything was in an appropriately named package. Everything was coded to an interface. There was no duplicated code. However, modularity — in terms of minimizing framework dependencies — wasn’t really in mind at the time, and the code was all in a single project.&lt;/p&gt;</description></item><item><title>Dalvik Bytecode Generation</title><link>https://bravenewgeek.com/dalvik-bytecode-generation/</link><pubDate>Mon, 17 Dec 2012 20:03:57 -0600</pubDate><guid>https://bravenewgeek.com/dalvik-bytecode-generation/</guid><description>&lt;p&gt;&lt;a href="http://www.bravenewgeek.com/proxies-why-theyre-useful-and-how-theyre-implemented/" title="Proxies: Why They're Useful and How They're Implemented"&gt;Earlier&lt;/a&gt;, I discussed the use of dynamic proxies and how they can be implemented in Java. As we saw, a necessary part of proxying classes is bytecode generation. From its onset, something I wanted to include in Infinitum was lazy loading. I also wanted to provide support for AOP down the road. Consequently, it was essential to include some way to generate bytecode at runtime.&lt;/p&gt;</description></item><item><title>Solving the Referential Integrity Problem</title><link>https://bravenewgeek.com/solving-the-referential-integrity-problem/</link><pubDate>Sat, 01 Dec 2012 13:37:46 -0600</pubDate><guid>https://bravenewgeek.com/solving-the-referential-integrity-problem/</guid><description>&lt;p&gt;&lt;em&gt;“A man with a watch knows what time it is. A man with two watches is never sure.”&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I’ve been developing my open source Android framework, &lt;a href="http://code.google.com/p/infinitum-framework/"&gt;Infinitum&lt;/a&gt;, for the better part of 10 months now. It has brought about some really interesting problems that I’ve had to tackle, which is one of the many reasons I enjoy working on it so much.&lt;/p&gt;
&lt;h3 id="chicken-or-the-egg"&gt;Chicken or the Egg&lt;/h3&gt;
&lt;p&gt;Although it’s much more now, Infinitum began as an object-relational mapper which was loosely modeled after &lt;a href="http://www.hibernate.org/"&gt;Hibernate&lt;/a&gt;. One of the first major issues I faced while developing the ORM component was loading object graphs. To illustrate what I mean by this, suppose we’re developing some software for a department store. The domain model for this software might look something like this:&lt;/p&gt;</description></item></channel></rss>