[{"d":"2026-09-10","g":[],"s":"posts","t":"new blog","u":"/weblogs/angus/posts/2026/09/10/new-blog/","x":"New blog system, now hugo\nThere aren\u0026amp;rsquo;t any comments as yet.\nI have the comments archived, they might reappear at some point\n"},{"d":"2025-01-29","g":[],"s":"posts","t":"Goodbye marilac","u":"/weblogs/angus/posts/2025/01/29/new-server-and-setup/","x":"marilac was the virtual server that hosted all of the company operations for many years. Today is its last day.\nToday I\u0026amp;rsquo;ve finished moving all of the hosting, including this blog.\nNow everything is hosted with mythic beasts.\nGoodbye marilac, you served well for 23 years (2002-2025)\nBytemark built you well\n"},{"d":"2025-01-29","g":[],"s":"pages","t":"Weblog Privacy Policy","u":"/weblogs/angus/pages/2025/01/29/privacy-policy/","x":"Who we are This is my personal weblog located at: https://www.malcolmhardie.com/weblogs/angus .\nIt runs wordpress so the behaviour is different from the main company website.\nComments When visitors leave comments on the site we collect the data shown in the comments form, and also the visitor’s IP address and browser user agent string to help spam detection.\nAn anonymized string created from your email address (also called a hash) may be provided to the Gravatar service to see if you are using it. The Gravatar service privacy policy is available here: https://automattic.com/privacy/ . After approval of your comment, your profile picture is visible to the public in the context of your comment.\nMedia If you upload images to the website, you should avoid uploading images with embedded location data (EXIF GPS) included. Visitors to the website can download and extract any location data from"},{"d":"2023-10-03","g":[],"s":"posts","t":"Lego Starwars - Skywalker Saga","u":"/weblogs/angus/posts/2023/10/03/lego-starwars-skywalker-saga/","x":" A new lego star wars game (new to me anyway, my copy just finished downloading!)\nI like what I see so far, the story is exciting, I love the introduction video, it has that \u0026amp;ldquo;star wars is epic\u0026amp;rdquo; feel about it.\nFlying around is great and the episode 1 pod-race felt really, really fast.\n"},{"d":"2022-06-13","g":[],"s":"posts","t":"Poor Netflix!","u":"/weblogs/angus/posts/2022/06/13/poor-netflix/","x":"Netflix has been suffering from Disney taking all their content and refusing to play any more.\nStill more Korean dramas on Netflix than Disney though\u0026amp;hellip;\n"},{"d":"2022-06-13","g":["Sqleditor"],"s":"posts","t":"SQLEditor 4.0","u":"/weblogs/angus/posts/2022/06/13/sqleditor-4-0/","x":"After a bit of a gap, SQLEditor 4 is now pretty much at the point of a public release.\nThanks to everyone who has been trying beta versions and the most helpful bug reports!\n"},{"d":"2020-06-29","g":[],"s":"posts","t":"Dark mode canvas in SQLEditor","u":"/weblogs/angus/posts/2020/06/29/dark-mode-canvas-in-sqleditor/","x":"Finished, see the blog post:\nhttps://www.malcolmhardie.com/weblog/2020/06/29/sqleditor-3-7-2/ :-)\n"},{"d":"2019-07-16","g":[],"s":"posts","t":"Disney Artists on Instagram","u":"/weblogs/angus/posts/2019/07/16/disney-artists-on-instagram/","x":"Absolutely awesome art + useful lessons for people trying to improve:\nhttps://www.instagram.com/grizandnorm/ This is the link I was trying to find for L today but couldn\u0026amp;rsquo;t..\nRelieved that I found it ðŸ˜Œ\n"},{"d":"2019-06-11","g":[],"s":"posts","t":"apple java-dev list deleted","u":"/weblogs/angus/posts/2019/06/11/apple-java-dev-list-deleted/","x":"The old Apple Java-dev mailing list and all its archives appear to have been deleted.\nThe mailman system is reporting \u0026amp;ldquo;No such listÂ java-dev\u0026amp;rdquo;\n"},{"d":"2019-06-08","g":[],"s":"posts","t":"Notarization ...","u":"/weblogs/angus/posts/2019/06/08/notarization/","x":"Apple is really pushing the whole notarization thing right now.\nIt does seem a bit like the apocryphal story of boiling the frog , adding small additional restrictions on software freedom each year until the whole platform is under absolute control. (I really, really hope that\u0026amp;rsquo;s not what\u0026amp;rsquo;s happening)\nAt a practical level, I\u0026amp;rsquo;ve been working away on implementing notarization with SQLEditor, which has caused some issues because of some of the dependencies that are used.\nEven the Sparkle application updater requires some tweaking to the signing, which seems surprising, and the bundled Java had some issues too.\n10.15 seems to be requiring notarization on newly built apps and I\u0026amp;rsquo;m hoping to get a better view of the new operating system as soon as I can get the new beta running in a virtual machine. (Maybe Apple could build some virtual machines and save some time here?)"},{"d":"2019-05-15","g":[],"s":"posts","t":"Hyper-threading and cleverness","u":"/weblogs/angus/posts/2019/05/15/hyper-threading-and-cleverness/","x":"Another day, another attack on processor architectures. I remember during the computer architecture classes at university marvelling at how clever the processor architectures were. Branch prediction, the challenges of process management and context switching. How everything could be managed so carefully and all the book-keeping kept up-to-date! But it all worked and it worked very well, so I was extremely impressed.\nThen when hyper-threading arrived, I was even more impressed. Now I could get most of the benefits of four cores, using only the hardware of two cores.The slight downside was some bits were shared, but this didn\u0026amp;rsquo;t matter, because it had all been carefully thought through. It was produced by the same kind of people who I had marvelled at previously, and so it was obvious that it was a good thing.\nAlas, it seems that hyper-threading (at least on Intel processors) has been"},{"d":"2018-10-01","g":[],"s":"posts","t":"[NSColor highlightColor] differs in dark mode","u":"/weblogs/angus/posts/2018/10/01/nscolor-highlightcolor-differs-in-dark-mode/","x":"I noticed a point today while working on dark mode for Mojave 10.14.\nThe value of -(NSColor*)highlightColor differs depending on whether you\u0026amp;rsquo;re in light mode or dark mode.\nThis particularly affects -(NSColor *)highlightWithLevel:(CGFloat)val;\nBy calling:\n[[NSColor highlightColor] colorUsingColorSpace:[NSColorSpace genericRGBColorSpace]];\nI was able to grab the highlight colors in light mode and dark mode. I converted the values to hex and they are displayed below:\nLight Mode:\n(White)\nDark Mode:\n(Gray-ish)\nHighlight color is noted as for \u0026amp;ldquo;The virtual light source onscreen\u0026amp;rdquo;, but it is occasionally suggested for providing slight variations on a drawing color.\nWhich is great, except that because the output differs between light mode and dark mode, you can\u0026amp;rsquo;t now use it anywhere within a drawn document unless you want things to look different between the two display"},{"d":"2018-04-12","g":[],"s":"posts","t":"End of 32 bit on Mac will kill off old games","u":"/weblogs/angus/posts/2018/04/12/32-bit-on-mac-will-kill-off-old-games/","x":"The era of 32 bit Mac applications is probably coming to an end. Apple seems to be moving towards a 64 bit future.\n64 bit conversion isn\u0026amp;rsquo;t very difficult for most ordinary apps, although there will undoubtably be developers who will face severe challenges due to particular circumstances. Apps that include 3rd party code, complicated build systems or involving languages other than C/C++/Objective C are probably at some risk.\nBut I think most currently sold applications are already 64 bit and have been for years. (SQLEditor went to 64 bit only a while back, without anyone making any comment whatsoever).\nThe biggest loss though is probably going to be 32 bit only games. Games don\u0026amp;rsquo;t normally get much in the way of updates anyway, and the likelihood of a new 64 bit conversion is low.\nWe saw this happen when iOS went to 64bit in iOS 11. Some developers simply couldn\u0026amp;rsquo;t rewrite"},{"d":"2018-03-13","g":[],"s":"posts","t":"Github desktop and the tree view","u":"/weblogs/angus/posts/2018/03/13/github-desktop-and-the-tree-view/","x":"Github desktop has been a helpful companion to my development work for some time now. It\u0026amp;rsquo;s lightweight, easy to use and integrates nicely with github.com However there is one neat feature that github desktop v1 had that the newer v2 doesn\u0026amp;rsquo;t.\nThe simplified tree view:\nI think it\u0026amp;rsquo;s a really neat piece of user interface because it displays so much information in a small area that would probably otherwise be empty. Yet it\u0026amp;rsquo;s much simpler than most git tree views, which I find tend to find display too many details. Somehow the information density seems just right, neither too much nor too little. Perhaps it is the Goldilocks of git tree views?\nOne other interesting observation is that the component was written in javascript, with bits of svg and was particularly designed to work cross platform. Somewhere there is even an article written by the developers, although I"},{"d":"2017-12-07","g":[],"s":"posts","t":"Blockchain isn't the answer?","u":"/weblogs/angus/posts/2017/12/07/blockchain-isnt-the-answer/","x":"It is important to remember that there are problems for which blockchains are not the correct answer.\n"},{"d":"2017-05-12","g":[],"s":"posts","t":"Tags and Taxonomies","u":"/weblogs/angus/posts/2017/05/12/tags-and-taxonomies/","x":"When tagging documents with keywords, sometimes too many keywords is as bad as too few.\nIf you have too few, the document might not be found.\nIf you have too many, the document will be found every time; even if it isn\u0026amp;rsquo;t relevant.\n"},{"d":"2016-10-01","g":[],"s":"posts","t":"Another unbelievable truck advert","u":"/weblogs/angus/posts/2016/10/01/another-unbelievable-truck-advert/","x":"Following from the entirely unbelievable but true Epic Split truck advert with Jean-Claude Van Damme,\nScania has offered a new ad, building a working clock using trucks .\nI love all of these ads, I really do. But I\u0026amp;rsquo;m not in the market for a truck. :-(\n"},{"d":"2016-08-27","g":[],"s":"posts","t":"Birkhill Fireclay Museum Closed","u":"/weblogs/angus/posts/2016/08/27/birkhill-fireclay-museum-closed/","x":"Sadly it seems that the Birkhill fireclay mine Â has been permanently closedÂ as a visitor attraction. I was lucky enoughÂ to go round the mine tour a few years ago when it was still open and it was a fascinating visit.\nThe mine had been in operation from theÂ 18th century before closingÂ about 1980.Â The fire clay that was mined there wasÂ made into bricks for use in furnaces, the bricks being particularly suited for the high temperatures involved.\nUnfortunately the mine was permanently closed in 2013, after an extended temporary closure. The closure has been blamed on the high costs of maintenance and the poor state of the buildings. I also suspect that the income from visitors couldn\u0026amp;rsquo;t hope to cover the costs of operating the place, since several people were needed to give guided tours.\nSo I got to see something that others probably won\u0026amp;rsquo;t, which is sad.\n"},{"d":"2016-06-07","g":[],"s":"posts","t":"SQLEditor javascript plugins","u":"/weblogs/angus/posts/2016/06/07/sqleditor-javascript-plugins/","x":"There is some new sample code for writing javascript plugins on our shiny new organisation github page:\nhttps://github.com/malcolmhardie-software/SQLitePluginJavascript "},{"d":"2016-05-26","g":[],"s":"posts","t":"SQLEditor 3.0 release","u":"/weblogs/angus/posts/2016/05/26/sqleditor-3-0-release/","x":"SQLEditor 3.0 is ready!\nI\u0026amp;rsquo;ve feel like I\u0026amp;rsquo;ve been working on this for ages, so I\u0026amp;rsquo;m really happy that it\u0026amp;rsquo;s now ready.\nThe most visible change is the new user interface, which has been merged into a single window. Single window interfaces are something that I wasn\u0026amp;rsquo;t initially convinced by, I liked palettes and life was good. But since then, I\u0026amp;rsquo;ve come to see the benefits of the single window. Keeping the panels in a relatively fixed position means that you know where they are. There\u0026amp;rsquo;s also less busy-work managing the panels.\nThe tradeoff is obviously that it\u0026amp;rsquo;s less flexible and on a large screen it can lead to more and largerÂ mouseÂ movements. Feedback has generally been good on this, I don\u0026amp;rsquo;t think there have been any complaints (so far). If you have an opinion on this please do send in comments!\nFor me the most interesting new feature"},{"d":"2015-11-27","g":[],"s":"posts","t":"Raspberry Pi Zero","u":"/weblogs/angus/posts/2015/11/27/raspberry-pi-zero/","x":"The new Raspberry Pi Zero looks amazing!\nBase price is just Â£4!\nSure you have to add stuff like an SD card, a screen and a keyboard. But these can be shared, or borrowed or obtained second hand from somewhere if necessary.\nAlmost anyone can get one of these and starting building stuff.\nIt\u0026amp;rsquo;s going to to be great. :-)\n"},{"d":"2015-10-22","g":[],"s":"posts","t":"SVG Explanations","u":"/weblogs/angus/posts/2015/10/22/svg-explanations/","x":"Working on SQLEditor SVG improvements (arriving soon in 3.0), and found this excellent series of articlesÂ byÂ Sara Soueidnn on several of the details.\nSo SQLEditor in future will be using the same object icons in SVG as are drawn in the main document and each will be its own beautifulÂ SVG symbol , rather than being separately drawn.\n(Object icons in SQLEditor 3 are now little imagesÂ rather than being individually, because this improves performance quite noticeably and allows nicer styling)\n"},{"d":"2015-06-08","g":[],"s":"posts","t":"Apple Developer Program improvements","u":"/weblogs/angus/posts/2015/06/08/apple-developer-program-improvements/","x":"Apple has made some big changes to their developer programs, which I think are a big improvement:\nYou can now apparently develop and deploy to your own iOSÂ device without a program membership. (Possibly only with Xcode 7, I\u0026amp;rsquo;m not perfectly clear yet). This is a big win for casual developers and people just getting started.\nThere is now a single developer program combining iOS and OS X which is much simpler and cuts the price in half if you subscribe to both\nThe safari extension program is being merged in. This possibly isn\u0026amp;rsquo;t so great if you were solely doing safari extensions, because now you may need to pay. But if you are doing other development anyway, then it\u0026amp;rsquo;s a simplified approach (only one program to deal with and remember to renew)\nOverall big changes and a strong improvement in most areas.\nI\u0026amp;rsquo;m also hopeful about the new OS versions too.\n"},{"d":"2015-03-21","g":[],"s":"posts","t":"New Bujold Book!","u":"/weblogs/angus/posts/2015/03/21/new-bujold-book-2/","x":"Wonderful news: Lois McMaster Bujold, one of my favourite authors, has announced a new novel, due sometime in 2016.\nIf you haven\u0026amp;rsquo;t read Bujold, I strongly recommend going out, getting a copy of one of them and reading it right now (or you know, when the bookstore or library are next open)\nThe title will apparently be Gentleman Jole and the Red Queen.\nAuthor Blog Link "},{"d":"2014-11-22","g":[],"s":"posts","t":"Updating wordpress plugins via svn:externals","u":"/weblogs/angus/posts/2014/11/22/updating-wordpress-plugins-via-svnexternals/","x":"Wordpress usually needs plugins for things, but it\u0026amp;rsquo;s a pain keeping them updated, unless you want to use the built in auto-updating (which I don\u0026amp;rsquo;t use for various reasons)\nThat was until I discovered this method ofÂ using svn:externals to update them .[kovshenin.com]\ncd public_html/wp-content/ svn propedit svn:externals plugins \u0026amp;lt;edit as required\u0026amp;gt; svn update By adding third party plugins to the plugins directory svn:externals list, they all get updated at the same time as I update the wordpress install, which I already use subversion for anyway. The akismet plugin already gets updated by this method. It also allows changes to the version of the akismet plugin, which is good if it gets updated between major Wordpress releases.\n"},{"d":"2014-11-10","g":[],"s":"posts","t":"MOD releasing open source stuff","u":"/weblogs/angus/posts/2014/11/10/mod-releasing-open-source-stuff/","x":"MoD releases code to GitHub Well done to theÂ Defence Science and Technology Laboratory at the UK ministry of Defence. They\u0026amp;rsquo;ve started to release code on github .\nI can\u0026amp;rsquo;t imagine that getting approval for this was easy, andÂ it probably required a fair amount of negotiation to getÂ this far; but it\u0026amp;rsquo;s a good sign for openness in government and hopefully it will be a good thing forÂ both the government and the wider community.\nGiven that governments aren\u0026amp;rsquo;t trying to make money selling software, open source seems an excellent fit. Hopefully we\u0026amp;rsquo;ll see more stuff from them. (I imagineÂ not the classified things though!)\n"},{"d":"2014-10-16","g":[],"s":"posts","t":"Is Yosemite going to be released today?","u":"/weblogs/angus/posts/2014/10/16/is-yosemite-going-to-be-released-today/","x":"October 16th has arrived, the Apple event is scheduled. Will this be the official release date of Yosemite? Enquiring minds want to know\u0026amp;hellip;\n**update:**Â yes it looks like it will be\n"},{"d":"2014-10-16","g":[],"s":"posts","t":"Prison Architect","u":"/weblogs/angus/posts/2014/10/16/prison-architect/","x":"I\u0026amp;rsquo;ve been playing Prison Architect recently, having picked it up in aÂ Humble Bundle deal.\nInteresting idea and great fun. Plus not so lifelike that IÂ would be uncomfortable playing.\n"},{"d":"2014-05-29","g":[],"s":"posts","t":"Google XSS game","u":"/weblogs/angus/posts/2014/05/29/google-xss-game/","x":"http://xss-game.appspot.com/ It teaches a bit about Cross-site scripting (XSS) bugs that, as the page helpfully describes, are one of the most common and dangerous types of vulnerabilities in web apps.\nWorth checking, even if you think you know the material.\n"},{"d":"2014-05-14","g":[],"s":"posts","t":"Webkit Javascript Optimizing JIT compiler(s)","u":"/weblogs/angus/posts/2014/05/14/webkit-javascript-optimizing-jit-compilers/","x":"Is your JIT compiled javascript function running too slow? No worries, just wait and the javascript engine will recompile it and then replace the function with a faster version!\nBut that\u0026amp;rsquo;s not fast enough either? Webkit will compile another version using more optimizations, using code from LLVM.\nIs the function still executing some long running loop? No problem! The javascript engine will copy all of the current state and build a new compiled function that starts at the beginning of that loop, then replace the old slower function with the new one, while it is still running! It gets flipped over at the beginning of the next run through the loop. (see the Hot-Loop Transfer section of the original article)\nJust from the description, this sounds stupendously complicated. But the performance improvements are apparently quite considerable.\nI\u0026amp;rsquo;m truly impressed by the effort that"},{"d":"2014-01-30","g":[],"s":"posts","t":"SQLEditor 2.7 - the customizable object palette","u":"/weblogs/angus/posts/2014/01/30/sqleditor-2-7-the-customizable-object-palette/","x":"The newest and latest feature to arrive in SQLEditor 2.7 Â [55MB Zip] is a customizable object palette.\nFor a long time, the object palette in SQLEditor has looked like this:\nThere were three fixed objects, that could be dragged from the palette into the document. The images have changed, but the basic functionality is little changed from v1.0, which also had a three object palette that worked like this.\nIn version 2.7 though, there is a new palette, that initially looks like this:\nIt doesn\u0026amp;rsquo;t look that much different at first, however it\u0026amp;rsquo;s much more than it used to be. The biggest change is that you can now add your own items to the palette. To add an object, you can hold option (alt) and drag it to the palette.\nSQLEditor create a new palette item, with a small preview of the objects. You can rename the item by double clicking on the label. Or delete it by right clicking and"},{"d":"2014-01-18","g":[],"s":"posts","t":"Teddy the Guardian - a smart toy and medical sensor device","u":"/weblogs/angus/posts/2014/01/18/teddy-the-guardian-a-smart-toy-and-medical-sensor-device/","x":"I just saw details of this new stuffed/plush toy bear that contains medical sensors, which seems absolutely wonderful as an idea.\nThe idea is that instead of having to persuade a child patient to put up with various medical devices and sensors (like thermometers or heart rate sensors), the child just hugs a small toy bear, which contains the sensors. The data is sent wirelessly to a computer device that the doctor can then view.\nIt\u0026amp;rsquo;s a brilliant idea and I would think that anything that makes the time children spend in hospitals a little easier is a good thing.\n[Via CNet Interview ]\n"},{"d":"2014-01-16","g":[],"s":"posts","t":"The Journal of Cartoon Overanalyzations","u":"/weblogs/angus/posts/2014/01/16/the-journal-of-cartoon-overanalyzations/","x":"For all of your cartoon analysis needs:\nhttp://cartoonoveranalyzations.com/ "},{"d":"2013-09-10","g":[],"s":"posts","t":"SQLEditor 2.5 - now with native database drivers and process separation","u":"/weblogs/angus/posts/2013/09/10/sqleditor-2-5-now-with-native-database-drivers-and-process-separation/","x":"I\u0026amp;rsquo;m really happy to say that SQLEditor 2.5 [60MB zip] has just been released. This has some interesting new features that have been in development for some time. Native database drivers have been something I\u0026amp;rsquo;ve been hoping to support for ages, while process separation should improve stability and performance.\nNative database drivers SQLEditor 2.5 now includes native database support bundled with the app.\nNative drivers are bundled for SQLite (using standard sqlite ), MySQL/Drizzle (using the Drizzle driver library ) and Postgres (using Postgres client libraries).\nThe native drivers don\u0026amp;rsquo;t use Java at all, which gives a marginal performance improvement. Although if you\u0026amp;rsquo;re using SQLEditor in standard, graphical mode you probably won\u0026amp;rsquo;t notice.\nNative driver support means that SQLEditor should now be zero configuration for many users. Just install the app and"},{"d":"2013-08-05","g":[],"s":"posts","t":"Corporation must maximise profits (?)","u":"/weblogs/angus/posts/2013/08/05/corporation-must-maximise-profits/","x":"I\u0026amp;rsquo;ve had this post sitting in my drafts collection for ages, but after reading yet another person make this claim about corporations, I\u0026amp;rsquo;ve decided to post it. I believe that my sources are correct and accurate, note that the main source now links to the internet archive, rather than the original paper, because the congressional committee site has been rearranged. Please comment or email if you have any questions or concerns.\nThis is something that pops up fairly frequently, the idea that corporations are required as their sole duty to maximise profits to shareholders.\nWhile a handy tool to create a nice documentary , this statement has been described Â [pdf] by ProfessorÂ Margaret Blair of Vanderbilt University Law School as\n\u0026amp;ldquo;\u0026amp;hellip; [A]t best, a misleading overstatement\u0026amp;rdquo;. \u0026amp;ldquo;At worst, this claim is simply false\u0026amp;rdquo;\u0026amp;hellip; \u0026amp;ldquo;There is no statutory"},{"d":"2013-07-02","g":[],"s":"posts","t":"A memorial to lab mice","u":"/weblogs/angus/posts/2013/07/02/a-memorial-to-lab-mice/","x":"Statue of a mouse knitting dna Â (imgur)- apparently a memorial to laboratory mice.\nRegardless of opinions about lab use of animals, I think a statue remembering them is correct and proper.\n"},{"d":"2013-07-02","g":[],"s":"posts","t":"Exporting SVG from Cocoa","u":"/weblogs/angus/posts/2013/07/02/exporting-svg-from-cocoa/","x":"Following from my previous post about SVG exporting in cocoa, here are some details on how this is done in SQLEditor. The example code is extracted from the live SQLEditor code base, but it\u0026amp;rsquo;s been altered to simplify in a few places. Hopefully it doesn\u0026amp;rsquo;t contain any bugs, but please point them out if you see them.\nIn addition, I don\u0026amp;rsquo;t offer this up particularly as a tutorial, this is just the way that I did it, so there are possibly (probably?) better ways of doing this. Feel free to reuse any of it, in any way, if you wish using either BSD or Attribution 3.0 Unported Â . I\u0026amp;rsquo;ll try and put a complete working example of it up on github soon. Update: Source code now on github The key point is that SVG is just a dialect of XML. This means that we can use NSXMLDocument and friends to generate the SVG, which makes life much easier than it would be otherwise.\nWe use a"},{"d":"2013-04-26","g":[],"s":"posts","t":"New SQLEditor database connection panel","u":"/weblogs/angus/posts/2013/04/26/new-sqleditor-database-connection-panel/","x":"The database connection setup panel in SQLEditor has been something I\u0026amp;rsquo;ve been hoping to improve for a while.\nThis is the first attempt at a redesign:\nThe connections are now listed in aÂ collapsableÂ sidebar and can be both added and removed. You can also edit the connection in the main area. Changes are automatically saved.\nIt\u0026amp;rsquo;s not ready yet, but it may appear sometime soon.\n"},{"d":"2013-04-16","g":[],"s":"posts","t":"SQLEditor, SVG and Cocoa","u":"/weblogs/angus/posts/2013/04/16/sqleditor-svg-and-cocoa/","x":"One of the new features in the latest SQLEditor 2.1 beta release Â Â (v2.1.0b2, about 5.7MB) is SVG export. This allows you to create a diagram in SQLEditor and then export it to SVG format.\nSVG format is a vector diagram format that can be rendered by many web browsers or edited in vector drawing programs like Inkscape.\nHere is an embedded svg file:\nThe neat thing is that if the image gets scaled it should scale fairly cleanly. (The lines get a bit fuzzy due to the anti-aliasing)\nClick on the image and you should see the file displayed full size (no separate preview image!)\nThis should work in Chrome, Safari and Firefox. There are currently some issues with Opera which doesn\u0026amp;rsquo;t draw the text. I think this is an error in the SQLEditor export code somewhere because I have some early test versions that do work in Opera.\nI haven\u0026amp;rsquo;t tested this with Internet Explorer, but SVG is"},{"d":"2012-12-02","g":[],"s":"posts","t":"Using NSDockTile for debug info","u":"/weblogs/angus/posts/2012/12/02/using-nsdocktile-for-debug-info/","x":"Often when I\u0026amp;rsquo;m working on an app or something I end up running several different versions of it in a short period of time. There\u0026amp;rsquo;s usually some bug that I\u0026amp;rsquo;m trying to fix and I want to make sure that the bug occurs in the old version and doesn\u0026amp;rsquo;t occur in the new version.\nSometimes though I get confused which version I\u0026amp;rsquo;m running. Is the app in the dock the old version, or the new version or something else?\nSo today I had an idea: Why not put the version number on the dock tile?\nHere\u0026amp;rsquo;s the code to do it:\nif (DEBUG) { id badgeText = [NSString stringWithFormat:@\u0026amp;#34;D-%@\u0026amp;#34;,[[[NSBundle mainBundle] infoDictionary] valueForKey:@\u0026amp;#34;CFBundleVersion\u0026amp;#34;]]; [[NSApp dockTile] setBadgeLabel:badgeText]; } This assumes that you\u0026amp;rsquo;ve got DEBUG defined somehow and that you have an infoDictionary with the relevant keys and values set.\nAnd here\u0026amp;rsquo;s what it"},{"d":"2012-11-27","g":[],"s":"posts","t":"Xbox 360 and Playstation 3 were released before first iPhone","u":"/weblogs/angus/posts/2012/11/27/xbox-360-and-playstation-3-were-released-before-first-iphone/","x":"Xbox 360 released November 16, 2005 in USA Playstation 3 released November 11, 2006, in Japan _Original_Â iPhone released June 29, 2007, in USA -Â supersededÂ 5 times\nThe consoles are still competitive platforms. Nothing in the phone world lasts that well.\nThis is not a criticism of the iPhone, which is a brilliant device, instead a thought about the longevity of the consoles.\n"},{"d":"2012-11-08","g":[],"s":"posts","t":"Is \"Maximising Shareholder value\" required - no it's not","u":"/weblogs/angus/posts/2012/11/08/good-article-on-whether-maximising-shareholder-value-is-required-hint-no-its-not/","x":"http://www.guardian.co.uk/sustainable-business/blog/maximising-shareholder-value-irony The idea only dates from about 1976, it doesn\u0026amp;rsquo;t seem to be in any law and it probably doesn\u0026amp;rsquo;t lead to the best outcomes anyway.\n"},{"d":"2012-08-21","g":[],"s":"posts","t":"Multi-touch - finger tips wearing out?","u":"/weblogs/angus/posts/2012/08/21/multi-touch-finger-tips-wearing-out/","x":"I seem to be using more multi-touch stuff, but I do have this irrational fear that my finger tips will slowly start to wear away from constantly dragging them over metal or glass surfaces \u0026amp;hellip;\n"},{"d":"2012-06-25","g":[],"s":"posts","t":"Russian Documentary about Bread Day","u":"/weblogs/angus/posts/2012/06/25/russian-documentary-about-bread-day/","x":"Years ago I saw a documentary about Russians living in the country side where the local people had to push, by hand, a railway wagon filled with bread.\nI could never find any trace of it later, but today I did:\nChlebnyy den (Bread Day) 1998 Directed by Sergei Dvortsevoy\nThe Harvard Film Archive showed it a while ago\n"},{"d":"2012-05-18","g":[],"s":"posts","t":"More modifier keys","u":"/weblogs/angus/posts/2012/05/18/more-modifier-keys/","x":"I was working on the new labels panel in SQLEditor when IÂ realisedÂ that I\u0026amp;rsquo;d run out of modifier keys for clicking shortcuts. Tables already use several of the standard keys for selection control, leaving pretty much only option/alt remaining, and I\u0026amp;rsquo;d already used it for something else. :-(\nApple: please provide more modifier keys on the keyboard for even more complicated shortcuts!\n;-)\n(Or more rationally, I\u0026amp;rsquo;ll probably change it around and the commands will end up in a popup menu or something, which is actually better for discoverability anyway)\n"},{"d":"2012-03-16","g":[],"s":"posts","t":"Cancom Edinburgh Apple shop seems to be closed","u":"/weblogs/angus/posts/2012/03/16/cancom-edinburgh-apple-shop-seems-to-be-closed/","x":"Cancom seems to have closed their Edinburgh shop after being bought out by Trams.\nSorry about staff :-(\n"},{"d":"2012-01-28","g":[],"s":"posts","t":"Digital Camera Teardown","u":"/weblogs/angus/posts/2012/01/28/digital-camera-teardown/","x":"Here is aÂ video showing a breakdown of a lumix digital camera . (mikeselectricstuff/YouTube)\nThe amazing thing is how small the mechanical parts are, and how many there are in there. This camera probably costs no more than Â£200, yet there areÂ minusculeÂ parts and an amazing level of tiny details, all of which has to work reliably, without any maintenance, for a possible lifespan of several years.\nThe details of the lens assembly are particularly clever with multiple layers and motors which move the different parts. The coils which are printed onto the circuit board and form part of the movement mechanism is clever feature.\nI\u0026amp;rsquo;m amazed :-)\n"},{"d":"2012-01-19","g":[],"s":"posts","t":"Kodak bankrupt?","u":"/weblogs/angus/posts/2012/01/19/kodak-bankrupt/","x":"Kodak, perhaps the photography company, appears to have filed for bankruptcy.\nIt seems to be something of a representative for the state of the non-digital photography market, which looks pretty much dead except for a few limited areas.\nIn recent years they seem to have sold off much of the research and development and focused on the hyper-competitive desktop inkjet printer market instead. (Although the reasons for this decision still remain a mystery to me)\nI remember having a kodak camera with kodak film, that got photos printed on kodak photo paper, but I guess people a bit younger than me might never have even seen a roll of film, nor for that matter a kodak camera.\nIt\u0026amp;rsquo;s sad to see this happen to such an iconic company and I hope that things don\u0026amp;rsquo;t turn out badly for the employees.\n"},{"d":"2011-12-29","g":[],"s":"posts","t":"The Web Development Kit Bundle","u":"/weblogs/angus/posts/2011/12/29/the-web-development-kit-bundle/","x":"Just hours remain to buy the The Web Development Kit Bundle .\nIt\u0026amp;rsquo;s got a useful mix of tools for Mac web development and its an excellent bargain even if you\u0026amp;rsquo;re only looking for one or two items in the bundle. HTMLValidator is our contribution to the bundle which costs just 39.99\n"},{"d":"2011-12-14","g":[],"s":"posts","t":"Web Development Toolkit","u":"/weblogs/angus/posts/2011/12/14/web-development-toolkit/","x":"HTMLValidator is one of the apps in the new Web Development Toolkit bundle, which is available now.\nThe bundle contains 10 apps for a single low price of just $39.99 If you\u0026amp;rsquo;re doing web design, there\u0026amp;rsquo;s probably something here for you (unless you already own all the apps, in which case, it also makes a great gift)\nWeb Development Toolkit The bundle includes:\nGet Backup Pro skEdit Better Link Tester Simon (Bronze - 15 active tests) Logo Design Studio Pro Stor Interarchy Whoosh MacFreelance HTMLValidator The offer is running until December 28th, so you will have to be quick, or you might miss out!\n"},{"d":"2011-12-05","g":[],"s":"posts","t":"Versions, validateMenuItem: and NSMenuItem","u":"/weblogs/angus/posts/2011/12/05/versions-validatemenuitem-and-nsmenuitem/","x":"If you find when developing in 10.7 that you get a versions menu with a NSMenuItem as one of the items, it might be worth checking to see whether you\u0026amp;rsquo;re correctly using validateMenuItem:\nversions This problem may happen if you return YES from validateMenuItem in a NSDocument subclass for menu items that you don\u0026amp;rsquo;t actually control. (If you just return YES as a default for example)\nIf instead you return\n[super validateMenuItem:item]\nYou should get the correct \u0026amp;ldquo;Revert to Last Saved Version\u0026amp;rdquo; menu item\nversions-good I ran into this when I was doing testing on 10.7 and although documentation clearly states that you must call the super method in validateMenuItem: , it wasn\u0026amp;rsquo;t immediately obvious to me what was causing the problem.\nHope this helps if you have the same problem.\nEdit: This may have been fixed in OS X\n"},{"d":"2011-10-28","g":[],"s":"posts","t":"Runesoft updates games for Lion","u":"/weblogs/angus/posts/2011/10/28/runesoft-updates-games-for-lion/","x":"Last year I boughtÂ \u0026amp;ldquo;Robin Hood: The Legend of Sherwood\u0026amp;rdquo;; it\u0026amp;rsquo;s a fun, 3d person, tactical combat game where you play Robin Hood or one of his merry men in the fight against the sheriff of Notingham. When I bought it, it was a PowerPC game and I ran it under Rosetta on my Mac. With the arrival of Lion and the departure of Rosetta, it stopped working and I\u0026amp;rsquo;d pretty much expected that I wouldn\u0026amp;rsquo;t be able to play it except by installing 10.6 on a separate partition somewhere.\nHowever this last week I saw something really surprising; Runesoft has released a patch to bring Intel compatibility to the game and it now works on Lion :-)\nI\u0026amp;rsquo;m really impressed with this, thank you Runesoft!\n"},{"d":"2011-09-08","g":[],"s":"posts","t":"Flash player updating on Mac","u":"/weblogs/angus/posts/2011/09/08/flash-player-updating-on-mac/","x":"Flash Player on the Mac is always in need of an update - or so it seems. One particular problem is that the current update checking system seems to merely displays a web page with the current version numbers . That page also appears to contain no direct download links at all. The page it should link to is the Flash download page .\nWhat it should ideally do is to automatically update using Sparkle or similar. I don\u0026amp;rsquo;t want it to check constantly in the background, simply check and update when I click the \u0026amp;ldquo;check Now\u0026amp;rdquo; button.\nFailing that, it should clearly state whether the current installation is up-to-date or not. I don\u0026amp;rsquo;t want to have to compare version numbers on a page that lists 8 different product version numbers. The software knows which variant it is, its own version number and a web service can be provided to display the latest numbers. It\u0026amp;rsquo;s trivial to"},{"d":"2011-08-18","g":[],"s":"posts","t":"SQLEditor upgrades","u":"/weblogs/angus/posts/2011/08/18/sqleditor-upgrades/","x":"One of the big questions I\u0026amp;rsquo;ve been thinking about recently is how to price upgrades for SQLEditor. So far upgrades have all been free as 1.0 became 1.1 and eventually 1.7. But with the new 2.0 release appearing soon, the question is what should be charged.\nPersonally I\u0026amp;rsquo;ve been annoyed with products where I paid money and a new release appears two weeks later which requires a paid upgrade. On the other hand, SQLEditor 2.0 will be a considerable upgrade from SQLEditor 1.0 (the first paid version), so I do think some additional fee is justified to fund development efforts.\nBut obviously I don\u0026amp;rsquo;t want people who haven\u0026amp;rsquo;t bought yet to have doubts as to whether they will be required to pay for the upgrade.\nThe stated policy is that anyone who bought SQLEditor within 12 months of a paid upgrade being released gets a free upgrade.\nHowever given that the release date for"},{"d":"2011-07-21","g":[],"s":"posts","t":"Lion Released","u":"/weblogs/angus/posts/2011/07/21/lion-released/","x":"Lion is released!\nThings seem to be going well. SQLEditor appears to work correctly.\nThere is one identified issue which means that you cannot register the app for all users of a machine. Each user must register the app separately in their own account. (This is due to the /Library/Preferences directory now only being writable by root).\nThis doesn\u0026amp;rsquo;t affect Macs which are already registered. Administrators can also manually set the preference keys in the /Library/Prefererences/com.malcolmhardie.sqleditor.cocoa.plist file to register for all users.\nThis problem will probably fixed by making the registration process separate and running it with higher permissions.\nHTMLValidator still needs some more work and isn\u0026amp;rsquo;t currently compatible. A revised version is in the works and should be available soon.\nTesseractOCR seems to be working fine (and if you haven\u0026amp;rsquo;t seen them, please"},{"d":"2011-07-21","g":[],"s":"posts","t":"Xcode 4 - Great!","u":"/weblogs/angus/posts/2011/07/21/xcode-4-great/","x":"Xcode 4 took a little while to get used to, but as I\u0026amp;rsquo;ve been using it more, I\u0026amp;rsquo;ve been liking it more.\nThe change initially is significant, and there were new ways of doing things and certain other things that had to be rethought altogether. But now, I\u0026amp;rsquo;m starting to choose to use Xcode 4 when I have the choice, so I think I\u0026amp;rsquo;ve got used to it\nI recently released some new project files for Tesseract OCR cocoa, and they are built with Xcode 4 now. The simplification in the build system and the linking of the frameworks is a vast improvement. Workspaces are a gift to this type of multi-project build. :-)\nThe only issue I have is that it doesn\u0026amp;rsquo;t support 10.5 or PPC, so SQLEditor is stuck on Xcode 3 for a while longer.\n"},{"d":"2011-06-26","g":[],"s":"posts","t":"SQLEditor and OS X 10.7/Lion","u":"/weblogs/angus/posts/2011/06/26/sqleditor-and-os-x-10-7lion/","x":"The release of OS X 10.7 Lion is approaching very fast and the question must be: is SQLEditor compatible?\nThe answer is that I expect that SQLEditor will be compatible with OS X 10.7 when it is released in July.\nThere is a new page up on the support site about this,\n"},{"d":"2011-05-22","g":[],"s":"posts","t":"MySQL 5.5 + Ruby + Snow Leopard Mac OS X 10.6","u":"/weblogs/angus/posts/2011/05/22/mysql-5-5-ruby-snow-leopard-mac-os-x-10-6/","x":"The trick is that the library install path isn\u0026amp;rsquo;t right in the gem bundle. The following commands fixed it for me:\n$ cd /Library/Ruby/Gems/1.8/gems/mysql-2.8.1/lib $ sudo install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib mysql_api.bundle\n$ cd /Library/Ruby/Gems/1.8/gems/mysql-2.8.1/ext $ sudo install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib mysql_api/mysql_api.bundle\nThe install name is set to the absolute path of the library that the bundle links to.\nOriginal source for the fix is here: http://lightyearsoftware.com/2011/02/mysql-5-5-on-mac-os-x/ "},{"d":"2011-05-13","g":[],"s":"posts","t":"Talk Talk Door step selling","u":"/weblogs/angus/posts/2011/05/13/talk-talk-door-step-selling/","x":"A truly remarkable piece of door step selling occurred to me this afternoon.\nThree people turned up at my door, claiming to be from Talk Talk, complete with ID badges. (So possibly genuine?)\nI said I wasn\u0026amp;rsquo;t interested, but one of them started arguing with me. He started by claiming that the exchange had been upgraded and then claimed that all broadband was now free. (!) This is a particularly odd claim given that they certainly seem to have prices on their website. There were also various other points made which I believe to be partly or wholly inaccurate.\nI\u0026amp;rsquo;m truly amazed at the stupidity of the whole thing. If I tell people I\u0026amp;rsquo;m not interested I expect them to go away: they\u0026amp;rsquo;re not going to change my mind. The only thing the argument did was make me annoyed and I cannot see how that can be a viable sales strategy. Especially when giving information which is"},{"d":"2011-04-29","g":[],"s":"posts","t":"SQLEditor Diff Support: A Sneak Peak","u":"/weblogs/angus/posts/2011/04/29/sqleditor-diff-support-a-sneak-peak/","x":"Development work is continuing on SQLEditor, and I thought I\u0026amp;rsquo;d post a sneak peak of some features that will be arriving fairly soon.\nToday the feature is Diff support. Yes, it\u0026amp;rsquo;s something that people have been asking for and something that I\u0026amp;rsquo;ve wanted to add for some time and here it is:\nSQLEditorScreenSnapz002 In this example the original table probably looked something like this: StartTable The diff panel shows the SQL instructions that you need to execute to get from the original table to the new table.\nThis is useful for any number of things, but the most obvious one is if you\u0026amp;rsquo;re running a database on a remote web server and you only have command line access, you can make changes, grab the instructions needed to make the change and paste them into the command line client on the server. Other people may want to a record of alterations to their databases for"},{"d":"2011-03-20","g":[],"s":"posts","t":"Adobe and Growl","u":"/weblogs/angus/posts/2011/03/20/adobe-and-growl/","x":"I recently spotted the following line in an online forum by a person associated with the Growl notification system.\nI\u0026amp;rsquo;m tired of being yelled at and having my life threatened, but that\u0026amp;rsquo;s at least better than being insulted like this.\nIf I understand the background to the comment correctly; Adobe included the open source Growl library in their CS5 suite. They also modified it so that it doesn\u0026amp;rsquo;t use the standard Growl installer, but instead installed it \u0026amp;lsquo;silently\u0026amp;rsquo;, without notice to the user.\nAssorted CS5 suite users then noticed that a mysterious piece of software had been installed on their machines and instead of blaming Adobe, blamed Growl and the Growl team. Some of them appear to have become very heated indeed.\nThe whole situation is disgraceful.Â Adobe appears to have taken an innocent and very useful open source library and cause an unimaginable amount"},{"d":"2011-02-07","g":[],"s":"posts","t":"SQLEditor now zip file not a dmg","u":"/weblogs/angus/posts/2011/02/07/sqleditor-now-zip-file-not-a-dmg/","x":"In a change that will probably affect almost nobody at all, SQLEditor is now being distributed with a zip file rather than a dmg as the default download.\nWhy?\nZip files are simpler to create It prevents the problem of the app being run from the dmg Safari handles zip downloads really nicely Disk images created in 10.6 tend to loose their background images in 10.5 That last problem is quite significant, because most of the friendliness of the dmg is the background image; if you loose that, you might as well have a zip file.\nThere are some benefits from dmg files:\nThey have the background image and the drag to applications directory install DMG files can be smaller DMG files are handy to store But then if you loose the first point anyway, it might not be worth bothering.\nNow there are excellent tools like DMG Canvas for creating cross platform disk images that work fine and keep their"},{"d":"2011-02-03","g":[],"s":"posts","t":"Chalkboard paint","u":"/weblogs/angus/posts/2011/02/03/chalkboard-paint/","x":"Chalkboard Paint makes a chalkboard anywhere you can paint.\nSome ideas on what to actually do with the stuff on the walls.\nI like the idea of a calendar made of the stuff.\n"},{"d":"2010-10-30","g":[],"s":"posts","t":"SoyLatte 10.6 bundle template","u":"/weblogs/angus/posts/2010/10/30/679/","x":" This is a simple template to use SoyLatte in Mac OS X 10.6 and have it appear in the JavaPreferences system.\nYou need to copy all of the contents of the /usr/local/soylatte16-i386-1.0.3/ directory into the directory contents/Home (inside the package), then copy the .jdk folder to /Library/Java/JavaVirtualMachines/\nsoylatte16-i386-1.0.3.jdk_1 [Edit] revised based on suggestions by Mike Swingler, it now doesn\u0026amp;rsquo;t advertise capabilities that the SoyLatte distribution doesn\u0026amp;rsquo;t offer.\nAlso another version: This simply symlinks to the existing installation in /usr/local/soylatte16-i386-1.0.3/ and doesn\u0026amp;rsquo;t require anything except copying the result to the /Library/Java/JavaVirtualMachines/ folder.\nsoylatte-103-symlink "},{"d":"2010-10-26","g":["Java","Jdk","Mac"],"s":"posts","t":"Mac OS X will still have Java in the future.","u":"/weblogs/angus/posts/2010/10/26/mac-os-x-will-still-have-java-in-the-future/","x":"There has been lots of stuff written recently about how Java on the Mac has been deprecated.\nThe reality is that one particular Java runtime has been deprecated: the one that Apple write themselves. Java as a language will still be available, only it won\u0026amp;rsquo;t be Apple that writes it and possibly it might be an optional download.\nThe confusion is because up until now there has really been only one Java runtime on the Mac, which Apple wrote themselves using code licensed from Sun. Now Apple has chosen to discontinue their own particular runtime, but this doesn\u0026amp;rsquo;t mean that there won\u0026amp;rsquo;t be any Java at all.\nThere are already alternatives, in particular the OpenJDK and SoyLatte variants; a little rough in places possibly, but they definitely work. Undoubtably in time they will improve and others will appear, including possibly an Oracle one.\nObviously it would have been nice to"},{"d":"2010-09-24","g":[],"s":"posts","t":"Drizzle JDBC supports MySQL","u":"/weblogs/angus/posts/2010/09/24/drizzle-jdbc-supports-mysql/","x":"I came across the Drizzle JDBC driver today, which seems very interesting\nMost interesting though, is that it supports MySQL and it is BSD licensed. This could solve some of the licensing problems that applications like SQLEditor run into.\nI\u0026amp;rsquo;m hoping to have a good look at it later this week.\n"},{"d":"2010-08-21","g":[],"s":"posts","t":"A Microsoft vision of the future","u":"/weblogs/angus/posts/2010/08/21/microsoft-vision-of-the-future/","x":"A vision of a technology future that is almost magical in its fluidity and the absence of any obvious equipment. This is what the future should be:\n"},{"d":"2010-07-30","g":[],"s":"posts","t":"Helpful forums?","u":"/weblogs/angus/posts/2010/07/30/helpful-forums/","x":"Spotted recently in a technical forum (which shall remain nameless):\nYour answers are useless. Thank you anyway. I found answers on my questions from another source.\nAlthough I still don\u0026amp;rsquo;t know what the final answer was, alas\u0026amp;hellip;\n"},{"d":"2010-07-12","g":[],"s":"posts","t":"Real buyers getting tired of speculators","u":"/weblogs/angus/posts/2010/07/12/real-buyers-getting-tired-of-speculators/","x":"Real cocoa buyers, who are probably chocolate manufacturers, are getting tired of excessive speculation in the cocoa market; they\u0026amp;rsquo;ve threatened to move from London to unspecified US cocoa futures exchanges if something isn\u0026amp;rsquo;t done to improve things:\nTelegraph Article (Third section, after Gold movements and Shipping rates)\nI suppose speculation is good if it balances demand and evens out prices, but bad if the end customers feel that they are being cheated.\nMore\nAnother article: Mystery trader buys all Europe\u0026amp;rsquo;s cocoa .\nNo wonder people are annoyed.\n"},{"d":"2010-06-30","g":[],"s":"posts","t":"Apple WWDC videos","u":"/weblogs/angus/posts/2010/06/30/apple-wwdc-videos/","x":"Brilliant work on Apple\u0026amp;rsquo;s part in releasing all of the WWDC videos to registered developers. In previous years these were only available for a fee (I seem to remember $500), so including them is very nice.\n"},{"d":"2010-05-22","g":[],"s":"posts","t":"Pay to play?","u":"/weblogs/angus/posts/2010/05/22/pay-to-play/","x":"back in my day, we didnâ€™t pay to win a video game â€¦ we simply played them well\nMarketing crazy "},{"d":"2010-05-16","g":[],"s":"posts","t":"SQLEditor + Django","u":"/weblogs/angus/posts/2010/05/16/sqleditor-django/","x":"Good news everyone\u0026amp;hellip;\nthe new Django plugin for SQLEditor is now available.\nIt allows you to import, edit and export Django model classes with SQLEditor.\nDjango Plugin Page There are some limitations still, in particular it doesn\u0026amp;rsquo;t support all of the SQLEditor object types and there are some limitations with foreign key support, but the basics should work pretty nicely.\nThe Django plugin is also now built using the new SDK, which is getting closer to public release.\nI\u0026amp;rsquo;m really interested in knowing what people think of this, so a feedback on this is particularly welcome. :-)\n"},{"d":"2010-05-05","g":[],"s":"posts","t":"Election Day 2010 - Remember to Vote!","u":"/weblogs/angus/posts/2010/05/05/election-day-2010-remember-to-vote/","x":" Election-2010 It\u0026amp;rsquo;s the day of the UK general election.\nIt\u0026amp;rsquo;s your democratic duty to vote!\nIf you don\u0026amp;rsquo;t vote, you can\u0026amp;rsquo;t complain about the government we get.\nSo please vote :-)\n"},{"d":"2010-04-23","g":[],"s":"posts","t":"Warburtons Ad","u":"/weblogs/angus/posts/2010/04/23/warburtons-ad/","x":"Warburtons Bread Advert It made me laugh, anyway.\n(On their own site too)\n"},{"d":"2010-04-21","g":[],"s":"posts","t":"safari supports pdf in img tag","u":"/weblogs/angus/posts/2010/04/21/safari-supports-pdf-in-img-tag/","x":"I didn\u0026amp;rsquo;t know this before but it definitely seems to work.\nSVG is more compatible for web pages, though this could be useful for embedded webkit apps.\nFrom High DPI Websites "},{"d":"2010-04-20","g":[],"s":"posts","t":"Idea: EU prize for learning all of the European languages","u":"/weblogs/angus/posts/2010/04/20/idea-eu-prize-for-learning-all-of-the-european-languages/","x":"In the nature of the European cooperation, I propose that the European Union should give out prizes to people who can speak significant numbers of european languages. Perhaps 1 million euros for a person speaking all of the EU significant languages.\nThen smaller prizes for people who speak some fraction (5 or 10 different languages perhaps) I don\u0026amp;rsquo;t know how many people could manage the million euro level (perhaps only a few hundred people, maybe even none?) but it would be a good thing to encourage us all to speak each other\u0026amp;rsquo;s languages.\nIt would also offer a clear and obvious reward to study languages. (Like winning the lottery, just more predictably achievable)\n:-)\n"},{"d":"2010-04-05","g":[],"s":"posts","t":"iPhone multi-tasking","u":"/weblogs/angus/posts/2010/04/05/iphone-multi-tasking/","x":"A thought occurs to me (although I don\u0026amp;rsquo;t do iPhone development).\nOne possible approach to multi-tasking on the iphone might be to allow a background thread that complied with some sandbox requirements to execute with access to certain apis only. (Sound output being an obvious one, internet access being another, possibly hardware interaction) You wouldn\u0026amp;rsquo;t be able to do user interface tasks (except some kind of notification system) and definitely no way to switch apps without user intervention.\nApple probably has something totally different on the way which is much cooler but this is my best idea so far\n"},{"d":"2010-04-03","g":[],"s":"posts","t":"Wanted: Cookie categories in web browsers","u":"/weblogs/angus/posts/2010/04/03/wanted-cookie-categories-in-web-browsers/","x":"Given that I delete my browser cookies fairly regularly, it would be useful to be able to divide them into categories.Then I could delete marketing and tracking cookies without affecting more important login cookies.\nSome categories I would like:\nAlways delete at end of session (for security critical things)\nUse standard rules\nDelete at interval\nDon\u0026amp;rsquo;t delete unless I tell you\nThis is sort of confusing the idea of being able to delete cookies by category with overriding the default rules on expiry, but it mostly gives the idea.\nI think what I really want is a function called Delete unwanted cookies which would magically determine which cookies I want to retain and which I want to delete.\n"},{"d":"2010-03-11","g":[],"s":"posts","t":"Portal for Mac!","u":"/weblogs/angus/posts/2010/03/11/portal-for-mac/","x":"Valve have announced Portal for Mac.\nPlayed it for the first time a couple of weeks ago and have been wondering how best to play it at home.\nFrom April I\u0026amp;rsquo;ll be able to play it (and lots of other Valve games) on my Mac.\nFun :-)\n"},{"d":"2010-03-05","g":[],"s":"posts","t":"Big changes to Mac Developer Program","u":"/weblogs/angus/posts/2010/03/05/big-changes-to-mac-developer-program/","x":"Apple have rearranged their Mac developer program so that it now costs only $99 and seems to have only one paid variant rather than the three previously available. (Student, Select, Premier). The online only variant is still available and still free of charge.\nIt appears that this is possibly influenced by the amazing success of the iPhone developer program, which is also $99.\nAnything that makes it easier and cheaper for developers to develop applications is probably a good thing. Although obviously you only need this developer program if you need access to pre-releases of Mac OS X and the other benefits it provides. It isn\u0026amp;rsquo;t now and never has been a required purchase.\nThey\u0026amp;rsquo;re still upgrading the sites as I write this, so I haven\u0026amp;rsquo;t seen all of the details yet, but definitely looking good.\n[edited to correct information about the free online program]\n"},{"d":"2010-02-26","g":["Rails","Ruby","Sqleditor"],"s":"posts","t":"Rails Migrations and Schemas","u":"/weblogs/angus/posts/2010/02/26/rails-migrations-and-schemas/","x":" A schema.rb file is typically a ruby script containing a call to the ActiveRecord::Schema.define method.\nA rails migration is a ruby class which inherits from ActiveRecord::Migration and contains a method called up\nThe useful fact that I realized only after doing some ultimately unnecessary work today is that because the schema file contains a method call, it\u0026amp;rsquo;s actually easier to extract the information from it than with a migration (which needs SQLEditor to figure out a class name and then call the up method)\nHopefully this new work will appear soon in SQLEditor\n"},{"d":"2010-02-22","g":[],"s":"posts","t":"Tea and Coffee and newspaper articles","u":"/weblogs/angus/posts/2010/02/22/tea-and-coffee-and-newspaper-articles/","x":"So another one of these articles, shock horror, some public body has spent thousands of pounds buying hot drinks for their staff .\nClearly, the whole lot of them should be hangedÂ \u0026amp;hellip;\nexcept, if you look at the figures quoted, the outrage breaks down:\nFrom the article,\n440 staff and a total bill of 70,000 over 3 years.\nAssuming a 48 week working year for everyone for 3 years, this means that the amount spent per week per person is\n(70000/(48*3)) = 486 per week\n486/440 = 1.11 per person.\nYes, just over 1 pound per person, per week!\nOutrage, I say, outrage!\nIgnoring for a moment, the fact that visitors apparently got hot drinks too for the money; given the large amounts of money and the vitally important decisions that a group like the GHA makes, making the right decisions is important. If spending a few pounds a week on hot drinks makes a key decision even slightly better, then"},{"d":"2010-02-16","g":[],"s":"posts","t":"Best Mobile Broadband?","u":"/weblogs/angus/posts/2010/02/16/best-mobile-broadband/","x":"Happened to be in a major supermarket\u0026amp;rsquo;s electronics section the other day and was told that the \u0026amp;ldquo;3\u0026amp;rdquo; network offers the best mobile broadband.\nAlthough oddly all of the O2 retail hardware boxes were sold out, plenty of \u0026amp;ldquo;3\u0026amp;rdquo; boxes to be found.\nUnfortunately no reasons were offered by the employee as to this blanket statement.\nEDIT:\nExcept this mobile broadband Group Test at the Register proves him absolutely right:\nThe clear winner is 3 .\n"},{"d":"2010-01-06","g":["Mac","Malcolmhardie-Solutions","Sqleditor"],"s":"posts","t":"SQLEditor 1.6 final","u":"/weblogs/angus/posts/2010/01/06/sqleditor-1-6-final/","x":"So, if you\u0026amp;rsquo;ve seen SQLEditor recently, you\u0026amp;rsquo;ll hopefully have seen that there is a new version out: version 1.6 . This got released just at the beginning of December 2009\n1.6 is something that I\u0026amp;rsquo;ve been working on now for a long time, it is essentially (the unreleased) version 1.5 with improvements and updates. In particular it contains a SQL parser that was written using ANTLR and a new JNI based system for using JDBC drivers with support for Java 6 JDBC drivers.\nIt\u0026amp;rsquo;s also the first release version of SQLEditor that is compatible with Snow Leopard. SQLEditor 1.4.7 and earlier had an unusual architecture. When I originally started writing SQLEditor, it was a Java application with a Swing user interface. After some development it seemed clear that java swing was proving limited in some ways. I rewrote the user interface layer in Cocoa, leaving the model layer in"},{"d":"2009-12-01","g":[],"s":"posts","t":"From a recent product manual","u":"/weblogs/angus/posts/2009/12/01/from-a-recent-product-manual/","x":"We recommend using 1920x1080, 60Hz(Except for 19/22LU40**, 19LU50**, 19/22/26/32/37/42LH20**, 32/37/42LG21**, 32/37/42LG33**, 19/22/26LG31**, 42/50PQ35**, 42PQ65**), 1360x768, 60Hz(Only 19/22LU40**, 19LU50**, 19/22/26/32/37/42LH20**, 32/37/42LG21**, 32/37/42LG33**, 26LG31**, 50PQ35**), 1024x768, 60Hz(Only 42PQ35**, 42PQ65**) , 1440x900, 60Hz(Only 19LG31**) , 1680x1050, 60Hz(Only 22LG31**)for the PC mode, this should provide the best picture quality.\nSo which was recommended again?\nIn fairness, the manual is trying to cover about 20 different models, and it actually does a fairly good job in most ways. Except that there are a few passages like the one above \u0026amp;hellip;\n"},{"d":"2009-11-17","g":[],"s":"posts","t":"Drawing all of the states","u":"/weblogs/angus/posts/2009/11/17/drawing-all-of-the-states/","x":"This is a brilliant video of Senator Al Franken of Minnesota drawing a map of the United States entirely freehand andÂ including all of the states.\nYouTube Video (via NGM )\n"},{"d":"2009-11-17","g":[],"s":"posts","t":"Newspapers and the Web","u":"/weblogs/angus/posts/2009/11/17/newspapers-and-the-web/","x":"Newspapers are in trouble, everyone seems to think this. Most newspapers have seen circulation declines of their paper editions and the web doesn\u0026amp;rsquo;t pay that well for advertising.\nWhat to do? Lots of obvious ideas like charging monthly fees or having per article charges.\nSubscriptions overlook the fact that many people don\u0026amp;rsquo;t subscribe to newspapers, they buy them each day. Sometimes they buy different ones on different days or go a week without buying one at all.\nPer article charges are far too expensive, sometimes as much as 1 cent per word for say a 250 word article costing $2.50. If the article is critical to your business it may be affordable (The FT and the Wall Street journal seem to be doing well in this line) but if it\u0026amp;rsquo;s about a political crisis or the actions of the local council?\nSo my first idea on this:\nSell the web based newspaper as an digital artifact, not"},{"d":"2009-09-27","g":[],"s":"posts","t":"Good reasons to read Ars Technica","u":"/weblogs/angus/posts/2009/09/27/good-reasons-to-read-ars-technica/","x":"Fortunately, we were able to re-solder the USB connector back to the PCB and continue testing.\n[Ars Technica ]\nHow many websites would bother doing this, and more to the point how many websites have reviewers who could do this?\n"},{"d":"2009-09-23","g":[],"s":"posts","t":"SQLEditor 1.6","u":"/weblogs/angus/posts/2009/09/23/sqleditor-1-6/","x":"The SQLEditor 1.6 public beta has been available now for about 3 weeks and I\u0026amp;rsquo;m getting more hopeful about a final candidate release.\nSQLEditor 1.6 is required for Mac OS X 10.6 Snow Leopard support, but because major sections needed rewriting to get this compatibility, there are also improvements to the core of the application.\nThere is a brand new SQL parser which is based on ANTLR and a new, more extendible, export system. Plus there are lots of other improvements in both user interface and functionality.\nBest of all, it\u0026amp;rsquo;s going to be a free upgrade for existing SQLEditor customers.\nThe beta is currently at version 1.6b7 but 1.6b8 will probably be out very soon.\nI hope that you like it.\n:-)\nDownload SQLEditor 1.6b7 (DMG file | 4.2MB)\n"},{"d":"2009-09-11","g":[],"s":"posts","t":"Criticism","u":"/weblogs/angus/posts/2009/09/11/criticism/","x":"I just saw this comment while reading an article about David Letterman :\nThis article is poorly done. It uses sweeping generalizations, it is factually incorrect in several areas, and shows a general misunderstanding of television. \u0026amp;hellip;\nIÂ enjoyed reading the article anyway, but should I have done?\n"},{"d":"2009-06-03","g":[],"s":"posts","t":"The Brothers Bloom?","u":"/weblogs/angus/posts/2009/06/03/the-brothers-bloom/","x":"I\u0026amp;rsquo;m puzzled that this doesn\u0026amp;rsquo;t seem to have a uk release date (or even a distributor as far as I can see)\nThe trailer looks great:\nhttp://www.apple.com/trailers/summit/thebrothersbloom/ http://www.brothersbloom.com/ "},{"d":"2009-04-30","g":["Mac","Sqleditor"],"s":"posts","t":"SQLEditor 1.4.4 Released","u":"/weblogs/angus/posts/2009/04/30/sqleditor-144-released/","x":"SQLEditor 1.4.4 was just released on Tuesday, the main feature improvement is the support for compound foreign keys. I posted a bit about this before and the final version is pretty much the same as I described.\nUnfortunately there were a couple of bugs that slipped through relating to clicking objects. :-(\nThese are going to be fixed in a point release that should appear soon.\nThe new version is available from the automatic update system or download here:\nDownload 3.9MB dmg File Change Log Product Notes Expires 21st January 2009 "},{"d":"2009-04-23","g":[],"s":"posts","t":"Wired UK first impressions","u":"/weblogs/angus/posts/2009/04/23/wired-uk-first-impressions/","x":"I picked up a copy of Wired UK yesterday and I started reading it this morning while I was eating my breakfast.\nSo far I\u0026amp;rsquo;m impressed, it feels solid, there\u0026amp;rsquo;s plenty of interesting looking stuff and I liked the infographics (which I spent some time interpreting). The pictorial on the 3d printer that uses regular paper was really clever too.\nI hope to offer more thoughts on this once I\u0026amp;rsquo;ve read more, but my first instinct is to subscribe for the year.\nWhich is good; because I was really hoping that it would be good, and it is.\n"},{"d":"2009-04-09","g":["Mac","Malcolmhardie-Solutions","Sql","Sqleditor"],"s":"posts","t":"SQLEditor: Compound Foreign Keys","u":"/weblogs/angus/posts/2009/04/09/sqleditor-compound-foreign-keys/","x":"The newest version of SQLEditor (1.4.4b1) now has support for compound foreign keys. This is something that people have been asking about for a while now, so I\u0026amp;rsquo;m pleased that it got included.\nThere are some things that may need to be improved, but I\u0026amp;rsquo;m fairly happy with the first revision of this.\n[caption id=\u0026amp;ldquo;attachment_400\u0026amp;rdquo; align=\u0026amp;ldquo;alignnone\u0026amp;rdquo; width=\u0026amp;ldquo;443\u0026amp;rdquo; caption=\u0026amp;ldquo;Diagram showing compound foreign key\u0026amp;rdquo;][/caption]\nThe compound foreign key object is a new table level object that you can add from the Object menu just like a field or index. Then you drag from the foreign key to the target table. Finally you use the inspector to create pairs of columns to link together.\nWhen importing from a database SQLEditor will try to create field-to-field links on foreign keys with only 1 pair of columns unless you tell it otherwise. (There is a"},{"d":"2009-03-30","g":[],"s":"posts","t":"DRM?","u":"/weblogs/angus/posts/2009/03/30/drm/","x":"DRM is stealing stories from the eyes of children.\nSpotted recently while reading a forum (which sadly doesn\u0026amp;rsquo;t allow direct linking as far as I can see)\n"},{"d":"2009-03-22","g":[],"s":"posts","t":"","u":"/weblogs/angus/posts/2009/03/22/387/","x":"Recently seen in a Reddit thread :\nUpvoted for completely incomprehensible analogy.\n"},{"d":"2009-03-18","g":[],"s":"posts","t":"Recovery in Detroit","u":"/weblogs/angus/posts/2009/03/18/recovery-in-detroit/","x":"Interesting early signs of improvement in Detroit. People are buying and renovating the unoccupied and abandoned houses:\nMitch and Gina have already been approached by some Germans who want to build a giant two-story-tall beehive.\n"},{"d":"2009-02-23","g":[],"s":"posts","t":"Everything on YouTube unavailable","u":"/weblogs/angus/posts/2009/02/23/everything-on-youtube-unavailable/","x":"I ran into a problem in the last few days with YouTube. I would visit the site, but every video I tried to watch displayed the message \u0026amp;ldquo;we\u0026amp;rsquo;re sorry the video is no longer available\u0026amp;rdquo;.\nOther people seem to have noticed something like this too.\nThe answer, as found in the last message in the thread, is to update to the newest version of Flash player, which appears to fix the problem.\nHowever it makes me ponder something: what changed in the latest version of Flash and why does YouTube not recommend this upgrade to users? (Ideally with a large and obvious message)\n"},{"d":"2009-02-22","g":[],"s":"posts","t":"No freshly squeezed orange juice?","u":"/weblogs/angus/posts/2009/02/22/no-freshly-squeezed-orange-juice/","x":"I was in the supermarket the other day looking for juice, only to find that the regular own brand wasn\u0026amp;rsquo;t available! A disaster that was only averted when I realized that they were carrying a new branded juice instead. But why?\nI had no idea until I came across this article which describes the financial difficulties of SunJuice, which unfortunately now seems to be in Administration.\nSunJuice apparently provided 50% of all uk own-label juice.\nI guess the costs were rising, prices weren\u0026amp;rsquo;t and they got pushed a bit too hard by the buyers.\n:-(\n"},{"d":"2009-02-13","g":[],"s":"posts","t":"3g mobile internet limitations","u":"/weblogs/angus/posts/2009/02/13/3g-mobile-internet-limitations/","x":"SamKnows has an article on some limitations that exist for 3g mobile internet access. (using usb dongles).\nThe killer is the limit for total bandwidth, as low as sharing 6.75 Mbits/s between everyone connecting to a single base station.\nI knew the situation couldn\u0026amp;rsquo;t be the same as land line, but this is much less than I expected.\n"},{"d":"2009-01-26","g":[],"s":"posts","t":"Northern Lighthouse Board Lecture","u":"/weblogs/angus/posts/2009/01/26/northern-lighthouse-board-lecture/","x":"I happened to attend a lecture today at the RSSA given by Roger Lockwood who the head of the Northern Lighthouse Board . The board manages and maintains lighthouses and other navigational aids around Scotland (and for various reasons the Isle or Man)\nIt was a brilliant lecture, the speaker was great and the topic was very interesting. It started with a discussion of existing lighthouses; then the switch to automation and the story of the last manned light house at Fair Isle South Lighthouse (only automated in 1998).\nInteresting was the fact that they can run lighthouses on solar panels in Scotland with good reliability (although batteries were mentioned too of course for storing the power). Wind power has proved to be less effective, with the windmills tending to get damaged by bad weather. The panels also have no moving parts and require less maintenance.\nMoving on to the importance of"},{"d":"2009-01-06","g":[],"s":"posts","t":"Macbook Wheel (by the Onion)","u":"/weblogs/angus/posts/2009/01/06/344/","x":"The Onion on a new Mac \u0026amp;hellip;\n:-)\nThey got that Mac tradeshow look so perfectly too.\n"},{"d":"2009-01-06","g":[],"s":"posts","t":"Randall Munroe talk at Google","u":"/weblogs/angus/posts/2009/01/06/randall-munroe-talk-at-google/","x":"Randall Munroe (of xkcd ) gave a talk at Google .\n"},{"d":"2008-12-22","g":["Sqleditor"],"s":"posts","t":"SQLEditor 1.4.3b3","u":"/weblogs/angus/posts/2008/12/22/sqleditor-143b3/","x":"So, it\u0026amp;rsquo;s coming up to the holidays, but there is time for another SQLEditor release.\n1.4.3b3 (snappy numbering, yes?) is pretty much a bug fix release. I think that the index creation problems that were happening have now been fixed, plus better handling of when to create indexes. It should now correctly figure out if fields are indexed and shouldn\u0026amp;rsquo;t now add duplicates (or worse attempt to add duplicates)\nThere is also the addition of the simulate mode for database export. This isn\u0026amp;rsquo;t exactly new, because it\u0026amp;rsquo;s been available in some development builds, but it has now appeared in a release version. Simulate mode runs the entire export as normal, except that instructions that alter the database aren\u0026amp;rsquo;t actually sent to the database to be executed. The instructions are recorded though, so you can see what would have happened in the status window log view.\nThere"},{"d":"2008-12-21","g":["Entertainment","Science"],"s":"posts","t":"Adam Savage, Dodos and the Maltese Falcon","u":"/weblogs/angus/posts/2008/12/21/adam-savage-dodos-and-the-maltese-falcon/","x":"I just happened to watch this amazing presentation by Adam Savage (of Mythbusters)\nAdam Savage on Obsession (Fora.tv)\n"},{"d":"2008-12-21","g":[],"s":"posts","t":"iPhone Shuffle?","u":"/weblogs/angus/posts/2008/12/21/iphone-shuffle/","x":"The iPhone Shuffle, (Advert 1) (Advert 2) (Advert 3 )\n:-)\nPlus the obligatory Wired.com article (a bit more serious though)\n"},{"d":"2008-12-01","g":["Mysql","Sqleditor"],"s":"posts","t":"MySQL before 4.1?","u":"/weblogs/angus/posts/2008/12/01/mysql-4-and-earlier/","x":"This graph appears to show that mostÂ people polled (97%) are using MySQL 4.1 or later\nThis second poll shows, again, that most people (89%) are using 4.1 or later.\nThe thread at the PunBB forum gives 95% of people polled using 4.1 or later.\nThe Mambo forum poll from 2006 gives 80% using versions after 4.1 (with 8.5% don\u0026amp;rsquo;t know or other)\nAdmittedly not scientific surveys (self selection, etc) but somewhat convincing.\nThis has an obvious implication on how to handle MySQL support, in particular special casing to work around particular issues in early versions. This code adds complexity and in some unfortunate cases also bugs. The less there is, the better.\n"},{"d":"2008-11-19","g":[],"s":"posts","t":"Is there a pilot on board?","u":"/weblogs/angus/posts/2008/11/19/is-there-a-pilot-on-board/","x":"In movies like Airplane! the pilots have all been incapacitated and a desperate call goes around \u0026amp;ldquo;is there a pilot on board?\u0026amp;rdquo; To which some brave soul then stands up and says something like, \u0026amp;ldquo;Yes I can fly the plane\u0026amp;rdquo;.\nWhat\u0026amp;rsquo;s weird though is that something a little like this actually happened recently.\nAn Air Canada Boeing 767 (C-FMXC ) on a flight between Toronto and London was midway across the Atlantic when the First Officer showed signs of being confused and unwell. The captain decided the first officer should be relieved of duty and he was removed from the flight deck.\nAt this point the passenger lists were inspected to see if there were any airline pilots on board, unfortunately there were not, however one of the flight attendants held a commercial pilots license and she was asked to assist the captain. (There is suggestion on one forum that this flight"},{"d":"2008-11-19","g":["Php","Zend-Framework"],"s":"posts","t":"Zend Framework - run in a subdirectory","u":"/weblogs/angus/posts/2008/11/19/zend-framework-run-in-a-subdirectory/","x":"This article explains how to use Zend Framework MVC in a subdirectory (rather than in the DocumentRoot)\n[Link ]\n"},{"d":"2008-11-19","g":["Php","Zend-Framework"],"s":"posts","t":"Zend framework Quickstart and SQLite","u":"/weblogs/angus/posts/2008/11/19/zend-framework-quickstart-and-sqlite/","x":"I was building the Zend Framework quick start tutorial example but I kept getting the following error:\nMessage: SQLSTATE[HY000]: General error: 14 unable to open database file\nThis was despite the fact that I had correct privileges on the database file.\nHowever it turns out you seem to need write and execute privileges for Apache on the directory that contains your sqlite database (not just the database file itself).\nI added them to the containing directory and everything seems to work now. :-)\n[Link ] (Nabble.com and the original source of this solution)\n"},{"d":"2008-11-15","g":["Sqleditor"],"s":"posts","t":"SQLEditor updates","u":"/weblogs/angus/posts/2008/11/15/sqleditor-updates/","x":"I\u0026amp;rsquo;ve just released a new version of SQLEditor yesterday, mainly as a bug fix release, but it\u0026amp;rsquo;s definitely recommended to upgrade.\nThe new beta is 1.4.3b1 which was released 14th November. It fixes a number of bugs, including MySQL comments and some odd bugs relating to selecting tables using the drag selection method.\nDownload 1.4.3b1 (3.6MB DMG)\nThe current stable version is 1.4.2 which came out at the end of October. It fixed several significant bugs that people reported and made a few minor improvements.\nDownload 1.4.2 (3.6MB DMG)\n"},{"d":"2008-11-06","g":["Django","Sqleditor"],"s":"posts","t":"Django Support","u":"/weblogs/angus/posts/2008/11/06/django-support/","x":"Several people have now asked for this, so it\u0026amp;rsquo;s being really seriously looked at.\nPlus I\u0026amp;rsquo;m hopeful that it will be able to support the somewhat different but quite similar Google app engine model class format too\nHaving been working on this for the last few days, I can say that the Django plugin is moving towards a working state, the development version is now somewhat able to create and export a suitable python file.\nAlthough this mustn\u0026amp;rsquo;t be taken to mean that it\u0026amp;rsquo;s near to release, because there are still several major things that are needed before it will be complete.\nI think there will probably be two releases, the first will be export only, then a later release will add the import features.\nAnd it should be a free upgrade for SQLEditor :-)\n"},{"d":"2008-11-06","g":[],"s":"posts","t":"Loyalty Cards","u":"/weblogs/angus/posts/2008/11/06/loyalty-cards/","x":"I was looking at my wallet and I realized that I have a whole collection of loyalty cards.\nAm I really loyal to all of them? I don\u0026amp;rsquo;t think I can be, since some of them are for direct competitors.\n"},{"d":"2008-10-23","g":["Cinema-Technology","Film"],"s":"posts","t":"Cinema Audio","u":"/weblogs/angus/posts/2008/10/23/cinema-audio/","x":"A Fascinating Video with Ioan Allen of Dolby Labs talking about different kinds of Film audio system.\n"},{"d":"2008-10-17","g":[],"s":"posts","t":"Is the iPhone NDA still in effect?","u":"/weblogs/angus/posts/2008/10/17/is-the-iphone-nda-still-in-effect/","x":"This post from yesterday on the cocoa-dev list seems to suggest that it is.\nI wonder what is happening?\n(Although it doesn\u0026amp;rsquo;t affect me much because I\u0026amp;rsquo;m still not doing iPhone development at all yet)\n"},{"d":"2008-10-16","g":["Sqleditor"],"s":"posts","t":"SQLEditor releases","u":"/weblogs/angus/posts/2008/10/16/sqleditor-releases/","x":"This is another quick update about SQLEditor releases in the near future.\n1.4.2b1\nCurrently version 1.4.2b1 is in beta release, it offers a few specific improvements\nAdded support for editing MySQL character set and collation settings on fields and tables\nModified inspector on fields to use popup menu for selecting tabs\nFixed bug that prevented saving files after creating new foreign keys when referencing primary keys in tables with indexes under certain circumstances.\nDownload 1.4.2b1 (3.5MB DMG File) - Expires October 24th\n1.4.2b2\n1.4.2b2 is due fairly soon. The following improvements should definitely appear\nModified MySQL exporter to use ENGINE instead of TYPE for better compatibility Comments now attached to fields when exporting MySQL (i.e COMMENT \u0026amp;lsquo;xyz\u0026amp;rsquo; style) Connector inspector is now displayed automatically when a new connector is created More padding added to line"},{"d":"2008-10-16","g":["Apple","Xcode"],"s":"posts","t":"XCode function popup","u":"/weblogs/angus/posts/2008/10/16/xcode-function-popup/","x":"I love the XCode function popup, particularly in Objective C, because I can add #pragma mark comments to divide up the list.\nUnfortunately languages that aren\u0026amp;rsquo;t C derived don\u0026amp;rsquo;t offer #pragma, so I missed these little dividers\nThen I noticed that a comment that contained FIXME had appeared in the list too, looking just as if it were a #pragma mark entry\nLooking at the XCode documentation reveals that XCode will also search code comments for a range of keywords and use them to control entries in the function popup. And it will do this for Java, Perl, Python, and Ruby (as well as the C based C, Objective-C and C++).\nThis means I can write in other interesting languages and still get my function popup dividers.\nJust prefix the comment line with one of the following:\nMARK: TODO: FIXME: !!!: ??? and the remainder of that line will appear in the list.\nThere is more in the Apple"},{"d":"2008-10-12","g":[],"s":"posts","t":"National Lighthouse museum closed","u":"/weblogs/angus/posts/2008/10/12/national-lighthouse-museum-closed/","x":"I was sad to read that the National lighthouse museum in Penzance appears to have closed.\nIt was an interesting place to visit and it had lots of real exhibits including light house lamps, optics and models. It was also in a building which had been used to prepare stone work for the Wolf Rock lighthouse construction, so there was a sense of history about the place.\nHopefully the exhibits will get put on display somewhere else, but it\u0026amp;rsquo;s still a shame.\n"},{"d":"2008-09-15","g":[],"s":"posts","t":"UCS-2 vs UTF-16","u":"/weblogs/angus/posts/2008/09/15/ucs-2-vs-utf-16/","x":"Since I got confused by this one the other day:\nhttp://unicode.org/faq/basic_q.html#14 Q: What is the difference between UCS-2 and UTF-16?\nA: UCS-2 is what a Unicode implementation was up to Unicode 1.1, before surrogate code points and UTF-16 were added as concepts to Version 2.0 of the standard. This term should be now be avoided.\nWhen interpreting what people have meant by \u0026amp;ldquo;UCS-2\u0026amp;rdquo; in past usage, it is best thought of as not a data format, but as an indication that an implementation does not interpret any supplementary characters. In particular, for the purposes of data exchange, UCS-2 and UTF-16 are identical formats. Both are 16-bit, and have exactly the same code unit representation.\nThe effective difference between UCS-2 and UTF-16 lies at a different level, when one is interpreting a sequence code units as code points or as characters. In that case, a UCS-2"},{"d":"2008-09-11","g":[],"s":"posts","t":"Google Chrome Comic","u":"/weblogs/angus/posts/2008/09/11/google-chrome-comic/","x":"The Google Chrome comic is a work of art, it\u0026amp;rsquo;s both functional and artistic, and it manages to explain so many really important points in a way that is easy to understand.\nIf you haven\u0026amp;rsquo;t read it, and you\u0026amp;rsquo;re interested in browsers at all, you should go and read it. :-)\n"},{"d":"2008-09-05","g":[],"s":"posts","t":"Cappuccino Framework released","u":"/weblogs/angus/posts/2008/09/05/cappuccino-framework-released/","x":"The people at 280 North have released the The Cappuccino framework as open source. The Cappuccino framework is the system that powers the 280 slides web app, which is sort of Keynote in a browser.\nI\u0026amp;rsquo;ve been playing around with the framework today a bit and it looks really great. The interesting thing is how many AppKit features have made it across. It wasn\u0026amp;rsquo;t hard to modify the sample app to use a CPURLConnection object to fetch data asynchronously and then display it in a suitable text view.\nMy test app for this btw was an ajax clock. I built a simple php script that displays the output of the php date method and then used ajax calls to update the clock in the browser. It\u0026amp;rsquo;s not exactly useful but it worked really quite nicely and the coding is relatively easy too.\nI\u0026amp;rsquo;m now wondering what else can be built using these tools, because it seems a really nice way of"},{"d":"2008-08-27","g":[],"s":"posts","t":"Automatically creating book cover designs","u":"/weblogs/angus/posts/2008/08/27/automatically-creating-book-cover-designs/","x":"This is a remarkable article describing how Faber \u0026amp;amp; Faber (the publishers) are using a series of graphical parts and some custom software to automatically generate book covers for their new series of out of print works.\nIt works by using a standard layout for things like the title and the barcode, but then using parameterized graphics it generates a unique cover graphic for each book.\nThe covers fit within the style that has been chosen of course, but each is unique.\nIt\u0026amp;rsquo;s really clever.\n"},{"d":"2008-08-25","g":[],"s":"posts","t":"SQLEditor Progress","u":"/weblogs/angus/posts/2008/08/25/sqleditor-progress/","x":"It\u0026amp;rsquo;s been a little while since I wrote about the release of SQLEditor so it\u0026amp;rsquo;s time to write about what\u0026amp;rsquo;s been happening with SQLEditor since then.\nSQLEditor 1.4.1.b2 (available now)\nThere is a new bug fix release of SQLEditor available in beta right now. If the \u0026amp;ldquo;Check for beta versions\u0026amp;rdquo; box in the preferences window is checked then you\u0026amp;rsquo;ll get the offer of the upgrade to 1.4.1b2.\nThis is a minor bug fix release that fixes a few bugs that have been reported since the 1.4 release\nSQLEditor 1.4.1b3 (available soon)\nThis release is going to fix a stupid bug that makes the file type selection in the export as image box not work correctly. The file types got mixed up in the code so the labels don\u0026amp;rsquo;t match the output. It missed the b2 release, but it will be corrected in beta 3\nSQLEditor 1.5\nThis is the next big release of SQLEditor. It\u0026amp;rsquo;s going to"},{"d":"2008-08-01","g":["Software-Release","Sqleditor"],"s":"posts","t":"SQLEditor 1.4 Final Released","u":"/weblogs/angus/posts/2008/08/01/sqleditor-14-final-released/","x":"In case you missed it version 1.4 of SQLEditor was released back on July 8th.\nIf you\u0026amp;rsquo;re using 1.3.9 you might like to consider upgrading.\nThe 1.3.9 upgrade system will be set soon to recommend this upgrade (though 1.3.9 doesn\u0026amp;rsquo;t use sparkle, so it can\u0026amp;rsquo;t actually do the upgrade for you)\nSQLEditor 1.4 (3.6 MB DMG File)\nLots of great new features and various bug fixes and improvements to the existing ones.\n"},{"d":"2008-06-26","g":[],"s":"posts","t":"Virtualized Mac OS X servers","u":"/weblogs/angus/posts/2008/06/26/virtualized-mac-os-x-servers/","x":"Media Temple are running a beta programme for virtualized Mac OS X server hosting (Using Parallels Server)\nThis sounds really interesting, it would be nice to be able to rent a Mac OS X box and run services on it.\nIt might even be useful for things like running a build system or even as a testing server.\nThe question is how much will it cost. That isn\u0026amp;rsquo;t entirely clear yet, apparently because they\u0026amp;rsquo;re not entirely sure how much each instance will need in the way of resources.\nHow it compares to SliceHost and Bytemark will remain to be seen.\n(It must surely be more expensive, but how much more?)\n"},{"d":"2008-06-24","g":[],"s":"posts","t":"SQLEditor 1.4b26","u":"/weblogs/angus/posts/2008/06/24/sqleditor-14b26/","x":"SQLEditor 1.4b26 is now available for download .\nIt fixes only one problem which is related to auto increment and SQLite.\nThis should hopefully be the final beta version for 1.4\n:-)\nThe next version should be the 1.4 final release which will probably happen later this week or early next week (assuming no more problems are reported)\nSQLEditor 1.4b26 Download [3.6MB DMG]\n"},{"d":"2008-06-20","g":[],"s":"posts","t":"SQLEditor 1.5","u":"/weblogs/angus/posts/2008/06/20/sqleditor-15/","x":"SQLEditor 1.5 is making good progress. The latest thing that I\u0026amp;rsquo;m currently working on is to extract SQL Views from a database. In theory this should be just like extracting tables, but it\u0026amp;rsquo;s looking much harder to work out than I ever expected.\nThe new SQL parser is mostly finished. It\u0026amp;rsquo;s been completely rewritten using ANTLR3 . This offers a number of really good improvements, the most important one being that it\u0026amp;rsquo;s not running in Java anymore. The parser is now completely native code.\nAlso pretty much finished is the new document model code, the new document export code and the new JDBC handling code. I\u0026amp;rsquo;m hopeful that it will now be possible to run JDBC drivers that use AWT (which I\u0026amp;rsquo;m informed the IBM DB2 driver may do).\nSQLEditor 1.4 is just about finished too. There is one change that needs to get beta tested and then the 1.4 final release should be"},{"d":"2008-06-20","g":[],"s":"posts","t":"Water found on Mars","u":"/weblogs/angus/posts/2008/06/20/water-found-on-mars/","x":"They spotted water on Mars!\nColonising now seems a step closer \u0026amp;hellip;\nMarsPhoenix Twitter (via Boing Boing )\n"},{"d":"2008-06-07","g":[],"s":"posts","t":"280 Slides","u":"/weblogs/angus/posts/2008/06/07/280-slides/","x":"A cool new online presentation tool:\nhttp://280slides.com/Editor/ The slide show application is really nice in that it feels very much like a desktop application when in use, even down the way buttons and key presses behave. The object rotation is particularly clever.\nAnother thing that makes this one clever though is the underlying framework, which is said to compile cocoa like code into dynamic web pages. It will apparently even be opensourced at some stage!\n"},{"d":"2008-06-07","g":[],"s":"posts","t":"Reggy for regular expression testing","u":"/weblogs/angus/posts/2008/06/07/reggy-for-regular-expression-testing/","x":"Handy new tool I came across today which allows you to test regular expressions and see what they select.\nReggy "},{"d":"2008-05-30","g":[],"s":"posts","t":"Film Release Schedule","u":"/weblogs/angus/posts/2008/05/30/film-release-schedule/","x":"Because I can never remember where this list is kept:\nUK Film Distributors\u0026amp;rsquo; Association Film Release Schedule "},{"d":"2008-05-27","g":[],"s":"posts","t":"Scripts in XCode","u":"/weblogs/angus/posts/2008/05/27/scripts-in-xcode/","x":"The build system for SQLEditor has lots of steps, from building each of the component frameworks, compiling the application, assembling the bundle, creating a disk image and then uploading everything to the server. (Plus things like version histories and read me files).To reduce errors I have several aggregate targets and a collection of scripts, but I was puzzled how to produce those little note entries that OCUnit generates when it\u0026amp;rsquo;s running unit tests. There were several notes I wanted to make but I couldn\u0026amp;rsquo;t figure it out.\nHowever it occurred to me one day to inspect the souce of RunTargetTests and the answer was of course right there in the source.\n\u0026amp;lt;filename\u0026amp;gt;:\u0026amp;lt;line\u0026amp;gt;: note: \u0026amp;lt;message\u0026amp;gt; gives you a note.\n\u0026amp;lt;filename\u0026amp;gt;:\u0026amp;lt;line\u0026amp;gt;: \u0026amp;lt;message\u0026amp;gt; gives you a warning.\nwhere\n\u0026amp;lt;filename\u0026amp;gt; is the name of the file you want the message to appear from"},{"d":"2008-05-10","g":[],"s":"posts","t":"The inspiration for star wars?","u":"/weblogs/angus/posts/2008/05/10/the-inspiration-for-star-wars/","x":"George Lucas in Love A parody on the origins of the star wars story\u0026amp;hellip;\n"},{"d":"2008-03-19","g":[],"s":"posts","t":"Engineers without borders","u":"/weblogs/angus/posts/2008/03/19/253/","x":"Wired has an interesting article about Engineers without borders, a group that is trying to develop cheap technology solutions for developing parts of the world. The latest idea is a low cost wind turbine to generate electricity for lighting. Best of all the design is intended to be produced by local manufacturers in the destination country, so it encourages local industry too.\nWired: Engineers Without Borders Bring Tech to Villages Without Power "},{"d":"2008-03-14","g":[],"s":"posts","t":"Flash CS3 - Trace not producing output?","u":"/weblogs/angus/posts/2008/03/14/flash-cs3-trace-not-producing-output/","x":"Found an odd problem with Flash CS3 today. I was working away and I realised that I wasn\u0026amp;rsquo;t getting anything in the output window from calls to trace().\nJust a completely empty output panel.\nThe answer is simple, make sure Filter Level is set to verbose in the menu on the output panel. If you have it set to None then you won\u0026amp;rsquo;t get any output.\nI\u0026amp;rsquo;m not quite sure if this is something that I changed or if it is the default, but it isn\u0026amp;rsquo;t exactly obvious.\n"},{"d":"2008-03-05","g":[],"s":"posts","t":"Chocolate Russian Roulette","u":"/weblogs/angus/posts/2008/03/05/chocolate-russian-roulette/","x":"I happened to come across this:\nChocolate Russian Roulette [cybercandy uk]\nYou get a tray with 12 pieces of chocolate. 11 of them are praline filled milk chocolate bullets, the 12 contains a real chilli pepper.\n"},{"d":"2008-02-21","g":["Mac"],"s":"posts","t":"Handy database of recommended Mac Apps","u":"/weblogs/angus/posts/2008/02/21/handy-database-of-recommended-mac-apps/","x":"Johan Basberg (who designed the beautiful SQLEditor icon) has a handy list of recommended mac applications at\nhttp://dittverk.no/mac/files/tag-editor.php And SQLEditor is on this list :-)\n"},{"d":"2008-01-30","g":[],"s":"posts","t":"ACID3 tests","u":"/weblogs/angus/posts/2008/01/30/acid3-tests/","x":"Work started on the new acid test almost as soon as the IE developer team posted notification that IE8 passes Acid2\n:-)\nWell, if you read the article and comments, it\u0026amp;rsquo;s not perfectly correct. But it\u0026amp;rsquo;s kind of funny as a quote.\nCSSInfo "},{"d":"2008-01-19","g":[],"s":"posts","t":"ACM computer science key works","u":"/weblogs/angus/posts/2008/01/19/acm-computer-science-key-works/","x":"The ACM is offering free downloads of selected classic works of computer science to anyone who signs up.\nhttp://www.acm.org/classicsÂ (viaÂ Lambda The Ultimate and Dusty Decks )\n"},{"d":"2007-12-23","g":[],"s":"posts","t":"Windows XP Services descriptions","u":"/weblogs/angus/posts/2007/12/23/windows-xp-services-descriptions/","x":"Since it wasn\u0026amp;rsquo;t obvious to me where this document was, here is a link to a Microsoft page describing Windows XP services with descriptions.\nhttp://www.microsoft.com/technet/security/guidance/serversecurity/tcg/tcgch07n.mspx There is also a similar document for Windows 2000\nhttp://technet.microsoft.com/en-us/library/bb742605.aspx "},{"d":"2007-11-09","g":[],"s":"posts","t":"Brushy the Talking Airbrush","u":"/weblogs/angus/posts/2007/11/09/brushy-the-talking-airbrush/","x":"Interesting blog post talking about how Adobe plans to improve Photoshop, which is obviously an application with a large number of very committed users.\nJohn Nack is talking about task orientated user interfaces, which in theory is what Microsoft was trying to get to with clippy. Unfortunately since everyone seems to dispise clippy; Brushy the talking airbrush (signature quote: \u0026amp;ldquo;Hey, pardner, looks you\u0026amp;rsquo;re tryin\u0026amp;rsquo; to retouch a photo!\u0026amp;rdquo;) is definitely NOT going to happen. (It\u0026amp;rsquo;s just a joke in one of the comments).\nJohn Nack on Adobe Photoshop: Photoshop, as seen through Johnny Cash "},{"d":"2007-10-27","g":[],"s":"posts","t":"Concept car with robot on dashboard!","u":"/weblogs/angus/posts/2007/10/27/concept-car-with-robot-on-dashboard/","x":"This looks really cool: IT World: Nissan adds a robot helper to its concept car It\u0026amp;rsquo;s a concept electric car which has a small robot on the dashboard that offers directions and tries to keep the driver cheerful.\n"},{"d":"2007-10-25","g":[],"s":"posts","t":"10.5 support","u":"/weblogs/angus/posts/2007/10/25/105-support/","x":"At the moment I believe that both SQLEditor and HTMLValidator are compatible with Mac OS X 10.5 and should work without functional difficulty.\nA minor issue that I found is that the toolbar icons don\u0026amp;rsquo;t look very good against the 10.5 window style. These have already been redrawn and the new icons will appear in the 1.4 release.\nThis assumes that there weren\u0026amp;rsquo;t any major changes between the version that I used to test and the release version of 10.5 which will be released on October 26th.\nOverall it looks good though.\n"},{"d":"2007-10-22","g":[],"s":"posts","t":"OneMonthApp and SQLEditor","u":"/weblogs/angus/posts/2007/10/22/onemonthapp-and-sqleditor/","x":"OneMonthApp is using SQLEditor!\nOneMonthApp is a project where they are building a complete web application in a month. It\u0026amp;rsquo;s going to be a simple and easy to use cash flow application, apparently. And they\u0026amp;rsquo;re going to make it free, which is great too. I\u0026amp;rsquo;ve signed up to be notified when it\u0026amp;rsquo;s done, which the counter is promising for sometime in the next couple of days. (They started in September, so less than a month) Stephen over at OneMonthApp very kindly included SQLEditor in a list of 20 tools for web application development that they\u0026amp;rsquo;re using for the project. Maybe I need an \u0026amp;ldquo;I use SQLEditor\u0026amp;rdquo; badge icon or something?\n"},{"d":"2007-10-15","g":[],"s":"posts","t":"DHL","u":"/weblogs/angus/posts/2007/10/15/dhl/","x":"Got a package this morning delivered by DHL and an interesting thing happened.\nI recognised the delivery person and the delivery person recognised me. Which was nice. :-)\nI think they must work a particular route, because the same woman tends to deliver most of my (DHL) packages.\n"},{"d":"2007-09-06","g":[],"s":"posts","t":"Automatically fill in captcha fields","u":"/weblogs/angus/posts/2007/09/06/automatically-fill-in-captcha-fields/","x":"I get tired of filling in captcha fields on forms.\nWouldn\u0026amp;rsquo;t it be handy if there was a facility in web browsers to fill them in automatically.\n:-)\n"},{"d":"2007-09-03","g":[],"s":"posts","t":"Television","u":"/weblogs/angus/posts/2007/09/03/television/","x":"This says it all really.\n(Though saying that there are still some smart shows on tv. I just wanted to link to that page)\n"},{"d":"2007-09-01","g":[],"s":"posts","t":"Google Tech Talks","u":"/weblogs/angus/posts/2007/09/01/google-tech-talks/","x":"I\u0026amp;rsquo;ve been watching educational stuff on the internet recently.\nOne of the things that I really like is Google Tech Talks on Google Video.\nThese are talks given at Google on different subjects and many are now available online.\nAmongst the really good ones I\u0026amp;rsquo;ve seen:\nInbox Zero - Merlin Mann - How to handle lots of email Everything is Miscellaneous - David Weinberger - tagging vs organization (And there are lots of others, these are just ones I could find the links to easily!)\n"},{"d":"2007-08-29","g":[],"s":"posts","t":"iTunes tv shows in the UK","u":"/weblogs/angus/posts/2007/08/29/itunes-tv-shows-in-the-uk/","x":"Well the iTunes store is finally offering tv shows in the uk. It\u0026amp;rsquo;s totally disappointing. The prices are ridiculously expensive and the list of shows is small. All of the MalcolmHardie software sales are denominated in dollars so I watch the exchange rate with great interest.\nThe current exchange rate at xe.com as of today is 2.01599 USD to 1 British Pound. (In the reverse direction that is 0.49603 British Pounds to 1 USD).\niTunes in the US charge 1.99USD for most tv shows. Therefore the UK price correctly should be 99 pence. (0.99 British Pounds). Given the usual kind of price gouging that goes on, possibly 1.29 or even 1.39 would have been acceptable. Instead they have decided to charge 1.89 British Pounds. This is almost twice as expensive! Add 9 pence and it would be exactly twice as expensive.\nI almost thought of writing to them and asking if they have mistaken the exchange"},{"d":"2007-08-27","g":[],"s":"posts","t":"XML, UTF-8 and Java","u":"/weblogs/angus/posts/2007/08/27/xml-utf-8-and-java/","x":"Apparently, valid UTF-8 strings aren\u0026amp;rsquo;t necessarily valid XML. You can get a situation where you have valid UTF-8 strings which fail xml parsing.\nFortunately Mark McLaren offers a solution .\n"},{"d":"2007-08-22","g":[],"s":"posts","t":"Retro Mac OS Wordpress theme","u":"/weblogs/angus/posts/2007/08/22/retro-mac-os-wordpress-theme/","x":"This made me laugh when I saw it:\nhttp://www.modernlifeisrubbish.co.uk/article/retro-mac-os-wordpress-theme Definitely memories of simpler times ;-)\n"},{"d":"2007-08-21","g":[],"s":"posts","t":"Native Mobile apps almost impossible to develop?","u":"/weblogs/angus/posts/2007/08/21/native-mobile-apps-almost-impossible-to-develop/","x":"I\u0026amp;rsquo;ve been reading stuff recently about creating native (non-java) mobile phone apps.\nThe key thing is application signing.\nIn an attempt to prevent viruses and malicious code from being run on mobile devices, the major platforms require that applications are signed using a cryptographic key before being distributed. The two platforms have different requirements, but this signing process is expensive and difficult in both cases.\nThings range from really hard (if you have time and money) to almost impossible (if you lack either time or money). Windows Mobile:\n\u0026amp;ldquo;I can\u0026amp;rsquo;t emphasise enough, just how bad the current code-signing mechanisms are in WM5 / Smartphone\u0026amp;rdquo;\n[At WindowsMobile Team Blog ]\nSymbian\n\u0026amp;ldquo;Having your application, which you\u0026amp;rsquo;ve slaved over and spent countless hours perfecting, stuck in the signing process for over a month is unacceptable.\u0026amp;rdquo;"},{"d":"2007-08-17","g":["Cocoa","Development","Mac","Sql","Sqleditor"],"s":"posts","t":"SQLEditor 1.4b2","u":"/weblogs/angus/posts/2007/08/17/sqleditor-14b2/","x":"Another day, another beta. (Kind of)\nSQLEditor 1.4b2 is now available, which is pretty much bug fixing against 1.4b1.\nThere were several issues with 1.4b1 including an annoying bug that would sometimes delete foreign key connectors when you deleted an unrelated table.\nThere are some fixes for other bugs which turned up and some improvements to undo/redo, to make it more stable when you undo or redo lots of things, one after the other.\nI\u0026amp;rsquo;ve also moved SQLEditor to Sparkle . Sparkle replaces an update system that I wrote myself and it should offer better update support as well as a nice html based \u0026amp;lsquo;what\u0026amp;rsquo;s changed\u0026amp;rsquo; window.\nSQLEditor also now tells people that it is a beta and exactly when it will expire. It probably should always have done this, but it does it now, which is probably good.\nThere are also some minor fixes to the live source view, so that it changes"},{"d":"2007-08-14","g":[],"s":"posts","t":"Site redesign","u":"/weblogs/angus/posts/2007/08/14/site-redesign/","x":"So, if you\u0026amp;rsquo;ve visited the MalcolmHardie.com site today you\u0026amp;rsquo;ll have seen the new site design.\nIt\u0026amp;rsquo;s Blue.\nBut that\u0026amp;rsquo;s not all. The layout structure of each page has been substantially changed (for the first time since 2004, I think) . The new 2 column design is also wider (960px) and offers more flexibility than the old 3 column design. There are new graphics and section headings and a new about page (with a message from me!). The MalcolmHardie logo has been used in a reversed white on blue form, which I think worked out quite well and the main body is black/dark gray 13px Lucida Grande on a white background. (With Verdana as the second choice)\nThe content management has also been improved. The whole site is now a sort of wiki. Although it is somewhat static as wikis go. Each web page is now a wiki page that is rendered when necessary to deliver the page. Page expiry"},{"d":"2007-08-07","g":[],"s":"posts","t":"HTMLValidator 1.0","u":"/weblogs/angus/posts/2007/08/07/htmlvalidator-10/","x":"HTMLValidator 1.0 is finally released.\nAs I write this, it\u0026amp;rsquo;s been out since Friday, so I guess I\u0026amp;rsquo;m a bit late in writing this. HTMLValidator 1.0 is identical to HTMLValidator 1.0b8, except of course that it 1) doesn\u0026amp;rsquo;t expire and 2) asks for registration.\nThe first non-beta release seems to have gone reasonably well. People are downloading it, trying it and some are starting to buy it. (If you\u0026amp;rsquo;re reading this, then thank you!).\nOddly enough the most difficult thing about the whole thing was making sure that the order processing system could correctly deal with more than one product. We have a system that interfaces with our payment provider and it handles logging orders and generating serial codes. When it was originally written, HTMLValidator didn\u0026amp;rsquo;t exist, we sold only one product and there wasn\u0026amp;rsquo;t really a plan to develop others; So there were several"},{"d":"2007-07-26","g":["Linux","Mobile-Phone","Openmoko"],"s":"posts","t":"OpenMoko developer hardware","u":"/weblogs/angus/posts/2007/07/26/openmoko-developer-hardware/","x":"I love the idea of the OpenMoko platform, an open source mobile phone. It uses linux as the operating system built on a fairly open hardware platform. (Some of the drivers are closed source, apparently due to licensing restrictions)\nYou can buy a developer unit right now, although the list of currently incomplete features should (rightly) discourage all but the most enthusiastic.\nhttp://www.openmoko.com/ I think when the software is more complete that this could be a great mobile phone. The idea of having almost total control over the operation of a mobile phone seems like a very clever idea.\nSome ideas that came to me:\nUse the onboard GPS to perform actions when in particular locations (automatically forward calls to my home number when I\u0026amp;rsquo;m at home for instance, or automatically switch off the phone when I\u0026amp;rsquo;m at the cinema. PossiblyÂ use different answer phone messages when"},{"d":"2007-07-19","g":["Bash","Linux","Mail","Terminal"],"s":"posts","t":"Disable \"You have new mail\" terminal message","u":"/weblogs/angus/posts/2007/07/19/disable-you-have-new-mail-terminal-message/","x":"By default in linux you get a message saying something like\nYou have new mail in\nwhen you log into a linux machine.\nSometimes this gets annoying because you always have new mail, or because there seems to be a delay while checking the mail or because the mail is actually stored on some kind of remote disk.\nDisabling this setting is easy. Simply include\nunset MAILCHECK\nin your .bashrc file (for login shell) or .bash_profile (for non-login shells, i.e. ssh) and the message shouldn\u0026amp;rsquo;t appear.\nFor me it speeds up login for my linux server and removes clutter. I got this from:\nhttp://www.savarese.org/patches/bash.html There is also a more detailed explanation that I found here:\nhttp://www.cygwin.com/ml/cygwin/1998-08/msg00365.html This page explans the difference between .bashrc and .bash_profile:\nhttp://joshstaiger.org/archives/2005/07/bash_profile_vs.html "},{"d":"2007-07-09","g":[],"s":"posts","t":"The phrase ICT","u":"/weblogs/angus/posts/2007/07/09/the-phrase-ict/","x":"I really hate the abbreviation \u0026amp;ldquo;ICT\u0026amp;rdquo;. Somehow every time I hear it I get slightly annoyed with it.\nFortunately it looks like other people don\u0026amp;rsquo;t like it either. :-) ICT which stands for Information and Communication Technology is usually the phrase used by the public sector in the UK to talk about computers and telephones.\nThe good news though, is that Register readers don\u0026amp;rsquo;t like it either. 88% of responders in a web poll wanted it banned. (57% said yes without conditions, 31% wanted it banned but with the condition of more Paris Hilton stories)\nIf I\u0026amp;rsquo;m really lucky perhaps this abbreviation can be removed from usage altogether. :-)\n"},{"d":"2007-06-18","g":[],"s":"posts","t":"","u":"/weblogs/angus/posts/2007/06/18/223/","x":"\u0026amp;ldquo;I would argue that the fact that there are 100,000 people in China who are paid to play the boring parts of World of Warcraft is evidence of serious flaws in the game\u0026amp;rsquo;s design.\u0026amp;rdquo;\nBrandon Berg [link ] (in the comments)\nThis is in response to an article condemning MMORPG gold farmers.\n"},{"d":"2007-06-13","g":[],"s":"posts","t":"Email legal statements in headers","u":"/weblogs/angus/posts/2007/06/13/email-legal-statements-in-headers/","x":"Graham Miln at Dssw has an interesting article talking about adding legally required information to emails using headers instead of using signature blocks. He also talks about a defined microformat for the data.\nThis is interesting to me, because I\u0026amp;rsquo;m already doing something similar with some emails sent by the new MalcolmHardie Solutions order processing system. Most orders don\u0026amp;rsquo;t involve sending any emails at all, the work is done entirely by swreg, who have their own arrangements. However educational orders go through an approval process which involves sending an email. Including all of the legally required information in the body is clunky and inefficient, because most of the time it won\u0026amp;rsquo;t actually be used; but it has to be present. It appears that we both developed the idea in parallel because I did the coding on this last week and I only read the article today.\nThe"},{"d":"2007-06-11","g":["Aqua","Mac","Openofficeorg"],"s":"posts","t":"Openoffice aqua looking good","u":"/weblogs/angus/posts/2007/06/11/openoffice-aqua-looking-good/","x":"I just downloaded the new aqua port of OpenOffice a few days ago and it looks good. There are some bits which aren\u0026amp;rsquo;t finished yet, but it runs quickly, it runs natively and it runs the same as the other OpenOffice platforms. (So far as I can tell). It may well be the best upgrade path for people using VBA macros on the Mac.\n"},{"d":"2007-06-11","g":["Development","Gamecube","Htmlvalidator","Mac","Malcolmhardie-Solutions","Me","Sqleditor"],"s":"posts","t":"What have I been doing recently?","u":"/weblogs/angus/posts/2007/06/11/what-have-i-been-doing-recently/","x":"Well no updates for a bit. Humm?\nThe main things I\u0026amp;rsquo;ve been working on:\nSQLEditor . Lots of things are being worked on. The user interface is being rewritten to improve speed and increase flexibility, the data layer is being rewritten to switch it to cocoa (instead of java), the JDBC code is being rewritten to make it use JNI instead of cocoa/java and a new crash reporting system based on Google BreakPad is being worked on. There are also some other things too like live source view and assorted bug fixes. 2) HTMLValidator . Also undergoing development. It recently moved across to use Sparkle (yey!) instead of the SQLEditor derived update system (which will also be replaced eventually). The final 1.0 release is due very soon now and several people have set in nice comments. 3) A new idea (still secret) :-)\nWeb site improvements for malcolmhardie.com. Some have been deployed, others"},{"d":"2007-06-11","g":["Blizzard","Ea","Games","Mac","Wwdc"],"s":"posts","t":"WWDC keynote: Games","u":"/weblogs/angus/posts/2007/06/11/wwdc-keynote-games/","x":"(Watching WWDC keynote log over at MacRumors.com) (It seems to be a blogging day for me?) Gaming seems to be one of the big things at this year\u0026amp;rsquo;s WWDC keynote. EA is apparently going to be doing simultaneous releasing of some games this year including Harry Potter. This is interesting because EA is so important in mainstream gaming.\nWhether EA will follow Blizzard in putting both games on the same CD (hopefully YES) or have separate releases for the two platforms will be a point to note. Dual platform releases like Blizzard are great because it means that you can buy Mac games at mainstream gaming stores and the titles then get released on budget labels (often with the Mac part still attached). I\u0026amp;rsquo;ve picked up several of the Blizzard games at my local branch of Game here in Edinburgh this way as impulse purchases. (Of course where this leaves the Mac Porting development"},{"d":"2007-06-11","g":[],"s":"posts","t":"WWDC: Windows","u":"/weblogs/angus/posts/2007/06/11/wwdc-windows/","x":"It looks like Apple is not moving into any kind of virtualization or emulation of Windows. Although Boot Camp is said to be included, it doesn\u0026amp;rsquo;t appear that it will work noticably differently to current arrangments (ie. dual boot).\nThis is probably good news for Mac developers. I seriously believe that if you could run windows apps natively within Mac OS X without extra software then people would start buying windows software not Mac software in some cases. Look at what happened to OS2, it offered windows compatibility as standard; users asked why bother? Then they switched to Windows proper. Although OS2 also had other difficulties which may also have affected its future, supporting the applications of the main competitor probably had an effect on the number of OS2 applications released. Similarly I think Windows apps natively on Mac would affect the number of Mac apps in certain"},{"d":"2007-04-28","g":["Java"],"s":"posts","t":"building antlr 2.7.7 on Mac OS X","u":"/weblogs/angus/posts/2007/04/28/building-antlr-277-on-mac-os-x/","x":"It appears that antlr on Mac os x doesn\u0026amp;rsquo;t like the jikes compiler, at least when I tried building antlr it gave lots of weird compile errors like this: Found 2 semantic errors compiling \u0026amp;quot;ANTLRException.java\u0026amp;quot;:\nWhile it would be a good thing to try to fix the actual code, it\u0026amp;rsquo;s easier to see if the solution is already available.\nThe answer came in this posting which suggests renaming jikes before building. Which works, but there is an easier way. Just declare an environment variable before starting the build.\nexport JAVAC=javac ./configure make\nChanging the java compiler that gets used is documented in the configure script.\n"},{"d":"2007-04-27","g":[],"s":"posts","t":"Is it plagiarism if you've paid someone else to write the paper for you?","u":"/weblogs/angus/posts/2007/04/27/is-it-plagiarism-if-youve-paid-someone-else-to-write-the-paper-for-you/","x":"I happened to browsing a popular site that allows people to post tasks that others can bid on. The focus tends to be on small to medium sized technical tasks like web page design and small applications. But there are other categories too. One of which is for technical writing. Ah! I thought, perhaps people offering to write documentation for pay. Well, no, it wasn\u0026amp;rsquo;t exactly that. What I found was mainly people wanting essays written. One in particular I found very funny. It was looking for someone to write an essay about a networking topic and the requester had simply pasted in the entire task description, including the instructions from the lecturer. It even included the plagiarism statement:\nAcademic integrity requirements. Please remember to use quotation marks when you use the exact words from your references. Also you need to use enough citations inside your final paper. The"},{"d":"2007-04-21","g":["Java"],"s":"posts","t":"Java class file version numbering","u":"/weblogs/angus/posts/2007/04/21/java-class-file-version-numbering/","x":"http://alumnus.caltech.edu/~leif/opensource/bcver/BcVerApp.html This page has a list which shows how java class version numbers relate to java platform version numbering. It\u0026amp;rsquo;s useful if you get one of those UnsupportedClassVersionError errors.\nThis relates to the Java ClassFile structure which defines how classes are represented.\n"},{"d":"2007-03-02","g":[],"s":"posts","t":"HTMLValidator 1.0b3","u":"/weblogs/angus/posts/2007/03/02/htmlvalidator-10b3/","x":"A new version of HTMLValidator today. I moved the validation into a separate thread to improve responsiveness. This is also the way that HTMLValidator will be doing multiple page validation. In fact the new release even includes pretty much all of the code necessary to do this, but it doesn\u0026amp;rsquo;t include the interface yet. The 1.0b3 release actually validates a list of urls, but the list contains only 1 element. The idea is to test that the basic code works as expected before bolting the interface on the top. :-)\nAlso new is a little spinner that spins when the application is doing something, some improvements to error display and handling and a few other fixes here and there. The changelog gives a complete list.\nNext feature is the multiple file validation interface and then probably a 1.0 release.\n"},{"d":"2007-02-23","g":["Google","Mac","Web-Browsing"],"s":"posts","t":"Google Talks: Camino","u":"/weblogs/angus/posts/2007/02/23/google-talks-camino/","x":"Mike Pinkerton of Google talks about the Mac web browser Camino. It also includes some interesting history of the Mozilla and Gecko projects. http://video.google.com/videoplay?docid=6765603919277760697 "},{"d":"2007-02-21","g":[],"s":"posts","t":"Linux autologin","u":"/weblogs/angus/posts/2007/02/21/linux-autologin/","x":"I use a collection of virtual machines in parallels for a number of things, like testing SQLEditor and running web apps that would otherwise require lots of software dependencies. However I\u0026amp;rsquo;ve been getting tired of logging in to my linux virtual machines all the time. If it were just a case of ssh then obviously I could set up ssh key pairs and do auto-login, but I also need direct terminal access too, in this case in the main parallels window.\nWith a physical machine to get autologin in this situation would mean that the machine would boot and immediately log the user in without interaction.\nImportant Warning This represents some security risk. You need to consider your circumstances carefully first to ensure that this will not open your machine to malicious use.\n(Of course there is always the point that if someone has physical access to your machine then there\u0026amp;rsquo;s not much"},{"d":"2007-02-16","g":["Cocoa","Html","Htmlvalidator","Mac"],"s":"posts","t":"HTMLValidator beta 2","u":"/weblogs/angus/posts/2007/02/16/htmlvalidator-beta-2/","x":"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!)\nThere is also a new downloads page which currently offers an Applescript to validate the source of the front page in Safari.\nUsefully it validates the actual source that the browser received, it doesn\u0026amp;rsquo;t download the url itself.\n"},{"d":"2007-02-12","g":[],"s":"posts","t":"Keynote in Lego!","u":"/weblogs/angus/posts/2007/02/12/keynote-in-lego/","x":"A site called PodBrix offers customized Apple themed lego sets. You too can have Steve Jobs at a keynote or the famous Apple 1984 advert recreated in Lego.\n[link] (via reddit)\n"},{"d":"2007-02-12","g":[],"s":"posts","t":"Mac GPRS Modem scripts","u":"/weblogs/angus/posts/2007/02/12/mac-gprs-modem-scripts/","x":"Ross Barkman\u0026amp;rsquo;s site has scripts for using mobile phones as modems with Mac OS X.\nThis post is mainly so I remember where it is if I ever need it and don\u0026amp;rsquo;t have access to my bookmarks.\nAlso the tutorial/setup instructions It is surprising how often I seem to need to use my mobile to access the internet from my desktop machine. :-(\n"},{"d":"2007-02-09","g":["Cocoa","Html","Htmlvalidator","Mac"],"s":"posts","t":"HTMLValidator","u":"/weblogs/angus/posts/2007/02/09/htmlvalidator/","x":"HTMLValidator 1.0b1 has just been released.\nIt runs on PowerPC or Intel Macs with Mac OS X 10.4 or later.\nThe current version expires 28th February 2007.\nHTMLValidator is a new desktop HTML validator that works on both web pages and files. It\u0026amp;rsquo;s something I\u0026amp;rsquo;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\u0026amp;rsquo;t always do that with files I\u0026amp;rsquo;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"},{"d":"2007-02-02","g":[],"s":"posts","t":"SQLEditor 1.3.6","u":"/weblogs/angus/posts/2007/02/02/sqleditor-136/","x":"SQLEditor 1.3.6 has now been available for about a week and so far it looks good. 1.3.6 was mainly released to fix bugs found in 1.3.x releases and to add in a few important features that had been widely requested.\nMySQL auto increment was probably the main improvement, but there were also some more changes to fix the connection issues.\nOne slight change that probably won\u0026amp;rsquo;t get noticed at all if it works is that the page that version updates are directed to has changed. The url is now a special page rather than simply the product page. This should make it easier to download updates. (I\u0026amp;rsquo;ve been looking into sparkle and friends for use in some later version)\nI guess the upgrade advice is that 1.3.6 is recommended for all users, but if your current version is satisfactory then no need to upgrade.\n"},{"d":"2007-01-24","g":[],"s":"posts","t":"SQLEditor 1.3.4 and 1.3.5: bugs","u":"/weblogs/angus/posts/2007/01/24/sqleditor-134-and-135-bugs/","x":"SQLEditor 1.3.4 got released on Tuesday, but unfortunately there is a bug in this version. :-(\nThe problem is that in 1.3.4 the connection presets system in the database connection panel was modified. There were a couple of fixes made, but one of them releated to selecting presets when the window opened. Unfortunately that change caused users who hadn\u0026amp;rsquo;t made any presets to experience an error. The problem was that the new code didn\u0026amp;rsquo;t correctly account for the possibility that there might not be any presets, it was trying to access an array of presets that was empty, which is obviously an error. This has now been fixed and corrected in 1.3.5. Which should work correctly with or without presets.\n"},{"d":"2007-01-17","g":["Mac","Malcolmhardie-Solutions","Sqleditor"],"s":"posts","t":"SQLEditor 1.3.2","u":"/weblogs/angus/posts/2007/01/17/sqleditor-132/","x":"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.\n"},{"d":"2007-01-12","g":["Fuse","Google","Kernel","Mac"],"s":"posts","t":"MacFuse released - userspace Mac OS X file systems","u":"/weblogs/angus/posts/2007/01/12/macfuse-released-userspace-mac-os-x-file-systems/","x":"I just noticed this announcement on the google mac blog.\nAmit 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.\nIt 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 ]\n"},{"d":"2006-12-10","g":["Cocoa","Mac","Malcolmhardie-Solutions","Sqleditor"],"s":"posts","t":"SQLEditor 1.3.1","u":"/weblogs/angus/posts/2006/12/10/sqleditor-131/","x":"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\u0026amp;rsquo;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. :-(\nIt 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"},{"d":"2006-11-18","g":[],"s":"posts","t":"Insanely transparent ...","u":"/weblogs/angus/posts/2006/11/18/insanely-transparent/","x":"You can just see Steve Jobs stroking a white cat and telling engineers to make products â€œinsanely transparentâ€, canâ€™t you?\n[link ]\n(It\u0026amp;rsquo;s actually an article about keyboards, but worth reading anyway)\n"},{"d":"2006-11-15","g":["Development","Junit","Mac","Ocunit","Unit-Testing"],"s":"posts","t":"Writing Unit tests for Cocoa","u":"/weblogs/angus/posts/2006/11/15/writing-unit-tests-for-cocoa/","x":"I realized something interesting today.\nI use unit testing to (hopefully) improve the quality of my code.\nWith Java I use JUnit . With native Mac stuff I use OCUnit .\nOne 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.\nPreviously I had a separate XCode target for each test case, where each test case class reported its results separately, which isn\u0026amp;rsquo;t nearly as good.\n"},{"d":"2006-11-04","g":[],"s":"posts","t":"IP PBX delivered on an iPod?","u":"/weblogs/angus/posts/2006/11/04/ip-pbx-delivered-on-an-ipod/","x":"â€œWe have put our complete IP PBX on it [the iPod Shuffle]â€, says Dr. Harry Behrens, Managing Director of 4S newcom. â€œIt is so compact that even on the smallest iPod Shuffle (512 MB) enough room is left for 4 full hours of music.â€\n[link ]\n"},{"d":"2006-10-31","g":["Malcolmhardie-Solutions","Sqleditor"],"s":"posts","t":"MalcolmHardie Solutions Weblog","u":"/weblogs/angus/posts/2006/10/31/test-b/","x":"About the new MalcolmHardie Solutions weblog.\nThe new weblog will contain posts about SQLEditor and other products.\nIf you already reading Angus Thinks you probably don\u0026amp;rsquo;t need to read the MalcolmHardie weblog as well because all the posts on the MalcolmHardie Solutions weblog will appear on Angus Thinks.\nThis mirroring is done using the xmlrpc api and code from the blogger api plugin for wordpress\n"},{"d":"2006-10-31","g":[],"s":"posts","t":"SQLEditor 1.3b9 Released","u":"/weblogs/angus/posts/2006/10/31/sqleditor-13b9-released/","x":"I just made the latest version of SQLEditor (1.3b9) available on the website for download [2.8MB dmg].\nThe new version has a collection of improvements. Particularly in stability. Chris submitted a test case which broke the parser and the save file functionality in really interesting ways, which are now fixed; SQLite support is a bit better, with a new user interface in the JDBC panel and there is better handling of the display preferences (including a new preference pane so you can set defaults).\nI also fixed some user interface bugs, like a really stupid one involving import and progress bars. The progress bar would display if you used file-\u0026amp;gt;import, but not if you dragged an sql file directly to the application icon. The reason was that there were two different paths depending on which action you took. This got refactored, which means that they both now show progress bars.\nI also"},{"d":"2006-10-26","g":["Cocoa","Development","Gcc","Mac","Sqleditor"],"s":"posts","t":"static link library to replace dylib in mac os x","u":"/weblogs/angus/posts/2006/10/26/static-link-library-to-replace-dylib-in-mac-os-x/","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.\nImagine 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.\nHowever this typically won\u0026amp;rsquo;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"},{"d":"2006-10-09","g":["Books","Bujold"],"s":"posts","t":"New Bujold book","u":"/weblogs/angus/posts/2006/10/09/new-bujold-book/","x":"The Sharing Knife by Lois McMaster Bujold [Amazon ] is coming out this week hopefully. (My order\u0026amp;rsquo;s already in with Amazon)\nThe good news is that there are now some sample chapters up.\nBujold of course is better known for the Vorkosigan series of booksand the Chalion series. "},{"d":"2006-09-22","g":[],"s":"posts","t":"Cocaine Production","u":"/weblogs/angus/posts/2006/09/22/cocaine-production/","x":"Interesting video that I found via [Magistrate\u0026amp;rsquo;s Blog ] showing cocaine processing in Columbia.\nThe quantity of different (mostly toxic) chemicals going into the product was the most interesting thing, although I was also interested by the running chemistry lesson from the people doing the processing.\nIt would probably be worth showing this as a anti-drug film in schools, it would probably do more to discourage people than many other strategies. :-)\n[How Cocaine is Made (YouTube) ]\n[Edit:to add the actual link I was talking about]\n"},{"d":"2006-08-29","g":["Anti-Terrorism","Safety","Technology","Travel"],"s":"posts","t":"Weighing electronics at airports?","u":"/weblogs/angus/posts/2006/08/29/weighing-electronics-at-airports/","x":"I was looking at a BBC news article about the recent security alerts at airports when a thought occurred to me. One of the big challenges with electronic items is to ensure that they have not been modified to contain explosives. My thought is that explosives must add weight to a unit. If a list of known weights for particular devices could be published then equipment presented at airports could be weighed and the weight matched against a list provided by manufacturers.\nIf the weight didn\u0026amp;rsquo;t match a known weight (within some margin of error) the device could be selected for further screening. Proof that the unit was operational would also be required obviously to prevent hollowing out the insides and replacing with explosives. However assuming a device worked and the weight hadn\u0026amp;rsquo;t increased noticably above the standard set, then it would go some way to suggesting the item"},{"d":"2006-08-25","g":["Education"],"s":"posts","t":"Abolish the \"Three Rs\"","u":"/weblogs/angus/posts/2006/08/25/abolish-the-three-rs/","x":"Why is it that whenever anyone seems to talk about education they always seem to use the phrase \u0026amp;ldquo;Three Rs\u0026amp;rdquo;. This particuarly stupid phrase seems to appear in every article about basic education.\nI think the very stupidity of this phrase affects education as a whole. If commentary and discussion on the topic of literacy is illiterate, what hope do those trying to achieve literacy have?\n"},{"d":"2006-08-25","g":[],"s":"posts","t":"Britain, America and WW2","u":"/weblogs/angus/posts/2006/08/25/britain-america-and-ww2/","x":"The Guardian has an interesting article detailing apparent attempts by the British government to get America to join WW2.\nThese apparently included an astrologer who made dire predictions about Hitler, a fake radio station and a campaign against Nazi groups in the US.\n[link ]\n"},{"d":"2006-08-16","g":["Safety","Technology"],"s":"posts","t":"Sony Batteries","u":"/weblogs/angus/posts/2006/08/16/sony-batteries/","x":"It looks like at least 4 million Dell notebook batteries are being recalled , all of which appear to be made by Sony. Worse news though, Sony also supply batteries to other companies thought to include Apple, Lenovo and HP.\nIf all of these batteries end up being recalled too, then the cost to Sony would be enormous, their reputation for batteries might never recover. More seriously could this affect Sony as a company? Given the increasing development costs of the PS3, probably a long fight for dominance in the Blue Ray Vs HD-DVD mess and problems in other areas, how much more can Sony as a company take?\nI don\u0026amp;rsquo;t think a financial collapse is very likely, the company is, after all, huge and has substantial revenues from its different divisions. Instead think about a loss of confidence in the company as a single unit. Normally companies should form a grouping that is most financially"},{"d":"2006-07-23","g":[],"s":"posts","t":"Customer Service in reverse?","u":"/weblogs/angus/posts/2006/07/23/customer-service-in-reverse/","x":"Interesting article in the Observer today which finally manages to pin down what I\u0026amp;rsquo;ve been noticing but couldn\u0026amp;rsquo;t quite bring together into a clear idea.\nMany companies are so bad at customer service that people are going around discouraging their friends from buying the products being sold.\nThis seems to be really common in many (possibly all) of the companies I seem to deal with and it\u0026amp;rsquo;s really, really bad.\nLink "},{"d":"2006-07-05","g":[],"s":"posts","t":"Online Shopping customer service","u":"/weblogs/angus/posts/2006/07/05/online-shopping-customer-service/","x":"We contacted online retailers asking why they don\u0026amp;rsquo;t respond to queries, but they didn\u0026amp;rsquo;t respond to our queries.\n[The Register Article ]\n"},{"d":"2006-06-29","g":["Baen-Books","Books"],"s":"posts","t":"SF publisher Jim Baen passed away","u":"/weblogs/angus/posts/2006/06/29/sf-publisher-jim-baen-passed-away/","x":"I read today that Jim Baen of Baen books fame has passed away.\nI think I have more Baen SF books on my shelf than any other single publisher and to a great extent Baen Books the publisher was always strongly connected to Jim Baen the man. Baen have published some of my all time favourite books (including Bujold and Weber) and their approach to electronic publishing is by far the most rational, sensible and intelligent of any publisher.\nAlthough I never met him online or off; I feel, somehow, that reading the books that his company published changed the way that I think, and to a certain extent who I am.\nMy sympathies are with his family and friends and my hope is that the spirit he brought to Baen Books will continue long into the future.\n[David Drake on Jim Baen ] [Baen Books ]\n"},{"d":"2006-06-27","g":[],"s":"posts","t":"O2 buys the Link?","u":"/weblogs/angus/posts/2006/06/27/o2-buys-the-link/","x":"This is a bit late, but I see that the mobile phone shops are starting to merge.\nO2 has bought The Link.\nI suspect very strongly that this will lead to substantial closures of stores. There seem to be any number of locations where the two companies have adjacent stores. My local shopping center has both and I think many other shopping centers have too.\nI\u0026amp;rsquo;m not really sure whether the mobile phone stores can keep up the density they currently have, especially given that things seem to be past the initial goldrush period of mobile phone buying.\n[Link ]\n"},{"d":"2006-05-10","g":["Database","Oracle","Parallels-Workstation","Sql","Sqleditor","Technology"],"s":"posts","t":"Running Oracle - The Solution","u":"/weblogs/angus/posts/2006/05/10/running-oracle-the-solution/","x":"This follows on from my previous posting. Searching for an Oracle This is kind of old news now, because it\u0026amp;rsquo;s been in use since SQLEditor 1.2 was released. However I though I would explain how I solved the problem that I was having with installing Oracle.\nThe problem was that I didn\u0026amp;rsquo;t have a linux machine with enough memory and at the time, qemu wasn\u0026amp;rsquo;t really fast enough to run Oracle in a virtual machine.\nThe first strategy I used was to upgrade the memory in my linux box (Cetaganda) to 512 MB. This solved the memory problem and meant that the testing could continue.\nThen Parallels Workstation was released, which was able to run Oracle XE in a virtual machine fast enough for regular use. It also uses a different IP address than the host machine, which is useful in itself for testing.\nParallels is definitely the answer to this problem, I don\u0026amp;rsquo;t need to switch on"},{"d":"2006-05-02","g":[],"s":"posts","t":"Change console keyboard layout in debian","u":"/weblogs/angus/posts/2006/05/02/change-console-keyboard-layout-in-debian/","x":"I\u0026amp;rsquo;ve been using Parallels Workstation virtualization a lot recently for testing databases and it works amazingly well.\nHowever I did come across a weird problem. I\u0026amp;rsquo;d installed Debian linux and the console keyboard layout wasn\u0026amp;rsquo;t correct for my Apple USB keyboard. The solution was to use this command\ndpkg-reconfigure console-data\nWhich walked me through selecting the right keyboard layout.\n[link ]\nUpdate Djamu posted a comment suggesting that the following command might work better for server installations: dpkg-reconfigure keyboard-configuration\n"},{"d":"2006-03-16","g":[],"s":"posts","t":"Finding and fixing StackOverFlowError in java","u":"/weblogs/angus/posts/2006/03/16/finding-and-fixing-stackoverflowerror-in-java/","x":"I was having a problem with some java one day, I\u0026amp;rsquo;d made a change to some code and I kept getting a StackOverflowError. Unfortunately the stack trace didn\u0026amp;rsquo;t help and some time inspecting the code didn\u0026amp;rsquo;t offer any quick solutions. So I turned obviously to Google . The answer was simple, although it took some work to find it.\nIf you get a StackOverflowError in java it can sometimes be difficult to identify where the problem is occurring. This is because in some versions of the JVM the relevant stack trace isn\u0026amp;rsquo;t automatically provided. This is the case in 1.4.2 when using the JIT compiler. (which I was)\nOne work around that worked for me was to add the -Xint option to the java call. This forces the JVM to use interpret the code rather than attempt to compile it. The interpreter will provide a stack trace and the problem can be easily found and fixed.\nThe bug report"},{"d":"2006-02-22","g":[],"s":"posts","t":"More on Disney DVD releases","u":"/weblogs/angus/posts/2006/02/22/more-on-disney-dvd-releases/","x":"Scottie (who knows far more about films than I will probably ever know) was kind enough to offer a carefully considered response to my post on Disney DVDs which due to some stupidity on my part was lost. Here it is:\nIt is quite simple really, by placing them on monotorium (or back \u0026amp;ldquo;into the vault\u0026amp;rdquo;) from time to time they can be repromoted after the 6-10 years.. with all new restorations and whatnot. They are usually on the market for a good 12 months prior to being discontinued. And about thirty major titles have made an appearance in some form on DVD before being put back.\nYou\u0026amp;rsquo;re not missing too much wrt Disney Animation - The best are Dumbo (recently released on DVD), Snow White and the Seven Dwarfs - been back in the vault for nearly four years. Bambi, Pinocchio, Beauty and the Beast, Aladdin - should be available if you look hard and Tarzan (which would be a modern"},{"d":"2006-02-22","g":[],"s":"posts","t":"SQLEditor, Intel and No January Posts","u":"/weblogs/angus/posts/2006/02/22/sqleditor-intel-and-no-january-posts/","x":"Unfortunately I didn\u0026amp;rsquo;t manage to make a single post to this site during January. Then suddenly I made several posts today.\nWhy?\nThe main reason is that I\u0026amp;rsquo;ve been hard at work producing a Universal Binary version of SQLEditor . Which offers not only performance improvements but is actually required to use SQLEditor on intel mac hardware at all. (This is because SQLEditor uses both Java and compiled Objective C).\nThe good news is that it\u0026amp;rsquo;s pretty much ready so after the next round of beta testing version 1.2 should be released. Hopefully before the end of February, but possibly at the beginning of March.\n"},{"d":"2006-02-22","g":[],"s":"posts","t":"The Name Game","u":"/weblogs/angus/posts/2006/02/22/the-name-game/","x":"When I first read this I genuinely thought it was a joke, but as far as I can tell itâ€™s absolutely genuine, the companies involved really did change their names. Some of them had to have new names; obviously if you demerge from another company you need to be called something new, but others had perfectly good names that they changed. Much of it makes no sense at all!\nSalon: The Name Game "},{"d":"2006-02-21","g":[],"s":"posts","t":"Searching for an Oracle","u":"/weblogs/angus/posts/2006/02/21/searching-for-an-oracle/","x":"Recently I\u0026amp;rsquo;ve been trying to set up a box to run Oracle again. There are enough SQLEditor users that Oracle support is important.\nFortunately Oracle have several downloads that can be used, there is a developer license for 10g and various chargeable options. However the option that is most interesting is Oracle Express. This is a cut down version of Oracle that has some limitations in maximum performance, but otherwise works the same as the regular version. For my purposes it\u0026amp;rsquo;s perfect, since I\u0026amp;rsquo;m not actually doing any data processing at all, maximum performance is irrelevant.\nSo the next step was to download and install a copy.\nFirst I had to select windows or linux. Obviously a difficult choice, so I avoided it and downloaded both just in case.\nNext I looked around for a suitable machine to run this database on. Oracle 10g does run on macs, but no word of Intel mac"},{"d":"2006-02-02","g":[],"s":"posts","t":"3g umts router","u":"/weblogs/angus/posts/2006/02/02/3g-umts-router/","x":"A Review of the Cisco-Linksys \u0026amp;amp; Vodafone 3G/UMTS Wireless LAN Router It\u0026amp;rsquo;s a 3g router, so now you can connect a small network to the internet anywhere you can get vodafone 3g connectivity.\nTotal price = 150 GBP + about 50 GBP/month which allows 1GB.\nIt\u0026amp;rsquo;s hideously expensive still but if you need this kind of thing you can now get it :-)\n"},{"d":"2005-12-31","g":[],"s":"posts","t":"Poetry and RFC968","u":"/weblogs/angus/posts/2005/12/31/poetry-and-rfc968/","x":"http://www.ietf.org/rfc/rfc968.txt An RFC in rhyme :-)\nSee also the complete collection of April 1st RFCs (at wikipedia)\n"},{"d":"2005-12-27","g":[],"s":"posts","t":"Crash with WSMethodInvocationInvoke and malformed XML","u":"/weblogs/angus/posts/2005/12/27/crash-with-wsmethodinvocationinvoke-and-malformed-xml/","x":"I\u0026amp;rsquo;ve been doing some stuff recently with XMLRPC for both SQLEditor and an unannounced new product.\nOne of the key parts of XMLRPC in cocoa is the Apple web services Core . It provides almost everything you need to use web services.\nHowever I did discover one oddity that led to some puzzelment\nAs part of my development I\u0026amp;rsquo;d written a test server in php which operates a few simple functions that the client can try. This means that I can simulate various commands and cause intentional failures to see what happens. I also have a php client to check the server independently.\nI had been making alterations to check a particular function in the client worked correctly. It was a new function that provided an array of values that could be placed into a menu on the client. The idea seemed sounds, the design had been worked out and new functionality had been added to both client and"},{"d":"2005-12-01","g":[],"s":"posts","t":"PSpell in debian with PHP","u":"/weblogs/angus/posts/2005/12/01/pspell-in-debian-with-php/","x":"The default debian stable packages for php4 don\u0026amp;rsquo;t seem to include pspell. I\u0026amp;rsquo;ve been looking at using the AJAX spell checker in something, but then I realized that it wouldn\u0026amp;rsquo;t work, at least not with my current server setup.\nhttp://lists.debian.org/debian-devel/2005/09/msg00064.html "},{"d":"2005-11-19","g":[],"s":"posts","t":"Scrap Metal","u":"/weblogs/angus/posts/2005/11/19/scrap-metal/","x":"As it stands, the only value the Titan TTC-K8ATB/825/SC holds is as scrap metal waiting to be recycled.\nThere\u0026amp;rsquo;s nothing quite like paid shills for writing reviews, but that obviously didn\u0026amp;rsquo;t happen here :-)\nI often find really critical reviews to be more interesting than positive ones.\n(From FrostyTech via the inquirer )\n"},{"d":"2005-10-15","g":[],"s":"posts","t":"Disney animation","u":"/weblogs/angus/posts/2005/10/15/disney-animation/","x":"I was just looking today at Disney DVDs when I made a curious discovery and an odd realization.\nYou CANNOT currently buy most of the main animated feature films AT ALL on dvd. They are simply not available. In some cases films may not be released until 2007 or 2011, in other words years away.\nThe realization was that there may be children who will never see classic disney films, because they are neither being shown in the cinemas or available on DVD.\nIt also made me realize that I\u0026amp;rsquo;ve only seen a fraction of the Disney animated movies. I think this is mainly because the others were not available easily (or at all)\nPerhaps this goes some way to explaining why Disney isn\u0026amp;rsquo;t doing very well financially.\nAn obvious rule of commerce: If it\u0026amp;rsquo;s not on sale your customers can\u0026amp;rsquo;t buy it.\n"},{"d":"2005-08-03","g":[],"s":"posts","t":"PHP, trim and the non breaking space","u":"/weblogs/angus/posts/2005/08/03/php-trim-and-the-non-breaking-space/","x":"An odd thing occurred today, I was trying to do trim($string) on a string in php, but I kept getting strings back that appeared to have a space at the beginning, the exact thing that trim is supposed to remove. I carefully checked and the space was definitely found when I copied the result out to TextWrangler . Finally I tried substr($string,1) and then I got the answer, the new string started nbsp; the string I was trimming had , a non-breaking space at the beginning, which trim doesn\u0026amp;rsquo;t remove. A quick switch to str_replace and now my string doesn\u0026amp;rsquo;t have a space at the beginning. :-)\n"},{"d":"2005-08-01","g":[],"s":"posts","t":"Natwest Business Breakfast","u":"/weblogs/angus/posts/2005/08/01/natwest-business-breakfast/","x":"It\u0026amp;rsquo;s taken me a while to write about it, but last week, Natwest in Edinburgh held a really great session for business banking customers. A breakfast and two seminars. Starting at 8am they gave an excellent breakfast and then went on to give two really interesting talks for people starting or running businesses.\nIt made me feel really positive and gave me an opportunity to hand out my new business cards, as well as meet people in a similar situation to myself.\n"},{"d":"2005-08-01","g":[],"s":"posts","t":"SQLEditor 1.1b3 \u0026 softpedia","u":"/weblogs/angus/posts/2005/08/01/sqleditor-11b3-softpedia/","x":"Today I released SQLEditor 1.1b3. I think this could very well be the last beta version before 1.1 final release. My first minor point release application!! (x.1)\nOriginally I hadn\u0026amp;rsquo;t intended to update all of the websites today, but they discovered it automatically so I uploaded the details onto the others so that everything was consistent.\nHowever one thing really stood out today: Softpedia . The people at Softpedia not only grabbed all of the details, they also created some screen shots and gave me a nice \u0026amp;ldquo;No Spyware, adware or viruses certified\u0026amp;rdquo; logo. And it wasn\u0026amp;rsquo;t just a quick screen shot either, they must have spent some time using the application as can be seen on the screenshot page .\nI was amazed :-)\nObviously I should have some screenshots of my own to distribute and they should arrive with the new manual, but still, I was really suprised by this.\nAnd"},{"d":"2005-07-17","g":[],"s":"posts","t":"Collections of Radioactive stuff","u":"/weblogs/angus/posts/2005/07/17/collections-of-radioactive-stuff-2/","x":"I came across this site the other day when I was looking for information about radioactive fiestaware.\nThe author collects radioactive artifacts\n[Link ]\n"},{"d":"2005-07-11","g":[],"s":"posts","t":"Wordpress \u0026 this weblog","u":"/weblogs/angus/posts/2005/07/11/wordpress-this-weblog/","x":"I\u0026amp;rsquo;ve finally upgraded to wp 1.5, plus the image authentication thing in the comments works again. :-)\nI\u0026amp;rsquo;ve also decided that the theme must be changed, so it may change in the next few days. (default for the moment though).\n"},{"d":"2005-07-09","g":[],"s":"posts","t":"What the Orcs think of Multi-player","u":"/weblogs/angus/posts/2005/07/09/what-the-orcs-think-of-multi-player/","x":"http://www.penny-arcade.com/view.php?date=2005-06-10\u0026amp;amp;res=l From Penny-Arcade :-)\n"},{"d":"2005-07-07","g":[],"s":"posts","t":"Debian Sarge","u":"/weblogs/angus/posts/2005/07/07/debian-sarge/","x":"I realized that I\u0026amp;rsquo;d managed to update to Sarge (v 3.1) mostly without noticing. I should have pinned my packages to woody (3.0) but didn\u0026amp;rsquo;t realize, which meant that I went through the update process without actually noticing. This led to a number of odd problems. In particular I hadn\u0026amp;rsquo;t disabled a number of backports, which led to difficulties with apache, php, mysql and postgresql. This happened because the ports were set up to target woody (3.0) rather than Sarge (3.1).\nHowever I have now properly upgraded to Sarge on marilac. Hopefully this will be a suitably satisfactory release and will provide many hours of happy uptime. :-)\n"},{"d":"2005-07-07","g":[],"s":"posts","t":"SQLEditor 1.1 nearing release","u":"/weblogs/angus/posts/2005/07/07/sqleditor-11-nearing-release/","x":"SQLEditor 1.1 is now approaching release. It seems to have taken much longer than expected, however it does have a number of interesting improvements.\nThe most interesting improvement is that it can export directly to a database. This is still slightly experimental but pretty much works.\nThere is also a new structure for connector lines, the layout algorithms for each type of line have been moved into separate classes, so new types could be added in the future.\nThere is a new toolbar which allows for faster object creation.\nThere are also lots and lots of bug fixes (including one in the SAX XML parsing code which was causing occasional but serious problems in load and save).\nI\u0026amp;rsquo;ve also been working on the documentation, using docbook to make everything nice and multi-purpose.\nI\u0026amp;rsquo;m really hoping that version 1.1 can be out by the middle of next week.\n"},{"d":"2005-07-05","g":[],"s":"posts","t":"The Lucky Despot Hotel and Casino","u":"/weblogs/angus/posts/2005/07/05/the-lucky-despot-hotel-and-casino/","x":"The Lucky Despot Hotel and Casino was the name of an establishment in a story that I was reading recently. :-)\n"},{"d":"2005-06-27","g":[],"s":"posts","t":"Forum for malcolmhardie.com","u":"/weblogs/angus/posts/2005/06/27/forum-for-malcolmhardiecom/","x":"Following the suggestions in this article , I\u0026amp;rsquo;ve been considering forum software recently to offer customers (and others) somewhere to discuss SQLEditor.\nCurrently I\u0026amp;rsquo;m considering PunBB , because it seems to be simple, fast and well received by reviewers and users.\nPhpBB seems a popular choice but is probably a bit more than I actually need for this project.\n"},{"d":"2005-06-24","g":[],"s":"posts","t":"Not managing time very well","u":"/weblogs/angus/posts/2005/06/24/not-managing-time-very-well/","x":"Recently I haven\u0026amp;rsquo;t been managing time very well, with the company business and the new release of SQLEditor things seem to have been building up and not getting done fast enough. The grass and my hair are growing too long as well :-(\nI\u0026amp;rsquo;m hoping to improve things, but if I\u0026amp;rsquo;ve been running behind on things like email and communication in the last month or so, I \u0026amp;rsquo;m sorry.\nI hope to resolve the back log shortly.\n"},{"d":"2005-06-24","g":[],"s":"posts","t":"plutil","u":"/weblogs/angus/posts/2005/06/24/plutil/","x":"STANDARDS The plutil command obeys no one\u0026amp;rsquo;s rules but its own.\nfrom the plutil man page\n"},{"d":"2005-06-24","g":[],"s":"posts","t":"The length of my hair and the length of the grass","u":"/weblogs/angus/posts/2005/06/24/the-length-of-my-hair-and-the-length-of-the-grass/","x":"Since I live in a small house as opposed to a flat I have a small amount of garden. Most of this is grass.\nI haven\u0026amp;rsquo;t gone bald, so I also have some hair on my head.\nAs I was looking at the grass the other day, un-mown for too long, I came to an odd realization. The length of the grass is proportional to the length of my hair. When my hair is long, the grass is long, when my hair is short then the grass is short.\nThis is a curious realization.\nBut it does have a logical explanation.\nI think that when I\u0026amp;rsquo;m less busy then both grass and hair get cut at the proper intervals. When I become more busy the intervals get longer.\nAnd so there is a link.\nWhich is kind of weird.\n"},{"d":"2005-06-21","g":[],"s":"posts","t":"No Osborne Effect?","u":"/weblogs/angus/posts/2005/06/21/no-osborne-effect/","x":"The Register has a new article up about the Osborne effect, a supposed problem that means that if you excessively pre-announce products then nobody buys the stuff that you\u0026amp;rsquo;re selling right now. The article suggests that the whole idea is rubbish and that osborne was actually suffering from a totally different problem, Managment failure. Supposedly an executive found some old parts and spent a vast amount of money trying to put them into products, in the process wasting far more than the value of parts.\nYet again Management failure causes a company to fail.\n[Article ]\n"},{"d":"2005-06-07","g":[],"s":"posts","t":"SQLEditor built for Mac On Intel","u":"/weblogs/angus/posts/2005/06/07/sqleditor-built-for-intel/","x":"SQLEditor has now been built for Mac OS X/Intel as well as Mac OS X/ppc. I was able to download the Xcode 2.1 release last night and worked on the port this morning. SQLEditor at the moment still has bits of Java as well as Objective C so I wasn\u0026amp;rsquo;t entirely confident of success, but I converted the build target to the xcode native type and moved the java code into a separate target. Then I ran the build process and after a bit of fiddling I was able to produce what appears to be a working fat binary:\nfile SQLEditor SQLEditor: Mach-O fat file with 2 architectures SQLEditor (for architecture ppc): Mach-O executable ppc SQLEditor (for architecture i386): Mach-O executable i386\nThe new version of the application seems to run as well as the old on PPC, although it is currently set up to use the 10.4 sdk as opposed to the 10.2.8 sdk of release SQLEditor versions. (Although SQLEditor is"},{"d":"2005-06-06","g":[],"s":"posts","t":"Apples \u0026 Intel?","u":"/weblogs/angus/posts/2005/06/06/apples-intel/","x":"Maybe it\u0026amp;rsquo;s going to be hardware based dynamic recompilation?\nOr some kind of microcode based emulator?\nModern microprocessors are usually doing conversion of the assembly anyway, so why not from one instruction set to another.\nI guess we\u0026amp;rsquo;ll all know in a few hours \u0026amp;hellip;\n"},{"d":"2005-06-06","g":[],"s":"posts","t":"Mac OS X Intel","u":"/weblogs/angus/posts/2005/06/06/mac-os-x-intel/","x":"It has been officially announced that the Mac platform will be moving to Intel processors.\nI\u0026amp;rsquo;m still thinking about what this means for MalcolmHardie Software and SQLEditor and I have been reading about the transition to find out more.\nSome useful points culled from publicly available documention :\nMac OS X on Intel doesn\u0026amp;rsquo;t use Open Firmware (at least not currently). Does this mean that it uses a conventional BIOS or something entirely different? Rosetta (the translation environment) does not run Applications built for Mac OS 8 or 9. Does this mean that the Classic environment will run them, or are these applications dead? Rosetta doesn\u0026amp;rsquo;t handle code written specifically for AltiVec Rosetta must run the whole application, you apparently can\u0026amp;rsquo;t mix some bits of native code and other bits of emulated code, even with plugins. (I suspect inter-application communication"},{"d":"2005-05-30","g":[],"s":"posts","t":"Next generation console problem","u":"/weblogs/angus/posts/2005/05/30/next-generation-console-problem/","x":"Gameplay code will get slower and harder to write on the next generation of consoles.\nThis rather alarmist statement came out of a panel discussion at the Game Developers Conference. One of the panelists, Chris Hecker, suggested that the next generation consoles such as the XBox 360 and the Sony Playstation 3 may be better at doing pretty graphics than current hardware but be worse at gameplay and AI code.\nWhy? The reasoning is that the graphics code is predictable, straight line code and the processors on the new systems are good at in order code execution. The AI code on the other hand is quite random which doesn\u0026amp;rsquo;t suit the new processors at all. Currently out-of-order execution is used to speed things up, but the new chips have less capability in this area, so performance on this type of code is worse. This problem was, to some extent, predictable but it seems that the level of"},{"d":"2005-05-27","g":[],"s":"posts","t":"Key labels or no key labels?","u":"/weblogs/angus/posts/2005/05/27/key-labels-or-no-key-labels/","x":"I\u0026amp;rsquo;ve been slightly concerned recently that the key labels are rubbing off the keyboard of my iBook.\nBut then I found this . A keyboard with no key labeling at all. 104 entirely black keys, no labels.\nInterestingly it promises to offer faster speeds for the experienced typist and has differently weighted keys for different finger strengths. It sounds really interesting, especially as it promises compatibility with Linux and Mac OS X. (USB presumably)\n"},{"d":"2005-05-26","g":[],"s":"posts","t":"Odd Thoughts about modern books","u":"/weblogs/angus/posts/2005/05/26/odd-thoughts-about-modern-books/","x":"I was reading a review on Amazon.com for a book (more on Amazon failings in some later post), when I came across two lines that perfectly describe a large number of the second rate novels being published:\n\u0026amp;ldquo;Recent Plot Chunk of On-Going Fantasy Story #62\u0026amp;rdquo; and \u0026amp;ldquo;Loud Explosion Clumsy Info Dump Space Adventure #23\u0026amp;rdquo;\nThe unfortunate thing really is how many books that I\u0026amp;rsquo;ve read seem to fall into one of these two categories. Yet more are sitting on the shelves, virtual or otherwise, awaiting the unwary reader.\nThe modern publishing industry, at least in the SF category, seems to delight in offering enormously length series of books, often without any end in sight. The Wheel of Time series seems to offer up an extremely large and very heavy new volume each each year. Which may be great if the series is worthwhile, but is it? I don\u0026amp;rsquo;t know. I\u0026amp;rsquo;ve decided"},{"d":"2005-05-25","g":[],"s":"posts","t":"Howl's Moving Castle","u":"/weblogs/angus/posts/2005/05/25/howls-moving-castle/","x":"The trailer for Howl\u0026amp;rsquo;s Moving Castle has appeared on the Apple trailers site. It looks, as ever for Studio Ghibli, most remarkable.\n"},{"d":"2005-05-25","g":[],"s":"posts","t":"New Worlds Bookstore closed","u":"/weblogs/angus/posts/2005/05/25/new-worlds-bookstore-closed/","x":"I just read that New Worlds bookstore in London is closing. This is really sad news because I often visited it when I lived in Cambridge. It had a quite amazing collection of Science Fiction and Fantasy novels, especially US titles. But apparently the building is being demolished and the new premises aren\u0026amp;rsquo;t large enough to take both it and the more profitable Murder One crime store as well. Originally Murder One was on the ground floor and New Worlds was in the basement, now only Murder One will survive. It seems unfortunately appropriate that a Crime book store would survive.\n"},{"d":"2005-05-23","g":[],"s":"posts","t":"I should really be working, not blogging ...","u":"/weblogs/angus/posts/2005/05/23/i-should-really-be-working-not-blogging/","x":"I should really be working, not blogging today. (Since today is Monday).\n"},{"d":"2005-05-23","g":[],"s":"posts","t":"MPW mac error messages","u":"/weblogs/angus/posts/2005/05/23/mpw-mac-error-messages/","x":"Some old error messages from MPW (which was kind of like XCode for Mac before Mac OS X in one sense).\n\u0026amp;ldquo;String literal too long (I let you have 512 characters, that\u0026amp;rsquo;s 3 more than ANSI said I should)\u0026amp;rdquo;\n\u0026amp;ldquo;\u0026amp;hellip;And the lord said, `lo, there shall only be case or default labels inside a switch statement\u0026#39;\u0026amp;rdquo;\n\u0026amp;ldquo;a typedef name was a complete surprise to me at this point in your program\u0026amp;rdquo;\n[From Buggin\u0026amp;rsquo; My Life Away ]\n"},{"d":"2005-05-21","g":[],"s":"posts","t":"... a massively single-player game","u":"/weblogs/angus/posts/2005/05/21/a-massively-single-player-game/","x":"There is a story up at Wired about Spore [flash heavy site]. Although spore is a single player god type sim game it will have some kind of internet access facility along the lines of the sims, you can place your planet into an online universe. Whether your creatures can then interact with creatures created by other players is unclear but the idea does sound like lots of fun however it works.\nSpore looks to be released sometime in 2006, presumably for PC. Hopefully a Mac version will come out at some point as well.\n"},{"d":"2005-05-19","g":[],"s":"posts","t":"Retrofone","u":"/weblogs/angus/posts/2005/05/19/retrofone/","x":"Retrofone is a fairly new company that sells older model mobile phones. It seems that this may be where some of the those traded in phones are actually going. The company has a whole range of old models for sale on their website . They have all of the old favourites including the Nokia 7110 and 6210. The 6210 being interesting because I still use a 6210 as my main mobile phone (it doesn\u0026amp;rsquo;t even have a color screen). The prices seem reasonable and the service looks adaquate with a 30 day guarantee on purchases.\nThe site also offers some really old units including analogue units . I suppose these are useful today only as historical oddities, or possibly for use on some ancient network in a remote part of the world. Although is there anywhere that doesn\u0026amp;rsquo;t have a GSM network these days?\n[From The Guardian ]\n"},{"d":"2005-05-14","g":[],"s":"posts","t":"Cringely's view of the future","u":"/weblogs/angus/posts/2005/05/14/cringelys-view-of-the-future/","x":"Robert X Cringely offered up a new view on where Google is going.\nHis view seems to be that Google will eventually be in control of much of the internet experience though their new google cache, Yahoo will probably win the online music price war, Napster will die and Apple will offer a new mac mini based movie experience using a wireless unit that plugs into the TV and decodes H.264 in hardware.\nIt sounds exciting, if slightly unexpected. I still don\u0026amp;rsquo;t believe that people want subscription music. At least with iTunes, I know that I own the music that I buy. With subscription services I don\u0026amp;rsquo;t own the music and I have to keep paying to listen whether I listen or not.\nThis is one of the reasons I cancelled my subscription to Screenselect . It\u0026amp;rsquo;s a great service and works well, except that I just didn\u0026amp;rsquo;t seem to watch the dvds. If I own something I can listen or watch"},{"d":"2005-05-12","g":[],"s":"posts","t":"Explanation of the previous email","u":"/weblogs/angus/posts/2005/05/12/explanation-of-the-previous-email/","x":"Well I feel stupid.\nI was notified today that marilac.malcolmhardie.com (ie this server) was apparently hosting paypal login spoof web pages. Somebody managed to crack one of the user accounts on the system and place a few files in the public_html directory.\nFortunately the pages were only there for a few hours, but it shows how important it is to check the logs regularly.\nThis is really unfortunate, although at least at the moment it doesn\u0026amp;rsquo;t look as if the cracker got root access.\nWhat is particularly annoying is that, as far as I can see, I have all of my software patched to the latest versions.\nI spent much of the afternoon checking the server to ensure that nothing else has been compromised. It may be necessary (or advisable) for me to wipe the whole machine and reinstall.\nIt does explain the previous email though. I just wish that I had understood what was happening earlier.\n"},{"d":"2005-05-12","g":[],"s":"posts","t":"Strange email about spam?","u":"/weblogs/angus/posts/2005/05/12/strange-email-about-spam/","x":"Today, one of the email accounts at malcolmhardie.com received a very strange email\njust a line to let you know I have passed on you details to paypal and the police regards your scam emails trying to access my paypal account with bogus emails.\nThis was sent from what appears to be an AOL account. I won\u0026amp;rsquo;t detail the sender for obvious reasons, but I was rather puzzled by it.\nAs I see it there are several possibilities for this:\nSomebody has received spam email that appears to be from malcolmhardie.com and is thus trying (unsuccessfully) to report the culprit (which incorrectly appears to be someone at malcolmhardie.com)\nA machine that is permitted to send email via malcolmhardie.com has been compromised and is sending out such mail. (unlikely, but possible)\nThe sender is actually some kind of spam harvester that is hoping legitmate recipients will send back letters complaining or,"},{"d":"2005-05-09","g":[],"s":"posts","t":"Garbage Collection in Cocoa","u":"/weblogs/angus/posts/2005/05/09/garbage-collection-in-cocoa/","x":"One of the interesting things that seems to be happening with Cocoa is the addition of garbage collection. A finalize method has appeared in the documentation for NSObject. There is a curious warning attached to it stating that it isn\u0026amp;rsquo;t available in 10.4 or earlier releases. This suggests that it may be available in 10.5 or possibly even in notional 10.4.x releases.\nIt may make Cocoa programming easier for people moving from Java. Although I do hope that Java support for cocoa apps continues (not least because SQLEditor needs it for JDBC interfacing)\n"},{"d":"2005-05-05","g":[],"s":"posts","t":"Almost 1kw psu!","u":"/weblogs/angus/posts/2005/05/05/almost-1kw-psu/","x":"The inquirer has a preview of a new computer power supply that is rated at 850W with a peak of 950W. This is almost a whole kilowatt!\nWho needs heating? Just install a few computers and you can have all of the heat you need and play Half life 2 (or probably 3 by that point) instead.\nTechnically the issue is the power draw from the graphics cards . This seems to be pushing upwards of 200W per card for high end products; and if you have more than one card in the machine the totals will be higher.\nThe key issue of course is whether such a monster PSU can be cooled efficiently and quietly enough for the consumer market. You would probably need quite a large fan to cool a 1kw PSU adaquately and that isn\u0026amp;rsquo;t likely to be quiet.\n"},{"d":"2005-05-05","g":[],"s":"posts","t":"May 5th - Election Day","u":"/weblogs/angus/posts/2005/05/05/may-5th-election-day/","x":"If you\u0026amp;rsquo;re in the UK, then today is Election Day.\nPlease vote if you haven\u0026amp;rsquo;t already made a postal vote.\n"},{"d":"2005-04-29","g":[],"s":"posts","t":"Adobe and Macromedia Merger","u":"/weblogs/angus/posts/2005/04/29/adobe-and-macromedia-merger/","x":"Adobe are merging with Macromedia (read: buying up the only competitor).\nThis is of course going to be as sucessful as every other merger from HP/Compaq (disaster) to Halifax/Bank Of Scotland (disaster).\nDaring fireball has an english translation of the marketing speak in the press release\n"},{"d":"2005-04-23","g":[],"s":"posts","t":"Stupid drawing bug in SQLEditor","u":"/weblogs/angus/posts/2005/04/23/stupid-drawing-bug-in-sqleditor/","x":"I just managed to fix a really weird bug in SQLEditor. The problem was that when ever you drew a connector between two fields all of the lines would get drawn slightly thicker. This gave a really odd visual effect.\nIt turns out that the connector lines were using a slightly thicker line style and that the thinner default line style wasn\u0026amp;rsquo;t being reset correctly when drawing function completed. This then meant that all future lines were drawn in a thicker line style.\n"},{"d":"2005-04-21","g":[],"s":"posts","t":"Lake District!","u":"/weblogs/angus/posts/2005/04/21/lake-district/","x":"I\u0026amp;rsquo;ve sort of just got back from a really wonderful trip to the Lake District (google map ). It was great to get away from technology (mostly) and the demands of work. I really enjoyed the holiday and if you ever get the opportunity to visit that part of the country, do it. Windermere is a really great place to visit.\nWe spent all day doing outdoor stuff, the walking in the area is amazing. The views are amazing and although the weather was a bit wet, the walking is great. We were hoping to do some sailing as well, but the weather proved a bit difficult in that area, but we did get in a motor boat hire and several trips across and around the lakes. We also went horse riding, which is something that I haven\u0026amp;rsquo;t really done much of, but I enjoyed it immensely.\nThere was also great food at various resturants and several ruthless board games (mostly monopoly).\nEveryone was really"},{"d":"2005-04-03","g":[],"s":"posts","t":"Quango","u":"/weblogs/angus/posts/2005/04/03/quango/","x":"quango\nquasi-autonomous non-governmental organisation\nfrom The Times "},{"d":"2005-03-19","g":[],"s":"posts","t":"Are bankruptcies useful to society?","u":"/weblogs/angus/posts/2005/03/19/are-bankruptcies-useful-to-society/","x":"Recently I was reading an Article that was talking about venture capital funds and their need to rapidly invest or return big sums of money that they have sitting in their bank accounts. The VCs apparently either have to invest the money (about $25 Billion) OR return the yearly management fees on the money (about $3 Billion). The catch is that the money doesn\u0026amp;rsquo;t have to be invested wisely or responsibly, it just has to be invested. The theory then goes that this will lead to another boom similar to, but perhaps smaller than, the 2000 boom.\nWhether this will happen is difficult to guess, but a thought did occur to me as I was reading the article. Booms, bubbles and bankruptcies can be a way of comercially funding things that need to be built but aren\u0026amp;rsquo;t, strictly speaking, viable in a financial sense.\nThere are lots of examples of this, the internet infrastructure is one and the"},{"d":"2005-03-18","g":[],"s":"posts","t":"13 Things that do not make sense in Science","u":"/weblogs/angus/posts/2005/03/18/13-things-that-do-not-make-sense-in-science/","x":"http://www.newscientist.com/channel/space/mg18524911.600 (from slashdot)\nDefinitely worth a read.\n"},{"d":"2005-03-18","g":[],"s":"posts","t":"The Spielberg of Hereford","u":"/weblogs/angus/posts/2005/03/18/the-spielberg-of-hereford/","x":"The Spielberg of Hereford includes a steam-train chase, several laser gunfights and an original score by a full symphony orchestra. Not bad considering his total budget was Â£20,000.\n"},{"d":"2005-03-16","g":[],"s":"posts","t":"Bricks and Morter Vs. Online for buying music","u":"/weblogs/angus/posts/2005/03/16/bricks-and-morter-vs-online-for-buying-music/","x":"I\u0026amp;rsquo;ve been thinking recently about music buying. When I can buy music online from the iTunes music store why should I want to buy it in a physical store? With the online store I can experience a sample of any track and get to listen to the music immediately. If I buy it offline I have to carry it home, convert it to mp3 and only then can I listen. I suppose a music store offers some browsing capability and there are some music stores where they have friendly staff who can offer suggestions, but I don\u0026amp;rsquo;t really tend to see that kind of customer service very often and the browsing that experience online is often superior, especially with recommendations from other users.\nSo what is my conclusion? On the surface the online services have every advantage over the bricks and morter store. Unless the bricks and morter stores work very hard to catch up they\u0026amp;rsquo;re going to fall"},{"d":"2005-03-08","g":[],"s":"posts","t":"Binary Thoughts is back","u":"/weblogs/angus/posts/2005/03/08/binary-thoughts-is-back/","x":"Binary Thoughts is back!\nI probably should have remarked on this before, but Dhruba\u0026amp;rsquo;s weblog \u0026amp;ldquo;Binary Thoughts\u0026amp;rdquo; has reappeared. He was moving servers so it went down for a bit, but it has now returned. Which is really great news.\nPlus of course the fact that the presentation of Binary Thoughts is so much better than Angus Thinks that the comparison really isn\u0026amp;rsquo;t funny. Curved corners are definitely in right now and the theme and extras are much better.\n"},{"d":"2005-02-27","g":[],"s":"posts","t":"Lumberjack Jargon","u":"/weblogs/angus/posts/2005/02/27/lumberjack-jargon/","x":"If you need a ready reference for Lumberjack Jargon there is a page at wikipedia that offers such useful, everyday phrases as:\nHayburner\na horse\nHomeguard\na long-time employee of a company\nHoot-nanny\na small device used to hold a crosscut saw while sawing a log from the bottom up\nWhy not use one or more of these phrases in conversation!\n"},{"d":"2005-02-27","g":[],"s":"posts","t":"Really Great recipe for shepherds's pie","u":"/weblogs/angus/posts/2005/02/27/really-great-recipe-for-shepherdss-pie/","x":"I went out this evening to a pub (McEwans brewhouse) and had a really great vegetarian shepherd\u0026amp;rsquo;s pie. It had a 5 bean chilli base, topped with mash and covered in cheese. I really want to try it at home, since I\u0026amp;rsquo;m getting bored of some the recipes I\u0026amp;rsquo;m currently using.\nIt was served with a side of garlic bread. I definitely would have it again, because it was really good.\nMy current thoughts on this are:\nBean and Chilli mix Fry onions and add tomato paste. Add drained beans and chilli. Simmer\nPotato Mash Cheddar cheese topping.\nCompleting the dish Put the bean mixture into a small oven proof dish. Add the potato on top, then cover in cheese.\nBake in the oven for about 30 minutes or so.\nI\u0026amp;rsquo;m going to give it a go later this week.\n"},{"d":"2005-02-20","g":[],"s":"posts","t":"The Girl in the Cafe","u":"/weblogs/angus/posts/2005/02/20/the-girl-in-the-caf/","x":"\u0026amp;ldquo;If anyone can make a romantic comedy about the G8 conference that engages a mainstream audience, Richard Curtis can.\u0026amp;rdquo;\nRead the BBC Press release for more information.\n"},{"d":"2005-02-14","g":[],"s":"posts","t":"chocolatereview","u":"/weblogs/angus/posts/2005/02/14/chocolatereview/","x":"http://www.chocolatereview.co.uk/ Reviews of chocolate bars, with ratings and reviews !!\n"},{"d":"2005-02-12","g":[],"s":"posts","t":"flyspray subversion integration","u":"/weblogs/angus/posts/2005/02/12/flyspray-subversion-integration/","x":"Somebody asked me to post a link to the script that integrates flyspray and subversion:\nScript is Attached to Bug 301 "},{"d":"2005-02-10","g":[],"s":"posts","t":"Inquirer, HP and Carly Fiorina","u":"/weblogs/angus/posts/2005/02/10/inquirer-hp-and-carly-fiorina/","x":"The Inquirer has made a truly mischievous offer to Carly Fiorina, former CEO of HP . The company, resulting from the merger of Hewlett-Packard and Compaq, is in considerable difficulties, as the inquirer has merrily written about in articles like The three ways HP has screwed up and How HP totally lost the support plot .\nBut now in a remarkable offer they have asked Ms Fiorina to write a column. It seems unlikely that Ms Fiorina will take up the offer given the consistent history of criticism that she has faced from The Inquirer but perhaps she will? Who knows? What if she does say yes? Will the inquirer find itself publishing a series of articles criticial of itself? A revenge on months of sniping?\nIt seems unlikely. But stranger things have happened.\n"},{"d":"2005-02-04","g":[],"s":"posts","t":"iBook restore DVD","u":"/weblogs/angus/posts/2005/02/04/ibook-restore-dvd/","x":"I was recently trying to install a particular package from the basic Mac OS X installation (Address Book.app) which for some reason had been deleted. Probably in a desperate attempt to free up some disk space.\nIt took me some searching before I realized that the packages are located in /System/Installation/ on the iBook\u0026amp;rsquo;s restore dvd.\nIt isn\u0026amp;rsquo;t the most obvious location by any means.\n"},{"d":"2005-02-04","g":[],"s":"posts","t":"Windows XP advantages?","u":"/weblogs/angus/posts/2005/02/04/windows-xp-advantages/","x":"\u0026amp;hellip; with Windows XP I don\u0026amp;rsquo;t gotta worry about emailing viruses to my friends and family at all. The built-in email client Outlook Express does it automatically, in the background.\nFrom divisiontwo.com via Macslash .\nDisclaimer: I use Windows XP sometimes but not outlook express\n"},{"d":"2005-02-01","g":[],"s":"posts","t":"Trackback spam","u":"/weblogs/angus/posts/2005/02/01/trackback-spam/","x":"Unfortunately I\u0026amp;rsquo;ve had to disable trackbacks for the time being due to excessive spam.\nI\u0026amp;rsquo;m not entirely sure if it is possible to do a test to see if trackbacks are from real people or not.\nIf I can come up with a better idea I\u0026amp;rsquo;ll start using it.\nNot that anyone really found the stuff on this weblog worth trackbacking anyway, so little is lost :-)\n"},{"d":"2005-01-19","g":[],"s":"posts","t":"iMac Mini Disassembly probably ok?","u":"/weblogs/angus/posts/2005/01/19/imac-mini-disassembly-probably-ok/","x":"Daring Fireball has a comment from someone who saw a Mac Mini being disassembled and it sounds ok.\nA standard issue putty knife and some assistance from a jack knife were all that was needed to crack the case.\n"},{"d":"2005-01-19","g":[],"s":"posts","t":"Single Sign on?","u":"/weblogs/angus/posts/2005/01/19/single-sign-on/","x":"I\u0026amp;rsquo;ve been wondering whether it makes sense to try to implement a single sign on system.\nI now have 2 bug tracking systems, a wiki, a webmail system and this web log. All of these have different authentication systems.\nMaybe we need a common standard in web applications like RSS but for authentication?\n"},{"d":"2005-01-11","g":[],"s":"posts","t":"New iMac Mini!","u":"/weblogs/angus/posts/2005/01/11/new-imac-mini/","x":"Apple just anounced the Mac mini . A small, little mac that starts at Â£339 or $499.\nAt last the cheap mac that everyone has been waiting for. It doesn\u0026amp;rsquo;t include a screen but it has an optical drive and a processor, USB and firewire.\nIt\u0026amp;rsquo;s pretty much the equivalent of the current iBooks without screen or keyboard. And curiously similar to the mock up that somebody posted details of a few days back. Perhaps they had seen the unit but couldn\u0026amp;rsquo;t actually photo it then?\nReally great news. I hope it sells as well as I think it will.\n"},{"d":"2005-01-10","g":[],"s":"posts","t":"Phantom Game System","u":"/weblogs/angus/posts/2005/01/10/phantom-game-system/","x":"Amazingly enough, despite appearing on Wired\u0026amp;rsquo;s vapourware list , the Phantom game system actually appeared at CES. (Or at least a box appeared at CES)\nThe Phantom offers a sort of video game on demand system, which I\u0026amp;rsquo;m not totally convinced about, but the box looks nice and it seems to offer an interesting collection of features. I think given the choice the XBox2 would be a better bet, or the PS3.\nTheTechLounge has the pictures (about half way down).\n"},{"d":"2005-01-07","g":[],"s":"posts","t":"Smoothies","u":"/weblogs/angus/posts/2005/01/07/smoothies/","x":"New smoothie recipe that I tried:\n2 bananas 250ml Orange juice.\nPut bananas in blender. Add orange juice to blender.\nBlend until smooth.\nNot exactly impressively innovative, but it tastes quite good.\n"},{"d":"2005-01-06","g":[],"s":"posts","t":"Amazon ads","u":"/weblogs/angus/posts/2005/01/06/amazon-ads/","x":"I was just doing a quick search for Lemony Snicket books (of which there are apparently now 11) on Amazon.com\nOddly enough when I did the search I got the following within the search results:\nIt appears that they are using google ad words, and one of the advertisments offered was for a competitor.\nIt does seem a bit odd to say the least, to be advertising a different online store \u0026amp;hellip;\n"},{"d":"2004-12-30","g":[],"s":"posts","t":"Daily WTF!","u":"/weblogs/angus/posts/2004/12/30/daily-wtf/","x":"The Daily WTF "},{"d":"2004-12-30","g":[],"s":"posts","t":"How stuff gets popular","u":"/weblogs/angus/posts/2004/12/30/how-stuff-gets-popular/","x":"This article:The Long Tail in the October issue of wired is really interesting. It offers the idea that the sucess of the most popular media titles is actually less than the cumulative totals of the other titles.\nThe article also offers a key point. Shelf rental value is a key factor when determining stock levels. The example is a CD-store that must sell two copies of a particular title each year to stock it at all. However amazon doesn\u0026amp;rsquo;t really work like that. Internet retailers have a lower cost base and thus it doesn\u0026amp;rsquo;t really matter how many copies get sold, as long as some stock exists somewhere. Similarly revolutionary changes are also occuring with dvd-rental services. Online rental outfits have thousands more titles than even the largest physical store.\nWhat this may mean is a revolution in consumer habits. People up until now have been buying stuff because it is"},{"d":"2004-12-26","g":[],"s":"posts","t":"The Twelve Days of Crunch Time","u":"/weblogs/angus/posts/2004/12/26/the-twelve-days-of-crunch-time/","x":"The Twelve Days of Crunch Time Weird!\n(from Slashdot )\n"},{"d":"2004-12-13","g":[],"s":"posts","t":"PalmOS future?","u":"/weblogs/angus/posts/2004/12/13/palmos-future/","x":"Weird things seem to be happening in the Palm OS sector. PalmSource recently bought China MobileSoft which is a Chinese linux smartphone developer. This comes after spending about $11 million to buy BeOS from be back in 2001.\nOne obvious motivation in buying a Chinese company is to get access to the Chinese market (which is always going to be huge real soon now. IBM is thought to have similar motivations in selling it\u0026amp;rsquo;s PC division to Lenovo. But PalmSource is now also talking about basing future Palm OS versions on Linux. So maybe they were after technology as well as market access.\nThe alternatives aren\u0026amp;rsquo;t pretty. PalmSource hasn\u0026amp;rsquo;t been making much progress since the incremental Palm OS 5. Licensees have yet to ship a PalmOS 6/Cobalt device. The software seems to be available to device developers but everyone is still on the PalmOS 5 platform. Not one Cobalt device has"},{"d":"2004-12-08","g":[],"s":"posts","t":"Ethical Hacking: A BCS Talk","u":"/weblogs/angus/posts/2004/12/08/ethical-hacking-a-bcs-talk/","x":"This evening I went along to the Edinburgh BCS talk on Ethical Hacking . It was really eye-opening and made me suitably paranoid about my own security.\nPeter Wood of First Base Technologies gave a remarkably useful, informative and funny talk on the subject. (and left me totally paranoid as I said before).\nSome interesting points and some thoughts\nPhysical intrusion is very likely\nPhysically entering a building and stealing data is often easier than getting past network security and cracking a network.\nSocial engineering is a serious concern\nIt is relatively easy to get people to give access information away\nHave a plan to deal with physical intrusion.\nIn one case the receptionists realised that the intruder was present but didn\u0026amp;rsquo;t have any instructions on what to do in that situation - result: failure. Have obvious guidelines on who to call and what to do if an intruder is spotted."},{"d":"2004-12-04","g":[],"s":"posts","t":"Rabbit in Sauce Sublime","u":"/weblogs/angus/posts/2004/12/04/rabbit-in-sauce-sublime/","x":"“Rabbit in Sauce Sublime, a recipe that sounds right out of a Warner Brothers cartoon”\nThere are several really odd websites with recipes from a time when taste was lacking and people cooked the oddest things.\nGallery of Regretable Foods Some words on nutrition (kind of)\n"},{"d":"2004-11-29","g":[],"s":"posts","t":"Added Staticize plugin","u":"/weblogs/angus/posts/2004/11/29/added-staticize-plugin/","x":"To fit in with my views on websites (only as dynamic as absolutely necessary), I have installed this plugin. Hopefully this will not cause too many problems.\n"},{"d":"2004-11-27","g":[],"s":"posts","t":"Ebay Suspension","u":"/weblogs/angus/posts/2004/11/27/ebay-suspension/","x":"Weird thing happened today. I was checking my email and I saw a message from ebay stating that my account had been suspended. I assumed it was fake and went to visit ebay itself. But it seems real.\nThe whole business is odd. I have never bought or sold anything on ebay. I think I once made a few bids, but they were unsucessful. Who knows what\u0026amp;rsquo;s happening. It doesn\u0026amp;rsquo;t reassure me though about the ebay security system.\nPerhaps more information will appear shortly.\n"},{"d":"2004-11-22","g":[],"s":"posts","t":"Pocket PC and Mac OS X","u":"/weblogs/angus/posts/2004/11/22/pocket-pc-and-mac-os-x/","x":"In a break from SQLEditor and other similar things I\u0026amp;rsquo;ve been trying to connect my pocket pc to my macintosh. After some experimentation I have sucessfully installed synce using instructions . I have also got the pocket pc to connect to the internet from the cradle using a slightly modified ppp script (use proxyarp) and have Avantgo synchronisation from the desktop using agsync .\nI also have a new tool that handles detection of connections and disconnections on the device which I hope to make available shortly.\nUnfortunately there are still some bugs, but excellent progress is being made.\nI\u0026amp;rsquo;ve also made some progress on mounting the device on the desktop using a modified webdav server. I can get read support, but I\u0026amp;rsquo;m still working on write support.\nMore on this later\u0026amp;hellip;\n"},{"d":"2004-11-22","g":[],"s":"posts","t":"SQLEditor","u":"/weblogs/angus/posts/2004/11/22/sqleditor/","x":"Oracle connectivity has been one of the main things I\u0026amp;rsquo;ve been working on this week with SQLEditor. This involved installing Oracle on my iBook. Oracle 10g is a remarkably complicated bit of software. It arrives in a 500MB+ download which takes forever to download and then a significant amount of time to install.\nMy machine is also noticably short of memory for oracle because it has only 256MB of ram, rather than the 512MB recommended.\nThe good news is that simple databases are now accessible using oracle, although larger ones are still a bit too big. I\u0026amp;rsquo;m still working on trying to fix this. The idea of schemas in Oracle is also quite different in that you pretty much use one database and then sub-divide it up.\nI\u0026amp;rsquo;ve added a nice about box to the application that now includes a two column credits section and details of the username and serial number for the application.\n"},{"d":"2004-11-15","g":[],"s":"posts","t":"DocBook and Apple Help","u":"/weblogs/angus/posts/2004/11/15/docbook-and-apple-help/","x":"One of the key tools I\u0026amp;rsquo;ve been using recently is Docbook . Docbook is an xml-schema which can be used to write documentation for things. This can then be converted via the wonders of XSL, XML and XML-FO processors into PDF, HTML or several other formats. I\u0026amp;rsquo;ve written all of the documentation for SQLEditor using docbook and it is really handy. Slightly verbose, but really handy.\nUnfortunately at the moment there doesn\u0026amp;rsquo;t seem to be an Apple Help stylesheet for docbook. Since one of my targets is Apple Help this is slightly unfortunate, but I suppose in time either I can write one or someone else will. In the meantime, I\u0026amp;rsquo;m using the microsoft help stylesheet and altering the results a bit to work with Apple Help.\nDocbook is definitely a handy tool for documentation though. I wish I had discovered it earlier.\n"},{"d":"2004-11-15","g":[],"s":"posts","t":"SQLEditor released!","u":"/weblogs/angus/posts/2004/11/15/sqleditor-released/","x":"After a rather over-extended development cycle SQLEditor version 1.0 has now been released. Which is a great relief to me. I\u0026amp;rsquo;ve been working on it for so long now that I can\u0026amp;rsquo;t quite remember not working on it, which is weird. Admittedly that\u0026amp;rsquo;s only really about 12 months, but still, it\u0026amp;rsquo;s a significant portion of my life. It\u0026amp;rsquo;s also the first major product I\u0026amp;rsquo;ve released.\nIn a moment of commercialism I would encourage you to buy a copy because it makes a wonderful christmas gift, or at least it might if the recipient really loved databases or if it was some other kind of program altogether. As it is, it probably wouldn\u0026amp;rsquo;t make much of a Christmas gift. Socks or bottles of wine would be a better choice for almost anyone.\nReleasing SQLEditor isn\u0026amp;rsquo;t the end of the situation though. Version 1.1 is already being planned and I\u0026amp;rsquo;ve various other"},{"d":"2004-11-11","g":[],"s":"posts","t":"Writing Documentation","u":"/weblogs/angus/posts/2004/11/11/writing-documentation/","x":"I\u0026amp;rsquo;m currently in the middle of writing user documentation of SQLEditor. I finally settled on docbook as the format of choice since it seems the most compatible with other things. I\u0026amp;rsquo;m using this tutorial to build the stuff although saxon has now made it into darwinports which is nice. http://www.boksa.de/tutorials/docbook _macosx.mpp\n"},{"d":"2004-11-01","g":[],"s":"posts","t":"Mac OS X keyboard layouts","u":"/weblogs/angus/posts/2004/11/01/mac-os-x-keyboard-layouts/","x":"I was reading macsurfer today and I came across an interesting article by a Canadian called Joe Clark who wanted to remove the US flag from the input mode menu item. This got me thinking, could I write something that would alter the default US keyboard layout to have a user specified flag. Could I write a keyboard layout with a Scottish flag for that matter.\nIt turns out that I didn\u0026amp;rsquo;t need to.\nThere is already a Keyboard layout generator for mac osx. All you need to do is to enter a name for your new layout (\u0026amp;ldquo;Scottish\u0026amp;rdquo;) and then choose xml format. (You may also want to set the autodefine option to \u0026amp;ldquo;define them all\u0026amp;rdquo;) Then hit the download button. Finally save the resulting file as name.keylayout. (\u0026amp;ldquo;Scottish.keylayout\u0026amp;rdquo;).\nIf you want an icon to go with it you also need to create name.icns (\u0026amp;ldquo;Scottish.icns\u0026amp;rdquo;) using IconComposer or something"},{"d":"2004-10-29","g":[],"s":"posts","t":"Word press spam and comments pages","u":"/weblogs/angus/posts/2004/10/29/word-press-spam-and-comments-pages/","x":"I\u0026amp;rsquo;ve got tired of people spamming my web log. So I\u0026amp;rsquo;ve changed the name of the comments posting page. I\u0026amp;rsquo;m going to see if it makes a difference. If it does then the people spamming are automated, if it doesn\u0026amp;rsquo;t then the automatic system is either too smart or it\u0026amp;rsquo;s figuring it out in some other way. I\u0026amp;rsquo;ve got some more ideas so if this doesn\u0026amp;rsquo;t work then I\u0026amp;rsquo;ll move on. Either that or ban URLs in comments altogether.\nPotential spammers should note that advertising or commercially orientated posting in the comments area is specifically prohibited. Under no circumstances is any such posting permitted. Posting any such comment counts as unauthorized and illegal use of this machine.\n"},{"d":"2004-10-23","g":[],"s":"posts","t":"Integrate flyspray with CVSWeb","u":"/weblogs/angus/posts/2004/10/23/integrate-flyspray-with-cvsweb/","x":"Currently I\u0026amp;rsquo;m using flyspray for bug tracking. I use cvsweb to view the cvs tree online.\nOne thing that I really wanted was to be able to click one bug numbers in the cvs log reports and see the bug tracking entry that matches it. It turns out this is amazingly simple. I added the following code to the cvsweb.cgi file inside the htmlify function, just below the bit that does the urls. (new section in bold) # get URL\u0026#39;s as link s{ ((https?|ftp)://.+?)([s\u0026#39;]|\u0026amp;amp;(quot|[lg]t);) }{ \u0026amp;amp;link($1, htmlunquote($1)) . $3 }egx; # replace FS with correct bug track link in flyspray s{ FS#([0-9]+) }{ \u0026amp;amp;link(\u0026amp;quot;[$1]\u0026amp;quot;,\u0026amp;quot;/flyspray/index.php?do=details\u0026amp;amp;id=$1\u0026amp;quot;) }egx; # get e-mails as link\nAnd now my cvs logs display a link whenever I use FS#100 or a similar bug number. Next I suppose is to integrate it the other way and have the cvs system automatically close resolved issues"},{"d":"2004-10-23","g":[],"s":"posts","t":"Java FileWriter, XML and UTF-8","u":"/weblogs/angus/posts/2004/10/23/java-filewriter-xml-and-utf-8/","x":"Oddly enough the java.io.FileWriter class doesn\u0026amp;rsquo;t use UTF-8 by default. I\u0026amp;rsquo;m not exactly sure what the default encoding is (possibly ISO-8859-1 or US-ASCII?) but it doesn\u0026amp;rsquo;t seem to be UTF-8, which is odd given that java strings are supposed to be unicode. This causes a problem if you want to have non-ascii characters and you don\u0026amp;rsquo;t realise what\u0026amp;rsquo;s happening. This was a bug in SQLEditor and somebody accidentally typed an umlaut into one of the fields and the file wouldn\u0026amp;rsquo;t reload. (Which was annoying).\nThe correct thing to do seems to be to use the following:\nOutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(path),\u0026amp;quot;UTF-8\u0026amp;quot;);\nWhich ensures that you are using UTF-8.\nI suppose that the motivation for this is that it means that simple use of FileWriter is compatible with applications that are not unicode aware and don\u0026amp;rsquo;t support"},{"d":"2004-10-23","g":[],"s":"posts","t":"Walled City of Kowloon","u":"/weblogs/angus/posts/2004/10/23/the-non-life-of-leynos-blog-archive-dreaming-of-nine-dragons/","x":"Leynos posted a really interesting story about the Walled City of Kowloon .\nIt\u0026amp;rsquo;s fascinating and I\u0026amp;rsquo;ve been reading all the linked web pages \u0026amp;hellip;\n"},{"d":"2004-10-18","g":[],"s":"posts","t":"HP unveils paper-thin flexible screen technology - ZDNet UK News","u":"/weblogs/angus/posts/2004/10/18/hp-unveils-paper-thin-flexible-screen-technology-zdnet-uk-news/","x":"HP unveils paper-thin flexible screen technology - ZDNet UK News This is a really amazing development. There are some images too. The most impressive one is probably the first image which has been unplugged for two years!\nThey also demonstrate a color version which offers 125 colors at the moment.\nThe advantages of this technology are obvious, although it isn\u0026amp;rsquo;t (yet) fast enough for digital video. It can be used to create clever signage, smart display panels for places like airports and railway stations. Intelligent motorway signs and many other things. It will allow lower cost and better display quality. Think how much fun it could be in airports if a late passenger announcement also included a giant photo of the passenger holding up the flight. :-)\nMaybe one day we might even have proper electronic paper. A unit as thin and light as real paper but with all of the qualities of a"},{"d":"2004-10-18","g":[],"s":"posts","t":"SQLEditor Cocoa B11a","u":"/weblogs/angus/posts/2004/10/18/sqleditor-cocoa-b11a/","x":"Unfortunately there was a crashing bug in SQLEditor beta 11 and I had to release b11a.\nIt was one of these things were format strings caused the crash. I\u0026amp;rsquo;d transposed two of the entries\n[NSString stringWithFormat:@\u0026amp;quot; %@ %d\u0026amp;quot;,aDecimal,aString]\ninstead of\n[NSString stringWithFormat:@\u0026amp;quot; %@ %d\u0026amp;quot;, aString, aDecimal]\nand of course cocoa crashed, probably because it tried to send a message to the aDecimal variable.\nIt\u0026amp;rsquo;s unfortunate that this can\u0026amp;rsquo;t be detected at compile time, because it\u0026amp;rsquo;s really annoying and very easy to do.\nPossibly this could be caught in an exception handler of some kind though. I\u0026amp;rsquo;ll have to do some more work on it.\n"},{"d":"2004-10-13","g":[],"s":"posts","t":"Mental Control of Computers","u":"/weblogs/angus/posts/2004/10/13/mental-control-of-computers/","x":"Yahoo! News - Scientists gingerly tap into brain\u0026amp;rsquo;s power This is a really great piece of news. If this technology can be extended then it will really improve the quality of people\u0026amp;rsquo;s lives immensely.\nPlus they\u0026amp;rsquo;re also promising non-invasive approaches too.\n"},{"d":"2004-10-13","g":[],"s":"posts","t":"SQLEditor Cocoa B11 Released","u":"/weblogs/angus/posts/2004/10/13/sqleditor-cocoa-b11-released/","x":"Released SQLEditor Cocoa B11 today. Lots of new features included in this release.\nI almost missed the release today actually because I found an unfortunate bug just before I was about to upload. It turned out that an object wasn\u0026amp;rsquo;t correctly removed from the notification center list, which caused a crash when the application tried to clean up by sending messages to various objects (including one that had actually been deleted already). But I fixed it and released just slightly late (it wasn\u0026amp;rsquo;t really a serious bug)\n"},{"d":"2004-10-13","g":[],"s":"posts","t":"UGC Cinema Pass \u0026 recent films","u":"/weblogs/angus/posts/2004/10/13/ugc-cinema-pass-recent-films/","x":"Well I finally signed up for this. After about 5 minutes and an amazingly scarey form, I\u0026amp;rsquo;ve now got a commitment to pay Â£120 and a pass good for 30 days. The actual pass will be delivered by post later.\nSaw Wimbledon. Along similar lines to many recent British romantic comedies, but pretty good none the less. The tennis scenes were suitable dramatic and it had a happy ending.\nSaw \u0026amp;ldquo;Sky Captain and the World of Tomorrow\u0026amp;rdquo; last week. Excellent film in the Indianna Jones style.\nNow I have my cinema pass I must see more films though.\nStill wanting to see\nShark Tale\n"},{"d":"2004-10-10","g":[],"s":"posts","t":"Cocoa#","u":"/weblogs/angus/posts/2004/10/10/cocoa/","x":"I\u0026amp;rsquo;ve been playing around a bit recently with mono and cocoa# .\nThere also seems to be an experimental build of Mono-develop .\nI begin to think that .net and mono are going to be excellent java competitors. I also think that the idea of supporting platform differences makes more sense than the java swing approach of lowest-common-denominator functionality.\nI started off SQLEditor in java swing and then switched to cocoa . I wonder if there will eventually be another rewrite to mono and .net?\n"},{"d":"2004-10-10","g":[],"s":"posts","t":"Sorry about lack of postings","u":"/weblogs/angus/posts/2004/10/10/sorry-about-lack-of-postings/","x":"Not much happening here recently. I don\u0026amp;rsquo;t think I\u0026amp;rsquo;ve posted anything since September. This is mainly because I\u0026amp;rsquo;ve been really busy with other stuff. SQLEditor has been making good progress and I\u0026amp;rsquo;ve been working on some other projects too.\n"},{"d":"2004-10-10","g":[],"s":"posts","t":"UGC Cinema Pass?","u":"/weblogs/angus/posts/2004/10/10/ugc-cinema-pass/","x":"I\u0026amp;rsquo;ve been wondering yet again about the UGC Cinema pass. It\u0026amp;rsquo;s a 12 month minimum subscription pass that gives apparently unlimited cinema screenings. Pay Â£10 a month and see every film if you so desire. I\u0026amp;rsquo;ve been wondering about this for a while now. As I see it there are advantages and disadvantages: Advantages\nÂ£10/month is less than twice the evening ticket price I would see more films if there is no additional cost per film The UGC is a good cinema with nice screens and plenty of showings It would be really good if people I know also get one which some already have and several are talking about Disadvantages\nI would have to see everything at the UGC unless I want to pay again UGC showing times can be a bit odd sometimes I have to get to the UGC which does cost money and take time. Fountainbridge is some distance from me 12 month minimum term direct debit (or"},{"d":"2004-09-29","g":[],"s":"posts","t":"SQLEditor Beta 9 Released","u":"/weblogs/angus/posts/2004/09/29/sqleditor-beta-9-released/","x":"Lots of fun new features in SQLEditor Beta 9 .\nI think SQLEditor is getting quite close to the final release version actually, which is good.\nI have set up a new bug reporting and tracking system .\n"},{"d":"2004-09-23","g":[],"s":"posts","t":"Amazing looking computer","u":"/weblogs/angus/posts/2004/09/23/amazing-looking-computer/","x":"The people over at mini-itx.com have a picture of a most amazing looking pc. It is mounted vertically in a table like case. With amythtv software, a video projector and a wireless keyboard it would make a wonderful, stylish and invisible home entertainment system.\n"},{"d":"2004-09-23","g":[],"s":"posts","t":"SQL Import from database for SQLEditor","u":"/weblogs/angus/posts/2004/09/23/sql-import-from-database-for-sqleditor/","x":"I now have the first version of database import working for SQLEditor. This means that you can point it at a database and it will grab the structure of the database directly.\nCurrently it\u0026amp;rsquo;s missing foreign key support, but it seems to support most other functionality.\nOn a related note, I have finally fixed the bug that sometimes meant that you could end up with bad sql code. The new version now uses \u0026amp;ldquo;alter table\u0026amp;rdquo; rather than \u0026amp;ldquo;references\u0026amp;rdquo;, it creates all of the tables first and then adds the foreign keys. This means that even circular dependencies will now be exportable.\n"},{"d":"2004-09-22","g":[],"s":"posts","t":"the non-life of Leynos","u":"/weblogs/angus/posts/2004/09/22/the-non-life-of-leynos/","x":"David (leynos) has set up a blog: the non-life of Leynos !\n"},{"d":"2004-09-14","g":[],"s":"posts","t":"FireFox PR1 Released","u":"/weblogs/angus/posts/2004/09/14/firefox-pr1-released/","x":"Zdnet and others are announcing firefox PR1 will be released later today. The mozilla homepage is already showing download links but the Mac OS X links aren\u0026amp;rsquo;t actually working as I write this.\nFirefox 1.0PR1 will probably be a defining moment in web browser history, along with Netscape 1.0 and Internet Explorer 3. A browser release that represents a fundamental change in web browsing behaviour.\nIt is also a milestone in open source development. Firefox is one of the more visible pieces of open source software around and it definitely seems to have caught people\u0026amp;rsquo;s attention. It is gaining against IE in terms of popularity and without the advantages that IE has, such as integration with windows and the marketing support of Microsoft . It is suceeding on the strength of its own quality as a piece of software.\nThe Mozilla software project is a sucess!\n[edit: download now"},{"d":"2004-09-14","g":[],"s":"posts","t":"Online Store","u":"/weblogs/angus/posts/2004/09/14/online-store/","x":"I\u0026amp;rsquo;ve been working recently on integrating a registration system into SQLEditor (sorry).\nUnfortunately I kind of need to make some money out of my software and so people have to pay for it. I really wish this wasn\u0026amp;rsquo;t the case but sadly it is.\nSo I now have an online store powered by swreg . If you visit the SQLEditor page you will now see a couple of purchasing options in the right column and further options are an a subsequent screen. It looks fairly close to the rest of the site and swreg offers better fraud prevention than paypal, particularly for credit cards.\nThe complexities of integrating everything together are quite great, which suprised me a bit. I was hoping for something easy, but it required a lot of steps to get everything pretty much working.\nSign up to online store Add products Create templates for shopping basket Create serial number system integrate serial"},{"d":"2004-09-13","g":[],"s":"posts","t":"Baking Pizza","u":"/weblogs/angus/posts/2004/09/13/baking-pizza/","x":"Amazon.co.uk: Books: The Pizza Express Cook Book I just tried the basic recipe out of this book this evening and it made an amazing pizza. It was better than some of the frozen varieties. I used the dough recipe, topped it with a tomato sauce in a jar and added grated mozarella cheese (+ a few olives that I happened to have)\nIt tasted fairly close to the restaurant pizzas, which is an amazing result for a home recipe. I definitely think I\u0026amp;rsquo;m going to stop buying frozen pizzas.\nUnfortunately the book\u0026amp;rsquo;s availability isn\u0026amp;rsquo;t very good. Amazon doesn\u0026amp;rsquo;t seem to be selling new copies directly. If you get the opportunity pick up a copy, the recipe I tried worked well and tasted great and the book has an interesting history of pizza making and of the Pizza Express company . I think I picked up my copy for £2.99 at one of the cheap book shops. It\u0026amp;rsquo;s definitely a good"},{"d":"2004-09-05","g":[],"s":"posts","t":"Films I really want to see","u":"/weblogs/angus/posts/2004/09/05/films-i-really-want-to-see/","x":"Some films that I want to see (in no particular order)\u0026amp;hellip;\nShrek 2 Spiderman 2 The Bourne Supremacy Love Me If You Dare The Terminal\nI Robot\n(thanks to Dhruba for the idea)\n"},{"d":"2004-09-02","g":[],"s":"posts","t":"Binary Thoughts (Dhruba's Weblog)","u":"/weblogs/angus/posts/2004/09/02/binary-thoughts-dhrubas-weblog/","x":"Lots of fun new features have just appeared over at Binary Thoughts . Dhruba\u0026amp;rsquo;s site now has loads of really clever new bits. I really like the css3 link icons.\n"},{"d":"2004-09-02","g":[],"s":"posts","t":"Serial Number Systems","u":"/weblogs/angus/posts/2004/09/02/serial-number-systems/","x":"I\u0026amp;rsquo;ve recently been trying to write a serial number system for SQLEditor. I\u0026amp;rsquo;m also looking for a new name for it. It was pointed out that the current name is generic and difficulty to pronounce, plus there is already at least one other \u0026amp;ldquo;SQLEditor\u0026amp;rdquo; out there already. Suggestions are welcome!\nBut back to the serial number thing. If I could remember more of the maths that I learnt at university I would be happier, but as I tend to do I had forgotten most of the stuff that I don\u0026amp;rsquo;t use, retaining only the bits I do use (Vectors primarily, plus some other stuff).\nObviously serial number values end up in base 36 (0-9, A-Z), but other than that the problem occurred on how exactly to represent them. I need to have a link between the username and the serial number because that\u0026amp;rsquo;s one of the methods implemented to discourage copying. If you see someone else\u0026amp;rsquo;s"},{"d":"2004-09-01","g":[],"s":"posts","t":"Not much writing recently","u":"/weblogs/angus/posts/2004/09/01/not-much-writing-recently/","x":"Unfortunately I\u0026amp;rsquo;ve been really busy recently working on SQLEditor (and some other things) so I haven\u0026amp;rsquo;t really been writing much.\nNot sure how that\u0026amp;rsquo;s going to change in the weeks ahead, but hopefully I\u0026amp;rsquo;ll be writing a bit more.\n"},{"d":"2004-09-01","g":[],"s":"posts","t":"USB connectable mobile phone","u":"/weblogs/angus/posts/2004/09/01/usb-connectable-mobile-phone/","x":"Simple thought today: a USB mobile phone. So you could just plug it straight into a laptop or something, without bluetooth or infra-red. I think Motorola tried something like this with the timeport 280 and also the A920; but I never learnt whether it was much of a sucess (unlikely given earlier timeport designs).\nBetter yet if the phone could be charged and synchronized over the usb cable while connected.\nObviously that doesn\u0026amp;rsquo;t mean that I don\u0026amp;rsquo;t like bluetooth any more, I\u0026amp;rsquo;m still very much in favour of bluetooth. But now I like USB as well. :-)\n"},{"d":"2004-08-27","g":[],"s":"posts","t":"SQLEditor Cocoa B6 Due for release.","u":"/weblogs/angus/posts/2004/08/27/sqleditor-cocoa-b6-due-for-release/","x":"SQLEditor Cocoa Beta 6 has been released. Beta 6 offers a number of significant enhancements and improvements, plus several bug fixes.\nFields can now be dragged from one table to another.\nThe list of data types can now be edited and changed\nImproved preferences options\nBetter printing, including scaling, tiling and fit to page.\nNew buttons to add a sibling field to a table or delete the currently inspected one\nC-shaped connectors are back. (This is where a connector loops back on itself if it would otherwise overlap either the source or destination field)\nYou can now change the colors of objects. This is a global setting at the moment. Individual color changing is coming soon\nA few minor bug fixes\nSlightly altered the appearance of the table object view\nFirst version of online help. As yet incomplete.\nThis new version expires on September 30th 2004.\nWhy not download it now?"},{"d":"2004-08-12","g":[],"s":"posts","t":"NSLog","u":"/weblogs/angus/posts/2004/08/12/nslog/","x":"I just realised that NSLog allows parameters. I\u0026amp;rsquo;d previously been using\nNSLog([NSString stringWithFormat:@\u0026amp;quot;%d\u0026amp;quot;,randomVar]) ...\nBut now I realise that the I don\u0026amp;rsquo;t really need to do this. A simple call to NSLog will work as well.\nNSLog(@\u0026amp;quot;%d\u0026amp;quot;,randomVar);\nIt still isn\u0026amp;rsquo;t as easy as php or even java, but it\u0026amp;rsquo;s shorter and tidier and so better.\n"},{"d":"2004-08-12","g":[],"s":"posts","t":"Very slight redesign of MalcolmHardie.com website","u":"/weblogs/angus/posts/2004/08/12/very-slight-redesign-of-malcolmhardiecom-website/","x":"Observant readers may notice a slight change to the malcolmhardie.com website (if you came in from there). The fonts for the titles have been resized and the stupid red boxes have been removed. Hopefully it all looks more visually cohesive. Titles now reduce in size as they become less important for instance.\nI\u0026amp;rsquo;m still intending to switch the whole lot to xml/xslt/php, but I\u0026amp;rsquo;ve deferred deployment for a while until some other things are out of the way. The new version is up and running on the test server but I think it needs a bit more work before it can be released.\n"},{"d":"2004-08-09","g":[],"s":"posts","t":"Missing Email","u":"/weblogs/angus/posts/2004/08/09/missing-email/","x":"I just had the thought that there is email that I should have, but can\u0026amp;rsquo;t find. Which is bad, given that I\u0026amp;rsquo;ve been trying to archive all of my email. The key question obviously is where has it gone? And I suspect the answer may be that it is gone forever.\nThis might be really bad, alternatively it might not. Who can tell?\nI think the best thing might be to convert my email to html at intervals, rather than leaving it in my email imap server. If it was carefully indexed and sorted it would probably be a better way to to do things.\n"},{"d":"2004-08-03","g":[],"s":"posts","t":"SQLEditor Cocoa B5 Released","u":"/weblogs/angus/posts/2004/08/03/sqleditor-cocoa-b5-released/","x":"Good news everyone!\nSQLEditor Cocoa version is finally available for download.\nSQLEditor Cocoa offers a Mac OS X native cocoa interface, an improved SQL parser, better performance and some bug fixes.\nDownload (325k) "},{"d":"2004-08-01","g":[],"s":"posts","t":"Shareware and Serial Numbers","u":"/weblogs/angus/posts/2004/08/01/shareware-and-serial-numbers/","x":"Not much posting recently. But I\u0026amp;rsquo;ve been working getting SQLEditor ready for release. The big things recently have been bug fixes and developing a serial number system.\nIt\u0026amp;rsquo;s extremely annoying to have to spend any time at all working on the serial number system, because really the time would be better spent actually improving the software. But given that I actually want people to buy copies of the thing it is sadly necessary.\nI have a simple test program working already and as soon as I develop some kind of key generator system I\u0026amp;rsquo;ll be able to add it (probably to beta 6).\nBeta 5 is complete, so it should be released tomorrow.\n"},{"d":"2004-07-22","g":[],"s":"posts","t":"Parsing SQL in SQLEditor","u":"/weblogs/angus/posts/2004/07/22/parsing-sql-in-sqleditor/","x":"Good progress is being made again on the Cocoa version of SQLEditor. I have recently rewritten the parsing system to use javacc instead of my own home built parser. This allows for better, simpler and more reliable parsing. Writing my own parser was interesting but wasn\u0026amp;rsquo;t really the best strategy. This new parser should make its way into the java version of SQLEditor eventually. A key new feature is that the import system can now report parsing errors to the user. Previously the whole thing just kind of gave up without any indication of what went wrong. BAD! Now you get a nice little window (actually a panel) that appears and gives a list of errors. The current development version always shows this window but I\u0026amp;rsquo;m still trying to decide if it is better to show it on every import or just when something goes wrong. The new parser is also much easier to expand to support new"},{"d":"2004-07-22","g":[],"s":"posts","t":"Ringtone pricing vs Other Content","u":"/weblogs/angus/posts/2004/07/22/ringtone-pricing-vs-other-content/","x":"David made an interesting point in a comment recently about the ridiculous prices people are paying for ring tones and how this may be encouraging news for more sophisticated content (like video). If people are willing to pay 50p or more for a few seconds of music in a ringtone, how much might they be willing to pay to see a key goal scored in a football match or an important news story?\nOf course Mazingo tried pocket video stories a while back using a system like avantgo. I think it worked by syncing a pocket pc or palm unit with a server somewhere. Then you got video clips pushed to the unit. The costs eventually got the better of them because the company isn\u0026amp;rsquo;t really doing that anymore. I think the most likely reason for failure was because they had difficulty charging for a service that was extremely expensive to provide.\nVideo over 3G networks has two crucial advantages over"},{"d":"2004-07-11","g":[],"s":"posts","t":"Cross Platform Applications","u":"/weblogs/angus/posts/2004/07/11/cross-platform-applications/","x":"With the announcement of Dashboard in Mac OS X 10.4 Apple, like many other companies, seems to have gone for a standards based approach. Dashboard is said to be based on HTML, CSS and javascript. A webpage in all but location. Microsoft tried something similar of course back with windows 98. You could display bits of webpages or activeX controls or java applets on the desktop. It didn\u0026amp;rsquo;t prove all that popular then, but those pagelets were slow and clumsy. I very much imagine that dashboard is neither slow nor clumsy.\nMore importantly though, dashboard objects have two interesting features. The first is that they use interpreted, not compiled, languages. The second is that they are essentially cross platform. I know that there doesn\u0026amp;rsquo;t seem to be any particular other platform that can they can actually be moved to at the moment, but I feel fairly confident that before next"},{"d":"2004-07-11","g":[],"s":"posts","t":"TV on 3G Mobiles","u":"/weblogs/angus/posts/2004/07/11/tv-on-3g-mobiles/","x":"According to this BBC Article there is a growing move towards tv programming on mobile phones. The key disadvantage is the amazingly high cost; one of the people interviewed paid $50 for 45 minutes. High pricing seems to be a problem as it so often is for mobile services.\nIt does seem like a handy thing though. I suppose Three in the uk is doing something kind of similar, but in a much more limited way, with their streaming video services. It\u0026amp;rsquo;s even possible that if the price was not unreasonable then I might even use the service myself. Although I would probably have to upgrade my phone to do so. I don\u0026amp;rsquo;t think anyone is going to manage to offer streaming video on a nokia 6210 :-)\n"},{"d":"2004-07-08","g":[],"s":"posts","t":"Definitions in spellchecker?","u":"/weblogs/angus/posts/2004/07/08/definitions-in-spellchecker/","x":"There have been lots of articles today in newspapers because the Oxford English Dictionary publishers have claimed that people are confused and choosing words incorrectly. For example \u0026amp;ldquo;pouring\u0026amp;rdquo; instead of \u0026amp;ldquo;poring\u0026amp;rdquo;. The problem being that people are basing the word choice on the sound and thus homonyms (or homophones if you prefer) are confused. There are quite a lot of words that sound the same but different meaning, for example caret (a typographical mark and the blinking insertion point in a text editor) and carrot (vegetable).\nHowever I offer a simple solution: Have a brief definition of the word in the spell checker. Visual Studio already does this for programming languages so adding it to word processors is hardly difficult. The only issue really is likely to be disk space. If this is really a concern maybe some kind of online system? But I really don\u0026amp;rsquo;t"},{"d":"2004-07-04","g":[],"s":"posts","t":"No Chopsticks?","u":"/weblogs/angus/posts/2004/07/04/no-chopsticks/","x":"Despite being absolutely huge the Sainsbury\u0026amp;rsquo;s at Cameron Toll in Edinburgh doesn\u0026amp;rsquo;t sell Chopsticks. I even went so far as to ask! Not one chopstick to be found (although presumably I would need at least two to actually get anywhere with eating)\nI wonder that they don\u0026amp;rsquo;t have a little stack of chopsticks next to the Chinese ready meal section. Buy meal, chopsticks and plate altogether.\nPerhaps it is no wonder that Sainsbury\u0026amp;rsquo;s non-foods aren\u0026amp;rsquo;t selling very well? I really liked the old layout more than the new layout. Especially the cookery section; I never seem to be able to find what I want now. The food section was improved though and I think it\u0026amp;rsquo;s currently my favourite supermarket in absolute terms. In practice I probably shop most often at Safeway in Mordun because it is slightly closer than Sainsbury and it\u0026amp;rsquo;s a downhill walk on the homeward"},{"d":"2004-07-04","g":[],"s":"posts","t":"SQLEditor (Java) Final Candidate","u":"/weblogs/angus/posts/2004/07/04/sqleditor-java-final-candidate/","x":"I\u0026amp;rsquo;ve decided to release a new version of SQLEditor (Java). The FC1 version is a final candidate version that hopefully incorporates fixes for the bugs that people have reported. There have been problems with users running Mac OS X 10.3 because of crashes in the Java Virtual Machine. These are problems that Apple has to deal with and hopefully any remaining crashes will be fixed in revisions to the Apple JVM.\nSQLEditorFC1.dmg "},{"d":"2004-07-01","g":[],"s":"posts","t":"Apple iMac EOL","u":"/weblogs/angus/posts/2004/07/01/apple-imac-eol/","x":"The Apple - iMac page has a really odd announcement on it (right, middle) stating that stocks of the old iMac have pretty much run out and the whole line will be replaced in September. The message also apologises to customers for not having a replacement ready.\nIt\u0026amp;rsquo;s a weird message. The assorted mac sites have jumped on the message and rumors are flying in all directions: processor shortages, new materials, late redesigns or manufacturing disasters have all been suggested.\nThe real oddity with the whole thing is the fact that there has been no public announcement of the unit. It wasn\u0026amp;rsquo;t introduced at the WWDC last week. Why not simply announce it and then explain that it won\u0026amp;rsquo;t be ready until the end of August? Lots of stories about this too, however it does suggest that the Paris Apple Expo is the most likely candidate for the launch. However I make no prediction on"},{"d":"2004-06-29","g":[],"s":"posts","t":"Added a few new links","u":"/weblogs/angus/posts/2004/06/29/added-a-few-new-links/","x":"I just got finished adding a few new links. It\u0026amp;rsquo;s getting to be this sort of six-degrees of weblog kind of thing. How can I get from here to any other page on the internet via only the links on this page? I don\u0026amp;rsquo;t think that can be done from my blog yet but there are weblogs that it probably will work from.\nYet the odd thing about weblogs is that they\u0026amp;rsquo;re moving away from the main web at speed. The design and technology powering them is diverging quite rapidly. RSS seems to be the preferred way to read web logs and the styling is becoming quite unlike traditional web pages. Content is typically not even on a unique page.\n"},{"d":"2004-06-29","g":[],"s":"posts","t":"Apple WWDC announcements","u":"/weblogs/angus/posts/2004/06/29/apple-wwdc-announcements/","x":"Well by now everybody probably knows about this, but I thought to follow up my previous post.\nApple launched the most amazingly large flat panel screens on Monday. The largest is a 30\u0026amp;quot; lcd panel.\nThere was also a demonstration about Mac OS X 10.4 (Tiger) which is looking quite promising. It is promising to be a 64 bit operating system offering full contextual search facility and a new widget/desktop accessory thing with shades of Konfabulator .\nThere was no indication of a new iMac at that presentation though. Which is odd given the story about the supply chain.\nPerhaps the following days will bring more rumors (false of course) which I can think about.\n"},{"d":"2004-06-29","g":[],"s":"posts","t":"Do I think enough?","u":"/weblogs/angus/posts/2004/06/29/do-i-think-enough/","x":"I\u0026amp;rsquo;ve been wondering today if I actually think enough to call this weblog \u0026amp;ldquo;Angus Thinks\u0026amp;rdquo;?\nIs there a requirement to think a certain amount to be able claim that I do think and does the subject matter actually matter?\nI can see I\u0026amp;rsquo;m going to have think about this a bit more\u0026amp;hellip;\n"},{"d":"2004-06-28","g":[],"s":"posts","t":"Keypads disappearing from mobile phones?","u":"/weblogs/angus/posts/2004/06/28/keypads-disappearing-from-mobile-phones/","x":"What purpose does the keypad actually serve on a mobile phone? Most people these days are not typing numbers on it. Numbers are usually stored in the address book. People type sms messages on it, but is that efficient? T9 predictive text input is ok but it really isn\u0026amp;rsquo;t as efficient as a proper keyboard.\nI wonder if it\u0026amp;rsquo;s faster or slower than graffiti like pen based input systems? Would a screen based keyboard be better? Maybe some kind of thumb-board?\nMobile users have been carefully trained to type at speed on a very poor keyboard. Could they become used to a different and more efficient arrangement or are we permanently stuck with the legacy of the 12 key number pad?\n"},{"d":"2004-06-27","g":[],"s":"posts","t":"Nokia 6600","u":"/weblogs/angus/posts/2004/06/27/binary-thoughts/","x":"Dhruba posted a review of the Nokia 6600 a while back. He also let me borrow it for a few minutes to play a game on it and it is beautiful to use. Smart phones definitely seem to taking the place of the PDA.\nI definitely want one :-)\n"},{"d":"2004-06-27","g":[],"s":"posts","t":"Physical Media or just digital content","u":"/weblogs/angus/posts/2004/06/27/physical-media-or-just-digital-content/","x":"I was thinking the other day about whether you actually need physical manifestation of media content. Does a movie gain something by being physically on a DVD rather than being stored digitially on a computer?\nThere is definitely one advantage in actually storing the movie on some kind of physical object because you can pick it up and move it around, even take it to places where the network infrastructure doesn\u0026amp;rsquo;t exist. The obvious disadvantage is that you do actually have to take it physically to wherever you actually want to watch it.\nIt is also somewhat less impressive to give a gift of piece of paper representing a piece of content rather than an actual CD or DVD.\nSo I was wondering if the answer might be in tokens. The token would represent the digital media and identify ownership but the content itself would be stored digitally on the network. It would solve some of the"},{"d":"2004-06-25","g":[],"s":"posts","t":"Cheque Clearance Time","u":"/weblogs/angus/posts/2004/06/25/cheque-clearance-time/","x":"It must be delightful for the banks to be able to get away with taking 4 days to clear a cheque. The interest that they earn on the money in the meantime must be significant. However there is some slight justification for cheque clearance delays, in the UK at least, the cheque seems to have to be physically returned to the bank of the person who wrote it.\nMuch, much worse is taking 3 days to make an electronic transfer. I suppose they probably write them out on paper and send them to the issuing branch as well.\nThis really shouldn\u0026amp;rsquo;t be allowed in the 21st century, but maybe everyone will switch to paypal for immediate transactions?\n"},{"d":"2004-06-25","g":[],"s":"posts","t":"Rumors: To believe or not to believe, that is the question.","u":"/weblogs/angus/posts/2004/06/25/rumors-to-believe-or-not-to-believe-that-is-the-question/","x":"AppleInsider is saying that a new iMac is coming soon, while Think Secret is saying that there won\u0026amp;rsquo;t be an iMac at the wwdc which starts next week.\nSo what (apart from the fact that it is probably a bad idea to belive everything you hear) does this tell us. Currently I\u0026amp;rsquo;m tending towards the appleinsider view that something will happen soon, because they have evidence that retailers are not being restocked. You don\u0026amp;rsquo;t restock if if you\u0026amp;rsquo;re replacing the product next week, it\u0026amp;rsquo;s bad for retailer morale and worse for their profits.\nThink Secret on the other hand is saying that no iMac will turn up at the wwdc . This might be true as well, Apple might ship a new iMac just after conference, but why? It doesn\u0026amp;rsquo;t make that much sense.\nWho knows?\nOne thing that is essential however is that the new iMac must be cheaper than the current one. It might just about get"},{"d":"2004-06-22","g":[],"s":"posts","t":"Improved Popcorn technique","u":"/weblogs/angus/posts/2004/06/22/improved-popcorn-technique/","x":"I\u0026amp;rsquo;ve been working away on my method for making popcorn at home in the microwave.\nI realised after a while that leaving the popped popcorn in the microwave after it has popped just causes it to burn, go brown and taste bad. So my current method involves removing all of the cooked popcorn aboout half way through (as soon as a good proportion of the kernels have popped). Then putting the rest of the (unpopped) kernels back into the microwave.\nThis seems to give a much better result, the popcorn is removed fairly quickly after popping and the whole lot tastes much better. If only there was some way to remove the kernels without stopping the popping. I begin to see why people have these hot air machines. I still think this method is slightly cheaper though. :-)\n"},{"d":"2004-06-16","g":[],"s":"posts","t":"First Purchase from iTunes store","u":"/weblogs/angus/posts/2004/06/16/first-purchase-from-itunes-store/","x":"I have sucessfully managed to make a purchase from the iTunes music store. Oddly enough I didn\u0026amp;rsquo;t enter the start date for credit card and things went much better. I have no idea why that might make a difference. It could even be that there was previously a technical problem that has been resolved.\nAnyway good news for me :-)\n"},{"d":"2004-06-16","g":[],"s":"posts","t":"Technical Problems with iTunes store","u":"/weblogs/angus/posts/2004/06/16/technical-problems-with-itunes-store/","x":"Annoyingly there are technical problems with the iTunes store. I\u0026amp;rsquo;ve made several attempts now to buy music but I always get a form inviting me to re-enter my payment details. Completing the form and clicking OK then either takes me back to the main page (without any music being purchased) or a box pops up stating that the purchase didn\u0026amp;rsquo;t complete.\nThe whole thing is odd. However it looks like I\u0026amp;rsquo;m not the only person to be experiencing issues. Comments on Apple\u0026amp;rsquo;s discussion boards suggest that the problem is happening to others, particularly with switch cards but also in some cases with credit cards too.\nIt\u0026amp;rsquo;s unfortunate that Apple didn\u0026amp;rsquo;t test the system better, but this is something that seems to have been happening a lot with new Apple stuff recently.\nHowever I\u0026amp;rsquo;ll give them a few more days to get over the teething problems before I write off the"},{"d":"2004-06-15","g":[],"s":"posts","t":"iTunes Store open","u":"/weblogs/angus/posts/2004/06/15/itunes-store-open/","x":"The Apple (UK and Ireland) homepage is showing that the iTunes store is now open. I haven\u0026amp;rsquo;t actually bought any tracks yet though.\nPricing is reasonable, 79p a track is below what the 86p a track that some people were thinking. That still makes it about 40% more than the US iTunes store. (79p is worth about $1.43 at today\u0026amp;rsquo;s exchange rate). However it isn\u0026amp;rsquo;t too bad and is somewhat better than the 99p a track some people were suggesting.\n(Currency conversion at xe.com )\n"},{"d":"2004-06-14","g":[],"s":"posts","t":"Piracy on ebay","u":"/weblogs/angus/posts/2004/06/14/piracy-on-ebay/","x":"Fun thing to do:\nTry a search for \u0026amp;ldquo;photoshop\u0026amp;rdquo; on ebay.\nI was looking to see whether it was a realistic way to buy a copy but it really isn\u0026amp;rsquo;t.\nMost of the auctions are fradulent or offering pirated software. There are the usual collection of \u0026amp;ldquo;bid and get information on where to buy for Â£20\u0026amp;rdquo; kind of auctions. Then there are the ones selling manuals or something but appearing initally to be the real product.\nFinally there are the pirates who are selling copies of software in various formats, sometimes with a disclaimer that the customer \u0026amp;ldquo;should only buy if they already own a copy of photoshop\u0026amp;rdquo;. Then why bid on the auction?\nOverall not impressive. I feel sorry for the few genuine sellers who are offering boxed and sealed copies or older versions. They are being honest, most of the sellers are not.\nEbay really needs to clean up its auctions because"},{"d":"2004-06-11","g":[],"s":"posts","t":"SIte upgrade","u":"/weblogs/angus/posts/2004/06/11/site-upgrade/","x":"Just a quick note to say that I\u0026amp;rsquo;ve upgraded the site to wordpress 1.2. Hopefully there shouldn\u0026amp;rsquo;t be any problems. Send email or make comments if you have any problems.\n"},{"d":"2004-06-10","g":[],"s":"posts","t":"Election day!","u":"/weblogs/angus/posts/2004/06/10/election-day/","x":"Well it\u0026amp;rsquo;s election day. We won\u0026amp;rsquo;t know the results of the European parliament elections until Sunday and there weren\u0026amp;rsquo;t any local elections happening here, so there is a gap before we know what happened. The exit polls can now be published though which may make interesting reading. I took part in a yougov poll early this morning and that\u0026amp;rsquo;s one I\u0026amp;rsquo;m interested in reading. As I write this there are about 2 or 3 hours until tomorrows newspapers become available which will probably print the exit polls.\nI think the European parliament elections tend to have an odd feel to them because the parliament is so far away politically and geographically. I think the turnout is estimated to be between about 25% and 30% which seems ok. More needs to be done to get people to vote though. And not, as I said before, by changing the system. People should want to vote, not vote"},{"d":"2004-06-10","g":[],"s":"posts","t":"Mac OS X 10.3 problems","u":"/weblogs/angus/posts/2004/06/10/mac-os-x-103-problems/","x":"Yet again the fact that I\u0026amp;rsquo;m developing on Mac OS X 10.2.8 is causing problems. Bruce tried out a copy of SQLEditor (Cocoa) on 10.3 (Panther) and it doesn\u0026amp;rsquo;t seem to work at all. You can\u0026amp;rsquo;t seem to add objects to the canvas which is the key requirement. Most of the other functionality is based on this particular activity. I\u0026amp;rsquo;ve looked quite carefully at the code and I really can\u0026amp;rsquo;t see where the problem is. There isn\u0026amp;rsquo;t anything odd going on.\nThis is really bad news, especially after the previous problems that occurred with the java version on 10.3 (which was the reason I wrote a cocoa version in the first place). I\u0026amp;rsquo;m really not sure what to do.\nThis has made me a bit depressed because I\u0026amp;rsquo;ve been working really hard on SQLEditor recently to prepare it for release.\nIt\u0026amp;rsquo;s really annoying that there isn\u0026amp;rsquo;t better compatibility between Mac"},{"d":"2004-06-10","g":[],"s":"posts","t":"New day, new thoughts","u":"/weblogs/angus/posts/2004/06/10/new-day-new-thoughts/","x":"Well, I feel much better today. I\u0026amp;rsquo;ve thought about it a bit more and I realise how very lucky I was that I found about the bug before the thing got a public release. I\u0026amp;rsquo;m already working on some ideas on how to fix it. More on that as I think it up.\nThis really shows the importance of testing stuff. So thank you to everyone who has tried SQLEditor in its various versions.\n"},{"d":"2004-06-10","g":[],"s":"posts","t":"Presentation at Serve Radio","u":"/weblogs/angus/posts/2004/06/10/presentation-at-serve-radio/","x":"Chris Hampton at Serve Radio has asked me to give a brief presentation at a meeting of volunteers next week. I\u0026amp;rsquo;ve been doing some work on internet radio broadcasting and he was looking to explain this to the volunteers. I\u0026amp;rsquo;m still thinking of what exactly to say to them. Any ideas?\n"},{"d":"2004-06-09","g":[],"s":"posts","t":"Beta release schedule","u":"/weblogs/angus/posts/2004/06/09/beta-release-schedule/","x":"Yes, I know I said Sunday or Monday for the new beta. But instead I\u0026amp;rsquo;ve been fixing more bugs and various things. So it should be better. There is now a new way of showing foreign key links which adds shading to the source and destination of the link. There is also an option to disable internet version checking and a new facility that catches connection failures so you don\u0026amp;rsquo;t keep getting error messages if there is no internet connection available at all.\nSo the new beta version is coming soon, really it is, honest. Really and truly.\n"},{"d":"2004-06-08","g":[],"s":"posts","t":"Election time again","u":"/weblogs/angus/posts/2004/06/08/election-time-again/","x":"Good news everyone!\nIt\u0026amp;rsquo;s the European parliamentary election on Thursday.\nGiven the amazingly high turnouts of previous european elections (perhaps as much as 25% last time), I\u0026amp;rsquo;m sure the effect on democracy will be significant.\nOr perhaps not.\nThe elections here use a proportional representation system which is relatively complicated to understand anyway.\nIn addition many areas of England have adopted entirely postal ballots. Postal ballots are inherently less secure as a means of voting. It is obvious that making people vote in person at a fixed location overseen by election officials is going to be more secure than sending out pieces of paper, getting people to fill them in and return them by post.\nThe most obvious thing is voter inducements. What is to stop a crooked party from offering inducements to people to vote for them. For instance offering a cash sum to anyone"},{"d":"2004-06-06","g":[],"s":"posts","t":"Create a low end database program","u":"/weblogs/angus/posts/2004/06/06/create-a-low-end-database-program/","x":"Punkish made the suggestion in one of the comments (actually the only comment) back on May 29th about adding an actual database to SQLEditor and turning it into a database program. The more I think about this the more I like the idea so it may end up happening. Although it will be a separate program from SQLEditor. SQLEditor will continue as it is because I need it that way for various projects myself.\nBTW: The new cocoa version of SQLEditor is about to be released into public beta. Probably either today (Sunday) or tomorrow (Monday).\n"},{"d":"2004-06-05","g":[],"s":"posts","t":"Popup cat and mouse","u":"/weblogs/angus/posts/2004/06/05/popup-cat-and-mouse/","x":"Can\u0026amp;rsquo;t stop the pop-ups | CNET News.com The cat and mouse game between web site publishers, advertisers and site visitors continues. The latest thing is popup adds that avoid getting hit by popup blockers.\nI\u0026amp;rsquo;m kind of preferring either regular banner ads or the type of ad that appears in the main window before the page. In one way if I see an add that takes up the whole page I surely more likely to look at it, and it doesn\u0026amp;rsquo;t affect the body of the actual page itself. Yahoo groups is using this type of ad quite a bit and it doesn\u0026amp;rsquo;t actually seem as annoying as the floating adds I get elsewhere. Salon.com allows you to get a free membership if you watch a longer in window ad. I think for premium content this could well be a step forward.\nI guess people are different but maybe if sites asked what kind of ads people wanted it might be useful information. Maybe some"},{"d":"2004-06-04","g":[],"s":"posts","t":"Overlapping NSViews in cocoa","u":"/weblogs/angus/posts/2004/06/04/overlapping-nsviews-in-cocoa/","x":"One thing that is desperately obvious when rewriting a java application to cocoa is overlapping views. In java you can often overlap swing components as long as they are lightweight (not operating system controls for instance). The cocoa documentation says that you shouldn\u0026amp;rsquo;t overlap view components. This presents something of a problem obviously. How do you make such a significant change?\nCurrently SQLEditor uses NSViews for it\u0026amp;rsquo;s onscreen rendering, however since the tables and comments can be freely dragged around there are three possibilities:\nUse overlapping views and hope that nothing serious happens Don\u0026amp;rsquo;t allow views to overlap by restricting the ability of the user to drag them around Rewrite the display code to use some other class instead of NSView and render the objects by hand I\u0026amp;rsquo;m still thinking about the best way of doing this. (1) is the current"},{"d":"2004-06-03","g":[],"s":"posts","t":"Static vs Dynamic content on websites","u":"/weblogs/angus/posts/2004/06/03/static-vs-dynamic-content-on-websites/","x":"One of the big things over the last few years in websites has been the rise of dynamically generated sites. Instead of writing each page by hand developers use languages like php , perl and python to create pages. Websites are written as if they were software programs.\nMicrosoft in particular makes it very easy to produce sophisticated websites. The .net architecture allows you to deploy programs in different ways and makes it easy for you program to become a webpage by writing a few new forms and connecting the dots together.\nBut should web pages be programs?\nObviously there are some things that must be dynamically generated: Shopping carts, interactive content, online games, etc. But there are a lot of sites with fairly static content that are using dynamic systems. Why?\nThe answer is pretty simple. It makes life easier. With dynamic content sites you can reuse bits of code really"},{"d":"2004-06-01","g":[],"s":"posts","t":"SQLEditor Beta 3 (kindof)","u":"/weblogs/angus/posts/2004/06/01/sqleditor-beta-3-kindof/","x":"SQLEditor Cocoa Beta 3 is making good progress. The only things remaining for the current beta are:\nFinish the menu handing Write some help It now pretty much supports importing java version saved files although it\u0026amp;rsquo;s still having trouble with foreign key support. Which is annoying me a bit but I think the current stage is reasonable to go on with until I can devote a bit more time to it.\nNext step is probably to look at implementing more SQL structures and improve compatibility with the standard. I\u0026amp;rsquo;m particularly interested in developing view support.\n"},{"d":"2004-06-01","g":[],"s":"posts","t":"SQLEditor drag and drop","u":"/weblogs/angus/posts/2004/06/01/sqleditor-drag-and-drop/","x":"David was commenting that drag and drop from the java version of SQLEditor was handy, so it\u0026amp;rsquo;s returned! I implemented a new floating window which allows the user to drag and drop objects onto the main canvas. Which seems to work quite well. It doesn\u0026amp;rsquo;t replace the existing menu options but it provides an easy and intuitive way to add objects. At least I hope it does\u0026amp;hellip;\n"},{"d":"2004-06-01","g":[],"s":"posts","t":"Sugar Syrup Kind of works","u":"/weblogs/angus/posts/2004/06/01/sugar-syrup-kind-of-works/","x":"I tried making sugar popcorn with sugar syrup yesterday and it pretty much works. Although I used icing sugar (because I had surplus) and I think next time I\u0026amp;rsquo;m going to try using granulated instead. I found that melting it with about a spoon or so of water seems to work although now I\u0026amp;rsquo;m only metlting it to the point where it becomes liquid. The first time I tried it I cooked it longer and ended up with a caramel like consistency, which is ok, but not really what I\u0026amp;rsquo;m looking for. Although I might come back to that style at a later date.\nThe basic idea is that you melt the sugar and pop the corn separately, then combine after cooking.\n"},{"d":"2004-05-27","g":[],"s":"posts","t":"Exercise from playing computer games","u":"/weblogs/angus/posts/2004/05/27/exercise-from-playing-computer-games/","x":"The DDR Workout - It\u0026amp;rsquo;s Official from Slashdot Maybe people will get told to go home and start playing dance games by their doctors, instead of swimming or running? Could future computer games be sold on the basis of the amount of exercise that players might achieve?\nKeep your body in shape by playing Dance 2007!\n??\n"},{"d":"2004-05-27","g":[],"s":"posts","t":"Popcorn?","u":"/weblogs/angus/posts/2004/05/27/popcorn/","x":"I tried making popcorn at home in the Microwave today. I started with corn kernels (unpopped) and put them in a covered dish. Then I microwaved them for three minutes and to my amazement, most of them popped.\nSeemed to turn out about the same as the commercial microwave popcorn.\nTom suggested that I should try adding melted sugar over them if I want a sugared popcorn (although he apparently hates that)\nSo I\u0026amp;rsquo;m probably going to try that next time.\n"},{"d":"2004-05-24","g":[],"s":"posts","t":"Bartering Services","u":"/weblogs/angus/posts/2004/05/24/bartering-services/","x":"Slashdot | Best Results From Bartering Computer Services? After reading this article I was wondering what people would be interested in bartering for SQLEditor? Does it make sense as a business concept?\nWould the value I might get compensate me for the monetry value lost?\nAnd of course the bank won\u0026amp;rsquo;t accept barter :-(\n(Although what if there was a bank that could?)\n"},{"d":"2004-05-24","g":[],"s":"posts","t":"Binding Books","u":"/weblogs/angus/posts/2004/05/24/binding-books/","x":"This page: Binding Books talks about book binding at home. I\u0026amp;rsquo;ve often wanted to be able to bind books so I\u0026amp;rsquo;m thinking of trying the ideas.\nThis page offers an interesting solution using a glue gun\n"},{"d":"2004-05-24","g":[],"s":"posts","t":"Menu enabling","u":"/weblogs/angus/posts/2004/05/24/menu-enabling/","x":"Thanks to Cocoa Menu Validation I now know how to do dynamic enabling and disabling of menu in a tidy way. Previously everything was less tidy and more confused.\nThank you Chris Hanson!\n"},{"d":"2004-05-18","g":[],"s":"posts","t":"Putty for PocketPC","u":"/weblogs/angus/posts/2004/05/18/putty-for-pocketpc/","x":"I\u0026amp;rsquo;m really pleased to see this: Putty for Pocket PC . Putty is a program that I use a lot on windows. I\u0026amp;rsquo;ve been looking around for something to do ssh on pocket pc and now I\u0026amp;rsquo;ll have it, as soon as the pocket pc 2002 version arrives (promised for June).\n"},{"d":"2004-05-15","g":[],"s":"posts","t":"File Format between versions","u":"/weblogs/angus/posts/2004/05/15/file-format-between-versions/","x":"One of the things I\u0026amp;rsquo;ve been doing recently is to rewrite SQLEditor to use cocoa instead of java\u0026amp;rsquo;s swing toolkit. This gives a much better application for people using Macintoshes , but it has meant a file format change. The old format relied on java serialization which isn\u0026amp;rsquo;t possible under cocoa.\nThe key question is this: are users willing to swap the superior performance and extra features for the hassle of exporting and reimporting their data?\n"},{"d":"2004-05-15","g":[],"s":"posts","t":"Introduction","u":"/weblogs/angus/posts/2004/05/15/introduction/","x":"I promised myself I wasn\u0026amp;rsquo;t going to write aboout blogging. But I suppose the first post can be an exception.\nIn this blog I\u0026amp;rsquo;m going to talk about various things, where my software is going and what I\u0026amp;rsquo;m doing.\nI\u0026amp;rsquo;m currently using Word Press for the blog software. I\u0026amp;rsquo;ll have to see how this works out.\n"},{"d":"","g":[],"s":"","t":"Archive","u":"/weblogs/angus/archive/","x":"Every entry, with the date it was published and the length of it. Filter the field, or press ⌘K to search the whole site.\n"},{"d":"","g":[],"s":"","t":"Colophon","u":"/weblogs/angus/colophon/","x":"\u0026amp;ndash;\n"}]