June 12th, 2007 by Michele
I’ll keep this post for your own amusement. It turns out that there actually is a preference in the Tabs pane to disable these warning. I still think this should be the default and is not too easy to spot (maybe a “never ask again checkbox” on the warning would suffice).
I’m excited by the new features of Safari (both those in the beta and the announced ones). But they did one major mistake.
Now when you have to close a multitab window it ask you if you are really sure of that. Does it do any good? How often do you mistakenly close a window you didn’t want to? And what’s the cost of closing a webpage by mistake? Usually not high. This is even more annoying that the same happens when you try to *quit* Safari. Now if you press cmd-Q or go to Safari->Quit chances are that you just want to quit, why do you have to click again?
Also, soon enough clicking OK will become automatic, that probably the one time out of a million that you actually didn’t want to close the window, you will click OK anyway and just after say “ouch!”.
Me and my girlfriend were extremely annoyed by this behaviour and her comment was “is this becoming Windows?”
If anybody is annoyed by this “feature” please send your feedback to Apple. I’m sure is very important to them especially in this stage.
PS: I’ve posted this on VersionTracker and MacUpdate as well because I’m *really* annoyed by this behaviour.
Posted in Opinions & Thoughts | 7 Comments »
June 9th, 2007 by Karsten
Lately I was driving home and I was thinking a bit about BSInspectors. The inspectors use plugins, but the plugins always come in pairs, which is first: annoying to create, and second: annoying to maintain. I’d really prefer to go for a one plugin per plugin architecture ;-).
I ended up with a concept that I’ll call Schizophrenic plugins in the post. Basically they are plugins that contain two or more principal classes. The benefits are obvious: you only need to create one bundle/plugin and you only need to install and load one bundle.
Why would you need it in first place? BSInspectors is a plugin for Xcode that has plugins itself, and these plugins are divided into two parts, the Xcode part and the application part. The application part is loaded into the application to provide the data for objects in a proper way. The Xcode part can then use this data to display the objects in a much more convenient way.
So how can such a plugin be implemented? The implementation is as simple as the idea. You just ask the plugin’s principal class for the class you want. The principal class for BSInspector plugins for example could look like this:
@interface MyBSInspectorPlugin {
}
+ (Class)inspectorClass;
+ (Class)debugObjectClass;
Simple interface, isn’t it? Your plugin loader then just has to do something like:
...
Class aClass = [[bundle principalClass] inspectorClass];
id myInstance = [[aClass alloc] init];
... //whatever
instead of:
...
Class aClass = [bundle principalClass];
id myInstance = [[aClass alloc] init];
... //whatever
I think I’ll implement it into BSInspectors some day, but till then I’ll first do a hell of a lot more work for CuteClips3 😉
Karsten
Posted in New ideas | 2 Comments »
June 3rd, 2007 by Karsten
I’m a Mighty Mouse user…this mouse simply rocks! Apple did a great job designing this mouse. It fits very good into a hand, looks very simple and is really useful. Apple always had a one button mouse. The Mighty Mouse still looks like one, and it’s configured as a one-button mouse by default. But it can be configured as a 4 button mouse as well. I really like that design!
One thing that I really love is the scroll-ball, very small, fits perfect under the finger and scrolls very nicely…even with a cool clicking that you can even feel with your fingers.
One thing that I really hate is the scroll-ball, too small, catches all the dirt from your finger and fails to scroll when it’s too dirty…and no clicking that can be heard or felt then.
Yesterday I wanted to clean my Mighty Mouse’ scroll-ball for the second time. I noticed that the glue that I used for sealing the case, was a bit too strong. The original glue kinda snapped off under some pressure, but the glue I used when I cleaned the Mighty Mouse for the first time was different and didn’t want to snap off as well.
It was a pain to put the small scroll-ball in place again after I finished the cleaning. Unfortunately the conductor that connects the scroll-ball to the logic-board tore apart and now the scroll-ball doesn’t work at all. It’s a pity, cause there’s no way for me to fix this, and now I have to work without my Mighty Mouse.
Amazon already got the order for a new one, I hope they deliver till tuesday 🙁
Karsten
Posted in Opinions & Thoughts | 7 Comments »
June 2nd, 2007 by Karsten
I just saw the post at red sweater about Service Scrubber, a tool that allows you to get rid of unwanted service menu items.
I can’t tell you how much I missed such a tool and I instantly installed and ran it. It’s quite interesting to see how many actions I disabled :-D. Now I have only 4 items left and it’s a good feeling 😉
Karsten
Posted in Opinions & Thoughts | Comments Off on Service Scrubber
May 17th, 2007 by Karsten
Recently I wanted to automatically center a NSView inside a window. But the buttons inside this view were displayed pretty strange:
You can see, the buttons and the textfield are drawn blurred and the buttons have a stripe on both sides of their label.
It took me quite some hours to figure out what was going wrong, but then I found the bug: floats with a fraction portion.
AppKit uses floats all over the place, but it seems those floats have to be truncated in order to draw the view properly. After using truncf(aFloat) everything was displayed as one could expect it:
I attached a sample project to this post, so you can have a look yourself.
sample project
Posted in Developing on Mac OS X | 3 Comments »
May 10th, 2007 by Karsten
Hi,
lately I convinced Michele to start learning Smalltalk. I’ve been a Smalltalk developer for several years and really like this language. But it’s not only the language, it’s also the IDE. Smalltalk IDEs have always been to first IDEs when it comes to creating new features that help developers do their work. That is testing with SUnit, which was developed in the early 90s or refactorings, which were added to Smalltalk IDEs in the mid 90s.
After some time other languages like Java and C# got Unit testing frameworks as well, and their IDEs (Eclipse and VisualStudio) can do refactorings too, but the first implementation was in Smalltalk. There’s a simple reason for this: Smalltalk is a very simple language with really cool features, like Blocks (Ruby developers should also know them 😉 ) and the whole IDE is also written in Smalltalk. So this makes Smalltalk a great language for trying out new stuff. For example the people over at the SCG at the university of Bern (link) added Traits to Smalltalk.
Last summer I wrote a tool called Dakar Testing together with Damien Cassou for the Smalltalk IDE VisualWorks. The idea of Dakar Testing is to simplify the creation and the management of SUnit tests. To do this, Dakar Testing adds another editor next to the existing source-code editor. This editor is used to create and edit the tests that are assigned to the selected method. In between those two editors is a list showing all tests that are assigned to the selected method, so it’s also easy to see which tests stress which code and which tests need to be run.
I wrote a small article about Dakar Testing a few month ago and I also created an image that you can use to try out Dakar Testing. The article can be found here and the image for VisualWorks NC 7.5 can be downloaded here. The image also contains a Readme that you really should read if you’re not familiar with Smalltalk.
Karsten
Posted in New ideas | 1 Comment »
April 26th, 2007 by Michele
Codebeach has now gained RSS feeds for both submission a comments to entries. Let me know if you have any comment about those 😉
Posted in News | Comments Off on Codebeach gains RSS feeds!
April 21st, 2007 by Michele
In the end, i added the ability for codebeach.org users to release their source either under public domain or under BSD, Creative Commons, Apache License or MIT/X11. Some developers seemed interested in the project but couldn’t stand to lose copyright on their code. I understand them, and i’ll try to make it as painless as possible for both contributers and users of code.
Ah, as a sidenote, CodeBeach finally sports a commenting system!
Posted in News | 8 Comments »
April 19th, 2007 by Michele
One of the most requested “features” for CodeBeach has been the ability to select some kind of CC licenses for submitted snippets and classes. The gist of it is being able to get an entry on the Credit.rtf file of the apps using code under said license. While i’m considering this, i still think is a bad idea for some reasons.
The request of an entry in the credit file looks innocent and easy to satisfy. As soon as you use 1 or 2 snippets/classes from the site, that’s it. But what happens if you need to use many classes from there? And what if they depend on many other classes as well? You end up having to track down dependencies and end up with a very long Credits.rtf file.
Obviously tracking down dependencies is a technical problem, which i can solve via technical means for the joy of you all, but still, do you really want long Credits.rtf files, and having to remember that each time you copy&paste a snippet you’re likely to add a name to it? (Or worse, you forgot you added that name already and end up with double entries).
Let me know guys, the site is for you and we are doing it just for passion, so if you really need to see your name on Credit files, so be it.
Posted in Opinions & Thoughts | 2 Comments »
April 16th, 2007 by Michele
We are happy to announce the opening of http://www.codebeach.org/ code sharing website. This website is aimed to Mac developers who wish to share some of their code and/or need some themselves. With this site we mean to fill the void left to mailing list, forums and blog which are currently use to share pieces of code and advice between developers.
The goal is create a central repository, a single place to search, for all those useful snippets and classes (like formatters, categories, iApp-alike controls) which are often re-implemented too many times and waste precious time to real development. I want to repeat that the code to be found (and submitted) at codebeach is free to use in any application, including commercial ones and that it is only targeted to Mac developers.
We hope to get your attention and your feedback cause codebeach is still in its early stage of development and your opinion will drive future work on it.
You can find a full press release here
Posted in News | Comments Off on Today CodeBeach.org code sharing website opens