by Jeremy 22. September 2012 11:39

"Your power is not an isolated potentiality. It is a point of departure for universal power. It is associated with all forms of power, and in character it is identical with the power that produces the swing and the pull of the planets; that manifests in weather, with its erosions that change the faces of continents; that operates in tides that hasten or delay traffic on the seas; that sings in waterfalls that turn machinery; that crowds out one season by another season, so clothing the earth in verdures or in snows; that constructs the engines by which one hour's work exceeds in effect the results of many men's toiling through a day. Pursue these probings of power until you have included yourself - the worker of magic in a universe of magic. You, the "fearfully and wonderfully made," the marvelous mechanism of body and the omnipotent mind, have to your credit all of visible creation; have as your possibility the making of all the Edens that you shall care to inhabit.

Your mind is the recipient and the dispenser of power. It distributes the power that it receives from the Mind of God."

Imelda Octavia Shanklin, "What Are You?"


by Jeremy 1. August 2012 17:59

Look at all the soap I bought! I love soap. Thank you Vitacost for delivering this to my doorstep.

Florida and Archetypes

by Jeremy 14. July 2012 09:24

There was the most delicate sunshower this morning. It was lovely.

I've been thinking a lot about archetypes recently. Carl Jung, Joseph Campbell, the whole nine. 

I had a thought this morning. To paraphrase Ghandi:

We all wear a variety of hats in this world. It is of no consequence which hat we are wearing at any particular point in time, but it is of the utmost importance that we strive to wear each hat with grace.

Creating Our Own Reality

by Jeremy 17. August 2011 16:29

I stumbled across a talk on YouTube recently of a guy speaking about opinions and it clicked with a variety of other things that I've been reading and thinking about, an understading that I've been cultivating for a long time. When we formulate an opinion on something we take on a positionality. We cement ourselves in the ether and when we look to the left, we see black, and when we look to the right, we see white. We interpret these viewpoints according to our belief systems and whatever flippant emotions we are currently experiencing. It is much like in quantum mechanics when we observe a thing and cause it's waveform to collapse, giving it certain physical characteristics. Without this observation, the waveform would not cohere. It would remain in it pristine state.


When we take on opinions, we are literally creating our own reality. We pretend that we are the victims of the world we see, lost in a sea of pain and confusion, scarcity and death, when we are in fact its creator. It is only our own belief systems that we are victim to. We bring this world into existence with our observations and we bend it to our will with our beliefs.


I encourage people to practice withdrawing this need to decide what reality IS and to simply be aware of and observe. It takes us beyond the mind. The mind can only comprehend the linear and all the brain really does is to compare and contrast patterns that it has observed and recorded. What we are and where our happiness comes from is beyond the linear. In between our desperate need to substantiate ourselves in the nothingness, our peculiar desire to prove ourselves separate from everything else, lies the nonlinear domain from which Creation emerges. It is effervescent with light, yet it is peaceful and perfect. It is eternity. It is our true Self, not the little self that we've dreamt up and projected onto the screen of the phenomonological universe, which is nothing more than a dream, a biploar fluctation about the zero point, an epic tale of depature and return. 


In this space is the most precious gift we've ever known. It's with us at all times and it's the answer to every problem we've ever created. We prefer to imagine that the answer lies in the problem and thus we continuously overlook the solution. So there the solution lies, overlooked yet ever-patient and ever-present. 


How can we define ourselves as something that changes? If a circle morphs into a triangle, is it still a circle? The body is more than half water. The molecules of the body are constantly turning over at varying degrees. Are you the body? Where is the "you" in all of this? If you look at the functionality of the brain it becomes clear that what we experience could not possibly come from the brain. Yet we assume that this is the case because the brain is the most sophisticated organ in the body. Are you the brain?


The mind must come from somewhere else. But even this is suspect. Take a look at the activity in your mind. We cherish the big loud opinions about this and that and the other, but what about the never-ending stream of nonsensical garbage? The random images, the snippets from songs, the unpleasant thoughts that we would quickly push away and hide from the world. Are you this mind? Can you even claim to be the author of this mind? When you struggle to find a word that's "on the tip of your tongue", what exactly is it that you're doing? Are you instructing a little man in your brain to dig through filing cabinets to find that one appropriate word that has escaped you? Or, after some amount of time, does that word simply appear? Are you its author? Are you the authorof any of these thougts or do you latch onto them and claim them as your own as soon as they appear? "Aha! Look at what I have thought! I am so clever! Lather me with attention and praise!"


What, pray tell, are you? What is unchanging in all of this?


A great man once said, "I think therefore I am." This egocentric fallacy has plagued us for centuries. We presume that awareness comes and goes within the mind, but is this true? Or is it the body and mind and everything else that come and go in awareness? 


"But what about sleep?!?" you say. A clever retort indeed. Well played. "Clearly awareness disappears in sleep and re-emerges in the mind in waking."


Think of the moon. The moon doesn't produce light. It merely reflects the light of the sun. Now think of the sun. Does the sun need the moon to reflect its light in order to shine?


If your sense stopped working, would you cease to exist?

I Am Totally Awesome

by Jeremy 28. June 2011 22:10

I can't believe how well this is turning out! I try not to toot my own horn too loudly for the most part, but I just played through a board with all of the new features and I must say that it was a wonderful Sudoku experience! I did the notes piece today and I did it the way that I do Sudoku puzzles. I write little numbers in the margins of the boxes based on what possible numbers a square could be at any point in time. Then when conditions change I either erase or cross out the little notes until I know what the answer is. I imagine that there are some different approaches, but I think that this is pretty effective. There's one Sudoku in Silverlight project that I found online, which is excellent and uses drag and drop, btw, that has the ability to take notes, but it starts with all of the notes "on" in order to facilitate the drag and drop. Lovely project, but I don't like working backwards like that. I guess that you could just turn off the notes that are still possiblities, sort of the opposite approach to what I usually do. I'll have to give that a whirl and see how I like it.

ANYWAYS, back to what's important here: JayCeeKu! The way it works is as follows:

- There is an "Entry Type" drop-down on the right that let's you switch back and forth between "Answer" and "Note". Left-click an empty box in the puzzle and then pick a number using the number buttons on the right. You'll add either an "Answer" or a "Note" based on which entry type you have selected. Whenever the silverlight application is in focus you can use the mouse wheel to change this drop-down, which makes the interface much easier to work with.

- Use the "Clear" button at the bottom of the number buttons in order to clear the answer or notes of the selected square, based on the "Entry Type" drop-down selection. Alternately, you can right-click on any square and do the same. Keep in mind that you can also just click the number buttons to toggle a number on the selected square. Using the "Clear" button or the mouse right-click will clear all of the notes at one time whereas using the number buttons will toggle a paticular number on and off.

- If a number is highlighted in red (or blue in the red color scheme), this means that it conflicts with one of the other numbers in its row, column, or 3x3 square. It doesn't necessarily mean that it's wrong, just that it conflicts with some other number on the board.

- At this point the "Reset Board" and "Start New Game" buttons both restart the present board. Once I've added all of the boards the "Start New Game" button will do just that, based on the difficulty level of the "Difficulty" drop-down.

I will attempt to put together an interface for adding new boards tomorrow and begin that laborious process, but chances are it won't be until Thursday that I get it done. Then it's just a matter of putting together some kind of splash page, making a title graphic, and putting together some kind of instructions and I'm done! I'll still probably tinker with it, however. Maybe I'll try and make the page a bit more attractive. Perhaps Japanese-style soothing or something like that. And I'd also like to add the option of installing it to the desktop, which I think will be pretty easy. Regardless, the end is in sight.

I hope that you find JayCeeKu as fun as I do!

JayCeeKu Progresses Swimmingly

by Jeremy 26. June 2011 21:40

The title says it all. I couldn't be much more pleased with how things have gone so far. I decided to avoid getting any architectural inspiration from other Sudoku projects in order to ensure that I received the full benefit of designing a game from the ground up. It's been very good practice in object-oriented programming as well.

There's still a few more days of work left, I think, but I'm going to be done with this thing ahead of schedule, which is excellent. Then it's back to sending out resumes and such before starting on the next project. My new thought is to do a business application in Silverlight, which would gain me a much more intimate understanding of Silverlight itself. JayCeeKu is really more of an object-oriented C# program with a Silverlight GUI. So I figured, why not do RoomieWare 2.0 in Silverlight? Why JC, that's an excellent idea! So it'll either be that, which is gonna take some time, or perhaps I'll dive into the Silverlight Tetris app. Perhaps I'll spend some time with the Entity Framework book, which got put on the back burner while I familiarized myself with Silverlight, and do the Tetris app on the side in order to feed my coding craving.

Anyways, I haven't done the game logic itself yet and I just have one test board loaded up, but a lot of the setup and functionality is working. I still have to do the notes piece as well. The new puzzles piece may prove to be both fun and time consuming. I'm thinking about writing a quick little ASP.NET interface which will allow me to enter the game boards into an interface and then save them to an XML file which the JayCeeKu app can read from.  

Also, I think that I updated the "JC's Games" graphic since my last update. Check it all out!

JayCeeKu and the New Games Sub-Domain

by Jeremy 22. June 2011 15:50

I have made excellent progress over the past twenty-four hours and I thought that I'd go ahead and set up the games.jeremycollins.info sub-domain today and put the preliminary results up. I even updated the splash page on jeremycollins.info and I do say that it's looking pretty retro-awesome with the new banner. As for the Silverlight project, I decided to go ahead with the branding nightmare "JayCeeKu" because, well, I just can't resist. I love being my own marketing department. No one else would ever let me get away with this. MWAHAHAHAAHAHAAAAAA!!! 

Anyways, I have had so much fun with this project thus far. All of the toying around with game programming over the years has come right back to me. It was all just waiting there to be used. It might not look like much just yet, but it's often getting over that first hurdle in a project that things really get going. I looked around online and found some examples of Sudoku in Silverlight and I was tempted to look through some code and follow along like a tutorial but I decided that it would be lot more fun and a much better learning experience if I just did this thing from scratch. Not to mention that I'll shine through the finished product much more effectively so it'll show people my tastes and attention to detail. 

I'm going to give myself till the end of next weekend as a deadline to get this thing up and running. There's probably still a good amount of work left, but I have really hit the ground running and I'm sure that I'll continue to crank it out. Good stuff!

The Unfolding Path

by Jeremy 20. June 2011 11:26

This post is going to appeal more to the "satori" aspect of this blog than the "tech" aspect, so be forewarned. If spirituality isn't your thing then this might seem a bit flighty.

I was just working through a Silverlight tutorial that builds a simple Twitter application. It allows the user to search the Twitterverse against whatever string the user has entered and returns a collection of tweets along with a bunch of other properties and displays them with some funky formatting. It's a good place to start with Silverlight because it uses the Twitter search API as a datasource which is made possible by Twitter's cross-domain policy for their search. This is important because of the nature of the Silverlight web browser plug-in. Since I'm requesting data from another domain, that domain has to approve what I'm doing and provide access to their data. The security aspects are important because Silverlight is somewhere in between a server-side web application and a traditional desktop application. It's a perfect walkthrough for me because after RoomieWare I'm familiar enough with ASP.NET to understand everything that's going on and in reading through "C# 4.0 in a Nutshell" I've been thinking quite a bit about the .NET event-handling model which utilizes the advanced concept of delegates. A delegate is a type that connects a caller with a method by passing the method as an argument. Using delegates in combination with events, Microsoft has created a safe way for an event to broadcast to its subscribers whenever the event takes place, thus enabling other objects to respond appropriately, without giving the subscribers the ability to interfere with each other.

Anyways, I was working through this example, enjoying the synchronicity of seeing various aspects of my learning come together in the form of a cool project, when I came across a response from an upset reader (the tutorial was spread out over several blog posts) who seemed a bit perturbed that the tutorial wasn't for absolute beginners. The author of the blog (Tim Heuer) responded by saying that, no, it wasn't for beginners to C# and ASP.NET but for beginners to Silverlight. The reader wasn't furious or anything, what caught my attention was simply the sharp contrast between his experience and mine. His response had undertones of, "Wait! You tricked me! You said this tutorial was for me and it's not!" whereas my experience was that I was at the right place at the right time and everything was coming together like Voltron.

My life has been slowly changing gears over the past 7 years, most acutely over the past year. Whereas in the past I often felt like the upset reader, like I was always in the wrong place at the wrong time, at odds with and even betrayed by the universe, today I usually feel like I'm in the right place and at the right time. Even if it seems like things aren't exactly as I'd like them to be, my experience has shown me that this feeling will pass and I'll soon feel like I'm right where I'm supposed to be in the ebb and flow of the universe. What's beautiful to me is the realization that I am an integral part of creation. I see this creation working around me and through me. All that I need do is align my will with this force and instead of feeling like I have to figure out where I'm supposed to go and what I'm supposed to do, the universe shows me everything that I need to know. What's maddening is how the ego tries to fill in all of the empty space with bloated self-importance and constant, nonsensical jabber, as if something always needs to be done or micromanaged. What's beautiful is the experience of relaxation, the joy of living in that empty space without the need to do or worry over anything. It's here that the process of creation takes place. If we fill our spiritual cup to the brim with our own wants and needs then there's no room for the universe to guide us. However, if we take the time clear our minds and create space in our lives, the universe guides us through taking care of ourselves AND everything and everyone else as best we can.

What's difficult about this process is that to the ego, it's like walking off of a cliff. If the ego's not working to take control of every little detail, how can it be assured that things will turn out the way we want? What started this journey back into programming for me was quitting poker at the beginning of the year. I knew that I had reached the end of this career path for some time, but I was reluctant to let it go and for good reason. Poker was my job. It's how I paid the bills. However, poker had lost most of its appeal and I was tired of how miserable losing made me feel. But I had no idea how else I could support myself in the manner that I had become accustomed. I found myself immersed in a middle class life that I wasn't sure how to maintain. Conventional wisdom told me that I should find another job, and preferably a career, before I gave up poker, but my instincts told me that I wasn't going to escape the clutches of the never-ending gambling urge until I gave it up completely. So I did. I jumped off that cliff without any reason to believe that anything or anyone would catch me.

Since then my path has unfolded before me. The only thing that's required of me is that I listen to the clues that the universe presents me and try and make the best of them. It's as simple a following a breadcrumb trail. The trick is in finding the faith to believe that the trail will get you where you want and not lead you into danger. It's a peculiar game, learning how to listen to the correct voice in your mind. What's funny though is that it's generally just a matter of being a good person and having the courage to act when something catches your attention. The most obvious of clues is when someone asks for help. How to respond? Simple. Help them. From there I've started trying to offer people help when it seems like they need it. I've found that people are incredibly grateful when you step in and offer your services right when a project is starting to seem like it's insurmountable and never-ending. 

About a month after I quit playing poker I had a problem with my computer. I forget what it was exactly, some minor problem with the display, but it turned out to be a dying video card. My troubleshooting efforts led me to consider this early on but it was complicated by the fact that the card overheated during a Windows update which lead to various disasters. If you've never experienced a corrupted Windows update before, let me assure you that it ain't pretty. Even Microsoft experts aren't always sure how to deal with the mess that ensues. Not to mention that I also had an undiganosed dying video card on my hands. I realized that something had gone wrong with the Windows update so I spent a few days scouring every Microsoft related message board that I could find and I found some cool utilities written by Microsoft studs that attempted to deal with corrupt updates, but alas, nothing worked. In the end I wound up ordering a new NVIDIA GeForce GTX460 video card so that I could play some of the more recent games and I resinstalled Windows, giving me a fresh start. Upon receiving the new video card I realized that my power supply couldn't support it so I did some research and decided on a Corsair TX650W. I was uber-pleased when I recieved this bad boy. It came wrapped up in a black velvety bag and its many cables were wrapped in this sleek mesh. This was a great opportunity to open my computer up and get my hands dirty with replacing the power supply and figuring out how to hook everything up. It had been some time since I had done any hardware work, so this turned out to be a lot of fun.

When I had my newly pimped-out computer up and running with its stud power supply, hot new video card, and freshly installed operating system, I felt invigorated. I spent a few days playing video games and I was reminded of how happy games had made me as a kid. I realized that I had so much fun during this entire troubleshooting process that it was time to look into going back into computers. I took a look at the programming opportunities in my area and one of them in particular caught my attention. The company seemed like a fun, intelligent, fast-paced startup that was doing really cool work in writing and implementing custom ASP.NET controls. What caught my attention about this listing was that they weren't concerned with finding someone who had a lot of ASP.NET experience per say, provided that you had good object-oriented programming experience in a language such as Java and were a fast learner. This was all the inspiration that I needed. I downloaded Visual Web Developer 2010 Express, got myself an ASP.NET book, and the rest as they say is history. Since that point my programming path has unfolded before me. It's been so much fun. Programming has made it's way back into my life in a big way and I am comfortable in knowing that this is what I'm going to do with myself, regardless of when I find a job that will pay me for it.  

Silverlight Sudoku

by Jeremy 19. June 2011 11:19

Silverlight is excellent. I'm having quite a bit of fun with it so far. I'm about 200 pages and 8 chapters into "Silverlight 4 In Action" and I just realized this morning what I want to do for a first project. I was about to get started on playing around with a Tetris clone when I got to the chapter on Panels and it struck me that doing a Sudoku clone would be easier and thus a better first Silverlight project. It should prove to be a lot of fun too. I had been thinking that I wanted to set up another subdomain, games.jeremycollins.info, and this will be a perfect first entry. Then I can move on to the Tetris clone and perhaps that will inspire other ideas as well. After all, my love for computing was sparked by my experiences with video games as a child and thus it feels like I'm coming full circle, getting back to my roots. At the end of the day, it's all about having a little fun with what you're doing, isn't it?


More RoomieWare Updates & a Slight Change of Plans

by Jeremy 12. June 2011 12:06

I was paying a bill on RoomieWare yesterday and after it's submitted the application takes you to the Paid Bills page with the new entry highlighted. As soon as I got there I realized that I would want to be able to see other bills of this type at this point. So I spent some time this morning figuring out how to do this and I realized that it was pretty straightforward. I love how easy ASP.NET makes things like this! I did have to add a new Stored Procedure that returns bills by Bill Type and then update the corresponding code in the Data Access Layer (DAL) and the Business Logic Layer (BLL), but these steps are really easy once you get the hang of it. Then it was simply a matter of adding a drop-down to the Paid Bills page, which I decided to put right next to the header, populating the drop-down with the entries from the BillType enumeration, and then updating my ObjectDataSource to call the new Stored Procedure with the variable from the drop-down. Easy! And it's all up and running and I'm quite pleased. My next chore is to write a page that checks the back-up database folder each morning and deletes entries that have been there over a week. If RoomieWare was supporting lots of users I'd probably want to store these back-ups somewhere else, but I think that a weeks worth of data is plenty for now. As long as I get all of the functional pieces in place now, it will be easy to tweak the details in the future.

In my previous post I talked about doing a Tetris clone in Silverlight. I'm still very much excited about that idea but I think that I'm going to spend a bit more time learning Silverlight than I had planned before jumping into that project head-on. I did some research yesterday to see what the project would entail and I realized that it would behoove me to just get a Silverlight book and spend some time working through it and familiarizing myself with the inner workings of Silverlight before I jump into a project. I've found that having a project is usually the best way to learn any new programming language or paradigm, but I think that Silverlight is sufficiently complex and different enough from plain ol' ASP.NET that the project will be much easier to dive into once I have a solid foundation in Silverlight.

So in the meantime I'm gonna start reading the Entity Framework book that I keep talking about in addition to C# 4.0 in a Nutshell, which I just got back to last night. I started on this one a little while back, just as something to do, and I put it aside when I started work on RoomieWare. What's funny is that I couldn't stop thinking about picking it back up recently. How dorky is that? Here's a 1000-page textbook on C# and I'm eying it like it's some great novel. I started reading it again last night and it was everything I hoped for from a reading experience. I'm going to elaborate a little bit on why I'm so pysched about it.

For starters, it's really well written by two brothers, Joseph & Ben Albahari, whom are lifelong programmers and computer lovers. The thing about programming and computers in general is that they satisfy this deeply engrained left-brained urge to figure things out and model them that all logical and scientific-type people have. While it may seem super-dorky to right-brained folks, it's really just an expression of the urge to create that all people share. Right-brained people write novels and left-brained people write software. Obviously I'm going overboard here in classifying people as we're all somewhere in the middle, but talking about the extremes helps to illustrate my point. One one side we have John Carmack, who in his earlier years seemed almost autisic in his drive to program and his corresponding inability to interact socially (as portrayed in "Masters of Doom"), and on the other side we have someone like William Vollman who oftentimes invokes the idea of writer as channeler in his epic, all-encompassing novels and journalistic endeavors. While Carmack seemingly strives to recreate the physics of our universe in his award-winning FPS engines (not to mention his aerospace engineering company), Vollman breathes life into his characters and universes as if he were the Creator himself. Check out Vollman's first novel,  "You Bright and Risen Angels",  to get a taste of his creative power.

What sometimes hinders this urge to create is the compulsion to perfect. One of the realizations that I've come to in this lifetime is that there's no such there as perfection in this world. Sure, in isolated situations we can imagine some type of "perfection", like getting 100% on a 10-question spelling test in first grade, but as soon as we move away from these very simple examples we quickly realize that the idea of perfection has no meaning. What defines a perfect car? How about a book? Or a human being? It's simply a matter of taste or definition. "Beauty is in the eye of the beholder", as they say.

This brings me back to C# and Microsoft. What I love about C# and one of the reasons that I think Microsoft has been so successful is that they do an excellent job of walking the fine line between perfection and progress. One common theme in programming is the micromanaging urge to write code that is perfectly clean, extensible, and reusable. While this works out quite nicely in simple examples, it quickly becomes a challenge as any amount of complexity is introduced into the situation that you're attempting to model or the software that you're writing. I learned this the hard way as a physics students when I realized that there were really only a handful of problems in any area of advanced physics that could be solved precisely. Much of the practice of engineering consists of using approximation methods to apply these solutions to messy, real-world situations. This was a serious blow to my desire to find perfection in this world. However, what has replaced this desire over the years is a willingness to get my hands dirty and to work through the complexity as it arises. Microsoft does an excellent job of this and it shows in the C# language. The bottom line is, any implementation of ANYTHING that involves any degree of complexity is going to have all sorts of exceptions and special cases that appear less-than-tidy (if not downright HORRIFIC) to the perfectionist's mind. Good computing thus becomes a balance between writing software that is flexible and clean on the one hand and a swift experiment in trial and error on the other. If we hold back and try and write perfect code every step of the way, we'll soon go mad trying to manage all of the details. Sometimes you just have to plow forward and see what happens! Let the computer tell you what works and what doesn't instead of trying to figure it all out ahead of time. In fact, this speaks to the very nature of computations themselves. Before we had computers we didn't understand anything about chaos theory or complexity. It wasn't until we had tools that could perform calculations repeatedly and rapidly that we could step back and observe the patterns that emerged from the data, patterns that taught us new and peculiar things about the nature of the world we live in.

That's what I love about C#. There's so much to it and it's all been reasonably well thought out. It's not perfect but it is flexible and robust. I can learn so many of the lessons that 50+ years of programming have taught us just by learning one well-rounded computer language. And that language is at the heart of so many other cool tools and technologies that Microsoft has developed like ASP.NET and Silverlight and Visual Web Developer and...

It's easy to take shots at Microsoft because they're so big and successful and because of all of the misteps the world has taken in defining what a corporation is and what rules they're subject to, but when you finally get out there into the muck and you get your hands dirty in the complexity of it all you realize what an incredible job they've done in harnessing all of the possibilities into fun and user-friendly tools, languages, and platforms. Sometimes the best way to figure out what works and what doesn't is simply to take a bunch of really smart people and move forward!

About the Author

Yogi, programmer extraordinaire and kung fu ninja, Jeremy Collins is an all-around interesting guy. Please enjoy his words.

Back to JeremyCollins.info

JC Hard at Work

JC Hard at Work

Month List