I read something about JRuby today, I think it was that they have a new release that is many many times faster. Anyways, this inspired me to play around with it some. I pulled the newest code from their subversion repo, set up my environment and wrote out some code for a bit
Conclusion… Its really cool and its hard to believe that it actually works. It feels strange creating Java objects in ruby, using their Java methods, and then using them like ruby objects. Very strange, but that strange feeling is cool. Thinking about the huge set of Java libraries instantly available is pretty amazing. No wonder Sun wanted these guys. :)
OS X has definitely won me over as a web development platform.
Great for testing out HTML and CSS. I’m able to run a diverse set of browsers: Firefox, Safari, Opera, IE6 (using crossover Mac). I still have to get to a windows box for IE7 testing thought (thankfully its the least broken IE browser). As a side note firebug also rocks for finding HTML and CSS problems.
Development speed is increased by not having to spend time fixing the OS or the applications. Everything just works.
TextMate which is awesome for programming and general text editing (Lots of the emacs keys I hit by instinct work in it!)
Its easy to run all of the DB and web servers on its Unix base that you’d need for a development environment
High quaility graphic and photo editing software is available
As a Java™ programmer, if you spend some time with Lisp — this lost city of gold — you’ll discover many techniques that will change the way you code, for the better.
One of the great things about Lisp and several other languages is that even if you never take the opportunity to use it for a project, understanding how to think in Lisp will help you solve other problems.
Scott Rippee @ 7:34 pm
Saturday, February 10th, 2007
I’ve known about distributed source control management systems for a while and have heard about Darcs several times, however, reading their getting started page got me a little excited.
Their examples show how easy it is to use and the key features brought up benefits that I had not previously realized about a system like this. Some of interest:
Linus mode. I want to add a feature or bugfix to an open-source project. I make a local Darcs copy, apply my changes, then send my changes by email (”darcs send”). The project’s maintainer(s) can decide whether to accept or reject the changes. This way, you don’t necessarily need to screw around with commit privileges. This is how Darcs itself is maintained, by the way. This is also similar to the way Linux is/was maintained, except the process is implemented in software.
Parallel development. Let’s say I follow the development of this open-source project, and I have some “controversial” patches that aren’t accepted by the official maintainers. No problem — I make my changes, release my own distribution. It’s a fork, of sorts, but it’s still connected to the mainline. Whenever the official project makes changes, I do a “darcs pull” to get them, and resolve any conflicts. This way, my fork is kept up to date with the main project’s repository.
Easy local revision control. CVS/RCS is popular for versioning home directories, /etc, etc. With Darcs you get the simplicity of RCS with the power of, well, Darcs. Maintaining the same config on a myriad of PCs becomes easier, not least because Darcs supports pushing of changes; I can make changes and push them to all my servers with a single command.
UnderpaidLoveMonki @ 12:07 am
Monday, January 22nd, 2007
Here’s another good read in June 2006 edition of Scientific American, “Dependable Software by Design.” It mentions a software tool developed at MIT called Alloy Analyzer. Do check it out.
UnderpaidLoveMonki @ 10:50 pm
Monday, January 15th, 2007
Kernel programmers wanted, as Greg Kroah-Hartman proclaims by giving his book to the public for free.
I want this book to help bring more people into the Linux kernel development fold. The act of building a customized kernel for your machine is one of the basic tasks needed to become a Linux kernel developer. The more people that try this out, and realize that there is not any real magic behind the whole Linux kernel process, the more people will be willing to jump in and help out in making the kernel the best that it can be.
You can download it from here. If you download it, you’ll be quizzed by Friday afternoon. So get studying! :)
Scott Rippee @ 8:53 pm
Saturday, January 6th, 2007
It’s true, Apache + FastCGI is a horrible, horrible solution, unless your problem is “how can I waste my time on a dodgy server config?” in which case you shouldn’t be using the Intarweb while drunk.
I’m currently putting together a Rails, Mongrel, Apache configuration (maybe capistrano….). I was glad to find this article while looking how to use apache, with mod_proxy_balancer, and Mongrel instances.
Scott Rippee @ 8:00 pm
Saturday, January 6th, 2007
I was reading through an interview of Zed Shaw (Mongrel developer extraordinaire) and liked his personal code review steps before a release. He looks for:
“missed assertions” — Unstated assumptions about inputs and outputs.
“missed else” — Logical branches that don’t cover all test domains.
“will it stop” — Looping errors that will cause classic infinite loops or short loops.
“check that return” — Return values that aren’t dealt with properly (which are really assumptions about other inputs and outputs).
“unexpected exceptions” — Exceptions are pretty darn evil since they’re rarely documented.
“simply readable” — Replacing clever code with readable simple code where possible, and documenting complex code so it can be reviewed by others.
Many would benefit from additional focus on 1 and 6. Myself, I need to start putting assertions to greater use.
Scott Rippee @ 10:52 pm
Sunday, November 12th, 2006
A to the point guide for using the programming language Ruby. This guide has provided useful to me in filling the gaps between the ruby I know and what I need to find out when looking at code snippets. link
Scott Rippee @ 10:55 pm
Sunday, November 5th, 2006
I picked up firefox 2.0 today (this spell checking rocks my blog posting world) and discovered firebug when trying out some new extensions.
FireBug lets you explore the far corners of the DOM by keyboard or mouse. All of the tools you need to poke, prod, and monitor your JavaScript, CSS, HTML and Ajax are brought together into one seamless experience, including a debugger, error console, command line, and a variety of fun inspectors.
This is the shit.... edit the page on the fly and get instant feedback. Move the mouse around and find out which parts of the code correspond to it. Set some break points in the javascript and debug your issues away. FireBug - > web like irb - > ruby. Well.. maybe.