So, I finally managed to finish the first article that I hope to publish on Code Project. In this article I cover a little infrastructure object that works as a Memory Queue. I expand this object to be encapsulated by a Thread Queue, which I then use to build a Logging Framework. It explains a very simple pattern to use when you want to assign work to multiple threads without having to worry too much about Thread Synchronization and all those things that goes with it. It’s super-fast as you’ll be able to see in my Logger implementation and can be used in so many different scenarios. As I take strides in writing new articles that cover my Architectural series of articles I’ll be adding to this little project so I can build a complete framework that can be used and built on in my coming articles. My hope is to have a complete sample of how to write software using various technologies including Ruby, C# and Java as the services technology while using both JavaScipt and Silverlight as my User Interface technology. By doing this I want to show how you can completely separate concerns by using simple patterns that work for the specific tool set that you choose to work with. This is going to be quite a journey and the main aim for me taking this journey is to end up in a position where I have a complete understanding of the technologies mentioned above as well as the concepts I’ll be covering.
I’ll update this site as soon as it’s been approved by the powers that be over at Code Project. In the meanwhile if you would like to have a look at the article you can go to it by clicking here. I hope you enjoy this first article as much as I do and I also hope that you’ll give me some feedback.
So, you may have heard about a thing called Git and you were wondering more or less what it is and whether you would be able to use it for your own projects. Of course it’s not something new to those that know about it and for those that have been doing some open-source work. For the rest of us who come from more of a Microsoft world or even a Java one where we use tools like Team Foundation Server and Subversion, I’m hoping that you’ll find my new article called “Getting Started – Git” a bit more helpful in explaining what this thing called Git is. Since learning about Git and using Git, I’ve slowly started switching my stuff over to Git and even though I found it to be a bit tough to get use to when starting, I’ve come to realize that the benefits of using it outweighs the benefits of using some other tools.
As you’ve probably seen on this site, I have quite a few articles pertaining to Environments and the tools you can use to work well on all projects. Well… This is another one of those tools. What you will also be seeing in the coming months is how I start bringing these toolsets into the world I’m use to called Microsoft. As I’ve mentioned in some of my other articles, I’ve been trying to finish some articles that I’m hoping to publish on Code Project, which of course I’ll also have hosted here. Most of those articles will be on code written in .Net and what I would like to do is take those articles and their code and also do them in Java and Ruby, which will then hopefully give some of you non-Ruby and Java developers wanting to come into this space a bit of an advantage on how to get into it faster. I hope you enjoy the article and I also hope that you find some of the stuff in there helpful and useful to get you to understand Git and how to use it. In a subsequent article I’ll be combining Git and Git-Flow to give you a branching strategy that makes life a whole lot easier.
So, I’ve been quite busy learning some new things in the last couple of weeks which is why I haven’t been blogging or writing articles. Amongst the things that I’ve been busy with is writing some articles for Code Project which I’m hoping to publish in the next month or so. Some of the other things I’ve been busy with is playing with Ruby and the toolkits currently available in that space. Coming from a Java/C# background it’s been quite an experience jumping into the declarative dynamic world of Ruby and I must say that the more I play with it the more I’m starting to enjoy it. So, my setup is something like the article that you’ll be able to find on this site here. In the quest of learning more and more technologies and writing these articles I’ve come to appreciate the ability to slow down (in my private time) and to really think about what I’ve been doing and how all this newly found knowledge will affect my trend of thought and the way that I go forward in development and technology. As I state somewhere on this site, it’s all about using the right tool for the right job. Just because I’m a C# developer with a Java background doesn’t mean that those are always the right tools to get things done. Yes you may be able to do anything in your chosen technology, but does that allow you to really understand the problem you’re trying to solve or does it really make the Technology you use and the constraints it introduces your main focal point. As I’ve learned, the more you know, the less constrained you are by what you don’t know… Maybe ignorance is bliss and we should simply continue in the way that we always have, but then where’s the fun in that right? 🙂
- Digging into Ruby Symbols – O’Reilly Ruby
- Do You Understand Ruby’s Objects, Messages and Blocks?
- Ruby’s of Coney Island: ‘We Will Not Go Down Quietly’
- Ask HN: Rails or Django?
- Ruby Books
- Lucas Nussbaum: Helping improve Ruby on Debian and Ubuntu
- Obie Fernandez : Ruby on Rails and more…
- Why teach with Ruby?
- Mislav’s Explain Ruby
- Things That Newcomers to Ruby Should Know
So, in my previous blog I raised a question as follows:
“How do you save your data to the closest data center while still having a global view i.e international customers should have a view of their data no matter where they or their data are and without affecting performance?”
What I should also have noted was that I’ve written the very complex routing code as I’m sure so many out there have as well. So, why would I raise the question if I’ve done this kind of thing before… Well, there may just be another solution (simpler solution) out there that doesn’t involve this complexity that we as developers like to create for ourselves. Now, over the last couple of weeks I’ve been doing some research on MongoDB and have come to like the simplicity that they bring across in their product. Which is why I’m busy writing all the articles under the MongoDB menu on this blog. It’s very much a work in progress, so don’t expect much at this stage, but the idea is that as time goes past I’ll have a complete set of articles with code running under all kinds of circumstances as well as in different languages…
Why am I blogging about some articles that will be coming up? Simple… I do it because I see it as a promise to myself that I must do something and that no matter what, I’ve made the commitment to myself…