Archive for the ‘Software’ Category
Posted by Stephan on 2. March 2012
Yet another short note to my future self:
Running a Mac with a German keyboard layout (likely having the key sequence “7 8 9 0 ß ` <Backspace>” in the top row) and using a Parallels Desktop to run Windows and needing to enter a back slash (\) now & then?
Try the right-hand-side CRTL-ALT + ß (the key with the German ‘sz’ as the primary character).
Posted in Mac, Software, Work Environment | Tagged: back slash, german keyboard layout, parallels, \ | Leave a Comment »
Posted by Stephan on 12. February 2012
- How to remove Xcode completely from your system:
sudo /Developer/Library/uninstall-devtools --mode=all
Use at your own risk!
- Where to get Xcode: The App store: https://developer.apple.com/xcode/
- OSX-gcc-intstaller: https://github.com/kennethreitz/osx-gcc-installer
Happy hacking!
Posted in Mac, Programming, Software, Work Environment | Tagged: gcc, XCode | Leave a Comment »
Posted by Stephan on 18. November 2010
In case there’s this weird error message when running unit tests for a Rails app, chances are that your fixtures need some attention. Especially if the schema changed…
NoMethodError: undefined method ‘name’ for #
method method_missing in test_process.rb at line 511
method method_missing in test_case.rb at line 158
method rescue in run in setup_and_teardown.rb at line 26
method run in setup_and_teardown.rb at line 33
method block (2 levels) in run_test_suites in unit.rb at line 641
method each in unit.rb at line 635
method block in run_test_suites in unit.rb at line 635
method each in unit.rb at line 634
method run_test_suites in unit.rb at line 634
method run in unit.rb at line 594
method block in autorun in unit.rb at line 492
There’s no test method given, because, well the tests don’t even get that far: It’s likely that there’s a key (column name) given in the fixture, which is not in the DB schema (anymore).
Posted in Programming, Ruby, Ruby on Rails | Tagged: fixtures, NoMethodError | Leave a Comment »
Posted by Stephan on 8. November 2010
Getting rvm and Ruby 1.9.2 and TextMate can be a bit of work, especially if you’re using rake as well inside TextMate.
Good Thing there’s a solution already: Jim blogged about it at “RVM, ruby 1.9 and TextMate“. Thanks Jim!
Posted in Programming, Ruby | Tagged: 1.9.2, Ruby, rvm, TextMate | Leave a Comment »
Posted by Stephan on 28. July 2009
While working on some tree structure a couple of unit tests failed, when creating some form of summary of said tree structure. First of all here’s a condensed form of the code:
require 'sequel'
DB = Sequel.sqlite
DB.create_table :items do
primary_key :id
String :name
String :foo, :default => 'NOT SET'
Integer :item_id
end
class Item < Sequel::Model
one_to_many :items
def summary
if items.empty?
return [ { self.name => self.foo } ]
else
items.inject( [] ){ | r, sub_res | r << sub_res.summary }
end
end
end
r1 = Item.create :name => 'R1'
r2 = Item.create :name => 'R2'
r1.add_item r2
r2.foo = 'Ding'
#r2.save
[ r1, r2 ].each{ |i|
puts "Item : #{ i.id }"
puts "Direct Foo: #{ i.foo.inspect }"
puts "Summary : #{ i.summary.inspect }"
puts
}
Notice, that I’ve commented out saving r2. The output is:
Item : 1
Direct Foo: "NOT SET"
Summary : [[{"R2"=>"NOT SET"}]]
Item : 2
Direct Foo: "Ding"
Summary : [{"R2"=>"Ding"}]
What I didn’t expect – and why the unit tests failed – is the ‘NOT SET’ in the r1 summary.
One way to end up with what I originally expected is to save r2. Another way is to set r2.foo before adding r1 to r1:
r2.foo = 'Ding'
r1.add_item r2
How ever I’m still not sure whether this is intended behaviour and why it should behave like this. (If it is, I’d like to know why.)
What do you think?
Posted in Ruby, testing, Uncategorized | Tagged: Ruby, Sequel, tree | Leave a Comment »
Posted by Stephan on 18. July 2009
The term “Software Engineering” is coming to age: It was coined slightly more than 40 years ago in Garmisch-Partenkirchen, Germany. Tom DeMarco wrote a very interesting article about his opinion about the topic, which is available online at the IEEE Software magazine: “Software Engineering: An Idea Whose Time Has Come and Gone?” Let me cite just this part:
This leads us to the odd conclusion that strict control is something that matters a lot on relatively useless projects and much less on useful projects. It suggests that the more you focus on control, the more likely you’re working on a project that’s striving to deliver something of relatively minor value.
I strongly recommend to read the whole article.
Posted in Programming, Software | Tagged: Control, Software Engineering, Value | Leave a Comment »
Posted by Stephan on 26. May 2009
Ever needed to remove a file or directory from a git repository? I had to: After pushing a change that included a rather large file to a remote repository, the repository couldn’t be cloned anymore (due to a memory limitation). The support is working on the issue, but being able to clone the repository seems more important to me than having the slides for a presentation (of the past) in this particular repository.
So here’s how: David Underhill has already done – and described – it: “Git: Forever Remove Files Or Folders From History”
Worked for me as well.
Posted in Programming, Software | 1 Comment »
Posted by Stephan on 25. May 2009
Since its 0.9.2 release on 18th of May 2009, Sinatra doesn’t automatically reload files anymore – not even in development mode.
To achieve this use ‘shotgun’
sudo gem install shotgun
and then start the server using:
shotgun <your_applicationname>.rb
The effect is essentially the same (apart from avoiding the issues the ‘traditional’ way of reloading apparently had – which is why it was removed).
Thanks for pointing this out in this thread @ rubyforen.de.
Posted in Programming, Ruby | 3 Comments »
Posted by Stephan on 18. May 2009
Posted in Ruby | Tagged: readline, Ruby, Windows | Leave a Comment »
Posted by Stephan on 12. May 2009
These two days with Ruby enthusiasts form all over the world not just Europe was great. Nicely located at citilab, with very good public transportation to the city centre of Barcelona, there was enough space inside as well as out side the building to talk to the other attendees, just relax in the sun or work with the notebook. Two wi-fi networks inside and outside the building could deal well with all the notebooks and mobile phones connected to it. This worked very good indeed.
The presentations I liked most where the ones introducing really exciting and new stuff. First and foremost there’s Rhodes, which enables the creation of native mobile applications with Ruby and HTML. And of course Matz’ keynote was very entertaining as well. More really new stuff was about Adhearsion a way to build voice enabled application with Ruby (and Rails). Then some of the presentations were a really good show. Most notably Javier’s talk about gosu, a framework for games and Pablo’s presentation about Archaeopteryx which was probably the loudest presentation I’ve ever heard.
The only thing that was a tad bit disturbing for me was that I didn’t have one of the mobile microphones available and was kind of stuck behind the table as well as the phones themselves, as they seemed to go silent now and then. Aslak dealt with this best I think, repeatedly saying “Hello?” directly into the microphone whenever it went silent.
I think this year was the first time Twitter was heavily used during Euruko, reusing a bot made for Scotland on Rails. and this helped enhancing the communication and connecting people even more than in previous years. A special “Thank you” to all for the other attendees who gave me direct feedback about the presentation as well as the corresponding discussion about it, including but not limited to: Andrew Miller, Tim Becker, Mike Just, Dave Frey. Thanks a lot, indeed.
More summaries are available from Javier and Tomasz.
Next year Euruko will take place in Krakow, Poland and I’m already looking forward to going there.
Posted in EURUKO, Programming, Ruby | Tagged: Adhearsion, Barcelona, citilab, EURUKO, gosu, Ruby | Leave a Comment »
Posted by Stephan on 28. March 2009
While still in the process switch ing from Subversion to Git, here are a few helpful links I found:
Once up and running there’s of course github, gitcentral and gitorious. For hosting open source projects currently github seems to be the choice, but in case you prefer not to share stuff (just yet) gitcentral offers free (as in no money) hosting of private projects using free (as in open source) software.
Posted in Mac, Software, Work Environment | Tagged: Git, gitcentral | Leave a Comment »
Posted by Stephan on 9. March 2009
Over at euruko.org the registration is now open. The conference is on the 9. & 10. of May 2009 in Barcelona, Spain. It seems they collected quite a few exciting talks – and mine.
Really looking forward to going there.
Posted in EURUKO, Ruby | Tagged: Barcelona, Euruko 2009, Ruby, Spain | Leave a Comment »
Posted by Stephan on 1. March 2009
I just found this Rails plugin: acts_as_textile – on GitHub.
Given that I do use Textile every now & then it’s very likely going to be pretty helpful. Thanks for sharing.
Posted in Ruby on Rails | Tagged: Rails, Textile | Leave a Comment »
Posted by Stephan on 31. January 2009
Ruby 1.9.1 has just been released.
And just as a reminder: Dave Thomas describes how to install and run Ruby 1.9 in parallel to 1.8 – as well has giving some information about what has changed.
Posted in Programming, Ruby | 1 Comment »
Posted by Stephan on 12. November 2008
The Ruby & Rails people in Munich will meet on Thursday 13th November 2008 19:00 (CET) at the traditional place, the “Augustiner am Dom”. It’s also entered to the Ruby on Rails UG Wiki. Also see the German rubyforen site.
Posted in Ruby, Ruby on Rails | Tagged: München, Munich, Rails, Ruby | Leave a Comment »
Posted by Stephan on 10. October 2008
While reading about the DRY principle (for “Don’t repeat yourself”) and the evil of copy-and-paste coding (again), I started thinking what to do instead. Actually, what to do is more or less obvious: Put the code into a place where its accessible to be reused — a method, may be in a new or existing module or class.
So, whenever I feel the ‘need’ to copy code, I now think about cutting it, creating a new method and calling that. Apart form avoiding duplication, the code is now testable immediately by calling the method (instead of getting the surrounding code exercised). And the methods using the code gets shorter.
In the end, it boils down to pasting code being perfectly OK, it’s the copying that causes the trouble.
Posted in method call, Programming, testing, Uncategorized | Tagged: Coding, Testability | Leave a Comment »