As software engineers, I get the feeling we’re moving almost entirely away from code. And I don’t just mean having conversations with agents where they write all the code. But even further, maintaining just a system of prompts that describes the software. Treating the agents as some kind of modern compiler that compiles English into code. The natural language becomes the “code…
Coding and Legislature I’ve never understood why we don’t employ standard software engineering practices when creating laws. Comments, Documentation, Readable Code Version Control Boilerplate and DRY Refactoring Modularity Code Reviews Beta Testing Use Cases, Case Scenarios, Feature Testing User Experience and Interface Design Documentation Clearly, written laws not meant to be…
Disillusionment as a Service Listening to a friend talk a little bit about her own trouble getting involved in charity work and social change organizations, reminded me of how hard it was for me to get into the regular practice of “Giving”. The biggest thing I fought against was the simple idea that my little bit couldn’t possibly make a difference. And that going out there and…
The Search for Spock I’m always looking for better ways to organizing my life and improving my personal productivity. One tool that has popped up in several discussion is Trello. I know a few people using it as a flexible online board for managing their workload, both professionally and personally. It seems like a great idea to work this into my own arsenal and see if its the godsend all the…
Note: be warned, rant ahead. The Incident My homepage is now yahoo. A site I never use, never have used, never will use. My default search is now Yahoo. Again, a service I will never use. (even more so now) An ugly and useless yahoo search widget is added to my toolbar. It takes up precious real-estate. Worse, these changes seem to be permanent. Or at least damn close to it. After various fiddling…
For Whom The Bell Tolls. As previously mentioned, I use VIM rather heavily, and I have some OCD behaviors when doing so, which includes hitting <escape> a lot. So I like to turn off the bell sounds vi makes on errors and unnecessary commands. IdeaVim I’m also a heavy user of IdeaVim plugin for IntelliJ. I wouldn’t be able to use IDEs at all without those plugins that add VI operation…
I’ve been using Evernote for taking notes for a while now. But I really miss taking notes in VIM. History I’m a heavy VIM user. I use it for coding, through and though. So much so, that I use VIM-style editor wrapper plugins IDEs such as Eclipse and IntelliJ. Otherwise I find normal ’editors’ clunky and un-usable. When it comes to coding I’m clearly more productive,…
A Beginners Guide I use RubyMine without doing any rails and doing just what you ask. I write a lot of simple scripts, and large applications, both often usable from a command line. I still organize my code into a ‘project directory’. And point RM at that directory. Instead of just working entirely in a file, and trying to point RM at the file alone. This seems to be what IDE’s…
How I choose to work has changed over the years, naturally. Learning new technologies and techniques. New hammers and tools to put on my belt. An important part of this was how I went about choosing what technologies to associate myself with. I didn’t just let people set things down in front of me, and choose my paths for me. I constantly researched and pro-actively vetted technological…
I’m trying to promote code sharing and code review and open source ideas, internally at my company. I setup a copy of gitorious on our intranet and we’re starting to commit projects into it. I whipped up a quick overview of Git and Gitorious to share with my coworkers to make them more comfortable with the systems and get them started. Its not entirely technically accurate but it…
I’d been doing this for a years, but had no idea there was a name for it. For me it came out of unit testing UIs. I found my widget classes would have a lot of dependenciees. But they’d only end up using each dependency for a one or two small things each. It seems a shame to pass in the whole object just for that. Also this left me with alot to mock in my unit tests.
In my applications I persist a lot of structured data into the database. Hibernate and other ORMs are great at making this easy to do. One problem is that they tend to map the entire object structure to rigidly structured database fields and tables. Quite often that’s just overkill. Strings as a black box datatype Take strings for instance. A VARCHAR makes perfect sense if you know the…
I know that programmers.stackexchange is supposed to be the cruft of stackoverflow… the spam folder, if you will. But its turning out to be my favorite programming related site.
Sometimes you don’t want to load the data for a view, but not until the view is actually being seen by the user. Such as when they click on the tab to expose it. This is taken care of automatically in Web UI’s because the user simply won’t be on the right page yet. Not until they’ve clicked on the right link or button to take them to the page with that view. But I do this a…
I used the java-based @Configuration, new in Spring 3, to embed my spring bean configuration right into my main() class. Of course I could also embed the bean configuration into the code by programmatically constructing the beanfactory/applicationcontext. But coding that is very ugly and wordy. Boilerplate ridden, if you will. @Configuration @ImportResource({ "some-property-defintitions.xml",…
I explain Splunk to my team using a layered approach. 1. Full-Text Search ... of the world Start with a full text search engine. But put _everything_ we have into it. logs ( host and application ) configuration files (change management) stats (system performance, monitoring) alerts (snmp, emails, anything automated) reports emails bugs, tickets, issue and tracker systems documentation, wikis, and…
I missed the memory talk at VMWorld. I passed it by for some API related sessions. One of my coworkers suggested I go to it and I should have listened to him. Something that’s popped up recently is the fact that memory reclamation using the balloon driver fails miserably when used in conjunction with a JVM. http://communities.vmware.com/blogs/drummonds/2009/09/09/love-your-balloon-driver…
Alex Maier and I in front of the “Blogger Lounge” at VMWorld in San Francisco. I told her I was a blogger, but I don’t think she believed me.
Don’t worry, this isn’t a post about “checked exceptions”. Of course the post-title isn’t an iron-clad rule, but you really don’t have any excuse to have the following code in your application. throw new RuntimeException("innocuous message"); You can catch them, and throw them again if caught. But RuntimeException is just meant to be a super class for you to…
I have trouble learning anything at conferences. Though, I’ve only been to a few. This is a retelling of what I told one of the Splunk people at their conference. Its starts with; "I'm probably just not the right type of person for conferences." Don't get me wrong. Their conference was great. But I'm one of the few people in the world that actually reads documentation... thoroughly. And…
Everyone seems to have an opinion on this one. Now that Google Wave has been put in the can, its getting some revived press. I’ve never understood the mysticism assigned to it. It seems rather straightforward to me. Its just a collaborative document edting system. Conceptually you could think of it as just another wiki. Wiki Users can edit it, including editing what the previous users added.…
I'll admit, I hadn't read any books on UI testing before. But I have an understanding of the difficulties in it from my own failed attempts, as well as the various blog posts I've read over the years. Like many I just chalked it up to too hard to do well. Fortunately, this book was a big help as a first step. The techniques it suggests are simple and helpful. And show that UI testing doesn't have…
I’m Jason Stillwell, a software engineer. This is my blog where I write about programming, tools, and whatever else catches my interest. The Name In Perl, "0 but true" is a special string that evaluates to zero numerically but passes as true in a boolean context. It exists because some functions need to return zero and signal success at the same time — zero rows affected, but the query…