Trust Your Geekflex

Blog Forum Gallery

Should I Zot or Should I Not?

Posted by Skrud at Thursday, April 6th 2006 at 9:08am

macZOT is a very interesting phenomenon. The site offers an incredible deal on a different piece of Mac software each day. Earlier this week they conducted a really interesting experiment they called BlogZOT, where the price for the daily ZOT (it was AppZapper) was dropped by 5 cents for each trackback. In other words, the more people blogged about it, the cheaper it got. Until finally, it was free!

Today is a MyzteryZOT, and from what I can tell it’s not the first. The offer is for some Mac software that is “Normally $60” dropped to a $15 price tag ($17.43 Canadian). Why am I even considering buying it? I have no idea what this thing might be. What are the chances that I might even already own it? (Actually, they’re pretty slim since I don’t have much non-free software). Even if I buy it, would it be something that I might actually use?

Either way, I have to hand it to macZOT. This is brilliant marketing.

Update: Well, I bought it. I’ll let you know if it was worth it once I know what the hell it is that I got.

Tags: , | 10 comments

Fun With OmniGraffle (or, Why Visio Sucks)

Posted by Skrud at Friday, January 27th 2006 at 11:30am

At some point in my User Interface class the prof mentioned something about Visio, which is an obnoxious horrible pain in the ass to use and never quite lays stuff out right. By contrast, the Mac-only OmniGraffle snaps everything into place and makes everything pretty.

Case in point, Visio doesn’t let you make insane deployment diagrams that combine the awesome power of Cray Supercomputers, PowerMacs, and Satellites.

DEPLOYMENT DIAGRAM!

Tags: , , | 11 comments

CUTC Day 1 - Microsoft Pavillion

Posted by Skrud at Friday, January 13th 2006 at 9:00am

Throughout the conference, Microsoft set up a number of PCs outside the main ballroom so that delegates can check their emails, surf the web, kill time or whatever. The cool thing about these PCs though is that they’re running a beta build of Windows Vista. So we get to play around with whatever Microsoft has been cooking up over the last 6 years or so.

Last night, they even had a presentation in order to show off the new features of Windows Vista and how it differs from previous versions of Windows. The upsetting thing about this presentation is that there are very few features of Windows Vista that I think can be called “new”. Anthony Vranic is an excellent speaker and knows how to keep a crowd interested - but when he said that “Internet Explorer now has a brand new feature and that’s Tabbed Browsing” the audience erupted in laughter.

The point isn’t that there’s nothing very original in Windows Vista. It’s not about who came up with what first. The ideas are out there, and people will use them. However it looks to me like Windows Vista is nothing more than Microsoft desperately trying to catch up to Mac OS X and even Linux. It’s almost similar to how OpenOffice.org is always trying to catch up to Microsoft Office. Windows Vista really just addresses these features that have been missing from Windows while Mac OS X has had them for the past 5 years at least. For example: window compositing is delegated to the GPU, built-in parental controls let you customize which apps certain users can run, there’s a “new” Alt-Tab feature that lays out all the windows on the screen so you can cycle through them, you can search for apps and files on your desktop, there are widgets that float around in this “sidebar”… You can navigate your file system based on metadata, you can tag edit and play with photos…

There is nothing in Windows Vista that makes it even marginally more interesting than Mac OS X Tiger, and it’s not even slated to be released until around the end of this year - Tiger came out last April. With their near infinite budget and depth of talent, Microsoft is surely capable of not only catching up to their competition but pushing the boundaries of operating systems. They have the resources to develop something completely new, and possibly even better, than where the rest of computing is right now. If companies like Apple and even open source projects like Linux can implement all the features you see in Windows Vista on much smaller budgets, Microsoft should be able to actually innovate instead of just follow along.

For the sake of hilarity, there are a sequences of videos, Re-introducing the Real Windows Vista, that actually use the audio from a Windows Vista presentation synced to a demonstration of Mac OS X Tiger. It’s pretty damn funny.

Tags: , , , , , | 3 comments

Getting Sidetracked

Posted by Skrud at Tuesday, November 1st 2005 at 10:23am

The problem with having courses about really interesting stuff is that I (and my lack of priorities) can very easily get sidetracked while “studying.” The irony of it is that the sidetracking starts with something that I’m studying. Tonight I was reading about NFS and figured it would be a really handy way of sharing files between my Linux box and my laptop.

So I looked up a few guides and got it working, added an automount rule to my NetInfo Database - but I couldn’t get write access. Something about how NFS treats uid’s … which coincidentally is what’s wrong with it as a secure protocol in general, which is why I was studying it in the first place…

Then I learned that I can set up Apple File Protocol on Linux with netatalk. Using howl, I can have Zeroconf Networking (à la Bonjour) between my Linux and Apple computers. There was even a tutorial on the Gentoo Wiki that took only a few minutes. Now my home directory is easily mounted as a Network drive on my PowerBook’s desktop. I can even tunnel the connection over SSH when I’m not home for secure operation. Which is pretty sweet, and totally painless to set up. It’s even running over TCP, so I didn’t have to bother with getting an AppleTalk server running.

The problem is that I did all this starting at 3am. I didn’t get much sleep (in fact, I’m not sure I even fell asleep). And what’s worse is I have to stay at ConU until about 10pm tonight… sigh

Tags: , , , , | 6 comments

The Cross-Platform Nightmare

Posted by Skrud at Monday, October 17th 2005 at 5:38pm

I can just imagine everyone seeing the title of post and shaking their heads, shriveling their brows and frowning. I bet they’re thinking “Skrud, you should be writing in Java. It’s cross platform.” Well, I haven’t even begun to tell you about my nightmare yet.

It’s a complete myth that the cross-platformability of any code is dependent upon the programming language it’s written in. It drives me crazy when people tell me that Java is wonderfully cross platform. That’s just marketing. In case you don’t believe me, take a look at the platforms that Sun releases Java for: Solaris Sparc (Sun’s own platform), Intel i586, AMD64. What about Java on Alpha? Well there are builds by HP. Java on PowerPC? Apple has its own builds. So you see, Java is as portable as the VM, and Sun only releases the VM for their own Sparcs and the popular Intel platform. All the other platform builds are released by third parties. How exactly is this different from having a C compiler on different platforms? Or even just telling gcc to cross-compile. How many platforms is GCC released for? I don’t know, why don’t you count.

But this isn’t about any language being better than any other, and this also isn’t about the JVM. Again, being cross-platform means writing portable code. You can write portable code in any language. (Java included). You can also not write portable code in any language, Java included. Portable code has no platform-dependent aspects and will run smoothly with a negligible effort of porting. Portable code has a limit, and it has to be able to adapt to different platform specific properties. This means that for each target you’ll have some source code files that need to be reimplemented, changed, etc. In the case of operating systems, this is unavoidable. By nature, an operating system needs to interface with hardware. You must have processor-dependent source code for the parts that need to be processor-dependent. Take a look at the Linux kernel. A lot of the processor dependent features are handled through macros that automatically replace certain snippets of code with the processor-dependent feature that is needed. There are also different source trees for different platforms. These separate source code files are not portable, which means that your entire product can only run on as many platforms as you’ve manually configured it for. In the case of Java, you have standard implementations of awt, swing, and swt that make your life easier. Because these are environments that exist on virtually every platform that Java does.

But I’m not talking about operating systems either. What I’m talking about is Java3D. Java3D is supposed to be a development platform for 3D graphics and “Advanced Imaging” for Java. It is not cross platform. A program is certainly not cross-platform if it can only be built on Sparc, i586 or AMD64. i586 and AMD64 are both versions of the i386 platform anyway. So they’re really the same thing. If you want them to run on a different platform, you’ll need to build the libraries yourself. If the code is written portably, you should have no problems compiling the source code, linking against your own system’s libraries, and having a nice custom version that will work on your PC. Unfortunately Java3D isn’t written like that.

You know something is wrong if the build instructions look like:

  1. Add this to the j3d-core/build.xml file:
    <condition property="isMacOSXOnPPC">
    <os family="mac" arch="ppc"/>
    </condition>
  2. Add a build target for Mac OS X, too:
    <target name="setupMacOSX" if="isMacOSXOnPPC">
    <property name="ostype" value="macosx"/>
    <property name="platform" value="macosx-ppc"/>
    </target>
  3. Re-implement javax.media.j3d.J3DGraphicsConfig, javax.media.j3d.NativeScreenInfo, javax.media.j3d.NativeWSInfo to use MacDrawingSurface.

And to boot these aren’t official build instructions, I found them on a forum. There are no official build instructions for OS X. You know, there actually _is_ a sun.awt.MacDrawingSurface class that they could’ve used. There’s also an X11 implementation for OS X that they could’ve used, since the Linux version of Java3D uses X11 it shouldn’t be too difficult to port. But a better question would be: why are they not using portable windowing code to begin with? Probably for speed/performance reasons, but still - what’s the point of a Java API that only works on 2 different platforms? (And seriously, how many people use Sparcs?)

This comes as I’m trying to get more involved with the UGENE project, and while talking with Jon Benn this afternoon I was trying to get Java3D to build on my PowerBook. Since Mac OS X is one of our target platforms, if it really does prove to be infeasable to build on OS X we’ll have to move to a platform other than Java3D. He suggested OGRE 3D, which is a C++ API. Looks like the foray into Java has come to a grinding halt.

Tags: , , , , | 5 comments

Older Entries