Mike Pinkerton of Google talks about the Mac web browser Camino. It also includes some interesting history of the Mozilla and Gecko projects.
Tag: mac
-
HTMLValidator beta 2
HtmlValidator beta 2 has just been released. The new version offers assorted fixes and a slightly improved interface (a green tick or red cross now appear in the validation window!)
There is also a new downloads page which currently offers an Applescript to validate the source of the front page in Safari.
Usefully it validates the actual source that the browser received, it doesn’t download the url itself.
-
HTMLValidator
HTMLValidator 1.0b1 has just been released.
It runs on PowerPC or Intel Macs with Mac OS X 10.4 or later.
The current version expires 28th February 2007.
HTMLValidator is a new desktop HTML validator that works on both web pages and files. It’s something I’ve been working on for a while now in between SQLEditor releases. The main motivation is that I often seem to use the W3C validator, but I can’t always do that with files I’m working on locally. I also tried installing the W3C validator on a local web server and although it works, it seems to require a lot of installation effort, with different dependencies. So the idea occurred to me: what if you could have a drag and drop installation. From there came a web version using drag and drop and finally the application bundle version that is being distributed from today.
The earlier application versions actually displayed the results in an html webview in a window, while the newer releases display the results in a table.On the drawing board for future releases are more validation options, the capability to validate multiple pages and the ability to watch pages for changes and then validate. Also better printing and Applescript support (although both of these are present in the current version).
I’m really interested to know what you think of HTMLValidator so feel free to send in comments, either to me personally Angus [DOT] Hardie [AT] malcolmhardie [DOT] com or to the support [AT] malcolmhardie [DOT] com email address
-
SQLEditor 1.3.2
SQLEditor 1.3.2 received a very limited release to a few selected testers at the end of 2006. However there were some additional issues that needed a bit more work, so the current plan is for a 1.3.3 release before the end of January.
-
MacFuse released – userspace Mac OS X file systems
I just noticed this announcement on the google mac blog.
Amit Singh has released a mac version of Fuse, which is way for people to write interesting extensions to the file system without writing kernel code. The way it works (as I understand it) is that the Fuse system runs one kernel module which communicates with the actual file system code in userspace.
It looks really clever and there are already a number of useful file systems available for fuse (including ssh as a filesystem and a ntfs driver).
[link] -
SQLEditor 1.3.1
SQLEditor 1.3.1 got released on Friday afternoon, this was really just a bug fix release which fixed a handful of problems that were identified. I think the only major fix was that the new UID system was slightly broken in that if you copied an object, or duplicated it in some cases, then SQLEditor would not always recreate the unique ID numbers that represent each object. This had the effect that if you copied an object, SQLEditor couldn’t distinguish between the objects when reloading and so all connectors would be attached to the original object and not the new one. An unfortunate bug. 🙁
It has now been fixed, along with slight improvements to image saving and a fix for a menu shortcut not being correct. The latter was an odd problem in that a shortcut was set, but it actually conflicted with an existing shortcut and the cocoa menu system is smart enough not to display the same shortcut for more than one menu.
[Download] 2.8MB DMG
For some reason also I don’t think I posted about the 1.3 release. But the 1.3 release was posted on November 23rd and is the first non-beta release to be released since May 2006. It rolled all of the improvements that had been made during the beta testing phase into a new release and is definitely worth upgrading (especially since the upgrade is free). However the 1.3 release has been superceded by the 1.3.1 release, so download that instead.
-
Writing Unit tests for Cocoa
I realized something interesting today.
I use unit testing to (hopefully) improve the quality of my code.
With Java I use JUnit. With native Mac stuff I use OCUnit.
One really clever thing about OCUnit that I realized today is that if you have several SenTestCase subclasses, each with multiple tests in it, you can put all of them into one XCode target and OCUnit will automatically run them as suites in one test run. This means that you get a summary of all of the tests at the end.
Previously I had a separate XCode target for each test case, where each test case class reported its results separately, which isn’t nearly as good.
-
static link library to replace dylib in mac os x
This post on the xcode-users list explains a neat trick on how to get xcode to link a static library instead of a dynamic library.
Imagine the circumstance: you want to use a particular non-standard version of a native library which is already part of the system; perhaps you want to use an old version with better compatibility, or a newer version with more features. The obvious thing to do is to take a static build of the library and add it your xcode project.
However this typically won’t work. The linker will choose the system version instead because by default it looks in all possible locations for a dynamic library first before looking through the same list of locations for a static library. If there is a dynamic library in any of the search locations it will always get chosen. There are some good reasons for this, but what if you really want to include your own statically linked version?
The answer is to add the -Wl,-search_paths_first flag to the other link flags option (under linking in target settings).
When this is set each possible location for a library is inspected first for a dynamic library and then for a static library. This means that the static library will get linked correctly.
It’s not exactly something that will be needed frequently though.
Edit: Apple have a technical Q&A article (1393) on this very subject which appeared a couple of days back and which I somehow missed.
It offers this exact method. [Link]