Downtime

February 7th, 2009 by Michele

Today all our services (briksoftware.com, snapplr.com, pdfkey.com) have been down for about 10 minutes. Some however may have had problems for much longer time, as we changed our IP address and DNS takes some time to propagate.

This was caused by the fact that we migrated to a new, more powerful server in order to better satisfy the sudden increase in traffic generated by the incredible interest Snapplr caused :D

I apologize for any inconvenience this has caused you, but now we are Harder, Better, Faster, Stronger :D

Snapplr 1.0

January 26th, 2009 by Michele

We are extremely excited today. Snapplr finally reached 1.0! After much coding, improving, and digging around Mac OS X internals we can finally share this great utility with you.

Plans for the future are grand, but of course we cannot reveal anything yet. Stay tuned, and enjoy Snapplr!

Snapplr progress

January 9th, 2009 by Karsten

This year I’ve been on a trip to Rome during new year. I’ve visited Michele and we spent pretty much most of the time coding on Snapplr. After one week of rewriting the screenshot selection from scratch, we had a new beta of Snapplr available. We’re proud to say that the selection is now exactly like in Mac OS X, except that you can still decide what to do with the screenshot after it is taken.

In the previous beta one could not make screenshots of menus or utility windows. The problem was that Snapplr always activated and thus deactivated the frontmost application. That was needed because Snapplr needs the keyboard input for best usability. The system’s screen capture tool doesn’t need to activate and still receives the keyboard events. We thought that if this tool can do that, Snapplr can do that as well.

NSApplications can’t capture all keyboard events when they’re not active. This seems to only works for command line applications… and only if you do an animal sacrifice at new moon ;-) . So we ended up extracting the screenshot selection into a new terminal tool that is now called by Snapplr upon activation. Unfortunately that also ment porting the NSView UI to a CoreGraphics UI.

During this week we really noticed that it totally pays out if you keep refactoring your code and if you have a good design. We could just drop a couple of classes in the main application and extract their functionality into the terminal tool without much effort.

We also updated the server-side of Snapplr. As of now it is not required to have accounts anymore. We decided that accounts are just too much of an inconvenience for the user.

The new beta is available to all existing beta users. The previous beta should automatically load the new version on launch.

Stay tuned, Snapplr just made a huge step towards final release.

Karsten

Snapplr Screenshot Small

The Debugger has exited with status 1.

January 6th, 2009 by Karsten

Yesterday I encountered a very strange bug/feature in Xcode. I just couldn’t run any application in Release configuration anymore. I always got “The Debugger has exited with status 1.” in the run-log. In debug configuration they worked, without Xcode they worked, in gdb they worked, but as soon as I tried to start them in Xcode in Release configuration it didn’t work. Not even a fresh new Project would work.

I tried removing the prefs but that didn’t help. But it seemed to be user-dependent. I could run my Projects in Release configuration when I logged in as another user.

This morning I saw the “GDB Log” setting in the Debugging Prefs. I activated them and compared the logs of Debug configuration and Release configuration. And this really showed the bug. I had a binary of a System-Framework in my Release folder and instead of the system-version it linked the application to this binary. To my bad it was a binary from a different mac, which is still running 10.4. This made the app exit right when it was started.
The solution was as simple as removing this binary from the Release-folder.

This GDB log is really a lifesaver sometimes!

Karsten

Xcode Refactorings

September 27th, 2008 by Karsten

I just created yet another class with some instance variables and so missed the functionality of creating accessor methods for these instvars automatically. As I never really looked into the Refactorings of Xcode 3 I didn’t notice that they provide an encapsulation refactoring. Using this on an instvar nicely generates accessor methods. You have to apply it to all your instvars separately, but still it’s a great gain.

One thing they should improve though: why is the refactor command no submenu which shows all the available refactorings? This way the refactoring could be chosen much simpler.

Karsten

PSIG

September 3rd, 2008 by Karsten

I think I’ll be in Chicago tomorrow evening. I’d really love to join in for PSIG, but I don’t have any idea on how to get there best, can anyone tell me how to get there? I’ll arrive in Chicago at 5pm and I’ll stay in Downtown near Harrison-Station at the Grand Park. I guess I can’t make it to PSIG in time, but I guess you guys don’t meet up just 5 minutes ;-)

Karsten

Blocks in Objective-C

September 2nd, 2008 by Karsten

There have been quite a lot of news about blocks in C recently. What I wonder however is: will there be a Objective-C block object that wraps such a new C block?

Thing is: You can’t send messages to C-Blocks, they’re just as primitiv as an int, or a float, even if they’re more complex. In Obj-C you also have string literals like @”a string”, which you can send messages to. Why not also have literal blocks like @[:arg | arg doSomething]? I think that would really make live a bit easier sometimes.

@[:arg | arg doSomething] might look a bit too smalltalkish for some people, but on the other hand the selectors in Obj-C also look just as cool as in Smalltalk.

Anyway, looking forward to seeing blocks in Cocoa.

Karsten

seaBreeze

August 28th, 2008 by Karsten

Yesterday at Esug Conference’s Social Event the winners of this year’s Innovation Award were announced. At Georg Heeg eK I worked on seaBreeze for the last half year. I’m proud to say that our project seaBreeze won the second price. The third price was given to iSqueak, a Squeak implementation for i-devices. The first price went to Dr. Geo, a tool for schools where they teach geografie.

seaBreeze is an Interface Builder like web-application to create websites using the Smalltalk based web application framework Seaside. It is either possible to start from scratch or to scaffold a user interface and take this as a basis to start in seaBreeze.

seaBreeze is soon to be available in the Cincom Public Repository. It’s licensed under MIT License so go and try it yourself! There’s also a commercial license, in case you need warranty and support.

Karsten

Cards – lightweight card manager for iPhone (and iPod touch)

August 10th, 2008 by Michele

So, a few days ago I released Cards, a freeware application for the iPhone to manage credit card. Is really easy to use and has little features, I have mostly coded it for myself but then I’ve been asked to put it on the AppStore. So, I lazily posted it on the AppStore, without doing any webpage and stuff like that.

Worst decision ever.

Apparently, a lot, and I mean a lot of people thought about something which didn’t even cross my mind: that the application may call home and report data! Indeed, there was no good reason to trust “Michele Balistreri” (I was sure I used Briksoftware name, but whatever). Now I quickly setup a page and wrote this blog post in the hope to stop triggering paranoid alerts. Thanks to the (few) ones who decided to just trust Michele Balistreri and probably Apple’s review procedure. I hope those enjoy the benefits of the application.

For those of you wondering about the purpose of the application, I’ll just say one thing: I kept my PIN codes in my addressbook under strange names because I would forget them. Not only thats not secure, but I kept forgetting which card had a certain PIN, which created awkward situations in stores.

Snapplr Beta 2

July 15th, 2008 by Michele

Today we released what we call Snapplr Beta 2. In practice we’ve been releasing many updates but we now have reached some important milestones. We have simplified the first start wizard, to avoid confusion induced by the “firewalled” status that would show up quite often (correctly, but it didn’t mean that Snapplr wouldn’t work).

Now, on Leopard, Windows screenshot include shadows and we have optimized performances in Area screenshots.

We have been receiving a lot of feedback this days. I’d like to thank everyone for their support and we’ll do our best to satisfy all requests!